Подсистема Вики — интеграция 1С и сайта под управлением MediaWiki






Редактирование статей сайта Mediawiki из 1С. Формирование функционального описания конфигурации на сайте Вики.

Зачем это надо

Каждый, кто сталкивался с разработкой и сопровождением достаточно сложных систем, знает, насколько ценно бывает знать и хранить информацию об изменениях, их причинах и истории. Также возникает необходимость держать где-то информацию для техподдержки с описанием принципов работы и/или информацию для пользователей. На текущий момент из инструментов есть встроенный хелп 1С и конфигурация СППР. И то и другое достаточно неудобно по ряду причин.

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

В СППР неудобная синхронизация. Ну масса неудобств и неоднозначностей в использовании.

В результате, даже если в начале времени и желания на создание описаний хватает – то очень скоро из-за неудобства люди начинают «забывать» вносить туда информацию и ценность такой системы резко падает. Данная система не зависит от обновлений и не требует специальных знаний.

Цели

  • Создание функционального описания конфигурации в единообразном стиле
  • Доступность описания
  • Привычный вид описания (википедия прочно вошла в жизнь каждого)
  • Простота корректировки описания
  • Простота организации структуры, перекрестных ссылок, взаимосвязей объектов
  • Описание структуры объектов и их взаимосвязей в конфигурации

Возможности

  • Редактирование статей вики из 1С
  • Категоризация статей — возможно иметь произвольное дерево категорий в Вики. Статья может принадлежать любому количеству категорий
  • Автоматическое построение взаимосвязей
  • Единообразие статей за счет использоавния шаблонов
  • Описание объектов строятся на основании структуры метаданных конфигурации
  • Ведение полной истории изменений каждой статьи с указанием авторства, возможность отмены правок

Примеры описаний

Требования

Версия платформы 1С >= 8.2.17; специальных разрешений модальности/синхронных вызовов не требуется

Сайт под управлением MediaWiki версии 1.26 и старше с установленным расширением Semantic MediaWiki

Инструкция по установке сайта с необходимыми расширениями

Интеграция

Скачать конфигурацию с подсистемой, либо клонировать репозиторий из проекта на Bitbucket и загрузить конфигурацию из файлов

Сравнить, объединить с целевой конфигурацией.

Добавить код вызова подсистемы в модули

Использование

Редактирование текстов происходит в обработке Вики. Редактор

Для настроек и администрирования используется обработка Вики. Администрирование

Тестировалось

На версиях платформы 8.2.19.83, 8.3.6.2332, 8.3.10.2505 ОС Windows

См. также

Проект на Bitbucket

Вики проекта на Bitbucket

Функциональное описание

Статья по Semantic Mediawiki на хабре

Скриншоты

Порядок обновления подсистемы

Статья

История версий

0.4.4.2

+ Редактор. Добавление/изменение/удаление изображений в редакторах

+ Общее. Добавление/изменение/удаление изображений, загруженных на сайт Вики

* Интерфейсные правки

0.3.4.5

* Общее. Все изменяемые алгоритмы вынесены в выбираемые адаптеры. Возможность назначения используемых адаптеров.

— Общее. Требование использования модальных окон. Унификация вызовов диалогов по асинхронным вызовам, эмуляция асинхронных вызовов для платформы 8.2

0.3.4.4

+ Общее. Выделение выбранных категорий, включая родителей в деревьях выбора категорий

+ Настройки. Возможность указать таймаут соединения (время ожидания ответа).

+ Настройки. Выбор использования фильтра по подсистемам при выборе объекта метаданных.

+ Общее. Значительно уменьшено время записи страницы (примерно в 3.5 раза).

+ Общее. Добавлена типизация используемых семантических свойств.

— Администрирование. Удалена возможность очистки кэша — неизвестное время выполнения на больших количествах страниц. Необходимо использовать обновление ссылок.

— Ошибка получения обработки адаптера диалога в толстом клиенте обычном приложении.

— Ошибка трансляции содержания при наличии пустых форматированных строк.

— Удалено построение обратной связи (объект используется в) объектов. Связано с превышением допустимого размера страницы при наличии нескольких реквизитов составных типов в объекте.

0.3.4.3

+ Администрирование. Управление баннерами категорий.

+ Администрирование. Очистка кэша страниц сайта

+ Администрирование. Обновление ссылок на страницах сайта

+ Общее. Длительные операции выполняются в фоновых заданиях.

— Ошибка ограничения доступа к обработке обновления

0.3.4.2

* Общее. Составные типы реквизитов при возможности сворачиваются до ссылок на категории объектов.

+ Общее. Возможность описания констант, планов счетов, планов обмена, планов видов характеристик.

+ Администрирование. Управление пользователями сайта — создание, изменение ролей пользователей на сайте Вики

+ Администрирование. Обновление страниц — контроль версии конструктора , использовавшегося при построении страниц, обновление состава и структур страниц сайта

— Ошибка получения описания реквизита при его переименовании в конфигурации.

0.2.4.6

Стабильная опубликованная версия

18 Comments

  1. Synoecium

    Интересная тема, когда-то делал нечто подобное на google sites, получалось симпатично и не сложно для правок. Но руководство не увидело ценности в такой системе, поэтому забросил. У вас фишка — редактирование из 1с, что может быть действительно удобнее чем несвязанная вики.

    Reply
  2. shmalevoz

    (1) Работа в одно окно была одной из отправных точек при создании. Целевая идея была в максимальном удобстве создания статей для авторов, по обратной связи было очень неудобно переключаться между окнами при создании/правке статей.

    Reply
  3. twiny

    Внедрив какое-то решение у клиента, подразумевается, что еще нужно запустить в интранете сайт с вики и туда уже пулять всю инфу?

    А есть ли решения, которые интегрируются в конфигурацию, хотя бы к новым на основе БСП, которая бы позволила хранить/редактировать/создавать свою внутреннюю справку для конфигурации пользователя? Со своими вложениями, связками, деревьями, оформлением и тд и тп. Понимаю, что частично это велосипедный вопрос, но все-таки…

    Reply
  4. shmalevoz

    (3)

    запустить в интранете сайт с вики

    . Да, но это несложно и недолго, инструкций масса.

    (3)

    А есть ли решения

    . Вспоминается только СППР. Но там свои подводные камни. Главное отличие СППР и представленного это начальная точка использования инструмента.

    В СППР проект описывается «сверху вниз» — функции, информационные потоки и затем их реализация в модели метаданных, что делает высоким порог вхождения в уже существующем и развивающемся проекте. Плюс необходим навык работы с самим СППР.

    Здесь же проект описывается «снизу вверх» — описываются объекты метаданных, присваивая им те или иные категории, начать формировать документацию возможно на любой стадии развития проекта.

    Reply
  5. nicxxx

    Добрый день. Все получается сделать, кроме parsiod и visual editor, но в результате статьи в wiki доступны только по прямым ссылкам. А как сделать содержание на первой странице?

    Reply
  6. shmalevoz

    (5)

    кроме parsiod и visual editor

    Исправил недочеты в описании установки

    (5)

    на первой странице

    Заглавную страницу вики надо создавать вручную. Сложно придумать общий шаблон.

    Reply
  7. nicxxx

    (6) Я понимаю, что надо вручную. Как получить список всех страниц с описанием объектов метаданных, которые появляются в вики после инициализации подсистемы? Пройтись по базе данных и выбрать по префиксам? Только так?

    Reply
  8. shmalevoz

    (7)

    страниц с описанием объектов метаданных

    На заглавной странице можно разместить дерево категорий (пример), за его построение отвечает расширение CategoryTree. Все записываемые из редактора статьи будут автоматически размещены в одной из предопределенных категорий в видах объектов метаданных.

    При инициализации статьи по объектам НЕ создаются, создаются только используемые предопределенные категории/шаблоны.

    Reply
  9. maxx

    Пытаюсь развернуть по вашему описания mediawik. После подключения Semantics вот такая ошибка:

    «MediaWiki internal error.

    Original exception: [447fb33bc0ce51733ef5c13e] /index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0 WikimediaRdbmsDBQueryError from line 1075 of /var/www/html/mediawiki/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application’s database schema updater after upgrading?

    Query: SELECT smw_id,smw_sortkey FROM `smw_object_ids` WHERE smw_title = ‘Заглавная_страница’ AND smw_namespace = ‘0’ AND smw_iw = » AND smw_subobject = » LIMIT 1

    Function: SMWSql3SmwIds::getDatabaseIdAndSort

    Error: 1146 Table ‘wiki.smw_object_ids’ doesn’t exist (localhost)»

    Не знаете, что может быть?

    Reply
  10. shmalevoz

    (9)

    вот такая ошибка:

    . Скорее всего не был запущен скрипт обновления после установки расширений.

    В каталоге mediawiki запустить

    php maintenance/update.php —skip-external-dependencies
    Reply
  11. maxx

    (10) Помогло спасибо. Может быть у меня была проблема в том , что в вашем описании этот скрипт стоит перед тем как подключается Semantic в файл(enableSemantics(‘localhost’), а его наверное нужно запускать позже.

    Reply
  12. maxx

    Ещё вопрос в ваших примерах есть переходы (ссылки) по реквизитам ссылочного типа на страницы (у вас из Номенклатуры можно перейти через реквизит «Единица измерения» на справочник «Единицы измерения») , у меня реквизиты сами появляются на странице описания, но вот ссылок на переходы нет . Что не так?

    Reply
  13. shmalevoz

    Все так. Для экономии места ссылки на типы реквизита скрыты под спойлер. Нажмите «Тип(ы)» справа от реквизита чтобы показать/скрыть ссылки на его тип(ы)

    Reply
  14. maxx

    (13) надпись ‘Типы’ тоже нет у ссылочных типов , хотя у реквизита с типом Строка это надпись есть

    Reply
  15. gubanoff

    (0) как сделать в MediaWiki адекватный аналог полнотекстового поиска в 1С? Чтобы искало не только совпадение на слово целиком, но и его формы, падежи, числа. Сейчас полная печаль с поиском. Плюс поиск только по определенным разделам, категориям, тегам.

    Reply
  16. shmalevoz

    (15) можно посмотреть в сторону

    https://www.mediawiki.org/wiki/Help:CirrusSearch/ru

    Reply
  17. Foxx

    (3)

    А есть ли решения

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

    Т.е. не заточенную именно на описание структуры метаданных конфигурации, а вообще с произвольным содержанием.

    На обычных формах.

    https://infostart.ru/public/100636/

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

    Толковый программист сделает из этого что угодно).

    Reply
  18. big_ooo

    установил у себя версию 0.4.4.2

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

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *