This is a prototype site to edit and make available information and links to learning resources for digital preservation. The structure is based on the DPC Competency Framework. The story of the development of this site is outlined here.
The main, public facing site is currently at: https://digital-preservation-coalition.github.io/learning/
This is generated on GitHub from the source files held in this repository. Currently, all changes are published to the main website as soon as they are made to this main branch. Later, we may switch to doing versioned releases.
The site has this content management system, which uses DecapCMS.
Any GitHub user can use the Content Management System to add or edit resources to the site. DecapCMS creates repository forks, pull-requests and issues as needed. The owners can then use DecapCMS's editorial workflow system to accept any changes.
There is a dedicated GitHub Team that can be used to manage editorial membership of this service and accept contributions.
Note that as this CMS uses Git to store the content and generates the site using GitHub Actions, there is a small delay while the sites are updated after new changes are accepted.
There is an preview version of the site at: https://digipres-learning-resources.netlify.app/
This is hosted and generated by Netlify, as they makes it possible to manage the content held in this GitHub repository. DecapCMS relies on GitHub for authentication, so contributors need to have permission to write to this repository in order to add or edit pages on this site.
Netlify also hosts preview versions of the site for pull request before they are merged.
The site uses Jekyll, with all information stored in simple structured files held in this Git repository. Jekyll templates turn the structured data into HTML, with Bootstrap used to layout content and add buttons etc., DataTables to make tables interactive, and PageFind to make the faceted search page.
The build.sh and dev.sh scripts can be used to run the site build process on your own computer. The dev.sh version runs a server and watches for changes to the pages, so you can get rapid feedback on most aspects of the Jekyll site generation process. e.g. once Jekyll is installed, to install the dependencies and run the server you'd use:
bundler install
./dev.shThe page-level templates are in ./_layouts/ and the re-usable templates are in ./_includes/. The homepage is in ./index.md and other pages are held in subdirectories. The _data, _skills, _roles and _resources folders contain the information that the rest of the pages are generated from. Most of this content can be edited via DecapCMS as an alternative to editing them through GitHub or Git directly.
The instance of DecapCMS is deployed in the /admin/ folder, along with all the configuration and customisation related to it.
The Netlify account is only needed because, having set the deployment URL up as an alias for the site, Netlify provides a small service to aid authentication on GitHub. The 'open authoring' feature for contributions is currently only implemented for GitHub, so we need this in order for things to work as we'd expect.
If you have any further questions or queries, feel free to open an issue or contact the Digital Preservation Coalition https://dpconline.org.