The API Extension Architecture (API-X) provides a framework for extending the native functionality of a Fedora 4 repository.  Fedora 4 is a robust, modular, open source repository system for the management and dissemination of digital content and is especially suited for both access and preservation. Originally released in November 2014, version 4 of Fedora is completely new software that addresses the top priorities expressed by the international community.  These were:

  • improved performance, enhanced vertical and horizontal scalability

  • more flexible storage options

  • features to accommodate research data management

  • better capabilities for participating in the world of linked open data

  • an improved platform for developers—one that is easier to work with and which will attract a larger core of developers.

To a large extent these requirements have been addressed through the new Fedora 4 content model and its adherence to the W3C’s Linked Data Platform recommendation.  The content model is very simple with only two types of objects, containers and binaries; while the interface (API) allows direct access to every object in the repository and facilitates bundling multiple operations into larger transactions.

The API-X project seeks to extend the utility of Fedora’s core feature set by facilitating the mapping of the many and varied domain models currently in use by research communities onto Fedora’s semantic-web-based data model and interface.  Concepts such as data set, species, phenotype, collections, metadata, data items, browse imagery, etc. are not native to Fedora 4 and must be mapped to Fedora 4 objects so that communities familiar with those concepts find the web services that are familiar to them.  Mechanisms to extend Fedora so that it can support existing commonly-used web service standards, such as the Open Geospatial Consortium Services (OGC W*S) common in the geospatial community, the Simple Cone Search used in the astronomy community, or the Global Names recognition and discovery services used in biology are required.    

In addition, many domains have developed federated discovery and access portals based on domain specific metadata.  Examples are the two stage discovery mechanisms based off temporal, geospatial, and domain specific parameter queries in the Earth sciences, the ability to query for chemical structures in biomedicine, and to resolve species names across repositories in biology.   If research data held within Fedora repositories are to be globally discoverable, accessible and usable by the research community used to such one-stop capabilities, Fedora 4-based repositories will need to be able to support the mechanisms important to their communities.

Lastly, and perhaps most importantly, beyond supporting existing domain models and services, Fedora 4 needs mechanisms that allow it to support advanced data curation capabilities (e.g., format migrations, support for lineage as well as provenance, etc.) and the needs of new interdisciplinary and cross-disciplinary audiences for data by facilitating access to alternate representations of the data (e.g., thumbnails for browsing, statistical summaries or analysis results on-the-fly) as they develop.  

What is needed is a framework that allows all of these more comprehensive and possibly domain specific services and models to be added to a repository in a standard, reusable, plug-and-play way.  Facilitating this is the purpose of the API-X framework.

How to get involved

Take a look at a hands-on demo of the first milestone API-X release, and provide valuable feedback

All Fedora adopters are welcome and encouraged to participate in this community effort.  The group holds meetings via conference call on a biweekly basis, currently every second Thursday at 1pm Eastern (US) Time.  Notes from past meetings and agendas for upcoming meetings are available via the links to the right.

Participation can take many forms, from attending meetings, contributing use-cases, and drafting documentation, to acting as a stakeholder or contributing code for development efforts.  Just call in to a meeting or get in touch with some of the participants listed below to find out how you can help!

People and Roles

For more information on different ways to participate in API-X planning and development, see the "People and Roles" page.  Current participants in the API-X group includes the following:

  1. Documents
    1. Design overview
    2. Use Cases
    3. High-Level Requirements (distilled from use cases)
  2. Implementation
    1. Github – https://github.com/fcrepo4-labs/fcrepo-api-x
    2. First milestone/demo - API-X Demo/Milestone 1
  3. Recent Papers, presentations, and media
    1. Introduction to API-X video on youtube
    2. Slides from DLF '16
    3. Slides from Open Repositories '16


Found 10 search result(s) for API Extensions Meeting.

Page: 2017-01-19 API Extension Architecture Meeting (Fedora Repository)
... great. Seamless, functionalities are extremely impressive. Is interested in the next steps, the short list of extensions in immediate and near future with crystal clear extensions to be pushed to the community so that we can convey to community the concrete values that APIX
Jan 19, 2017
Page: 2017-03-16 API Extension Architecture meeting (Fedora Repository)
... Write triple store demo Write package ingest demo Write intercepting extension demo  LDpath demo? Minutes JHU wrapping "package ingest extension" to POST bags to a given container in repo Uses a streamingoriented API (e.g. friendly to large ...
Apr 13, 2017
Page: 2017-04-13 API Extension Architecture meeting (Fedora Repository)
... Write triple store demo Write package ingest demo Write intercepting extension demo  LDpath demo? Minutes JHU finished package ingest extension, birkland has hot had time to write demo images.  The next 23
Apr 13, 2017
Page: 2017-02-16 API Extension Architecture Meeting (Fedora Repository)
... additional feedback from demo? Updates New release of repositoryextensionservices includes ldcache extension https://gitlab.amherst.edu/acdc/repositoryextensionservices/tree/master/acrepoextsldpath JHU finishing up package ingest extension, not in Maven Central yet. Added object indexing to demo images, found and fixed ...
Feb 15, 2017
Page: 2017-06-15 API Extension Architecture meeting (Fedora Repository)
... extension for demonstrating linking/paths within extensions Added a new rdf visualization extension (implemented in PHP) which draws an RDF graph as an SVG (see snippet https://github.com/birkland/fcrepoapixdemo/blob/acrepo1.1.0/extensions/rdfvis/1.0.0/www/index.php#L15L30) ... ddavis acoburn nruest ajs6f@virginia.edu Agenda Updates/progress CLAW is able to add 
Jun 15, 2017
Page: 2016-08-18 Fedora API Extension Meeting (Fedora Repository)
Date: Thursday, August 18, 1pm EDT (4 UTC) Dialin Number: (712) 7757035 Participant Code: 479307# International numbers: Conference Call Information https://wiki.duraspace.org/display/FF/ConferenceCallInformation You may also call in using the VoIP dialer https://www.freeconferencecallhd.com/wpcontent/themes/responsive/flashphone/flashphone.php from ...
Aug 22, 2016
Page: 2017-05-11 API Extension Architecture meeting (Fedora Repository)
... Write triple store demo Write package ingest demo Write intercepting extension demo  LDpath demo
Jun 15, 2017
Page: 2017-08-17 API Extension Architecture meeting (Fedora Repository)
... aren't LDPRs https://github.com/fcrepo4labs/fcrepoapix/issues/132 Do not bind to inaccessible resources https://github.com/fcrepo4labs/fcrepoapix/issues/134 Allow intercepting extensions to intentionally terminate chain https://github.com/fcrepo4labs/fcrepoapix/issues/136 Ontology namespace https://github.com/fcrepo4labs/fcrepoapix/issues/96and hosting? http://fedora.info/definitions/ http://fedora.info/definitions/apix? ...
Aug 17, 2017
Page: 2017-09-28 API Extension Architecture meeting (Fedora Repository)
... Authorization turned on by default Lots of config and doc changes Updates to rdf visualization extension in order to handle authn nuances orginal request headers (from client, which ...
Sep 28, 2017
Page: 2015-12-18 - Fedora API Extensions Meeting (Fedora Repository)
... do we have other items that are also goals, but not requirements?  Is it appropriate for an APIX extension to use native java APIs such as fcrepokernelapi https://wiki.duraspace.org/display/FF/HighlevelRequirements?focusedCommentId=71991895#comment71991895, or should they use standardized and codified fedora HTTP APIs? Discuss list of potential Proof of Concept ideas.  Do ...
Dec 21, 2015

  • No labels