Медиа Менеджер. Менеджер cms
Менеджер файлов для нашей CMS Часть 1 ::: Блог RS
Не кидайте в меня камнями, сегодня будет только голая теория. Я решил поделить пост на несколько частей. Объяснение тому очень простое, так как я и сам до сегодняшнего дня не умел выдергивать инфу из директорий, то уж очень хочется объяснить Вам все очень доскональна! Если объяснять очень подробно, то пост получится очень большим, именно поэтому, что бы не грузить мозг Вам и не запутаться самому, расскажу Вам работу поэтапно.
Код модуля получился довольно большим, не то чтобы огромным, но и не маленьким, содержит 2 обработчика и две немаленьких функции. Как Вам их объяснять буду понятие не имею Но ни чего, прорвемся!
Ну что ж, приступим к обзору возможности нашего менеджера файлов, покажу как он работает, тем самым Вы сможете проследить его логику, что позволит правильно понять ход скрипта который я вывешу Вам в следующем своем посте.
Ссылка на менеджер файлов
Ссылка на менеджер файлов будет находится на главной панели нашей админки
Стало быть нам будет необходимо переделать наш шаблон главной страницы. Мы этим занимались не однократно, поэтому тут проблем точно не будет
Менеджер файлов - Добавление файла
Что представляет из себя добавления файла? Заходя по ссылке, мы попадаем на страничку с формой, в которую администратору будет необходимо прописать путь, по которому находится нужный ему файл.
Стало быть первое, что должен сделать модуль, это показать нам форму. Такую операцию мы тоже выполняли, необходимо написать маленькую функцию, которая подключит шаблон с формой и выведет ее на экран.
После нажатия на кнопку "Добавить" скрипт подтвердит, что произошла отправка и запустит ту часть скрипта которая отвечает за загрузку файла на сервер. Скрипт определит тип файла, и в зависимости от типа файла определит папку куда этот файл в последствие переместится. Кстати я по этой теме уже писал пост, и записывал видео, почитайте, посмотрите, поможет понять суть нашего модуля.
После того как файл загрузится на сервер, с генерируется ссылка на него и выведется на экран.
На этом работа скрипта закончится.
Менеджер файлов - Списки файлов и удаление
Что из себя представляет редактор файлов? В самом низу менеджера файлов я поместил три ссылки.
Щелкая по первым двум нас переносит на определенный список
Как добивается такой результат? Оказывается в php есть специальная функция ( opendir() ) которая считывает содержимое определенных папок. Щелкая по определенной ссылке, мы выбираем папку из которой скрипт вытащит файлы. После, не хитрыми махинациями, мы генерируем табличку в которой выведется результат.
Вся эта таблица находится в форме. Тем самым мы создаем возможность выбрать не нужные нам файлы, и щелкнуть по кнопке "Удалить".
Обработчик удаление состоит всего из пару строк, там не очень все сложно.
Заключение
В общем то на этом все! Вот сейчас описал работу скрипта, и показалось, что все не так уж и сложно! Наверное впечатление сложности сложилось от того, что я понятие не имел как половина функций модуля реализовать.
Ждите в скором времени код нового модуля, я его за комментирую и выложу. Что бы не пропустить этот, и другие посты подпишитесь на RSS ленту блога через ридер или же по почте
Удачи Вам, до скорых встреч
______
P.S.: Прежде чем выбрать хостинг, необходимо узнать о его качестве, разве нет? А где можно узнать о качестве хостинга, почитать отзывы? Есть одно место - Рейтинг хостингов http://hostingsaitov.ru/
rio-shaman.ru
OctoberCMS на русском — Документация
По умолчанию Медиа Менеджер работает с папкой storage/app/media. Вы можете изменить настройки, чтобы использовать Amazon S3 или Rackspace CDN.
Вы должны установить Драйвера перед тем, как начать использовать Amazon S3 или Rackspace CDN.
Не забудьте после изменения настроек Медиа Менеджера обновить его кэш!
Настройка Amazon S3
Зарегистрируйтесь на Amazon AWS или войдите в свою учетную запись. Откройте панель управления S3 и создайте новую корзину.
Создайте папку media, которая будет корнем вашей Медиа Библиотеки (вы можете использовать любое название).
По умолчанию файлы в корзине не могут быть доступны напрямую. Чтобы сделать корзину отркытой для всех, вернитесь в их список и выберите ту, которую создали. Дальше нажмите на кнопку Properties справа. Отркойте вкладку Permissions. Нажмите на Edit bucket policy. Вставьте следующий код в попап окно (не забудьте заменить название корзины):
Нажмите кнопку Save. Вы измените права на read-only на все папки и файлы в корзине. Также возможно настроить публичный доступ до определенной папки в корзине:
... "Resource": "arn:aws:s3:::BUCKETNAME/media/*" ...Вы также должны создать API пользователя, которого OctoberCMS будет использовать для управления файлами в корзине. В AWS консоли перейдите в раздел IAM. Нажмите на вкладку Users и создайте нового пользователя с любым именем. Обратите внимание на то, чтобы было отмечено "Generate an access key for each user". После того, как AWS создаст нового юзера, вы можете посмотреть его Access Key ID и Secret Access Key. Скопируйте эти ключи, они вам еще пригодятся.
Вернитесь к списку пользователей и нажмите на того, которого сейчас создали. В разделе Permissions нажмите на кнопку Attach Policy. Выберите AmazonS3FullAccess в списке и нажмите на кнопку Attach Policy.
Теперь вы имеете всю необходимую информацию для настройки OctoberCMS. Откройте файл config/filesystem.php и найдите раздел disks. Он уже содержит настройки s3, поэтому их нужно только заменить на Ваши:
key | Access Key ID пользователя, которого вы создали. |
secret | Secret Access Key пользователя, которого вы создали. |
bucket | название корзины. |
region | код региона. |
Вы можете найти название региона корзины в консоле S3, на вкладке Properties, например, Oregon. Используйте таблицу ниже, чтобы найти код региона по его названию (вы также можете посмотреть AWS документацию):
US Standard | us-east-1 |
US West (Oregon) | us-west-2 |
US West (N. California) | us-west-1 |
EU (Ireland) | eu-west-1 |
EU (Frankfurt) | eu-central-1 |
ap-southeast-1 | |
Asia Pacific (Sydney) | ap-southeast-2 |
Asia Pacific (Tokyo) | ap-northeast-1 |
South America (Sao Paulo) | sa-east-1 |
Пример:
'disks' => [ ... 's3' => [ 'driver' => 's3', 'key' => 'XXXXXXXXXXXXXXXXXXXX', 'secret' => 'xxxXxXX+XxxxxXXxXxxxxxxXxxXXXXXXXxxxX9Xx', 'region' => 'us-west-2', 'bucket' => 'my-bucket' ], ... ]Сохраните файл config/filesystem.php и откройте config/cms.php. Найдите раздел storage, media. Измените значения disk, folder и path:
disk | s3. |
folder | назавние папки в корзине. |
path | URL корзины. |
Пример:
'storage' => [ ... 'media' => [ 'disk' => 's3', 'folder' => 'media', 'path' => 'https://s3-us-west-2.amazonaws.com/your-bucket-name/media' ] ]Поздравляем! Теперь вы может использовать Amazon S3.
Вы также можете использовать Amazon CloudFront CDN для работы с вашей корзиной (см. CloudFront документация). После настройки CloudFront, не забудьте изменить значение path в разделе storage.
Настройка Rackspace CDN
To use Rackspace CDN with OctoberCMS, you should create Rackspace CDN container, folder in the container and API user.
Войдите в консоль управления Rackspace и перейдите в раздел Storage / Files. Создайте новый контейнер с типом Public (Enabled CDN).
Создайте папку media, которая будет корнем вашей Медиа Библиотеки (вы можете использовать любое название).
Вы должны создать API пользователя, которого OctoberCMS будет использовать для управления файлами. Откройте страницу Account / User Management. Нажмите на кнопку Create user. Введите имя пользователя (например, october.cdn.api), пароль, секретный вопрос и ответ. В разделе Product Access выберите Custom, после Admin. Используйте роль No Access в разделе Account и Technical Contact в разделе Contact Information. После сохранения пользователя, вы увидете раздел Login Details с API Key, которые понадобятся для настройки OctoberCMS.
Теперь вы имеете всю необходимую информацию для настройки OctoberCMS. Откройте файл config/filesystem.php и найдите раздел disks. Он уже содержит настройки Rackspace, поэтому их нужно только заменить на Ваши:
username | имя пользователя (например, october.cdn.api). |
key | API Key пользователя, который вы можете найти на странице Профиль. |
container | имя контейнера. |
region | код региона корзины. |
endpoint | не изменять. |
region | Вы можете найти название региона в списке контейнеров, в панели управления Rackspace. Это 3-ех буквенное значение, например, ORD для Chicago. |
Пример:
'disks' => [ ... 'rackspace' => [ 'driver' => 'rackspace', 'username' => 'october.api.cdn', 'key' => 'xx00000000xxxxxx0x0x0x000xx0x0x0', 'container' => 'my-bucket', 'endpoint' => 'https://identity.api.rackspacecloud.com/v2.0/', 'region' => 'ORD' ], ... ]Сохраните файл config/filesystem.php и откройте config/cms.php. Найдите раздел storage, media. Измените значения disk, folder и path:
disk | rackspace. |
folder | название папки в конейнере. |
path | URL до папки в контейнере. |
Пример:
'storage' => [ ... 'media' => [ 'disk' => 'rackspace', 'folder' => 'media', 'path' => 'https://xxxxxxxxx-xxxxxxxxx.r00.cf0.rackcdn.com/media' ] ]Поздравляем! Теперь вы может использовать Rackspace CDN.
Аудио и видео проигрыватели
По умолчанию система использует HTML5 audio и video теги для отображения медиафайлов:
<video src="video.mp4" controls></video>или
<audio src="audio.mp3" controls></audio>Вы можете использовать oc-audio-player.html и oc-video-player.html фрагменты, чтобы переопределить их отображение. Используйте переменную src внутри фрагментов, чтобы получить ссылку на файл. Пример:
<video src="{{ src }}" controls preload></video>Вы также можете использовать Twig разметку, чтобы, например, подргужать нужное видео под нужное разрешение:
<video controls> <source src="{{ src }}" media="only screen and (min-device-width: 568px)"></source> <source src="{{ src|replace({'.mp4': '.iphone.mp4'}) }}" media="only screen and (max-device-width: 568px)"></source> </video>Другие параметры конфигурации
Существуют некоторые дополнительные параметры Медиа Менеджера, которые Вы можете использовать. Все они находятся в файле config/cms.php, в разделе storage/media. Например:
'storage' => [ ... 'media' => [ ... 'ignore' => ['.svn', '.git', '.DS_Store'] ] ],ignore | список файлов и папок, которые нужно проигнорировать. По умолчанию ['.svn', '.git', '.DS_Store']. |
ttl | "cache time-to-live", в минутах. По умолчанию - 10 минут. Кэш очищается автоматически, когда элементы библиотеки добавляются/обновляются/удаляются. |
imageExtensions | расширения файлов, соответствующих изображению. По умолчанию - ['gif', 'png', 'jpg', 'jpeg', 'bmp']. |
videoExtensions | расширения файлов, соответствующих видео. По умолчанию - ['mp4', 'avi', 'mov', 'mpg']. |
audioExtensions | расширения файлов, соответствующих аудио. По умолчанию - ['mp3', 'wav', 'wma', 'm4a']. |
Исправление проблем
Наиболее популярная проблема использования удаленых сервисов - SSL. Убедитесь в том, что ваш сервер имеет свежие SSL сертификаты.
octobercms.info
Ibm Content Manager
Понятие и функции системы управления контентом
Понятие CMS
Любой Web-сайт состоит из набора страниц, а различия заключаются лишь в том, как они организованы. Существует два вида организации Web-сайта – статический и динамический. В первом случае специалисты, отвечающие за создание и поддержку сайта пишут в HTML-форме каждую в отдельности страницу, включая ее оформление и контент. Во втором – в основе любой Web-страницы лежит шаблон, определяющий расположение в окне Web-браузера всех компонентов страницы, и вставка конкретной информации производится с использованием стандартных средств, не требующих от участника процесса знания языка HTML и достаточно сложных для неспециалиста процедур публикации Web-страницы.
Если сайт состоит из множества страниц или он должен часто обновляться, то преимущество динамической организации становится очевидным. Разработчикам Web-сайта не надо переписывать всю страницу при изменении ее информационного наполнения или дизайна. Страницы не хранятся целиком, а формируются динамически при обращении к ним.
Таким образом, отделение дизайна от контента является главной отличительной особенностью динамических сайтов от статических. На этой основе возможны дальнейшие усовершенствования структуры сайта, такие как определение различных пользовательских функций и автоматизация бизнес-процессов, а самое главное, контроль поступающего на сайт контента.
Для создания динамического сайта возможны два пути. Во-первых, это написание собственных программ, отвечающих за создание нужных шаблонов и поддерживающих необходимые функции. При этом созданная система будет полностью отвечать потребностям, однако возможно потребует больших программистских усилий и времени. Второй путь - это воспользоваться уже существующими системами, которые и называются системами управления Web-контентом. Преимуществом этого пути является уменьшение затрат времени и сил. К его недостаткам можно отнести снижение гибкости, предоставление недостаточного или чрезмерного набора возможностей.
Под контентом (дословный перевод английского термина content, означающего содержание, содержимое) понимают информационное наполнение сайта – то есть все типы материалов, которые находятся на сервере: web-страницы, документы, программы, аудио-файлы, фильмы и так далее. Таким образом, управление контентом – это процесс управления подобными материалами. Он включает следующие элементы: размещение материалов на сервере, удаление материалов с сервера, когда в них больше нет необходимости, организацию (реорганизацию) материалов, возможность отслеживать их состояние.
Системы управления контентом (в английском языке существует устоявшийся термин – Content Management Systems или, сокращенно, CMS) – это программные комплексы, автоматизирующие процедуру управления контентом.
Функции CMS
Функции систем управления контентом можно разделить на несколько основных категорий:
Создание — предоставление авторам удобных и привычных средств создания контента.
Управление — хранение контента в едином репозитории. Это позволяет следить за версиями документов, контролировать, кто и когда их изменял, убеждаться, что каждый пользователь может изменить только тот раздел, за который он отвечает. Кроме того, обеспечивается интеграция с существующими информационными источниками и ИТ-системами. CMS поддерживает контроль над рабочим потоком документов, т.е. контроль за процессом их одобрения. Таким образом, управление контентом включает в себя хранение, отслеживание версий, контроль за доступом, интеграцию с другими информационными системами и управление потоком документов.
Публикация — автоматическое размещение контента на терминале пользователя. Соответствующие инструменты автоматически адаптируют внешний вид страницы к дизайну всего сайта.
Представление — дополнительные функции, позволяющие улучшить форму представления данных; например, можно строить навигацию по структуре репозитория.
Cистемы управления контентом делятся на четыре основных категории, которые частично перекрываются:
Системы управления исходными кодами традиционно поддерживают управление исходными кодами программ, и часто предоставляют некоторый web-интерфейс, который может использоваться внутри корпоративной сети, а также вне ее для параллельной работы с исходными кодами.
Системы управления документами предназначены для организаций, оперирующих с большим количеством документов, например, офисы больших компаний, редакции и страховые компании.
Системы управления web-контентом представляют собой новую индустрию программных продуктов. Эти системы предназначены для разработки и управления Web-сайтами различной степени сложности. Обычно такие системы поддерживают и некоторый тип управления потоками работ.
Системы электронной коммерции – обеспечивают хранение и управление электронными каталогами товаров. По сути, эти системы незначительно отличаются друг от друга. Самое главное отличие этих систем – это люди, которые их используют.
Использование CMS предоставляет следующие преимущества:
Оперативное обновление информации - информацию публикует сотрудник, владеющий информацией, без дополнительных посредников в виде технических специалистов. CMS предназначены для автоматизации процесс публикации информации на web-сайте, предоставляя пользователям возможность самим публиковать материалы в WWW и определять их визуальное представление, используя для этого стандартные средства, не требующие знания языка HTML и достаточно сложных для неспециалиста процедур. С помощью CMS можно, не будучи профессиональным разработчиком, создавать и модифицировать информационное наполнение сайтов.
Снижение стоимости поддержки – обновление информации производится самостоятельно, нет необходимости оплачивать труд собственного или внешнего web-мастера. Снижение стоимости происходит за счет снижения потерь времени на поиски документов, пресечения дублирования и ошибок, увеличения скорости связи с партнерами и клиентами.
Предоставление дополнительных сервисов пользователю – часть сервисов – поиск, форумы, голосования и т.д., требуют интерактивного взаимодействия с пользователем. Они уже реализованы в рамках CMS.
Уменьшение сроков и стоимости разработки – наиболее востребованная функциональность уже реализована в CMS и может быть сразу использована.
Повышение качества разработки – при разработке полностью или частично используются готовые модули, которые уже прошли неоднократное тестирование.
Снижение стоимости дальнейших модификаций – CMS позволяют разделить данные и их представление. Это позволяет гораздо проще изменить внешний вид сайта, чем в случае со статическим сайтом.
Среди CMS-систем часто выделяют так называемые каркасы (content management framework, CMF) — инструментарии для создания системы.
Разработкой систем управления контентом занимаются многие компании, в том числе IBM, Microsoft, Oracle, Macromedia.
Стандартизация CMS
В последнее время начали появляться организации, пытающиеся объединить разработчиков CMS, создать единую информационную среду для потенциальных пользователей подобных систем, продвигать и утверждать единые стандарты. Прежде всего, это ассоциации OSCOM (Open Source Content Management), и CMSWatch.
OSCOM утвердила такие стандарты, как WebDav, RSS, ATOM и JSR-170.
В свою очередь, CMSWatch ежегодно выпускает отчет, включающий в себя обзор рынка CMS-систем, сравнение некоторых из них, описание жизненного цикла контента и управления им в CMS-системах.
Модели представления данных в CMS
Существует классификация CMS, основанная на модели представления данных — объектной, сетевой или модульной.
Объектная модель
Объектная модель представления данных оперирует такими понятиями, как класс и объект. Классы определяют структуру данных и представляют собой набор атрибутов (текстовая строка, целое число, изображение и т.д.). Экземпляры класса (объекты) имеют определенную структуру и могут содержать другие объекты, образуя произвольную иерархическую структуру. Объекты могут наследовать свойства, содержание и поведение объектов, которые в них содержатся. Примерами объектов служат документы, картинки, папки и учетные записи пользователей. Класс контента не хранит в себе реальных данных — такую информацию содержат объекты (экземпляры класса). Определив один класс, можно создать множество его представителей (контент объектов).
В CMS-системах данные обычно хранятся в реляционной или объектной базе данных. В первом случае объектная модель данных отображается на реляционную модель базы данных.
Как правило, системы, основанные на объектно-ориентированной модели данных, наиболее функциональные, гибкие, но, в то же время, и наиболее сложные.
Сетевая модель
Данная модель представления данных опирается на теорию графов: структура информации представляется в виде узлов с помеченными связями между ними. Фундаментом системы может служить как сетевая, так и традиционная реляционная СУБД, на которую отображена сетевая модель описания данных. В реляционных таблицах хранится информация об узлах, их атрибутах и связях между ними. Связь отличается от атрибута тем, что в ней хранится ссылка на другой узел, а в атрибуте — собственно значение. Для извлечения данных из направленного графа обычно используются рекурсивные процедуры обработки, такие как составление списков узлов, определение атрибутов узла по атрибутам родителя и др.
Модульная модель
В подобных системах контент разделен на отдельные модули по типам содержимого. Структура данных зависит от модуля, и вся работа с контентом сосредоточена внутри модуля. Модули независимы и полностью отвечают за работу с документами данного типа. Документы описываются с помощью фиксированного набора характеристик — типы документов строго фиксированы. Расширять функциональность можно за счет добавления нового модуля, замены или редактирования существующего кода. Чаще всего нет никакой системы связей между документами разных модулей и между документами одного и того же модуля. Стандартный набор типов контента (модулей) таков: ссылки, статьи, файлы, новости, разделы, форум.
Несмотря на очевидную ограниченность модели данных, системы на ее основе наиболее популярны благодаря своей простоте. У модульных CMS-систем есть один общий недостаток — строго фиксированная в пределах модуля структура содержимого. Однако для расширения их функциональности можно воспользоваться внешними модулями, которых в Сети немало. Очевидное преимущество этих систем — возможность получения почти полностью готового к использованию портала за короткое время.
Функционирование CMS
Основная идея систем управления контентом – разделение визуального дизайна сайта и его информационного наполнения. При создании сайта с помощью такой системы разрабатывается набор шаблонов страниц, в которых впоследствии размещается информация. В этом случае роль разработчиков (фактически это группа внедрения) ограничивается только созданием "начальной" информационной системы на основе системы управления контентом, затем пользователи сами публикуют требуемую информацию и определяют ее представление. Управление сайтом сводится к минимуму, – администратору остается только управлять пользователями.
Пользователи CMS делятся на две группы – создатели шаблонов страниц и авторы контента (информационного наполнения). Таким образом, одна группа пользователей создает структуру и оформление страниц, а другая наполняет его содержанием.
Рис. 7.1. Схема функционирования CMS
Функции систем управления контентом структурированы согласно жизненному циклу системы.
Сначала группа внедрения разворачивает ядро CMS и создает в СУБД информационное хранилище контента – БД. Далее администратор предоставляет доступ к системе различным пользователям, затем создается контент, он публикуется, и к нему применяются шаблоны оформления.
Создание контента
На первом этапе необходимо создать все типы контента и схемы их метаописаний, а также настроить систему на определенный поток работ (если система поддерживает создание потоков работ, а не использует единственный встроенный). Понятие типа контента аналогично понятию класса, а элементы контента представляют собой набор экземпляров таких "классов". Типами контента являются, например, текст и изображение; экземпляром контента конкретный документ или картинка.
Следующая важная возможность – хранение информации о версии контента. Это позволяет задать номер версии любых операций изменения контента и при необходимости восстановить его. В любой момент можно отказаться от изменений и, практически в режиме реального времени, откатиться на одну из предыдущих зафиксированных версий. Строгий контроль версий необходим для определения ответственности отдельных лиц, а также для резервного и аварийного восстановления системы.
Кроме управления контентом, система должна предоставлять возможность создавать метаданные о нем. Метаданные – это сведения о данных, свойства данных. Примером метаданных служат ключевые (характерные) слова документов, предназначенные для поисковых или отчетных систем. Системы управления контентом, рассматриваемые в данном обзоре, не поддерживают метаданные, хотя можно специально ввести дополнительные типы контента, представляющие собой метаданные.
После того, как все типы контента созданы, авторы информационного наполнения начинают создавать, изменять и удалять элементы контента указанного типа. CMS уже содержит некоторый набор визуальных компонентов, например, для редактирования текста, выбора изображений, выбора шаблона представления.
Кроме непосредственно редактирования элементов контента, необходимо предусмотреть разбиение контента по категориям или рубрикам.
Создание шаблонов оформления
В качестве решения проблемы представления в системах управления контентом используется технология шаблонов, определяющих внешний вид страницы. Разработчику шаблонов не нужно знать никаких технических тонкостей. На ранних этапах существования WWW шаблоны представляли "заготовки" HTML-кода, из которого путем манипуляций в HTML-редакторе получались готовые страницы. Сегодня такими заготовками манипулируют уже не дизайнеры в своих редакторах, а серверные web-приложения. Таким образом, современный шаблон Web-страницы представляет собой блок HTML, который благодаря специальным тегам или внедренным сценариям, облегчает включение динамически сгенерированного содержания на этапе выполнения. При использовании подобных шаблонов программистам необходим некоторый стандартизированный интерфейс для работы с ними – шаблонный движок (в английском языке существует устоявшийся термин – template engine), который может иметь разнообразные дополнительные функции, например, поддерживать кэширование шаблонов, их динамическое обновление и т.д.
Публикация контента
Механизм публикации информации в системе управления контентом отвечает за процесс создания, редактирования и удаления шаблонов страниц, а также за сопоставление типов контента и шаблонов страниц. В состав дополнительных возможностей системы публикации может входить предварительная генерация статической версии сайта. Эта опция очень полезна в случае размещения информационной системы на оборудовании с ограниченными возможностями.
Типичный процесс публикации информации в World Wide Web реализован в Microsoft Content Management Server. Обычным приемом обеспечения оформления информационного наполнения являются шаблоны представления информации. Поэтому первым этапом процесса является создание наборов шаблонов. Типичный шаблон содержит разметку HTML и места, куда в дальнейшем будут вставлены данные (placeholder'ы в терминологии Microsoft). Далее на основе этих шаблонов авторы информационного наполнения создают страницы и представляют их редакторам для одобрения. Редакторы, в свою очередь, могут либо отклонить страницу и вернуть ее автору на доработку, либо одобрить ее и передать модератору сайта. В первом случае процесс повторяется снова, во втором же модератор сайта проверяет расположение страницы на сайте, дату и срок ее публикации. Если все в порядке, страница становится видна пользователям. Несмотря на то, что рабочий процесс в Microsoft Content Management Server фиксирован и не может быть изменен в дальнейшем, подобное решение подходит большинству пользователей, которым необходимо публиковать информацию в World Wide Web.
Управление пользователями
Управление пользователями включает создание, изменение и удаление учетных записей отдельных пользователей и их групп, а также назначение прав для работы с элементами контента. Важной частью требований является наличие пользовательских профилей (profiles), с помощью которых можно сгенерировать персональное представление информации для каждого пользователя. Полезной является и возможность пользователя делегировать свои права. Это позволяет пользователям переназначать исполнителя конкретной работы и избегать простоев из-за отсутствия отдельного лица.
Системы управления контентом управляют учетными записями пользователей на основе собственных групп, не используя существующие идентификационные системы, например, Windows. Аутентификация средствами Windows позволила бы значительно упростить администрирование. При этом система управления контентом могла бы использовать операционную систему локального компьютера или контролера домена для проверки и сопровождения учетной записи пользователя.
Представление информации создается на основе данных, а также предпочтений конкретного пользователя. Персонификация достигается путем использования профилей – специальных записей, в которых хранится информация, специфичная для конкретных пользователей.
Архитектура системы управления контентом на примере DotNetNuke
В самом общем виде архитектуру систем управления Web-контентом можно представить следующим образом (7.2).
Рис. 7.2. Архитектура CMS
В основе данной технологии лежит трехзвенная архитектура клиент/сервер. Такая архитектура разбивает процесс обработки данных между клиентом, сервером приложений и хранилищем данных. В отличие от традиционной двухзвенной архитектуры здесь присутствует сервер приложений как промежуточное звено между клиентом и хранилищем данных.
В системе присутствует два хранилища. В первом (обычно реляционная СУБД) хранятся все данные, которые публикуются на сайте. Во втором (обычно файловая система) хранятся элементы представления – шаблоны, графические изображения и т.д.
Получая запрос, сервер приложений обрабатывает его, связываясь с хранилищем данных, в каком бы месте необходимые данные не находились. Клиент лишь получает результат в виде HTML-файла. Таким образом, сервер приложений является стандартизованной платформой для динамической доставки контента и построения основных приложений. Серверов приложений может быть много, а связь с ними происходит через Web-сервер.
Рассмотрим пример реализации архитектуры системы управления контентом на примере CMS DotNetNuke 4 (7.3).
Рис. 7.3. Архитектура CMS на примере DNN
Ядро системы управления контентом представляет собой динамический сайт, созданный на языке Visual Basic.NET с использованием технологии ASP.NET 2.0. Поэтому для ее функционирования требуется web-сервер с поддержкой этой технологии. В качестве такого сервера может выступать Microsoft Internet Information Services 5 или 6. В качестве хранилища данных CMS DotNetNuke 4 может использовать файловую систему web-сервера и базу данных под управлением СУБД Microsoft SQL Server. Поддерживаются все варианты поставки этой СУБД и версии 2000/2005. СУБД может функционировать как в операционной системе web-сервера, так и на удаленном компьютере. В первом случае возможно использование бесплатных версий MS SQL Server – Microsoft Desktop Engine и Microsoft SQL Server Express 2005.
Обзор рынка систем управления контентом
В мире существует множество систем управления контентом. Условно можно выделить три основных класса подобных приложений:
Системы крупных производителей. Наиболее известными приложениями такого класса являются Microsoft Content Management Server, Documentum, Plumtree Portal, IBM WebSphere Portal и т.д. Стоимость внедрения проектов на базе данных решений составляет от 50 000 у.е. Поэтому сфера их применения очень узкая и ограничивается в основном созданием интранет-решений для крупных предприятий.
Системы с открытым исходным кодом, например, RedHat CMS и OpenCMS. Преимуществами таких систем является доступность, наличие исходного кода, возможность локализации. Однако их использование связано с определенного рода проблемами:
Отсутствие техподдержки – системы предлагаются в основном без технической поддержки и все проблемы, связанные с использованием таких систем разработчик должен решать самостоятельно.
Узкая сфера применения – чаще всего продукт явился побочным результатом решения одной из собственных задач.
Очевидно, что подобное решение может хорошо решать задачи создания такого же рода сайтов, но может быть совершенно неприспособленно для решения задач другого плана (электронная коммерция, b2b и т.д.).
Разработки небольших компаний, которые применяются на нескольких проектах, созданных непосредственно компанией-разработчиком. их подклассом являются российские разработки. Эти продукты созданы в основном различными web-студиями, имеющими большой опыт в реализации сайтов разных типов. Данные решения занимают промежуточную нишу. Практически все решения являются коммерческими, но с достаточно низкой стоимостью (100-3000$) и могут быть использованы для создания сайтов разных типов.
Zope CMF и iNetSite
Среди объектно-ориентированных CMS-систем можно встретить каркасы. Классический пример — Zope CMF. Вообще, Zope — ведущий свободно распространяемый сервер приложений, специализирующийся на управлении контентом в порталах и пользовательских -приложений. На основе этого сервера приложений построен каркас управления контентом Zope CMF, с помощью которого, в свою очередь, создан целый ряд CMS-систем, в частности, Plone.
На основе сервера приложений Zope разработана отечественная CMS iNetSite (http://www.ramax.ru/services/web_content/inetsite) - комплексный программный продукт, предназначенный для создания и последующего сопровождения веб-сайтов любой сложности и назначения.
eZ Publish
Еще одна очень распространенная объектно-ориентированная CMS— eZ Publish.. Системы семейства eZ базируются на свободно распространяемом продукте eZ Publish. Наличие двух лицензий — GPL и профессиональной — позволяет создавать коммерческие продукты на основе каркаса eZ Publish, обеспечивая этой системе поддержку как сообщества Open Source, так и профессиональных разработчиков.
Система eZ Publish предназначена также для создания и управления содержимым Internet-магазина, новостного сайта, фотогалереи или форума.
Платформа: PHP, MySQL, Apache. На этапе инсталляции присутствует мультиязычность (русский язык тоже есть), а очень удобный и продуманный пошаговый инсталлятор позволяет без особых осложнений установить систему на любой хостинг. eZ publish имеет возможность устанавливаться сразу в настроенной конфигурации, соответственно предназначению сайта. Среди конфигураций есть новостной сайт, корпоративный портал, интернет-магазин, блог, форум, галерея изображений и интранет-портал.
Недостаток - отсутствие встроенного визуального редактора для создания контента. отличные способности по работе с мультимедийным содержимым позволяют рекомендовать ее для построения каталогов и библиотек, магазинов для специфических немассовых товаров. Для серьезных контентных проектов система пока проигрывает из-за отсутствия визуального редактора.
MS Content Management Server
Microsoft Content Management Server (MCMS) представляет собой систему управления Web-контентом, которая дает возможность создавать, развертывать и поддерживать динамично меняющиеся Web-сайты. Благодаря интеграции с Visual Studio .NET и поддержке функций управления исходными кодами, MCMS позволяет разработчикам создавать сайты, которые потом могут управляться и поддерживаться как ИТ-специалистами, так и бизнес-пользователями. Первые могут централизованно управлять брэндингом, рабочим потоком документов и безопасностью, тогда как вторые — создавать собственный контент, управлять им и публиковать его, используя знакомые приложения, такие как Word или Internet Explorer.
Объектная модель поддерживает разработку в среде Visual Studio .Net и .Net Framework. Возможно объединение через Microsoft Solutions for Internet Business (MSIB) Content Connector с сервером Microsoft Commerce Server для создания решений в области электронной коммерции.
Content Management Server 2002 позволит публиковать материалы непосредственно из Microsoft Word, взаимодействовать с другими системами, производить быстрое развертывание, управлять цифровыми хранилищами и идентификацией, осуществлять перевод Web-серверов, XML-редактирование и поиск.
Communiware
Communiware (http://www.communiware.ru) соответствует сетевой модели представления данных. Эта система представляет собой инструментарий нового поколения для создания вертикальных Web-сайтов и порталов.
Администраторский интерфейс очень похож на интерфейс самого сайта, но при этом к каждому информационному элементу добавлены ссылки на формы его создания, редактирования и удаления. Это очень удобная и мощная концепция, позволяющая за несколько минут освоить основные операции управления содержанием.
Рекомендуется его для проектов среднего масштаба, где важна гибкость системы.
Функционирует под ОС Unix, с использованием СУБД Oracle или PostgreSQL.
Предназначен для поддержки корпоративных сайтов, электронных СМИ, электронных магазинов, порталов.
Для некоммерческих проектов распространяется бесплатно. Для других - 150 у.е.
DynaSite
Система DynaSite (http://www.reksoft.ru/products/dynasite/) ориентирована на управление сложными структурами данных. Возможны следующие варианты поставки:
DynaSite Publishing - предназначен для создания и управления корпоративным сайтом или онлайновым информационным изданием. В базовую комплектацию входят все необходимые компоненты для управления содержанием (созданием сайта и его информационным наполнением). При необходимости дополняется маркетинговыми инструментами, а также средствами электронной коммерции.
DynaSite Publishing Enterprise Edition - специализированное решение, предназначенное для компаний с разветвленной структурой, позволяющее создать неограниченное число сайтов с различными адресами. При этом все сайты будут объединены в одной базе данных DynaSite и иметь общий список пользователей и настройки.
DynaSite Commerce - позволяет в максимально короткие сроки организовать центр электронной коммерции в сети Интернет. В базовую комплектацию входят все необходимые для электронной торговли модули. Разнообразие опций позволяет использовать систему, как в розничной торговле, так и для создания сложной сбытовой структуры и управления дилерской сетью.
DynaSite Hosting - организовать на одном ядре DynaSite хостинг неограниченного числа независимых друг от друга сайтов и электронных магазинов. Решение для хостинг-провайдеров. Имеет все необходимые средства для управления системой в целом и интеграции с внешними информационными системами.
Работает в серверной ОС Microsoft с СУБД MS SQL Server и web-серверами ColdFusion Application Server, IIS, Apache.
В ядре объединены модули, реализующие базовую функциональность системы:
модуль управления содержанием (Content Management). Включает управление дизайном, структурой, шаблонами страниц. Позволяет полностью контролировать все вопросы, связанные с информационным наполнением сайта;
модуль динамической навигации (Dynamic Navigation) и персонализации (Personalization). Помогает предоставлять клиентам и партнерам именно ту информацию, в получении которой они действительно заинтересованы;
модуль управления доступом и правами пользователей. С его помощью можно организовать и контролировать все рабочие процессы, связанные с созданием сайта, -- от дизайна и разработки до редакторской правки и окончательного утверждения.
Бизнес-компоненты, поставляемые с DynaSite, обеспечивают дополнительную функциональность, реализующую тот или иной бизнес-процесс.
Для связи с внешними информационными системами и создания дополнительных компонентов предусмотрен специальный интерфейс для разработчика -- DynaSite SDK.
Таким образом, создаваемое с помощью DynaSite приложение может быть интегрировано с другими информационными системами, например бухгалтерской, складской, почтовой и т. д.
Предназначена для поддержки корпоративных сайтов, электронных СМИ, электронных магазинов, порталов и интернет-сообществ. Копия системы стоит 1500 у.е.
Saitistika
CMS Saitistika (http://www.saitistika.ru) - коробочный продукт. Ориентирован на дилеров (веб-разработчиков, провайдеров). Предусмотрен франчайзинг.
Работает с ОС Windows Server, web-сервером Internet Information Server и СУБД MS SQL Server.
Предназначена для поддержки корпоративных сайтов, электронных СМИ, электронных магазинов, порталов и интернет-сообществ.
NetCat
Система NetCat (http://www.netcat.ru) ориентирована на управление проектами среднего и высокого уровня сложности.
Использует ОС Linux/FreeBSD, web-сервер Apache, технологию PHP и СУБД MySQL. Нетребовательна к системным ресурсам, что позволяет использовать ее на маломощных машинах. Стоимость 300 у.е.
PHPNuke
Модульная CMS. Распространяется бесплатно. PHPNuke это универсальная система построения сайта, с текстовым и графическим наполнением. Включает в себя все инструменты, необходимые для создания портала (в широком его понимании). Принимая во внимание большое количество реализованных по умолчанию функций, а так же наличие модулей, произведенных третьими лицами, данная CMS система может быть применена в следующих областях
интернет системы;
системы электронной коммерции;
корпоративный портал;
общественные учреждения и организации;
агентства новостей;
диалоговые компании;
информационные сайты;
системы электронного обучения.
Поддерживает 25 языков, Yahoo-подобный механизм поиска, возможность комментариев в опросах, поддержка тем, менеджер дат, менеджер управления файлами, работа с заголовками, менеджер часто задаваемых вопросов, система обзоров, информационный бюллетень, категоризациа статей, многоязычное управление и т.д.
Для работы PHP-Nuke требуется:
Платформа на основе Linux или Windows
Apache Web Server
PHP версии 4.2.x или выше
База данных MySQL
Так же система работает и на платформах: FreeBSD, OS/2, MacOS и д.р.; на базах данных: mSQL, PostgreSQL, PostgreSQL_local, ODBC, ODBC_Adabas и д.р.
Mambo и Joomla!
Mambo – одна из самых популярных модульных CMS. В ее состав входит полностью основанный на БД движок с использованием PHP/MySQL. Имеется возможность работы под ОС Linux, FreeBSD, MacOSX, Solaris, AIX, SCO, WinNT, Win2K, однако ее использование в различных ОС имеет свою специфику.
Для создания контента Mambo предоставляет выбор из 3 визуальных редакторов, что упрощает редактирование материалов до уровня редактирования текста в программе Word.
На сегодня можно найти более 700 модулей и компонентов, которые удовлетворят требования любого автора сайта. Система подходит как для небольшого, так и для крупного корпоративного сайта или информационного проекта. Интернационализация сделана очень хорошо.
Joomla! появилась как результат многолетней работы над ее знаменитой предшественницей Mambo. Команда разработчиков создала Joomla! 1.0 на основе Mambo 4.5.2.3 и здесь пути этих двух систем разошлись. Принципиальных отличий между этими двумя CMS нет.
Xoops
Модульная CMS. Полная объектная ориентация всей архитектуры системы (сайту доступно большое количество дополнительных модулей, реализующих почти все необходимые функции). Для создания и управления внешним видом есть мощная система визуальных тем, которых достаточно много в библиотеке на сайте.
Documentum
Documentum — ведущий поставщик коммерческого программного обеспечения для интегрированного управления документами и контентом. В области управления документами его ближайшими соперниками являются Open Text, IBM и FileNet, а в сфере управления контентом — Vignette, Stellent и Interwoven.
В области управления документами решения от Documentum наиболее надежны благодаря возможностям репликации контента и управления им на очень высоком уровне детализации (для переиспользования и перенацеливания), а также поддержке преобразований сложно структурированных документов, расширяемости репозитория и поддержке XML. Важные достоинства Documentum состоят в глубоком знании процессов управления потоком документов, контроля версий и управления архивами. Однако решения Documentum могут оказаться менее эффективными, чем некоторые решения-конкуренты, при обработке представления документов на больших Web-сайтах.
Система Documentum имеет объектно-реляционную архитектуру (т.е. объектная модель данных отображается на реляционную базу данных), поэтому может быть отнесена к объектным CMS-системам.
FileNet
Этот поставщик, фокусирующийся на коммерческих системах управления контентом предприятия, долго был лидером на данном рынке, а купив компанию eGail FileNet, вышел на рынок WCM. Это позволило FileNet предложить широкий спектр услуг организациям, реализующим решения для управления контентом. До сих пор компания фокусируется преимущественно на управлении процессами и поддержке транзакционного контента
Предлагаются следующие пакеты: Business Process Manager — автоматизация сложных бизнес-процессов; Content Manager — управление, совместное использование и доступ к документам или другим формам контента; Web Content Manager — автоматизация создания, одобрения и публикации контента на Web-сайтах; Image Manager — управление фиксированными типами контента, включая изображения, факсы и т.п.
Система IBM Content Manager позволяет организациям получать, хранить, управлять и распространять все формы цифрового контента, включая отсканированные текстовые документы, XML, HTML и мультимедиа. Content Manager - полное интегрированное решение для управления документами, предназначенное для потребителей, которые хотят пользоваться универсальным продуктом одного поставщика.
Другой ключевой момент —возможности управления web-контентом. Корпорация анонсировала объединение Content Manager с WebSphere Portal, который обеспечивает возможности публикации в Web. Теперь Content Manager будет представлять собой репозиторий для WebSphere-портала. Content Manager также объединен с WebSphere Portal с помощью портлетов, позволяющих пользователю получать доступ к контенту всех типов. После приобретения компании Tarian Software, поставщика решений для управления записями, IBM расширила спектр своего ECM-инструментария за счет средств управления жизненным циклом контента.
Модель данных Content Manager — объектно-ориентированная.
Выбор cms Заказчики web –сайтов на основе cms
Выбор наиболее подходящей CMS (Content Management System) для проекта или корпоративного сайта в первую очередь зависит от категории заказчика, бюджета, предполагаемой сложности сайта и технического обеспечения.
Предприятия и компании розничной торговли, дилеры
Большая часть заказчиков из этой группы проявляет интерес к разработке представительских веб-сайтов, которые помимо информации о компании включают новости, каталоги продукции, механизм формирования заявки на продукцию. В ряде случаев они заинтересованы в создании механизма регистрации посетителей сайта, подключении гостевых книг и т.п. Все эти требования соответственно отражаются на требованиях к CMS.
Одним из основных требований является - обеспечить возможность управления веб-сайтом собственными силами, не прибегая к услугам разработчика или стороннего специалиста. Поэтому для данной категории заказчиков критичными являются требования удобства применения. Не менее важным является обеспечение модульности и возможность выбирать, компоновать необходимые функции веб-сайта в зависимости от пожеланий заказчика, а также добавлять новые функции по мере развития веб-сайта.
Среди этих заказчиков выделяется категория, которая может быть заинтересована в разработке сайтов электронной коммерции, но при этом реальные трудности возникают с интеграцией их системы документооборота в интернет. Зачастую рабочая база данных компании ведется сама по себе, а на сервере лежит собственная база данных, созданная специально для торгового автомата.
Собственно электронные магазины в большей степени востребованы в таких сферах торговли как: торговля цветами, книжная торговля, торговля мобильными телефонами - т.е. все, что связано с продукцией массового спроса, которая не составляет проблем в плане доставки курьером или почтой. Оплата очень часто осуществляется обычными офф-лайновыми способами - при доставке курьеру, оплатой через Сбербанк и т.п., т.е. не требуется интеграция с электронными платежными системами. Необходимо отметить, что на сегодняшний день не существует сколько-нибудь надежной электронной платежной интернет-системы. Самая популярная WebMoney. Однако никаких юридических гарантий надежности ее работы нет.
Разграничение прав доступа и установление групп пользователей и их полномочий требуются только для сайтов электронной коммерции.
Многие компании искусственно ограничивают для своих сотрудников доступ к веб-сайту и отказываются от интеграции своих рабочих БД в интернет, т.к. опасаются за безопасность данных, а вкладывать значительные средства в ее обеспечение не готовы.
studfiles.net