Различия между версиями 7 и 8
Версия 7 от 2010-05-29 06:00:02
Размер: 29641
Редактор: alafin
Комментарий:
Версия 8 от 2010-05-29 06:02:04
Размер: 29673
Редактор: alafin
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 19: Строка 19:

{{attachment:plonebook.jpg}}

Глава 1. Предисловие к Plone

Предисловие к Plone

Компания, не имеющая собственного Web-сайта является недальновидной. Большинство компаний имеют несколько сайтов. Это может быть внешний сайт, предназначенный для предоставления информации клиентам, внутренний - предназначенный для использования сотрудниками, или сайт для организации взаимодействия между клиентами и поддержания обратной связи с ними. У владельцев всех этих Web-сайтов существует одинаковая проблема - как управлять их содержимым. Это вызов, принятие которого очень часто может потребовать от организации много времени и усилий. Создание мощной и гибкой системы для подобных сайтов, требования к которой постоянно изменяются в процессе её роста (из-за возникающих у компании новых потребностей) - непростая задача.

Независимо от того, какие требования предъявляются к объёму содержимого вашего сайта или числу его пользователей, использование Plone будет наилучшим решением, которое позволит вам легко добавлять и редактировать любые типы информации через Web (Through The Web - TTW), производить навигацию и поиск по содержимому вашего сайта, а также устанавливать правила безопасности и последовательность инстанций (рабочий цикл), через которые проходият документы сайта перед их опубликованием.

Plone позволяет вам содержать практически любой Web-сайт и легко его обновлять. Он также позволяет вам значительно ускорить время создания сайтов с большим количеством хранящейся на нём информации (content-rich), что даёт возможность получить существенное преимущество перед конкурентами. В заключение, возможно лучшее, что можно сказать об этой системе, это то, что она является бесплатной (free) и содержит все исходные коды (open source). C его многочисленными впечатляющими свойствами, Plone является сопоставимым, если не более хорошим, чем аналогичные системы, не доступные в исходных кодах и стоящие сотни и тысячи долларов.

Mike Sugarbaker сказал для сайта Mindjack (http://www.mindjack.com/events/oscom.html) следующее, когда выступал на Open Source Management Conference (OSCOM) в 2002 году:

  • "Я не буду говорить обо всех конкурирующих средах разработки с доступными исходными кодами. Я поставлю точку в имеющейся гонке: Победитель - Plone. Этот продукт, функционирующий на платформе Zope является пакетом с наибольшим числом вспомогательных средств, наиболее профессионально выполнен, представляющий из себя наиболее законченный продукт из всех."

Web-сайт Plone можно увидеть посетив адрес http://www.plone.org , как показано на рисунке 1-1. Попробовать использовать Plone очень легко - демонстрационная версия доступна по адресу http://demo.plone.org . Там вы cможете легко и быстро добавить и отредактировать содержимое через Web. Вы сможете реальным образом добавить события, загрузить изображения, добавить документы, и всё это через рабочую среду (framework), которую предоставляет Plone.

010101.png

[ПРИКРЕПЛЁННЫЙ ФАЙЛ]

Что такое система управления контентом?

Простейшее определение описательного характера для системы управления контентом (Content Management System - CMS) - это система, предназначенная для управления содержимым сайта (контентом). Подобное определение скорее бесполезное, поэтому разделим его на несколько небольших частей для более полного понимания. Начнём с широкого определения контента: Контент - это единица данных, в которой содержится какая-либо внешняя информация. Эта часть данных может быть Web-страницей, информацией о происходящих событиях, документ Microsoft Word, изображение, видеоролик или любые другие единицы данных, которые имеет значение для организации, разрабатывающей систему.

Все эти единицы информации называются контентом (content) и все они имеют схожие атрибуты, такие как необходимость быть добавленными или отредактированными определёнными пользователями и быть опубликованными различными путями. Эти атрибуты контролирует система под названием workflow. Workflow (абочий цикл документа) логически определяется бизнес-правилами организации и описывает систему для управления контентом.

Исторически различия между системами управления контентом и системами управления документами были, однако позже обе эти системы были объединены. Существенные различия были в документах, управление которыми имело место; очень часто считалось, что контент - это любая единица информации, а под документом понималось нечто созданное или отредактированное человеком с использованием различных продуктов, например Microsoft Word. Возьмём, например, книгу: книга содержит множество разделов и для её использования требуется некоторое управление содержимым, которое немного отличается от того, которое необходимо самому её содержимому. Однако, в большинстве случаев, это несущественные различия и продукты, такие, как Plone способны управлять как незначительными единицами информации, так и большими её блоками и переопределять их.

Учитывая повсеместность использования Web, многие системы управления контентом (CMS) в настоящий момент классифицируются как системы управления Web-контентом либо потому, они имеют собственный Web-интерфейс, либо потому что их основная направленность - это основанные на Web системы, функционирующие в Internet или Intranet. Plone обеспечивает своим пользователям и то и другое.

В продолжение - одно из определений CMS (http://www.contentmanager.eu.com/history.htm):

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

Вы хотите систему управления контентом?

Несмотря на то, что CMS имеет множество преимуществ, самое главное из них это возможность легко поддерживать сайт в согласованном состоянии. Представьте ситуацию, при которой один человек, вебмастер (Webmaster), координирует работу всего сайта, как внутреннего, так и внешнего. Контент (информация) поступает к нему от пользователей в самых различных форматах и вебмастер делает его пригодным для размещения на сайте, переводя в формат Hypertext Markup Language (HTML - язык разметки гипертекста). Если пользователи захотели изменить содержимое страницы, они отсылают изменения вебмастеру, который модифицирует существующие данные на сайте и так далее.

  • Это приносит организации множество неприятностей. Наибольшая из них это огромный объём контента, который проходит через одного человека. Один человек выполняет крайне большой объём работ, и если этот человек заболеет или прекратит свою деятельность в компании, продуктивность всей компании будет в упадке до тех пор, пока не будет найдена замена. Процесс публикации в этом случае становится абсолютно невозможным.

То, что нужно в данной ситуации - это система, выполняющая следующее:

  • Отделение содержимого страницы от её представления: Если содержимое отделено от представления, то автору нет необходимости знать HTML или то, как происходит отображение страницы. По факту, отдельно взятая часть контента может состоять из множества шаблонов, применённых к ней, включая форматы, отличные от HTML, такие, как Portable Document Format (PDF), или Scalable Vector Graphics (SVG). Когда вы хотите изменить внешний вид сайта, вы должны изменить только интересующий вас шаблон, а не всё его содержимое.

    Разрешение определённым пользователям добавлять и редактировать контент: если определённый пользователь сможет легко добавлять и редактировать контент, то пропадает необходимость отсылать его вебмастеру или команде Web-разработчиков. Вместо этого, пользователь, который хочет создать страницу, может сделать это сам и редактировать её столько, сколько нужно.

    Установка правил о том КТО может публиковать, ЧТО и КОГДА: Назначенные вами правила могут не позволять кому угодно публиковать контент на вашем сайте; например люди, которые занимаются маркетингом, будут иметь возможность публиковать документы в раздел сайта, посвещённый пресс-релизам, но не смогут публиковать документы в раздел разработчиков.

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

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

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

Ключевой фактор любой CMS это обеспечить чёткое разделение элементов в следующем: безопасность, рабочие циклы (workflow), шаблоны и т.п. Например, шаблоны отображают какой-то элемент независимо от его содержимого. Это позволяет вам легко модифицировать внешний вид сайта.

Введение в особенности Plone

Plone это продукт лицензированный в рамках General Public License (GPL), содержащий все исходные коды, которые могут быть использованы без каких-либо ограничений. Для получения более подробной информации о GPL, посетите сайт http://www.gnu.org . Вы можете получить любую часть кода Plone и изменить её в соответствии с требованиями, предъявляемыми вашему приложению. Лицензия не является платной, имеет неограниченный срок действия и все исходные коды являются открытыми. Подобная философия открытых систем означает, что Plone уже имеет достаточно большую поддержку среди пользователей, а также множество разработчиков, специалистов по внедрению и применению, переводчиков, дизайнеров, способных работать с Plone. Выбирая для использования Plone, вы не ограничиваете себя сотрудничеством с одной компанией, наоборот множество компаний предлагают различные сервисы на платформе Plone.

Пакеты

Plone имеет удобные инсталляционные пакеты для Windows, Linux и Mac. Некоторые другие продукты являются включенными в инсталлятор. Использование качественных выпусков (releases) этих продуктов позволит вам установить и использовать их крайне легко. Кроме того, каждый новый выпуск поддерживает перенос путей и обновление существующей версии до новой без остановки работы вашего сайта.

Интернационализация

Весь пользовательский интерфейс Plone переведён более чем на 20 языков, включая корейский, японский, французский, испанский и немецкий. Добавить ваш собственный перевод - это просто (смотрите главу 4).

Использование

Plone использует опыт пользователей, что обеспечивает высокий уровень его полезности и доступности. При разработке не следует ограничиваться вниманием к красоте HTML. Вместо этого загляните в ядро Plone. Plone предоставляет интнрфейс, который является совместимым с промышленными и правительственными стандартами WAI-AAA и U.S. Section 508. Это даёт возможность людям с ограниченными возможностями по зрению использовать сайты, построенные с использованием Plone. Кроме этого, Plone позволяет получить неожиданную выгоду, которая заключается в возможности более хорошего индексирования вашей страницы в поисковых системах, например Google.

Скины

Plone разделяет контент и шаблоны, которые фактически используются при представлении этого контента, часто называемого скином (внешнее оформление). Скины создаются с использованием языка генерации шаблонов Zope Page Templates (ZPT) и большим количеством Каскадный Таблиц Стилей (CSS). С незначительным знанием Plone вы сможете создать множество скинов, сохранить их и в конечном итоге настраивать с их помощью внешний вид вашего сайта.

Регистрация и персонализация

Одно из свойств Plone - это законченная система регистрации пользователей. Регистрация пользователей в Plone происходит с использованием их имени, пароля, а также другой информации, которую вы можете захотеть добавить об этих пользователях. Вы также имеете возможность индивидуально настроить внешний вид пользовательского интерфейса для конкретного пользователя. Кроме того, вы можете использовать информацию, которая уже есть о пользователях, собранную из различных источников, таких как реляционная база данных Lightweight Directory Access Protocol (LDAP), Active Directory и других. Работы по созданию и настройке прав пользователей описаны в главе 8.

Рабочий цикл (workflow) и безопасность

Рабочий цикл контролирует логику прохождения контента через сайт. Вы можете настроить эту логику используя графические инструменты Plone. Администраторы сайта могут делать логику сложной простой, или такой, какая им нравится. Например, вы можете добавить такой инструмент, как рассылка напоминаний почтой или немедленное уведомление пользователей о чём-либо. В Главе 8 рассказывается о рабочих циклах во всех деталях.

Для любой единицы контента на Plone сайте вы можете установить список правил доступа для назначения тех, кто может получить доступ к данной единице информации и как он может взаимодействовать с ней. Хотите ли вы отредактировать установленные правила, просмотреть их или удалить? Всё это настраивается через Web (и спользованием Web интерфейса Plone) (Смотрите главу 9).

Расширяемость

Поскольку Plone является системой с открытыми исходными кодами, он легко может быть изменён. Вы можете менять почти любые аспекты работы Plone для достижения требуемого результата. Бесчисленные пакеты и утилиты для plone обеспечивают широкий набор опций как для маленьких сайтов, так и для больших. Хранилище бесплатных компонентов для расширения Plone доступно по адресу http://www.plone.org. С помощью утилиты для разработчиков Archetypes (описывается в главе 13) вы можете создавать и изменять код Plone быстро и легко через Web или используя инструменты Unified Modeling Language (UML). Глава 10 рассказывает об интеграции Plone с такими программами, как LDAP, Apache, Microsoft Internet Information Services (IIS), Macromedia Dreamweaver и другими.

Настройка контента

Пользователи Plone могут добавлять любой контент, и добавляемые данные не имеют никаких ограничений. Разработчики Plone могут создавать их собственные типы контента, которые также, как и имеющиеся мог быть управляемыми: предел накладывается только вашим воображением. В главах 11 и 12 будет рассказано о создании типов контента. Глава 13 будет введением в Archetypes - очень мощной системы для генерации типов контента, которая не требует знанния программирования: например, вы можете сгенерировать новый тип контента из утилиты UML.

Документация

Проект Plone имеет документацию, включая данную книгу, которая публикуется на правах Creative Commons лицензии. Лучшая отправная точка для ознакомления с документацией сообщества это http://www.plone.org/documentation.

Сообщество

Одна из лучших сторон, касающихся Plone - это сообщество разработчиков и компаний, которые поддерживают и разрабатывают Plone. Более чем 60 разработчиков вовлечены в проект по всему миру, что делает возможным получить необходимую помощь через интернет. Alan Runyan, Alexander Limi, и Vidar Andersen основали Plone, который быстро стал процветающим проектом благодаря привлечённым разработчикам. Сотрудничество этих разработчиков продолжается и сейчас.

Примеры сайтов, использующих Plone

Существует множество сайтов, работающих на платформе Plone. Для одних сайтов это очевидно из-за их внешнего вида, для других нет. Вот лишь небольшая часть этих сайтов:

Для просмотра большего списка сайтов, использующих Plone, посетите страницу http://www.plone.org/about/sites, включая сайты, которые имеют изменённый пользовательский интерфейс. Не зная о том, что сайты используют Plone, достаточно тяжело об этом догадаться.

Перевод: Егор Шершнёв

Книги/TheDefinitiveGuideToPlone/Предисловие к Plone (последним исправлял пользователь slav0nic 2010-05-31 09:21:50)