Omniscol қалай жұмыс істейді — бір API, бір ақиқат көзі
Omniscol қалай құрылғанын интеграциялау алдында білген жөн: бұл API-дің неге осыншалықты толық екенін, интерфейстің әр пайдаланушыға қалай бейімделетінін және ескеретін бір құпиялылық мәселесін түсіндіреді.
Бір API үстіндегі бір қосымша
Omniscol браузеріңізде бір веб-қосымша ретінде жұмыс істейді. Әрбір экран, батырма және деректер кестесі Omniscol-дың ашық API шақыруы арқылы салынады — бұл өзіңіз шақыра алатын сол API, ол Omniscol-дың интерактивті API анықтамасында, Әзірлеушілер бетінде сипатталған (omniscol.com/fr/developers). Сіз интеграциялайтын API-дің артында жасырын, «шынайы» API жоқ: интерфейс пайдаланатын нәрсенің өзі Сіз алатын нәрсе. Кейбір операциялар керісінше бағытта жұмыс істейді — олар интеграцияға арналған, бірақ қосымшаның өзі пайдаланбайды: мысалы, кеңейтілген іздеу және нысанды анықтау қол жеткізу нүктелері (ЖИ агентіне арналған, MCP арқылы) немесе сыртқы жүйеге Omniscol-ды толтыруға мүмкіндік беретін нүктелер (сыртқы дерекқорды синхронды ұстайтын ETL).
operationId — бір кілт, бір ақиқат көзі
Әрбір операция — әдіс пен URL жұбы (мысалы, GET /api/schedules/lessons/{datesrange}), және әрқайсысының тұрақты идентификаторы
бар: operationId (мұнда os_schedules_dates_get). Атау құрылымды: os
(Omniscol), одан кейін модуль (schedules), одан кейін операция нені
қозғайтыны (dates — кейде сызықшамен жалғанған бірнеше сегмент), ал соңында
әрқашан HTTP әдісі (get, post, put, delete). Omniscol осы бірегей
кілтті барлық жерде пайдаланады — операцияны Әзірлеушілер бетінде атау үшін,
сәйкес MCP құралын құру үшін, сондай-ақ оны қайта
анықтау баптауынан немесе осы анықтамадан көрсету үшін. Бір рет қана анықталғандықтан,
ол барлық беттерді синхронды ұстайды: құжаттама, құралдар және интерфейс бір-бірінен
алшақтай алмайды, себебі бәрі бір анықтаманы оқиды.
Интерфейс Сіздің құқықтарыңызға сәйкес келеді
Әрекеті бар графикалық элемент — батырма, қойынды, мәзір жолы — оның негізіндегі операция Сізге қолжетімді болғанда ғана көрінеді. Бұл рөліңізге және теңшелетін рөлдер бойынша берілген құқықтарға (қараңыз: Пайдаланушылар және рөлдер), тарифіңізге және опцияларыңызға байланысты (қараңыз: Omniscol тарифтері мен опциялары). Осылардың біреуін өзгертсеңіз, интерфейс қайта құралады: элементтер, тіпті тұтас модульдер сәйкесінше пайда болады немесе жоғалады.
Дәл сол қағида жеке құқықтарыңыздан тыс та жұмыс істейді. АТ бөлімі кейбір операцияларды API баптауы арқылы өшіре алады, сонда сәйкес элементтер интерфейстен жоғалады (қараңыз: API баптаулары). Деректі сыртқы синхрондау жаңартып отырса да солай: оны жергілікті құру мен өзгертуді өшіруге болады, сонда оның командалары орнын синхрондауға береді (қараңыз: Сыртқы жүйелермен синхрондау).
Сондықтан Omniscol-да оқушыларға немесе мұғалімдерге арналған бөлек портал жоқ. Қосымша біреу ғана; әркім өз құқықтарына сәйкестендірілген интерфейсті көреді — оқушы, мұғалім, администратор және теңшелетін рөл иесі өздеріне тиесілі операцияларды дәл алады, одан артығын емес.
Интерфейс — ыңғайлылық, құлып емес
Интерфейс құқықтарыңызбен басқарылатындықтан, жасырылған батырманы қауіпсіздік шекарасы деп ойлау еліктіреді. Ол олай емес. Әрбір шақыру серверде қайта тексеріледі: Сіздің жеке басыңыз бен құқықтарыңыз бойынша; Сізге рұқсат етілмеген операция интерфейс не көрсетсе де, онда қабылданбайды. Интерфейс айқындық пен ыңғайлылық үшін бейімделеді; нақты шекара сервер жағында, әрбір сұрауда қолданылады.
Токендер мен бөлісу сілтемелері — бір модель
API токені немесе бөлісу сілтемесі операциялар жиынымен шектеледі — оны құру кезінде рұқсат еткендеріңізбен. Сервер бұл шектеуді әрбір шақыруда, жүйеге кірген пайдаланушыдағыдай қолданады. Бөлісу сілтемесі, токен және интерфейстегі адам — құқықтармен басқарылатын бір API-ге жетудің үш жолы; оны айналып өтетін қосалқы есік ешқашан болмайды.
Байланыстың үзілуінен өту
Әрбір экран API-ді оқитындықтан, Omniscol бұрын алынған жауаптарды браузеріңізде сақтай алады, сонда желінің қысқа уақытқа жоғалуы оқуыңызды тоқтатпайды. Бұл жергілікті көшірме өзінің дерекқорында (IndexedDB), браузердің кәдімгі бет кэшінің қасында сақталады. Бұл — оқу кэші: байланыс үзілсе, бұрын ашқан нәрселеріңізді көре бересіз. Ол өзгерістеріңізді кезекке қоймайды және қайта орындамайды — өзгеріс әрқашан сервер арқылы өтеді.
Бұл жергілікті көшірме Сіздің келісіміңізге негізделген. Браузерде бірінші рет Omniscol оған сенетініңізді сұрайды; көшірме Сіз қабылдағаннан кейін басталады. Пайдаланушы мәзіріндегі Офлайн кэш жолы оны кез келген уақытта қосады немесе тазалайды — құсбелгі оның қосулы екенін көрсетеді.
Білу керек екі нәрсе:
- Жеке деректер оған кірмейді. Тек сәтті оқулар сақталады; сервер сақтауға болмайды деп белгілеген жауаптар (сессия және аутентификация деректері) ешқашан кэштелмейді, ал кэштелгеннен бағдарлама адамдардың байланыс деректерін — электрондық пошта, телефон, туған күні, пайдаланушы аты, жеке нөмір, құпиясөз күйі — алып тастайды және администратор есептік жазбаларын толық жояды. Жергілікті көшірмеде кәдімгі жұмыс деректері бар, есімдер анықтамалығы жоқ.
- Ортақ компьютерде жеке шолу терезесін таңдаңыз. Жүйеден шығу бұл жергілікті көшірмені (және браузердің қалыпты кэшін) өшірмейді; жеке терезе жабылғанда екеуін де жояды. Бұл өзіңіз бақыламайтын компьютердегі кез келген веб-қосымшаға қажетті сақтық.