Documentation for the ARCHE repository software stack
Probably the most important thing you need to know is that the ARCHE Suite is a framework (in contrary to being an application or a service). To put it simple you need to be (or have around) a programmer to make a working repository out of it. If you are searching for an just-install-and-use app, please rather take a look at software like the DSpace.
If you are still reading, here are a few features which are rather unique to the ARCHE Suite:
The ARCHE Suite is build in a very modular way. It increases flexibility and extensibility but unfortunatelly it also makes it slightly harder to understand how things work at the beginning.
The most crucial parts are:
On top of this minimal set you will be almost for sure interested in:
There is also a set of modules implementing dissemination services:
At this point you are probably wondering where is a graphical user interface.
Well, there is noneā¦
More precisely:
Which basically means you are expected to develop the graphical user interface for browsing the repository on your own.
This is a well-though decision on our side.
The thing is everyone wants to adjust the GUI to their own preferences and there is no one-suits-it-all solution.
So taking into account our limited resources we decided we will not aim for providing a reusable GUI.
Still the arche-core API (for more information on using it see the guides on the main page) and the pretty straightforward underlaying database structure should allow you do develop a GUI quite easily and fast.
The crucial factor here is for you (your programmer) to understand well how to go from metadata in RDF to data structures front-end developers are used to. This and this guide can hopefully help a little with that.
As with the GUI we did not try to prepare a one-fits-it-all data consistency checks system.
What ARCHE Suite provides here is a flexible plugins system allowing you to execute your own code on particular events like the resource addition, modification, deletion, etc.
In our case we developed and plugged in the arche-doorkeeper module. It performs various checks (mainly metadata consistency once) and some automations (e.g. on-demand fetching of PIDs from an external handles service).
In our setup the arche-doorkeeper reads the configuration from an OWL ontology and the ontology is stored as a set of ordinary repository resources (as an OWL ontology is expresses in the RDF and the arche-core stores metadata in RDF, it is pretty straightforward and natural approach; there is a separate piece of software responsible for the ingestion).
While the chances that it will be directly reusable by you are rather small, you can take it as an inspiration for your own checks implementation.
And if you find our setup too complex, you can just implement all the checks logic in the plugin code.
The ARCHE Suite comes with a quite a powerful set of data ingestion tools capable of ingesting resources from RDF metadata file or just a folders structure on a disk. The only caveat is they are console tools (lack graphical user interface).
For end-user scripts take a look at the arche-ingest while the underlaying PHP libraries are provided by the arche-lib-ingest.
Also please do not hesitate to contact us if you have any questions.