Jisc Common Abstraction Layer - adammoore/corda GitHub Wiki
Overview
The Jisc Common Abstract Layer (JCAL) allows interfaces to various parts of infrastructure without a need to define the exact nature of that underlying infrastructure. Connectors mediate the abstract instructions of the JCAL with specific instances of infrastructure.
For example, the JCAL has a repository function set. An eprints connector would interpret that funtion set into a series of calls to the eprints CRUD (or via a specific plugin) and return the expected responses
JCAL Function sets
Base level common functions
Exists (Boolean) Checks that the piece of infrastructure is present
Connected (Boolean) Checks that the piece of infrastructure is correctly connected
ReturnIDList(format) (LIST) Returns a list of stored ORCID iD from the connected infrastructure in the requested format Formats: CSV, XML, JSON
Query endpoint for a test Haplo instance: https://dev7a26.infomanaged.co.uk/api/demojisc-hackday/get-people-data
With: code for implementing plugin
Rough JSON format for data requested:
// JCAL REQUESTS FROM SYSTEMS
person: {
emailAddresses:
names:
institutions:
orcid:
orcidIsAuthenticated:
repositoryId:
crisId:
studentRecordSystemId:
// Used for matching in JCAL
publishedWorks: [
{
title:
doi:
handle:
issn:
isbn:
}
]
}
// JCAL THEN COLLATES:
singleOrcid: {
emailAddresses: [],
names: [],
institutions: [],
repositoryId: [],
crisIds: [],
studentRecordSystemIds: [],
authenticatedIn: [],
scopusIds: [],
// Used for matching in JCAL
publishedWorks: [
{
title:
doi:
handle:
issn:
isbn:
pubmedID:
pubmedCentralId:
}
]
}
Prototype of the service:
Return ID List
http://63.35.7.234/corda-restler/public/corda/index.php/Downloader/ReturnIDList
Ingest data from Haplo
http://63.35.7.234/corda-restler/public/corda/index.php/DemoConnector/connect
The following function sets are currently in development:
Repository
CRIS
HR
ReturnDept(format) (LIST) Returns a list of institutional organisational units from the connected infrastructure in the requested format Formats: CSV, XML, JSON
Note - should HR include LDAP / AD or should that be separate??
ORCID Reports
Possible output from API implemented in ORCID, to export report data.
{
groupID: '4444-4444-4444-4444',
group name: 'Test org',
clientID: '5555-5555-5555-5555',
client name: 'Test client',
reportDate: 'YYYY-MM-DD',
reportStartDate: 'YYYY-MM-DD',
reportEndDate: 'YYYY-MM-DD',
emailDomains: [
'abc.ac.uk': {
recordCount: 123
},
'def.edu': {
recordCount: 456
}
],
userActions: {
AuthorizeP_READ_LIMITED: {
totalEvents: 123,
uniqueEvents: 456
},
Authorize_Deny: {
totalEvents: 123,
uniqueEvents: 456
},
New-Registration: {
totalEvents: 123,
uniqueEvents: 456
},
}
}
JCAL Feature Set
JCAL is currently available as a RESTful interface and via ....