Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

CMS с поддержкой произвольных объектов данных

Опубликовано

Задача в следующем. Нужно минимальными усилиями создать относительно простую базу данных с распределенным доступом через web для использования внутри фирмы. К дизайну требований никаких.

 

Посоветуйте хорошую CMS (или подскажите подходящие ключевые слова для google), которая имеет возможность определения произвольных объектов и добавления/редактирования/просмотра/удаления/поиска их через стандартные формы. То есть хотелось бы следующее: захожу под админом, создаю объект, задаю ему имя (например, "myobject") и поля. У каждого поля есть тип (SQL) и формат ввода (например: поле "info", тип текстовый, вводится через TEXTAREA или поле "start", тип дата, вводится через компонент "календарь"). Также должна быть возможность задавать отношения между объектами. Дальше в меню CMS-ки добавляется ссылка "myobjects", по которой любой пользователь может просмотреть все объекты, редактировать, удалить, добавить их через стандартную форму и т.д.

 

Пример того, что имеется ввиду - Microsoft SharePoint.

Но желательно open source-решение на Apache + PHP (или Perl).

Знаю как только одну CMS-ку, которая это может - Xaraya, но прошлый опыт ее использования показал, что она тормозит довольно сильно + она плохо задокументирована в части "data objects", приходилось лезть в сорцы и задавать вопросы фэнам.

 

Знаю, что это элементарно делается на RoR (и Django, наверное), но там нужно специфицировать объекты программно. Помню еще СУБД Cache это умела (там были автоматически создаваемые custom forms), но там тоже спецификация текстовая. В данном случае не хочу ничего прогать, ибо запарило изобретать велосипеды!

 

В Mambo, Joomla, Drupal, e107 по умолчанию этого нет. Может быть есть plugin? https://academ.club/html/emoticons/smile.gif (сомневаюсь) Тут на форуме расписали TYPO3, думал, что она это может, но оказалось, что нет! И расширения подходящего для нее нашел (в списке Reviewed точно нет).

 

Вообще кажется, что довольно значительная часть кода типичного классического web-приложения - это простая визуализация/редактирование через HTML данных из базы. Так почему это до сих пор не сделано в CMS-ках? Чтобы программерам было за что платить? https://academ.club/html/emoticons/smile.gif

 

Резюмируя, хотелось бы найти CMS, которая:

- open source, работает на Apache + PHP

- имеет стандартный набор функциональности CMS (добавление статических страниц, управление пользователями и т.п.)

- имеет интерфейс создания объектов произвольной структуры (а ля MS Access) с возможностью связывать объекты по полям

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

- дополнительно: есть возможность редактировать шаблоны вышеперечисленного (взять стандартный и поправить)

 

Пользовался табличкой cmsmatrix, чтобы найти подходящую, но там это довольно проблематично (попробуйте сами, основное требование называется Flexibility -> Metadata, но это не совсем то, что надо, а еще там нетривиально найти именно open source).

 

Итак, кандидаты:

1. Xaraya - не подходит: нет поддержки связей между объектами

2. SharePoint - не подходит: требует IIS

3. Plone + ATSchemaEditorNG, Inventory Builder - не подходит: требует Python, Zope

Потом можно будет составить табличку с особенностями, возможностями, плюсами и минусами каждой.

Изменено пользователем Гость

Рекомендуемые сообщения

Опубликовано
  • Автор

QUOTE (АНТ0Н @ Feb 10 2007, 06:19)
ИМХО Xaraya малое дерьмо. Баги при установке, ужасный интерфейс, да и вообще - черт ногу сломит.

Это типа "оффтоп от модератора"?

 

Я и написал, что она мне не очень понравилась, что хочется нечто другое, и попросил посоветовать альтернативы, а не обсирать.

 

Хотя лично у меня багов при установке не было.

Просто тормозила.

Интерфейс не очень удобный, зато возможностей по настройке очень много.

Доков мало - это прохо. Хотя хорошая поддержка в IRC.

 

Добавил в список XOOPS, но еще не пробовал, пишут, что там это есть.

 

Опубликовано

Тут я вообще не помошник https://academ.club/html/emoticons/smile.gif

Как приверженцы ОСей советуют только свою, как приверженцы браузеров совтуют только свой, так и CMS - имхо "интимный" выбор владельцев, студий, разработчиков (в настоящее время особенно), за которую они голову отвертят и будут слюной брызгать в споре.

А на данном форуме широкий обзор CMS вам не устроят.

А что я могу разрекламировать - вы наверное догадались. https://academ.club/html/emoticons/smile.gif

Изменено пользователем Гость

Опубликовано
Зайдите на форум любой CMS, если конечно он у нее есть, и тупо запостите там тему "Хочу поставить данную CMS, но пока сомневаюсь...". И так с десяток. Потом сравните 10 этих тредов. Они будут одинаковы, только одно слово будет заменено - название CMS.
Опубликовано
  • Автор

Возможно, вы не совсем поняли.

Нужна конкретная возможность - создание и управление объектами данных произвольной структуры. Это не "нечто", а конкретный компонент, который можно реализовать для любой CMS.

Надеялся, что ответит кто-то, кто в этим сталкивался или эксперт по CMS-кам https://academ.club/html/emoticons/smile.gif

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

 

Опубликовано

QUOTE (Daniel @ Feb 10 2007, 21:24)
Возможно, вы не совсем поняли.
Нужна конкретная возможность - создание и управление объектами данных произвольной структуры. Это не "нечто", а конкретный компонент, который можно реализовать для любой CMS.
Надеялся, что ответит кто-то, кто в этим сталкивался или эксперт по CMS-кам https://academ.club/html/emoticons/smile.gif
Заходить и региться в десятки форумов, чтобы это узнать времени нет.

В PHP on Rails есть что то похожее.

Опубликовано
  • Автор

QUOTE (Бян @ Feb 11 2007, 18:15)
QUOTE (Daniel @ Feb 10 2007, 21:24)
Возможно, вы не совсем поняли.
Нужна конкретная возможность - создание и управление объектами данных произвольной структуры. Это не "нечто", а конкретный компонент, который можно реализовать для любой CMS.
Надеялся, что ответит кто-то, кто в этим сталкивался или эксперт по CMS-кам https://academ.club/html/emoticons/smile.gif
Заходить и региться в десятки форумов, чтобы это узнать времени нет.

В PHP on Rails есть что то похожее.

если это аналог ror, то там надо прогать, чтобы описать объекты

в xaraya, например, объекты определяются через web-интерфейс

Опубликовано

QUOTE (Daniel @ Feb 13 2007, 17:10)
если это аналог ror, то там надо прогать, чтобы описать объекты
в xaraya, например, объекты определяются через web-интерфейс

не знаю, но вроде нет.

Скачайте, там есть туториал, где пишут магазин, и объект "товар" (его атрибуты) описывают через веб интерфейс.

Опубликовано

Приходилось делать подобное на zope/plone. Для этого использовал продукты (модули) для Plone - ATSchemaEditorNG, Inventory Builder, правда внешнюю базу данных не использовал, но в Zope есть "переходник" для SQL, название щас не вспомню, легко найти на zope.org.

 

Правда такое решение, как я уже говорил в соседней ветке, потребует здравого железа, но работать с ним, в принципе, можно. Со "стандартным набором функциональности CMS" там все ОК. Есть проблемка - все это для торчков Питона, но оно же и преимущество, спать будет спокойнее https://academ.club/html/emoticons/smile.gif Правда, про возможность "связывать элементы по полям" не совсем понял, но если понял правильно, то это возможно. В остальном перечисленным критериям вполне соответствует (Opensource, Apache в качестве frontend, достаточно удобное редактирование шаблонов, работа с контентными типами - просмотр, редактирование на 5+, ни в одном CMS не встречал такого удобства).

 

Опять же, на мой взгяд, ставить это все и настраивать, чтоб хорошо работало - задача не многим более тривиальная, чем написание кода ручками (возможно немного "наследить" в коде всё-таки придётся ). В каком-то смысле Zope и Plone (как частный случай продукта для Zope) и есть такая системка-мечта, в которой почти все вопросы решаются через веб-интерфейс. Плата - тактовая частота процессора, оперативная память, дни, потраченные на изучение и чтение документации. Но достигнутый результат может стоить усилий. Zope/Plone довольно популярны для корпоративных решений в Европе.

 

Вообще у меня эта тема всплывала неоднократно. Планирую, в качестве полезного эксерсиза как-нибудь написать такую вещицу для своего проекта на Django. Если это случится не через десять тысяч лет, сделаю инсталляцию для всеобщего осмеяния https://academ.club/html/emoticons/smile.gif

 

Вообще, любопытно как ты решишь этот вопрос. Расскажешь, если не затруднит, на чем остановился..

Изменено пользователем Гость

  • 2 недели спустя...
Опубликовано
  • Автор

Про Xoops сказки оказались.

Хорошая CMS, но нет в ней такого модуля.

PHP on Rails слишком сырая.

В Xaraya как оказалось нельзя по-простому задать отношения между объектами - обязательно надо писать код.

Изменено пользователем Гость

Опубликовано
  • Автор

Итак, потратив 2 рабочих дня, сделал то что требуется с помощью Django.

Первый день ушел на знакомство с существующими фреймворками быстрой разработки, т.к. из вышесказанного ясно, что готовых CMS под WAMP с возможностью определения динамических данных на сегодняшний день нет (кроме Xaraya, где можно задать объекты, но нельзя задать отношения), 2-й день ушел на создание (хотя, может быть, я тормоз).

 

В итоге получилось приложение с аутентикацией пользователей и 2-мя таблицами, связанными по одному полю. Одна из них привязана еще и к пользователю. Типы полей включают тексты, даты, флажки, e-mail, URL и другие. Есть просмотр списка объектов с поиском по определенным полям, сортировками, фильтрами. Есть формы добавления и редактирования с корректной валидацией, а также удаление объектов. Связанный объект можно задать как отдельно, так и через подформу вместе с родительским. Всего на это ушло менее 100 строчек кода! Включая всевозможные конфиги.

 

Почему именно Django? В Django есть админский интерфейс, который реализует почти всю названную функциональность. Остается только описать объекты с их полями. Делается это с помощью API Django на Питоне. Конечно, хотелось бы использовать PHP, но, как оказалось ни один из существующих вэб-фреймворков для PHP подобного интерфейса не имеет. То есть, чтобы сделать то же самое с помощью любого PHP-фреймворка, нужно самостоятельно 1) описывать валидацию полей объектов или как минимум 2) описывать шаблоны отображения списка и форм, и 3) поиск/фильтры/сортировки по полям... Это конечно спорное утверждение, но мною было просмотрено порядка 15 самых крутых PHP-фреймворков, так что кто захочет оспорить - приводите примеры. В Django пришлось поправить только шаблон шапки сайта, другие шаблоны не трогал. С Ruby on Rails связываться не стал, т.к. пока нет времени изучать Ruby, не знаю, есть ли подобный интерфейс там.

 

На самом деле Django - тоже не сахар. Траблы начались с установки. Скачал Питон 2.5, легко установил. Потом промаялся с настройкой mod_python, т.к. виндовой сборки последней 2.Х версии под установленный Apache 1.3.29 (самые последние, которые есть не заработали, да к тому же они для Питона 2.0-2.2, а Django требует >= 2.3). Переходить на Апач 2.Х - не вариант, т.к. под ним настроены куча сайтов и модулей (включая mod_perl, с которым тоже немало трахался). Ну ладно, буду использовать питоновский сервер через mod_proxy. Далее скачал последний релиз Django, установил (он пожаловался на отсутствие setuptools, которые он искал по битой ссылке, их тоже скачал и установил отдельно). При запуске сайта Django сказал - жуйте - нужен MySQLdb. Сборки MySQLdb под венду для Питона 2.5 нету, только 2.4, сорцы для сборки потребовали наличие MSVS2k3. Ладно, сносим Питон. Ставлю 2.4 + setuptools + Django по новой. Ура, работает! Первую версию осилил довольно быстро по туториалу и докам на сайте. Дальше дорабатывал с помощью гугла. И все-таки в конце возникло 2 косяка: 1) формат даты не устанавливался, если не сменить LANGUAGE с 'en-us' на 'ru-ru' (тогда админка будет переведена на русский) или '' (нашел экспериментально, локаль английская); 2) игнорировался TIME_ZONE и даты устанавливались и отображались по Гринвичу, оказалось, что это баг, и что он исправлен в SVN-версии (но не в релизе), пришлось патчить сорцы руками.

 

В целом, получил бесценный опыт и остался доволен результатом https://academ.club/html/emoticons/smile.gif

Странно, что для PHP подходящего решения найти не удалось.

 

Ссылки:

Django

PHP MVC Frameworks

Taking a look at ten different PHP frameworks

 

P.S. Как ни странно, подавляющее большинство PHP-фреймфорков, во-первых, не использует Smarty для шаблонов (либо <?php echo display(...) ?>, либо свой собственный движок), во-вторых, не использует готовый ORMapper (коих полно), а изобретает свой - LAME!!!

Изменено пользователем Гость

Опубликовано

QUOTE (Daniel @ Feb 25 2007, 23:43)
На самом деле Django - тоже не сахар. Траблы начались с установки. Скачал Питон 2.5, легко установил. Потом промаялся с настройкой mod_python, т.к. виндовой сборки последней 2.Х версии под установленный Apache 1.3.29 (самые последние, которые есть не заработали, да к тому же они для Питона 2.0-2.2, а Django требует >= 2.3). Переходить на Апач 2.Х - не вариант, т.к. под ним настроены куча сайтов и модулей (включая mod_perl, с которым тоже немало трахался). Ну ладно, буду использовать питоновский сервер через mod_proxy. Далее скачал последний релиз Django, установил (он пожаловался на отсутствие setuptools, которые он искал по битой ссылке, их тоже скачал и установил отдельно). При запуске сайта Django сказал - жуйте - нужен MySQLdb. Сборки MySQLdb под венду для Питона 2.5 нету, только 2.4, сорцы для сборки потребовали наличие MSVS2k3. Ладно, сносим Питон. Ставлю 2.4 + setuptools + Django по новой. Ура, работает! Первую версию осилил довольно быстро по туториалу и докам на сайте. Дальше дорабатывал с помощью гугла. И все-таки в конце возникло 2 косяка: 1) формат даты не устанавливался, если не сменить LANGUAGE с 'en-us' на 'ru-ru' (тогда админка будет переведена на русский) или '' (нашел экспериментально, локаль английская); 2) игнорировался TIME_ZONE и даты устанавливались и отображались по Гринвичу, оказалось, что это баг, и что он исправлен в SVN-версии (но не в релизе), пришлось патчить сорцы руками.

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

 

Вариантом с apache + mod_python, который официально рекомендуют "джанговцы", я остался недоволен, и, кстати, недоволен нынешним apache-ем как таковым, поэтому использую связку lighttpd + fastcgi. Такой расклад удобен тем, что его можно ставить за уже установленным apache + mod_proxi или rewrite. Плюсов много - от удобства конфигурирования lighttpd (в конфигах последних версий apache можно заблудиться и умереть), до разницы в скорости и значительно меньших потребляемых ресурсах.

 

Про дистриб Django для Windows ничего не могу сказать (а хотел бы https://academ.club/html/emoticons/smile.gif ), так как не работаю с ней давно, но факт, что до неё многие вещи долетают последними, так что насчет Python 2.5 ты точно погорячился. У меня на Gentoo никаких затруднений не было, ebuild-ы обновляются своевременно. Использую Sqlite3, Django-0.95.1, Lighttpd-1.4.13, Python-2.4.4, полёт нормальный https://academ.club/html/emoticons/smile.gif

 

А с датами тоже косячок ловил https://academ.club/html/emoticons/smile.gif Что правда, то правда..

  • 1 месяц спустя...
  • 4 года спустя...
Опубликовано

Использую TYPO3 уже пару лет, кратко скажу, что "входной билет" в изучении данной системы весьма дорогой.

 

Конкретно по существу вопроса: в TYPO3 есть такой плагинчик: Kickstarter. Он позволяет побыстренькому создать табличку или несколько связанных табличек и "накидать" необходимые поля.

Не нужно париться и программировать интерфейс по заполнению данных в админке.

 

Для теста решил создать простой плагин для риелтора. Тип данных "квартира"

Улица (выпадающий список)

Район (выпадающий список)

Номер дома (текстовое поле)

... и тп

 

пара скриншотов (то что видит разработчик):

post-84-1329116208_thumb.jpg

post-84-1329116220_thumb.jpg

 

то, что видит конечный пользователь в админке (риелтор) при добавлении/редактировании

post-84-1329117790.gif

 

post-84-1329117305_thumb.jpg

 

 

Kickstarter также генерит стандартный php код для отображения списка данных в Front-end.

Этот код можно и нужно менять в зависимости от конкретной задачи.

 

ПС.

скриншоты старые, TYPO3 админка сейчас выглядит по-другому

 

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.