Преминете към основното съдържание

Мултиплатформена архитектура на Studio

Open Manuscript Studio е проектирана като единна научна среда за създаване на съдържание, която работи в уеб, на настолни компютри и на мобилни устройства, без да се раздробява моделът на ръкописа или реализацията на работния процес.

Проектът не поддържа отделни приложения за всяка операционна система. Studio използва една обща ядро на приложението React/TypeScript и един общ модел на ръкописа OMI, докато тънките слоеве, специфични за всяка платформа, осигуряват нативни възможности, когато това е необходимо.

Състояние на платформата​

ПлатформаТекущо състояниеПосока на доставка
УебОперативноХоствано студио
WindowsРаботещаTauri 2 EXE/MSI
macOSАвтоматизирана цел за компилиранеDMG за Intel и Apple Silicon; мерките за сигурност при подписване/нотариализиране остават в сила
LinuxЦел за автоматизирано компилиранеAppImage и DEB
AndroidРаботеща публична бета версияУниверсален APK файл от работния процес за споделяне на версии; опаковане, съобразено с магазините, ще бъде добавено по-късно
iOS / iPadOSПотвърдена цел за създаване на нативна версияСъздаването на версия за симулатора на iPhone/iPad е успешно; разпространението чрез TestFlight/App Store изисква подписване от Apple Developer и окончателно свързване с Universal Link

Android вече не е само архитектурна или разработвателна платформа. От споделената кодова база на Tauri 2 се генерира публичен универсален APK файл, който използва същата логика за управление на акаунти, документи, преглед, интеграция и експортиране като останалите клиенти, като предлага адаптивно представяне, специфично за мобилни устройства, и обработка на файлове чрез native за Android рамката за достъп до документи и хранилище (Documents/Storage Access Framework).

iOS/iPadOS също вече не се ограничава само до планиране на архитектурата. CI вече генерира проекта Tauri/Xcode, компилира приложението за симулатора на iPhone/iPad с Apple Silicon и качва получения артефакт за симулатора. Оставащото ограничение, специфично за Apple, е физическото устройство и публичното разпространение: преди да бъде обявено публичното пускане на iOS, все още се изискват истинско подписване от Apple Developer, провижининг, асоцииране с Universal Link и валидиране чрез TestFlight/App Store.

Един основен процесор на Studio​

OMI Studio Core
│
┌────────────────┼────────────────┐
│ │ │
Web UI Desktop UI Mobile UI
│ │ │
Browser Tauri 2 Tauri 2
│ │
┌─────────┼─────────┐ ┌──┴────┐
Windows macOS Linux Android iOS/iPadOS

Общото ядро включва, когато това е технически възможно:

  • моделът за научни ръкописи „OMI“;
  • структурирано редактиране и поведение на документите, базирано на Tiptap;
  • метаданни, автори, цитиране, анотации и логика на версионирането;
  • многоезичен интерфейс и поддръжка на създаването на съдържание;
  • процедури за удостоверяване, възстановяване на парола и работа с свързани идентичности;
  • поведение при двойно-сляпа рецензия;
  • OJS и работни процеси за интеграция с OMP;
  • клиенти от институционалния сектор и администрацията;
  • логика на вноса, износа и профила за публикуване;
  • правила за валидиране, интегриране и съхранение.

Следователно дадена функция, реализирана в споделения ядрен модул, трябва да бъде достъпна за всяка поддържана платформа, освен ако операционната система или форм-факторът не изискват различно представяне или вградена реализация.

Слой за адаптиране на платформата​

Вградените услуги на операционната система са изолирани зад платформени адаптери, вместо да бъдат интегрирани в редактора или научния модел. Актуални примери за това са вграденият избор на папки/файлове, вградените диалогови прозорци за запазване, достъпът до Android Documents/SAF, достъпът до Apple Files/UIDocumentPicker, записването във файловата система, постоянният или ограничен от съображения за сигурност достъп до файловата система, предоставен от потребителя, поведението на програмата за актуализация на работния плот и прехвърлянето към вградена външна автентификация.

Вградената автентификация използва транспорт, подходящ за източниците на приложенията. Клиентите на Tauri могат да използват транспорт от типа „bearer-session“ и да споделят потоци за еднократно прехвърляне на външна автентификация за ORCID и конфигурирани OIDC доставчици, вместо да разчитат единствено на бисквитките на браузъра.

Интерфейси за настолни компютри и мобилни устройства​

„Мултиплатформеност“ не означава налагане на едно и също оформление на екрана на всяко устройство.

Desktop Studio вече поддържа раздели за работа с няколко документа, подобни на тези в браузърите, изгледи на Studio/Account на цял екран, както и включваща се структура на документа, подобна на тази в Word, разположена до редактора. Mobile Studio използва същата логика за работа с ръкописи и редактиране, но я представя чрез навигация, ориентирана към докосване, компактни елементи за управление, изскачащи панели и адаптивни панели. Таблетите могат постепенно да възстановят редактирането с няколко панела, когато размерът на екрана го позволява.

Настоящата работа по мобилната версия включва адаптивна навигация, изгледи на документи и подробности, достъп до акаунт/профил, елементи за въвеждане на данни, търсене, превключване на езика, излизане от системата, обработка на връщане от браузъра в приложението при използване на „ORCID“/OIDC, отваряне/записване чрез вграден файлов мениджър, вграден експорт и последователно представяне на бранда „OMI Studio“. Android използва Documents/SAF; iPhone/iPad използва Files/UIDocumentPicker. Това са въпроси, свързани с представянето и платформата; те не изискват отделни модели на ръкописа за Android или Apple.

Преносимост с приоритет на локалните данни и доверие в устройствата​

Моделът за работа на различни платформи подкрепя един от основните принципи на „OMI“: ръкописът не трябва да зависи от инсталирането на конкретно приложение, от доставчик на облачни услуги или от операционна система.

Ръкопис, създаден в Windows, трябва да може да се използва в Linux, macOS, Android, iOS/iPadOS или в браузъра, без да е необходимо преобразуване в модел на документ, специфичен за дадена платформа. Преносимите формуляри .omi.zip и OMI JSON предоставят ясно определени цели за обмен, докато сървърните услуги се използват само когато това се налага от изискванията за идентификация, сътрудничество, работни процеси за публикуване или директни интеграции.

Инсталираните клиенти вече въвеждат разграничение за доверие на ниво устройство.

Собствено устройство​

Когато влезлият в системата потребител маркира инсталирано устройство като свое, Studio може да запази обичайните местоположения на работните файлове в системата. Целевите платформи за настолни компютри могат да използват локални папки, монтирани/мрежови хранилища и папки, синхронизирани от настолни клиенти на доставчици. Android може да използва избрани от системата местоположения в „Документи“/„SAF“, докато iPhone/iPad могат да използват избрани от системата местоположения в „Файлове“/„UIDocumentPicker“, включително iCloud Drive и налични доставчици на документи от трети страни.

Споделено или чуждо устройство​

Новооткритите устройства по подразбиране преминават в режим „споделено/чуждо устройство“. В този режим Studio не запазва избрания път към локалния работен файл. Обичайният постоянен работен процес дава предимство на облачните връзки, принадлежащи към профила, с който сте влезли.

Потребителят все още може изрично да отвори или запише файл на сменяем/преносим носител или в друго място за съхранение на документи, предоставено от системата, но това място се третира като еднократна дестинация и не се запаметява като текущия работен файл.

По този начин се избягва да се твърди, че разпознаването на преносими сменяеми устройства е еднакво във всички операционни системи, като същевременно се запазва важното свойство за сигурност: локалните пътища към споделените устройства не се запазват.

Синхронизирани папки, специфични за даден доставчик​

Desktop Studio разглежда локално синхронизираната папка като метод за свързване към конкретния доставчик, а не като общ псевдо-доставчик.

За OneDrive, SharePoint, Google Drive, Dropbox, Nextcloud, iCloud Drive и подобни услуги за синхронизация с настолни компютри:

  • собственият клиент на доставчика извършва удостоверяване и синхронизация;
  • Studio никога не получава паролата на доставчика или токена „OAuth“ за този режим;
  • потребителят избира папка, синхронизирана с доставчика, чрез вградения диалогов прозорец;
  • пътят остава локален за устройството и е изолиран според влезлия потребител/доставчика/типа на акаунта;
  • обхватът на файловата система, определен от потребителя, може да се запази на собственото устройство;
  • Studio записва преносими файлове от типа „OMI“, докато клиентът на доставчика се занимава със синхронизацията по мрежата.

Пряките връзки чрез WebDAV/Nextcloud остават отделна интеграция със сървър, обхващаща рамките на профила, с криптирани идентификационни данни.

Работен процес с файлове, вграден в Android​

Android използва системния интерфейс „Documents / Storage Access Framework“, вместо общи разрешения за достъп до споделено хранилище.

Настоящият работен процес за Android поддържа:

  • отваряне на съществуващ документ от типа „OMI“ чрез избора на система;
  • Запазване в текущия избран документ;
  • Запишете на друго място;
  • преносимо устройство за архивиране „.omi.zip“;
  • Формати за експортиране, съвместими с Android, включително OMI JSON/package, JATS XML, HTML package, DOCX, LaTeX и EPUB.

Необработените идентификатори от типа „content://“ представляват детайли на реализацията и не се показват на потребителя като обикновени пътища във файловата система.

Работен процес с файлове, вграден в iOS/iPadOS​

iPhone и iPad използват интерфейса „Apple Files“ / „UIDocumentPicker“, вместо да осигуряват широк достъп до файловата система. Операциите по отваряне изискват достъп до документи в рамките на сигурността, а файлният слой на Tauri чете и записва избрания от потребителя URL адрес от типа file://.

В зависимост от инсталираните доставчици и конфигурацията на устройството, изборникът може да показва:

  • На моя iPhone / На моя iPad;
  • iCloud Drive;
  • свързано външно устройство за съхранение, поддържано от iOS/iPadOS;
  • файлове от външни доставчици, предоставени от инсталирани приложения за съхранение в облака.

Клиентът за iOS/iPadOS използва същия набор от опции за експортиране за мобилни устройства като този за Android: OMIpackage/JSON, JATSXML, HTMLpackage, DOCX, LaTeX и EPUB. Опциите, предназначени за настолни компютри — IDML, XTG, MIF, SLA, както и опциите за печат от браузъра —PDF — са скрити, вместо да се показват като нефункционални действия за мобилни устройства.

За подробности относно създаването, подписването и универсалните връзки, специфични за Apple, вижте Open Manuscript Studio on iOS and iPadOS.

Междуплатформена идентичност на профила​

Един и същ акаунт в Studio е създаден така, че да работи в браузъри, на настолни компютри и на мобилни устройства. Настоящите функции за споделена идентичност включват:

  • регистрация/вход/изход с парола;
  • процедура за възстановяване на парола за еднократна употреба с ограничен срок на валидност;
  • ORCID влизане/свързване;
  • Google, Microsoft и конфигурируемият институционален OpenID Connect;
  • управление на методите за вход чрез свързване със защита срещу блокиране;
  • данни от личния профил, отделени от членствата, свързани с конкретни институции;
  • Правата за достъп до институцията и централната администрация се разглеждат отделно от правата за достъп до ръкописите.

Идентичностите на външните доставчици се свързват въз основа на стабилна идентичност на издателя/субекта, а не въз основа на името за показване, а съществуващите акаунти не се обединяват автоматично само въз основа на съвпадение на имейл адреса.

Мобилните клиенти използват еднократно прехвърляне на автентификацията чрез нативни средства. Предпочитаният HTTPS адрес за връщане на приложението се хоства на app.openmanuscript.org, като персонализираната схема openmanuscript:// се запазва като резервен вариант. В iOS/iPadOS производственият HTTPS адрес за връщане изисква допълнително свързване чрез Apple Universal Link с действителния Apple Development Team ID.

Доставка на експортни файлове за различни платформи​

Експортният слой разделя генерирането на формат от предаването на файлове.

Hosted Studio използва стандартни изтегляния чрез браузъра. Инсталираните десктоп клиенти използват вградени диалогови прозорци за запазване и записване директно във файловата система. Android използва папки от типа „Documents/SAF“, а iOS/iPadOS – „Files/UIDocumentPicker“. И двете мобилни платформи умишлено ограничават видимия списък с формати за експортиране до тези, които са подходящи за съответната платформа.

По този начин се запазва една-единствена реализация на експортиращия модул за научните формати, като в същото време се дава възможност на всяка платформа да използва подходящ механизъм за предаване на файлове.

Услуги за споделени акаунти и работни потоци​

Уеб-клиентите и нативните клиенти използват една и съща граница на услугата „Studio“ за идентичността на акаунта, принадлежността към институция, рецензирането от колеги и външните интеграции. Архитектурата разграничава четири аспекта:

  1. научен статус — ръкопис, метаданни, съавтори, бележки и рецензии;
  2. идентичност/състояние на услугата — акаунти, сесии и данни за съвместна работа, съхранявани на сървъра;
  3. управленска структура — членство в институции и централна администрация;
  4. възможности на платформата — вграден достъп до файлове, пакетиране, поведение на програмата за актуализации и интеграция с мобилната/настолната среда.

Това разделение е важно за преносимостта: преминаването от браузър към Windows, Android или iPad не променя формата на ръкописа или протокола за рецензиране, а поемането на ролята на администратор в дадена институция не предоставя автоматично достъп до научно съдържание.

Настройки за многоезичие и регионални настройки​

В момента споделеният клиент поддържа 47 европейски езика за потребителския интерфейс. Настройките за езика на интерфейса, езика на ръкописа и езика на метаданните се управляват заедно в компактен и адаптивен панел за настройки. Часовите зони използват стандартни идентификатори на IANA с отклонения спрямо UTC и автоматично разпознаване на системната часова зона, вместо стойности, въведени като свободен текст, така че настройките на профила остават преносими между различните операционни системи.

Управление на мобилния работен поток​

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

В бъдеще вградените възможности могат да включват по-разширена работа в офлайн режим, по-богати работни процеси за споделяне и отваряне с други приложения, биометрични функции и известия от типа „push“, без тези функции да се прехвърлят в документалния модел на „OMI“.

Инженеринг на пускането на пазара​

Автоматизираният процес на пускане създава артефакти за Windows, Linux, macOS и Android от споделеното хранилище. За iOS/iPadOS вече има „smoke build“ за симулатора, задействан от PR, който генерира проекта в Xcode, компилира приложението за симулатора на Apple Silicon и съхранява артефакта на приложението. Подготвен е отделен ръчен работен поток за пускане на версии за Apple, предназначен за подписани пакети за устройства/App Store Connect, след като бъдат предоставени удостоверенията за Apple Developer.

Възпроизводимостта се подобрява благодарение на контролираните чрез lockfile файлове „JavaScript“, графовете на зависимостите в Rust/Tauri и пътеките за инсталиране в CI, които предотвратяват отклоненията в lockfile.

Моделът на разпространение разделя създаването на артефакти от инфраструктурата за осигуряване на доверие. Подписването на код за Windows, подписването/нотариалното заверение за macOS и подписването в мобилните магазини на Apple и Google са мерки за осигуряване на сигурността на версиите, които се прилагат върху общата компилация на приложението.

Защо това е важно за научното публикуване​

Поддръжката на различни платформи не е само удобство при внедряването. Авторите, рецензентите, редакторите, издателите и институциите трябва да могат да участват в един и същ научен работен процес от различни устройства, без да създават несъвместими копия на работата. Структурата, анотациите, цитатите, състоянието на рецензирането, метаданните и семантиката на публикацията трябва да остават стабилни, когато потребителят смени операционната система, доставчика на хранилище или формата на устройството.

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

Статус на изпълнението​

Доставката за уеб и Windows е оперативна част от Studio, Android е публична бета-цел, Linux/macOS са автоматизирани цели за нативни компилации, а iOS/iPadOS вече е валидирана цел за нативни компилации в симулатор на същата архитектура Tauri 2. Споделеният клиент включва работа с множество документи на десктопа, нативно съхранение, съобразено с устройството, обработка на Android Documents/SAF, обработка на Apple Files/UIDocumentPicker, идентичност на акаунта на различни устройства и федеративна автентификация, в допълнение към работния поток в браузъра. Публичното разпространение за iOS/iPadOS остава ограничено от изискванията на Apple Developer за подписване, провижиране, асоцииране на Universal Link и валидиране чрез TestFlight/App Store.

За актуални подробности относно реализацията вижте Studio Implementation Status, Open Manuscript Studio on iOS and iPadOS, Integration Implementation Status и Institutional and Central Administration.