BME:Proces

Uit Kennisnet Developers Documentatie
Ga naar: navigatie, zoeken

BronMetadataEditor-symbol.png BronMetadataEditor: Proces

Voor we ingaan op de implementatie middels use cases, wordt het globale model van de BME toegelicht om de essentie van de BME te beschrijven zonder de bijkomstige complexiteit van de implementatie.

Overzicht

Globaal actor-transactiediagram Metaplus BME

In afbeelding 1 is het globale actor-transactiediagram weergegeven van de BME. We onderscheiden hierin de volgende drie transacties:

  1. Geef ticket: Om metadata te laten bewerken is een sessieticket nodig. Het resultaat van de transactie is dat de ticket is uitgegeven. Voor het uitgeven van een ticket moet de BME controleren of de Repository bevoegd is en, in het geval het een bestaand record is, of het bewerken van een bekend record bevestigd is.
  2. Bevestigen bewerken bekend record: Om dubbele metadatarecords te voorkomen in Edurep moet de Repository expliciet bevestigen dat het een bekend record wil laten bewerken. Het resultaat van de transactie is dat voor de sessie bevestigd is dat een potentieel bekend record wordt bewerkt. De transactie wordt gestart door de BME na het raadplegen van Edurep. Als het bewerken van een bekend record niet bevestigd wordt, dan kan de transactie “Geef ticket” niet worden voltooid.
  3. Bewerk metadata: De BME vraagt de Metadateerder de metadata te bewerken. Het resultaat van de transactie is dat de metadata gekoppeld aan de sessie is bewerkt. Om metadata te bewerken is een geldig ticket nodig.
Info.gif Bij stap 2: als men deze melding krijgt van de BME en het betreft materiaal met een URL dat niet al eerder ingediend was door dezelfde repository (ivm met het herbewerken van de metadata), dan betreft het dus kennelijk om materiaal dat iemand anders al heeft aangedragen in Edurep. Hiervoor adviseren we de Deeplink Interface van MetaPlus te implementeren, zodat de metadata van dit materiaal verrijkt kan worden.

Use Case Nieuw Record

Een gebruiker heeft een nieuwe leerobject samengesteld en wil deze opslaan in de repository, zodat deze gevonden kan worden door middel van zoeken op metadata. De repository wil hiertoe een metadata record laten invullen en opslaan.

Als geen LOM XML metadata wordt meegeleverd, dan wordt een formulier met lege waarden getoond met uitzondering van de volgende velden: Taal (Nederlands), Kosten (Nee), Rechten (Nee), Eindgebruiker (Leerling/student).

Sequentie diagram nieuw record
  1. Gebruiker kiest in de Repository voor het opslaan van een metadata record
  2. De Repository maakt een LOM metadata record aan en plaatst hierin optioneel enkele vooraf bekende velden zoals catalogentry, taal en aggregatieniveau
  3. De Repository vraagt een ticket bij de BME voor een sessie en stuurt hierin mee:
    • applicatie id en wachtwoord (credentials Repository)
    • repository id waarin het metadata record wordt opgeslagen
    • LOM metadata record (optioneel)
    • callback URL
    • eventueel de lijst van ondersteunde licenties
    • eventueel een parameter om het verwijderen/toevoegen/wijzigen van de bestaande uitgevers onmogelijk te maken
    • eventueel een parameter om de validatie van de verplichte velden uit te schakelen
    • eventueel een parameter om de gebruikersinterface te bepalen
  4. BME controleert credentials, callback URL en LOM metadata record
  5. De BME levert een ticket met de volgende informatie:
    • ticket id
    • ticket status met waarde "ready"
    • edit URL
  6. De Repository verwijst de gebruiker door middels een HTTP redirect naar de edit URL van de BME
  7. De BME controleert of de gebruiker een geldige sessie heeft en de status op "ready" staat
  8. De BME toont de gebruiker het Metadata bewerkformulier, waarbij gegevens uit het aangeleverde LOM metadatarecord zijn vooringevuld in het formulier
  9. Gebruiker vult het formulier in volgens de geldende validatieregels
  10. Gebruiker kiest “Leerobject opslaan”
  11. BME slaat de gegevens uit het formulier op als een bijgewerkt record in de sessie
  12. BME stuurt de gebruiker door middels een HTTP redirect door naar de callback URL, waarbij het ticket id wordt meegegeven
  13. De Repository vraagt de status op van het ticket met de volgende informatie
    • applicatie id en wachtwoord (credentials Repository)
    • ticket id
  14. BME controleert of de aanvrager bevoegd is de ticket status op te vragen
  15. BME levert ticket status met de velden:
    • status, nu “completed”
    • ticket id
    • repository id
    • callback URI
  16. Repository controleert status op “completed”
  17. Repository vraagt bewerkte XML LOM bij BME met de volgende velden
    • applicatie id en wachtwoord (credentials Repository)
    • ticket id
  18. BME controleert of de Repository bevoegd is de ticket op te vragen
  19. BME retourneert bewerkte XML
  20. Repository handelt bewerkte XML verder af en presenteert gebruiker met vervolgscherm
    Let op: Het is mogelijk dat de callback URL meerdere keren wordt aangeroepen (bijvoorbeeld door kwaadwillendheid met scripting, of doordat de gebruiker de 'Terug'-knop hanteert). Het is aan de Repository om hiermee om te gaan (opnieuw bijwerken of gebruiker melden dat dit niet is toegestaan).

Use Case Bestaand Record

Een gebruiker ziet dat metadata bij een record in de repository incorrect of onvolledig is en de repository biedt de mogelijkheid aan de gebruiker om deze bij te werken. In dit scenario wordt ervan uitgegaan dat het record in Edurep is opgeslagen en dat de repository daarom moet bevestigen dat het een record wordt bewerkt dat mogelijk tot een dubbeling leidt. Mocht het record niet in Edurep staan, dan worden de stappen 6 tot en met 8 overgeslagen.

Sequentie diagram bestaand record
  1. Gebruiker kiest in de Repository voor het bewerken van een metadata record
  2. De Repository haalt het LOM metadata record op.
  3. De Repository vraagt een ticket bij de BME voor een sessie en stuurt hierin mee:
    • applicatie id en wachtwoord (credentials Repository)
    • repository id waarin het metadata record wordt opgeslagen
    • LOM metadata record
    • callback URL
    • eventueel de lijst van ondersteunde licenties
    • eventueel een parameter om het verwijderen/toevoegen/wijzigen van de bestaande uitgevers onmogelijk te maken
    • eventueel een parameter om de validatie van de verplichte velden uit te schakelen
    • eventueel een parameter om de gebruikersinterface te bepalen
  4. BME controleert credentials, callback URL en LOM metadata record
  5. BME controleert of het record reeds bestaat in Edurep
  6. De BME levert een ticket met de volgende informatie:
    • ticket id
    • ticket status met waarde "acknowledgement-required"
    • edit URL
  7. De repository stuurt een bevestiging met de volgende informatie
    • ticket id
  8. BME controleert credentials
  9. De BME levert een ticket met de volgende informatie:
    • ticket id
    • ticket status met waarde "ready"
    • edit URL
  10. De Repository verwijst de gebruiker door middels een HTTP redirect naar de edit URL van de BME
  11. De BME controleert of de gebruiker een geldige sessie heeft en de status op "ready" staat
  12. De BME toont de gebruiker het Metadata bewerkformulier, waarbij gegevens uit het aangeleverde LOM metadatarecord zijn vooringevuld in het formulier
  13. Gebruiker vult het formulier in volgens de geldende validatieregels
  14. Gebruiker kiest “Leerobject opslaan”
  15. BME slaat de gegevens uit het formulier op als een bijgewerkt record in de sessie
  16. BME stuurt de gebruiker door middels een HTTP redirect door naar de callback URL, waarbij het ticket id wordt meegegeven
  17. De Repository vraagt de status op van het ticket met de volgende informatie
    • applicatie id en wachtwoord (credentials Repository)
    • ticket id
  18. BME controleert of de aanvrager bevoegd is de ticket status op te vragen
  19. BME levert ticket status met de velden:
    • status, nu “completed”
    • ticket id
    • repository id
    • callback URI
  20. Repository controleert status op “completed”
  21. Repository vraagt bewerkte XML LOM bij BME met de volgende velden
    • applicatie id en wachtwoord (credentials Repository)
    • ticket id
  22. BME controleert of de Repository bevoegd is de ticket op te vragen
  23. BME retourneert bewerkte XML
  24. Repository handelt bewerkte XML verder af en presenteert gebruiker met vervolgscherm
    Let op: Het is mogelijk dat de callback URL meerdere keren wordt aangeroepen (bijvoorbeeld door kwaadwillendheid met scripting, of doordat de gebruiker de 'Terug'-knop hanteert). Het is aan de Repository om hiermee om te gaan (opnieuw bijwerken of gebruiker melden dat dit niet is toegestaan).