fd.fdredit – Fasiliterer redigering av instanser av REST-tjenester mot FS, Syllabus, Lydia, Telmax
Verktøy for administrering av REST-tjenester mot FS, Syllabus, system, tilganger, overstyringer, m.m
Oppbygning
- Tjenestene bygger på prinsippet om REST (Representatioenal state transfer)
- Inn-argumenter separert med '/' (slash)
- Returnerer XML-formatert tekst
- Eksempel på en tjeneste: https://fs.fd.uib.no/studieprogram/info/nynorsk/PRAPED/2009h
- Består av tjenester og systemer (egendefinerbart)
- En tjeneste kan være knyttet til en eller flere systemer
- Tilgang til systemene (og dermed tjenestene) er styrt vha ip-filtrering
- Begrenset adgang til verktøyet - forbeholdt noen personer hos IT-avd og UA.
- Tilbyr kryptert overføring av data
- Bruk av tjenestene kan enten skje via http-protokol (bare mulig hvis man kommer fra 129.177..), eller https-protokol.
- UA kan gjøre overstyringer av FS-data som tjenestene kan ta hensyn til, ved spørring mot FS-databasen
Dokumentasjon
- Dokumentasjon av tjenestene skjer ved å legge inn nødvendig tekst i dette verktøyet. Hver natt (eller oftere?) vil sedpå det bli generert dokumentasjon, se apidoc
- Dokumentasjonskategorier lages for å gruppere tjenester sammen (er uavhengig av kobling til system).
- En tjeneste kan være knyttet til en eller flere dokumentasjonskategorier.
- I tillegg finnes en overordnet dokumentasjon hvor rest-systemet beskrives.
- Description-feltet i overordnet dokumentasjon og i dokumentasjonskategorier kan formateres vha markdown.
- Wiki-feltet i tjenester er erstatt med example. Example brukes når apidoc oppdateres. Syntaks er url og en tekstlige feorklaringen, eksempel: /nuskoder/2/studieprogram/bokmål NUS-koder på nivå 2 (fagfelt) for studieprogram med navn angitedpt i bokmål
For å kunne beskrive parameter i sql-spørringer i henhold til dokumentasjon, er det innført støtte for alternativ sedpcyntaks:
- parameter omsluttes med {}-klammer i tjeneste-kommandoen, samt i selve sql-spørringen (eks: /nuskoder/3/emne/{språk}ed/{fagfeltnr})
params-feltet i tjenester er nå linjebasert (en parameter per linje), eksempel på syntaks:
språk type=enum(bokmål,nynorsk,engelsk) default=bokmål optional=true Velg språkvariant for <navn>-elementet
Forklaring: * parameternavn * type: opsjonell - kan være enum, number, integer, date, year, month, eller semester. Default string. * default: opsjonell - forteller hva default verdi er, hvis ikke parameter angis. * optional: opsjonell - kan være true eller false, defaults til false hvis default-verdi ikke er angitt. (i eksemplet over, så er optional=true overflødig, fordi default er angitt). * til slutt en tekstlig forklaring på parameter.
Merk: det kan ikke være mellomrom i det som står bakom tilordningene (type, default, optional).
Videre arbeid
- Lage flere instanser av verktøyet - DONE
- Integerere med Apidoc - DONE
- Fritekstsøk i innlagte tjenester
- Historikk på endringer som gjøres les:git - DONE
- Cache resultat fra tidligere spørringer på tjenester for gjenbruk
- Rapport på bruk av tjenestene
- Enklere måte å flytte/føye til i listen med overstyringer
- "Last used" på tjenester - DONE
- Bedre gjennomgående automatisk sletting, hvis en tjeneste slettes. Kanskje de ikke bør kunne slettes? men istedet veledges at de ikke skal vises?