emc document um building effective doc apps

68
Documentum Developer Conference 2001 9/9/01 12:46 Lui-Rassiwala 1 Sabrina Sabrina Lui Lui Mustafa Mustafa Rassiwala Rassiwala Building Effective Building Effective DocApps DocApps

Upload: jcvargast

Post on 04-Apr-2015

61 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 1

Sabrina Sabrina LuiLuiMustafa Mustafa RassiwalaRassiwala

Building EffectiveBuilding Effective DocApps DocApps

Page 2: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 2

Building EffectiveBuilding Effective DocApps DocApps

�� UnderstandingUnderstanding DocApps DocApps�� DocAppDocApp internals internals�� DocAppDocApp deployment deployment�� SampleSample DocApps DocApps and applications and applications�� Back to the futureBack to the future

Page 3: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 3

What is aWhat is a DocApp DocApp??UnderstandingUnderstanding DocApps DocApps

�� A collection ofA collection of Docbase Docbase objects that are objects that arerequired for arequired for a Documentum Documentum based basedapplicationapplication

�� Can be packaged and deployed to aCan be packaged and deployed to atargettarget Docbase Docbase

Object Type

Job Method

PST

Document Lifecycle

Alias Set

Page 4: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 4

Why UseWhy Use DocApps DocAppsUnderstandingUnderstanding DocApps DocApps� Efficient transfer of application objects

� Less expensive than writing creationscript

� More control than Dump and Load� Easy to build and maintain: Developer

Studio� Versioning support

� One step deployment: DocApp Installer� Seamless maintenance

� Efficient transfer of application objects� Less expensive than writing creation

script� More control than Dump and Load

� Easy to build and maintain: DeveloperStudio� Versioning support

� One step deployment: DocApp Installer� Seamless maintenance

Page 5: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 5

How to BuildHow to Build DocApps DocAppsUnderstandingUnderstanding DocApps DocApps

�� Screen cam showing theScreen cam showing theconstruction processconstruction process

�� What theWhat the DocApp DocApp developer does developer does�� Based on a simplified catalogBased on a simplified catalog

scenarioscenario�� CatalogBaseCatalogBase: A product catalog: A product catalog�� Managed by a “catalog manager”Managed by a “catalog manager”

Page 6: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 6

How to DeployHow to Deploy DocApps DocAppsUnderstandingUnderstanding DocApps DocApps

�� Screen cam showing theScreen cam showing thedeployment processdeployment process

�� What theWhat the Docbase Docbase admin does admin does

Page 7: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 7

What’s in aWhat’s in a DocApp DocAppUnderstandingUnderstanding DocApps DocApps

1. Object Types1. Object Types2. Document2. Document

LifecycleLifecycle3. Workflow3. Workflow

TemplateTemplate4. Permission Set4. Permission Set

TemplateTemplate5. Alias Set5. Alias Set

6. Job 6. Job 7. Component 7. Component 8. Procedure 8. Procedure 9. Method 9. Method10. Group10. Group11. Data Object11. Data Object

Page 8: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 8

What Lies BeneathWhat Lies BeneathUnderstandingUnderstanding DocApps DocApps

�� dm_applicationdm_application�� Virtual document of dm_app_ref objectsVirtual document of dm_app_ref objects

�� dm_app_ref objects point todm_app_ref objects point to Docbase Docbaseobjects by object idobjects by object id

dm_app_refdm_app_ref

dm_app_refdm_app_ref Object_idObject_id DocumentDocumentlifecyclelifecycle

Object TypeObject Type

dm_applicationdm_application

Object_idObject_id

Page 9: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 9

What Lies BeneathWhat Lies BeneathUnderstandingUnderstanding DocApps DocApps

�� dm_app_refsdm_app_refs�� Unique for everyUnique for every Docbase Docbase object object�� Allow cooperative locking of nonAllow cooperative locking of non

sysobjectssysobjects

dm_app_refdm_app_ref Object TypeObject Type

dm_applicationdm_application

dm_applicationdm_application

dm_application object contains the deployment optionsfor the application objects

Page 10: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 10

PortabilityPortabilityUnderstandingUnderstanding DocApps DocApps

�� Development vs. Deployment environmentDevelopment vs. Deployment environment�� UsersUsers�� LocationsLocations�� SecuritySecurity

Page 11: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 11

PortabilityPortabilityUnderstandingUnderstanding DocApps DocApps

FurnishingFurnishingFurnishing ApparelApparelApparel ComputersComputersComputersManager = TomManager = TomDesigner = MikeDesigner = Mike

Manager = JayManager = Jay Designer = Steve Designer = Steve

Manager = PaulManager = Paul Designer = Frank Designer = Frank

CatalogBaseCatalogBaseDocAppDocApp

Manager = SabrinaManager = SabrinaDesigner = MustafaDesigner = Mustafa

Page 12: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 12

PortabilityPortabilityUnderstandingUnderstanding DocApps DocApps

�� Development vs. Deployment environmentDevelopment vs. Deployment environment�� UsersUsers�� LocationsLocations�� SecuritySecurity

�� Solution: use aliases forSolution: use aliases for Docbase Docbase specific specificdatadata

�� Alias –Alias – Docbase Docbase environment variable environment variable�� Alias value substituted at installation timeAlias value substituted at installation time

Page 13: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 13

Alias SetsAlias SetsUnderstandingUnderstanding DocApps DocApps

� Mapping between aliases and actual values.� Alias Set names are unique within a Docbase.� Fully specified alias: <alias set<alias set

name>.<alias name>name>.<alias name>

� Aliases may refer to a user, group, location,permission set or an arbitrary string.

•Alias Sets are mapping between aliases and actualvalues. Its almost a table with alias as variables in onecolumn and the second column contains the values.•Alias Sets are unique within the docbase. Also aliasesare unique within the alias set which makes each aliasunique within the docbase.•Aliases are specified along with the alias set name•Aliases are sort of typed and can be specifically used foruser,group,location and security.•Most important in the alias dialog is the Prompt for Aliasat installation

Page 14: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 14

Alias ResolutionAlias ResolutionUnderstandingUnderstanding DocApps DocApps

�� ResolveAliasResolveAlias((IDfSysObject sysObjIDfSysObject sysObj,,string string aliasNamealiasName))

�� Server alias resolution schemeServer alias resolution schemeAlias Set of the documentAlias Set of the document

Alias Set of the sessionAlias Set of the session

Alias Set of the userAlias Set of the user

Alias Set of the Alias Set of the docbasedocbase

Page 15: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 15

Alias SubstitutionAlias SubstitutionUnderstandingUnderstanding DocApps DocApps

�� Value of the alias could vary fromValue of the alias could vary fromDocbaseDocbase to to Docbase Docbase

�� DocAppDocApp installer prompts user to installer prompts user tospecify the value during installationspecify the value during installation

DevelopmentDevelopment Docbase Docbase FurnishingFurnishing Docbase Docbase

Page 16: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 16

Building EffectiveBuilding Effective DocApps DocApps

�� UnderstandingUnderstanding DocApps DocApps�� DocAppDocApp Internals – Up, Close and Personal Internals – Up, Close and Personal

�� Permission Set TemplatesPermission Set Templates�� Document LifecyclesDocument Lifecycles�� Object Types and AttributesObject Types and Attributes�� Data ObjectsData Objects

�� DocAppDocApp Deployment Deployment�� SampleSample DocApps DocApps and applications and applications�� Back to the futureBack to the future

Page 17: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 17

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

�� PSTsPSTs are parameterized Permission Sets are parameterized Permission Sets�� AccessorAccessor name can be a user or name can be a user or

group alias group alias�� PSTsPSTs are dynamic and portable are dynamic and portable�� Server creates a Permission Set whenServer creates a Permission Set when

PST is applied to an objectPST is applied to an object�� Resolves all aliases to real users.Resolves all aliases to real users.

Page 18: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 18

DocumentDocument

FurnishingFurnishing Docbase Docbase

%catalog_manager Tom%catalog_manager Tom%catalog_designer Mike%catalog_designer Mike

CatalogBase CatalogBase Alias SetAlias Set

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

Page 19: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 19

FurnishingFurnishing Docbase Docbase

%catalog_manager DELETE%catalog_manager DELETE%catalog_designer READ%catalog_designer READ

Permission Set TemplatePermission Set Template

DocumentDocument%catalog_manager Tom%catalog_manager Tom%catalog_designer Mike%catalog_designer Mike

CatalogBase CatalogBase Alias SetAlias Set

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

Page 20: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 20

%catalog_manager DELETE%catalog_manager DELETE%catalog_designer READ%catalog_designer READ

Permission Set TemplatePermission Set Template

DocumentDocument%catalog_manager Tom%catalog_manager Tom%catalog_designer Mike%catalog_designer Mike

CatalogBase CatalogBase Alias SetAlias Set

FurnishingFurnishing Docbase Docbase

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

Page 21: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 21

FurnishingFurnishing Docbase Docbase

TomTom DELETEDELETEMikeMike READREAD

dm_####_####dm_####_####

%catalog_manager DELETE%catalog_manager DELETE%catalog_designer READ%catalog_designer READ

Permission Set TemplatePermission Set Template

DocumentDocument%catalog_manager Tom%catalog_manager Tom%catalog_designer Mike%catalog_designer Mike

CatalogBase CatalogBase Alias SetAlias Set

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

Page 22: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 22

ApparelApparel Docbase Docbase

%catalog_manager DELETE%catalog_manager DELETE%catalog_designer READ%catalog_designer READ

Permission Set TemplatePermission Set Template

DocumentDocument%catalog_manager Paul%catalog_manager Paul%catalog_designer Frank%catalog_designer Frank

CatalogBase CatalogBase Alias SetAlias Set

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

Page 23: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 23

ApparelApparel Docbase Docbase

%catalog_manager DELETE%catalog_manager DELETE%catalog_designer READ%catalog_designer READ

Permission Set TemplatePermission Set Template

DocumentDocument%catalog_manager Paul%catalog_manager Paul%catalog_designer Frank%catalog_designer Frank

CatalogBase CatalogBase Alias SetAlias Set

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

Page 24: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 24

ApparelApparel Docbase Docbase

PaulPaul DELETEDELETEFrankFrank READREAD

dm_####_####dm_####_####

%catalog_manager DELETE%catalog_manager DELETE%catalog_designer READ%catalog_designer READ

Permission Set TemplatePermission Set Template

DocumentDocument%catalog_manager Paul%catalog_manager Paul%catalog_designer Frank%catalog_designer Frank

CatalogBase CatalogBase Alias SetAlias Set

Permission Set Templates -Permission Set Templates -Up, Close & PersonalUp, Close & Personal

Page 25: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 25

�� Mechanism to specify the location, security,Mechanism to specify the location, security,ownership and other policies that govern theownership and other policies that govern thedocument in each phase of its existence.document in each phase of its existence.

�� Modeled as a sequence of states and theModeled as a sequence of states and thetransitions between them.transitions between them.�� Entry CriteriaEntry Criteria�� ActionsActions

Document Lifecycle -Document Lifecycle -Up, Close & PersonalUp, Close & Personal

Draft Review Publish Retire

Withdrawn

Page 26: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 26

Document Lifecycle -Document Lifecycle -Up, Close & PersonalUp, Close & Personal

�� Object is associated with lifecycle usingObject is associated with lifecycle usingattach APIattach API

�� Object state is changed by promote,Object state is changed by promote,demote APIsdemote APIs

�� Aliases can be used in lifecycle actionsAliases can be used in lifecycle actions�� Aliases are resolved by the alias setAliases are resolved by the alias set

linked to object at lifecycle attachlinked to object at lifecycle attach

Page 27: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 27

%Catalog_Manager tuser1CatalogBaseCatalogBase

%Catalog_Manager Tom Owner = Sabrina

Draft Review RetiredDraft ReviewDocumentLifecycle

Docbase BApparelFurnishing

Owner = tuser1Owner = Tom

Set Owner to %Catalog_Manager

Document Lifecycle -Document Lifecycle -Up, Close & PersonalUp, Close & Personal

Let’s look at closely how aliases are used in lifecycle.

Page 28: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 28

�� Task performer can be an aliasTask performer can be an alias�� Alias resolved at runtimeAlias resolved at runtime

�� From Alias Set of previous taskFrom Alias Set of previous taskperformerperformer

�� From Alias Set of the objects that routeFrom Alias Set of the objects that routein Workflowin Workflow

Workflow Templates -Workflow Templates -Up, Close & PersonalUp, Close & Personal

Page 29: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 29

Object Types -Object Types -Up, Close & PersonalUp, Close & Personal

�� Multiple locale propertiesMultiple locale properties�� Constraints and Error MessageConstraints and Error Message

�� DocbasicDocbasic expression expression

�� Default Permission Set of objectDefault Permission Set of objectinstancesinstances

Set up locale specific information for clientapplications.(e.g. label_text….)

Page 30: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 30

Object Types -Object Types -Up, Close & PersonalUp, Close & Personal

Page 31: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 31

Object Types -Object Types -Up, Close & PersonalUp, Close & Personal

Page 32: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 32

Attributes -Attributes -Up, Close & PersonalUp, Close & Personal

�� Input MaskInput Mask�� e.g. ###-##-#### as SSNe.g. ###-##-#### as SSN

�� CategoryCategory�� Value MappingValue Mapping

�� mapping between actual and displaymapping between actual and displayvalues.values.

Page 33: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 33

� Value Assistance� Defines possible values of the

attribute:� Fixed list� Custom query

� Conditional Value Assistance� populates values based on other

attribute(s)

Attributes -Attributes -Up, Close & PersonalUp, Close & Personal

Page 34: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 34

Attributes -Attributes -Up, Close & PersonalUp, Close & Personal

•Let’s look at our example in the screen cam.•I added another attribute, called action, which define thepossible action the the users can do depends on thestatus of the product.•Here is the attribute editor which you can define somelocale sensitive information, like labels.

Page 35: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 35

Attributes -Attributes -Up, Close & PersonalUp, Close & Personal

•Here is how you define conditional value assistance.•As you can see in the table, the possible value of theaction are dpendes on the attribute, status.•If the status is 0, means out of stock, the possibleactions are wish list, continue shopping…

Page 36: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 36

Attributes -Attributes -Up, Close & PersonalUp, Close & Personal

•After I have defined the attribute rules, let’s look at howwe use them in DTC.•I have an object instance of this custom type.•In the properties dialog, I have one more tab, details,which I have categorize status and action.•Since I have a complete list of the status attribute, I canonly choose one of the three values.•If I choose in stock, the possible values of action arepopulated and you can choose the three values.•What if I change the status to be Discontinued, thevalues of the action are re-populated immediately. Asyou can see, I can only choose from these two items.

Page 37: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 37

�� Folder,Cabinets and Documents.Folder,Cabinets and Documents.�� All All sysobjectssysobjects in the folders/cabinets in the folders/cabinets

except lifecycles, workflow templates,except lifecycles, workflow templates,jobs, methods and jobs, methods and compoentscompoents..

�� Custom types need to be included in theCustom types need to be included in theDocAppDocApp, to be able to archive instances, to be able to archive instancesof these custom types.of these custom types.

Data Objects -Data Objects -Up, Close & PersonalUp, Close & Personal

Content Transfer options to transfer container objects (folder andcabinets) based on application needs.

Page 38: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 38

Building EffectiveBuilding Effective DocApps DocApps

�� UnderstandingUnderstanding DocApps DocApps�� DocAppDocApp Internals Internals�� DocAppDocApp Deployment Deployment

�� DocAppDocApp Archive Archive�� DocAppDocApp Installation Installation�� Deployment OptionsDeployment Options

�� SampleSample DocApps DocApps and applications and applications�� Back to the futureBack to the future

Page 39: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 39

DocAppDocApp Archive - Archive -DocAppDocApp Deployment Deployment

�� What is aWhat is a DocApp DocApp archive? archive?�� Archive file is serialized javaArchive file is serialized java�� Snap shot of theSnap shot of the Docbase Docbase objects at the time objects at the time

of archivalof archival�� Archive process navigatesArchive process navigates

dm_application VDM archiving objects atdm_application VDM archiving objects atevery nodeevery node

�� Archive log reports the objects archivedArchive log reports the objects archived

Page 40: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 40

Archival Rules -Archival Rules -DDocAppocApp Deployment Deployment

�� Objective: Archive all objects required for theObjective: Archive all objects required for theapplication to workapplication to work

�� SupertypesSupertypes archived for custom types archived for custom types�� Data Objects and Custom TypesData Objects and Custom Types�� Document Lifecycle associationDocument Lifecycle association�� dm_relations and Relation Typedm_relations and Relation Type

Page 41: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 41

Installation Process -Installation Process -DocAppDocApp Deployment Deployment

�� Types are installedTypes are installed�� Transaction openedTransaction opened�� Alias sets are installedAlias sets are installed

�� User specifies valid values for aliasesUser specifies valid values for aliases�� All other objects are installedAll other objects are installed�� Transaction is committedTransaction is committed�� Relations reestablished between dataRelations reestablished between data

objectsobjects�� Documents attached to LifecyclesDocuments attached to Lifecycles

Page 42: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 42

DocAppDocApp Installer - Installer -DocAppDocApp Deployment Deployment

�� Interactive Interactive vs vs Silent ModeSilent Mode�� Alias ResolutionAlias Resolution

�� Alias resolution dialogAlias resolution dialog�� Properties fileProperties file

�� Status of installation is reported in theStatus of installation is reported in thelog filelog file

�� DocAppDocApp Installer is backward compatible Installer is backward compatible�� Can handle archives created using olderCan handle archives created using older

versions of DDSversions of DDS

Page 43: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 43

Controlling Object Properties -Controlling Object Properties -DocAppDocApp Deployment Deployment

�� Control Target Owner, Target PermissionControl Target Owner, Target PermissionSet and Target LocationSet and Target Location

�� Aliases are used to specify theseAliases are used to specify thesepropertiesproperties

�� Default Alias Set contains these aliasesDefault Alias Set contains these aliases�� Alias sets are installed prior toAlias sets are installed prior to

other objectsother objects�� Owner, Permission Set and Location ofOwner, Permission Set and Location of

objects is set to the current alias valueobjects is set to the current alias value

These aliases are in the default alias set of the DocApp.

Page 44: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 44

•Default values may not be the behavior that is desiredfor your application. You may want to control thelocation,owner and permission set of the objects beinginstalled.•But you may not know the target location, acl andpermission at design time. How are you going to specifythe values.•Well we are going to fall back on our friend “Aliases”.•Aliases are used to specify these properties.•Here it is important to realize that this scheme worksbecause alias sets are installed before other objects.•Once you have done alias value substitution, the aliasset will have new values for these properties which isvalid in the current docbase.•Docbase objects will then get these current alias values.

Page 45: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 45

•Default values may not be the behavior that is desiredfor your application. You may want to control thelocation,owner and permission set of the objects beinginstalled.•But you may not know the target location, acl andpermission at design time. How are you going to specifythe values.•Well we are going to fall back on our friend “Aliases”.•Aliases are used to specify these properties.•Here it is important to realize that this scheme worksbecause alias sets are installed before other objects.•Once you have done alias value substitution, the aliasset will have new values for these properties which isvalid in the current docbase.•Docbase objects will then get these current alias values.

Page 46: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 46

Controlling Content Transfer -Controlling Content Transfer -DocAppDocApp Deployment Deployment

�� Control the extent of the content archivedControl the extent of the content archived�� For all container objects you can transfer:For all container objects you can transfer:

CompleteContent

First LevelContent

FolderHierarchy

Folder/Cabinet

Page 47: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 47

Controlling Content Transfer -Controlling Content Transfer -DocAppDocApp Deployment Deployment

•DocApps may change over time, that is the docbaseobjects may require to be updated periodically drivenmay be changes in business process.•Some objects may need to be updated while otherobjects may need to be versioned and then there mightbe some objects which do not require any changes.•Well you can control the update of every docbaseobject.•Also these options get applied only at install time andwhen we find that the objects are alreadyexisting(second install).•At archive time all the objects are archived irrespectiveof the upgrade option(since the docapp could be installedon a fresh docbase where you would need to install allthe objects)

Page 48: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 48

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

�� Control the installation of objects when aControl the installation of objects when aprevious version exists in the targetprevious version exists in the targetDocbaseDocbase

�� Specify that the archive versionSpecify that the archive version�� Overwrites existing objectOverwrites existing object�� Is installed as the next versionIs installed as the next version�� Is not installedIs not installed

�� DefaultDefault�� SysobjectsSysobjects are always versioned are always versioned�� Persistent objects are always overwrittenPersistent objects are always overwritten

Page 49: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 49

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

Same Name, SameSame Name, SameObject Type and SameObject Type and SameLocationLocation

Lifecycle, Workflow,Lifecycle, Workflow,Job, Procedure,Job, Procedure,Components, DataComponents, DataObjectsObjects

Same NameSame NameMethod, Alias Set,Method, Alias Set,Object Type, PermissionObject Type, PermissionSet TemplateSet Template

Detection CriteriaDetection CriteriaObjectObjectCriteria To Detect Existing ObjectsCriteria To Detect Existing Objects

Page 50: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 50

ControllingControlling DocApp DocApp Upgrade - Upgrade - DocAppDocApp Deployment Deployment

•Whats the criteria to detect that the object contained inthe archive already exists in the docbase.•We have a table listing all the objects in the docapp andtheir detection criteria.•Its important to know that for sysobjects contained in thearchive we know what the name, type and moreimportantly the location where the object is beinginstalled. We run a query with these attributes and see ifthe object already exists.•If the object exists then the upgrade rule specified forthe object is followed.

Page 51: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 51

Document1Document1

Document2Document2

Document3Document3

Overwrite

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

Source Docbase Target Docbase

Page 52: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 52

Document1Document1

Document2Document2

Document3Document3

Overwrite

Document1Document1

Document2Document2

Document3Document3

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

Source Docbase Target Docbase

Page 53: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 53

Document1Document1

Document2Document2

Document3Document3

Overwrite

Document1Document1

Document2Document2

Document3Document3

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

Source Docbase Target Docbase

v1.0

Page 54: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 54

Document1Document1

Document2Document2

Document3Document3

v1.2

Document4Document4

Overwrite

Document1Document1

Document2Document2

Document3Document3

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

Source Docbase Target Docbase

Page 55: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 55

Document1Document1

Document2Document2

Document3Document3

v1.2

Document4Document4 Document4Document4

Overwrite

Document1Document1

Document2Document2

Document3Document3

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

Source Docbase Target Docbase

Page 56: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 56

Document1Document1

Document2Document2

Document3Document3

v1.2

Document4Document4 Document4Document4

Overwrite v1.0

Document1Document1

Document2Document2

Document3Document3

ControllingControlling DocApp DocApp Upgrade - Upgrade -DocAppDocApp Deployment Deployment

Source Docbase Target Docbase

Page 57: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 57

Pre and Post Install ProceduresPre and Post Install ProceduresDocAppDocApp Deployment Deployment

�� SignatureSignature�� PreInstallPreInstall(String (String docbaseNamedocbaseName, String, String

userNameuserName, String , String loginTicketloginTicket))�� Handling Error ConditionHandling Error Condition

�� dmExitdmExit((intint status),0 = success, 1 = failure status),0 = success, 1 = failure�� PreInstallPreInstall failure - failure - DocApp DocApp will not will not

be installedbe installed�� PostInstallPostInstall failure - No Consequences failure - No Consequences�� Procedure output is redirected toProcedure output is redirected to

Installer logInstaller log

Page 58: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 58

Pre and Post Install ProceduresPre and Post Install ProceduresDocAppDocApp Deployment Deployment

•Sometimes there is a need to make the docbase readybefore you install the DocApp and your application(or tomake your application work)•Also there might be additional steps you may want to dowhich is outside the realm of DocApps and very specificto your application.•That’s where Pre and Post Install scripts fit in.•These are docbasic scripts.•You have to create a dm_procedure object in thedocbase and then include the procedure in theDocApp.This is important to note.•Post Install failure no consequence to the DocAppinstallation.(No rollback of the docapp possible)•Also whatever you do in the PreInstall procedure youare responsible and cannot be rollbacked in case offailure.

Page 59: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 59

Building EffectiveBuilding Effective DocApps DocApps

�� UnderstandingUnderstanding DocApps DocApps�� DocAppDocApp Internals Internals�� DocAppDocApp Deployment Deployment�� SampleSample DocApps DocApps and Applications and Applications

�� WebPublisher DocAppWebPublisher DocApp�� XML ApplicationXML Application

�� Back to the futureBack to the future

Page 60: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 60

WebPublisherWebPublisher - -SampleSample DocApps DocApps and Applications and Applications

•Whats interesting about WebPublisher DocApp.•Well for one it is exactly the paradigm we have beentalking about in this presentation.•You have WebPublisher as the application whichdepends on certain Docbase objects to be set up beforeyou can use the application.•All the docbase objects required are bundled in theWebPublisher DocApp.•They see the same maintenance issues that we havespoken about•New versions of the application require new Docbaseobjects and more importantly require changes to theexisting ones in the customers docbase.\•They use all the upgrade and controlling propertiesoption.

Page 61: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 61

WebPublisherWebPublisher - -SampleSample DocApps DocApps and Applications and Applications

•They have the preinstall script which use to be runbefore the DocApp was installed and is now beingpackaged with the DocApp.•Talk about how they use the content transfer optionsand the folder location scheme to create new folders inthe already existing cabinet.

Page 62: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 62

XML Application -XML Application -SampleSample DocApps DocApps and Applications and Applications

�� XML Applications may require ObjectXML Applications may require ObjectTypes, Permission Set, Lifecycles,Types, Permission Set, Lifecycles,Workflow Templates and otherWorkflow Templates and other Docbase DocbaseObjects.Objects.

�� DocAppsDocApps are delivery mechanism are delivery mechanism�� CellularPhone CellularPhone folder contains folder contains config config file,file,

DTD, supporting documents.DTD, supporting documents.

Page 63: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 63

XML Application -XML Application -SampleSample DocApps DocApps and Applications and Applications

Page 64: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 64

Building EffectiveBuilding Effective DocApps DocApps

�� UnderstandingUnderstanding DocApps DocApps�� DocAppDocApp Internals Internals�� DocAppDocApp Deployment Deployment�� SampleSample DocApps DocApps and applications and applications�� Back to the futureBack to the future

�� DocApp UnInstallDocApp UnInstall�� Internal Deployment ModeInternal Deployment Mode

Page 65: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 65

DocAppDocApp Uninstall – Uninstall –Back to the FutureBack to the Future

�� UninstallUninstall DocApp DocApp Versions Versions�� Dependency checking for allDependency checking for all Docbase Docbase

objectsobjects�� Options to control the deletion ofOptions to control the deletion of

DocbaseDocbase objects objects�� Rollback to previous definitions forRollback to previous definitions for

Object Types, PST and Alias SetsObject Types, PST and Alias Sets�� Extensive Reporting mechanismExtensive Reporting mechanism

Page 66: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 66

Internal Deployment Mode -Internal Deployment Mode -Back to the FutureBack to the Future

�� Deployment Environment identical toDeployment Environment identical toDevelopmentDevelopment

�� Properties ofProperties of Docbase Docbase objects should objects shouldremain the same as in the Developmentremain the same as in the Development

�� ProposalProposal�� ACLACL�� Users and groupsUsers and groups�� FormatsFormats

Page 67: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 67

Q&AQ&A

Object Type

JobMethod

PST

Document Lifecycle

Alias Set

Page 68: EMC Document Um Building Effective Doc Apps

Documentum Developer Conference 2001 9/9/01 12:46

Lui-Rassiwala 68

SummarySummary

�� Efficient Transfer of ApplicationEfficient Transfer of ApplicationObjectsObjects

�� Development and Deployment ToolsDevelopment and Deployment Tools�� Support for Application MaintenanceSupport for Application Maintenance

and Upgradeand Upgrade