AW: [opencms-dev] convert Vignette sites to OpenCMS

Matthias Nott matthias.nott at businessobjects.com
Thu Jan 9 22:28:45 CET 2003


Shawn,
 
ok, that's pretty standard (essentially, customer having bought the
product and not so much using it). I've been working for
Vignette for like 2.5 yrs, lately as technical architect, and left them
like mid of last year when I got too
much bored by the fact that I had to rewrite everything from scratch
every time... I e.g. lead developed the
Allianz.com cms using Tcl and much pl/sql in an object oriented design.
I used caching... 
 
I can definitely say that you can replace your "OID" (SHOW ID) stuff
easily by mod_rewrite:
 
RewriteEngine   on
RewriteRule ^/bla/(.+)/(.*)\.html$ /bla/$1.jsp?ID=$2&%{QUERY_STRING}
[PT]
RewriteRule ^/bla/(.+)/(.*)$ /bla/$1.jsp?ID=$2&%{QUERY_STRING} [PT]
RewriteRule ^/bla/(.+)/$ /bla/$1.jsp?ID=&%{QUERY_STRING} [PT]
RewriteRule ^/bla/(.+)$ /bla/$1.jsp?ID=&%{QUERY_STRING} [PT]

 
Ok, that's just a starter for a webapp called, obviously, bla...
 
Tcl allows for some pretty neat things like
 
a, b and what? Of course, [ 
  set a set
  $a b c
].
 
With Java, that kind of stuff will cause you problems, if, e.g. your
database returns the name of a function
that has to be called to, e.g. display a given object. In my Allianz
project, the database returns
an xml tree of objects, and each object defines by name the display
functions that it wants
to use. Now, you can work around such situations pretty easily in Java,
e.g. as I did it when
I migrated that CMS to JSP - I just call another JSP by name, and my
recursive function calls
have been turned to recursive calls to tags. The current "cursor" to a
node is simply held in
the request.
 
Then, "exec" calls need to be threated thoroughly. For example, I wrote
a small Perl wrapper
in C++ that used perlembed and then Tcl load to use Perl inside a Tcl
script. What I'm saying
is, that as a scripted language, Tcl allows to do all sorts of extremely
ugly things, and these
can cause you bigger headaches than simply caching et al.
 
--
 
A completely different perspective is the system environment you
currently have. Vignette is pretty
good at using processes here and there (e.g., on the Webserver you've
got that caching plugin,
and the cmd part of the cds to uncache stuff; yet, that process can as
well run on another
box, as long as it has filesystem access). Make sure you really do
understand the system
architecture well.
 
--
 
In fact, you are not sacrificing Workflow, as you are not using it in
the first place, and from
my experience, the workflow like 99 % of the people really want (2 step
review) can be
written from scratch just too easily. Add a flag to your content items
indicating the
workflow state. A typical workflow hierarchy is:
 
1 edit state
2 submitted state
... review process
3 pending state
4 live state
5 expiring state
6 expired state
7 deactivated state
8 deleted state
 
3 and 5 help you to not having to check each content item at any time an
automation runs, 
to find out what to set online/offline. Of course, that's just one way
to do it; the real "workflow" 
happens between 2 and 3. Items are on the live site visible only in
states 4 and 5. You can in
addition easily add a versioning scheme; that depends strongly on your
db model,
yet, basically, each content item has an id under which it is know
externally (and 
cached, that ID never changes), and a "real" id that identifies the
currently "working",
respectively, "live" version of the object.
 
--
 
Generally, migrating from Tcl to Java is, at least in my view, a
complete rewrite of the code.
I would
 
a) analyse the existing code/data model
b) analyse the system architecture
c) create a migration plan to replace the system bit by bit.
 
Always keep in mind, for the end user, it is pretty irrelevant whether
the backend uses
Tcl or Java. I'd probably start with the CDA first, as it's typically
the more simple thing,
and then migrate the CMA, making necessary adaptions to the data model
as required.
 
M
 
 
 
 

-----Ursprüngliche Nachricht-----
Von: owner-opencms-dev at www.opencms.org
[mailto:owner-opencms-dev at www.opencms.org] Im Auftrag von Bernard, Shawn
Gesendet: Thursday, January 09, 2003 9:41 PM
An: 'opencms-dev at www.opencms.org'
Betreff: RE: [opencms-dev] convert Vignette sites to OpenCMS


Those are excellent points.  As far as Vignette functionality, we are
using Tcl and caching.  We are NOT using records or workflow (because
Vignette workflow sucks - we'd like our next CMS solution to include a
usable workflow component).  We understand that there will definately be
a lot of work porting from Tcl to JSP/Java, and we are willing to take
that hit.


We are dedicated to using JSP/Java in our next CMS, too.  We have a
number of excellent JSP/Java people in our department and we want to
leverage that knowledgebase.  Going to something like PHP (as much as I
like it) does not seem like an option.
 
What Vignette is to us, basically, is all backend stuff.  We are not
using their personalization, or other components.  We are using it,
basically, as a development environment.  When we switch over, we need
to be able to keep the functionality, from a user's perspective, the
same.  The datamodel/DB cannot change (except, perhaps, very minor
changes).

I've been poking around at OpenCMS and Red Hat CCM (formally ArsDigita).
They both feel a little confining for my tastes, but maybe that's
because I do not have very much experience with either of them.  It
seems that, at this point, just using JSP/Java (Tomcat, etc.) and using
CVS for version control, and perhaps oscache for the caching mechanism,
seems like a strong possibility.  Of course, we'll have to sacrifice
workflow and other things like that, but maybe that's a bullet that we
have to bite.

Shawn

-----Original Message-----
From: Matthias Nott [mailto:matthias.nott at businessobjects.com]
Sent: Thursday, January 09, 2003 3:30 PM
To: opencms-dev at www.opencms.org
Subject: AW: [opencms-dev] convert Vignette sites to OpenCMS


Shawn,
 
The basic question will be whether or not they are actually using the
Vignette functionality. I know Vignette
up to V/6 pretty well and see the following bits that may be of
interest:
 
a) caching (could be replaced e.g. by opensymphony.org/oscache)
b) url rewrite (can be replaced by e.g. mod_rewrite)
c) "records" (you perhaps don't want to use them in the first place)
d) which language do they use - vign supports JSP (ok, say, they have a
Java API), but many sites are still Tcl
 
So basically there is no general answer to your question, except that
_yes_, there are many open source cms'es
around that can deliver many things very similar, or even superior to at
least what I know (pre-V/7). Some
of the hottest candidates are opencms (Java), and, in terms of
functionality probably even more advanced, Typo3
(PHP).
 
A very simple question you can seriously ask your customers is this:
What are you actually using from
your CMS functionality?
 
Cheers,
 
M
 

-----Ursprüngliche Nachricht-----
Von: owner-opencms-dev at www.opencms.org
[mailto:owner-opencms-dev at www.opencms.org] Im Auftrag von Bernard, Shawn
Gesendet: Thursday, January 09, 2003 8:12 PM
An: 'opencms-dev at opencms.com'
Betreff: [opencms-dev] convert Vignette sites to OpenCMS



We have a bunch of sites running on Vignette, and all of them have a
very complex, unique content management system.  Each has its own unique
datamodel and content management application, as well as content display
application.

We are considering moving away from Vignette and to an open source CMS
that supports JSP/Java. 

Does anyone have any experience porting over complex sites to OpenCMS?
It is absolutely necessary that we keep the current datamodels of the
sites, as well as all the functionality of the sites' content management
applications.

Does anyone out there have experience with this?  Is this even possible?
Or will I have to adopt the OpenCMS methodology/model of doing content
management?

Thanks, 

Shawn 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://webmail.opencms.org/pipermail/opencms-dev/attachments/20030109/63c49507/attachment.htm>


More information about the opencms-dev mailing list