LCMS: One Good Idea - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

LCMS: One Good Idea

Description:

Duquesne presents: publishing better Luminis channels with LCMS ... Re-editing and resubmitting a document already in workflow makes duplicate workflows ... – PowerPoint PPT presentation

Number of Views:329
Avg rating:3.0/5.0
Slides: 35
Provided by: sct16
Category:
Tags: lcms | good | idea | one

less

Transcript and Presenter's Notes

Title: LCMS: One Good Idea


1
LCMS One Good Idea
  • Presented by Leah Einecker,
  • Louise Glogoff,
  • David Van Horn Pima Community College
  • April 14, 2008
  • Course ID 1159

2
What'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

3
LCMS 3.3 Testing at PCC
4
Project overview
  • Our Perspective
  • Our Timeline installed Feb 20, 2008 on a test
    server
  • Product evaluation testing plan
  • Functionality
  • Performance
  • User interfaces
  • Organizational impacts

5
Results to date
  • Usability
  • Workgroups make sense
  • Contextual interface remembers where you are
    and what you are doing

6
Results to date
  • Usability
  • Workgroups make sense
  • Editing loading, save ? view, toolbar has
    additional functionality

7
(No Transcript)
8
(No Transcript)
9
Results 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)
11
Results 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

12
Results 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

13
Results to date
  • Navigation
  • Building site navigation more understandable
  • New CSS tool

14
Results to date
  • Bugs??
  • Organizational Impact
  • Improved interfaces should help content
    contributors and managers (and me!)

15
  • Questions?

16
Ending Obsolete Workflows
17
What 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?"

18
A 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

19
The 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

20
1. 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(
))
22
2. (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")))

23
3. Create a Documentum Method
  • In Documentum Administrator
  • Administration -gt Job Management -gt Methods
  • Use Settings
  • Run as Server
  • Use Method Server

24
4. 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
25
5. (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'

26
5. 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
  • Questions?

28
and at Duquesne
29
Duquesne faculty channel
30
Duquesne HR channel
31
Duquesne MultiPass
32
  • Questions?

33
  • Other Ideas to Share?
  • More Questions or Comments?

34
Thank 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.
Write a Comment
User Comments (0)
About PowerShow.com