Смекни!
smekni.com

Основы разработки компонентов для Joomla CMS 1.5 (стр. 6 из 9)

4. Программист / организация, выбирая за основу открытые решения, избавляет себя от необходимости подстраивания под чужой корпоративный «черный ящик». Также из открытого продукта можно позаимствовать новые и / или интересные идеи, что не только не запрещается, а даже приветствуется. Открытые проекты и продукты практически всегда ориентируются на стандарты, а не идут вразрез с ними. Это значительно упрощает процесс доработки продукта, а также гарантирует совместимость с другими продуктами, поддерживающими стандарты.

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

6. Открытый продукт можно «пересобрать» с учетом своих собственных требований и тем самым получить максимальный результат.

Возвращаясь к классификации по «степени открытости» все продукты можно разделить на две группы. В первую группу следует отнести все открытые продукты, во вторую – остальные (к остальным относятся коммерческие и бесплатно распространяемые продукты).

б) классификация по «разработчику системы»

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

Начнем с систем управления первой группы. В мире существует довольно много свободных профессионалов (высококлассных программистов, дизайнеров и т.д.), ценящих свой труд и свободу. Они никогда не соглашаются на роль эксплуатируемого звена, они предпочитают самостоятельно находить заказы и работать без посредников (а для больших проектов даже собирать целые команды) и, как результат, получать за свой труд достойное вознаграждение. В своем большинстве это идейные лидеры, которые не желают мириться с текущим положением вещей. Так или иначе, но в своей практике им приходится применять различные «решения» (готовые идеи и продукты). Со временем они понимают, что существующие решения обладают рядом недостатков (ограниченная функциональность, закрытость и т.д.) либо малопригодны в среде новых технологий, и тогда они берут на себя смелость создать нечто новое и более доступное. Так появляется новая идея. После воплощения задуманного, на свет появляется и «решение», пока еще, возможно и сырое, но уже перспективное. Далее автор принимает решение сделать все наработки общедоступными – так открывается новый проект. Это приводит к тому, что в скором времени, у проекта, появляются и свои последователи – образуется сообщество. Именно благодаря сообществу и его мощной поддержке в дальнейшем, все последующие «решения» будут эволюционировать (идея при этом останется неизменной). Как итог: уже через несколько лет полностью готовое и стабильное «решение» начнет вытеснять коммерческие продукты, а новый проект превратится в достояние сообщества.

Ко второй группе были отнесены коммерческие системы. Системы такого класса разрабатываются преимущественно веб-студиями и крупными интеграторами.

Следует также заметить, что веб студии бывают различных типов – на роль веб-студий могут претендовать как команды из 2–3 человек, так и вполне серьезные организации. Причем, в первом случае, такая веб-студия может представлять собой самый примитивный «сайто-строительный» полигон и не более того. Теперь вернемся к коммерческим CMS. Многие из ныне существующих коммерческих систем, т.е. систем второго потока, «зародились» в периоде между 1999 г. и 2003 г. – именно тогда начали стремительно появляться все популярные на данный момент веб-студии, которые в первые годы своего существования и стали создавать собственные системы управления. Схема разработки и поддержки систем управления контентом представлена на рисунке 1.5.


Рисунок 1.5 – Различия в поддержке между открытыми и закрытыми системами управления контентом

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

1.7. Система управления содержимым Joomla CMS

Joomla (произносится джу́мла) — система управления содержимым, написанная на языке PHP, использующая в качестве хранилища базу данных MySQL. Является свободным программным обеспечением, распространяемым под лицензией GNU GPL. Название «Joomla» фонетически идентично слову «Jumla», которое в переводе с языка суахили означает «все вместе» или «единое целое», что отражает подход разработчиков и сообщества к развитию системы.

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

Joomla CMS позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов, которые устанавливаются штатными средствами администрирования. Доступны пакеты русского, украинского и ещё некоторых языков стран СНГ.

1.7.1. История возникновения Joomla CMS

Система управления содержимым Joomla! является ответвлением широко известной CMS Mambo. Команда независимых разработчиков отделилась от проекта Mambo по причине несогласия в экономической политике. 16 сентября 2005 года в свет вышла первая версия Joomla, являющаяся по сути переименованной Mambo 4.5.2.3 и включающая в себя исправления найденных на тот момент ошибок и уязвимостей.

В настоящее время актуальна версия 1.5. В разработке находится версия 1.6. Версия 1.0 на сегодняшний день считается устаревшей, её официальная поддержка прекращена 1 июля 2009 года.

К лету 2009 года по числу ежедневных скачиваний Joomla обогнала Wordpress и заняла первое место со значительным отрывом от других подобных систем.

В 2006 году Joomla заняла первое место в категории BestLinux/OpenSourceProject на выставке UKLinuxWorld 2006.

Так же стоит отметить награды Joomla в популярном издании Packt Publishing:

2006 г. - признана лучшей бесплатной системой управления сайтами;

2007 г. - признана лучшей бесплатной CMS основанной на PHP;

2008 г. - разделила 2-е место с CMS Made Simple в номинации лучшая бесплатная CMS основанная на PHP.

1.7.2. Базовые (стандартные) возможности

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

· Возможность создавать неограниченное количество страниц

· Четкая организация структуры сайта

· Для каждой динамической страницы можно создать свое описание и ключевые слова в целях повышения рейтинга в поисковых системах

· Начало и окончание публикации любых материалов можно запрограммировать по календарю

· Возможность ограничить доступ к определенным разделам сайта только для зарегистрированных пользователей

· Секции новостей, продукции или услуг легко редактируемы и управляемы

· Полностью настраиваемые схемы расположения элементов по 5 областям, что позволяет сделать оригинальный дизайн

· Опросы и голосования для эффективной обратной связи

· Различные компоненты - такие как последние новости, счетчик посещений, подробная статистика посещений, гостевая книга, форум и т.д.

· Возможность создания не одной, а нескольких форм обратной связи для каждого контакта.

· Генератор показа случайной новости.

· Компонент приёма от удалённых авторов новостей, статей и ссылок.

· Иерархия объектов - количество секций, разделов, подразделов и страниц, зависит от вашего желания.

· Менеджер рассылки новостей.

· Менеджер архива для старых материалов сайта

· Возможность распечатать или отправить другу на e-mail любую статью с сайта.

· Выбор из 3 визуальных редакторов, что упрощает редактирование материалов до уровня редактирования текста в программе Word.

· Предварительный просмотр перед окончательным размещением.

· Возможность легкой смены дизайна.

· Экономное использование места на сервере за счет использование базы данных MYSQL.

· Возможность использования адресов страниц адаптированных для лучшей индексации всеми поисковыми системами.

1.7.3. Технические требования

Минимальные технические требования Joomla CMS к хостингу:

· Apache-вepcии 1.13 (или выше, желательно 2.x);

· РНР-версии 4.3.1 (или выше, желательно 5.x);

· MySQL-версии 3.23 (или выше, желательно 5.x).

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

1.7.4. Интерфейс прикладного программирования Joomla

Интерфейс прикладного программирования (англ. Application Programming Interface, API) — набор готовых классов, функций, структур и констант, предоставляемых системой для использования во внешних программных продуктах.