Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
delayed deployment/submission
jmd
I found some very interesting postings dealing with delayed deployment/submission but I think some points have not been adressed - at least as concern my customer requirements.
Technical environment :
- TS 5.0.2 SP1 NT4
- OD 5.5.1 SP2 Base on NT4 and Receiver on AIX 4.3
- production server : portal infrastructure based on IBM Websphere (not WPS)
Functional environment :
- content = static files (html, wml, pdf, gif...)
- currently 1 branch with 1 workarea
- virtualization : not implemented with Turbo but custom development which provides the same functionality
- publishing : creation of an edition + TS comparison between last and prev editions
The requirements are the following :
a - author has the ability to set a launch date upon a item before submission (not all the items are required to be set a launch date)
b - this launch date could be modified by reviewer during submit workflow
c - reviewer should be able to virtualize the site at a given date (= launch date)
d - at launch date the item must be automatically deployed to production
e - a search for scheduled content should be available through TeamSite GUI (at least 1 criteria = the launch date)
So now where am I ?
a/e - I think of using Metadata Functionality (involving DataDeploy)
b - I think I can handle it with mix of task elements
c - I found nothing about this matter in the previous postings and has no idea
(except I surely need another workarea - can't have 2 versions of a file with the same filename)
d - whatever method I think of (timeout in workflow, OpenDeploy scheduler, OS scheduler..) I come up with the following :
how to be sure that the others items submitted in the Staging since the last publishing (= those which don't have a launch date) are to be deployed at that given date ?
(note that "date" can also mean date(YYYY-MM-DD)+time(HH:MM))
Thanks for your help.
JM
Find more posts tagged with
Comments
Adam Stoller
slightly reorganized for responding purposes
The requirements are the following :
a - author has the ability to set a launch date upon a item before submission (not all the items are required to be set a launch date)
e - a search for scheduled content should be available through TeamSite GUI (at least 1 criteria = the launch date)
I think of using Metadata Functionality (involving DataDeploy)
DataDeploy's DAS and Metadata Search are not that unreasonable a way to go - unless you really want to roll your own (and/or those solutions don't actually meet your needs -
in which case you might consider opening a feature request through Interwoven Support
b - this launch date could be modified by reviewer during submit workflow
I think I can handle it with mix of task elements
I'd think a
cgitask
would be all you'd need for this, not sure what
mix
you're thinking of, or why you think you need a
mix
.
c - reviewer should be able to virtualize the site at a given date (= launch date)
I found nothing about this matter in the previous postings and has no idea (except I surely need another workarea - can't have 2 versions of a file with the same filename)
More refinement / clarification is needed here in order to be able to propose potential solutions:
Are you talking about a date in the
past
or a date in the
future
here?
Are you talking about doing this within the context of the workflow, or as a custom menu item, or as a set of instructions that the reviewer could follow in order to do this (probably not too different than a custom menu item, but ...)?
d - at launch date the item must be automatically deployed to production
whatever method I think of (timeout in workflow, OpenDeploy scheduler, OS scheduler..) I come up with the following :
how to be sure that the others items submitted in the Staging since the last publishing (= those which don't have a launch date) are to be deployed at that given date ? (note that "date" can also mean date(YYYY-MM-DD)+time(HH:MM))
There are a couple of issues here:
1) your deployments probably should not be current edition / previous edition, but current edition / last-known-[good]-base-edition
2) the deployment should probably be done as a filelist
3) you still stand the chance of having "old" content overwrite "newer" content on the website due to the delay
Scenario: I modify
index.html
and delay its deployment until tomorrow. You modify
index.html
- based on my modifications [no conflict] and deploy it today. When my deployment kicks off - either it doesn't deploy my copy of
index.html
because it is older than the current version out there, or it overwrites your version of
index.html
One thing I've seen done in the past (but have not personally implemented) is a setup where "bucket" workareas or branches are used for the to-be-deployed content and that if there is going to be a delay - the file mods are copied to that "bucket" area. Followup-workflows could be made to verify whether or not a file that is attached to the current workflow is already slated as pending for deployment and "do the right thing" (to be determined) - when it comes time to perform the deployment, the files slated to go (the contents of the "bucket") could be attached to a workflow process that copies them back into the main branch/workarea ("main" as a relative term, not literal) and then submit them and deploy them.
There's probably a lot more detailed information required about the environment and requirements in order to being to truly design the overall process - but I strongly recommend allocating time to
design
before going head-first into
implementation
so that you can try to visualize the details that you need to get pinned down and consider what side-effects you may encounter and need to get resolved.
Hope that helps, at least a little...
--fish
(Interwoven Senior Technical Consultant)
jmd
a/e
: I definitely don't want to roll my own !
b
: "mix" is a term I used because I am not a workflow expert so I didn't know if a cgitask was all I would need...
c
: I am talking about a date in the future and about doing this outside the context of a workflow. Let me explain a little bit more :
- let's take 2 files due to be modified twice a day : index.html and bloc1.html
- at date
T
index.html contains one image IMG1.gif (say a red flower) with a link to file FILE1.html
- at date
T+6hours
(=launch date) IMG1.gif will be changed (say a blue flower) and the link will point to file FILE2.html
- same for bloc1.html
- the 2 authors that work on the 2 files need to virtualize the
whole
site at date T+6hours (with the modifications)
while the others still need to virtualize the
whole
site at date T (without the modifications)
* the virtualization works as following :
nota bene
: the site is a portal and a page is an agreggation of portlets; a server hosting the portal code is dedicated for the virtualization
- in each workarea (for now just 1 - but it works also with the staging) there is a file named virtu.html which stores the name of the workarea and the IWOV credentials in a cookie and launches the URL of the portal
- a portlet displaying static content (html or wml files) uses the cookie to make a HTTP connection in order to get/read the content from TeamSite
("why HTTP connection ?" primarly because - in our configuration - we were not allowed to use the share drive IWSERVER by the client )
d
: thanks for sharing your thoughts - I will initiate a design phase
jbonifaci
Just a thought, you could create a new workarea for each launch date and submit the workarea to staging on that date. Clean up the workareas at a specified interval after the deployment, either immediately or x days after the launch date. You would have to deal with conflicting files, but this is just a path you might want to explore if virtualization for the whole site at launch date/time is a show stopper.
If you go this route, you will have a lot to do behind the scenes though, and it may not be worth the effort if virtualization at launch date/time isn't a show stopper. A few things I can think of you would need to account for off the top of my head:
- Have your own custom edit menu item. This menu item would prompt the user for launch date/time, then open the corresponding file for editing, creating the launch date workarea if it does not exist. Once a file is modified, you would need to come up with some way to trigger a script that updates this file in all of the workareas from launch date/time forward, until it comes to a workarea with a newer (later launch date/time) than the file you are saving. (You would probably want to store the launch date in metadata so you know which workareas have which launch dates version of the file). This way users would only work in the main workarea for editing, but would go to the specific launch date/time workarea for virtualization.
- Alternatively, you could have a 'create launch date' menu item that creates the corresponding workarea. Users could then edit files within these workareas instead of selecting it through a special menu item. You would still have to deal with updating successive workareas after the file(s) have been modified.
-When the files from a launch workarea are submitted to staging, you would then need to do a getlatest for each file in the main workarea (unless you go the second route above, in which case there would be no main workarea, only launch date/time workareas) and search all of the future launch date/time workareas for files tagged with this launch date and not a future launch date and do getlatest for these as well.
I'm sure someone can come up with something better, this is a bit messy. I've never tried or contemplated the above scenario before, so it's just food for thought really. Although your main problem seems to be that you need to be able to save multiple versions of the same file, so I'm not sure if you can get away from the launch date/time workarea design completely.
Jeff Bonifaci
Adam Stoller
I think there's a fair amount of merrit in using the time-slot workarea approach described - in general it should make virtualizing a "future" release easier because you would virtualize the specific workarea.
There would be a fair amount of design work to do to help insure that the implementation goes smoothly (an ounce of design is often worth a pound of coding).
The one part I'm most unsure of is the portal aspect - I don't have sufficient experience with portals to be able to say this will or won't work in that context - but I think it's definitely worth pursuing as a solution.
Be interesting to hear how this turns out....
--fish
(Interwoven Senior Technical Consultant)