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
это нужно, чтобы последующий li не думал, что он часть того же списка и дал сделать кнопку из себя
- Макет дизайна получил имя 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
- внедрен рецепт PageList MultiTargets
2017-10-26
- ядро обновлено до версии 2.2.104
- бутстрап обновлен до версии 3.3.7
2017-11-19
- ThisSite.PageActions разделен: теперь общие для фермы ThisFarm.PageActions включают в себя локальные ThisSite.PageActions текущего сайта
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