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?

Dependencies

Used by