Cms cmf: Что нужно знать при разработке своих CMF и CMS. Опыт длиною в 2 года / Хабр

Что нужно знать при разработке своих CMF и CMS. Опыт длиною в 2 года / Хабр

Если вы разрабатываете сайты на PHP-фреймворках и ещё не имеете своей платформы, то наверняка о ней задумывались. Это могли быть CMF, CMS, конструктор сайтов, набор компонентов — материал подходит для любого из этих случаев. В статье поделюсь советами и примерами для тех, кто планирует создать свой инструмент, или уже находится в начале этого пути.

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


Для каждой компании с web-production естественно формирование набора компонентов, которые часто используются. Иногда это буквально набор компонентов, иногда образцовые проекты (которые в последствии берутся за основу для разработки нового), иногда это эволюционирует в CMS или CMF. Последнее является спасением для компаний, если разработка на популярных CMS по каким-то причинам не подходит. Для разработчика — это возможность сделать что-то крутое, чем можно гордиться, а также увеличить свою зарплату (при условии адекватности работодателя).

В чём мой опыт по теме

Более 2-х лет назад я села за CMF. Через 2 месяца вяло-текущих работ был сделан первый сайт на его базе. Идея окупила себя уже в первом квартале. Подключила коллег, которые ускорили развитие. Через 8 месяцев среднее количество сайтов в квартал стало в 2-3 раза больше, чем раньше, при том же количестве рук и лучшем качестве. Попутно внедрили документирование и обучение клиентов. Это если очень кратко.

Основа


Итак, вы решили создать свой инструмент. Нужно решить 3 основополагающих вопроса:

  1. Выбор цели. Зачем нужен этот инструмент, какие задачи он должен решать, в какой сфере будет использоваться, для кого предназначен.
  2. Выбор базовых инструментов. Языки, технологии, архитектура — то, на основе чего будем создавать что-то своё.
  3. Какие возможности есть, какие ресурсы понадобятся. Даже если это реализация небольшой идеи, должен быть план. Нужно понимать, как вы это будете делать, нужно ли кого-то привлекать, сколько времени вам может понадобиться хотя бы на альфа-версию или первый рабочий прототип.

Советы


Они помогут ответить на 3 вопроса выше.

  1. Определите аргументы, почему нужно это делать, почему готовые решения не подходят. Если аргументы будут весомыми, это придаст вам уверенности. Если слабыми, это поможет избежать лишней траты времени.
  2. У вас должны быть реальные задачи, которые действительно нужно решить. Обозначьте их вместе с тем, что могло бы измениться, если решить их. Убедитесь, что есть возможность проверять ваше творение сразу в бою.
  3. Определите, что вы хотите получить от первой версии. Остальное можно просто записать списком. Не ставьте слишком больших целей для первого релиза. Для больших целей — большие сроки. Позвольте продукту увидеть свет как можно скорее. А уже потом дорабатывать, имея первые результаты и первую обратную связь.
  4. Как основу выбирайте простой инструмент — язык, базовый фреймворк. С низкой точкой входа, чтобы проще было развивать сам инструмент и проще поддерживать конечные продукты. При этом ему необязательно быть очень популярным, достаточно быть простым. Ещё он должен развиваться. Например, вы выбрали PHP-фреймворк, убедитесь, что разработчики продолжают над ним работать, и готов релиз под последнюю версию PHP.
  5. Выбирайте инструменты, которые уже хорошо знаете. А если хотите выбрать что-то новое, то сначала это изучите. Некоторые разработчики любят пробовать новое и сразу на серьезном проекте — может это и хорошо, но более непредсказуемо и рискованно в плане переделок из-за нехватки в начале знаний о том, как правильно. Работа с известным инструментом сэкономит время. Идеально, если вы в нем эксперт.
  6. Уделите большое внимание архитектуре. Делайте её понятной, она должна помогать, а не мешать. Первоначально это зависит от фреймворка, если вы его выбрали как основу. А в последствии — только от вас.
  7. Сразу подумайте о ведении документации. Определились с целью, планом — зафиксируйте. Придумали архитектуру — опишите. Готов первичный функционал — задокументируйте, что получилось. Это здорово помогает структурировать, выгрузить из головы уже реализованное, станет катализатором для новых идей, откроет глаза на ошибки.
  8. Если предполагается бэкенд для управления сайтом (обобщенно), сразу возьмите качественный платный шаблон для бэкенда. Его можно выбрать и купить на themeforest или других подобных ресурсах. При выборе подумайте, сможете ли вы его встроить под свои задачи, потому что бывает так — вроде крутой шаблон, а начинаешь использовать под себя, и получается ущербно. Вариант с шаблоном более бюджетный и быстрый. Если есть финансовая возможность, лучше привлечь UI и UX специалистов с опытом в подобных интерфейсах.
  9. Будьте готовы к постоянной доработке инструмента. Топор нужно точить постоянно в перерывах между рубкой леса. Поэтому во главе проекта должен стоять человек, которому не свойственно надоедание работы над проектом в течение длительного времени.
  10. Будьте готовы, что понадобится не только программировать. Нужно придумывать, рассказывать остальным, обучать и т.д.
  11. Расскажите о своей идее руководителю и коллегам, заручитесь их поддержкой.
  12. Задайтесь вопросами защиты кода, лицензирования и авторских прав. Не нужно сразу их решать, но нужно определить свою позицию.

Мой пример


Рассуждения ниже не претендуют на истину. Это пример хода мыслей, которые привели мои идеи к успеху.

Предпосылки. В компании накопилась приличная база кода и пачка сайтов с кочующим функционалом. Процесс разработки новых сайтов — мучительный поиск и копипаст из прошлых проектов. Оптимизация процесса поможет увеличить скорость разработки типовых проектов. Сейчас имеем 3 простых типовых проекта для сферы автобизнеса (но поэтому специфичных), на которых можно стартануть нашу платформу.

Почему не подходят готовые решения (популярные CMS). Они тяжеловесные, одновременно избыточные и недостаточные для наших задач.

Цель. Нужен инструмент для ускорения разработки корпоративных сайтов для бизнеса. Предназначен для разработчиков. Разработчик берёт в руки CMF, на выходе получает CMS для клиента под его задачи, таким образом наша цель — CMF для разработчика. Продавать CMF как продукт цели не ставим.

Первый релиз. Хочу увидеть через месяц инструмент для развертывания информационных сайтов, с заложенной архитектурой, базовым интерфейсом админ-панели на новом шаблоне (управление пользователями, управлением первыми модулями — инфостраницы, новости, отзывы, меню, заявки, услуги), базовую верстку для этих модулей во фронтенде. Это позволит в 2 раза быстрее делать сайты для автодилеров.

Архитектура. Составные части CMF нужно максимально обособить друг от друга, т. е. организовать некую модульность, поэтому как архитектура больше подойдёт HMVC.

Базовые инструменты. Выберу PHP5, CodeIgniter3, MySQL, Bootstrap3, jQuery, т.к. хорошо их знаю, они помогут мне решить задачи максимально быстро и просто, они имеют низкую точку входа для разработчиков. Будем сразу документировать, для начала подойдёт GoogleDocs. Для бэкенда отобрала 3 шаблона на базе Bootstrap, выберем из них вместе.

Ресурсы для первого релиза. Плановые затраты — 70-100 часов. Чтобы успеть в срок с учётом текущих задач, понадобится помощь одного PHP джуна или мидла.

С таким обоснованием уже можно идти к руководителю и коллегам.

Корпоративная CMS/CMF Typo3 — LVEE

Андрей Кушнарев, Симферополь, Украина, [email protected]

LVEE 2009

Typo3 (англ. тайпо три) – корпаративная (промышленная) система управления сайтами с открытым исходным кодом, которая распространяется под лицензией GPL. Данная система является фреймворком для управления содержимым больших и средних сайтов как в Internet, так и в корпоративных сетях. Typo3 предлагает высокую гибкость и расширяемость b обладает удобным интерфейсом. Для нее разработано большое количество полезных модулей. Существует большое сообщество opensource-разработчиков Typo3, что обеспечивает популярность и безопасность системы.

введение

Typo3 CMS/CMF (content management system / content management framework) – это система управления содержимым сайтов или просто система управления сайтами. CMS – это система, которая позволяет пользователям сотрудничать для создавания и управления информационным содержимым сайта. Вне зависимости от того, требуется ли управлять информационным наполнением в большой корпорации, университете, некоммерческой организации или в малом бизнесе, Typo3 может предоставить решение уровня предприятия, которое выполняет требуемые задачи. Вместо необходимости приобретать дорогую коммерческую CMS с небольшим функционалом предлагается лучший выбор из всех – свобода.

история

История Typo3 берет начало в 1997 году. В этом году Каспер Скархой (Kasper Skaarhoj) начал разработку новой системы с нуля. В то вермя термин “Система управления содержимым” (CMS) не был еще широко известен.

интерфейс

Typo3 обладает довольно простой системой управления (user friendly interface). Практически любой человек, который работал на компьютере, может управлять информационным наполнением сайта. Такой человек не обязан иметь знания и навыки программирования или Web-дизайна. Используя графический интерфейс Typo3, пользователь может легко редактировать текст, вставлять изображение или другие мультимедийные файлы. Иными словами пользователь без труда управляет динамическим наполнением сайта.

Так как Typo3 является модульной CMS, она позволяет разработчикам быстро создавать свои собственные расширения и совместно использовать их через центральный репозиторий, который доступен для сообщества. Более чем 800 расширений сегодня свободно доступны, множество же находиться в разработке. Одним щелчком кнопки можно установить магазин, систему новостей, календарь, галерею, репозиторий документов, поисковый механизм, пакет статистики сайта, блок входа в систему и информационный бюллетень.

В Typo3 существует два способа редактирования информационного наполнения; непосредственно на web-странице (frontend editing) и через серверное программное обеспечение в административном интерфейсе сайта (backend editing). Текст редактируется с использованием знакомых значков Office. Можно вырезать и вставить текст и изображения из программы, подобной Word, в окно редактирования Typo3. Изображения могут быть автоматически изменены. Информационное наполнение может быть скрыто, показано в определенную дату, либо ограничено для просмотра выбранными пользователями и/или группами.

ядро Typo3 и безопасность

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

Размер ядра Typo3 около 36M и оно состоит из:

  • 390 директорий;
  • 3881 файлов;
  • 600 PHP-файлов;
  • 85 JavaScript-файлов.

По данным secunia. com на 1 января 2008 года Typo3 является одной из самых безопасных CMS.

настоящее и будущее

В 2004 году была основана ассоциация Typo3. Ее основатель ― создатель Typo3 Каспер Скархой. Штабквартира данной ассоциации находится в Швейцарии – это и есть сердце проекта Typo3. Ассоциация занимается разработкой ядра CMS, сертификацией и оффициально представляет проект. Ежегодно в сентябре проводится официальная конференция T3CON. На нее собираются как программисты, так и руководители крупных фирм из разных стран мира.

Typo3 остается популярной уже долгое время. Она является свободной и открытой для каждого, в то же время оставаясь мощным средством разработки. Typo3 была основана на таких принципах, как качество, честность и свобода. Такой она и останется в будущем.

список литературы

  • Официальный сайт сообщества Typo3
  • Сайт русскоговорящего сообщества Typo3
  • Страничка в Wikipedia
  • Особенности ядра Typo3

Калифорнийское медицинское учреждение (CMF) — Департамент исправительных учреждений и реабилитации Калифорнии

Основной телефон: (707) 448-6841

Фактический адрес: 1600 California Dr. , Vacaville, CA 95687 17 15 15 15 15 15 Отдел кадров: P.O. Box 2237, Vacaville, CA 95696-2237

  • Почтовый адрес персонала: 1600 California Drive, Vacaville, CA 95687
  • Почтовый адрес заключенных: P.O. Коробка 2000, Вакавилль, Калифорния 95696-2000
  • Денежные переводы заключенных: P.O. Box 2500, Vacaville, CA 95696-2500
  • Посещение заключенных:  узнайте , как посещать заключенных лично или по видеосвязи в наших учреждениях.

    Другие ресурсы:  изучите ресурсы семьи и друзей , в том числе способы связи или отправки посылок заключенным в наших учреждениях.

    • Профессиональное техническое образование: компьютерные и смежные технологии. Учащиеся могут получить сертификат Microsoft Digital Literacy и Microsoft Office Specialist Certification.
    • Академический: базовое образование для взрослых, подготовка к GED, подготовка к экзамену на эквивалентность средней школы (HiSET) и программа добровольного обучения (VEP), программа колледжа (лицом к лицу) в муниципальном колледже Солано, дистанционное обучение в муниципальном колледже Береговой линии, муниципальном колледже Лассена , Университет штата Огайо и Калифорнийский прибрежный университет. Компьютерная лаборатория также доступна, а также компьютерный экзаменационный центр GED и лаборатория онлайн-тестирования CTE.
    • The Disability Placement Program (DPP): классная комната/ресурсный центр DPP предоставляется заключенным с инвалидностью, подпадающей под одну или несколько из шести категорий Закона об американцах-инвалидах (ADA), включая: нарушение зрения, нарушение слуха, нарушение речи, нарушением подвижности, инвалидами-колясочниками или другими ограниченными возможностями. Инструктаж и обучение проводятся в таких областях, как: базовые навыки грамотности для учащихся-инвалидов и обучение работе с компьютером с адаптивным программным обеспечением для инвалидов. Преподаватель DPP работает с координатором программы VEP, помогая учащимся участвовать в программе Брайля, предлагаемой школой Хэдли для слепых. DPP гарантирует, что правомочные учащиеся имеют доступ к оборудованию и программному обеспечению, используемому для шрифта Брайля.
    • Программа для лиц с ограниченными возможностями развития (DDP): политика Департамента CDCR заключается в том, чтобы обеспечить заключенным с нарушениями развития доступ к образованию (академическому и профессиональному), работе и другим программам, доступным для заключенных, не являющихся инвалидами. Учащимся, прошедшим скрининг и тестирование клиническим персоналом CDCR и у которых установлено наличие отклонений в развитии и которые зачислены в школу, предлагается специальная помощь, предоставляемая учителями и/или ассистентами преподавателей по вопросам нарушений развития.

    Blind Project
    Более 50 лет назад наша организация началась как совместная работа персонала и заключенных Калифорнийского медицинского учреждения (CMF), которая превратила небольшую группу добровольцев в далеко идущую 501(c)(3). ) некоммерческая организация, которая сегодня оказывает влияние на тысячи людей.

    Такая программа, как проект для слепых, важна, потому что она положительно влияет на три сегмента общества; сообществу с нарушениями зрения предоставляются доступные/бесплатные услуги; Lions In Sight и Калифорнийская библиотека говорящих книг пользуются нашими пожертвованными услугами; а рабочие-заключенные, обучаясь техническим/рыночным навыкам, также работают в стимулирующей среде.

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

    В рамках Проекта для слепых имеется 20 рабочих мест и пять (5) отделов: Ремонт пишущих устройств Брайля Perkins, Транскрипция Брайля, Проверка очков и Чистка цифровых/кассетных машин. Обновление брайлевских писателей Perkins — неотъемлемая часть успеха проекта для слепых. В 2014 году было обслужено 518 брайлеверов, что вдвое больше, чем в предыдущие годы. Хотя наши цены ниже средних по отрасли, иногда корректируются цены для клиентов, живущих на фиксированный доход, или тех, кто не может позволить себе ремонт.

    Очень приятно знать, что наши брайлевские писатели помогают людям жить своей жизнью, участвовать в достижении своих образовательных целей и эффективно общаться. Для нас это больше, чем работа, это стало страстью. Пожертвования регулярно делаются другим благотворительным организациям, таким как Фонд муковисцидоза, Миссия Солано, Детская площадка Орчард Детский сад, и это лишь некоторые из них.

    Велосипедный проект
    С 1988 года проект CMF по ремонту велосипедов предоставляет отремонтированные велосипеды детям и семьям, которые в противном случае не смогли бы иметь велосипеды. Проект предоставляет велосипеды нуждающимся детям. В 2002 году CMF установила рекорд, предоставив местным жителям 606 велосипедов. Мы получаем в дар новые, подержанные и поврежденные велосипеды от полицейских управлений, частных предприятий и частных лиц.

    Заключенные CMF восстанавливают велосипеды, чтобы они выглядели и ездили как новые. Велосипедная краска и шины приобретаются на средства, собранные за счет утилизации алюминиевых банок из учреждения.

    Заключенные, участвовавшие в проекте «Велосипед», рассказали, что работа над велосипедами возвращает им воспоминания о молодости до того, как они приняли решения, из-за которых попали в тюрьму. Предоставление нуждающемуся ребенку велосипеда может просто помочь ему или ей на правильном пути.

    Заключенные проекта Bike Project учатся своим навыкам у местных волонтеров, в том числе у владельца Ray’s Cycle Майка Поузи, чья семья уже много лет приезжает в тюрьму, чтобы поделиться своими навыками с заключенными, участвующими в программе. Поузи рассказывает мужчинам о различных стилях велосипедов, способах их ремонта, какие инструменты использовать и как убедиться, что они безопасны и готовы к поездке.

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

    Программы DRP
    Комплексное лечение расстройств, связанных с употреблением психоактивных веществ (ISUDT) – обзор
    21 января 2020 г. Департамент исправительных учреждений и реабилитации штата Калифорния (CDCR) и Служба здравоохранения исправительных учреждений штата Калифорния (CCHCS) внедрили ISUDT. ISUDT представляет собой комплексную и основанную на фактических данных междисциплинарную программу с путями лечения через программы когнитивно-поведенческих вмешательств (CBI) DRP, именуемые:

    CBI-Интенсивное амбулаторное лечение (Медицинская классификация T1, код присвоения SOMS ISI) 2 часа в день, 5 дней в неделю, продолжительность 52 недели

    CBI-Амбулаторное лечение (Медицинская классификация T2, код присвоения SOMS ISO) 2 часа / день, 3 дня в неделю, 14-недельное завершение

    CBI-Life Skills (Медицинская классификация T3, код присвоения SOMS CB2) 2 часа в день, 3 дня в неделю, 29-недельное завершение

    Все участники будут пройти медицинское освидетельствование и быть отнесенным к одному из классов CBI.

    CMF расположен в Вакавилле, в 35 милях от столицы Сакраменто и в 55 милях от Сан-Франциско. В Вакавилле вы найдете красивый парк Pena Adobe & Lagoon Valley Park с более чем 470 акрами нетронутых пешеходных и велосипедных дорожек, с которых открывается потрясающий вид на холмы. В двадцати милях от отеля находится всемирно известная фабрика Jelly Belly Factory, где вы можете совершить экскурсию, попробовать довольно интересные желейные бобы и попробовать вино и шоколад местного производства.

    CMF был создан в 1955 Законодательного собрания Калифорнии, чтобы предоставить расположенное в центре учреждение для удовлетворения медицинских, психиатрических и стоматологических медицинских потребностей преступников-мужчин, содержащихся в заключении в Департаменте исправительных учреждений и реабилитации Калифорнии (CDCR). CMF — это медицинское учреждение среднего уровня безопасности, расположенное в городе Вакавилль округа Солано. Вакавилль расположен в 37 милях к юго-западу от Сакраменто и в 65 милях к северо-востоку от Сан-Франциско.

    Большинство заключенных-пациентов ЦМП проживают в амбулаторных условиях и получают медицинскую помощь в амбулаторно-поликлинических учреждениях. Пациенты, нуждающиеся в дополнительном уходе, могут быть размещены в амбулаторном корпусе (OHU). Пациенты, нуждающиеся в круглосуточном сестринском уходе, размещаются в лицензированном медицинском исправительном лечебном центре (КИЦ). CMF также управляет стационарным психиатрическим CTC на 400 коек, CTC с психиатрическим кризисом на 50 коек и первым лицензированным тюремным хосписом в Соединенных Штатах.

    Медицинские услуги, предоставляемые в CMF, включают первичную помощь, хроническую помощь и специализированные клиники; радиология, трудотерапия и физиотерапия, аптечные услуги, лабораторное, респираторное, стационарное и амбулаторное лечение психических заболеваний, услуги в конце жизни/паллиативная помощь, услуги для людей с нарушениями зрения и/или слуха, а также услуги для людей с другими приобретенными или связанными с развитием инвалидность.

    CMF служит ресурсом для остальной части CDCR и заключает контракты с общественными консультантами и больничными учреждениями для удовлетворения сложных потребностей своих пациентов-заключенных.

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

    Дженнифер Бенавидес была назначена начальником медицинского учреждения Калифорнии в октябре 2022 года, где она исполняла обязанности начальника с 2021 года и занимала должность главного заместителя начальника с 2020 по 2021 год. Бенавидес была исполняющей обязанности главного заместителя администратора Калифорнийского медицинского учреждения. Учреждение в 2020 году. В период с 2016 по 2020 год она занимала несколько должностей в государственной тюрьме Фолсом, в том числе помощника надзирателя и капитана исправительного учреждения. Бенавидес была капитаном исправительного учреждения Департамента исправительных учреждений и реабилитации штата Калифорния с 2013 по 2016 год, где она также работала советником по исправительным учреждениям с 2008 по 2013 год и лейтенантом исправительного учреждения с 2007 по 2008 год. Бенавидес служила сержантом исправительного учреждения и сотрудником исправительного учреждения в Калифорнийская государственная тюрьма Солано с 2003 по 2007 год, а с 19 лет работала надзирателем в женском учреждении Северной Калифорнии.с 97 по 2003 год.

    Трейси Паттерсон начала свою карьеру в Калифорнийском департаменте исправительных учреждений и реабилитации в 2008 году в качестве менеджера в отделе управления бюджетом, предоставляя услуги для программ психического здоровья и стоматологии. В 2009 году она присоединилась к Отделу лицензирования и связи медицинских учреждений, управляя строительными проектами в масштабах штата, связанными с психическим здоровьем, по поручению судов Коулмана. Паттерсон принял должность в Калифорнийском медицинском учреждении в 2011 году в качестве менеджера программы здравоохранения III и одновременно занимал должность администратора исправительных медицинских служб II по управлению качеством. В 2015 году она перешла в государственную тюрьму Мул-Крик в качестве начальника службы поддержки, а с 2019 года исполняла обязанности главного исполнительного директора. по июнь 2021 года. Паттерсон вернулся в CMF в июле 2021 года в качестве главного исполнительного директора. Она имеет сертификат специалиста по исправительному здравоохранению Национальной комиссии по исправительному здравоохранению и имеет степень бакалавра наук в области управления здравоохранением.

    Местные Семейные советы заключенных (IFC) — это собрание членов семьи и друзей заключенных, которые регулярно встречаются с надзирателями для поддержки посещения, поскольку поддержание прочных семейных связей с близкими является мощным реабилитационным инструментом. Эти IFC способствуют посещению, разъясняя правила и положения, а также обсуждая здоровье, образование, профессиональную подготовку, пакеты, книги и связанные с этим вопросы. Для получения дополнительной информации о подключении к местной IFC посетите веб-сайт Statewide IFC.

    Symfony Content Management Framework против WordPress CMS

    WordPress хорошо известен во всем мире благодаря своей относительной простоте использования и возможностям plug-and-go. Компании всех форм и размеров используют эту систему управления контентом для всех видов веб-сайтов, от сайтов с контентом до генерации лидов, электронной коммерции или даже социальных сетей. Очень немногие знакомы с идеей фреймворка управления контентом, более известного как CMF, но здесь мы сравним его с CMS, используемой в WordPress.

    Популярность WordPress, безусловно, заслужена. Интуитивно понятный интерфейс позволяет легко управлять блогом, а функциональный API позволяет пользователю быстро настраивать макет и функциональность сайта. Когда дело доходит до быстрого запуска и множества доступных улучшений, WordPress вне конкуренции.

    Но что, если у вашего бизнеса есть более сложные потребности? Что, если, скажем, у вашего бизнеса есть одно из следующих требований?

    • Вам необходимо управлять и искать пользовательские и сложные документы с богатыми метаданными и свойствами.
    • У вас есть данные, которые хранятся или будут храниться в базе данных, отличной от MySQL (и могут даже находиться в разных хранилищах в вашей сети).
    • Вам необходимо распространять свой контент по нескольким каналам, таким как мобильные приложения или внешние API, поддерживающие другие приложения.
    • Ваша аудитория — международная, и все ваши документы должны быть переведены.
    • Вы хотите агрегировать данные из других хранилищ в пользовательские документы, например, для отчетности или соответствия требованиям.

    Если что-то из перечисленного относится к вам или вашей организации, возможно, вы захотите рассмотреть более надежную и сложную систему, например Symfony Content Management Framework.

    Система управления контентом и платформа управления контентом

    В чем разница, спросите вы, между системой управления контентом и фреймворком управления контентом? Джон Бонаккорси объяснил это так:

    CMS — это часть программного обеспечения, которое не является удобным для разработчиков прямо из коробки. Установите его, настройте и [вы] готовы войти в систему… С другой стороны, фреймворк — это просто набор повторно используемых компонентов кода. Он не делает многого из коробки, но предлагает вам захватывающий диапазон гибкости

    Теперь вернемся к обсуждению: более надежная система, которая может обрабатывать сложные вещи, такие как настраиваемые документы и документы с большим количеством метаданных.

    Пользовательские и насыщенные метаданными документы

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

    Некоторые фанатики WordPress скажут: «Есть решение для этого!» Возможность создавать различные типы сообщений и управлять настраиваемыми полями напрямую или с помощью плагинов может помочь вам в работе с пользовательскими документами.

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

    С другой стороны, Symfony CMF соответствует PHPCR (репозиторию контента PHP), набору спецификаций, который предоставляет API для гибкого хранения, управления и поиска сложных документов с поддержкой управления версиями.

    С помощью PHPCR документы хранятся и доступны с использованием иерархического дерева, состоящего из узлов, у которых есть дочерние элементы и свойства со значениями. В концепции хранения документов в виде узлов нет ничего нового. В отличие от WordPress, Drupal и другие системы управления контентом более корпоративного уровня делают это уже давно, и это определенно обеспечивает гораздо более чистый способ организации данных. Однако чистота не обязательно означает жесткость, и PHPCR позволяет расширять узлы новыми свойствами, сохраняя при этом порядок в вашем репозитории. В этом сила Symfony CMF по сравнению с WordPress. На самом деле команда Drupal решила сотрудничать с SensioLabs, компанией, стоящей за Symfony, чтобы модернизировать свою флагманскую CMS до версии 8.

    Агностицизм хранилища

    PHPCR предлагает API для взаимодействия с древовидными документами. Он не касается типа слоя сохраняемости, используемого для хранения этих документов. От хранения ваших документов в файловой системе до использования базы данных NoSQL, с PHPCR технически возможно все.

    Symfony использует Jackalope, реализацию PHPCR с открытым исходным кодом. Jackalope не зависит от хранилища, и для подключения к хранилищам вы можете использовать сервер Jackrabbit для хранения ваших документов в базе данных Java или Doctrine DBAL (уровень абстракции базы данных). Последний поддерживает большинство существующих СУБД, включая SQLite, MySQL и Oracle. В конечном итоге он будет совместим с MongoDB.

    Если вы хотите хранить свой контент более чем в одной базе данных, это можно сделать программно, создав в вашем коде несколько менеджеров документов, объекты PHP, которые взаимодействуют с репозиторием для хранения и извлечения ваших документов.

    Несколько каналов или приложений

    В эпоху мобильных вычислений, когда потребители владеют множеством устройств, предприятия не могут позволить себе думать в первую очередь о Интернете. Более разумный и долгосрочный способ расширения возможностей приложений — развертывание API-интерфейсов, которые распространяют ваш контент.

    Если это ваша цель, WordPress — плохой выбор. В лучшем случае он может использовать ваш RSS-канал для отображения сообщений блога в приложении. Для надежного распределения контента между устройствами — с такими функциями, как интерфейс RESTful, безопасность, кэширование или настройка производительности — лучше всего подойдет Symfony CMF. Он может отображать документы в формате XML или JSON после установки пакета REST, а его архитектура MVC дает вам свободу переходить в код для настройки публикации ваших данных. Безусловно, можно хранить данные диаграммы в виде узлов и выводить эти диаграммы с помощью SVG.

    Symfony CMF также предлагает способы повышения производительности, такие как кэширование, чтобы ваши приложения могли работать быстро.

    Международные пользователи

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

    Но если вы хотите управлять документами с пользовательскими свойствами и переводить их, сохраняя версию для каждой локали, Symfony CMF — лучший выбор. PHPCR может легко обрабатывать несколько переводов, а в случае с Symfony вы можете использовать пакет для настройки вашего приложения для локализации вашего контента на основе профилей пользователей.

    Эта возможность локализации и перевода в сочетании с REST API является очень привлекательной основой для международных компаний, целью которых является распространение приложений по всему миру.

    Составные документы

    Одной из возможностей, предлагаемых такими новейшими технологиями, как базы данных NoSQL или древовидные репозитории документов, является возможность агрегирования данных и составления новых документов для различных приложений, от отчетов до обмена данными с партнерами.

    На самом деле это напоминает то, что базы данных XML пытались сделать в 90-х годах, когда популярность языка разметки породила множество стандартов, таких как XBRL, в финансовой индустрии. К сожалению, эти технологии, коммерческие или с открытым исходным кодом, не были приняты, отчасти из-за крутой кривой обучения, наложенной на администраторов баз данных, которые должны были изучить XSLT, XPath или XQuery для эффективного управления своими данными. Понятно, что в то время было намного проще и выгоднее придерживаться SQL.

    Поскольку философия чего-то вроде XML заключается в обмене и использовании документов, действительно важно то, как данные отображаются, а не как и где они хранятся. Как мы видели, возможности RESTful Symfony CMF позволяют вам делать именно это, не требуя от вашего администратора баз данных прохождения трудоемкого процесса изучения новых языков.

    Благодаря другим его функциям ваши инженеры-программисты смогут собирать данные из разрозненных источников, выгружать их в PHPCR для создания богатого контента, переводить его и создавать возможности отчетности или другие критически важные API-интерфейсы в кратчайшие сроки.