Change Log

Эту страницу не рекомендуется править на локальной-вики, лучше воспользуйтесь ThisSite.ChangeLog?. Если это действительно необходимо, внесите правки через корневую вики вашей фермы.

v 0.1 ( отличия от дефолтной поставки с www.pmwiki.org )

  • поддержка кириллицы, т.е. UTF-8
  • удалена генерация CSS-стилей внутри html-кода
  • интегрирован css-фреймворк Bootstrap 3.3.0, верстка на его основе
  • предпросмотр в Less и online-компилятор для администратора
  • отдельная панель администратора с вынесенными кнопками
  • поддержка Clean URLs (то есть ЧПУ)
  • активирована поддержка большинства html-тегов, вывода html-кода "как есть", перенос строки = br
  • в robots.txt служебные страницы закрыты от индексации

v 0.2

  • less-компилятор перенесен в отдельную директорию и обновлен в соответствии с demoless.finar.ru
  • бутстрап обновлен до 3.3.6
  • из макетов убраны все JS-скрипты для поддержки старых браузеров + решения, которые не используются в сборке + jQuery теперь вызывается с google

  • Макет дизайна получил имя ThisSite, настройки вынесены в отдельную группу ThisSite.ThisSite и помещены в директорию макета

Где хранить системную конфигурацию | 2016-06-14
Проблема: скины требуют самоконфигурации

  • для thisSite - заголовки, настройки макета
  • для editMode:
    • синтаксис, собираемый, в частности, из Cookbook/*-Syntax
    • альтернативная форма Site/EditForm (но вообще-то она скорее нужна даже для phFieldProcessing.php)

Оказывается, существует способ создавать дефолтные Wiki-страницы внутри папок самих скинов (в /wikilib.d ), чтобы скины можно было распространять "как вещь в себе" (см. SkinGuidelines#bundling)

Но мы пока так не будем делать, поскольку у нас на данный момент задача распространять как "вещь в себе" не скины и рецепты по отдельности (что существенно сложнее), а целиком всю установку PmWiki

Я попробовал вынести Site/EditForm в editMode/wikilib.d/ , но это вызвало следующие проблемы:

  • скин editMode используется только во время редактирования, но посмотреть-то код тоже нужно бывает нужно
  • значит, тут же надо искать файлы и в случае скина thisSite
  • чтобы не лепить костылей (в виде перечисления руками всех мест, где искать), необходимо будет переместить editMode внутрь thisSite, (см. SkinTemplates)
    • однако Site/EditForm , вообще-то, нужна скорее для phFieldProcessing.php, а не для макета, так что такие трудозатратные действия выглядят излишними

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

Окончательное решение: в результате макеты дизайна все-таки были объединены, концепция хранения "мастер-страниц" внедрена, наряду с концепцией ThisSite

  • в общем и целом - режим редактирования
  • админ-панель стандартизировано в соответствии с Ph:AdminPanel
  • отдельный макет дизайна для режима редактирования
  • уникальный JS-код для каждого макета дизайна выделен из index.js и подключается сепаратно
  • визуальные gui-кнопки
  • RememberEditPosition
  • $TimeFmt = '%Y-%m-%d'; // dates as "2005-09-08"
  • $EnableRedirectQuiet
  • секционное редактирование
  • поля title, description, ctime, CustomHeadCode в режиме редактирования объекта
  • багфикс: при редактировании Главной сайта, дополнительные поля не передавались в форму

v 0.3

  • обеспечена совместимость сборки с режимом работы в качестве вики-фермы.

Чтобы доделать Карту Сайта так, как я задумал, надо вытащить из Uploadify функционал, связанный со вставкой кода в тело страницы в режиме редактирования, и оформить его в виде отдельного решения. Это факт.

Но, глянув на этот Uploadify я "че-т приуныл"... Это будет тяжко.

Проблема в чем? Проблема в том, что очень много сущностей. Less, php, js, настройки wiki. Скрипт сложный и точно будет требовать допила в будущем. Теперь предположим, мы внедрим это на master02. На master03 И pmwiki.ru И master04 будут копии. Правка косяков на master02 приведет к необходимости обновлять все остальное.

Кроме того, скрипт требует допила:

  • выпила "вставки кода в тело страницы" в отдельный никак не связанный, но конфигурируемый рецепт
  • отделения конфигурации от ядра, для обеспечения обновлений
  • возможно, внедрения css кода внутрь рецепта, чтобы сократить количество сущностей

На текущий момент видится следующий путь решения задачи:

  • выпиливаем uploadify из master02
  • переносим его на отдельный uploadify.demo.finar.ru
    • разделяем конфигурацию, wiki-конфигурацию, ядро
    • внедряем версионность всего так, чтобы править/допиливать можно было в одном месте, копируя это только туда, куда нужно в данный момент
  • внедряем по-новой на master03, затем pmwiki.ru, затем master04... как-то все сложно и геморно.

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

В связи с этим есть гипотеза, что начиная с версия master03 должна превратиться просто в master, а pmwiki.ru должна стать ее подфермой.

Итак, план действий:

  • выделяем отдельный Рецепт для Editmode, связанный со вставкой кода в тело страницы в режиме редактирования, применяем его ко всему Синтаксису
  • завершаем прочие работы по master02
  • делаем репликант на --master03-- master
    • после этого выпиливаем uploadify из master02
    • рефакторим рецепт uploadify
    • из master.pmwiki.ru делаем ферму
      • суть в том, что pmwiki.ru сам по себе остается мастер-движком, где хранятся все "мастеры" всех рецептов
      • содержимое сайта pmwiki.ru с уникальными статьями и надстройками станет его поддиректорией (по аналогии с мемофильмом), содержащей по сути только визуальную спецификацию + дополнительный контент
      • чтобы создать новый сайт, достаточно скопировать весь master.pmwiki.ru кроме его поддиректории pmwiki.ru
    • отныне все мастеры внедряемых решений живут на pmwiki.ru, далее мы просто добавляем "комментарии" и "sourcecode", версионность мастеров более не используется.

Окончательное решение:

  • master02 должен быть последним последовательным мастером, без "тяжелого" функционала, содержащая только ядро
  • версия master03 становится базовой master, в которую очень аккуратно и размеренно внедряются все возможные Рецепты с версионностью, документацией и т.д.
  • pmwiki.ru должна стать "подфермой" master.pmwiki.ru (если это получится сделать), чтобы сократить количество копий.
  • создана страница InterMap для обеспечения возможности ставить intermap-ссылки на нашу документацию и рецепты
  • внедрен Ph:PmWikiPh/SitemapsPack

master.pmwiki.ru

  • проект перенесен на http://master.pmwiki.ru/ , версионность ликвидирована
  • теперь есть master.pmwiki.ru с "ядром фики-вермы" и pmwiki.ru с дополнительными Расширениями к нему
  • внедренные решения теперь фиксируются здесь: http://master.pmwiki.ru/ThisSite/ThisSite
  • проведен рефакторинг и внедрение основного массива Рецептов

2017-02-07

  • добавлена визуализация системного класса wikimessage для служебных сообщений движка
  • рассылки уведомлений о редактировании страниц теперь включены по-умолчанию, уведомления срабатывают только при важных правках
  • режим редактирования доработан: поле Автор сделано обязательным, добавлены некоторые пояснения и перевод
  • теперь страница попадает в RecentChanges только если при ее редактировании изменение помечено как важное

2017-02-08

  • движок обновлен до версии 2.2.94

2017-02-10

  • доработано определение переменной $pagename везде, теперь она работает стабильнее и в дочерних вики, и в Рецептах
  • в Режиме Редактирования:
    • поправлен баг с кнопкой Cancel
    • кнопки сделаны бутстраповскими

2017-02-13

  • в PageActions добавлено отображение размера текущей ширины страницы в терминологии Bootstrap

2017-04-18

  • разработан pagelist-шаблон "todo" для вывода todo-листов для автоматизации страницы ToDo? и, например, профилей пользователей. Теперь на любой странице в любом месте можно создать якорь "todo", все написанное под ним (до следующего якоря или конца страницы) автоматически попадет в общий ToDo?, а также в персональный todo на странице профиля каждого разработчика (пример?).

2017-04-25

  • проработана логика формирования "хлебных крошек"

2017-04-27

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

2017-05-06

  • добавлена возможность создавать до двух собственных настраиваемых табов в режиме редактирования
  • добавлена икона для ссылок, имеющих title

2017-10-13

2017-10-26

  • ядро обновлено до версии 2.2.104
  • бутстрап обновлен до версии 3.3.7

2017-11-19

2017-12-06

Добавлена разметка для $IMapLinkFmt['Attach:'], теперь ссылки на файлы-аттачи формируются так: <a class='ph-attach' href='\$LinkUrl'>\$LinkText</a>

2018-07-24

  • ядро обновлено до версии 2.2.109
  • в массив $SearchPatterns добавлены исключения для list=normal: группы ThisFarm И все группы, начинающиеся на ThisSite

2018-07-26

  • в ThisFarm.PageActions добавлена кнопка добавления новой страницы через модальное окно с транслитерацией и шаблонизацией
  • сформулирована и предуготовлена концепция шаблонизации контента, см. ThisSite.GroupsContentTemplates

2019-03-11

  • бутстрап обновлен до версии 3.4.1