[opencms-dev] Data management for multi-domain regional customerportal

Jonathan Woods jonathan.woods at scintillance.com
Fri Oct 13 10:39:30 CEST 2006


Christoph -

2.  I think using resource properties for something this significant would
be a big mistake - you'd end up stashing structured data in Strings, which
always ends up nastily.  Rather than end up with a separate database
structure to manage and keep in synch, at www.colfes.com I contain metadata
in (VFS resources of) a dedicated XML content type.  I index metadata values
using Lucene (because it's combined with free-text search and already
integrated event-wise with OpenCms), and generate page content (if not site
structure) from efficient Lucene queries.  If your navigation is also
generated from metadata, then either you can cache it (the navigation data
structure itself or the ouotput of the JSPs which render it) or you can make
sure through clever indexing that your queries are blindingly fast.  Same
goes for a database-implemented indexing scheme, of course.

1.  Management of metadata is a bit more problematic, and I haven't
addressed this yet.  My metadata (e.g. a list of possible values in a
hierarchical value space like 'organisational unit') is held in an
OpenCms-accessible workplace properties file, and referred to in XML content
schema to generate simple multiple-select lists of the metadata values.
This isn't great, especially when the list becomes long.  A better solution
a metadata management interface would be e.g. a nice OpenCms/JSP-delivered
AJAX tree control etc, and this could be re-used during editing and content
creation.

3.  Not sure where you're going with your banners and statistics etc, so not
much useful to say here.  I doubt there are OpenCms-specific modules for
this kind of thing, though I may be wrong.  Anyone?

4.  Good point.  If your metadata management solution is such that metadata
themselves are held in OpenCms content types as suggested in 1 above, then
yes, you could use the same workflow.  Of course, your application's
handling of the metadata would itself have to be aware of this (i.e. take it
from the offline project when offline, and online when online).

5.  Not out of the box, though something like this may be coming in the next
release or two.  Existing workflow capability is in the so-called Legacy
module which may be installed at the outset or on top of an existing
instance of OpenCms, and it's restricted to manual task creation - glorified
but restricted e-mailing, really.  You could write your own, using a
module-based listener to CmsEvents fired from various stimuli (fiddly), or
you could use a module which integrates a third party workflow engine
(search for "OpenCms osworkflow jbpm") (may be overkill; more dependencies).
Alternatively, you could implement workflow a slightly more manual way by
implementing a view which shows - for the logged in user - all resources
whose state matches that of articles/documents they need to review.
Combined with OpenCms permissions (which allow only selected users to
publish) this works well for me, but then my workflow requirements are
currently fairly simple and my users are organised enough to allocate time
specifically to checking that view.  As you know, complex workflow solutions
can sometimes cause more problems than they solve.

Jon

-----Original Message-----
From: opencms-dev-bounces at opencms.org
[mailto:opencms-dev-bounces at opencms.org] On Behalf Of Christoph Schönfeld
Sent: 12 October 2006 17:38
To: opencms-dev at opencms.org
Subject: [opencms-dev] Data management for multi-domain regional
customerportal

Dear fellow list members,

I would like to ask you for a few hints regarding the data management of my
project with OpenCms.

The project is a multi-domain regional customer information portal. All
domains must be hosted on a single installation of OpenCms. I found out that
this can be done using the multi-site mechanism of OpenCms.

The regional portals share purpose, layout, site structure and content
elements (address/vendor catalog, customer information articles,
advertisement banners).

There are several metadata elements structuring and coupling the content
elements, in particular topics, subtopics, keywords and regions. The
metadata shall be used to build the site content dynamically. Topics and
subtopics build the navigation menus.

Each regional portal must list content associated to its region above
content assigned to its neighbor regions. Effectively, all portals show the
same content, just with different ordering (local content first).

The banner selection during page rendering depends on topics, regions and
keywords of the displayed content elements.

Each click on articles, addresses and banners must add an entry to the site
statistics.

My questions:
1. How would you approach the management of the metadata (topic hierarchy,
region list, etc.)?
2. Are OpenCms's document properties suitable to represent the metadata
information? How would that affect performance?
3. Are there open source or commercial modules available for the management
of addresses, banners and statistics?
4. In order to keep up the consistent edit/test/publish process, can the
offline/online concept of OpenCms be reused for the persistence needs for
data and metadata extensions I need to write? The user experience must not
be disrupted by unfinished work (changes in the topic structure must not
become visible to the portal visitors before they are approved and
published).
5. Is it possible to create a workflow item for an editor each time an
author creates a new article?
6. Does OpenCms support automatic creation of article excerpts for the
display in article lists for a topic and in search results?

My first idea to solve metadata management (question 1) is to store them in
XML files within OpenCms VFS (which would fulfill the requiremets of
4) and create an API above this which also integrates the banner selection.
The address and banner management would, IMO, be the only parts not worth
putting into the VFS because the addresses are a typical database
application and new or changed addresses and banners do not necessarily
belong under control of the publication workflow.

Looking forward to any hints and thoughts,

    Christoph from Germany

--
Christoph Schönfeld
Softwareentwicklung

Sylphen GmbH & Co. KG Hamburg

E-Mail cschoenfeld at sylphen.com
http://www.sylphen.com

C1 - das XML-basierte Redaktionssystem für Ihr Cross-Media-Publishing



_______________________________________________
This mail is sent to you from the opencms-dev mailing list To change your
list options, or to unsubscribe from the list, please visit
http://lists.opencms.org/mailman/listinfo/opencms-dev





More information about the opencms-dev mailing list