Архив метки: CMS

Bolt CMS

Существует огромное количество систем управлении контентом (CMS), написанных на языке php под разные задачи. Вот только многие из них были написаны для учебы и уже давно заброшены.

Bolt CMS
Скрнишот административной панели BoltCMS

Есть и признанные «тузы» в мире веб-разработки: WordPress, Joomla!, Drupal, MODX и некоторые другие. У этих CMS большое количество последователей, расширений, статей по ним с описанием решением разнообразных проблем, «тусовок» на разных языках.

Я хочу познакомить с новичком на рынке CMS — Bolt.

Bolt CMS — это система управлением контента, которая стремится быть простой и понятной насколько возможно. И сохраняет большой потенциал по росту проектов.

Внутренности Bolt CMS

Технически Bolt написана на языке программирования php, что не является чем-то выдающимся. Однако она построена на основе микро-фреймворка Silex, который появился как упрощение большого промышленного фреймворка Symfony. Соответственно можно при разработке использовать компоненты Symfony и другие библиотеки.

Так же можно использовать и Composer – систему управления пакетами в php, использующую библиотеку curl.  Но эти все изыски для понимающих толк в программировании.

Шаблонизатор Twig, так что документации по нему в интернете много.

Увы, документации по движку даже на английском очень мало. Я переведу потом руководство пользователя и руководство разработчика с официального сайта. Одновременно я в статьях опишу тонкости, которые я раскопал самостоятельно при работе с системой и её шаблонизатором.

Требования к серверу

Требования к серверу стандартны для сегодняшнего дня

  1. Версия интерпретатора php 5.3.3 и выше
  2. Расширения SQLite для доступа к базам данных sqlite, или MySQL (PostgreSQL)
  3. Сервер Apache или NGIX с возможностью настройки ЧПУ (человеко-понятных адресов)

А для самого интерпретатора php требуется в настройках ресурсов:

  1. Минимум 32 Мбайт оперативной памяти;
  2. Расширение PDO для доступа к базе данных
  3. Расширение cUrl для обновлений
  4. Расширение GD для работы с графикой.

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

Ну а для администрирования подойдет любой современный браузер: FireFox, Chrome, Opera, Safari. Даже Internet Explorer 9 и выше будет работать. Так же будет работать админка и в мобильных браузерах: iPad, Android.

По ресурсам. Наследие Symfony сказывается — потребление памяти на фронтэнде до 12 метров, в бекэнде – до 25 метров. А вот генерация страниц 0,5 секунды на хостинге от Sprinthost.ru при первом обращении к странице и 0,26 секунды при повторных обращениях (работает кеш движка).

Тут он явно проигрывает MODX Evolution, однако выигрывает у  Drupal, WordPress с заметным отрывом. Так на проекте с WordPress у меня фронтэнд генерится за 0,9-1,2 секунды и съедает память до 35 метров на том же хостинге. В целом, все это укладывается в нормы нормального быстрого сайта. Учитывая, что основные тормоза делают скрипты и неоптимизированная графика, можно сказать, что движок быстрый.

Сайты, которые можно сделать на Bolt CMS

Система явно писалась для разработчиков и это видно. Накликать как в Joomla! с её всплывающими модальными окнами настройки не получится — обязательно нужно править конфигурационные файлы. Зато система очень гибкая и удобная для разработки.

Я определил для себя, что на текущий момент в ветке 1.6 можно делать небольшие проекты:

  1. landing page или одностраничкики (страницы захвата посетителей);
  2. Сайты-визитки (главная-услуги-о фирме-контакты-обратная связь);
  3. корпоративные сайты без работы с пользователями,
  4. всевозможные каталоги товаров/услуг;
  5. презентационные сайты;
  6. сайты-статейники (то есть разные статьи с разделами, тегами, таксономией);
  7. блог (с ограничениями по комментариям).

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

Чего НЕ СТОИТ делать на этом движке однозначно:

  1. интернет-магазины;
  2. социальные сети типа одноклассников или вконтакте;
  3. мультиблогов с наполнением из фронтенда пользователями.

Типы страниц в Bolt CMS

«Взрослые» системы управления контентом обладают одной яркой особенностью – создавать дополнительные поля к страницам по желанию и использовать их потом в шаблоне. В WordPress это не так давно стали их использовать в самом движке, хотя уже давно расширения создают такие поля. Поэтому еще как-то слабо их используют. В Drupal  это называется CCK (content construction kit – конструктор контента) и именно от этого движка эта идея пошла в другие. В MODX это называется TV-параметры — параметры шаблона, который назначается странице.

Штука это удобная и позволяет очень легко в странице выносить данные по таким полям. Примером может служить страница описания товара: контент служит для описания, одно поле для цены, другое для артикула, третье для картинки-превьюшки, четвертое с помощью JSON фотогалерея, целая куча параметров — технические характеристики. Потом в шаблоне делается вывод со своим форматирование именно туда, куда нужно. И ни один безграмотный «наполнятель сайта» не сможет нарушить разметку. Кроме того, по таким полям очень удобно строить фильтры отбора для показа именно нужных лент товаров (статей/новостей).

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

А при изменении типов контента нужно всего лишь зайти в настройках и оптимизировать базу – она автоматически изменится под новую конфигурацию. То есть добавятся или удалятся дополнительные поля в таблице материалов. Вот так просто можно управлять разнообразным контентом: фотогалереям, слайдерам, прайсам и так далее.

Плагины  Bolt CMS

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

Увы, особого разнообразия в плагинах нет. Фактически, большая часть — это расширения шаблонизатора Twig для легкой вставки новых тегов в шаблон страниц. Эти теги вставляют через API разнообразные плюшки интернет-сервисов: лайки, публикации в социальные сети, подключение внешних комментариев DISQUS, google analitic.

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

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

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

Шаблонизатор Twig  в Bolt CMS

При кажущейся простоте темы – создании шаблона для Bolt, это еще один скрытый краеугольный камень. То, что в других движках делается на php в виде сниппетов или обращениям к функциям ядра движка, в Bolt делается при помощи шаблонизатора Twig.

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

Именно так и делаются ленты, выводы страниц и некоторые другие особенности верстки.

Циклы, условия, переменные — это тоже стандартные возможности шаблонизатора.

Так что пока в обзоре Bolt на этом остановлюсь, а после перевода документации, выложу накопанные тонкости.

Заключение

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



2019-03-29T20:06:52
CMS

Установка утилиты Drush 8 для Drupal 7

Не секрет, что CMS Drupal при своей впечатляющей функциональности, надёжности и универсальности является довольно сложной системой, которая заставляет разработчиков изрядно «потеть» при создании проектов на её основе. Даже администрирование уже готовых проектов Drupal требует хороших подготовки и опыта. Также Drupal не отличается «дружелюбием». Поскольку не предоставляет пользователю комфортного инструментария «из коробки» для обслуживания системы. Не говоря уже о разработке. Именно поэтому появилась Drush – утилита, которая выводит работу с Drupal на совершенно новый, более «продвинутый» уровень. Она позволяет пользователям при работе с CMS выполнять самые сложные и рутинные задачи буквально за считанные секунды. Избавляя при этом от необходимости держать в голове большой объём информации и сосредоточиться на главных задачах.

Зачем устанавливать Drush?

Поскольку CMS Drupal довольно популярная система для разработки сайтов и других веб-приложений самой разной направленности. То для хостинг-провайдеров важно предоставлять пользователям весь сопутствующий инструментарий. Администраторы и сотрудники техподдержки хостинга также должны разбираться в специфических вопросах, касающихся организации сайтов на Drupal. В частности вопросам по установке и работе с утилитой Drush. Среди клиентов, обращающихся в службы поддержки хостинг-провайдеров очень много тех, кому необходима помощь с Drush. Да и сами администраторы часто используют эту утилиту для удобства и экономии времени в целях организации и настройки инфраструктуры, необходимой для использования веб-приложений на основе Drupal. Ведь пользователи-клиенты хостинга чаще всего используют в своей панели управления именно кнопку «Установить Drupal». Не подозревая, что при этом будет задействована утилита Drush. Которая и сделает всю работу по установке.

Особенности использования Drush для разный версий CMS Drupal

На данный момент разработчиками поддерживаются две версии CMS Drupal – 7 и 8. Рекомендуется для каждой из версий использовать и соответствующие версии утилиты Drush. Например для Drupal 7 актуальной является Drush 8.x. Она же использовалась и для Drupal 8.3.x. Однако, для обслуживания и управления Drupal более старших версий (8.3+) очень рекомендуется использовать уже Drush версии 9.x. Это связано с различиями в архитектуре систем разных версий Drupal, которые по техническим причинам отражаются и в архитектуре самой утилиты Drush. В данной статье будет рассмотрен пример установки Drush 8 для Drupal 7, поскольку это проще для понимания. Установка Drush 9 для Drupal 8 несколько отличается.

Что для этого нужно?

Для установки всех версий Drush необходим Composer – пакетный менеджер для проектов на PHP. Он автоматически отслеживает, загружает и устанавливает зависимости для требуемых проектов. А Drush – это PHP-проект.

Естественно, необходим также и установленный в системе интерпретатор PHP с базовыми расширениями, в частности php-cli.

В общем случае установка Drush включает следующие этапы:

  • установка Composer;
  • установить пакета Drush;
  • установка всех необходимых зависимостей для Drush с помощью Composer;
  • настройка переменных окружения для запуска Composer и Drush, если это необходимо.

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

Установка Drush

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

Composer — загрузка и установка

Для начала нужно скачать утилиту Composer:

$ wget https://getcomposer.org/download/1.8.4/composer.phar

Далее, для установки нужно скопировать/переместить загруженный файл composer.phar куда-нибудь, где хранятся локальные исполняемые файлы для домашнего каталога пользователя john, например в ~/bin:

$ mv composer ~/bin/composer

Как видно, от расширения *.phar уже можно избавиться — это не принципиально. Также нужно позаботиться о предоставлении права на запуск для пользователя-владельца файла composer:

$ chmod u+x ~/bin/composer

На этом, собственно, установка Composer завершена. Теперь необходимо обеспечить (для удобства) выполнение утилиты из любого места в домашнем каталоге пользователя. Для этого нужно установить пользовательскую переменную окружения PATH для Composer, отредактировав файл ~/.bashrc добавлением в него строку:

export PATH =”$HOME/bin:$PATH”

После перезапуска сеанса пользователя можно выполнять команду composer.

Drush – загрузка и установка зависимостей

Теперь нужно загрузить с официального сайта проекта пакет (архив) самой утилиты Drush:

$ wget https://github.com/drush-ops/drush/archive/8.x.zip

Загруженный архив можно распаковать также в ~/bin:

$ unzip 8.x.zip -d ~/bin

$ ls ~/bin

composer drush-8.x

Теперь осталось с помощью команды composer install в каталоге с только что установленным проектом Drush (~/bin/drush-8.x) установить все зависимые пакеты для Drush:

$ composer install

Далее, для возможности запуска команды drush необходимо (по аналогии с composer) установить соответствующую переменную окружения — главный исполняемый сценарий, реализующий команду drush находится в ~/bin/drush-8.x/. Это файл drush. Соответствующая строка, которую для этого нужно добавить в файл ~/.bashrc:

export PATH =”$HOME/bin/drush-8.x/:$PATH”

Теперь после перезапуска сеанса пользователя нужно убедиться, что всё работает:

$ drush status

PHP exetuble : /usr/bin/php

PHP configuration : /etc/php/7.2/cli/php.ini

PHP OS : Linux

Drush script : /home/john/bin/drush-8.x/drush.php

Drush version : 8.2.1-dev

Drush configuration :

Drush alias files :

На этом установка Drush 8 для Drupal 7 завершена. В следующей статье описано как работать с этой утилитой

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2019-03-27T13:13:08
CMS

Установка WordPress в Linux

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

Подготовка и требования к установке

Для своей работы WordPress требует веб-сервер Apache или Nginx, интепретатор PHP (желательно версии 7), а также систему управления базами данных (СУБД) MySQL 5.6 или MariaDB 10 или выше.

Предполагается, что всё программное обеспечение (ПО) для работы веб-окружения установлено и корректно настроено. Также предполагается, что виртуальный хост для работы с WordPress также сконфигурирован.

Также для корректной установки и работы WordPress необходимо удостовериться, что для PHP установлены и активированы следующие расширения: php-mpstring, php-gd, php-mysql, php-curl, php-zip. Опционально можно установить расширения php-fpm, php-xmlrpc, php-soap, php-xml, php-intl, php-cli. Все эти расширения имеют соответствующие пакеты в стандартном репозитории практически любого дистрибутива Linux и устанавливаются одной командой. Например для Ubuntu 18.04:

$ sudo apt install php7.2-fpm php7.2-common php7.2-mbstring php7.2-xmlrpc php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-mysql php7.2-cli php7.2-zip php7.2-curl

Также нужно иметь доступ к серверу MySQL/MariaDB, поскольку необходимо создавать и управлять базами данных (БД). Для установки и работы WordPress необходимо её (БД) создать. Либо следует обратиться к системному администратору MySQL, который предоставит для этой цели учётную запись, а также предоставит необходимые привилегии.

Загрузка и распаковка архива с WordPress

Загрузить архив с актуальной версией WordPress можно с официального сайта сообщества: https://wordpress.org/download. Также можно использовать утилиту wget:

$ wget https://wordpress.org/latest-ru_RU.tar.gz

Здесь «ru_RU» — буквенный код требуемой локализации. Архив будет сохранён в текущем (активном) каталоге. Теперь нужно распаковать загруженный архив в каталог подготовленного виртуального хоста. Каталог с виртуальными хостами конфигурируется настройками Apache. По-умолчанию это обычно /var/www/html/. Но для удобства можно назначить каталог /home. В этом случае каждый пользователь может размещать свои виртуальные хосты в своём домашнем каталоге. Подобная схема используется на веб-хостингах. Пусть для данной установки WordPress используется каталог htdocs, в домашнем каталоге пользователя john. Распаковка архива:

$ tar -xvf latest-ru_RU.tar.gz -C /home/john/htdocs/

В результате содержимое архива распакуется в каталог wordpress и полный путь виртуального хоста будет /home/john/htdocs/wordpress/. При желании можно переименовать:

$ mv /home/john/htdocs/wordpress /home/john/htdocs/wp-site

Или используя сокращённую запись домашнего каталога:

$ mv ~/htdocs/wordpress ~/htdocs/wp-site

Эти команды также справедливы, если используется доступ к удалённому серверу по SSH. Либо можно воспользоваться FTP-доступом (используя любой доступный FTP-клиент) для закачки содержимого архива в каталог виртуального хоста на удалённой системе. Теперь можно переходить к следующему этапу — подготовка БД.

Подготовка базы данных

Теперь необходимо создать БД для WordPress. Для этого также подойдёт любой MySQL-клиент, можно использовать веб-интерфейс, предоставляемый phpMyAdmin. Для начала следует авторизоваться на сервере MySQL:

# mysql -u john -p

Создание новой пустой БД с именем wp_site:

mysql> create database wp_site;

На этом этапе важно заметить, что тому пользователю, который должен иметь доступ к БД wp_site необходимо предоставить соответствующие привилегии. Либо этот пользователь заранее должен быть ими наделён, либо для этой цели нужно обращаться к системному администратору, обслуживающему MySQL-сервер в каждом конкретном случае. Сами SQL-запросы, предоставляющие нужные привилегии могут выглядеть так:

mysql> grant all privileges on wp_site.* to "john"@"localhost" identified by "password";

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

Подготовка БД на этом завершена, теперь можно перейти непосредственно к установке.

Установка WordPress

Перед тем, как запускать скрипт установки WordPress через адресную строку веб-браузера, необходимо, как уже было отмечено, выполнить настройку виртуального хоста. Если используется публичный и/или коммерческий хостинг, то это легко делается в панели управления. Если используется частный сервер, то нужно обратиться к местному системному администратору, чтобы он выполнил соответствующие настройки. Пусть для данной установки сконфигурирован виртуальный хост по адресу http://wp-site. Тогда для запуска установки нужно в любом веб-браузере перейти по этому адресу:

WordPress в процессе установки даёт пояснения по конфигурированию. Далее, после нажатия на кнопку «Вперёд!» необходимо указать реквизиты подключения к БД:

Если все настройки сделаны правильно, то WordPress уведомит об этом и пригласит запустить установку:



Также на одном из этапов установки необходимо указать название сайта, создать учётную запись обслуживания сайта, а также служебный e-mail сайта:



При успешном завершении установки WordPress предложит авторизоваться на свежеустановленном

сайте, после чего перенаправит пользователя-администратора на страницу панели администрирования WordPress:

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.



2019-03-27T11:50:22
CMS

Настройка Bolt CMS

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

Структура папок Bolt CMS

Для начала рассмотрим распакованный дистрибутив последней версии Bolt CMS. В корне проект находится следующие папка:

  1. App – именно здесь находится ядро Bolt CMS и все настройки, кеш, логи и так далее;
  2. Files – здесь будут лежат файлы, которые вы загрузите для страниц вашего сайта;
  3. Theme – здесь находятся темы оформления сайта, которые можно поменять;
  4. Vendor – системные библиотеки, которые при помощи composer загружаются, конфигурируются и необходимы для работы ядра

Если в папку vendor руками лезть не стоит, то в других папках стоит посмотреть все файлы стоит очень внимательно.

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

А вот к папке app покопаемся вдоволь.

  • cache – здесь хранится кеш сайта, руками там ничего править не стоит;
  • classes – вспомогательные классы Bolt CMS, стоит «поглядеть», но трогать явно не стоит без знаний;
  • config  — а вот тут лежат все конфгурационные файлы ;
  • database – папка с базой на sqlite3, тут нечего смотреть;
  • extensions – папка с расширениями;
  • resources – тут ресурся для движка, языковые файлы
  • src – само ядро движка
  • theme_defaults – шаблоны по умолчанию, админка
  • view – вьюшки движка

Как легко догадаться, сегодня я буду ковырять настройки в папку config.

Как настраивается Bolt CMS

По умолчанию в папке app/config лежат файлы с расширением *.dist. Эти файлы с настройками по умолчанию всех аспектов работы движка. Их 6 штук. Когда при первом запуске инсталятора скрипт доходит до настроек, то все файлы копируются с теми же названиями и им присваивается расширение yml – именно отсюда и берутся настройки.

Когда первый раз запускается инсталлятор, в файле database.dist по умолчанию прописывается работа с базой SQLite3, а сама база находится в папку app/database. Очень удобно для хостинга без поддержки MySQL и резервное копирование заключается в простой архивации сайта и скачивание себе на локальную машину. Учитывая, что Bolt CMS не предназначен для сайтов с высокой посещаемости и в нем нет плагинов комментариев, то это будет хорошим решением. Но если вам нужно чуть больше производительности, то лучше настроить систему на работу с базами MySQL или даже PostgreSQL.

Файлы с расширением yml – это обычные текстовые файлы, в которых легко разберется любой человек. В них приведены комментарии (правда, на английском языке), есть примеры и по аналогии можно добиться многого от движка.

Config.yml – это основной файл конфигурации именно движка: подключение к базе, название сайта, его адрес, локализация, вывод ошибок и так далее.

Contenttypes.yml – это файл, который конфигурирует типы страниц и их поля в административной панели. Это второй по важности конфигурационный файл и именно его вы будете править чаще всего.

Menu.yml – это файл меню, с помощью которого можно определять разные меню, вложенность элементов, адрес ссылок и название пунктов. Есть и плагин, который помогает визуально редактировать этот файл, но на мой вкус легче руками самостоятельно отредактировать его в редакторе.

Permission.yml – это файл с настройками прав пользователей. Его редактирование нужно будет на последнем этапе разработки сайта.

Routing.yml – это файл с уникальными настроками роутинга. Роутинг – это связывание адреса страницы с конкртеным действием движка. То есть можно делать какие-то тонкие настройки для плагинов и модулей.

Taxonomy.yml – это настройки таксономии. Таксономия – это способ иерархической организации страниц сайта. Проще говоря, это категории и подкатегории каталога статей, теги и так далее. Очень гибко можно связать с типами контента и таким образом делать каталоги с очень разветвленной структурой.

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

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

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



2019-03-23T20:41:45
CMS

Что нового в Bolt CMS 2.0

После версии Bolt CMS 1.6.12 вышла версия 2.0. И это не просто сменилась цифирка, а реально были сделаны большие изменения в системе.

Административный интерфейс

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

Административная панель Bolt 2.0
Административная панель Bolt 2.0

Новая навигация позволяет быстрее работать, а новый поиск делает работу еще более простой и удобной:

Вкладки групп полей

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

В файле настроек групп контента contenttypes.yml вы можете задать группу для каждого поля. Вот пример такого файла:

pages: 
groups: ["content", "media"]
    fields:
        title:
            type: text
            group: content
        slug:
            type: slug
            uses: title
            group: content        
        body:
            type: html
            group: content
        feature:
            type: image
            group: media
        gallery:
            type: imagelist
            group: media

А вот что вы получите на странице редактирования

fe4e7980-2454-11e4-82f8-69339b4b9d21

Улучшенный модульный JavaScript

Разработчики системы использовали для сборки Grunt, так что теперь вместо большого и монструозного bolt.js вся функциональность разбита по маленьким модулям.

Мультизагрузка изображений

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

Новые языки

Административная панель теперь доступна на 15 языках: английском, немецком, чешском, греческом, испанском, финский, французском, венгерском, индонезийском, итальянском, японском, норвежском, голландском, португальском и русском.

Юзабилити

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

Расширения Bolt CMS

Другое главная особенность Bolt CMS 2.0 — это репозитарий расширений.  Разработчики используют систему пакетов Composer для более гибкой разработки на Bolt CMS. Теперь можно легко создать и распространять пакеты. На сайте https://extensions.bolt.cm находится уже более 50 пакетов, которые могут быть применены при разработке сайта. И количество пакетов будет только увеличиваться.

Старые расширения  ветки 1.6

Если вы использовали в релизе 1.x включенные с дистрибутив расширения, то все 28 расширения были портированы на новую ветку 2.0  и доступны для установки.

Гибкая установка

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

Установите болт в качестве пакета Composer

Теперь есть возможно в существующий проект включить через Composer пакет bolt/bolt2.0.

Если вы хотите, то можете воспользоваться некоторыми дополнительными скриптами, которые помогут установить в нужное место. Более подробные инструкции здесь: https://github.com/bolt/bolt-docs/blob/master/source/installation-advanced.md#installing-bolt-as-a-composer-package

Начиная новый проект с помощью Composer

Теперь можно установить Bolt CMS 2.0 при помощи командной строки и Compser. Для этого просто в командной строке наберите (поправив имя проекта):

composer create-project bolt/composer-install <MYPROJECT> —prefer-dist

и composer  сам скачает и установит последний дистрибутив Bolt CMS

Присоединение Bolt CMS к существующему проекту

Много работы было сделано, чтобы BoltCMS мог работать в качестве автономного HTTPKernelInterface, не вмешиваясь в любой глобального пространства имен или констант. Так что, если вы используете StackPHP (или аналогичный) вы можете установить болт на URL префикс так просто, как это:

$map = [
		"/another" =&gt; new AnotherApplication(),
		"/blog" =&gt; new BoltApplication(['resources'=&gt;new BoltConfigurationComposer(__DIR__)])
	];
$app = (new StackBuilder())
    -&gt;push('StackUrlMap', $map)
    -&gt;resolve($app);
Stackrun($app);

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

Настройка каталогов

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

Bolt CMS 2.0 поставляется с новым модулем конфигурации, что позволяет больший контроль над размещением проекта. Например, вот как вы загружаете Bolt CMS 2 на сервер, где есть только доступ в web-интерфейс в папку public, а весь код находится в папках выше:

&lt;?php
// public/index.php
require_once "../vendor/autoload.php";
$configuration = new BoltConfigurationStandard(dirname(__DIR__));
$configuration-&gt;setPath("web", "public");
$configuration-&gt;setPath("files", "public/files");
$configuration-&gt;setPath("themebase", "public/theme");
$configuration-&gt;verify();
$app = new BoltApplication(array('resources'=&gt;$configuration));
$app-&gt;initialize();
$app-&gt;run();

Теперь вы можете сами сконфигурировать корневой каталог, пути для кеша, файлов и так далее.

Качество код

Было проделано много работы по повышению качество кода и, самое главное, расширяемости ядра Bolt CMS. А с запуском системы расширения, мы стремимся сделать легким процесс добавления функционала без лишних функций в ядре.

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

Шаблон административной панели

Целью переработки шаблона панели управления было в разделении большого шаблона на маленькие блоки и воспользоваться механизмом наследования шаблонизатора Twig. Это привело к разделению 41 шаблона на 110 более мелких блоков, которые упростились и позволяют переопределить более мелкие детали системы

PSR-4 стандарт кода

Мы также воспользовались возможностью, чтобы обновить код Bolt CMS, чтобы перейти от стандарта кодирования php PSR-0 до PSR-4, которая упростила и организовала код лучше.

Переводы: капитальный ремонт

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

panel:
latest-activity:
    button:
        more: "mehr Aktivit?ten"
    by: "von"
    headline: "Letzte Aktivit?ten"
    logged-in: "angemeldet"
    logged-out: "abgemeldet"
    saved: "Gespeichert"
    unknown: "unbekannt"
user-actions:
    button:

Скоро переключения языков на каждого пользователя

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

Гибкость файловой системы

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

  1. FTP
  2. Sftp
  3. Dropbox
  4. Amazon S3
  5. WebDAV

Это означает, с небольшими изменениями конфигурации вы можете выбрать, где хранить все ваши файлы на Dropbox, или в облаке Amazon S3 вместо этого.

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

Настройка загрузки для разных типов страниц

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

feature:
    type: image
    upload: uploads/features
gallery:
    type: imagelist
    upload: uploads/gallery

Другие изменения

Новая библиотека с миниатюрами

Мы решили по разным причинам, что предыдущая библиотека Timthumb не очень хорошо подходит для Bolt CMS, нам нужно что-то, что может монтировать на существующий Silex App, а также быть гораздо более гибкой для разработчиков. Так Bolt CMS 2.0 поставляется с новым пакетом bolt/thumbs, которая функционально совместима со старой системы, но предлагает следующие усовершенствования.

Пути могут быть настроены путем расширения или перезаписи $app[‘thumbnails.paths’].

Там же четко определены ResizeInterface это означает, что при написании расширений можно легко написать внести изменения.

Улучшенная гибкость типов полей

Это одно улучшение, которое предназначено, чтобы сделать жизнь проще для разработчиков расширений. Доступные типы полей (например, HTML, текст, число) теперь можно управлять с помощью класса FieldManager и все соответствуют новой FieldInterface. Это означает, что добавление нового поля доступных опций так же просто, как создание класса, который соответствует интерфейсу и добавление его менеджеру. В качестве примера, насколько просто это сейчас, смотрите в документации по адресу: https://docs.bolt.cm/v20/extensions-customfields

Совместимость с Windows

Из-за файловой системы Windows могли вызываться ошибки. Сейчас используется библиотека Pathogen для генерации пути. Это позволяет в ядре и расширениях писать более простой код.

PostgreSQL Совместимость

Были несколько серьезных ошибок, которые помешали 1.x версии Bolt CMS работает плавно на системах PostgreSQL, Bolt CMS 2.0 включает в себя исправления ошибок для этих случаев и полностью протестирован на PostgreSQL.



2019-03-23T20:38:42
CMS

Вышла новая версия Bolt CMS 2.0

Новая версия Bolt CMS 2.0 вышла вместе с обновлением официального сайта.

Вот перевод новости с официального сайта.

Админка новой версии Bolt CMS 2.0
Админка новой версии Bolt CMS 2.0

Над версией работало больше 121 человек и отправило 7300 коммитов на github. Версия 1.x была довольно хорошей, но за последний год много умных людей присоединились к нашему постоянно растущему сообществу, и эти люди сыграли важную роль в получении Bolt CMS в текущем состоянии.

Почти каждая библиотека в Bolt CMS 2 была переработана, чтобы код был чище, читабельнее. А для разработки использовался принцип «стоять на плечах гигантов». Поэтому вместо изобретения своих велосипедов были использованы и протестированы пакеты из Symfony, Silex, Swiftmailer, Doctrine и кучи других. Таким образом, проект более управляем, а разработка новых функций BoltCMS получается гораздо быстрое. Например, сама Болт имеет только 10% кода. Сравните: Bolt CMS содержит  15000 строк, и 141000 строк в WordPress. Это дает нам держать код в хорошем состоянии.

Прежде чем мы перейдем описании этой версии, есть еще одна вещь, которую я хотел бы упомянуть: Bolt CMS — это работа команды. Все больше и больше кода, и функций, и исправлений были сделаны участниками нашей команды. Этот релиз не было бы возможным без его неустанные коммитов таких людей как Gawain, Ross, Reinier, Rix, Gerhard, Peter, Tobias, Xiao, Lodewijk, Anke, Andrew, Evert, Steven, Stefan, Thaís, Corentin, Marc, Melinda, Derk, Sebastiaan и и многих других, которые делали расширения, тестировали и предлагали свои улучшения.

Если вам интересно, об особенностях в Bolt CMS 2,0, взгляните на нашу страницу особенности. Если вы работаете  с Bolt CMS 1.Х, то на этой странице подробно описаны наиболее важные изменения (на английском) по сравнению с предыдущей версией.

К Bolt CMS 2.0 была проделана дополнительно много второстепенных вещей:

  • Разработан новый сайт
  • Документация постоянно обновляется. Все описание расширено, в том числе новых функций, таких как написание расширений.
  • Мы сделали умную шпаргалку, которая будет бесценным инструментом
  • Был запущен сайт с расширениями для Bolt CMS. Есть более 60 расширений и тем на данный момент, и это число быстро растет.
  • Не хватает терпения, чтобы установить Bolt CMS себе? Попробуйте его в Интернете быстро на нашем демо-сайт: Try.bolt.cm. (примечание: пока не работает)
  • Наша IRC канал становится все более и более насыщенным. В течение дня (по Гринвичу) всегда есть люди, активные в канале.
  • Чтобы начать работу с болтом 2.0 сам, увидеть установку страница болт в документации, в котором подробно различные способы установки болт.

Мы уверены, что вам понравится!



2019-03-23T20:31:02
CMS