I’ve been exploring a little bit recently with the PUR and Forum modules + commenting. I get the impression these modules are relatively young is that right?

I'm really really interested in the topic, because managing user generated content is something we've been asked quite often. Maybe it's simply the "web 2.0 feeling" it gives... A good question I heard is: "Magnolia is a good content management system, so why it can't manage that content?"

But my question is: which is the Magnolia standard way to handle user generated content? I don't know if there is already one, from the docs I read seems there isn't. Modules that handles UGC are not young, but they gave (to me at least) a strong impression that each one was just tailored to do its little part in its own way, without a bigger plan.

So far, I've seen implemented (or thought) these solutions about UGC:
- Separate database, with out-of-Magnolia handling of the contents (in a relational database, usually with hibernate or similar). This seems a good solution but may leave some integration problem in Magnolia, and it seems unlikely that this will be accepted as a "Magnolia standard", because it's more a last resort for worst cases. - "Just stay on public", content generated is stored on public server and authors have no way to access or handle it. May require to have a few "unpublishable" nodes in the author instance to avoid overwriting all the public data (and if the repo is not separated from the published one it may be unsafe). It's really easy to implement for simple cases, but it's also limited. - Single instance. With a few hacks, it seems possible to have a single instance for both public and authoring (or better using the public one as authoring), in which contents are only "published" or "unpublished" (only logged authors can view them), killing the concept of "modified and not yet published". This way you can use the existing repo to store also pubilc content and have authors edit/moderate it. Seems to be a good compromise but it's still not good to be a standard solution. - Backpublishing, with the public instance that automatically publish its user generated content to the author one, so it can be published back correctly when the author edits something. This feels really unsafe (public instance must see and have access to the author one) and may lead to concurrency problems. - Author pulling (only thought about it as possible solution): the author instance has no copy of UGC but whenever it needs to edit it, it calls a servlet/webservice on public instance to retrieve the content and another one to save it. Or stores the copy locally and then publish it the standard way, but even this may lead to concurrency problem. Seems quite complex and not very performing.

In the end I didn't like any of these solutions. There is still something that I'd like to try, if I don't find anything better: separate UGC repo clustered between public and author. Leaving the current repos configured as they are, I'd like to add another (almost) full set of the same repos, but configured to be clustered between author and public, so the data is automatically shared. The UGC-user will contain the public users and the others all kind of user generated data (not only content stored in pages/paragraphs but maybe also files stored in data modules if any client would ever ask for something so strange). Obviously there would be many tweakings involved, but it shouldn't be totally impossible. Just my two cents, but I'd like to share your ideas about the topic.

Regards, Danilo.

----------------------------------------------------------------
For list details see
http://www.magnolia-cms.com/home/community/mailing-lists.html
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to