Модуль «Projects» — публикация заказов и проектов — расширения функционала сайта биржи услуг и фриланса на CMS Cotonti. Документация. Инструкция. Настройки.

Cotonti Next (новая ветка Cotonti)

Cotonti Next

Cotonti представляет собой модульную систему управления содержимым и фреймворк на базе PHP и MySQL. Открытый исходный код, упор на безопасность, скорость и гибкость.

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

Уникальными отличительными чертами Cotonti можно считать следование принципам «собирательного фреймворка» и практически неограниченную настраиваемость внешнего вида и поведения.

Архитектура

Cotonti является легко расширяемой системой, как конструктор «Лего» или робот-трансформер. Это достигается благодаря разделению кода и поддержке различных видов расширений.

Некоторые из таких расширений поставляются в базовом пакете. Другие могут быть получены у сторонних разработчиков на свободной или коммерческой основе. Расширения могут взаимодействовать с системой и между собой с помощью общих точек входа — хуков (hooks). Расширения — общее название объединяющее как модули так и плагины (технически они очень схожи).

Ядро (cmf, фреймворк)
Основным фундаментом всей системы Cotonti является ядро, или проще говоря фреймворк состоящий из набора библиотек, классов, функций. Это базовая инфраструктура для расширений.
Расширения
Этот термин подразумевает особый вид пространства, связывающий фоновую работу библиотек фреймворка с расширенным функционалом и представлением. Сюда можно отнести модули, плагины.
Если модули расширяют функционал ядра (например FORUMS: модуль создания форумов), то плагины могут быть как самостоятельными единицами (например CONTACT: форма обратной связи), так и расширяющими функционал модулей, например COMMENTS: плагин комментариев для модуля N. При этом они взаимодействуют между собой и могут кастомизироваться.
Темы (шаблоны)
Этот функционал знаком многим, так как большинство движков имеют свои шаблоны. В Cotonti они являются отдельной единицей, выводящей итог работы расширений в браузер.
Раширения могут иметь свои файлы для темы. Например парсер будет искать файл шаблона, выводящий страницы статей (page.tpl) сначала в каталоге с темами, а если его там не будет, возьмёт его из папки tpl модуля PAGE.

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

Например, установив модуль страниц PAGE (по сути блог), в любой момент можно установить модуль FORUMS (полноценный форум), и так далее, для разных расширений. В любой момент можно установить / удалить из админки, без необходимости правок ядра.

Основные особенности

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

  • Безопасность и надежность
  • Быстрота, легкость, мультиязычность
  • Модульная архитектура и простые API
  • Легковесность, ясность и малое потребление ресурсов
  • Серверный кэш и оптимизация контента на стороне клиента
  • Полное разделение PHP-кода и HTML-разметки
  • Настройка каждого параметра выходного HTML-кода
  • Уникальный шаблонизатор, быстрый и простой
  • Продвинутая система создания экстраполей

Требования

Для установки Cotonti необходимо предварительно установить следующее серверное программное обеспечение:

  • Веб Сервер (Apache, Nginx)
  • PHP 8.0.0 +
  • MySQL 5.0.7 +

Конфигурация сервера

Убедитесь, что PHP был скомпилирован с поддержкой:

  • GD
  • Hash
  • Mbstring
  • MySQL
  • PCRE
  • PDO and PDO_MySQL
  • Sessions
  • Zlib для успешного запуска Cotonti.

Опциональные компоненты

Если вам нужна поддержка перенаправлений URL-адресов SEF (Search Engine Friendly), ЧПУ, понадобится mod_rewrite и возможность использовать локальные файлы .htaccess.

Установка

  1. Скопируйте datas/config-sample.php в datas/config.php и установите права на запись CHMOD 666 или CHMOD 664 (зависит от конфигурации вашего хостинга).
  2. Также выставьте права на запись для папок (в том числе вложенных) CHMOD 777 или CHMOD 775:
  • /datas/avatars
  • /datas/cache (и все вложенные подпапки)
  • /datas/defaultav
  • /datas/extflds
  • /datas/photos
  • /datas/thumbs
  • /datas/tmp
  • /datas/users
  1. Откройте браузер и запустите установщик: //ваш.домен/install.php
  2. Следуйте инструкциям на экране до конца установки.

Инструкция по установке также доступна в файле Install.md

ЧПУ и перенаправления

Если планируете использовать SEF URLs, ЧПУ:

  • Установите плагин URL Editor
  • Включите пресет «Handy» в Управление сайтом / Расширения / URL Editor / Конфигурация
  • Для Apache: скопируйте правила в файл .htaccess из /sef-urls.htaccess
  • Если используете Nginx, создайте в корне файл nginx.conf, скопируйте в него правила из /sef-urls.nginx.conf

История развития от LDU до Cotonti Siena

История развития уходит корнями в начало 2000 годов (подробнее в Википедии):

  • 2001 год -> LDU
  • 2006 год -> Seditio
  • 2009 год -> Cotonti Siena

Cotonti возникла в результате попытки опытных энтузиастов из числа сообщества Seditio улучшить систему в ситуации, когда официальная команда бездействовала или не принимала патчи в проприетарный код. Началом проекта Cotonti в 2008 году стал пакет улучшений для Seditio, после чего, 1 февраля 2009 г. состоялся первый публичный релиз Cotonti в качестве самостоятельного продукта. Это стало возможным после того, как было получено официальное разрешение от Neocrome на релиз Cotonti и унаследованный ей код Seditio в качестве открытого исходного кода.

Почему Cotonti Next

Изначально Cotonti Siena развивали активно, была команда, сообщество, активный форум. Но некоторые разногласия насчет пути развития и позиционирования не удавалось разрешить консенсусом, поэтому активность постепенно угасала.

Всё реже стали выходить релизы, всё дольше приниматься правки. Команда начала расходиться по другим проектам. Если посмотреть на развитие Cotonti Siena за последние 5 лет, в период с 01.01.2016 по 01.01.2021, оно практически остановилось.

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

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

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

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

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

Цель проекта Cotonti Next: развитие индивидуальной ветки, для использования на собственных проектах и в своём кругу, сохраняя при этом особенность Cotonti быть одновременно CMF и CMS, модульность и расширяемость. Таргетинг проекта — на рунет. Исходный код открыт и доступен для всех желающих. Личный опыт будет описан отдельно, всему своё время.

Авторские права

Copyright © 2021, NikWebit

Copyright (c) 2008-2021, Cotonti Team

Copyright (c) 2001-2008, Neocrome

Все права защищены.

Лицензия

BSD 3-clause License

Хостинг без головной боли

Тариф "Старт" - оптимально, не дорого, полностью готовый и проверенный хостинг для установки такого сайта, - сборка фриланс биржи и маркетплейс услуг, продукции, цифровых товаров.

1 месяц на тест бесплатно + сервисный домен
(свой домен прикрепить и протестирвать можно даже на бесплатном тестовом периоде хостинга)

Оставьте комментарий

Прокрутить вверх