.. -*- mode: rst; coding: utf-8; -*- .. | ** | = | - | ^ | Replace with appropriate characters or formatting. .. raw:: html .. _fris-installatie: .. _search-392a99760c95cec36c86694aea8da6f962f38bbc: ################ FRIS Installatie ################ Dit document overloopt alle stappen die ondernomen moeten worden om een succesvolle ingest op gang te brengen naar `FRIS `_ Vlaanderen. .. _search-7c09098f7cf392eabd3066780935da52dbb08590: Connector ========= De connectie naar fris zit in lupa. Deze maakt gebruik van soap envelopes en het `oasis beveiligingsprotocol `_. Implementatie hiervan bevindt zich in ``/lupa/fris/generator.py`` .. _search-057a075cf50991dadbb9f1cad43c5e8c5f9a4ced: Creatie van de connector ************************ In :command:`Autorisatiemodellen` `[link] `__ dient een nieuwe connector aangemaakt te worden (vb. ``friskmska``) - Protocol: ``Fris`` - Username: ```` - Password: ```` .. note:: LET OP: dit zijn **niet** de toegangsgegevens die gebruikt worden om aan te melden op het fris portaal om data te raadplegen - Activeer logging: aangevinkt - URI te gebruiken bij api’s: https://frisr4.researchportal.be/ws/ - Maak 2 Upload operaties aan .. _search-fd372af0929566b506115951fd7138a57ec111f8: Ingest ****** - Identificatie: ingest - Benaming: ingest - URI: $apiuri/IngestionService - Respons type: xml Wanneer deze is aangemaakt zal volgend commando data naar fris verzenden: .. code-block:: bash sudo lupa put ingest test_lupa.xml kind=file source=friskmska .. _search-e9a35ff87e7d3a7a7f26904df99bb2f6fa933c26: Aanmaken van de vertaaltabellen =============================== Per schema zijn er verschillende :command:`Vertaaltabellen` `[link] `__ nodig om onze interne termen te vertalen naar die van CERIF. Volgende zijn vereist: - Frisor (organismes voor fris) - zorgeneral_publish: vertaling voor zichtbaarheid - zorgeneral_type: vertaling voor types organismes - Frisif (infrastructuren voor fris) - zifgeneral_ifaccess: vertaling voor toegankelijkheid - zifgeneral_locationtype: vertaling voor locatie types - zifgeneral_singlesided: vertaling voor single-sided - zifpeople_peoplerole: vertaling voor de rol van personen bij infrastructuren - Frispr (projecten voor fris) - zprfunders_funrole: vertaling voor de rol van funders bij projecten - zprpeople_peoplerole: vertaling voor de rol van personen bij projecten - zprteams_teamrole: vertaling voor de rol van teams (organismes) bij projecten .. _search-386805d3d6775bbb6b350545a6754b209cc2b2d6: Aanmaken van de exportgeneratoren ================================= Ieder type heeft zijn eigen exportgenerator en kan op die manier 1 of meerdere elementen genereren die we naar fris kunnen uploaden, aanmaken gebeurt in :command:`Nieuw/bewerk GNOI export profiel` `[link] `__ Belangrijk hier is om de juiste executable toe te voegen om de data te verrijken (gnorfris/gniffris/gnprfris). Voeg ook de aangemaakte vertaalschemas aangemaakt in stap 2 toe. .. _search-866b2c78e6ef899631731944571e5f9f078d8616: Het exporteren van gegevens *************************** Exporteren van gegevens kan dan via volgend commando: ``gnoicnv export gntype= target=test.xml format='cerif' gen= profile=fris`` .. _search-d983afab9c37e8dd7c53ecda26bdc7a1a17cf230: Publiceren van de data ====================== Om deze data te publiceren maken we gebruik van lupa. Ervanuit gaande dat 1 van de bovenstaande commando’s is uitgevoerd om een file te generen kan je gebruik maken van de lupa ingest operatie om de file te uploaden ``sudo lupa put ingest {filename.xml} kind=file source=friskmska`` Hierbij is filename.xml dus het bestand gegenereerd door catcnv of gnoicnv. De data uit de xml file wordt gewrapt met een envelope volgens het soap protocol opgestuurd. Deze operatie kan wel even tijd in beslag nemen (30 sec tot 1 minuut). Dit is omdat FRIS 2 verschillende soorten validaties uitvoert. Indien de operatie succesvol is uitgevoerd krijg je je terminal terug. Anders worden de errors geprint op standard output en wordt er een log geschreven in .. _search-884fa2f84f33c77a23c0a48405ab209704c3a1be: Schema Validatie **************** Controle of de tags in volgorde staan, of er cijfers staan waar er cijfers moeten staan, of er onverwachte tags zijn… Indien dit het geval is krijg je een error terug die er ongeveer zo uit ziet op standardoutput. Deze errors kan je herkennen wanneer de source XSD is. ``{'source': 'XSD', 'level': 'ERROR', 'message': "line 15: Expected element 'cfOrgUnitId@urn:xmlns:org:eurocris:cerif-1.5-1' instead of 'cfName@urn:xmlns:org:eurocris:cerif-1.5-1' here in element cfOrgUnit@urn:xmlns:org:eurocris:cerif-1.5-1-FRIS"}, {'source': 'XSD', 'level': 'ERROR', 'message': "line 15: Expected element 'cfOrgUnitId@urn:xmlns:org:eurocris:cerif-1.5-1' instead of 'cfOrgUnit_Class@urn:xmlns:org:eurocris:cerif-1.5-1' here in element cfOrgUnit@urn:xmlns:org:eurocris:cerif-1.5-1-FRIS"}, {'source': 'XSD', 'level': 'ERROR', 'message': "line 15: Expected element 'cfOrgUnitId@urn:xmlns:org:eurocris:cerif-1.5-1' instead of 'cfOrgUnit_Class@urn:xmlns:org:eurocris:cerif-1.5-1' here in element cfOrgUnit@urn:xmlns:org:eurocris:cerif-1.5-1-FRIS"}]}`` .. _search-b1bb21061a848af24ff6f172b7054b37d33d046f: Dataflux (inhoudelijke) validatie ********************************* Controle of alle velden inhoudelijk in orde zijn: vb. is het funderbedrag groter als 0, hangt er een promotor vast aan een project, … Deze errors zijn inhoudelijk en vaak in het Nederlands. Indien deze voorkomen worden ze ook op standard output geprint: ``{ 'entity-type': 'PROJECT', 'entity-id': 'kmska_13', 'source': 'BUSINESS_RULE', 'level': 'ERROR', 'message': 'Project heeft geen Engelstalige titel' }, { 'entity-type': 'PROJECT', 'entity-id': 'kmska_13', 'source': 'BUSINESS_RULE', 'level': 'ERROR', 'message': 'Project heeft geen keywords' }, { 'entity-type': 'PROJECT', 'entity-id': 'kmska_13', 'source': 'BUSINESS_RULE', 'level': 'ERROR', 'message': 'Project heeft geen Promotor' }, { 'entity-type': 'PROJECT', 'entity-id': 'kmska_13', 'source': 'BUSINESS_RULE', 'level': 'ERROR', 'message': 'Project heeft geen assignment' }`` Deze errors zouden een duidelijk beeld moeten scheppen van het probleem. De data kan dan bewerkt worden in brocade en dan kunnen bovenstaande commandos opnieuw uitgevoerd worden .. _search-ca1f6ed168af789555e5689db9e890dd373d9bd6: Leegmaken van een fris omgeving ******************************* .. note:: LET OP: dit is een **destructieve** operatie die niet teruggedraaid kan worden Indien een volledige fris omgeving leeg gemaakt dient te worden, kan je gebruik maken van de ``void_environment()`` methode van de fris service. Deze is enkel op te roepen vanuit python. De omgeving wordt leeggemaakt door middel van een leeg bulk ingest bericht. Dit kan op volgende manier bereikt worden via de python console: ``>>> from anet.fris import fris_service >>> fs = fris_service.FrisService('', '', '') >>> fs.void_environment()`` Hierbij zijn volgende lupa attributen nodig: - URL: apiuri - USER: username - PWD: password .. Index en tabellen .. ================= .. * :ref:`genindex` .. * :ref:`modindex` .. * :ref:`search`