Skip to content

Releases: dasch-swiss/dsp-api

v1.5.0

31 May 15:39
d21409e
Compare
Choose a tag to compare

See v1.5.0 milestone for a full list of closed tickets.

New features:

  • Resources can be returned in the simple ontology schema (#833).
  • Text values can specify the language of the text (#819).
  • Responses can be returned in Turtle and RDF/XML (#851).

Bugfixes:

  • Incorrect representation of IRI object values in JSON-LD (#835)
  • GenerateContributorsFile broken (#797)

v1.4.0

30 Apr 14:54
ae2886b
Compare
Choose a tag to compare

Required changes to existing data:

  • Every ontology must now have the property knora-base:attachedToProject, which points to the IRI of the project that is responsible for the ontology. This must be added to each project-specific ontology in existing repositories. All built-in ontologies have been updated to have this property, and must, therefore, be reloaded into existing repositories.
    The property knora-base:projectOntology has been removed, and must be removed from project definitions in existing repositories.

  • Every project now needs to have the property knora-base:projectShortcode set.

New features:

  • Added OpenAPI / Swagger API documentation route
  • The Knora API server now checks the validity of ontologies on startup.
  • The property knora-base:projectShortcode is now a required property (was optional).

Bugfixes:

  • API v1 extended search was not properly handling multiple conditions
    on list values (issue #800)
  • Fix image orientation in SALSAH 1 (issue #726)

v1.3.1

06 Apr 11:42
Compare
Choose a tag to compare
Bug/search list (#801)

* adding a resource with two list values

* adding 3 test cases, the last one being the and combination of the other two

* adding an index to list node search variable

* update expected result after adding a resource in anything test data set

* update expected result after adding a resource in anything test data set

* updating release note

v1.3.0

28 Mar 12:03
e4a7991
Compare
Choose a tag to compare

Required changes to existing data:

1. Replace salsah-gui ontology

You must replace the salsah-gui ontology that you have in the triplestore with the one
in salsah-gui.ttl.

New features:

  • More support for salsah-gui elements and attributes in ontologies
    • Serve the salsah-gui ontology in API v2 in the default schema.
    • Show salsah-gui:guiElement and salsah-gui:guiAttribute when serving ontologies in API v2 in the default schema.
    • Allow salsah-gui:guiElement and salsah-gui:guiAttribute to be included in new property definitions created via API v2.
    • Change salsah-gui so that GraphDB's consistency checker can check the use of guiElement and guiAttribute.
  • Changes to application.conf. The sipi and web-api sections have received a big update, adding separate settings for internal and external host settings:

    app {
        knora-api {
            // relevant for direct communication inside the knora stack
            internal-host = "0.0.0.0"
            internal-port = 3333

            // relevant for the client, i.e. browser
            external-protocol = "http" // optional ssl termination needs to be done by the proxy
            external-host = "0.0.0.0"
            external-port = 3333
        }

        sipi {
            // relevant for direct communication inside the knora stack
            internal-protocol = "http"
            internal-host = "localhost"
            internal-port = 1024

            // relevant for the client, i.e. browser
            external-protocol = "http"
            external-host = "localhost"
            external-port = 1024

            prefix = "knora"
            file-server-path = "server"
            path-conversion-route = "convert_from_binaries"
            file-conversion-route = "convert_from_file"
            image-mime-types = ["image/tiff", "image/jpeg", "image/png", "image/jp2"]
            movie-mime-types = []
            sound-mime-types = []
        }

        salsah1 {
            base-url = "http://localhost:3335/"
            project-icons-basepath = "project-icons/"
        }
    }

Bugfixes:

  • When API v2 served knora-api (default schema), salsah-gui:guiElement and salsah-gui:guiAttribute were not shown in properties in that ontology.
  • The predicate salsah-gui:guiOrder was not accepted when creating a property via API v2.

v1.2.0

02 Mar 11:19
547e533
Compare
Choose a tag to compare

Attention:

Release requires changes to existing data. Please consult the release notes documentation.

New features:

  • General

    • Change: Return differently formatted JSON responses for exception messages, depending on which route (v1, v2 or admin) was accessed.
  • Admin API

    • Change: Project shortcode is required for the creation of new projects
    • Change: Project keywords are now a sequence. Needs change to existing data. Please see example above.
    • Change: Project description has language tag and is returned as array. Needs change to existing data. Please see example above.
    • Change: Remove institution from project (will be added later with the FAIR metadata)
    • Change: Sorting of collections with admin objects (user, group, project)
    • New: Keywords endpoint at /admin/projects/keywords returns all unique keywords (as strings) for all projects in an array
    • New: Keywords endpoint at /admin/projects/keywords/[projectIri] returns all keywords of a single project.
    • New: Lists endpoint at /admin/lists/ allows new lists to be created.
    • New: Lists endpoint at /admin/lists/infos/<listIri> allows to change basic list information.

Bugfixes:

v1.1.0

22 Nov 14:40
99d207e
Compare
Choose a tag to compare

Release v1.1.0 containing API V1 (stable), V2 (pre-alpha), and Admin (pre-alpha)

  • V1 bugfixes and only non-breaking changes if really needed.
  • V2 active development. Everything goes.
  • Admin active development. Everything goes.

  • docs (webapi): getting started docs (#634)

    Ivan Subotic - Wed, 22 Nov 2017 15:37:45 +0100

    • docs (webapi): getting started
  • feature (webapi): list administration (part 1) (#572)

    Ivan Subotic - Wed, 22 Nov 2017 14:43:04 +0100

    • feature (webapi): return information about all lists

    • test (webapi): all and project lists

    • refactor (webapi): use parameters directive

    • feature (webapi): extended list request

    • feature (webapi): return position for every list node (maybe breaking)

    • feature (webapi): return list node information

    • refactor (webapi): move new list features to admin

    • feature (webapi): return language tag for construct queries

    • feature (webapi): return values with language tag

    • feature (webapi): add sorting method for ListNodeV2

    • feature (webapi): list conversion to and from json

    • refactor (webapi): simplify lists admin api for easier GUI integration

    • test (webapi): update for changes in test data

    • build (salsah): fix sbt config

    • fix (webpi): review clean-up

  • test (webapi): add resource creation by different users (#624)

    Ivan Subotic - Tue, 21 Nov 2017 17:07:46 +0100

    • test (webapi): add resource creation by different users

    • test (webapi): add resource creation by root user

    • fixing resource names, adjusting order of returned permissions

    • test (webapi): drawings gods

    • feature (webapi): add fallback permission

    • test (webapi): drawings gods

    • test (webapi): migrate drawings gods tests to new format

    • refactor (webapi): remove logging

  • Implement smart IRIs (#662)

    Benjamin Geer - Mon, 20 Nov 2017 17:10:02 +0100

    • refactor (webapi): Start refactoring StringFormatter to clarify use cases.

    • fix (webapi): Fix compile errors.

    • refactor (webapi): Add SmartIri class to simplify IRI manipulation.

    • refactor (webapi): Separate IRI conversions from generation of JSON-LD in
      ontology classes.

    • Use SmartIri in constant ontologies, too.
    • Fix a lot of compile errors (still many left).
    • refactor (webapi): Use SmartIri for ontology and entity IRIs in API v2.
    • Separate ontology info schema conversion from JSON-LD generation.
    • feature (webapi): Cache SmartIri instances for better performance.

    • refactor (webapi): Simplify IRI parsing, removing regular expressions.

    • Remove IRI caching, because performance is good anyway.
    • fix (webapi): Fix bugs in IRI schema conversion.
    • Put back IRI caching, but only for Knora definition IRIs.
    • I think OntologyV2R2RSpec test data is wrong (has DatatypeProperty where it
      should have ObjectProperty).
    • fix (webapi): Fix more bugs in API schema conversions and in test data.

    • fix (webapi): Fix more parsing bugs and broken tests.

    • feature (webapi): Fix error-checking of IRIs in SearchParserV2.

    • Cache some known non-Knora definition IRIs.
    • refactor (webapi): Use SmartIri for resource classes in search messages.

    • feature (webapi): Require API v2 simple IRIs in KnarQL.

    • fix (webapi): Allow non-Knora IRIs in KnarQL, but not ApiV2WithValueObjects.

    • feature (webapi): Data IRIs don't get an ontology schema.

    • Don't parse new smart IRIs when it's not neceessary to do so.
    • test (webapi): Start making tests more specific for StringFormatter.

    • test (webapi): Improve SmartIri error checking and tests.

    • feature (webapi): Return ontology IRI and labels.

    • refactor (remove unnecessary code): remove dependent resource vars as order
      by criteria (deprecated)

    • feature (webapi): Support pattern matching with SmartIri.

    • Disable validation of ontology names until #667 is resolved.
    • fix (webapi): Fix various bugs related to IRI conversions.

    • docs (webapi): Add some design documentation about API v2, including
      SmartIri.

    • Remove old API v2 plans doc, which has already been implemented and
      superseded.
    • Add route for getting ontology metadata per project.
    • Add R2R tests for getting ontology metadata.
    • Rename "namedgraph" to "allentities" in ontology routes.
    • Add KnoraContentV2 trait with toOntologySchema method.
    • tests (KnarQL): get pages of a book ordered by their seqnum

    • test (KnarQL R2R): add JSON-LD test data for test

    • test (KnarQL R2R): add tests to get the next OFFSET

    • tests (KnarQL R2R): add JSON-LD test data

    • fix (KnarQL query): always inster statement for start JDN sicne it may be
      used for sorting

    • tests (KnarQL): add JSON-LD test data

    • tests (KnarQL): add JSON-LD test data

    • tests (KnarQL): add JSON-LD test data

    • tests (KnarQL): add JSON-LD test data

    • tests (KnarQL): add JSON-LD test data

    • tests (KnarQL): add JSON-LD test data

    • tests (KnarQL): add JSON-LD test data

    • docs (webapi): Fix typos.

  • must be empty (#666)

    Loïc Jaouen - Thu, 16 Nov 2017 14:21:19 +0100

    • must be empty
      but not undefined

      • default switch case is not enough
  • Return more information about named graphs (#651)

    Tobias Schweizer - Tue, 14 Nov 2017 15:59:14 +0100

    • feature (ontology route v2): return more information about existing named
      graphs

    • refactor (knora-api ontologies): add Link Object

    • fix (add inherited cardinalities to Link Obj): inherited from
      knora-api:Resource

    • refactor (move JSON test data files): separate directory

    • feature (get incoming links): get incoming links when processing query
      results

    • feature (incoming links): add virtual property for incoming link values

    • feature (mark link value properties): add a Boolean flag whether a given
      property points to a link value

    • fix (add missing standoff tag): standoff figure tag was deleted

    • feature (link prop flag): add Boolean flag to link properties

    • fix (missing flags in knora-api ontology): add missing flags for hasLinkto,
      hasLinkToValue, regionOf and regionOfValue

    • fix (add isPartOf to knora-api): add missing properties to knora-api
      ontologies

    • feature (add forbidden resource to knora-api ontos): add ForbiddenResource
      definition to knora-api complex and simple

    • feature (include incoming links): include incoming links in response

    • test (add KnarQL test): add another test for KnarQL for the values to be
      displayed on and incoming resource

    • test (fix tests): use GNDs instead of person Iris

    • refactor (incoming links): invert direction of link if it is an incoming
      link, but represent the link value (reification) as it is stored

    • fix (rename): rename referred resource to nested resource

    • docs (clarify docs)

  • feature (webapi): add project short code (#659)

    Ivan Subotic - Fri, 10 Nov 2017 09:48:13 +0100

    • feature (knora-ontologies): add shortcode and projectOntology
    • feature (webapi): add shortcode and projectOntology
    • refactor (webapi): update IRIs in admin and permission test data
    • feature (webapi): get project shortcode; add new ontology to project; check
      permissions
    • feature (webapi): add project shortcode validation
  • Ontology update infrastructure part 4 (#649)

    Benjamin Geer - Tue, 7 Nov 2017 14:56:34 +0100

    • fix (webapi): Treat dc and other built-in ontologies as built-in ontologies,
      not as project-specific ones.

    • feature (webapi): Serve standoff classes and properties (but not yet in
      knora-api, and not yet standoff datatype tags).

    • docs (webapi): Continue writing IRI documentation.

    • feature (webapi): Support optional project IDs in ontology and entity IRIs.

    • feature (webapi): Use optional project ID in prefix label of generated XSD
      schema for bulk import.

    • test (webapi): Add tests for ontology and entity IRI conversion.

    • Fix extra slash in ontology IRIs.
    • docs (webapi): Continue writing IRI doc.

    • test (webapi): Test creating an empty ontology.

    • docs (webapi): More IRI docs.

    • docs (webapi): Correct errors.

    • test (webapi): Add more ontology creation tests.

    • feature (webapi): Add create property request message.

    • refactor (webapi): Refactor representation of OWL classes to support updates.

    • feature (webapi): Separate direct from inherited cardinalities when
      constructing class defs in OntologyResponderV2.

    • feature (webapi): Distinguish between direct and non-direct cardinalities in
      knora-api ontologies.

    • Add other missing cardinalitie...
Read more

1.0.0-beta.1

13 Jul 08:58
Compare
Choose a tag to compare
1.0.0-beta.1 Pre-release
Pre-release
feature (webapi): additions to the admin api (#486)

* refactor (webapi): user profile queries

* tests (webapi): add drawings gods test cases (ongoing)

* fix (webapi): fix after getUserProfileV1 changed return type

* fix (webapi): fixes after merge

* fix (webapi): administrative permissions

* fix (webapi): project members

* Update of drawings-gods .ttl files

* test (webapi): replicate drawings gods person creation issue

* test (webapi): fix shared admin test data

* drawings-gods .ttl files updated

* fix (webapi): fix DrawingsGods

* attempt to write a test case

* test (webapi): add drawings gods integration test

* test (webapi): add tests for new features (ongoing)

* test (webapi): modify user (ongoing)

* refactor (webapi): updating of user information

* refactor (webapi): updating of user information (ongoing)

* fix (webapi): Make IriLocker release lock if task throws exception instead of returning future

* refactor (webapi): updating of user information

* feature (webapi): updating of group and project information

* feature (webapi): updating of project information

* feature (webapi): updating of project and group membership

* feature (webapi): updating of group membership (ongoing)

* fix (webapi): add namespace deffinitions

* test (webapi): add E2E user tests

* feature (webapi): list administration

* test (webapi): add project, project-admin and group e2e tests

* feature (webapi): add change basic group information

* feature (webapi): add some basic checking to api request case classes

* doc (salsah): update typescript interfaces

* refactor (webapi): move checks to case class constructor

* docs (webapi): improvements to the admin documentation