11-20 августа 2020

11 августа 2020. Некоторые планы относительно WordPress.
 
Хочется иметь объекты класса “блог”, которые бы вставлялись с помощью шорткода в заданное место произвольной страницы. Эти бы объекты состояли бы из “записей”, не являющихся самостоятельными объектами. Это означает, что у каждого блога есть свой метод “создать новую запись”, при этом уже созданные записи не переносимы из блога в блог. Записи в таком блоге не визуализируются поодиночке, только общей лентой (как в “живых блогах” или некоторых микроблогах). Присутствует постраничный вывод. У записей нет ни категорий (рубрик), ни группирующих их каким-либо образом и обособляющих тэгов. Права доступа определяются для всего блога в целом.

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

12 августа 2020. Я думаю, что вначале стоит реализовать в рамках новой концепции блогов исключительно хроноблоги, блоги с прямой хронологией и со статическими страницами, однако же при этом с возможностью вывода последних по дате записей на отдельной странице в обратном порядке, привычном для новостных блогов.
14 августа 2020. Структура хроноблога: название в хедере блога (опционально, поскольку название блога может быть расположено на странице, на которой размещен блог), описание, выводимое на титульной странице блога (страница [main]), постраничное оглавление, выводимое на всех страницах в футере, “новостная страница” (страница [news]) с последними записями, остальные страницы в хронологическом порядке (страницы [1]…[N]). У завершенных блогов “новостная страница” может отсутствовать.

Полагаю, что вывод отдельных страниц блога должен быть асинхронным.

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

А хроноблог – это, прежде всего, контент.
14 августа 2020. Конечно же, для реализации хроноблогов можно было бы использовать БД WordPress и группировать кастомные записи в блоги. Но такой подход, хотя и представляется вполне разумным и реалистичным, поскольку предоставляет все средства для редактирования записей, во-первых, несколько противоречит общему замыслу сместить акцент с записей на блоги, во-вторых, не вполне отвечает моим потребностям в организации доступа к контенту.

Поэтому я выбираю иное решение. Весь контент будет располагаться не в общей базе данных, а в файлах. Собственно говоря, плагин будет подгружать небольшую flat file CMS с предельно простой собственной админкой.

15 августа 2020. Насколько безопасны БД на файлах? Я могу сказать одно: проблемы безопасности большого “дредноута”, в котором необходимо максимально защитить жизненно важные узлы не имеют ничего общего с “роевой безопасностью”, поскольку у роя нет жизненно важных узлов. А если у роя в отличие от федеративной сети нет еще и единого протокола взаимодействия, если рой полифоничен, то потенциальные уязвимости “роевых построений” связаны с совершенно иными и отнюдь не столь очевидными вещами.
16 августа 2020. Черновой вариант блогов готов. На чистом PHP. Он даже с редактором, но мне удобней лично по старинке вручную править html, раз уж на файлах. Я же не блондинка. Но модные вещи тоже люблю. Иногда немного старомодные. Поэтому перепишу чистый PHP код на фреймворках. На Kohana/Koseven, на FuelPHP, на CodeIgniter. Это очень близкие и исторически, и концептуально фреймворки. Перепишу не ради функциональности, а ради сравнения логики фреймворков на простой модельной задаче. Есть одна особенность. Поскольку блоги встраиваются в WordPress, у них практически нет своего собственного View. На самом деле, хочется посмотреть, как эта задача реализуется и на Zend/Laminas, и на PHPixie, и на Fat-Free, и на Nette. Опять-таки, не для функциональности, а как упражнение в определенном взгляде на мир.
18 августа 2020. Совершенно отдельный разговор, нужны ли фреймворки для Private & Social DeepWeb. Я склоняюсь к мысли, что ясность кода применительно к DeepWeb – это его задокументированность, а не стандартность. DeepWeb-код не должен восприниматься с лёту, без включения головы. Иначе это плохой код. В отличие от кода коммерческого, который должен как раз требовать минимального времени на его понимание. Но тогда зачем фреймворки в DeepWeb? Насколько они нужны? Может быть, и не нужны, но уместны. И как культурное достояние, и как определенный стиль. И как то, чему все-таки при желании можно придать нестандартную форму.
19 августа 2020. И на самом деле попытки перевести raw PHP код на язык фрейморков дают очень много поучительного. В том числе связанного с нюансами программирования плагинов для WordPress. Но об этом, наверное, отдельный разговор и, вероятно, не на страницах общего блога.
20 августа 2020. Близка к завершению работа над предварительной версией Jalgolic 1k4. Весь ход работы задокументирован и опубликован в соответствующем открытом блоге. Там же, я думаю, появится и формальное описание языка. Что же касается его реализаций, всего процесса разработки транспилеров на JS, PHP и C, то он будет происходить за закрытыми дверями,
Поделиться в Диаспоре*:

Добавить комментарий