Title: LCMS: One Good Idea
1LCMS One Good Idea
- Presented by Leah Einecker,
- Louise Glogoff,
- David Van Horn Pima Community College
- April 14, 2008
- Course ID 1159
2What's the big idea?
- Client led session where we can share good ideas
- Mini-agenda
- LCMS 3.3 testing at Pima Community College
- Pima technobabble Ending obsolete Workflows
- Duquesne presents publishing better Luminis
channels with LCMS - Emergency alert signups at Duquesne
- Make connections with other schools with similar
interests and needs
3LCMS 3.3 Testing at PCC
4Project overview
- Our Perspective
- Our Timeline installed Feb 20, 2008 on a test
server - Product evaluation testing plan
- Functionality
- Performance
- User interfaces
- Organizational impacts
5Results to date
- Usability
- Workgroups make sense
-
- Contextual interface remembers where you are
and what you are doing
6Results to date
- Usability
- Workgroups make sense
- Editing loading, save ? view, toolbar has
additional functionality
7(No Transcript)
8(No Transcript)
9Results to date
- Usability
- Workgroups make sense
- Editing loading, save ? view, toolbar has
additional functionality - Multi-select upload and publish
- Single page publish and render for authorized
users
10(No Transcript)
11Results to date
- Usability
- Workgroups make sense
- Editing loading, save ? view, toolbar has
additional functionality - Multi-select upload and publish
- Single page publish and render for authorized
users - Global layouts
12Results to date
- Usability
- Workgroups make sense
- Editing loading, save ? view, toolbar has
additional functionality - Multi-select upload and publish
- Single page publish and render for authorized
users - Global layouts
- Performance
13Results to date
- Navigation
- Building site navigation more understandable
14Results to date
- Bugs??
- Organizational Impact
- Improved interfaces should help content
contributors and managers (and me!)
15 16Ending Obsolete Workflows
17What Is the problem?
- Re-editing and resubmitting a document already in
workflow makes duplicate workflows - Promoting a document through the lifecycle to
Active leaves workflows on the document hanging
around - Power promoting (Publish button in LCMS 3.3)
forces document through Approved, Active states
with a single click, but does not remove
workflows on the document - End user perspective
- "Why are my workflows never approved?"
- "Why do I have 6 copies of the same thing in my
Inbox?"
18A solution
- Get rid of the extra workflows when a document is
Approved - We could add a step at the end of workflows to
clean up any others that remain - And hack the power promote process to clean up
workflows - And hack the old step-by-step promote process
- The common element the document reaches the
Approved state - If we hack the document lifecycle to get rid of
extra workflows whenever any document becomes
Approved, we cover all possible cases
19The Plan
- Silence those cryptic Documentum emails that
appear when workflows are ended prematurely - Write an Java class that actually does the
finding cleaning of workflows - Create a Documentum Method that runs our custom
class - Write a procedure in DocBasic to call the Method
- Edit the lifecycle to call our procedure call our
procedure right after any document is Approved
201. Stop the spam
- Aborting and destroying unwanted workflows can
trigger the dm_event_sender to send cryptic
emails - Edit or replace DM_HOME/bin/dm_event_sender.ebs
to prevent certain events from generating spam
Case "dm_abortworkflow" ' no thanks
dmExit(0) object_info_flag "false"
task_event_flag "false" router_event_flag
"false" subject_line "Aborted workflow "
CleanQuote(package_id) " in docbase "
CleanQuote(docbase_name) print 2, "User """
sender_name """ aborted workflow """
package_id """."
21 Write code to find remove workflows
- Some interesting code bits
- Email us if you'd like the full source
- public class PCCContentLifecycleTransitionMethod
extends ContentLifecycleTransitionMethod
implements IDmMethod
// this finds workflow ids for workflows on our
doc, even if a task has been acquired/"accepted".
note that doc.getWorkflows() misses ones w/
acquired tasks. IDfQuery query new
DfQuery() query.setDQL("select distinct
r_workflow_id from dmi_package where any
r_component_chron_id like '" doc.getChronicleId(
) "'") // get the IDfWorkflow object for each
workflow ID IDfId wfid new DfId(col.getString("r
_workflow_id")) IDfWorkflow wkflow
(IDfWorkflow)sess.getObject(wfid) // if you
want to email notification of approval to doc
submitters, it is easy to get the email addresses
here. IDfUser u sess.getUser(wkflow.getString("r
_creator_name")) emailaddrs.add(u.getUserAddress(
))
222. (cont.) Some more code
// if the Promote to Approved activity is
running, this workflow is on the path to end
normally. No need to destroy it. // if the
Approve activity is running, then it is still
waiting for approval... get rid of this duplicate
workflow if ((wkflow.getActName(i).equals("Approve
")) (wkflow.getActState(i) 1
)) wkflow.haltAll() wkflow.abort() wkflow.d
estroy() // get rid of those ugly abort msgs
in LCMS inbox IDfQuery eventq new
DfQuery() eventq.setDQL("select r_object_id
from dmi_queue_item where item_id like '"
wkflow.getObjectId().getId() "' and event like
'dm_abortworkflow') IDfCollection eventcol
eventq.execute(sess, DfQuery.DF_READ_QUERY)
while(eventcol.next()) sess.dequeue(new
DfId(eventcol.getString("r_object_id")))
233. Create a Documentum Method
- In Documentum Administrator
- Administration -gt Job Management -gt Methods
- Use Settings
- Run as Server
- Use Method Server
244. Create a Documentum Procedure
- Written in DocBasic
- Started with code shamelessly stolen from
SctWcmContentTransition procedure
Function PostProc ( ByVal SessionID As String,
ByVal ObjectID As String, ByVal UserName As
String,_ ByVal TargetState As String,
ByRef ErrorStack As String) As Boolean ' lots of
stuff snipped for space ' here is where the
method is called rtn dmAPIGet("apply,session,NU
LL,DO_METHOD,METHOD,S,pccWcmLifecycleTransitionMet
hod,ARGUMENTS,S,-ObjectID " ObjectID "
-TargetState " TargetState " -docbase_name "
docbaseId " -user " strUserOSName "
-sessionID " SessionID) PostProc True
255. (preface) Edit the lifecycle - obligatory
warning slide
- Make a backup copy of your SctWcmSchema before
you change anything! - You can do this while you are looking at it in
Documentum Application Builder - It is easiest to do this when building or
migrating to a new system - If you increment the version number on the
lifecycle, it will have a new Object ID - But all your existing documents think their
lifecycle matches the old ID, which won't be
available anymore - You'll need to tell existing documents to use the
new lifecycle - update dm_sysobject objects set r_policy_id
'4601b65380007522' where r_policy_id'4601b6538000
0490'
265. Edit the lifecycle
- Open up SctWcmSchema in Documentum Application
Builder - You will have to uninstall the SctDefaultWcmLifecy
cle, change it, then reinstall - Set the PostChange property of Approved state to
your procedure
27 28and at Duquesne
29Duquesne faculty channel
30Duquesne HR channel
31Duquesne MultiPass
32 33- Other Ideas to Share?
- More Questions or Comments?
34Thank You!
- Leah Einecker (leinecker_at_pima.edu)
- Louise Glogoff (lglogoff_at_pima.edu)
- David Van Horn (dvanhorn_at_pima.edu)
- Please complete the online class evaluation form
- Course ID 1159
SunGard, the SunGard logo, Banner, Campus
Pipeline, Luminis, PowerCAMPUS, Matrix, and Plus
are trademarks or registered trademarks of
SunGard Data Systems Inc. or its subsidiaries in
the U.S. and other countries. Third-party names
and marks referenced herein are trademarks or
registered trademarks of their respective owners.