Joomla – идеальная платформа для Вашего сайта. Платформа джумла


Создание сайта на платформе Joomla

Joomla (Джумла) – система управления контентом (CMS), которая является одной из самых простых по использованию и функциональности, а также не требует от пользователя знаний основ веб-программирования.

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

 

Основные возможности платформы Joomla:

 

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

 

2. Управление содержанием проекта через встроенный визуальный текстовой редактор, аналогичный MS Word.

 

3. Создание многоуровневого навигационного меню веб-сайта.

 

4. Использование (бесплатных и платных) готовых шаблонов оформления, при чем, в любой момент разработки проекта можно подключить другой шаблон, тем самым полностью изменить дизайн сайта без изменения уже размещенного контента.

 

5. Полностью настраиваемая структура сайта по расположению блоков, модулей и элементов.

 

6. Создание на веб-сайте неограниченного количества страниц.

 

7. Присвоение веб-страницам проекта читаемых и понятных URL-адресов (например, http://www.avacym.ru/sozdanie-saita-na-platforme-joomla/).

 

8. Наличие возможности работы с текстами в HTML-коде.

 

9. Управление мета-тегами.

 

10. Разработка независимых версий сайта на различных языках.

 

11. Создание сайтов с использованием расширений сторонних разработчиков.

 

12. Установка ограничений доступа незарегистрированных посетителей к определенным страничкам и разделам ресурса.

 

13. Регистрация на веб-сайте посетителей и возможность публикации ими комментариев.

 

14. Использование менеджера рассылки новостей.

 

15. Работа движка Joomla под Linux, FreeBSD, MacOSx, Solaris, AIX, SCO, Windows.

 

16. Предусмотрена встроенная защита веб-сайта от спама и различных интернет-роботов (ботов).

 

Системные требования платформы Joomla

 

Хостинг-сервер для размещения CMS должен отвечать следующим требованиям:

1. Поддерживать язык программирования PHP (версии 4.3 и выше).

2. Поддерживать систему управления базами данных MySQL (версии 4.0 и выше).

3. Иметь предустановленный модуль Apache для преобразования URL-адресов (версии 1.14 и выше).

4. Язык программирования PHP должен поддерживать работу с MySQL, XML и Zlib.

 

Для управления движком Joomla у пользователя на компьютере должен быть установлен один из интернет-браузеров: Opera, Firefox и Internet Explorer.

 

Установка системы управления контентом Joomla

 

Первоначально необходимо скачать дистрибутив последней версии Joomla с одного из официальных ресурсов (например, joomla.ru).

 

Установка Joomla на локальный сервер (Localhost)

 

В данном случае папку из разархивированного дистрибутива CMS необходимо перенести в корневой каталог локального сервера. Если используется Apache-сервер, то обычно это - c:\apache\groupapache\htdocs. Если же установлен сервер XAMPP, то папка переносится в каталог => www.

Еще один из вариантов, в папке => home (по умолчанию она находится по адресу - c:\webservers\home) создаем папку с названием сайта (например, WebStudio-Alex.Ru). В ней создаем подпапку с именем => www, и переносим туда папки и файлы дистрибутива Joomla.

 

Установка Joomla на удаленный сервер

 

Перед установкой платформы Joomla на удаленный сервер, необходимо уточнить, какие права доступа к серверу вам будут предоставлены и на какие технические характеристики вы можете рассчитывать.

Процедура установки CMS в этом случае следующая:

1. Распаковка дистрибутива CMS в любой каталог на персональном компьютере.

2. Перенос папки с файлами CMS на удаленный сервер, с размещением их в корневом каталоге.

3. Непосредственный запуск установки Joomla.

 

Установка платформы Joomla

 

Запускаем => Start Denwer, открываем любой интернет-браузер и в адресной строке прописываем: http://127.0.0.1/denwer/

На открывшейся странице находим строку => «phpMyAdmin - администрирование СУБД» и нажимаем на нее. Должна развернуться страница, с которой через левую верхнюю вкладку переходим по адресу => База данных.

В нужной строке латинскими буквами указываем название своего веб-сайта (например, avacym) и нажимаем => Создать (на данном этапе создана база данных, необходимая для работы web-сайта).

В новом окне интернет-браузера повторно вводим название веб-сайта (в нашем случае, http://avacym.ru), после чего появится окно выбора языка, выбираем - русский (или любой другой).

Затем просматриваем лицензию и идем дальше.

На странице => Основные установки, заполняем поля => Название хоста, Имя и пароль пользователя, Имя базы данных (введенные данные следует сохранить – они понадобятся вам для дальнейшего получения доступа к веб-сайту).

Настройку FTP-сервера пропускаем, так как он у нас отсутствует.

Затем в соответствующие строки вводим => Название сайта, E-mail, Пароль администратора (сохраняем указанные данные - они так же будут впоследствии необходимы) и нажимаем => Далее.

Удаляем папку => installation (она больше не нужна).

Все, проект сайта создан!

Для управления созданным сайтом необходимо проследовать по ссылке => http://avacym.ru/administrator (потребуются логин и пароль, указанные вами в ходе установки).

 

Установка шаблона оформления на Joomla

 

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

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

В панели управления через вкладку => Расширения – Установить/Удалить или => Шаблоны - Загрузить файл и Установить, указываем путь к папке (или архивному файлу) и устанавливаем дополнительные элементы.

 

Настройка платформы Joomla

 

Подключение шаблонов и модулей к сайту

 

Подключение и настройка компонентов системы управления контентом Joomla – это один из важных этапов работы.

Через административную панель осуществляем вход на веб-сайт.

Для активации плагинов и модулей переходим по адресу => Расширения – Менеджер плагинов/модулей (необходимо, чтобы рядом с этим пунктом была установлена галочка).

Затем следует задействовать ранее установленный шаблон оформления для сайта.

Переходим в раздел => Расширения – Менеджер шаблонов и выбираем имеющийся (в нашем случае «Avacym») и устанавливаем его по умолчанию.

Что касается модулей, то на различных ресурсах в интернете их можно найти много, например:

JV_G-Weather_module – модуль, позволяющий отображать прогноз погоды от поисковика Google (в настройках можно выбрать конкретный регион).

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

Практически любой модуль свободно редактируется через раздел => Расширения – Менеджер модулей.

 

Настройка сайта созданного на платформе Joomla

 

Рекомендуется первоначально «полазить» по глобальным настройкам сайта и установить требуемые параметры, так как потом что-либо поменять будет сложно. Находятся они в разделе => Сайт – Глобальная конфигурация и включают три подраздела: Сайт, Система и Сервер.

 

В подразделе «Сайт» указываются данные для веб-сайта: «название», «мета описание» и «ключевые слова».

 

В правой части располагаются настройки SEO.

Если поставить галочку в пунктах:

Включить SEO – появиться возможность указывать URL-адреса веб-страниц в читаемом и удобном виде (например, metodi-prodvijenia-saita или методы продвижения сайта).

Добавить суффикс к URL – будет происходить добавление расширения *.html к URL-адресу страницы (например, было «metodi-prodvijenia-saita», станет - «metodi-prodvijenia-saita.html»).

 

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

 

Начало работы с Joomla

 

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

Открываем => Раздел => Категория => Статья

В подразделе => «Содержание» находятся менеджеры для редактирования каждой составляющей структуры проекта.

 

Рекомендуется начать с создания разделов. Для этого переходим во вкладку => «Содержание – Менеджер разделов» и в правом верхнем углу выбираем позицию => «Новый».

Заполняем поля «Название» (указываем название раздела на русском языке) и «Псевдоним» (указываем название этого раздела на латинице, применяя метод транслитерации).

Для автоматической транслитерации словосочетаний есть удобный онлайн-сервис - Translit.ru (достаточно ввести текст на русском языке и мгновенно получить его в виде набора латинских букв).

Проверяем, отмечена ли позиция «Публикация» (должна быть галочка в строке «да») и нажимаем кнопку => «Сохранить» (в правом верхнем углу).

 

Затем переходим в подраздел => «Содержание – Менеджер категорий». По аналогии с вышеописанным принципом, создаем категории.

 

Далее следуем в подраздел => «Содержание – Менеджер статей». Размещая новые статьи на веб-сайте отслеживайте, чтобы они правильно соотносились с разделами и категориями. После их публикации проверяйте их отображение на веб-страницах.

 

Кроме того потребуется настроить внешний вид главной страницы и задать параметры отображения контента.

Для этого открываем раздел => «Меню – Главное меню» и в позиции => «Home» (домой) выбираем тип меню (вариантов достаточно).

Позиция => «Дополнительные параметры» в правой части окна позволяет редактировать размещаемый на страницах контент.

 

Основные преимущества платформы Joomla:

 

1. Базовая версия CMS является бесплатной. Это позволяет ей найти своих пользователей среди небольших компаний, индивидуальных частных предпринимателей, начинающих веб-мастеров и блогеров.

 

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

 

3. Простота использования. Интерфейс панели администратора не требует от пользователя глубоких знаний в веб-программировании.

 

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

 

5. Универсальность. Движок Joomla может быть использован для создания сайтов практически любого типа (от сайта-визитки до интернет-магазина).

 

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

 

7. Разнообразие дополнений. В сети можно найти самые разные плагины для совершенствования своего интернет-проекта.

 

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

 

Основные недостатки платформы Joomla:

 

1. Слабая защита от взлома. Как и большинство бесплатных CMS, движок Джумла специалистом взламывается за 10-15 минут, и посторонний пользователь получает доступ к вашему веб-сайту.

Приведу пример из своей практики. На одном из ресурсов я обратил внимание на следующее рекламное предложение - «Продвижение сайта статьями. Размещение вашей статьи с 2-3 обратными ссылками на 100 сайтах, стоимость 250 руб.». Я заказал услугу, оплатил и через день получил отчет. Проверка отчета показала, что моя статья «Методы увеличения показателей ТиЦ и PR сайта» размещена на 70 ресурсах, большая часть из которых создана на движке Joomla. В список этих сайтов попал даже старый вариант личного веб-сайта Сергея Безрукова. Таким образом, моя статья была опубликована на ресурсах (часть из них были зарубежные), без ведома их администраторов и владельцев, на вновь созданных страницах.

 

2. Избыточный код и медленная загрузка веб-страниц. Часть программного кода CMS вызывает затруднения в работе созданного ресурса. Страницы web-сайта загружаются значительно медленнее, чем у других платных систем управления контентом. А при установке большого количества плагинов ситуация еще более усугубляется.

 

3. Медлительность и большая нагрузка на сервер.

 

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

 

5. Медленная индексация сайта поисковыми системами. Обусловлено это изначально сложной структурой создаваемых проектов (имеет место непродуманная иерархией расположения внутренних блоков и элементов).

 

6. Отсутствие технической поддержки со стороны разработчиков платформы. Имеется только набор всевозможных инструкций и учебник по работе с CMS. Сложные вопросы решаются через различные форумы, но на это нужно время.

 

7. Сложность освоения. Надо признать, что универсальность и функциональность движка Joomla требуют от пользователя определенных усилий при его освоении.

 

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

Мой совет - переходите на платную систему управления сайтом или воспользуйтесь серьезным конструктором сайтов (например, Jimdo - один из лучших конструкторов, но дорогой по стоимости).

www.avacym.ru

Joomla – идеальная платформа для Вашего сайта

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

Набор шаблонов и расширений Joomla позволяет создавать проекты любого уровня сложности. Это может быть как сайт визитка, так и социальная сеть или высокопосещаемый интернет магазин. Не надо быть специалистом с огромным опытом программирования, достаточно быть целеустремленным новичком, чтобы начать заниматься в отрасли веб - строительства. Какие же возможности предоставляет CMS Joomla пользователю? •    Легкое добавление новой информации с помощью штатных средств графического редактора, без применения сторонних инструментов. •    В любой момент с легкостью можно перейти на другой шаблон, их в CMS Joomla немерено, как платных, так и бесплатных. Таким образом, Вы можете легко изменить дизайн без мучительного переноса данных, так как шаблоны независимы от данных. •    Сейчас очень важным для сайтов есть ведение блогов и форумов. Инструментарий CMS Joomla даст Вам возможность без всяких проблем использовать это. •    Также разрешено добавление информации пользователями сайта, что с легкостью определяется политикой для пользователей. •    По умолчанию в CMS Joomla предусмотрена защита от спама и различных интернет ботов. •    Постоянное усовершенствование разработчиками безопасности системы, благодаря постоянному анализу возможных атак и проблем. •    Предоставление возможностей заведения огромного количества пользователей системы, с возможностью комментирования. •    Поддержка огромного количества расширений сторонних разработчиков, что делает функционал особенно гибким. •    Также Вы с легкостью можете сами делать расширения для CMS Joomla, за что можете еще и заработать. Это лишь малая доля тех положительных сторон, которые может дать Вам CMS Joomla. Исторически сложилось так, что CMS Joomla – это система, которая разрабатывалась множеством программистов мира на протяжении долгого времени. Постоянная работа над усовершенствованием системы дает ей возможность всегда актуально реагировать на появление всех новых технологий и оставаться востребованной. Если отследить историю, то фактически каждый день CMS Joomla дает пользователю новые возможности, который воплощены в новые шаблоны, расширения и модули. Фактически нет решений, которые невозможно решить с помощью CMS Joomla. Кроме всего этого платформа совершенно бесплатна, что делает ее очень актуальной для разработчиков, а особенно небольших организаций, которые не способны выбрасывать большие деньги на уникальный контент очень известной фирмы. А если это обычный программист, то уверено можно сказать, лучше он не сделает. Все-таки над CMS Joomla работает много людей. Система является мультиязычной, что позволит с легкостью справляться с ней, поэтому русскоязычным не следует беспокоиться о возможных проблемах, все решено до Вас. А русский интерфейс – это вообще подарок, который не оставит равнодушным никого. Сейчас Вы можете использовать следующие версии CMS Joomla: Joomla 1.5 – стабильная версия, которая полностью позволила избавиться от версии 1.0; Joomla 1.7 – еще одна удачная версия, которая расширила функционал за счет применения новых возможностей; в будущем планируется запуск Joomla 2.5 – она должна включить все плюсы ранних версий и стать стабильной заменой предыдущих версий. Поверьте, используя CMS Joomla, Вам не понадобится долгое время тратить на написание своего движка, а с легкостью начать работать. Хотите программировать, CMS Joomla Вам не мешает, пишите новые модули и шаблоны и это будет хорошо оценено не только на словах, но и в денежном эквиваленте.

← Настройка тизерной рекламы Назначение RSS-ленты. Плюсы и минусы использования →
 

web-creator.org

Особенности функционала платформы Joomla | AllForJoomla apps

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

Особенности пользовательского управления

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

Менеджеры файлов и языков

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

Управление контактами и баннерами

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

Навигация на сайте

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

Работа с контентом

Платформа использует трехуровневую систему статей. Это позволяет администраторам контролировать содержимое ресурса. Контент может быть организован любым удобным способом, его можно в любой момент изменить или дополнить. Создать собственную статью будет достаточно просто со встроенным редактором WYSIWYG и другими модулями. За несколько минут простой текстовый документ может преобразиться в привлекательный контент.

Особенности управления меню

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

allforjoomla.ru

Платформа Joomla

Платформа Joomla

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

Проще говоря, она может быть определена, как содержание папки / libraries / в Joomla. Теперь, это называется платформа. Если вы конечный пользователь Joomla, вы, вероятно, не очень заботитесь обо всем этом, пока все работает? Тем не менее, я считаю, вы должны знать, почему платформа является частью того, что обеспечивает стабильное будущее проекта Joomla и вы должны иметь представление о платформе и её возможностях.

На странице GitHub, посвященной платформе Joomla, проект описан следующим образом:

"Платформа Joomla представляет собой платформу для написания веб и PHP приложений. Она также бесплатна и с открытым исходным кодом, распространяется под лицензией GNU General Public License версии 2 или более поздней. CMS Joomla построена на основе платформы Joomla."

Почему произошло отделение платформы от CMS?

Основной причиной этого является возможность создавать больше, чем с CMS Joomla. CMS является только одним приложением для framework’а Joomla. Сегодня же платформа может быть использована для больших целей, к примеру, для создания автономных веб-приложений.

На дне Joomla в Чикаго в июле 2011 года, Луис Лэндри дал хороший обзор платформе Joomla, рассказал, как она росла, и где люди могут протянуть руку помощи для развития инновационной деятельности.

Отвечая на вопрос: "что может быть построено с помощью платформы?", он сказал, что все, что вы могли бы себе представить, можно реализовать с помощью платформы.

В недавнем сообщении в блоге, президент OSM Ozimek, написал так:

"Я считаю, что платформа Joomla имеет перспективу быть одной из наиболее динамично развивающихся платформ из разработок 2012 года, что позволит более 200.000 разработчикам Joomla по всему миру разорвать узы CMS и нырнуть с головой в мир разработки более глобальных, мобильных и социальных приложений."

Таким образом, это фактически шаг к созданию веб-приложений вне CMS, на основе framework Joomla. 

Какие приложения можно создавать?

Как уже упоминалось, приложения любого типа могут быть созданы на платформе Joomla.

Возможно, вы слышали о framework называемом Ruby On Rails. Это Ruby framework, который использует сборки 37Signals Basecamp, Highrise и другие. Он также используется, для создания приложений, таких как Twitter и Zendesk.

Теперь нет никаких препятствий для построения подобных приложений на платформе Joomla!

vjoomla.ru

Joomla! 4 и выше: архитектура и дизайн

 

joomladay

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

Доступность

Я говорил, что Joomla! требуется улучшение доступности. По всей видимости, это необходимо для Joomla! в государственном секторе многих стран. Это не моя область, поэтому я думаю, что для этого необходимы предложения от экспертов в данной сфере.

Современный CSS фреймверк

Joomla! 3 на годы застряла на Bootstrap 2. Но что еще хуже, это даже не Bootstrap 2, это собственная неудачная его версия. Может быть, это имело смысл в 2011 году, но в 2015 это все-равно, что пытаться использовать для общения сигнальные огни, когда все остальные используют текстовые сообщения. Нам нужен современный, актуальный CSS фреймворк.

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

По второму мнению – обзавестить парой для Joomla! было очень эффективно. Bootstrap - это замечательный фреймверк, и мы должны его придерживаться. Однако немаловажно всегда использовать последнюю версию, выпущенную не позднее 6 месяцев, чтобы соответствовать циклу разработки Joomla!. Мы НЕ должны бояться нарушить обратную совместимость при обновлении до последней версии Bootstrap. Я знаю, что был против этого четыре года назад, но я увидел, что сейчас мы глубоко застряли в нашем устаревшем CSS фреймверке.

JLayout - залог успеха

JLayout это отличный способ отделить некоторые из сложностей использования различных CSS фреймворков. Но нужно помнить, что это касается только статичного контента, а не JavaScript взаимодействий, которые требуют знание:

А) использования DOM-модели фреймверка

Б) доступности вспомогательных функций JavaScript

По сути, JLayout это HTML уровень абстракции (abstraction layer).

Что если бы мы могли использовать JLayout, чтобы подгружать код JavaScript абстракции? Я знаю, что некоторые JLayout шаблоны уже практически могут загружать свои скрипты, но только для решения задач ядра Joomla!. Если я - сторонний разработчик, который хочет динамически отображать кнопки или изменять цвет ярлыка на лету, хоть и на JavaScript, то мой единственный вариант сейчас - создать AJAX-вызовы, которые создадут новую HTML-страницу и заменят содержимое той страницы, которую пользователь просматривает в данный момент. Это неправильно и нецелесообразно по многим причинам!

Давайте развивать общую библиотеку JavaScript, проксирующую Bootstrap. Если разработчики решат использовать CSS фреймворк XYZ - они обязаны предоставить переопределение для этой общей библиотеки JavaScript. Это позволит сторонним разработчикам поддерживать разные шаблоны без ужасной грубой подгрузки Bootstrap с пространством имен (да, я сам занимался этим кошмаром...) или без изобретения своих собственных CSS-фреймворков, которые не выглядят "правильно" в сторонних шаблонах.

 

Смена вида шаблонов

Одним из новшеств на Joomla! 1.5 (вернемся назад в '06 год), было внедрение вида шаблонов, который отделил код, который создает материалы от кода, который их отображает. Это было здорово, но...  это было здорово девять лет назад. Вы давно смотрели на наши шаблоны? В них очень много PHP-кода. Фронт-энд разработчик должен иметь гораздо больше, чем поверхностное представление о PHP для стилизации.

Между тем в PHP-мире появился Laravel. И в нем ну совсем просто понять его Blade-шаблоны. И он сделал прорыв! Он невероятно мощный и, ко всему прочему, легкий для интерфейсного разработчика, ведь чтобы понять и настроить РНР, не надо вдаваться в конкретику. И да, Larevel может быть портирован на Joomla!, я это уже делал.

Синтаксис Blade позволяет нам упростить жизнь разработчиков еще больше, добавив поддержку для конструкций типа @jlayout('com_example.foo.bar', $this->items, $somethingElse). Сравните это с типичным JLayout вызовом кода ядра и вы увидите, куда это идет. Как говорил Дарт Сидиус: ВЛАСТЬ! АБСОЛЮТНАЯ ВЛАСТЬ!

 

PHP 5.4 и выше

PHP 5.3 мертв с августа 2014. PHP 5.4 будет мертв в августе 2015 года, но, по крайней мере, мы знаем, что все общие хосты поддерживают его – за исключением тех, которые не должны быть подключены к Интернету! – по крайней мере в качестве опции.

PHP 5.4 позволяет нам писать код компактнее и с меньшим дублированием, используя трейты. Это и есть практическая причина, стоящая за этим предложением. Мы могли бы избавиться от 15% наших ключевых компонентов кода и уменьшить количество ошибок, с которыми приходится иметь дело. Убиваем двух зайцев одним выстрелом.

Только MySQL (и совместимые варианты)

Я знаю, что это не устроит тех 10 человек, которые используют Joomla! с Microsoft SQL Server и PostgreSQL. Существует несколько практических причин для этого, а именно:

Так что давайте прекратим поддержку дополнительных типов баз данных. Мы можем оставить для них драйверы в ядре (для Joomla! Framework?) для использования сторонними разработчиками и корпоративными пользователями. Ядро будет поддерживать работу только под управлением MySQL.

Что же касается самой MySQL, с тех пор как мы еще не можем повысить минимальное требование до MySQL 5.6, нам пока придется иметь кучу проблем с тем, что основными таблицами нужна поддержка полнотекстового поиска, привязанная к MyISAM (и отрубить голову каждому, кто предполагает преобразование их к InnoDB).

Избавиться от UCM 

UCM всегда был готовым только наполовину, и навсегда таким останется, так что давайте просто избавимся от него. Он не требуется для тегов и содержимого версий. Нам просто нужны таблицы с назначением тегов  и контента, а также одно дополнительное поле, обозначающее тип контента. Затем мы можем использовать что-то вроде используемых в Laravel отношений "morphable" , чтобы все это работало. Если вы почитаете Laravel документацию, то в любом случае, вы увидите, в конце концов, что использовать кейс morphable отношений – это отличный вариант.

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

Удалить большое количество расширений кода

Но согласно существующего плана. Сейчас мы проигрываем как минимум в одной вещи, а именно в рекламе для наших пользователей расширений, поддерживаемых ядром. Я думаю, что страница «Установить из Сети» («Install from Web») должна иметь две зоны: поддерживаемые ядром расширения и список наиболее популярных JED категорий. Это позволяет нам сказать пользователям, куда пойти, чтобы быстро добавить функции, которые они не нашли в ядре. Этот подход прекрасно работает для WordPress: страница «Добавить плагин» - это, по сути, автоматически сформированный список или список спонсируемых плагинов.

Пространства имен везде

Так как это основная версия, я верю, что мы можем окончательно разорвать обратную совместимость и создать полноценный код пространства имен. Это также позволит упростить наш код, так как это будет наконец-то возможность отделить фронтенд MVC класс от бэкненд MVC класса. Ранее это было просто не возможно, так как они оба носили одинаковое имя.

Кроме того мы можем полностью покончить с JLoader. Вместо этого, можно использовать PSR-4 от Joomla Composer -  автозагрузчик, который уже идет вместе с Joomla!. Это позволит избавиться от ошибок кодах сторонних разработчиков, вызванных перемещением классов ядра из libraries/joomla в libraries/cms, либо классов, не следующих текущей схеме автозагрузчика. 

Обратная Совместимость слоя, по крайней мере, для 4.х

Новая версия CMS бесполезна без расширений сторонних разработчиков. Это наша работа, как разработчиков, облегчить переход из кода, написанного для Joomla! 3 на Joomla! 4. Это может быть реализовано путем создания слоя совместимости, который добавляется к классам алиасов и бэкпортов устаревшего кода для наиболее часто используемых базовых интерфейсов API. Это позволит разработчикам продолжить свой путь в направлении совместимости Joomla! 4 без страха, что им придется все начинать с нуля.

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

 

Улучшенная интеграция Composer

Необходимо переместить composer.json и composer.lock в папку libraries, а не в libraries/vendor. Это позволит добавлять требования без существенного вмешательства в ядро.

Это также позволит сторонним разработчикам добавлять требования для установки в Joomla Composer во время установки / обновления расширений. Нам нужно увидеть, что это возможно на общих узлах без CLI доступа  – как пример стоит посмотреть это Drupal 8 обсуждение. Это требует привязки к общему рефакторингу com_installer. Однако изучение осуществимости задачи должно сосредоточиться на вопросе, возможно ли реализовать обнаружение зависимостей, загрузку и установку индивидуальных зависимостей в отдельные шаги, каждый из которых может быть завершен в каждой отдельной загрузке страницы

И наконец, стоит удалить все "придуманные здесь" библиотеки ядра в пользу зависимостей Composer-а (особенно это касается таких вещей, как JImage, JGithub и т. д.).

DI-контейнер

Ох, это - моя любимая мозоль. На настоящий момент у нас есть этот волшебный огромный черный ящик именнуемый JFactory. Нам стоит избавиться от JFactory, заменить его на DI-контейнер - (что-то вроде Pimple?) который затем поступает на объект приложения. Используя нечто вроде «Joomla\Application::getInstance()->getContainer()->user.», вы сможете получить и извлечь все что вам угодно.

Я также считаю, что я пошел несколько дальше. Так, на мой взгляд, каждый тип расширения должен получить свой собственный тип контейнера, который дает доступ к основному  DI-контейнеру и локальным зависимостям, которые имеют значение для конкретного типа компонента. Вы должны иметь возможность создать контейнер расширения из любого места, например, «Joomla\Container\Component::getInstance('com_something')». Это здорово подойдет для безболезненного HMVC. Были здесь, сделали это – в FOF 3.

 

Пересмотр MVC

Я знаю, что в Joomla! Framework существует "новый MVC", который я называю "не MVC", потому что это так и есть. Я не согласен с подходом его массового распространения для программного обеспечения, такого как Joomla! и ее расширений. Я понимаю, почему он может вам понадобиться для децентрализованных приложений. Я предлагаю оставить его в ядре и использовать для таких нужд, но не использовать его как парадигму развития Joomla! по умолчанию. Помните, что кто целевая аудитория? Вот именно.

Вместо этого, я предлагаю двигаться в направлении Laravel, но без использования фасадов – ведь это главная причина, почему некоторые серьезные PHP разработчики ненавидят Laravel. Давайте покончим с разделением Модель - Таблица. Это реально хорошая идея, создать Модель для не «data-aware» материалов и Модель Данных для «data-aware». используя словарь и набор функций, аналогичных для Модели Laravel + Eloquent. Я уже закончил свою работу в FOF 3 и сделал свой девелопмент проще. Меньше кода, быстрое выполнение, меньше ошибок и легче их исправлять, что реально очень здорово и выгодно.

Также, как я уже сказал выше, нужно поддержку языка Blade шаблонов в наши View. Меня очень соблазняет мысль, что можно будет позволять нашим View быть определенными XML формами, которые поддаются функциям RAD, таких как scaffolding– но если Вы не готовы чтобы RAD составлял основу ядра по умолчанию то это, по сути, нецелесообразно.

Ну, ладно, без разницы. Давайте просто внесем FOF 3 в ядро. Я уже знаю, каким будет самый большой недостаток для меня. Однако наличие RAD фреймверка в ядре это пойдет на пользу всем остальным. Сейчас мы разработчики страдают по Laravel, ZF и т. д. потому что так проще разрабатывать, хотя вам придется делать все с нуля. Если мы удалим чувство - "кодирование для Joomla! это ужас" - мы сможем вернуть огромную аудиторию. Эта аудитория может косвенно или напрямую повлиять на выбор платформы для новых сайтов крупного бизнеса, а ведь именно так мы планируем увеличить нашу долю рынка.

 

JSON API, в сущности, не код

Если бы мы могли разрешить доступ к данным CMS (и управлению данными), хотя бы как в JSON API, мы бы создали возможности продвинутого использования данной CMS. Например, используя Angular.js для отображения страниц, удаленного управления контентом, соединения с системой, простоты разработки мобильных приложений и др.

Фундамент для легкого JSON view с поддержкой HAL уже реализован в FOF. Неважно, станет он частью ядра или нет, поддержка HAL является тем, что мы должны добавить. Я знаю, что у нас уже есть com_ajax, но это полезно только для создания AJAX (как будто это снова 2008 год). HAL позволяет использующим API искать и использовать контент легче, без необходимости точно знать внутреннее устройство сервера.

Модернизация схемы установки и обновления

В этот момент каждое ядро базы данных изменение требует редактирования двух файлов - один для обновления в компоненте com_admin, и один для установки в приложении установки. Это может привести к ошибкам. Это проблема уже решена в FOF FOF30\Database\Installer с помощью XML-файлов, которые позволяют создавать код установщика и/или автоматически обновить схему. Это также упростило функцию исправления базы данных: Вы можете использовать тот же код, что установщик схемы/обновления.

Поскольку это уже обсуждалось в вопросах включения в Joomla! 3 я думаю, что это уже решено?

 

Улучшение установщика расширений

В прошлом году я написал официальный документ об этом. Мы можем и должны добавить поддержку подписи сборки. Некоторые пункты и характеристики работы уже сделаны David Jardin. Я уверен, что где-то существует и пересмотренный вариант, но я не могу его найти.

Я знаю, вы думаете, я закончу с этой большой темой всего в 30 слов. Но, эти два документа примерно в два раза больше, чем вся эта статья :)

 

Отделение меню от роутинга

Нынешняя система меню определяет пути роутинга и приводит к дублированию Контента, а также к некоторым проблемам, которые просто невозможно решить. Так, если конечный узел (например, материал) может быть открыт через два или более меню, то нет никакого способа, чтобы знать наверняка, какой URL-адрес следует использовать, если Вы к тому же не знаете, какой идентификатор элемента (Itemid) следует использовать. И если нет Itemid, то существуют шансы "неправильного" выбора, ведущего к подгрузке "неправильных" модулей.

Исправление этого МОЖЕТ вызвать некоторые проблемы с нашей системой модулей. Если каждый конечный узел имеет канонический URL, который вы может в конечном итоге опять получить отображение "неправильных" модулей в некоторых ситуациях. Например, если у меня есть пункт меню для всей категории и еще один пункт меню для одной из его статей (с разными назначением модулей), то, нажав на эту странную статью, мы увидим совершенно другой макет страницы, отличный от других статей из категории. Это не всегда плохо, но это не меняет ожидания пользователей по сравнению с Joomla! 3 и более ранних.

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

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

 

Тестирование и QA

Обновить PHPCS правила до PHPCS 2 формата. Это позволит участникам автоматически исправить стиль их кода (ужас нашего существования для больших сумм).

Модульный и функциональный тесты, в первую очередь, должны быть написаны для наших общих случаев использования. Краткосрочная цель - это не 80+% тестового покрытия, это убеждение в том, что регрессии не произошло.

 

Joomla! Framework

Я думаю, что теперь мы все можем признать, что попытка создать общий PHP фрэймверк, чтобы конкурировать с подобными Symfony, Zend Frameworkи т. д. - пустая трата ценных ресурсов. Так что же мы должны сделать с Joomla! Framework?

Первая идея, чтобы полностью направить его к ядру CMS, больше похожая на то, какой была Joomla! Платформа до того, как мы называли ее Joomla! Платформой. Я думаю, что это неправильный подход, потому что он связывает развитие CMS с развитием фрэймверка. Это не всегда хорошая идея. Фрэймверк – это, в основном, R&D. Вы просто не поставите R&D под разработку.

Лучший способ подход - несколько разделенный проект. Цель JF - обеспечить стабильную платформу для Joomla! (CMS), которая будет построена на нем. Это требует серьезных сдвигов в разработке JF, поскольку он должен иметь в виду и учитывать сложность массового распределенного кода. Например, пакет Uri просто не может проигнорировать необходимость в принудительной $live_site вместо консалтинга суперглобальной переменной $_SERVER. Но разделение его от CMS позволит не только осуществлять R&D в своем собственном темпе без ущерба для развития CMS, но также позволит всем заинтересованным использовать его за пределами CMS.

Что касается Joomla!, она может быть включена в JF сборки через Composer. Это должен быть один и единственный способ сделать это, а не как в текущей ситуации, когда создание нормальной человеческой копии возможно только через копирование .php файлов из миллиона git репозиториев в папку libraries/joomla.

Хотелось бы обсудить эти идеи с Andrew и Michael. Возможно, мы могли бы сделать совместный пост о будущем Фрэймверка. Я думаю, что если мы правильно сформируем фрэймверк, это может быть успешным дочерним проектом Joomla!. В общем, необходимо (пере)-определить целевую аудиторию и обсудить, как он может, наконец, сдвинуться вперед. 

 

Автор и оригинал статьи.

 

joomla.ru

Начало: новый пользователь Joomla о знакомстве с платформой

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

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

 

Как вы нашли Joomla?

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

Как давно вы пользуетесь Joomla?

В июне 2012 я решила забить на WordPress и перейти на Joomla.

Почему именно Joomla, а не другая CMS?

Мои первоначальные исследования показали, что Joomla гораздо проще, чем Drupal. В добавок к Joomla я всегда использую Moodle. Мой стартап был хорошей возможностью изучить Joomla и Moodle. На первых этапах я практически могла установить Moodle сама. А вот с Joomla не прокатило. Я начала учиться, экспериментировать, но я никогда не думала, что обучение будет происходить так быстро.

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

С какой первой проблемой вы столкнулись?

На первых этапах я всё свободное время уделяла чтению, но материалы оказывались устаревшими. У меня на тот момент стояла версия 2.5, а документация была по 1.5. Хоть это и повлекло трудности для меня, но я осознала, что это результат скорости роста, эволюции Joomla и Open Source.

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

И как же вы справились с этим?

Ну, сначала я использовала Joomla форумы, потом форумы и документацию разработчиков. Прибегала к помощи технических мануалов и видео уроков на YouTube. Вступила в Joomla Users Group. Слушала разговоры на встречах пользователей Joomla и как-то справилась.

А на какой стадии разработки вы сейчас?

Админка сайта уже готова, в феврале будет первый этап по части Moodle, а затем снова вернусь к созданию части на Joomla. Первый номер журнала планирую на март месяц, через две недели после окончания первого обучающего курса.

Как преподаватель, вы считаете, что правильно обучались Joomla?

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

Как человек, который уже немного поработал с Joomla, опишите свои впечатления.

Она прекрасна!

Есть ли какой нибудь аспект в Joomla, который вы находите наиболее проблемным?

Обобщение терминов и понятий.

А есть аспект, который вам нравится в Joomla (как в платформе, так и в сообществе)?

Быстрое развитие и философия бесплатного пользования.

Как вы считаете, Joomla это правильный выбор для вашего бизнеса?

Хороший вопрос. А кого это волнует?

 

joomla.ru

Разница между Joomla Framework и Joomla Platform

raznitsa-mezhdu-joomla-framework-i-joomla-platfrom

Joomla Framework (Фреймворк) – это своего рода следующее поколение Joomla Platform (Платформа). Основным его отличием является поддержка пространства имен и возможность установки с помощью Composer (в виде отдельных пакетов).

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

Давайте посмотрим, как развивались события, которые привели к появлению Joomla Framework. Вот несколько ключевых тем из Google группы Joomla! Platform Development:

Следующее поколение

Из истории видно, что в Платформе назревали большие изменения. Но эти изменения были несовместимы с CMS и существующей Платформой. Внедрение этих изменений привязало бы CMS к текущей версии Платформы 12.3 без возможности использования новых версий. Было принято решение разделить Платформу, в результате возникла «новая Платформа» или Joomla Framework.

Joomla Framework – это возможность для дальнейшего развития. Он может быть использован не только CMS и теми, кто пишет приложения на Joomla Platform, но и более широким PHP сообществом. Это уход от своеобразного монолита. Фреймворк, который построен на компонентах (отдельных пакетах) позволяет пользователям легко добавлять и тестировать, а также интегрировать код.

Означает ли это, что Платформа будет поглощена CMS?

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

Нужно ли будет переписывать расширения для следующей версии CMS?

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

Однако важно отметить, что Joomla Framework не будет обратно совместим с Joomla Platform. Сейчас идет чистка всего устаревшего кода, а также удаление оставшегося CMS кода и слабо поддерживаемых пакетов. Это правильная стратегия, так как переход на пространство имен и Composer в любом случае означает то, что придется начинать с нуля.

В какой версии CMS мы увидим Фреймворк?

Пока ни в какой. CMS возьмет все наработки из текущей Joomla Platform и вероятнее всего Платформа больше не будет поддерживаться как отдельная сущность. Вся новая работа будет происходить внутри CMS. Но это не значит, что CMS не сможет использовать Фреймворк. Просто на данный момент ее архитектура не позволяет этого сделать.

А вот как видит будущее CMS один из главных участников сообщества Joomla! - Michael Babker. Полностью его пост вы можете прочитать в статье «Joomla! 4.0 or Next, Joomla! Platform or Framework, WTF is going on!?», а я лишь приведу его основную мысль:

Если бы я был главным по части разработки, я бы «списал» текущую CMS архитектуру в конце жизни серии 4.x, которая придется на конец 2016 года. В 2014 году, когда выйдет релиз 4.0, я бы выпустил Joomla! Next, которая была бы построена с нуля на Фреймворке. Для того, чтобы поддержать обратную совместимость, я бы использовал 4.x как переходный уровень между двумя приложениями. Цель – расширения должны работать на 3.5 и 4.x или 4.x и Next с небольшими проблемами, но не на 3.5 и Next одновременно. Кроме того я бы приложил все усилия для того, чтобы сохранить существующую инфраструктуру расширений на месте, так как это то, на чем Joomla! делает свои деньги.

Зачем менять имя и создавать другой репозиторий, если такой уже есть для Платформы?

Изменение имени и создание нового репозитория позволяет четко разграничить монолитную Joomla Platform и новый Joomla Framework с поддержкой пространства имен и Composer. Это большое изменение, но беспокоится не о чем. Просто так проще, так как Платформа будет поддерживаться еще какой-то период времени. На 2013 год запланировано как минимум три итерации Платформы. Работа над двумя проектами внесла бы хаос в единый репозиторий.

Кроме того, каждый пакет был разбит на свой репозиторий для возможности установки через Composer. Например, кто-то, программируя на Laravel, может использовать JGithub. На данный момент такое невозможно осуществить с Платформой, но зато такое возможно с Фреймворком.

Значит можно использовать Composer и Packagist с Фреймворком?

Composer и его компаньон Packagist, стали стандартом де-факто для интеграции PHP библиотек в приложения. Joomla Framework должен подстроится под эту парадигму и позволить пользователям, пишущим приложения Joomla, облегчить задачу использования других библиотек, которые доступны через Composer.

Это действительно большое изменение. Сейчас Платформа не распространяется. Просто отмечается тегами, и пользователи могут клонировать репозиторий. Но на этом все. А Composer и Packagist означают для Фреймворка то же самое, что и страница загрузки для CMS. Это послание для всего PHP сообщества – вот наш код для использования. Это возможность повысить осведомленность о Joomla как о чем-то большем, чем просто CMS. Поэтому параллельно работе над пространством имен текущая Платформа была разбита на отдельные пакеты, которые опубликованы в Composer и могут быть установлены с помощью Packagist.

Где можно найти Joomla Framework?

Зайдите на https://github.com/joomla и обратите внимание на репозитории, название которых начинается с joomla-framework.

По материалам:

cmscafe.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта