Documentum Lifecycles - PowerPoint PPT Presentation

1 / 60
About This Presentation
Title:

Documentum Lifecycles

Description:

Documentum Lifecycles Using Lifecycles To Trigger External Events Introduction Robert Harper / Anheuser Busch Training and Development Group Robert.Harper ... – PowerPoint PPT presentation

Number of Views:304
Avg rating:3.0/5.0
Slides: 61
Provided by: Rober441
Category:

less

Transcript and Presenter's Notes

Title: Documentum Lifecycles


1
Documentum Lifecycles
  • Using Lifecycles To Trigger External Events

2
Introduction
  • Robert Harper / Anheuser Busch Training and
    Development Group
  • Robert.Harper_at_Anheuser-Busch.com
  • Robert.Harper_at_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
20
AutoRender Pro - Requesting A PDF Rendition
  • 'dm_rendPDF_autoact.ebs -- This script extracts
    the
  • 'attached objects from a work item and calls the
  • 'appropriate method to generate a PDF rendition
    for
  • 'it.
  • queueID dmAPIGet("queue,c," docID _
    ",dm_autorender_win31,rendition,0,F" _
    ",,rendition_req_ps_pdf")
  •  

21
AutoRender Pro - Requesting A PDF Rendition
TRACE Rendering PS_PDF request Start Time
2/22/2004 123018 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
22
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
23
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
24
AutoRender Pro - Requesting A PDF Rendition
25
AutoRender Pro - Requesting A PDF Rendition
  • Here we find the PDF request
  • 1256 Wed Feb 18 092431 2004 765000 (
    0.000 sec) ( 45 rpc) APIgt 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 092431 2004 765000 (
    0.000 sec) ( 45 rpc) Server RPC EXEC
    (0000000000000000) select stamp,message,content_ty
    pe,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 092431 2004 875000 (
    0.110 sec) ( 46 rpc) Res 'OK'
  • 1256 Wed Feb 18 092431 2004 875000 (
    0.000 sec) ( 46 rpc) APIgt getlastcoll,s0
  • 1256 Wed Feb 18 092431 2004 875000 (
    0.000 sec) ( 46 rpc) Res 'q0'
  • 1256 Wed Feb 18 092431 2004 890000 (
    0.000 sec) ( 46 rpc) APIgt next,s0,q0
  • 1256 Wed Feb 18 092431 2004 890000 (
    0.000 sec) ( 46 rpc) Server RPC MultiNext (5)
  • 1256 Wed Feb 18 092431 2004 890000 (
    0.000 sec) ( 47 rpc) Res 'OK'

26
AutoRender Pro - Requesting A PDF Rendition
  • 1256 Wed Feb 18 092431 2004 953000 (
    0.000 sec) ( 50 rpc) Res 'Craycroft, Aaron'
  • 1256 Wed Feb 18 092431 2004 953000 (
    0.000 sec) ( 50 rpc) APIgt close,s0,q0
  • 1256 Wed Feb 18 092431 2004 953000 (
    0.000 sec) ( 50 rpc) Server RPC Close (5)
  • 1256 Wed Feb 18 092431 2004 953000 (
    0.000 sec) ( 51 rpc) Res 'OK'
  • We've got the job, so now we dequeue it
  • 1256 Wed Feb 18 092431 2004 984000 (
    0.000 sec) ( 51 rpc) APIgt dequeue,s0,1b0097528000a
    5af
  • 1256 Wed Feb 18 092431 2004 984000 (
    0.000 sec) ( 51 rpc) Server RPC InboxItemDelete
    (1b0097528000a5af)
  • 1256 Wed Feb 18 092432 2004 031000 (
    0.047 sec) ( 52 rpc) Res 'OK'
  • 1256 Wed Feb 18 092432 2004 031000 (
    0.000 sec) ( 52 rpc) APIgt fetch,s0,090097528005289
    5
  • 1256 Wed Feb 18 092432 2004 031000 (
    0.000 sec) ( 52 rpc) Server RPC IsCurrent
    (0900975280052895)

27
AutoRender Pro - Requesting A PDF Rendition
  • get,s0,0900975280052895,a_compound_architecture
  • 1256 Wed Feb 18 092432 2004 328000 (
    0.000 sec) ( 64 rpc) Res ''
  • So we now we finally go and get the Word
    document.
  • 1256 Wed Feb 18 092432 2004 328000 (
    0.000 sec) ( 64 rpc) APIgt getfile,s0,0900975280052
    895,,msw8
  • 1256 Wed Feb 18 092432 2004 328000 (
    0.000 sec) ( 64 rpc) Server RPC IsCurrent
    (0600975280032ab2)
  • 1256 Wed Feb 18 092432 2004 328000 (
    0.000 sec) ( 65 rpc) Server RPC FetchType
    (dm_format)
  • 1256 Wed Feb 18 092432 2004 328000 (
    0.000 sec) ( 66 rpc) Server RPC
    OBJECT_FROM_CACHE

28
AutoRender Pro - Requesting A PDF Rendition
  • 1256 Wed Feb 18 092440 2004 062000 (
    0.000 sec) ( 70 rpc) Server RPC BEGIN_TRANS
    (0000000000000000)
  • 1256 Wed Feb 18 092440 2004 062000 (
    0.000 sec) ( 71 rpc) Res 'OK'
  • And we put the rendition back up on the server
  • 1256 Wed Feb 18 092440 2004 078000 (
    0.000 sec) ( 71 rpc) APIgt addrendition,s0,09009752
    80052895,c\dmautop\temp\3.PDF,pdf,,,T
  • 1256 Wed Feb 18 092440 2004 078000 (
    0.000 sec) ( 71 rpc) Server RPC ID_FROM_CACHE
    (0000000000000000)
  • 1256 Wed Feb 18 092440 2004 078000 (
    0.000 sec) ( 72 rpc) Server RPC
    OBJECT_FROM_CACHE (270097528000019d)
  • 1256 Wed Feb 18 092440 2004 078000 (
    0.000 sec) ( 73 rpc) Server RPC FetchType
    (dm_store)
  • 1256 Wed Feb 18 092440 2004 078000 (
    0.000 sec) ( 74 rpc) Server RPC ID_FROM_CACHE

29
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

30
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

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
The Publishing Lifecycle The Review State
36
The Publishing Lifecycle The Review State
37
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

38
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

39
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

40
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

41
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

42
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 ltgt "") Then
  • ErrorStack mssg
  • Else

43
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")

44
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

45
Creating The Lifecycle
46
The Lifecycle
47
Configuring The Lifecycle States
48
Associating States With Procedures
49
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

50
The Documentum Developer Site
51
The Login Form
52
The Main Application
53
The Main Application
54
AppendPDF Pro
55
Main Application Functions
56
Our Agenda
  • Gathering The Pieces
  • Putting The Pieces Together
  • (APPROVED STATE)
  • Building The Infrastructure
  • Selecting The Documents To Publish
  • Creating the URLs

57
Our Agenda
  • Gathering The Pieces
  • Putting The Pieces Together
  • (APPROVED STATE)
  • Building The Infrastructure
  • Selecting The Documents To Publish
  • Creating the URLs

58
Infrastructure The APPROVED State
59
Our Agenda
  • Gathering The Pieces
  • Putting The Pieces Together
  • (APPROVED STATE)
  • Building The Infrastructure
  • Selecting The Documents To Publish
  • Creating the URLs

60
Publishing Lifecycle The APPROVED State
  • SELECT DISTINCT b.My_TrainingDoc DOC_NAME,
    a.r_object_id DOC_ID, a.title, a.object_name, c.
    My_TrainingDoc AB_STSNUM, a.cpe_location
    AB_LOCATION,
  • FROM dmadmin.dm_sysobject_s a, dmadmin.
    My_TrainingDoc _s b, dmadmin. My_TrainingDoc _r
    c, dmadmin.dm_sysobject_r d
  • WHERE a.r_object_id b.r_object_id AND
    b.r_object_id c.r_object_id AND c.r_object_id
    AND a.i_cabinet_id '0c0099999999999'
  • AND a.r_current_state gt 1
  • AND a.r_current_state lt 5
  • AND c.Course_ID '_at_Course Number'

61
Our Agenda
  • Gathering The Pieces
  • Putting The Pieces Together
  • (APPROVED STATE)
  • Building The Infrastructure
  • Selecting The Documents To Publish
  • Creating the URLs

62
Publishing Lifecycle The APPROVED State
Write a Comment
User Comments (0)
About PowerShow.com