Создана открытая группа в Telegram.
Имя группы: abricosorg
Пригласительный на вступление: https://telegram.me/joinchat/CEauRAo69SR52cmK4zQtnw
Вступайте в группу, задавайте вопросы, следите за новостями.
Бесплатная система управления сайтом, интернет-магазином. Лицензия GPLv2
Создана открытая группа в Telegram.
Имя группы: abricosorg
Пригласительный на вступление: https://telegram.me/joinchat/CEauRAo69SR52cmK4zQtnw
Вступайте в группу, задавайте вопросы, следите за новостями.
Очередной раз получил письмо с негодованием по поводу документацией в платформе. Начал было отвечать на него, но ввиду регулярности таких писем и размером ответа, отвечу записью в блоге.
Сразу скажу, что с негодованием по поводу документацией в платформе, ее устарелыми инструкциями по установке, и прочим, жизненно необходимым текстом — согласен. Проблема была, есть и возможно сохраниться еще неопределенное время. Да чего уж говорить, если уж официальные дистрибутивы на сайте 2013 года до сих пор...
Причина проста — для меня процесс разработки настолько увлекательный, что на документацию попросту не остается времени.
Хотя неоднократные попытки привести все в порядок периодически возникают.
Для одного из своих проектов возникла необходимость создать базу знаний из документов, но таким образом, чтобы можно было каждый абзац, раздел и прочий элемент документа использовать в другом модуле. Причем ссылаться на определенный текст можно было бы с соблюдением иерархии в документе: Страница -> Раздел -> Абзац.
В итоге за недельку набросал модуль doc — редактор конструктор.
Всего каких-то пару лет и ядро вернулось в ветку мастер!
Можно сказать, что глобальных изменений в ядре 0.5.7 возможно больше не будет, хотя...
Но речь не об этом, а о том, что из-за столь долгих странствий ядра, все основные модули также развивались минуя мастера. Что являлось крайне не удобным и мучительным. А иногда и вызывало путаницу.
Вот как раз для устранения беспорядка и была создана сборка allrepos, которая включает в себя все основные модули платформы и их актуальные на сегодняшней день версии (бранчи).
Теперь, при создании очередной сборки очередного проекта, я смотру в multik.json сборки, в котором указаны актуальные бранчи модулей и ядра.
Также удобство этой сборки в том, что все основные модули в одном месте.
Обновлен дистрибутив сборки для управления персональными делами и финансами до версии 0.1.2beta.
Ключевые обновления:
— добавлен обновленный модуль «Менеджер проектов и задач»;
— добавлен новый модуль «Графические закладки»;
— прочие множественные правки (устранение багов, добавленные фишки) в ядре и модулях.
Скачать сборку можно на Github: https://github.com/abricos/abricos-person/releases/tag/v0.1.2beta
Сегодня написал простейший модуль выгрузки прайс-листа на сайт.
Модуль доступен в репозитории по адресу: https://github.com/abricos/abricos-mod-price
Для работы модуля необходима платформа не ниже версии 0.5.7
Вступление для тех, кто не знаком с Github...
Определить деятельность довольно просто.
Так как ядро и все основные модули находятся в репозиториях на Githab-е по адресу https://github.com/abricos, то уже смотря на этот список видно, когда последний раз вносились изменения в тот или иной репозиторий. Да и сам список сортируется по дате изменения. Но вот какая именно идёт работа в исходниках, не всегда понятно.
Для получения более детальной информации, нужно сначала определить в какой ветке идёт работа, а потом и просмотреть список вносимых изменений.
На примере модуля Комментарии, заходим в список веток (branches): https://github.com/abricos/abricos-mod-comment/branches.
На текущий момент видим, что последние изменения вносились в ветку 0.4.3. Жмем на нее, тем самым переходя в исходники этой ветки, и далее жмем на [N] commits (N-всего изменений — коммитов). Перед нами открывается список проделываемой работы по этому модулю.
Теперь, собственно, пару строк о работе и некоторых планах.
Как я уже и говорил в разных уголочках этого сайта, вся работа сейчас сосредоточена над ядром версии 0.5.7 и переводом модулей под эту версию.
Обновлен дистрибутив сборки для управления персональными делами и финансами до версии 0.1.1rc1.
Ключевые обновления:
— добавлен обновленный модуль «Блокнот»;
— добавлен обновленный модуль «Стикер»;
— полностью переработаны модули «Профиль пользователя», «BosUI»;
— обновлен визуальный редактор TinyMCE до версии 4.5.2;
— прочие множественные правки (устранение багов, добавленные фишки) в ядре и модулях.
Скачать сборку можно на Github: https://github.com/abricos/abricos-person/releases/tag/v0.1.1rc1
Доступен для загрузки дистрибутив сборки для клубов версии 0.1.0beta.
Данная сборка создана на базе платформы Абрикос 0.5.7
Скачать дистрибутив можно на Github: https://github.com/abricos/abricos-club/releases/tag/v0.1.0beta
Состав сборки можно посмотреть здесь:
— новая версия редактора TinyMCE (4.2.5);
— обновлен дизайн панели управления;
— новые версии модулей Новости, Обратная связь, Профиль пользователя и другие;
— отлаженный механизм структуризации модулей;
— и многое другое (см. changelog к модулям).
Программистам рекомендую глянуть модуль Новости в качестве примера. Теперь новая, улучшенная архитектура ядра платформы позволяет создавать модули намного быстрее и комфортнее.
Всегда и во всем я руководствуюсь простым правилом: — Неважно какой движок, сайт, сервис или версию я обновляю, важно наличие полной резервной копии. Даже если создание резервной копии в несколько раз по времени превышает накат обновления или мелкой правки (случаи с другими движками, системами).
Итак, если обновляю боевой сайт с изменением версии ядра:
1. Делаю самый актуальный дамп базы и выгружаю на локальный сервак;
2. На локальном серваке поднимаю копию сайта, но с чистым движком. Это проще, если все файлы, не относящиеся к движку, содержатся в сборке проекта.
3. Если сборки проекта нет, создаю ее, наполняю всеми необходимыми файлами, шаблонами и т.п. и фиксирую ее в приватном репозитории. (https://gitlab.com/, https://bitbucket.org/ and etc.).
4. На локальном сайте обязательно включаю режим разработчика в config.php и открываю главную страницу сайта. В этот момент платформа определяет наличие изменений версий и накатывает обновления в базы данных.
5. Тестирую локальную версию сайта. Кстати, в версии платформы 0.6.0 разработал механизм покрытия ядра и модулей тестами. Так что, в скором будущем с выходом версии 0.6.0 кол-во багов будет на порядок меньше.
6. На боевом сервере останавливаю сайт и в его настройках (config.php) включаю режим ReadOnly.
7. Очередной раз делаю актуальную копию дампа базы данных и так же делаю полную копию текущих файлов сайта.
8. Заливаю новую версию платформы на боевой сервер, отключаю режим ReadOnly и открываю главную страницу сайта. Сайт обновлен.
Если обновление не содержит изменение версии ядра, то все практически тоже самое, за исключением создания полной копии файлов сайта — просто заливаю платформу с заменой.
Вроде ничего не забыл...
Если что не понятно, спрашивайте.
Да, кстати, этот процесс у меня практически полностью автоматизирован всевозможными скриптами. Так что, если возникнет необходимость в них, скажите, скину их куда нибудь в репозиторий.