OMI-SPEC-300 — Архитектура на плъгините
Статус
Чернова
Версия: 0.1.0
Старият идентификатор: OMI-SPEC-008
Цел
Архитектурата на плъгините определя как платформата „Open Manuscript Initiative“ (OMI) може да бъде разширена, без да се променя основната платформа.
Всяка функция, която не е част от универсалния научен работен процес, трябва да бъде реализирана като плъгин.
Това гарантира модулност, оперативна съвместимост, лесност на поддръжката и дългосрочна устойчивост.
Принципи на проектирането
Архитектурата на плъгините се основава на следните принципи:
- Първо основното
- Модулна конструкция
- Стабилни интерфейси
- Свободна връзка
- Разширяем
- Независима от платформата
- Съвместимост с по-стари версии
Общ преглед на архитектурата
OMI Core
│
┌───────────────┼────────────────┐
│ │ │
▼ ▼ ▼
Discipline Renderer Integration
Plugins Plugins Plugins
│ │ │
▼ ▼ ▼
Annotation HTML OJS
Metadata PDF Crossref
Citation EPUB ORCID
Review JATS Zenodo
Ядрото дефинира интерфейси.
Плъгините осигуряват функционалност.
OMI Ядро
Ядрото предоставя само универсална функционалност.
Примери за това са:
- Модел на документа
- Модел „Анкор“
- Модел за анотиране
- Модел на метаданните
- Модел за цитиране
- Модел за преглед
- Плъгин „API“
- Система за събития
Всичко останало трябва да се включи в плъгините.
Категории на плъгините
Плъгини за дисциплина
Предоставяне на научни обекти, специфични за дадена дисциплина.
Примери:
- История
- Теология
- Математика
- Физика
- Химия
- Биология
- Медицина
- Право
Плъгини за рендериране
Създаване на формати за публикуване.
Примери:
- HTML
- EPUB
- DOCX
- JATS XML
- Markdown
Плъгини за интеграция
Свържете „OMI“ с външни услуги.
Примери:
- OJS
- OMP
- OPS
- Crossref
- DataCite
- ORCID
- ROR
- Zenodo
- GitHub
Добавки за работни потоци
Разширяване на редакционните работни процеси.
Примери:
- Двойно-сляпа рецензия
- Открито рецензиране
- Одобрение от редакцията
- AI асистент
- Процес на публикуване
Плъгини за потребителски интерфейс
Разширете потребителския интерфейс.
Примери:
- Панели
- Редактори
- Табла за управление
- Ленти с инструменти
- Инспектори
Импортиране на плъгини
Импортиране на външни формати на документи.
Примери:
- DOCX
- Markdown
- LaTeX
- JATS XML
- HTML
Плъгини за експортиране
Експортиране на семантични ръкописи.
Примери:
- EPUB
- DOCX
- XML
- JSON
Манифест на плъгина
Всеки плъгин съдържа манифест.
Пример:
id: omi-history
name: History Profile
version: 1.0.0
author: Open Manuscript Initiative
apiVersion: 1
license: MIT
Животният цикъл на плъгина
Плъгините следват определен жизнен цикъл.
Install
↓
Register
↓
Initialize
↓
Activate
↓
Execute
↓
Deactivate
↓
Remove
Възможности на плъгина
Добавките декларират своите възможности изрично.
Примери:
- добавя семантични обекти
- предоставя рендерер
- импортира документи
- издания за износ
- проверява метаданните
- разширява потребителския интерфейс
- проследява събитията
Система за събития
Добавките комуникират чрез събития.
Примери:
DocumentOpened
↓
AnnotationCreated
↓
CitationAdded
↓
ReviewSubmitted
↓
ExportStarted
↓
PublicationCompleted
Допълненията трябва да избягват преките зависимости, когато това е възможно.
Точки за разширение
Ядрото предоставя стабилни точки за разширение.
Примери:
- Документни обекти
- Метаданни
- Опорни точки
- Източници
- Преглед
- Рендериране
- Импорт
- Износ
- Потребителски интерфейс
Зависимости
Добавките могат да зависят от други добавки.
Пример:
History Plugin
↓
Citation Plugin
↓
Metadata Plugin
Цикличните зависимости не са разрешени.
Съвместимост на версиите
Всеки плъгин декларира:
- минимална версия на Core
- максималната поддържана версия на Core
- API версия
Това позволява безопасно извършване на ъпгрейди.
Сигурност
Добавките се изпълняват в рамките на определените разрешения.
Възможните разрешения включват:
- прочети ръкописа
- да се редактира ръкописът
- експортиране на данни
- достъпна мрежа
- записване на файлове
- достъп до външни APIs
Потребителите трябва да имат възможност да прегледат предоставените разрешения преди инсталирането.
Хранилище на плъгини
OMI може да предостави публично хранилище за плъгини.
Възможни категории:
- Официален
- Общност
- Експериментален
- Сертифициран
Тестване
Добавките трябва да предоставят автоматизирани тестове, когато това е уместно.
Препоръчителните тестове включват:
- единични тестове
- интеграционни тестове
- тестове за съвместимост
Документация
Всеки плъгин трябва да включва:
- README
- Лиценз
- Списък с промените
- Ръководство за инсталиране
- Ръководство за употреба
Бъдещи задачи
Бъдещите спецификации ще определят:
- Плъгин „API“
- Събитие „API“
- Разширение за потребителския интерфейс API
- РендерингAPI
- Протокол за хранилище
Хронология на промените
- 0.1.0 — Прехвърлено от временния адрес
OMI-SPEC-008към основния адресOMI-SPEC-300.
Обобщение
Архитектурата на плъгините на „OMI“ гарантира, че платформата остава лека, стабилна и разширяема.
Чрез дефинирането на ясни интерфейси и точки за разширение, „OMI“ дава възможност на общностите да разработват специфични за дадена дисциплина функции, формати за публикуване, интеграции и работни процеси, без да се налага промяна на основната платформа.