we want to track all content in a versioned git repository which is managed by dc2f itself. the question is how to handle multiple projects, maybe dependent libraries, etc.
example:
rep/config/: One master repository which contains general configuration and a list of the /content/* repositories.
rep/auth/: authorization configuration
rep/content/dc2f.com/: content for dc2f.com
rep/content/common.dc2f.com/: common node types (some basic node types like "blog entry", etc. which can be reused as a library
rep/content/internal.dc2f.com/: content which is only viewable by authorized users.
...
rep/config/ must be clone-able by all people who should be able to edit content locally (ie. clone the whole setup)
rep/auth/ must only be clone-able by staging servers which are at least as secure & restricted as the production server.
rep/content/dc2f.com/: cone-able by all users who can edit dc2f.com
rep/content/internal.dc2f.com/: clone-able only by users who have access to the internal data.
problems:
only access restrictions based on whole repositories - maybe we have to implement our own git server (like gerrit) - which restricts clone/pull for certain users and has a more fine grained control over 'push' (ie. read permissions can be given per git repository, but more granular write permission)
how are the repositories connected? how can dc2f.com link to internal.dc2f.com? we are currently link to other nodes using absolute paths like /example/cmsblog/articles/my-first-article - should we simply loop through all repositories to find the first one that matches, or should we use something like //dc2f.com/example/cmsblog/articles/my-first-article?
how do we handle node type libraries - most of the time these will include java code.. so if we want to be fully flexible we need to implement our own class loader which loads the classes from the git repository and not from the local classpath.. (which will certainly get us into trouble with the application server)
we want to track all content in a versioned git repository which is managed by dc2f itself. the question is how to handle multiple projects, maybe dependent libraries, etc.
example: rep/config/: One master repository which contains general configuration and a list of the /content/* repositories. rep/auth/: authorization configuration rep/content/dc2f.com/: content for dc2f.com rep/content/common.dc2f.com/: common node types (some basic node types like "blog entry", etc. which can be reused as a library rep/content/internal.dc2f.com/: content which is only viewable by authorized users.
... rep/config/ must be clone-able by all people who should be able to edit content locally (ie. clone the whole setup) rep/auth/ must only be clone-able by staging servers which are at least as secure & restricted as the production server. rep/content/dc2f.com/: cone-able by all users who can edit dc2f.com rep/content/internal.dc2f.com/: clone-able only by users who have access to the internal data.
problems: