Hi!

I'm currently designing the JCR model. It is relatively straightforward, except for two things:

1) storing of attachments (I haven't figured out yet whether it's better to store them in a separate workspace, because then you can leverage faster local filesystems instead of putting really big binaries into the database)
2) and more importantly, author names.

Now, we have in 2.8 a way to uniquely identify an author by an id number, allowing for author name changes. This is quite fine, but I'm now unsure what should be stored into the backend.

Storing the id alone brings in the following problems:
* Imports/exports break, since the repo model would only export the ID, and there would be no binding of that to real identity * Since the id=>identity mapping is not done in the JCR backend, every getAuthor() (w/out cache) would cause multiple DB accesses. * numeric ids are not necessarily available from the userdb backend (e.g. if you use LDAP or something similar), so they would be internal only - which means that if you export or access the content via other means, you would not be able to figure out the user.

One possibility would of course to be and ditch any custom User/ GroupDatabases and make them use the JCR backend, too. But that will tie them together for better or worse.

Another possibility would be to store both the id *and* the WikiName.

Opinions?

/Janne

Reply via email to