LINUX.ORG.RU

Flede 0.7 - первый открытый релиз системы управления данными


0

0

Flede - гибкая система управления данными, хранящимися в базе MySQL. Написана на PHP, размер исходников - 70 Кб. Позволяет задать текстовые названия полей таблицы и комментарии к ним, выбрать способ отображения списка записей, закачивать и просматривать файлы и рисунки, задать права доступа для каждого пользователя.

Может быть легко добавлена к практически любому сайту (на MySQL) в качестве альтернативного инструмента управления.

Основные возможности:

- поддерживаемые типы: логический, число, строка, текст, файл, foreign key, md5 hash

- групповые права доступа, отдельно для добавления записей, удаления, редактирования и просмотра

- возможность отображения содержимого таблицы с разбиением на разделы

- возможность структурированного отображения таблиц с атрибутом вложенности (таких как меню)

- гибкий механизм сообщения об ошибках (на выбор: пользователь, в файл и по e-mail администратору)

- интерфейс на русском и на английском

Ссылка на manual (на английском): http://flede.sourceforge.net/manual.html

>>> Описание на sourceforge.net



Проверено: Demetrio ()

Идея правильная, но реализация хромает. Я не увидел нормальных шаблонов
и абстракцию доступа к данным. В правильном проекте эти вещи
обязательны. Самое простое - задействовать PEAR::DB и PEAR::HTML_TEMPLATE_по_вкусу.

annonymous ★★
()
Ответ на: комментарий от annonymous

Шаблонов нет, так как на этом этапе они не требуются. Система не отвечает за внешний вид сайта, только за редактирование контента. При создании конкретного сайта используется Flede + библиотека шаблонов + логика отображения страниц.

Про абстакцию доступа к данным полностью согласен.

rgbeast
() автор топика
Ответ на: комментарий от annonymous

Использование шаблонов конечно тоже бы не помешало. Хотя бы для того, чтобы можно было пользоваться системой под wap.

rgbeast
() автор топика
Ответ на: комментарий от rgbeast

Ну там же всё равно выводится header/body/footer? Значит уже шаблон не
помешает. И потом, зачем прикручивать шаблоны отдельно? Сделать сразу
и забыть... Ксати, до кучи и аутентификацию/авторизацию неплохо бы
сделать через стандартный PEAR::Auth.

annonymous ★★
()
Ответ на: комментарий от anonymous

>Чем оно лучше phpMyAdmin?

Менее функционально, чем phpmyadmin с точки зрения управления базой. Но flede редактирует базу с специально заданном представлении и права можно задавать для разных пользователей разные.

Например в phpmyadmin таблица articles с полями title, announce, message, а во flede она будет выглядеть как "Статьи" с полями "Заголовок", "Анонс", "Текст статьи". Часть полей можно скрыть от пользователей. Можно запретить удалять записи, но разрешить добавлять и редактировать. Доступ к этой системе можно дать человеку, не имеющему навыков админимтрирования базы данных и он будет добавлять/редактировать статьи, например, а остальных таблиц не видеть вообще

rgbeast
() автор топика
Ответ на: комментарий от annonymous

Про авторизацию правильная мысль.

Большое спасибо за комментарии. Позволили мне вглянуть на проект со стороны.

rgbeast
() автор топика
Ответ на: комментарий от rgbeast

>Например в phpmyadmin таблица articles с полями title, announce,

>message, а во flede она будет выглядеть как "Статьи" с полями

>"Заголовок", "Анонс", "Текст статьи". Часть полей можно скрыть от

Глупая идея. Давать какой-бы то ни было доступ к БД чайнику, кроме как админским интерфейсом с элементами дебилоустойчивости нельзя, сломают. Да и похожу фильтрацию тегов и прочую разметку прикручсивать все равно надо, да и логику бы неплохо (хоть минимум, типа нельзя добавить статью по теме1 в категорию по теме3).

Тем более, такая примитивная структура таблицы тоже встречается редко...

В общем, велосипед.

anonymous
()
Ответ на: комментарий от anonymous

> Давать какой-бы то ни было доступ к БД чайнику, кроме как админским интерфейсом с элементами дебилоустойчивости нельзя, сломают.

Это в общем-то и есть админский интерфейс, сломать могут если проведут аудит кода и найдут в нем уязвимости безопасности, что не очень вероятно, да и станут ли они это делать

> Да и похожу фильтрацию тегов и прочую разметку прикручивать все равно надо, да и логику бы неплохо (хоть минимум, типа нельзя добавить статью по теме1 в категорию по теме3).

С необходимостью логики и защиты от ошибок пользователя согласен, но непонятно как ее можно реализовать в сколько-нибудь общем виде

Разметка и фильтрация тегов очень сильно зависит от конкретной задачи

> Тем более, такая примитивная структура таблицы тоже встречается редко...

примитивную структуру привел в качестве примера. В особенно сложной структуре часто нет необходимости.

> В общем, велосипед.

год назад я купил велосипед, а сейчас говорят эта модель уже устарела

rgbeast
() автор топика
Ответ на: комментарий от anonymous

> В общем, велосипед.

Мне хотелось бы увидеть примеры систем, которые реализуют указанную функциональность (д/у, логику, фильтрацию) и не завязаны на конкретную структуру данных.

rgbeast
() автор топика
Ответ на: комментарий от rgbeast

> сломать могут если проведут аудит кода и найдут в нем уязвимости
безопасности, что не очень вероятно, да и станут ли они это делать

Хм, звучит слишком самоуверенно. Даже на первый беглый взгляд по коду
там полно дыр для проведения sql-injection атак. Переменные не
экранируются.

annonymous ★★
()
Ответ на: комментарий от rgbeast

Примеров много:

PEAR DB_DataObject, PEAR DB_Table, DB_DataContainer, DB_DataObject, dataMiner, dbmaster, phpdbform и т.д. и т.п.

Проблема не сегодня возникла ;)

annonymous ★★
()

1. Ориентировка только на мускуль не рулит, многие любят пж или считают, что эскулита должно хватить, однако использование пиар, имхо не лучший вариант ибо лишняя зависимость, поройте лучше на предмет готовых классов, некоторые, кстати умеют работать в режиме через пиар и без, поддерживают несколько субд и содержать средства защиты от SQL-injection атак

2. Не нашел упоминания про поиск, если его нет, то нужно обязательно сделать, раз уж есть готовые таблицы для базы, то должен быть и поиск по их полям (заголовкам, авторам, полнотекстовый етц.) чтобы пользователю не приходилось вникать в структуру таблиц, связей, оптимизаций и костылять готовый код своими изобретениями (тот для кого это не проблема скорее напишет своё или правильно выберет CMS)

3. Неплохо было бы увидеть экспорт заголовков новостей и опционально статей в RSS

Syncro ★★★★★
()
Ответ на: комментарий от anonymous

> В общем, велосипед.

Полезный велосипед. Теперь не придется самим его изобретать.

Правильно ли я понял, это лишь "редактор данных" из которого можно собрать все что угодно, от простой добавлялки новостей до... (фантазии не хватает, что бы обозначить верхний предел)? :) Остается только сделать отображение этих данных, и какой-нибудь сайт готов.

Лично я не видел еще таких проектов... только монстров, называемых CMS.

anonymous
()
Ответ на: комментарий от annonymous

> Даже на первый беглый взгляд по коду там полно дыр для проведения sql-injection атак. Переменные не экранируются.

Можно пожалуйста пример кода? Мне действительно интересно. Мне казалось, везде addslashes/intval стоят.

rgbeast
() автор топика
Ответ на: комментарий от anonymous

> Правильно ли я понял, это лишь "редактор данных"

Да, это так. Идея проекта в том, чтобы позволять редактировать данные в базе в доступном для пользователя виде, при этом почти не накладывая ограничения на структуру данных

rgbeast
() автор топика

Познакомтесь с ezPublish. И вообще, зачем на устаревшем php, что-то разрабатывать? Хостинг для сайта ценой в 100$ дешевый? Неужели эта ниша "шарашкиных сайтов" еще жива?

anonymous
()

1. magic quotes давно пора в off
2. фильтровать переменные надо не только в $_GET но и $_POST
3. в пхп давно придумали ооп
4. выучи язык нормально, конвертировать дату из YYYY:MM:DD в DD.MM.YYYY можно одной строкой а не 7
$a="2005-12-01"; echo join(".", array_reverse(explode("-", $a)));

сорри, но это децкая гавноподелка...

insa
()
Ответ на: комментарий от Syncro

Уж больно прожорлива по памяти твоя adodb. В сети можно найти бенчмарки.
И ещё нет смысла её использовать, если используются другие пакеты из
PEAR.

annonymous ★★
()
Ответ на: комментарий от anonymous

> ниша "шарашкиных сайтов" еще жива?

Ну, я вот смотрю на "нешарашкин" сайт linux.org.ru, и вижу как он
спотыкается, тормозит, плюётся непонятными ошибками, и вообще
периодически недоступен. И, с другой стороны, наблюдаю годами
бесперебойную работу сайтов, написанных на php.

annonymous ★★
()
Ответ на: комментарий от rgbeast

Меня смущает применение ensure_slashes() и просто addslashes() без
проверки get_magic_quotes_gpc(). Почему бы не сделать единообразно?

Замечена проблема при инсталляции. `tables` - зарезервированное слово
в mysql 4.1.x. Если нет префикса, база спотыкается на создании такой
таблицы. Ошибка никака не обрабатывается в коде. Получается неработающая
система.

annonymous ★★
()
Ответ на: комментарий от insa

> это ты куда - то не туда смотришь :)

Я смотрю прямо ;) "Шарашкин сайт" приравнивался к php. А LOR на жабе
написан - значит, типа "не шарашкин". Или он исключение из правил? ;)

annonymous ★★
()
Ответ на: комментарий от insa

> 1. magic quotes давно пора в off

Не факт. Нужно уметь обрабатывать в коде оба случая.

annonymous ★★
()
Ответ на: комментарий от insa

> 1. magic quotes давно пора в off

Это не всегда возможно.

>2. в пхп давно придумали ооп

Ну и зачем здесь ООП? Не все ведь нужно использовать, что придумано. Почему тогда до сих пор базы данных не объектные используются?

> 4. выучи язык нормально, конвертировать дату из YYYY:MM:DD в DD.MM.YYYY можно одной строкой а не 7

Наверное можно сократить. Но честно говоря никогда не пересматривал код этой функции, так как конвертирует без проблем.

rgbeast
() автор топика
Ответ на: комментарий от annonymous

> Меня смущает применение ensure_slashes() и просто addslashes() без проверки get_magic_quotes_gpc(). Почему бы не сделать единообразно?

Согласен, нужно сделать единообразно

> Замечена проблема при инсталляции. `tables` - зарезервированное слово в mysql 4.1.x. Если нет префикса, база спотыкается на создании такой таблицы. Ошибка никака не обрабатывается в коде. Получается неработающая система.

Спасибо за замечание, исправлю. Инсталлятор немного не доработан.

rgbeast
() автор топика
Ответ на: комментарий от annonymous

"Шарашкин сайт" в нише 100$, которые лабают на php, аргументируя его использование дешевым хостингом и отсутсвием квалификации. Как правило такие сайты никакого бизнес функционала не имеет.

В профессионально работающей конторе средняя цена сайта 4.000$(включая дизайн), у того же Арт. Лебедева начальная цена - 30.000$.

А интегрированные решения(интранет, ERP) - от 100.000$ до ...

anonymous
()
Ответ на: комментарий от Syncro

> зато он быстрее, по тем же бенчмаркам

Это правда, но... Быстрота быстро кончается на большом количестве
запросов по причине нехватки памяти и ухода в своп. Это обратная сторона
медали.

annonymous ★★
()
Ответ на: комментарий от anonymous

> "Шарашкин сайт" в нише 100$, которые лабают на php

Откуда такие цены? Давно не видел таких. Недорогой, но надёжный хостинг -
вполне заслуживающая внимания аргументация.

> В профессионально работающей конторе средняя цена сайта 4.000$(включая дизайн),

Так, хорошо. А теперь скажи, на чём пишут профессиональные конторы?
В таком диапазоне цен - практически исключительно на php или perl.

> у того же Арт. Лебедева начальная цена - 30.000$

Угу, и вспомни тут же на чём писаны те сайты... Твоя аргументация очень
сильно хромает на обе ноги.

annonymous ★★
()
Ответ на: комментарий от annonymous

>>Откуда такие цены? Давно не видел таких. Недорогой, но надёжный >>хостинг >>вполне заслуживающая внимания аргументация.

Это цена работы php-ника: ресурсы в получение квалификации не вкладывал - работаю за обед.

>>>В таком диапазоне цен - практически исключительно на php или perl.

Perl(а скоро на JSF), ASP.NET. С Php слишком накладно.

>>Угу, и вспомни тут же на чём писаны те сайты...

Вспомнил. На Parser 3.

anonymous
()
Ответ на: комментарий от annonymous

> Это правда, но... Быстрота быстро кончается на большом количестве запросов по причине нехватки памяти и ухода в своп

спорно, потому что ADOdb будет раскидываться с запросами быстрее:), и таже нагрузка невыполненных запросов, ляжет дополнительным грузом на процессор да и память, пока пеар будет мучить интерпретатор. Лучше тут будет ограничить одновременное число запросов и за счет выйгрыша в скорости быстрее их выполнять. Гораздо большую угрозу для памяти представляет объектный подход к программированию на php в целом, особенно в четвертой версии, которая оч. нескоро будет повсеместно заменена на пятую...

Syncro ★★★★★
()
Ответ на: комментарий от anonymous

> Это цена работы php-ника: ресурсы в получение квалификации не вкладывал - работаю за обед.

Это выдумки и отсебятина, а цена php-программиста находится здесь:
http://www.job.ru/zarplata.html

900-1000 в-среднем.

> Вспомнил. На Parser 3.

Хорошо, что вспомнил. Осталось пересмотреть выводы ;)

annonymous ★★
()
Ответ на: комментарий от Syncro

> спорно, потому что ADOdb будет раскидываться с запросами быстрее:)

Это тоже спорно без бенчмарков. Нужно учитывать насколько увеличивается
потребление памяти и насколько выше быстродействие. Я пару лет назад
делал тесты, и при вдвое более высокой производительности потребление
памяти вырастало вчетверо ;) C 0.5Mb до 2.0Mb. Это многовато для
нагруженного запросами сайта. Полученный выигрыш в скорости не
оправдывает себя.

annonymous ★★
()
Ответ на: комментарий от annonymous

>>Хорошо, что вспомнил. Осталось пересмотреть выводы

Какие выводы? Что ты малограмотный ваятель гомо-пейджов?

anonymous
()
Ответ на: комментарий от annonymous

У меня отдел с 20 работниками, какая еще собственная работа? Собственные делают только гомо-пейджы, а ИТ системы(с вэб мордой) - команда разработчиков.

anonymous
()
Ответ на: комментарий от anonymous

P.S. А медиа-сайты делают дизайнеры, верстальщики, копирайтеры и т.д. Программирования там почти нету. А там, где есть - проще использовать готовые asp, jsf компоненты(портлеты).

anonymous
()
Ответ на: комментарий от anonymous

Ух, какой тяжёлый человек ;-( По мне хоть сто человек пусть его делает.
Покажи работу своего отдела/бригады/цеха/или_чего_там_ещё... А то сразу
бросаешься показать сайты из Fortune 500. Тут много ума не надо. Они
и на коболе при желании напишут ;)

annonymous ★★
()
Ответ на: комментарий от annonymous

Для нас сайт - это веб морда для ИТ системы(ECM, ERP и другие). Можно, конечно, писать эти морды на php - но затратно. Хотя мы(Oracle) и поддерживаем эту технологию - смотрите на оф. сайте.

anonymous
()
Ответ на: комментарий от anonymous

А почему затратно? Потому, что знаний не хватает ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.