- 1.
- XCRI-CAP Aggregator What is it?
- End to end way of collecting course data from any provider into
a unified repository
-
- Scheduled pull of XCRI-CAP documents
-
-
- Checksums and date stamps
-
- Indexing and update of changesin core aggregation database
(Mongo, Elasticsearch, triplestore)
- 2. Optional API's for push submission
3. Api's for third party embedding / usage 4. Integrated with
XCRI Validator web service 5.
- XCRI-CAP Aggregator API & Tooling Overview Ian Ibbotson
Knowledge Integration Ltd
- This work is licensed under a Creative Commons Attribution 3.0
Unported License.
6.
- Iteration 2 completed Core development and data ingest
7. Iteration 3 Work on extending APIs and adding access points
8. Iteration 4 Implementing Usability and other Feedback 9.
10.
- http://coursedata.k-int.com/FeedManager
11. Simple HTML Client for owners of XCRI-CAP documents who want
them published 12. Upload / Schedule Collection (Pull) 13. Force
re-harvest 14. View documents 15. Approve / Publish to discover app
16.
17.
18.
19.
- Dashboard / Approve (wip)
- Backlog includes... - Analysis of facets (Subjects) - Warnings
/ Errors - Change Frequency - Interaction with Terminology
20.
- http://coursedata.k-int.com/discover
21. Search all published feeds 22. Facet by subject / provider /
TBA 23. Simple interface for practitioners 24. Clean URLs 25.
http://coursedata.k-int.com/discover/?q=Science 26. Content Type
Negotiation (accept header, format=json|xml|atom|rss) OpenSearch.
27.
28.
29.
30.
31.
- 3. Discover Rest Interface
- http://coursedata.k-int.com/discover
-
- &format=[xml|json|rss|atom]
- q parameter Standard lucene query syntax, boolean operators,
any field or free text.
32. Additional parameters location= gazetteer based searching in
r3 (next week) 33.
- discover?q=science&format=rss
34.
- 4. Direct AccessElasticSearch / Triple Store
- ES search now, ask for port opening
35. TripleStore R4 (3 weeks) 36.
- http://coursedata.k-int.com:9200
-
- /courses/course/_search?q=title:science
- SOLR api in release 4 via ES Plugin
37. Remember no access to gazetteer or controlled term lookup
via direct ES search. Facets will be codes (Free text atm) and not
terms. 38. Some GUIs / other minted identifiers
-
- Provider URI in standards, seldom in practice, go via
Co-Reference Service to harmonise
39.
-
http://coursedata.k-int.com:9200/courses/course/_searchq=title:science&pretty=true
40.
- For institutions wanting to directly push XCRI documents into
the aggregator
41. http://coursedata.k-int.com/repository/upload 42. BASIC Auth
protected / https 43. Content Type Negotiation 44.
45.
- http://coursedata.k-int.com/repository/upload Recognises
upload.json/upload.xml and Accept headers for content type
negotiation. Err and warn response messages for validation
problems.
46.
47. Scriptable (groovy) Handlers::
-
- getHandlerName, getRevision, getPreconditions, setup
- Handlers are selected by precondition, with most specific being
selected.
- def getPreconditions() { [
'p.rootElementNamespace=="http://xcri.org/profiles/catalog"' ] }
Add && provider==MyProviderId for more specific
variants
48.
- http://coursedata.k-int.com
-
- 49. /discover?q=x&format=[atom|rss|json|xml]
50. /discover/course/[&format=xml|json] 51.
- Release 4 Code Client Libraries
52.
- FeedManager, Discover App
-
- https://github.com/k-int/XCRI-Aggregator
53.
- FeedManager, Discover App
-
- https://github.com/k-int/XCRI-Aggregator
54.