Создана открытая группа в Telegram.

Имя группы: abricosorg

Пригласительный на вступление: https://telegram.me/joinchat/CEauRAo69SR52cmK4zQtnw

Вступайте в группу, задавайте вопросы, следите за новостями.

0
04 Ноября 2016, 19:13
(0)

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

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

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

Хотя неоднократные попытки привести все в порядок периодически возникают.

0
26 Октября 2016, 21:26
(0)

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

В итоге за недельку набросал модуль doc  — редактор конструктор.

0
24 Октября 2016, 23:40
(0)

Всего каких-то пару лет и ядро вернулось в ветку мастер!

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

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

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

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

Также удобство этой сборки в том, что все основные модули в одном месте.

0
24 Октября 2016, 22:43
(0)

Вступление для тех, кто не знаком с 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
02 Октября 2015, 22:46
(0)

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

Итак, если обновляю боевой сайт с изменением версии ядра:

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 и открываю главную страницу сайта. Сайт обновлен.

Если обновление не содержит изменение версии ядра, то все практически тоже самое, за исключением создания полной копии файлов сайта — просто заливаю платформу с заменой.

Вроде ничего не забыл...

Если что не понятно, спрашивайте.

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

0
31 Августа 2015, 09:25
(0)

Вот сижу, осуществляю полный рефакторинг модуля "Финансы" под все самые последние возможности платформы 0.5.7, а тем временем в голове накопилось куча мыслей, с которыми хочется поделиться...

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

Экспериментальная система структуризации моделей приложения — придуманная мной в версии 0.5.7, сильнейшая библиотека YUI версии 3 — которую YAHOO прекратила поддержку, AbricosJS — JS шаблонизатор — который я вынес в отдельный проект,  Bootstrap от Twitter, и еще куча мелких, но значимых возможностей — все это позволяет в прямом смысле слова наслаждаться разработкой очередного проекта. Но речь не об этом.

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

0
29 Августа 2015, 20:38

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

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

0
04 Марта 2013, 22:13
(0)