<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2523" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2>Jorge,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2>As far as I understand, you talk about schema evailution, 
i.e. what if a schema changes after contents are already created with that 
schema. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2>I agree that the straightforaward approach for this to just 
read all XML contents that use the "old" schema, and re.write them somehow to 
the "new" schema. This could be some tool in the "Administration" view. I would 
welcome having such a tool, but currently we will not be able to work on this, 
so this is open for contribution from someone else.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2>FYI: The next alpha version of OpenCms will feature a much 
extended version of the XML content editor that is able to deal with "optional" 
elements in the schema, with nested content schemas, puls a couple of other nice 
featurs like custom validation rules etc. </FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=340290413-07122004><FONT face=Arial 
color=#0000ff size=2>So you change a schema definition, and if you do it in a 
way that the current content stays "compatible" with the new schema, then all 
your content will continue to work. This usually means adding new elements with 
"minoccurs=0" setting. As already said, the editor will then allow you to 
"activate" such an optional element in case the content your are working on does 
not have the element set already. This limits the requirement for a "schema 
evolution tool" to cases where the schema changes are such that the old content 
will not work anymore with the new version of the schema (e.g. adding new 
elements with "minoccurs="1").</FONT></SPAN></DIV><!-- Converted from text/plain format -->
<P><FONT size=2>Best Regards,<BR>Alex.<BR><BR>Alexander Kandzior<BR>Alkacon 
Software - The OpenCms Experts<BR><A 
href="http://www.alkacon.com/">http://www.alkacon.com</A><BR><BR></FONT></P>
<DIV> </DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=de dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> opencms-dev-bounces@opencms.org 
  [mailto:opencms-dev-bounces@opencms.org] <B>On Behalf Of </B>Jorge 
  González<BR><B>Sent:</B> Tuesday, December 07, 2004 1:21 PM<BR><B>To:</B> 
  OpenCms mailing list (E-mail)<BR><B>Subject:</B> [opencms-dev] Refine content 
  definition schemas<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>Hi 
  list:</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>This is a possible 
  new feature, for discussion.</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>Well, version 6 
  most beautifull feature (for me) is the definition of the content structure, 
  using a 'simple' xsd schema. The rest of the content management process 
  (content life cycle) is done by the opencms system.</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>This is wonderfull 
  if you have a very well defined content domain. But, i fear this is not the 
  standard on our web projects. Example:</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>The content is 
  "Product for sale"</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>The marketing guys 
  want new data, "rating of the product by the users" to be 
  introduced.</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>Then, with the 
  actual content definition system and tools, you could modify the xsd, or 
  introduce another object type, "Rating" with a link to the "Product for sale". 
  This is a tricky AND slow solution, but could work.</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>The feature is: 
  Provide a flexible way of editing the content schema after the content 
  definition and publishing. It could be an script that reads all the content 
  xml files and checks for correctness, GENERATING the empty fields, possibly 
  assigning a default value, configured by the admin.</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>It could be more 
  simple to have a "check xml" script, that lists all the xml content that does 
  not validate against its schema (showing a link list so you can correct all 
  the content from that list).</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial size=2>What do you think 
  about it ?</FONT></SPAN></DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2></FONT></SPAN> </DIV>
  <DIV><SPAN class=857180912-07122004><FONT face=Arial 
  size=2>Jorge.</FONT></SPAN></DIV></BLOCKQUOTE></BODY></HTML>