toby, 

I'm interested in the write-up you mentioned, but am unsure of your 
email address. 

can you forward it to me? 

thanks! 

david 
[EMAIL PROTECTED] 

-----Original Message-----
From: Toby Tremayne [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, January 16, 2002 10:27 PM
To: Spectra-Talk
Subject: Re: Versioning Questions


Hello Stephen,

      we've just finished implementing versioning throughout our cms -
      it works fairly well but there are a few things to be aware of.

      As far as making changes to versions, this is how we do it:

      we have a "content portal", where all existing content can be
      viewed, and new obejcts created.  Whenever a new object is
      created or an existing object edited, the versioning kicks in
      out wizards are passed the version object to work on.  When the
      wizard finishes, the new version is passed to the workflow
      system to be used as the artifact.

      When an obejct is finally approved in the workflow, the
      publishing system then rolls the versions over and all is good.

      The version store itself is just another codb - versions are
      pretty much normal objects - it's all handled therough the
      objecthistory property of your original objects.

      The main gotchas are making sure you reference the correct
      datasources when working with your objects, and a couple of
      other interesting undocmented bits and pieces.

      I've written a doc on one issue - using versioning tags in
      create handlers, I don't think this list supports attachments so
      if you want it just give me a yell.

      The other big issue that held us up for a while was metadata.
      In our wizards, several obejcts require metadata to be assigned
      - naturally we do the metadata assignment to the version object
      as we do't want to affect something already in publication until
      the workflow is approved.  The problem is when you use the
      version rollback tag to make your working version the current
      version, it removes the stKeywords property.

      Inside the version rollback tag, it uses contentObjectData to
      save over the original object.  ContentObjectdata can use three
      modes - passing individual properties through
      cfa_contentObjectProperty - passing a structure of properties to
      overwrite into the stProperties attribute, or passing an entire
      object into the stObject attribute.

      If you use stProperties, it will fail if the structure you pass in 
has any system-only
      attributes (IE objectID, stKeywords etc).  And because the
      objectid etc within a version is DIFFERENT to the original
      object, we don't want to be overwriting these properties.  so
      naturally the tag uses the stProperties method to ensure
      nothing vital is overwritten.  It works like this:

              get the version object from the version datastore

              remove any non-user properties so as not to overwrite
              the original ones

              save the remaining properties over the contents of the
              original object.

     Obviously this means stKeywords gets removed as well, so if you
     were assigning metadata to your versions, all is lost.

     We got around this by retrieving the version ourselves
     and retaining a copy of the stKeywords structure immediately
     before calling the versionrollback tag.  Then once the rollback
     is complete, we save the stKeywords to the original object.
     Works fine.

     Hope that helps, and if you need any more help, feel free to give 
me a yell

Cheers,
Toby

     
              

Thursday, January 17, 2002, 9:29:40 AM, you wrote:

SR> Hey all,
SR> I have just started setting up some versioning on a site I am 
developing and
SR> have some questions. First off, any suggestions as to which is the 
best
SR> resource out there for information on content object versions with 
Spectra
SR> 1.5.1? I am finding that the Allaire docs are a little, er, thin.

SR> Also, does anyone know what the structure of the version DB is? For 
the time
SR> being I am just using my normal CODB datasource as the version DB
SR> datasource. Is this recommended? Where can I actually see the 
information
SR> stored in WDDX. Do versioning setup new tables or rely on the 
existing
SR> objects table?

SR> Finally, is one able to make changes to verisions that are not the 
active
SR> version? It seems there are no cfa tags to support this, but I have 
no
SR> problem writing my own, is there a recommended methodology for this 
or is
SR> this an atypical procedure?

SR> Thanks in advance for any help,
SR> Cheers,
SR> Stephen
SR> 

______________________________________________________________________
Your ad could be here. Monies from ads go to support these lists and provide more 
resources for the community. http://www.fusionauthority.com/ads.cfm
------------------------------------------------------------------------------
To Unsubscribe visit 
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/spectra_talk or send a 
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.

Reply via email to