F4 GitHub Organziations
fcrepo4
This organization is the home of the core Fedora4 API, ontologies, test compatibility kits, and reference implementation.
fcrepo4-exts
This organization is the home of non-core, extension Fedora4 projects, utilities, and ontologies that are actively maintained.
fcrepo4-labs
This organization is the home of experimental projects that are related to Fedora4.
fcrepo-archive
This organization is the home of Fedora4 modules that are no longer supported.
Principles
- Core Fedora capabilities/projects are the set of components that call fcrepo4 home.
- Repository CRUD: LDP
- Batch Atomic Operations
- Versioning: Memento ( )
- Authorization: WebAC (Design - WebAccessControl Authorization Delegate)
- Fixity
- No dependencies from fcrepo4 projects to fcrepo4-exts or fcrepo4-labs
- Dependencies from fcrepo4-exts or fcrepo4-labs on fcrepo4 are limited to kernel interfaces
- For fcrepo4-exts projects, package are org.fcrepo.<something-relevant>
- Each core capability area above should have its own separate ontologies, as appropriate
- TCKs for the Fedora core capabilities
Guidelines for fcrepo4-exts projects
Requirements
- The module is used by 3 or more installations
- The module has two or more formally publicized "owners" (documented in README)
- The module has an integration-test framework in-place
- The module has a unit-test framework in-place
- The module should contain documentation in GitHub release notes of the specific version of Fedora 4 its integration tests build against, when applicable
Considerations
For Java projects that are intended to be shared or used via Maven machinery, it is recommended that:
- The module be released to Maven Central
- The module has a parent pom of fcrepo-parent/pom.xml
7 Comments
Nick Ruest
+1 to requirements 1-5
+0 to requirement 6 – it could be optional.
Jared Whiklo
+1 to requirements 1-5
-1 to requirement 6, based on the fcrepo-camel example this should be optional (but could be recommended).
A. Soroka
+1 to 1-4, with the number of installations at a minimum of three.
-- 1 to 5-6.
Unknown User (acoburn)
+1 to 1-4
-1 to 5 and 6 (which could be encouraged, but not required)
Andrew Woods
Section has been updated based on comments.
A. Soroka
"The module has two or more formally publicized "owners""
Can we say something about contact info here? Like "…publicized "owners" with publicly-available contact information."
Nick Ruest
What we included a "Maintainers" section in the README? We do this in Islandora: https://github.com/islandora/islandora/#maintainerssponsors