datagov-cz / lkod

Referenční implementace Lokálního katalogu otevřených dat. Tento repozitář je udržován v rámci projektu OPZ č. CZ.03.4.74/0.0/0.0/15_025/0013983.
MIT License
2 stars 2 forks source link

Předvyplnění formuláře POSTem #2

Closed sinacek closed 4 years ago

sinacek commented 4 years ago

Formulář je možné převyplnit metodou POST.

skodapetr commented 4 years ago

Aktuálně je možné předvyplnit formulář pomocí dvou POST requestů jako json a form:

curl 'https://dev.nkod.opendata.cz/formul%C3%A1%C5%99/registrace-datov%C3%A9-sady' \
   --header 'Content-Type: application/json' \
   --data-raw '{ "userData": {"token":"123abc"},  "formData": { "@type": ["http://www.w3.org/ns/dcat#Dataset","https://data.gov.cz/slovník/nkod/typ-datové-sady-dle-zdroje/Formulář"],"http://purl.org/dc/terms/title": {"@language": "cs","@value": "Turistické cíle"},"http://purl.org/dc/terms/description": {"@language": "cs","@value": "Tato datová sada obsahuje turistické cíle dle Otevřené formální normy turistické cíle (https://ofn.gov.cz/turistické-cíle/)."},"http://www.w3.org/ns/dcat#keyword": [{"@language": "cs","@value": "Turismus"},{"@language": "cs","@value": "Cestování"},{"@language": "cs","@value": "Turistický cíl"},{"@language": "cs","@value": "Volný čas"}],"http://www.w3.org/ns/dcat#distribution": [{"@type": ["http://www.w3.org/ns/dcat#Distribution"],"http://www.w3.org/ns/dcat#downloadURL": {"@id": "http://nesmysl.cz"},"http://www.w3.org/ns/dcat#mediaType": {"@id": "http://www.iana.org/assignments/media-types/application/ld+json"},"http://purl.org/dc/terms/format": {"@id": "http://publications.europa.eu/resource/authority/file-type/JSON_LD"},"https://data.gov.cz/slovník/podmínky-užití/specifikace": {"@type": "https://data.gov.cz/slovník/podmínky-užití/Specifikace","https://data.gov.cz/slovník/podmínky-užití/autorské-dílo": {"@id": "https://data.gov.cz/podmínky-užití/neobsahuje-autorská-díla/"},"https://data.gov.cz/slovník/podmínky-užití/databáze-jako-autorské-dílo": {"@id": "https://data.gov.cz/podmínky-užití/není-autorskoprávně-chráněnou-databází/"},"https://data.gov.cz/slovník/podmínky-užití/databáze-chráněná-zvláštními-právy": {"@id": "https://data.gov.cz/podmínky-užití/není-chráněna-zvláštním-právem-pořizovatele-databáze/"},"https://data.gov.cz/slovník/podmínky-užití/osobní-údaje": {"@id": "https://data.gov.cz/podmínky-užití/neobsahuje-osobní-údaje/"}},"http://purl.org/dc/terms/conformsTo": {"@id": "https://ofn.gov.cz/turistické-cíle/2020-07-01/schémata/turistické-cíle.json"}}],"http://purl.org/dc/terms/accrualPeriodicity": {"@id": "http://publications.europa.eu/resource/authority/frequency/MONTHLY"},"http://purl.org/dc/terms/spatial": {"@id": "https://linked.cuzk.cz/resource/ruian/stat/1"},"http://www.w3.org/ns/dcat#theme": [{"@id": "http://publications.europa.eu/resource/authority/data-theme/EDUC"}]}}'
curl 'https://dev.nkod.opendata.cz/formul%C3%A1%C5%99/registrace-datov%C3%A9-sady' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -H 'user-agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36' \
  --data-raw 'formData=%7B%22%40context%22%3A%22https%3A%2F%2Fofn.gov.cz%2Frozhran%C3%AD-katalog%C5%AF-otev%C5%99en%C3%BDch-dat%2Fdraft%2Fkontexty%2Frozhran%C3%AD-katalog%C5%AF-otev%C5%99en%C3%BDch-dat.jsonld%22%2C%22typ%22%3A%22Datov%C3%A1+sada%22%2C%22n%C3%A1zev%22%3A%7B%22cs%22%3A%22%C4%8C%C3%ADseln%C3%ADk+sekc%C3%AD+MFF+UK%22%2C%22en%22%3A%22Codelist+of+schools+of+FMP+CUNI%22%7D%2C%22popis%22%3A%7B%22cs%22%3A%22%C4%8C%C3%ADseln%C3%ADk+sekc%C3%AD+Matematicko-fyzik%C3%A1ln%C3%AD+fakulty+Univerzity+Karlovy%22%2C%22en%22%3A%22Codelist+of+schools+of+the+Faculty+of+Mathematics+and+Physics+of+the+Charles+University%22%7D%2C%22prvek_r%C3%BAian%22%3A%5B%22https%3A%2F%2Flinked.cuzk.cz%2Fresource%2Fruian%2Fstat%2F1%22%5D%2C%22geografick%C3%A9_%C3%BAzem%C3%AD%22%3A%5B%5D%2C%22prostorov%C3%A9_pokryt%C3%AD%22%3A%5B%5D%2C%22kl%C3%AD%C4%8Dov%C3%A9_slovo%22%3A%7B%22cs%22%3A%5B%22sekce%22%2C%22MFF%22%2C%22matfyz%22%2C%22%C4%8D%C3%ADseln%C3%ADk%22%5D%2C%22en%22%3A%5B%22school%22%2C%22codelist%22%5D%7D%2C%22periodicita_aktualizace%22%3A%22http%3A%2F%2Fpublications.europa.eu%2Fresource%2Fauthority%2Ffrequency%2FIRREG%22%2C%22t%C3%A9ma%22%3A%5B%22http%3A%2F%2Fpublications.europa.eu%2Fresource%2Fauthority%2Fdata-theme%2FGOVE%22%5D%2C%22koncept_euroVoc%22%3A%5B%22http%3A%2F%2Feurovoc.europa.eu%2F2175%22%2C%22http%3A%2F%2Feurovoc.europa.eu%2F4304%22%5D%2C%22specifikace%22%3A%5B%22https%3A%2F%2Fofn.gov.cz%2F%C4%8D%C3%ADseln%C3%ADky%2F%22%5D%2C%22kontaktn%C3%AD_bod%22%3A%7B%22typ%22%3A%22Organizace%22%2C%22jm%C3%A9no%22%3A%7B%22cs%22%3A%22Jakub+Kl%C3%ADmek%22%7D%2C%22e-mail%22%3A%22mailto%3Aklimek%40ksi.mff.cuni.cz%22%7D%2C%22distribuce%22%3A%5B%7B%22typ%22%3A%22Distribuce%22%2C%22soubor_ke_sta%C5%BEen%C3%AD%22%3A%22https%3A%2F%2Fdata.mff.cuni.cz%2Fsoubory%2F%C4%8D%C3%ADseln%C3%ADky%2Fsekce.ttl%22%2C%22p%C5%99%C3%ADstupov%C3%A9_url%22%3A%22https%3A%2F%2Fdata.mff.cuni.cz%2Fsoubory%2F%C4%8D%C3%ADseln%C3%ADky%2Fsekce.ttl%22%2C%22typ_m%C3%A9dia%22%3A%22http%3A%2F%2Fwww.iana.org%2Fassignments%2Fmedia-types%2Ftext%2Fturtle%22%2C%22form%C3%A1t%22%3A%22http%3A%2F%2Fpublications.europa.eu%2Fresource%2Fauthority%2Ffile-type%2FRDF_TURTLE%22%2C%22podm%C3%ADnky_u%C5%BEit%C3%AD%22%3A%7B%22typ%22%3A%22Specifikace+podm%C3%ADnek+u%C5%BEit%C3%AD%22%2C%22autorsk%C3%A9_d%C3%ADlo%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fneobsahuje-autorsk%C3%A1-d%C3%ADla%2F%22%2C%22datab%C3%A1ze_jako_autorsk%C3%A9_d%C3%ADlo%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fnen%C3%AD-autorskopr%C3%A1vn%C4%9B-chr%C3%A1n%C4%9Bnou-datab%C3%A1z%C3%AD%2F%22%2C%22datab%C3%A1ze_chr%C3%A1n%C4%9Bn%C3%A1_zvl%C3%A1%C5%A1tn%C3%ADmi_pr%C3%A1vy%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fnen%C3%AD-chr%C3%A1n%C4%9Bna-zvl%C3%A1%C5%A1tn%C3%ADm-pr%C3%A1vem-po%C5%99izovatele-datab%C3%A1ze%2F%22%2C%22osobn%C3%AD_%C3%BAdaje%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fneobsahuje-osobn%C3%AD-%C3%BAdaje%2F%22%7D%7D%2C%7B%22typ%22%3A%22Distribuce%22%2C%22n%C3%A1zev%22%3A%7B%22cs%22%3A%22SPARQL+endpoint%22%7D%2C%22p%C5%99%C3%ADstupov%C3%A9_url%22%3A%22https%3A%2F%2Fdata.mff.cuni.cz%2Fsparql%22%2C%22p%C5%99%C3%ADstupov%C3%A1_slu%C5%BEba%22%3A%7B%22typ%22%3A%22Datov%C3%A1+slu%C5%BEba%22%2C%22p%C5%99%C3%ADstupov%C3%BD_bod%22%3A%22https%3A%2F%2Fdata.mff.cuni.cz%2Fsparql%22%2C%22popis_p%C5%99%C3%ADstupov%C3%A9ho_bodu%22%3A%22https%3A%2F%2Fdata.mff.cuni.cz%2Fsparql%22%2C%22n%C3%A1zev%22%3A%7B%22cs%22%3A%22SPARQL+endpoint%22%7D%7D%2C%22podm%C3%ADnky_u%C5%BEit%C3%AD%22%3A%7B%22typ%22%3A%22Specifikace+podm%C3%ADnek+u%C5%BEit%C3%AD%22%2C%22autorsk%C3%A9_d%C3%ADlo%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fneobsahuje-autorsk%C3%A1-d%C3%ADla%2F%22%2C%22datab%C3%A1ze_jako_autorsk%C3%A9_d%C3%ADlo%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fnen%C3%AD-autorskopr%C3%A1vn%C4%9B-chr%C3%A1n%C4%9Bnou-datab%C3%A1z%C3%AD%2F%22%2C%22datab%C3%A1ze_chr%C3%A1n%C4%9Bn%C3%A1_zvl%C3%A1%C5%A1tn%C3%ADmi_pr%C3%A1vy%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fnen%C3%AD-chr%C3%A1n%C4%9Bna-zvl%C3%A1%C5%A1tn%C3%ADm-pr%C3%A1vem-po%C5%99izovatele-datab%C3%A1ze%2F%22%2C%22osobn%C3%AD_%C3%BAdaje%22%3A%22https%3A%2F%2Fdata.gov.cz%2Fpodm%C3%ADnky-u%C5%BEit%C3%AD%2Fneobsahuje-osobn%C3%AD-%C3%BAdaje%2F%22%7D%7D%5D%7D&userData=%7B%22token%22%3A%22abc123%22%7D'

Původně jsme měli implementovanou první metodu. Ta by umožnila integraci skrze server třetí strany, jenž na požadavek uživatele udělá POST na adresu formuláře a předá vysledek klientovy. Nicméně po následné diskusi z hlediska možností integrace jsme přidali i druhou variantu.

Dále pak pokud by data byla poskytována přes proxy z jiné URL tak by mohlo být problém, že odkazy na CSS, Javascript jsou relativní a tedy je možné je nastavit na absolutní pomocí https://github.com/linkedpipes/dcat-ap-forms/issues/169

sinacek commented 4 years ago

to by mělo teoreticky stačit, díky