Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
Currently the repository initializers (RepositoryInitializer and WorkspaceInitializer) run when the repo boots without any hooks [0] which means that current RepositoryInitializers need to setup custom Roots (roots with hardcoded editor providers like NamespaceEditorProvider and TypeEditorProvider) on top of the provided builders to be able to setup properly. I'm looking at the InitialContent [1] and the CugConfiguration [2] in the context of installing node types.
I would like to look into removing the hardcoded providers and trying to run all existing editors over the content produced by the initializers.
As an added benefit this will allow decoupling of hard dependencies between components (see for example OAK-7499)
[0] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/Oak.java#L687
[1] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/InitialContent.java#L134
[2] https://github.com/apache/jackrabbit-oak/blob/trunk/oak-authorization-cug/src/main/java/org/apache/jackrabbit/oak/spi/security/authorization/cug/impl/CugConfiguration.java#L162
Attachments
Issue Links
- is blocked by
-
OAK-7527 Drop mandatory constraint on "rep:system" node for "rep:privileges"
- Closed
- is related to
-
OAK-7779 Ignore copying of namespace index node in InitialContentMigrator
- Resolved
-
OAK-7786 Make the NamespaceEditor less strict when enforcing changes to rep:nsdata node
- Closed
- relates to
-
OAK-7499 Dependencies on various 'plugins'
- Open