-
Notifications
You must be signed in to change notification settings - Fork 1
Further Information and Considerations for Content Providers
The software for content providers is structured in the following way:
-
source.py- a single Python script with dependencies, the majority of which are installed via Pip- the script may optionally be scheduled to be run via
cron, for example
- the script may optionally be scheduled to be run via
-
source.ini- general configuration options for the script -
source_logging.ini- logging configuration options
The script does the following in order:
- Read config files and process command-line arguments
- Issue HTTP GET requests to OAI-PMH data providers
- Process responses from data providers
- Write ResourceSync document files (e.g., SourceDescription, CapabilityList, ResourceList, ChangeList) to the local filesystem at the locations specified by command-line arguments
- Write log files at the location specified by configuration
As the document roots of many popular web servers (e.g., Tomcat, httpd) are owned by users with elevated privileges, the simplest use of this software is to run it with the privileges required to write ResourceSync document files directly at their final locations.
If the script is unable to be run with the required privileges to do so, another option will work. The script should be invoked so that it writes files to a directory dedicated to SYMLINK, OUTSIDE DOCUMENT ROOT ____WIP___WIP____WIP ()
The software is intennded to be interacted with by either the system administrator, or some scheduling utility such as cron.
The software depends on standard, widely-used Python modules available on PyPI.
The only exception is the primary dependency for content aggregators (py-resourcesync), developed primarily by software developers at LANL. There are numerous tests written for py-resourcesync, which is open sourced here: https://github.com/resourcesync/py-resourcesync.
For content aggregators, the target audience (indented user) of the software is the administrator of a system that is to become a resourcesync hosting server. For example usage, see https://github.com/UCLALibrary/resourcesync-oai-pmh/wiki/Use-Case-Recipes; for detailed usage, please download the software, install dependencies, and run python3 source.py --help.
The expected output of the software is:
- INFO-level logging to STDOUT
- DEBUG-level logging to a file specified in the configuration
- ResourceSync documents (files) created or updated