[opencms-dev] convert Vignette sites to OpenCMS

Bernard, Shawn Shawn.Bernard at turner.com
Thu Jan 9 22:41:46 CET 2003


Wow, thanks for the comprhensive reply, Matthias, it was great!
 
We undertstand that we will have to totally rework all the code in order to go from Tcl to JSP.  What we DON'T want to do is to have to change the datamodel completely in order to conform to a new CMS's 'method' of dealing with content.  We'd rather have the CMS handle more of the 'invisible' stuff like caching, user permissions, etc. than have a specific content management methodology dictated to us.

There are a few neat things that Tcl can do that I will probably miss, but I'm sure there are a lot more things that JSP/Java can give me that will more than make up for it (including a more marketable skill - Java is a little more attractive than Tcl to prospective employers ;).
 
You're right about workflow - most of it is very simplistic compared to the Vignette implementation.  We don't need anything too complex, so that probably won't be a deciding factor for us.

So what do you think about our choices?  OpenCMS, Red Hat CCM, plain old JSP via Tomcat (or the equivalent)?
 
Thanks again for your help,

Shawn
 

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


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/cb13ff3e/attachment.htm>


More information about the opencms-dev mailing list