Releases: dasch-swiss/dsp-api
v1.5.0
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:
v1.4.0
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 propertyknora-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:
v1.3.1
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
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
andsalsah-gui:guiAttribute
when serving ontologies in API v2 in the default schema. - Allow
salsah-gui:guiElement
andsalsah-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 ofguiElement
andguiAttribute
.
- Serve the
- Changes to
application.conf
. Thesipi
andweb-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
andsalsah-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
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
oradmin
) was accessed.
- Change: Return differently formatted JSON responses for exception messages, depending on which route (
-
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
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
- @tobiasschweizer prefers an empty string to a word "empty"
-
-
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...
-
1.0.0-beta.1
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