OpenCatalogi / .github

Eén centrale plek voor hergebruik van informatietechnologie binnen de overheid
2 stars 1 forks source link

Als developer wil ik dat de PublicCode api word gevuld met twee bronnen #41

Closed rubenvdlinde closed 2 years ago

rubenvdlinde commented 2 years ago

Als: Developer Wil ik: Dat OpenCatalogi twee bronnen inleest Zodat: Ik voorbeeld data heb om het weergeven en zoeken aspect te kunnen testen

We hebben het dan over de API van

Deze kan door middel van een cronjob worden gevuld met gegevens uit developer.overheid en de componentencatalogus meer details daarover staan uitgewerkt onder -> https://github.com/OpenCatalogi/.github/discussions/10

De makkelijkste route voor nu is

Taken:

Acceptatiecriteria

lencodes commented 2 years ago

@bbrands02 dit issue bevat enkel backend werk en daarom assign ik 'm aan jou.

rubenvdlinde commented 2 years ago

Op dit moment is synchroniseren onderdeel van de object core (ofwel en entityentity), hoewel het valide is dat synchroniseren van data een kern functionaliteit van de Gateway is is deze aanpak in de praktijk te regide.

In het development overleg van 25-06-2022 is de optie besproken om van synchroniseren een plugin te maken, maar de uitkomst daarvan is dat we het echt zien als onderdeel van de core. Een plugin is daarmee niet logisch.

Voorgestelde oplossingen richting is nu om de synchronisatie service de herschrijven. Daarbij moeten een paar aspecten uit elkaar worden getrokken

  1. Een object moet een of meerdere externe broertjes kunnen hebben, aka dit object is teven opgenomen in bron x onder id ….
  2. Dit broertje leggen we vast in een koppelobject wat de relatie beschrijft en de gegevens bevat die we nodig hebben voor de synchronisatie.
  3. Verdere synchronisatie gebeurd aan de hand van het koppel object
  4. Dat betekend dat de vraag voor het inlezen van objecten in princiepe los gezien kan worden. Met andere woorden je leest een bak aan objecten (from somwhere) maakt een koppeling aan en zou in theorie vervolgens kunnen syncen aan de hand van de koppeling.

Oke dus sync actie 1. Lees een externe bron in en haal objecten op aan de hand van configuratie. Hierbij dienen we aan de volgende aspecten te denken qua configuratie

rubenvdlinde commented 2 years ago

Om dit te kunnen testen is er wel nog een aanvullende functionaliteit nodig op de gateway api en dat is het kunnen afvuren van events door middel van een api. Hierbij moeten we er op letten dat:

rubenvdlinde commented 2 years ago

Sum theorie zou de onderliggen BL hiervoor moeten wroden geleverd door https://conduction.atlassian.net/browse/GW-1107 en https://github.com/ConductionNL/commonground-gateway/tree/feature/GW-1107/gateway-events maar die code lijkt off, heb ik een vraag over uitstaan bij @rjzondervan.

rubenvdlinde commented 2 years ago

Mapping

Componenten Catalogus -> Publiccode "name" -> name "description": -> description.shortDiscription "layerType": -> nl.commonground.layerType "organisationName": legal.repoOwner "contact": maintenance.contacts, "owner": maintenance.contacts, "status" -> developmentStatus "repositoryUrl" -> url, "reuseType":nl.commonground.installationType,

RonaldvCortenberghe commented 2 years ago

done