Skip to content

Latest commit

 

History

History
197 lines (153 loc) · 14.5 KB

CHANGELOG.md

File metadata and controls

197 lines (153 loc) · 14.5 KB

Changelog

v2.1.0 - 2024-10-31

  • New base profile for the DCAT US v3 specification. All mandatory properties and most of the recommended and optional ones are supported. During the implementation of this work a few adjustments have been done to the base DCAT profile (#314) :

    • Support for temporal and spatial resolutions in distributions, which were missing on the DCAT AP profiles
    • Allow multiple values for dct:creator in DCAT AP
  • Multilingual support in DCAT profiles. Multilingual support is provided via integration with ckanext-fluent. Check the documentation for full details (#318)

  • At the serialization level, a new triple will be added for each of the defined languages

  • Support for multiple agents when parsing (#317)

  • Improve serialization of statements, using RDFS.label in line with the DCAT 3 spec recommendation (#313)

  • Store UIDs from contact clases (#312)

  • Fix input issues for access_rights field (#309)

  • Add has_version to the full DCAT AP schema (#306)

  • Add pyproject.toml file (#304)

  • Decouple extension from ckanext-scheming (#303)

  • Add support for dct:creator in base DCAT profiles (#302)

  • Fix DCAT date validator on empty values (#297)

  • Add support for hydra collection type PartialCollectionView (#299)

v2.0.0 - 2024-08-30

  • New profile for DCAT-AP v3, euro_dcat_ap_3, which is now the default. Existing sites willing to stick with DCAT-AP v2.x can specify the profile in the configuration if they are not doing so yet (ckan.dcat.rdf.profiles = euro_dcat_ap_2). The new euro_dcat_ap_3 profile relies on ckanext-scheming metadata schemas (see below).

  • Support for standard CKAN ckanext-scheming schemas. The DCAT profiles now seamlessly integrate with fields defined via the YAML or JSON scheming files. Sites willing to migrate to a scheming based metadata schema can do so by adding the euro_dcat_ap_scheming profile at the end of their profile chain (e.g. ckanext.dcat.rdf.profiles = euro_dcat_ap_2 euro_dcat_ap_scheming), which will modify the existing profile outputs to the expected format by the scheming validators. Sample schemas are provided in the ckanext/dcat/schemas folder. See the documentation for all details. Some highlights of the new scheming based profiles (#281):

    • Actual list support in the API output for list properties like dct:language
    • Multiple objects now allowed for properties like dcat:ContactPoint, dct:spatial or dct:temporal
    • Custom validators for date values that allow xsd:gYear, xsd:gYearMonth, xsd:date and xsd:dateTime
  • SHACL validation for DCAT-AP 2.1.1 profile (scheming and legacy). SHACL validation made surface the following issues in the existing profiles, which are now fixed (#288):

    • Cast dcat:byteSize and dcat:spatialResolutionInMeters as Decimal, not float
    • Allow only one value of dcat:spatialResolutionInMeters and dcat:temporalResolution
    • Only output the WKT version of geometries in locn:geometry, dcat:bbox and dcat:centroid. Sites that for some reason require GeoJSON (or both) can use the ckanext.dcat.output_spatial_format config option to choose which format to use
    • When using the euro_dcat_ap_2 profile, don't output temporal extent namespaced both with schema and dcat, just with the latter (dcat:startDate and dcat:endDate)
  • CKAN 2.11 support and requirements updates (#270)

  • New ckan dcat consume and ckan dcat produce CLI commands (#279)

  • Revamped documentation, now hosted at https://docs.ckan.org/projects/ckanext-dcat (#296)

  • Parse dcat:spatialResolutionInMeters as float (#285)

  • Split profile classes into their own separate files (#282)

  • Catch Not Authorized in View (#280)

v1.7.0 - 2024-04-04

  • Adds support for the latest Hydra vocabulary. For backward compatibility, the old properties are still supported but marked as deprecated. (#267)

v1.6.0 - 2024-02-29

  • Add support for DCATAP.applicableLegislation and DCATAP.hvdCategory to the euro_dcat_ap_2 profile (#262)
  • Improve access service tests (#258)
  • Fix missing access service items when parsing dataset (#256)

v1.5.1 - 2023-06-20

  • Fix tests to work with ckanext-harvest >= 1.5.4. (#250)
  • Add references for dcat:accessService to the euro_dcat_ap_2 profile (#251)

v1.5.0 - 2023-05-02

  • Remove support for old CKAN versions prior 2.9 and Python 2 (#244)
  • Update hooks to support CKAN 2.10 (#241)
  • Fix description for RDF endpoints in README (#246)
  • Fix media type for links to the Turtle representation in HTML templates (#242)
  • Ignore already deleted packages when deleting (#238)
  • Add support for dcat:accessService in dcat:Distribution (#235)

v1.4.0 - 2022-12-05

  • RDF serialization: Add fallback values for resource dates (#233)
  • Add option for fallback distribution license if missing (#231)

v1.3.0 - 2022-08-01

  • Fix assert expressions in tests (#218)
  • Fix unicode encoding error on Python 2 (#225)
  • Support (partial, not complete) for DCAT-AP 2.1 (#220). The following properties are additionally supported by default:
    • dcat:Dataset
      • dcat:bbox and dcat:centroid (in dct:Location of dct:spatial)
      • dcat:startDate, dcat:endDate, time:hasBeginning, time:hasEnd (in dct:PeriodOfTime of dct:temporal)
      • dcat:spatialResolutionInMeters
      • dcat:temporalResolution
      • dct:isReferencedBy
    • dcat:Distribution
      • dcatap:availability
      • dcat:compressFormat
      • dcat:packageFormat

!!! Note "Changed default profile" With (#220) the default profile has changed from euro_dcat_ap to euro_dcat_ap_2.

v1.2.0 - 2022-05-25

  • Support for CKAN 2.10 and Python 3.9 (#208)
  • Upgrade RDFLib version (#213)
  • Support URIs in more fields of the default profile (#214)
  • Make HTTP-Response size configurable (#215)
  • Increase harvester get content chunk size (#217)

v1.1.3 - 2021-11-05

  • Fix behavior if publisher_uri is not available (#201)
  • Also process URIRef in rights statements (#200)

v1.1.2 - 2021-06-22

  • Use safer encoder for Structured Data output (#198)
  • Fix: use catalog_uri logic for pagination URIs (#197)
  • Introduce new interface method after_parsing (#196)

v1.1.1 - 2021-03-17

  • Fix harvest encoding error on py3 (#189)
  • Fix py3 syntax error (#184)
  • Fixed Internal server error on login (#181)
  • Remove Beautifulsoup requirement (#195)
  • Migrate tests to GitHub Actions

v1.1.0 - 2020-03-12

  • Python 3 support and new pytest based test suite (#174)painful
  • Fix after_show - set_titles in plugins.py (#172)
  • Add support for DCT.rightsStatement in DCT.accessRights and DCT.rights (#177)
  • Add support for additional vcard representations (#178)
  • Fix format normalization configuration (#175)
  • Introduce the possibility to modify package update/create schema (#176)

v1.0.0 - 2019-11-07

  • Updating the URLs to dataportals.org (#145)
  • Handle import stage errors (#149)
  • Pass q and fq parameters in catalog endpoint (#152)
  • Include templates in package (#154)
  • Ignore auth in internal search call (#156)
  • Support URIRef for dct:language (#158)
  • Support JSON-LD catalogs with @graph (#159)
  • Make read keywords re-usable (#160)
  • Extract read datasets from db to make it re-usable (#161)

v0.0.9 - 2019-01-10

  • Make _object_value_int more robust by accepting decimals as well (#133)
  • Prefer default language values for some Literal nodes (#143)
  • Improved dct:format and dcat:mediaType handling (#144)
  • Assign URIRef or Literal types based on content (#140)

v0.0.8 - 2018-10-05

  • Support for CKAN >= 2.8
  • Schema.org mapping improvements ([#120, #139](#120, #139))
  • Fix handling of downloadURL and accessURL (#130)
  • Improve support for custom schemas when generating guids
  • Improvements and refactoring of data.json harvester (#116)
  • Add RDF.type to resource checksum (#132)
  • Improve email addresses handling (#134)
  • Escape and clean URL references (#138)

v0.0.7 - 2018-02-16

  • Support for embedding Schema.org structured data in dataset pages (#75)
  • Improve the error handling in the harvesting gather and import stage (#95)
  • Avoid resource re-creation on harvesting (#91)
  • Infer dataset licence from the distribution ones (#42)
  • Interface for requests Session in harvesters (#98)
  • Support for transitive harvesting (#96)
  • Support fot cleaning tags in harvester (#103)

v0.0.6 - 2017-02-24

  • Use Resources rather than Literals for dcat:landingPage, dcat:accessURL, dcat:downloadURL, foaf:homepage, dcat:theme (#66)
  • Support for pagination on RDF Harvester (#70)
  • Add missing DCAT fields on the serialization, dct:type and dct:provenance (#71)
  • Add MANIFEST.in to ensure i18n files are include in package (#76)
  • Add before/after create/update hooks to IDCATRDFHarvester (#77)
  • Fix serialization of numeric values (#73)