Download
documentum lifecycles n.
Skip this Video
Loading SlideShow in 5 Seconds..
Documentum Lifecycles PowerPoint Presentation
Download Presentation
Documentum Lifecycles

Documentum Lifecycles

234 Views Download Presentation
Download Presentation

Documentum Lifecycles

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Documentum Lifecycles Using Lifecycles To Trigger External Events

  2. Introduction Robert Harper / Anheuser – Busch Training and Development Group Robert.Harper@Anheuser-Busch.com Robert.Harper@IEEE.org

  3. Introduction – Our Agenda • External Application Server • Downloads a file from Documentum • Manipulates the file • Places the new file in Documentum • External Web Server • Makes selected Documentum content available via the web.

  4. Introduction – Our Agenda • Gathering The Pieces • Lifecycles • Lifecycle Procedures • AutoRender Pro As Model For The External Server • Putting The Pieces Together

  5. Our Agenda • Gathering The Pieces • Lifecycles • Lifecycle Procedures • AutoRender Pro As Model For The External Server • Putting The Pieces Together

  6. Lifecycles – What They Are

  7. The Publishing Lifecycle

  8. Publishing Lifecycle - The REVIEW State

  9. Our Agenda • Gathering The Pieces • Lifecycles • Lifecycle Procedures • AutoRender Pro As Model For The External Server • Putting The Pieces Together

  10. The Lifecycle Procedures

  11. The EntryRequirements Procedure

  12. The StateAction Procedure

  13. The PostProc Procedure

  14. Our Agenda • Gathering The Pieces • Lifecycles • Lifecycle Procedures • AutoRender Pro As Model For The External Server • Putting The Pieces Together

  15. Documentum AutoRender Pro

  16. AutoRender Pro

  17. AutoRender Pro

  18. AutoRender Pro - Queues And User Accounts

  19. AutoRender Pro - Requesting A PDF Rendition TRACE: Rendering PS_PDF request Start Time: 2/22/2004 12:30:18 PM | Processing: Course Catalog Issue | Docbase = MyDocbase // Queue = dm_autorender_win31 // Sent By = dmadmin TRACE: MoveFile from file: C:\Documents and Settings\Administrator\dmcl\00009753\abtdgdev003\800187 80\Course Catalog Issue.doc To file: c:\dmautop\temp\Course Catalog Issue.doc TRACE: Generating OLE automation: ARPGENERIC.WORDDOC | TRACE: Attempting to perform rendering via plugin: ARPGENERIC.WORDDOC Word Render, Maximum wait interval is 10 seconds

  20. AutoRender Pro - Requesting A PDF Rendition | Generating PS from Word (OLE) | TRACE: Checking for file: C:\DISTASST.PS | TRACE: File C:\DISTASST.PS is ok to open....continue | TRACE: MoveFile from file: C:\DISTASST.PS To file: c:\dmautop\temp\7.PS | TRACE: Checking for file: c:\dmautop\temp\7.LOG | TRACE: Checking for file: c:\dmautop\temp\7.PDF | TRACE: File c:\dmautop\temp\7.LOG is ok to open....continue | TRACE: Checking for file: c:\dmautop\temp\7.LOG | TRACE: File c:\dmautop\temp\7.LOG is ok to open....continue

  21. AutoRender Pro - Requesting A PDF Rendition | | TRACE: Checking for file: c:\dmautop\temp\7.PDF | TRACE: File c:\dmautop\temp\7.PDF is ok to open....continue | TRACE: Generating PDT | TRACE: Created AcroExch.app object | TRACE: Created AcroExch.AVDoc object | TRACE: PDF Text Render, Maximum wait interval is 10 seconds | TRACE: PDF not linearized....optimizing | TRACE: Setting pdf attributes | TRACE: ResetExitTimer | PDF rendition created

  22. AutoRender Pro - Requesting A PDF Rendition

  23. AutoRender Pro - Requesting A PDF Rendition • Here we find the PDF request • # [ 1256 ] Wed Feb 18 09:24:31 2004 765000 ( 0.000 sec) ( 45 rpc) API> execquery,s0,T,select stamp,message,content_type,item_id,item_name,sent_by, date_sent, router_id from dm_queue where name = 'dm_autorender_win31' and message = 'rendition_req_ps_pdf' order by date_sent • # [ 1256 ] Wed Feb 18 09:24:31 2004 765000 ( 0.000 sec) ( 45 rpc) Server RPC: EXEC (0000000000000000) select stamp,message,content_type,item_id,item_name,sent_by, date_sent, router_id from dm_queue where name = 'dm_autorender_win31' and message = 'rendition_req_ps_pdf' order by date_sent • # [ 1256 ] Wed Feb 18 09:24:31 2004 875000 ( 0.110 sec) ( 46 rpc) Res: 'OK' • # [ 1256 ] Wed Feb 18 09:24:31 2004 875000 ( 0.000 sec) ( 46 rpc) API> getlastcoll,s0 • # [ 1256 ] Wed Feb 18 09:24:31 2004 875000 ( 0.000 sec) ( 46 rpc) Res: 'q0' • # [ 1256 ] Wed Feb 18 09:24:31 2004 890000 ( 0.000 sec) ( 46 rpc) API> next,s0,q0 • # [ 1256 ] Wed Feb 18 09:24:31 2004 890000 ( 0.000 sec) ( 46 rpc) Server RPC: MultiNext (5) • # [ 1256 ] Wed Feb 18 09:24:31 2004 890000 ( 0.000 sec) ( 47 rpc) Res: 'OK'

  24. AutoRender Pro - Requesting A PDF Rendition • # [ 1256 ] Wed Feb 18 09:24:31 2004 953000 ( 0.000 sec) ( 50 rpc) Res: 'Craycroft, Aaron' • # [ 1256 ] Wed Feb 18 09:24:31 2004 953000 ( 0.000 sec) ( 50 rpc) API> close,s0,q0 • # [ 1256 ] Wed Feb 18 09:24:31 2004 953000 ( 0.000 sec) ( 50 rpc) Server RPC: Close (5) • # [ 1256 ] Wed Feb 18 09:24:31 2004 953000 ( 0.000 sec) ( 51 rpc) Res: 'OK' • We've got the job, so now we dequeue it • # [ 1256 ] Wed Feb 18 09:24:31 2004 984000 ( 0.000 sec) ( 51 rpc)API> dequeue,s0,1b0097528000a5af • # [ 1256 ] Wed Feb 18 09:24:31 2004 984000 ( 0.000 sec) ( 51 rpc) Server RPC: InboxItemDelete (1b0097528000a5af) • # [ 1256 ] Wed Feb 18 09:24:32 2004 031000 ( 0.047 sec) ( 52 rpc) Res: 'OK' • # [ 1256 ] Wed Feb 18 09:24:32 2004 031000 ( 0.000 sec) ( 52 rpc) API> fetch,s0,0900975280052895 • # [ 1256 ] Wed Feb 18 09:24:32 2004 031000 ( 0.000 sec) ( 52 rpc) Server RPC: IsCurrent (0900975280052895)

  25. AutoRender Pro - Requesting A PDF Rendition • get,s0,0900975280052895,a_compound_architecture • # [ 1256 ] Wed Feb 18 09:24:32 2004 328000 ( 0.000 sec) ( 64 rpc) Res: '' • So we now we finally go and get the Word document. • # [ 1256 ] Wed Feb 18 09:24:32 2004 328000 ( 0.000 sec) ( 64 rpc) API> getfile,s0,0900975280052895,,msw8 • # [ 1256 ] Wed Feb 18 09:24:32 2004 328000 ( 0.000 sec) ( 64 rpc) Server RPC: IsCurrent (0600975280032ab2) • # [ 1256 ] Wed Feb 18 09:24:32 2004 328000 ( 0.000 sec) ( 65 rpc) Server RPC: FetchType (dm_format) • # [ 1256 ] Wed Feb 18 09:24:32 2004 328000 ( 0.000 sec) ( 66 rpc) Server RPC: OBJECT_FROM_CACHE

  26. AutoRender Pro - Requesting A PDF Rendition • # [ 1256 ] Wed Feb 18 09:24:40 2004 062000 ( 0.000 sec) ( 70 rpc) Server RPC: BEGIN_TRANS (0000000000000000) • # [ 1256 ] Wed Feb 18 09:24:40 2004 062000 ( 0.000 sec) ( 71 rpc) Res: 'OK' • And we put the rendition back up on the server • # [ 1256 ] Wed Feb 18 09:24:40 2004 078000 ( 0.000 sec) ( 71 rpc) API> addrendition,s0,0900975280052895,c:\dmautop\temp\3.PDF,pdf,,,T • # [ 1256 ] Wed Feb 18 09:24:40 2004 078000 ( 0.000 sec) ( 71 rpc) Server RPC: ID_FROM_CACHE (0000000000000000) • # [ 1256 ] Wed Feb 18 09:24:40 2004 078000 ( 0.000 sec) ( 72 rpc) Server RPC: OBJECT_FROM_CACHE (270097528000019d) • # [ 1256 ] Wed Feb 18 09:24:40 2004 078000 ( 0.000 sec) ( 73 rpc) Server RPC: FetchType (dm_store) • # [ 1256 ] Wed Feb 18 09:24:40 2004 078000 ( 0.000 sec) ( 74 rpc) Server RPC: ID_FROM_CACHE

  27. What We Know • We know that lifecycles allow us to define different lifecycle states for our documents. • We know that the EntryRequirements, StateAction and PostProc procedures allow us to spell out what happens at each of those lifecycle states. • We know how to create a queue in our Docbase in which to place action requests. • We know how to place a job request in that queue. • We know how to build an external server that can: Communicate with the Docbase. Check a queue for job requests. Copy files out of Documentum on to a local hard drive. Place files back in the Docbase

  28. Our Agenda Gathering The Pieces Putting The Pieces Together (REVIEW STATE) Creating the User Accounts and Queue Creating the Lifecycle Procedures Creating the Lifecycle Building The External Server

  29. The Publishing Lifecycle – The Review State

  30. The Publishing Lifecycle – The Review State

  31. The Publishing Lifecycle – The Review State

  32. The Publishing Lifecycle – The Review State

  33. The Publishing Lifecycle – The Review State

  34. The Publishing Lifecycle – The Review State

  35. Our Agenda Gathering The Pieces Putting The Pieces Together (REVIEW STATE) Creating the User Accounts and Queue Creating the Lifecycle Procedures Creating the Lifecycle Building The External Server

  36. Creating The Queue • # • execquery,c,T,CREATE dm_user OBJECTS • SET user_name = 'xy_publish_win2000', • SET user_os_name = 'xy_publish_win2000', • SET home_docbase= 'XYDOCBASE', • SET user_address = 'xy_publish_win2000', • SET client_capability = 8,(8 = System Administrator) • SET user_privileges = 8,(8 = Sysadmin) • SET description = 'XY Publishing Account' • close,c,q0 • #

  37. Creating The User Account • execquery,c,T,CREATE dm_user OBJECTS • SET user_name = 'xy_communicate', • SET user_os_name ='dmacct123', • SET user_address = ‘dmacct123’, • SET home_docbase='MyDocbase', • SET default_folder = 'xy_communicate', • SET user_group_name = 'xy_creators', • SET client_capability = 4, • SET description = 'Our Publishing Account' • close,c,q0

  38. Our Agenda Gathering The Pieces Putting The Pieces Together (REVIEW STATE) Creating the User Accounts and Queue Creating the Lifecycle Procedures Creating the Lifecycle Building The External Server

  39. Creating The Procedures # First we create the entryrequirements procedure object create,c,dm_procedure set,c,l,object_name entryrequirements # And place it in the System/Procedures folder link,c,l,/System/Procedures # Next, we insert the code for the procedure from a text file setfile,c,l,entryrequirements.txt,text # And now we save it to the docbase save,c,l # Now we create our stateaction procedure object create,c,dm_procedure set,c,l,object_name stateaction # And place it in the System/Procedures folder link,c,l,/System/Procedures # Next, we insert the code for the procedure from a text file setfile,c,l,stateaction.txt,text # And now we save it to the docbase save,c,l # And finally we create our postprocessing procedure object create,c,dm_procedure set,c,l,object_name postproc # And place it in the System/Procedures folder link,c,l,/System/Procedures # Next, we insert the code for the procedure from a text file setfile,c,l,postproc.txt,text # And now we save it to the docbase save,c,l

  40. Creating The Lifecycle Procedures • 'EntryCriteria Function • ' • Const REMOVE_ALL_VALUES As Integer = -1 • Const ADD_TO_END As Integer = -2 • ' • Public Function EntryCriteria _ • (ByVal SessionId As String, _ • ByVal ObjectId As String, _ • ByVal UserName As String, _ • ByVal TargetState As String, _ • ByRef ErrorStack As String) As Boolean • EntryCriteria = False • sttus$ = dmAPISet("set," & SessionId & "," & ObjectId & ",title", "DRAFT") • mssg$ = dmAPIGet("getmessage," & SessionId & ",3") • If (mssg <> "") Then • ErrorStack = mssg • Else • EntryCriteria = True • End If • End Function

  41. Putting The PDF Request In Queue • 'Send a queue item to request that a • 'composite PDF be created • ErrorStack = "Send request for PDF Rendition" • rcs$ = dmAPIGet("queue," & SessionID & "," & • ObjectID & ",xy_publish_win2000, • CompositePDF,1,nulldate,null")

  42. Our Agenda Gathering The Pieces Putting The Pieces Together (REVIEW STATE) Creating the User Accounts and Queue Creating the Lifecycle Procedures Creating the Lifecycle Building The External Server

  43. Creating The Lifecycle

  44. The Lifecycle

  45. Configuring The Lifecycle States

  46. Associating States With Procedures

  47. Our Agenda Gathering The Pieces Putting The Pieces Together (REVIEW STATE) Creating the User Accounts and Queue Creating the Lifecycle Procedures Creating the Lifecycle Building The External Server

  48. The Documentum Developer Site

  49. The Login Form

  50. The Main Application