• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Xcri aggr dev8d
 

Xcri aggr dev8d

on

  • 859 views

Brief overview of the API components of the JISC XCRI-CAP aggregator

Brief overview of the API components of the JISC XCRI-CAP aggregator

Statistics

Views

Total Views
859
Views on SlideShare
858
Embed Views
1

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 1

http://s.medcl.net 1

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Xcri aggr dev8d Xcri aggr dev8d Presentation Transcript

      • XCRI-CAP Aggregator API & Tooling Overview Ian Ibbotson Knowledge Integration Ltd
        This work is licensed under a Creative Commons Attribution 3.0 Unported License.
      • 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 changes in core aggregation database (Mongo, Elasticsearch, triplestore)
        • Optional API's for push submission
        • Api's for third party embedding / usage
        • Integrated with XCRI Validator web service
      • Project Status
      • Iteration 2 completed – Core development and data ingest
      • Iteration 3 Work on extending APIs and adding access points
      • Iteration 4 Implementing Usability and other Feedback
      • Overall Architecture
      • 1. Feed Manager
      • http://coursedata.k-int.com/FeedManager
      • Simple HTML Client for owners of XCRI-CAP documents who want them published
      • Upload / Schedule Collection (Pull)
      • Force re-harvest
      • View documents
      • Approve / Publish to discover app
      • Feed Status Page
      • Submission Console
      • Search Harvested Feed
      • Dashboard / Approve (wip)
        Backlog includes... - Analysis of facets (Subjects) - Warnings / Errors - Change Frequency - Interaction with Terminology
      • 2. Discovery Interface
      • http://coursedata.k-int.com/discover
      • Search all published feeds
      • Facet by subject / provider / TBA
      • Simple interface for practitioners
      • Clean URLs
      • http://coursedata.k-int.com/discover/?q=Science
      • Content Type Negotiation (accept header, format=json|xml|atom|rss) – OpenSearch.
      • Search Interface
      • Results
      • Faceting
      • Details
      • 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.
      • Additional parameters location= gazetteer based searching in r3 (next week)
      • discover?q=science&format=rss
      • 4. Direct Access ElasticSearch / Triple Store
      • ES search now, ask for port opening
      • TripleStore – R4 (3 weeks)
      • Direct ElasticSearch
      • http://coursedata.k-int.com:9200
        • /courses/course/_search?q=title:science
      • SOLR api in release 4 via ES Plugin
      • Remember no access to gazetteer or controlled term lookup via direct ES search. Facets will be “codes” (Free text atm) and not terms.
      • Some GUIs / other minted identifiers
        • Provider – URI in standards, seldom in practice, go via Co-Reference Service to harmonise
      • ElasticSearch on :9200
        http://coursedata.k-int.com:9200/courses/course/_searchq=title:science&pretty=true
      • 5. Submission Interface
      • For institutions wanting to directly push XCRI documents into the aggregator
      • http://coursedata.k-int.com/repository/upload
      • BASIC Auth protected / https
      • Content Type Negotiation
      • Automated Submission
      • Automated Submission
        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.
      • Custom Handlers
      • Dynamically Discovered
      • 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
      • REST API Summary
      • http://coursedata.k-int.com
        • /FeedManager
        • /discover?q=x&format=[atom|rss|json|xml]
        • /discover/course/<<identifier>>[&format=xml|json]
      • Toolkits
      • Release 4 – Code Client Libraries
        • Python, Java, Php, .net
      • Sourcecode
      • FeedManager, Discover App
        • https://github.com/k-int/XCRI-Aggregator
      • Core Aggregator Platform
      • Sourcecode
      • FeedManager, Discover App
        • https://github.com/k-int/XCRI-Aggregator
      • Core Aggregator Platform
        • git@github.com:k-int/AggregatorCore.git
      • Questions