Как стать автором
Обновить
20.85

CMS *

Системы управления сайтом

Сначала показывать
Порог рейтинга
Уровень сложности

Архитектура CMS. Модель данных. Часть 2

Время на прочтение9 мин
Количество просмотров4K
Продолжаем тему объектной модели данных. В этой части речь пойдет о модуле Data, являющимся, по сути, ORM системой. Для наглядности работы модуля Data c его помощью будет создано содержимое простого сайта. Предыдущая статья: Архитектура CMS. Модель данных. Часть 1.

Модуль Data состоит из классов Data, Object, Multy, Query и набора классов Cond*. Сам модуль – это статический класс Data, остальные классы используются для представления структур данных, с которыми он работает. Для представления сущностей в программном коде используется класс Object. Не важно, какого типа сущность – класс данных, объект данных или связь между ними – для всех Object. Класс Multy используется для ассоциации с набором сущностей, в частности, для представления множественных свойств. Классы Query и Cond* необходимы для осуществления поиска по объектной модели (в базе данных) с учетом гибких условий.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии53

Ответы модулей

Время на прочтение2 мин
Количество просмотров874
Доброе время суток!

Наверно, говорить о том, что я пишу свою CMS не надо, лишь хочу уточнить, что это Explay. В связи с этим я буду писать о том, что уже реализовано и доступно в исходниках.

В этой статье речь пойдет об «ответах» модулей (более умного названия, к сожалению, придумать не смог). Грубо говоря под ответом я подразумеваю return $var некого метода или функции. Здесь надо оговориться, что используется шаблон проектирования MVC, где модуль — это, естественно, модель. Далее немного общих слов от том, как в моей CMS работает MVC.
Читать дальше →
Всего голосов 11: ↑7 и ↓4+3
Комментарии12

Реляционный подход

Время на прочтение1 мин
Количество просмотров1.3K
Оговорюсь, свою CMS я не пишу, я лишь озвучу те идеи, которые хотелось бы видеть в CMS.

Модель документа, отложенный рендеринг

собственно статья
Всего голосов 12: ↑8 и ↓4+4
Комментарии81

Архитектура CMS. Модель данных. Часть 1

Время на прочтение8 мин
Количество просмотров6.2K
Система управления содержимым (CMS) обязана предоставить гибкие всеохватывающие функциональные возможности для управления содержимым сайта, облегчить работу администратора-конфигуратора и способствовать созданию удобного в использовании сайта. Содержимым сайта можно назвать новости, размещенные на нём, а также статьи, комментарии, фотографии. Содержимым также являются целые структуры информации: новостные ленты, каталоги, форумы, блоги. Обобщенно: содержимое – это данные, размещенные на сайте.

CMS может просто передавать данные по запросу клиентскому приложению, например сетевой программе, flash-клипу или AJAX-приложению. Но чаще всего, CMS предоставляет клиенту уже подготовленные для отображения данные в HTML формате. В этом случаи, для обеспечения доступности, легкости восприятия и удобства пользования содержимым, выполняется стилизация и объединение его с элементами оформления (темы, шаблоны), навигации (меню, ссылки) и управления (формы и ссылки тоже), и всем этим тоже нужно управлять.

Идея


Окружающий мир воспринимается нами объектным, мы мыслим «объектами», в наших умах выстраивается объектная модель мира. Поэтому нам не составит труда создать объектную модель содержимого сайта и управлять ею. Новости, товар в каталоге, сообщения на форуме и сами форумы, и все другое можно представить в виде объектов. Устанавливая связи между объектами, можно создавать структуры данных любой сложности, от добавления комментариев к статьям до создания социальных сетей и более.

Объекты, классы и связи данных – это информация, которую нужно уметь создавать, хранить, использовать, изменять и удалять. В нашем распоряжении реляционная база данных для хранения информации. Действия же совершаемые с информацией – часть логики функционирования CMS, которая в большей части будет реализована модулем данных Data.
Читать дальше →
Всего голосов 53: ↑44 и ↓9+35
Комментарии102

Истории

Открытие блога

Время на прочтение1 мин
Количество просмотров784
Представляю вниманию хабрасообщества новый блог.
Судя по результатам опроса, довольно много людей занимается написанием своей собственной системы управления контентом. Своя CMS — важный шаг в становлении разработчика. Люди, пишущие свою CMS, встречаются на различных (довольно редких) форумах, где они рассказывают о своих идеях, делятся красивыми решениями. Иногда просто до жути очень хочется высказаться, рассказать о своём детище. Вам знакомо это?
Как организована система модулей?
Как организовано кеширование? авторизация и права? шаблонизатор? мультиязычность? – Такие статьи/сообщения я, например, заглатываю с большой информационной жадностью.
Данный блог позволяет высказаться, рассказать о своей собственной наработке. Это не значит, что тут обязательно надо пиарить свою CMS, давать ссылки на сайт и демоверсии. Нет, конечно, можно. А можно также просто рассказать о интересном решении в Вашем шаблонизаторе, красивом API или ещё о чём-нибудь. А может, и рассказать о интересной, но ещё не реализованной идее?
Обмен опытом ещё никому не повредил.
И, кстати, CMS — довольно нечёткое понятие, поэтому, если у Вас не CMS, а CMF, или вы называте свою разработку скромным именем «MVC Framework», ничего страшного.
Я думаю, многим, и лично мне лично мне в частности, было бы очень интересно почитать про идеи, решения, а также по возникшие вопросы, проблемы и возможные подводные камни.
Да, и ещё. Просьба холивары на тему «Вы все неудачники, пока вы пишете, Битрикс продаёт продукт», «Бесплатный друпал/джумла стоит 10 ваших систем», мутить в другом месте.
Делать блог закрытым или открытым, покажет время.
Добро пожаловать!
Всего голосов 102: ↑72 и ↓30+42
Комментарии64

Корпоративная CMS на .NET — какие варианты?

Время на прочтение2 мин
Количество просмотров3.5K
Есть идея переделать наш корпоративный сайт, чтобы он шёл в ногу со временем. Основная идея — что-то вроде внутреннего блога, который можно редактировать только из нашей внутренней сети, но доступного в read-only из интернета.

В связи с этим, доступ пользователей должен контролироваться Active Directory, и быть незаметным для пользователей — так что использовать придётся Mixed Mode Windows Authentication; в Интернет должна идти версия в которой вообще нет проверки или возможности залогиниться, и в которой не отображаются комментарии, только топики. Такой вот корпоративный Хабр.

Главная проблема...
Всего голосов 9: ↑5 и ↓4+1
Комментарии12

Архитектура CMS

Время на прочтение8 мин
Количество просмотров18K
Имея более чем достаточно времени, увлекся я размышлениями о создании гибкой, многофункциональной, но относительно простой CMS для программистов и её конфигураторов-пользователей. Некоторые идеи были навеяны потенциальными возможностями CMS Drupal. И вот теперь, увлеченный уже реализацией идей и имея успешные промежуточные результаты, я решил рассказать об архитектуре создаваемой CMS. По ходу прочтения общая картина возможностей CMS должна прорисовываться сама, во всяком случае, для программистов:)

Архитектура CMS


Архитектура создаваемой системы основана на модульном принципе. CMS полностью строится из модулей, как детский домик из кубиков. С целью достижения гибкости и простоты взаимодействия модулей, необходимо было достичь минимальных действий для использования модулей любым компонентом системы без необходимости создания жестких связей, а также сделать возможность легкого расширения действий модулей с помощью других модулей.
CMS — совокупность модулей
Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии76

Принципы usability для CMS

Время на прочтение4 мин
Количество просмотров2.1K
Ни разу не слышал, чтобы наши (читай: совковые) вендоры коробочных CMS заказывали usability тестирование своих продуктов. Напрашивается два основных вывода:
  1. Usability этих систем и так на высоте! В каждой компании есть свои usability специалисты, которые принимают участие в разработке на всех стадиях развития продукта – организуют тестирования, дают рекомендации, экспертную оценку и т.д. В таком случае это UDD – User-Driven Development.
  2. Usability этих систем по-взрослому сосет. Программеры делают функционал. Дизайнеры делают дизайн. Маркетинг делает продажи. Программер думает об эклипсе. Дизайнер думает о фотошопе. Маркетолог думает о пауерпоинте. Ну а конечный пользователь периодически задумывается обо всех трех сразу – об их интеллекте, сексуальной ориентации и месте произрастания их передних конечностей. Это методология AUDD – Anti-User-Driven Development или Angry User Driven Development.
Если вам известны компании, которые работают по первой схеме, то дайте знать. На ребят, делающих все по второй схеме, я насмотрелся вдоволь, поэтому считаю полезной для всеобщего ознакомления публикацию «11 usability principles for CMS products» за авторством James Robertson. Далее позволю себе привести вольный пересказ списка из одиннадцати принципов CMS usability, которые выделяет Джеймс, с моими комментариями.
Читать дальше →
Всего голосов 27: ↑19 и ↓8+11
Комментарии19

Посоветуйте простую и удобную CMS для малых сайтов

Время на прочтение1 мин
Количество просмотров43K
До нынешнего дня ставили все сайты клиентов на Битрикс. Сама система платная и для нормальной работы требует достаточно дорогого хостинга, но клиентов это особенно не смущало.

Сейчас, в связи с ухудшением финансового положения потенциальных заказчиков, решили также предлагать «низкобюджетные» варианты для малых сайтов (10-20 страниц). Разумеется встал вопрос выбора бесплатной CMS, не перегруженной лишним функционалом, простой и удобной. Что посоветуете?
Читать дальше →
Всего голосов 23: ↑13 и ↓10+3
Комментарии76

Анонс и история Explay CMS 3 (Core)

Время на прочтение4 мин
Количество просмотров1.3K
Explay

Немного истории



Где-то в конце августа — начале сентября, постепенно понимая парадигмы объектно-ориентированного программирования и приходя в ужас от своего старого кода, я решил забыть Explay 2.1 как страшный сон и взялся писать все с чистого листа. Да, это, вероятно, было не самым лучшим шагом в сторону пользователей Эксплея, но вы уж извините мою глупую натуру.
Читать дальше →
Всего голосов 94: ↑71 и ↓23+48
Комментарии79

Компания «Амиро» выпустила бесплатную редакцию Amiro.CMS — Free

Время на прочтение2 мин
Количество просмотров2.2K
По просьбе smelyansky, чья карма еще не оторвалась от нуля (а моя попусту иссыхает), транслирую инфу от российского производителя «коробок».

Пакет Amiro.CMS — Free — бесплатная редакция профессиональной платформы Amiro.CMS, предназначенной для создания и управления сайтами любой сложности. Несмотря на статус бесплатности, пакет обладает развитыми и богатыми функциональными возможностями по управлению контентом сайта и выводом его содержимого. Авторский блог, новостное СМИ, небольшое комьюнити, первый корпоративный сайт — эти интернет-ресурсы возможно реализовать на указанном пакете.

Возможности пакета:

Читать дальше →
Всего голосов 14: ↑6 и ↓8-2
Комментарии15

Создание чистого CSS-шаблона для Joomla 1.5 — часть 4, последняя

Время на прочтение8 мин
Количество просмотров13K
Это заключительная часть цикла статей о шаблонах Joomla 1.5.

Предыдущие части:
Создаем шаблон Joomlа по стандартам — часть 1
Создаем шаблон Joomlа по стандартам — часть 1 (продолжение)
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.1
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.2
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.3
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.4
Создание чистого CSS-шаблона для Joomla 1.5 — часть 3

Продвинутые возможности шаблонов


Joomla 1.5 предлагает ряд продвинутых функций шаблонов, которые существненно расширяют их возможности. Мы уже видели один из примеров в этом цикле статей — возможность создания «chrome», или кастомизированного отображения модулей.

Давайте теперь рассмотрим следующие функции:
  • Параметры шаблонов
  • Переопределения шаблонов

Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии4

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн

Создание чистого CSS-шаблона для Joomla 1.5 — часть 3

Время на прочтение9 мин
Количество просмотров5.6K
Продолжаю перевод этого замечательного цикла статей.

Предыдущие части:
Создаем шаблон Joomlа по стандартам — часть 1
Создаем шаблон Joomlа по стандартам — часть 1 (продолжение)
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.1
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.2
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.3
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.4

Создаем настоящий шаблон Joomla 1.5


Первое, что нам понадобится для старта, — это дизайн, который ляжет в основу нашего шаблона. Мы будем использовать для наших целей дизайн, любезно предоставленный Кейси Ли — ведущим дизайнером из Joomlashack. Он называется «Bold» и вы можете увидеть его на рисунке:

Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии3

Motion от Movable Type — социальная сеть для каждого

Время на прочтение2 мин
Количество просмотров1.1K
Сегодня состоялся анонс дополнения Motion к Movable Type. Это бесплатное дополнение позволит социализировать MT, создать полноценную социальную сеть. Об этом уже написали в Mashable и TechCrunch. Думаю, пользователям Хабрахабра тоже будет интересно.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии15

Какой движок выбрать?

Время на прочтение1 мин
Количество просмотров981
Хочу сделать некоммерческий сайт со следующим функционалом:
• Регистрация пользователей с разбиением по группам пользователей и возможностью самоудаления из базы. Желательно – с возможностью настройки полей,
• Поиск по группам пользователей/Фильтр зарегистрировавшихся пользователей по группам,
• Рассылка новых регистраций/подписка на RSS,
Есть ли бесплатная CMS, с помощью которой несложно можно это реализовать? Я думал сделать на Wordpress – но не нашел нужного количества плагинов.
Или такую разработку проще вообще написать вручную под задачи?
Всего голосов 32: ↑15 и ↓17-2
Комментарии26

Movable Type 4.23

Время на прочтение1 мин
Количество просмотров681
Пожалуй, это уже традиция, что в начале декабря выходит новая версия Movable Type. На этот раз изменения не такие революционные, но их количество внушительное — более шестидесяти. Кроме того, данное обновление связано с безопасностью, поэтому всем пользователям рекомендуется обновиться.
Скачать Movable Type 4.23, русская версия в zip-архиве (или в tar.gz-архиве).
Обновление исправляет некоторые ошибки в работе, а также затрагивает некоторые шаблоны: тем, кто использует Pro-функциональность необходимо обновить шаблон просмотра профиля пользователей. Кстати, Community Pack и Professional Pack тоже обновились, так что, если вы используете их, необходимо произвести обновление.
Подробный список изменений доступен на сайте MT.org, а изменения русской версии остались прежние, только языковой файл был немного обновлён.
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.4

Время на прочтение7 мин
Количество просмотров7.2K
Предыдущие статьи:
Создаем шаблон Joomlа по стандартам — часть 1
Создаем шаблон Joomlа по стандартам — часть 1 (продолжение)
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.1
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.2
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.3

Прячем колонки

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

Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии4

Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.3

Время на прочтение5 мин
Количество просмотров4K
Продолжаю публикацию перевода цикла статей о создании «Чистого CSS-шаблона для Joomla 1.5». Правда, если честно, после размещения предыдущих двух частей возникли некоторые сомнения в востребованности этого материала (сужу по полученным оценкам), но все же не хочется бросать начатое дело, ведь кому-то все равно это может пригодиться.

Предыдущие статьи:
Создаем шаблон Joomlа по стандартам — часть 1
Создаем шаблон Joomlа по стандартам — часть 1 (продолжение)
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.1
Создание чистого CSS-шаблона для Joomla 1.5 — часть 2.2

Меню в шаблонах

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

Читать дальше →
Всего голосов 4: ↑2 и ↓20
Комментарии5

Virtual Movable Type, коротко о главном

Время на прочтение1 мин
Количество просмотров663
Virtual Movable Type это упакованная и оптимизированная под быструю и удобную работу сборка популярной платформы для публикаций. В эту сборку входит:
  • Movable Type
  • Плагин для Movable Type Action Streams
  • Linux
  • Apache
  • MySQL
  • Memcache (изначально отключен)
  • FastCGI
  • ImageMagick
  • Все необходимые и дополнительные модули Perl

Данная сборка была разработана совместно с JumpBox и работает на следующих виртуальных машинах:

Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии5