ProcessWire: CMS с открытым исходным кодом для индивидуальных веб-сайтов

ProcessWire — это бесплатная система управления контентом (CMF) и система управления контентом (CMS) с открытым исходным кодом. Бэкэнд чист и структурирован, поэтому им легко управлять. Этот инструмент дает вам всю необходимую свободу при создании сайта. Он не так известен, как гигант CMS WordPress или его конкуренты — Joomla!, Drupal и TYPO3, но благодаря своим преимуществам эта оптимизированная программа выделяется на фоне конкурентов. По этой причине стоит взглянуть на ProcessWire.

ProcessWire: история

Под названием Dictator CMS эта CMS использовалась еще в 2003 году. В 2007 году Райан Крамер наконец выпустил программное обеспечение под названием ProcessWire 1.0. Однако и Dictator CMS, и ProcessWire 1.0 еще не были с открытым исходным кодом, хотя усилия для этого прилагались. Версия 2.0 была выпущена под лицензией Mozilla Public License 2.0 в 2010 году. По мнению сообщества, версия 2.3 стала особой вехой для разработчиков, поскольку это был первый релиз, в котором сообщество совместно работало над основным программным обеспечением. Версия 3.0 (выпущенная в 2016 году) является последним крупным релизом. Благодаря активному сообществу доступны пакеты локализации для нескольких языков, включая испанский, немецкий, французский и итальянский.

ProcessWire CMS: наиболее важные компоненты

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

Шаблоны и соотношение сторон

На рисунке ниже показана задняя часть демонстрационной установки ProcessWire, которая доступна в Интернете для тестирования. В разделе «Настройка» вы найдете редактор шаблонов. Шаблон «Архитектура» определяет свойства страницы (макет, текстовые поля, поля ввода и т.д.) для 216 веб-страниц в домене.

При нажатии на шаблон открывается редактор (с помощью которого можно редактировать выбранный шаблон). Здесь вы найдете вкладку «Основы». На ней вы можете редактировать или добавлять поля. Вы также можете управлять правами доступа, иерархией страниц, URL-адресами, кэшем, настройками тегов и иконок, импортировать поля из других тем или удалять лишние шаблоны.

На вкладке «Семья» вы определяете внутренние взаимосвязи веб-страниц. Когда вы создаете сайт или приложение с помощью ProcessWire, каждый компонент получает страницу. У отдельных страниц есть «дочерние» или подстраницы. ProcessWire отображает взаимосвязи страниц в дереве страниц, подобно объектной модели документа (DOM). Райан Крамер, автор ProcessWire, ориентируется на очень понятный jQuery. Нет предела тому, насколько глубокой или разветвленной может быть структура.

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

Стабильный API

CMF гордится своим стабильным интерфейсом программирования (сокращенно API означает «интерфейс прикладного программирования»). Из-за модульной структуры ProcessWire системе требуются внутренние интерфейсы, которые пользователи могут использовать для поиска, изменения или создания новых данных. Вы редактируете эти данные с помощью интерфейсных переменных и селекторов. В сценарии вы можете связать необходимые команды и разместить их в одной строке. В дополнение к встроенным модулям, API также позволяет осуществлять обмен данными со сторонними плагинами.

Поля

Упомянутые выше страницы состоят из полей. Они также имеют свою особенность. В отличие, например, от WordPress, здесь нет одного большого поля ввода для ввода всего содержимого страницы. Вы можете настроить все поля в соответствии со своими потребностями, а затем объединить на странице несколько полей — будь то простые текстовые поля или видео. Вы назначаете эти поля шаблонам ProcessWire. Будь то простой HTML-файл или сложное PHP-приложение, файлы шаблонов могут быть помещены в CMS всего за несколько шагов с помощью drag-and-drop. Большинство разработчиков используют шаблоны с тегами PHP для отображения динамического контента.

Принцип работы шаблонов в ProcessWire можно объяснить следующим образом: когда пользователь загружает страницу, CMS обращается к шаблону, назначенному для этой страницы. Он присваивает шаблону переменные API, а затем выполняет его как PHP-скрипт.

Модули

Основная программа уже включает в себя несколько стабильных плагинов. Существуют модули для:

  • Темы администратора
  • Блокировщик спама от Akismet для колонки комментариев
  • Плагины для типов полей (чекбокс, изображения, варианты выбора, заголовки страниц и т.д.)
  • Настройки папок
  • Изображения
  • Поля ввода (кнопки, email, имя, селектор, текстовая область и т.д.)
  • jQuery
  • Языки
  • Крючки
  • Разметка
  • Страницы
  • Процессы (редактирование страниц, разрешения, редактирование полей и т.д.)
  • Сессии
  • Система
  • Форматирование текста

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

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

ProcessWire: требования

Минимальные требования

  • Веб-сервер на базе Unix или Windows
  • Apache (потенциально эквивалент, например, NGINX или IIS, если доступна замена .htaccess, например, web.config для IIS)
  • в Apache должна быть включена функция modrewrite
  • Apache должен поддерживать .htaccess
  • PHP от версии 5.3.8 с поддержкой базы данных PDO
  • Пакет библиотек GD2 для PHP

Лучший вариант:

  • Последняя стабильная версия PHP
  • Активированы короткие теги для PHP
  • Поддержка многобайтовых строк, скомпилированных с PHP (-enable-mbstring)

Сравнение: ProcessWire против WordPress

Оба инструмента впервые появились на сцене в 2003 году. WordPress — это гигант CMS с долей рынка 60% (по состоянию на январь 2018 года), что означает, что он лидирует в рейтинге систем управления контентом по всему миру. Показатели пользователей ProcessWire находятся лишь в четырехзначном диапазоне, что означает долю рынка менее 0,1%. Большая разница между этими двумя инструментами заключается в том, что WordPress очень прост в настройке и использовании и не требует знаний HTML или PHP. 

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

Удобство для пользователя

ProcessWire имеет некоторые функции, облегчающие жизнь веб-дизайнерам и разработчикам — например, загрузка файлов с помощью перетаскивания. Установка также занимает относительно немного времени. Но свобода создания любого веб-сайта в соответствии с собственными идеями также требует предварительного знания языков программирования. Поэтому целевая группа ProcessWire отличается от целевой группы WordPress. Лидер рынка может похвастаться тем, что его можно установить и настроить менее чем за 5 минут, а существующие темы и шаблоны обеспечивают основу, поэтому даже новички могут создать респектабельный блог за короткое время.

Разработчик сайта назначает шаблоны ProcessWire на соответствующие страницы. Практически вам придется самостоятельно объединять каркас сайта с помощью команд, что делает ProcessWire более ориентированным на профессиональных веб-дизайнеров или программистов на досуге. Однако конечному пользователю готового веб-сайта не нужно много предварительных знаний: после создания каркаса обновление и добавление новых страниц не будет проблемой даже для новичков. Особенно практична функция «из коробки», с помощью которой можно создать несколько локализованных доменов для сайта. Благодаря языковым пакетам вы также можете работать на соответствующем целевом языке в бэк-энде. В WordPress языковая интеграция обычно проходит не так гладко.

SEO-дружественность

Если вы создаете сайт, вы, очевидно, хотите, чтобы его находили люди в сети. И ProcessWire, и WordPress предлагают поддержку оптимизации страниц. Например, основное программное обеспечение оптимизирует URL-адреса для поисковых машин и читателей. Древовидная структура ProcessWire очень хорошо подходит для создания четких иерархий. Однако пагинация может стать проблемой. Пустые страницы, которые только ссылаются на другие страницы, ничего не значат для краулеров и, в худшем случае, просто отправляют их в цикл. Разработчики ProcessWire рекомендуют готовить страницы 404 ошибки для возможных ошибок загрузки, при этом кэш (базовой версии достаточно для небольших проектов) увеличивает скорость загрузки. В WordPress для этого нужно добавить расширение.

В разделе плагинов WordPress вы найдете множество инструментов оптимизации. Yoast SEO, например, предлагает самые важные SEO-функции в одном пакете. К ним относятся функции интеграции социальных сетей, оптимизации метаданных и анализа сайта. С помощью плагина Google XML Sitemaps можно создать карту сайта для улучшения навигации. ProcessWire также предоставляет модуль для этой цели. Расширение MarkupSEO подходит в качестве комплексного решения. Этот инструмент создает вкладку SEO в разделе «Страницы», где можно ввести заголовок, изображения для предварительного просмотра и другие метаданные. В верхней области вы можете видеть предварительный просмотр Google одновременно с возможностью редактирования. ProFields: AutoLinks автоматически связывает выбранные ключевые слова с заданными URL-адресами, а с помощью модуля инструментов доступности ProcessWire вы можете улучшить доступность вашего сайта.

Совет

Хотите узнать больше о WordPress? В этой статье мы покажем вам, на что способен WordPress — и это не только блоги.

Базовая структура и плагины

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

WordPress основан на программном обеспечении b2, которое изначально разрабатывалось как программное обеспечение для ведения веблогов. Вы также можете вести иерархические страницы и использовать его как CMS. API часто подвергается критике: в отличие от ProcessWire, где основное программное обеспечение и модули переплетаются, большое сообщество WordPress постоянно добавляет (иногда небезопасные и перегруженные) плагины. Из-за пересекающихся обязанностей различные плагины в итоге конкурируют друг с другом. Из-за большого количества не все приложения могут быть проверены на совместимость. Частые автоматические обновления означают, что новые версии плагинов могут ограничивать другие функции вашего сайта, а вы этого даже не заметите.

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

Безопасность

WordPress известен во всем мире. Его популярность, конечно же, привлекает хакеров. CVE Details перечислил в общей сложности 273 уязвимости в приложениях WordPress до марта 2018 года, и многие из них были критическими. Кроме того, к 2017 году количество зарегистрированных уязвимостей увеличилось более чем в два раза по сравнению с предыдущим годом. Метод межсайтового скриптинга (XSS) возглавил список самых распространенных кибер-атак. WordPress постоянно работает над обновлениями безопасности, но многие страницы используют обилие плагинов, которые также требуют обновлений. Многие операторы сайтов забывают, что плагины также нуждаются в регулярных обновлениях. Перегруженные темы могут иметь бреши в системе безопасности.

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

ProcessWire WordPress  
Операционная система Независимая от платформы Платформа независимая
Категория CMF, CMS Программное обеспечение для веблогов, CMS
Лицензия Mozilla Public License 2.0 GNU GPLv2+
Поддерживаемые веб-серверы Веб-сервер на базе Windows или Unix с поддержкой Apache, PHP и MySQL Веб-сервер с поддержкой MySQL и PHP
Поддерживаемые базы данных MySQL, MariaDB 5.0.15 и далее MySqL, MariaDB
Язык шаблонов PHP PHP
Бэк-энд на основе браузера
Предложение по хостингу Нет Да
Инструменты для поисковой оптимизации
Отзывчивый веб-дизайн
Безопасность Небольшая группа пользователей не очень привлекательна для хакеров Широкое распространение привлекает хакеров
Только тестовые плагины Некоторые небезопасные плагины  
Регулярные обновления системы    
Управление пользователями Возможность работы с несколькими клиентами, группы пользователей, ограничения доступа пользователей, многоуровневый контроль доступа также для отдельных полей Возможность работы с несколькими клиентами, группы пользователей, ограничения доступа пользователей, многоуровневый контроль доступа
Работа PHP скрипты в дереве данных, WYSIWYG редактор, предварительный просмотр, метки, поиск, бэк-энд с темами администратора WYSIWYG-редактор, система блогов, предварительный просмотр, поиск, метки
Мультимедийные элементы Свободный доступ к файлам в поле данных С расширением
Несколько языков Простое управление из коробки С расширением/интегрированными переводами для фронтенда и бэкенда
  Локализованные URL-адреса  
Документация
Учебники и сообщество ✔✔ ✔✔
Подходит для Сложные веб-сайты с особыми требованиями к дизайну Блоги
  Мультиязычные веб-сайты Ограниченные по содержанию страницы с большим количеством изменений дизайна
  Онлайн-каталоги Малый бизнес или частные лица с информативными или представительскими веб-сайтами
  Небольшие веб-сайты, не требующие большого количества изменений в дизайне Когда программирование слишком дорого
  Разработка: профессионалы и опытные пользователи  
  Использование: подходит для начинающих, хотя требует некоторого ознакомления Начинающие и продвинутые пользователи

Учебник: первые шаги с ProcessWire

Краткие инструкции по установке

Существует несколько способов загрузки, но большинство пользователей скачивают программу через GitHub. Если вы скачали zip-файл таким образом, вам нужно распаковать его, загрузить пакет файлов на сервер и продолжить веб-установку. Программа выполнит проверку совместимости и сообщит вам, если основные требования не соблюдены. Убедитесь, что PHP включен в файле .htaccess, затем введите необходимую информацию о вашей базе данных в области администратора, которую вы можете узнать у вашего хостера. Наконец, CMF требует адрес электронной почты, чтобы вы получили данные для доступа и могли сразу приступить к работе.

Совет

ProcessWire не предлагает хостинг. Если у вас еще нет хостинга, предложения IONOS могут вас заинтересовать.

Первые шаги в задней части

После первого входа в систему вас встретит пустой шаблон, который вы можете оформить по своему усмотрению. Вы можете найти его на сайте ProcessWire в разделе «Модули» > «Профили сайта» > «Пустой профиль ProcessWire». Кроме того, вы можете установить один из образцов шаблонов. Это даст вам первое представление о том, как строить и управлять сайтом в бэк-энде. Конечно, у вас также есть возможность создавать шаблоны для области администратора или загружать их как модуль. Таким образом, вы можете создать CMS, адаптированную, например, к потребностям будущих администраторов сайта.

Настраиваемые поля

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

Заполните все атрибуты поля, такие как имя, тип и метка. Вы также можете решить, что включить в поле: флажок, дату, текст или изображение. Сохраните новое поле и создайте еще несколько таким же образом, пока не создадите достаточное количество полей для вашего сайта. Также можно добавить дополнительные поля позже. Настройки нового поля показаны на нижнем экране. Его название — «TestTest». «Тип» показывает, что поле должно использоваться для ввода текста. Ниже можно ввести желаемую метку. В противном случае в качестве метки будет использоваться введенное имя.

Шаблоны определяют структуру

Далее перейдите к пункту меню «Шаблоны», который вы найдете в настройках (Setup). Благодаря шаблонам все страницы с одинаковыми задачами выглядят одинаково. Выберите «Добавить новые шаблоны» из PHP-файла на вашем сервере или запишите их. Если шаблон уже существует (например, базовый шаблон из загрузок), вы можете продублировать его для новой темы. Выберите шаблон из выпадающего меню в разделе «Дублировать поля, используемые другим шаблоном». Ваш новый шаблон содержит все поля из оригинального шаблона. Существующие поля сохраняются.

Примечание .

Убедитесь, что название понятно. Это облегчит пользователям работу с сайтом в дальнейшем.

Теперь вы создали новый шаблон, который впоследствии сможете определить более подробно. В демонстрационной версии ProcessWire в качестве примера используется веб-сайт о высотных зданиях, чтобы показать некоторые возможные варианты использования тем ProcessWire. Шаблон «Город», показанный на изображении ниже, использует в общей сложности 70 подстраниц на сайте. Первая вкладка «Основы» позволяет вставить в шаблон созданные вами поля. Шаблон «Город» имеет три поля: заголовок (тип: PageTitle), аббревиатура (тип: Text) и карта (тип: MapMarker). Все страницы этого шаблона имеют заголовок в шапке, необязательное сокращение заголовка и карту.

Поля можно расположить с помощью функции перетаскивания. Новые поля можно добавить с помощью пункта выпадающего меню «Добавить поле» или создать новое поле непосредственно в шаблоне. Метка дополнительно определяет тему. В разделе «Использование» можно просмотреть все страницы, использующие шаблон.

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

Кэш улучшает время загрузки сложно оформленных веб-сайтов. В категории «Дополнительно» найдите теги, переключатели и значки. Поскольку ProcessWire старается разместить инструменты там, где они вам нужны, вы также можете скопировать поля из других тем в редактор шаблонов в разделе «Импорт». Используйте опцию «Удалить», чтобы избавиться от шаблона.

Все является страницей

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

Новая страница будет построена в соответствии с шаблоном, определенным в «Skyscrapers». В демонстрационной версии семейные отношения для страницы уже определены. Для шаблона «Небоскребы» выберите родительскую страницу из заданных городов. Затем дайте странице название для заголовка и имя для URL.

Примечание

Как разработчик, вы также можете переименовывать вкладки. Позже редакторы найдут область содержимого страниц высотных зданий под заголовком «Небоскребы». Например, если вы перейдете на страницу «Альбукерке» в области администратора, вы увидите различные вкладки, которые вы можете настроить как администратор. На первой вкладке вы можете редактировать содержимое страницы. Рядом с ней находится вкладка для определения того, какие дети есть у страницы. Как администратор, вы можете переименовать эту вкладку, например, под названием «Небоскребы» — шаблон для всех детских страниц, подчиненных страницам с шаблоном города.

Сначала сохраните страницу, нажав на «Сохранить», перейдите в раздел «Страницы» > «Города» > «Альбукерке», выберите страницу-пример (Albuquerque Petroleum Building) и нажмите на «Редактировать». На вкладке «Настройки» задаются свойства страницы. Имя и шаблон уже созданы. Родительской страницей в примере является Albuquerque. Здесь вы определяете статус (скрытый, заблокированный или неопубликованный), права доступа и кэш. Настройте отдельные поля в области содержимого (здесь: Skyscraper Info). Шаблон Skyscraper определяет 12 полей:

  • Title (Заголовок страницы)
  • Высота (плавающая величина)
  • Этажи (целое число)
  • Год (целое число)
  • Архитекторы (Страница)
  • Тело (Текстовая область)
  • Карта (Маркер карты)
  • Изображения (Изображения)
  • Fieldset_Meta (FieldsetOpen)
  • FreebaseGuid (Текст)
  • WikipediaID (целое число)
  • FieldsetMeta-END

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

Резюме

ProcessWire — это универсальный CMF, который подходит как для небольших сайтов, так и для крупных проектов с несколькими доменами и целевыми языками. Тот, кто использует его для создания веб-сайта, должен иметь опыт работы с HTML и PHP. Операторы веб-сайта и редакторы контента обычно могут работать без проблем после короткого периода ознакомления. Удобство использования повышается благодаря модулям администрирования. ProcessWire набирает очки благодаря легкому программному пакету, стабильному API, многочисленным возможностям индивидуализации и полезному сообществу.

Оцените статью
cdelat.ru
Добавить комментарий