About the Author
Gaurav Kathuria completed his B. Tech. (Hons.) in Chemical Engineering from I.I.T.
Kharagpur in the year 2000 and has since been a prominent performer in diverse software
fields, from IT services through product development to software consultancy.
He has a rich experience of designing, developing, and managing software systems using
object-oriented languages and technologies like Java/J2EE and Documentum.
He started working with Documentum 4i in the year 2001 and has ever since had an
extensive experience architecting/designing complex Documentum 4i and 5x projects.
He has also given in-house training on Documentum system architecture, fundamentals,
and Web Publisher in many of the organizations he has worked in.
This book is dedicated to
God: Who has always showered his choicest blessings on me and given me much more
than I ever wanted in my life. I thank Him for all that he has done for me.
My family: My father (Mr. P.N. Kathuria) has always been a guiding star in my life,
mentoring and steering me through thick and thin. Extremely diligent and sincere in all his
endeavors; I have learnt and am still learning a lot from him.
My mother (Mrs. Sarita Kathuria) has selflessly devoted her entire life for the well-being of
our sweet little family. She has always been the shoulder I cried on when I was in distress
and she has been the one who praised me most when others disapproved me.
My sister (Ms. Gunjan Kathuria) is the sweet little sister I always wanted in my life. Her
affection and care has given a new meaning to my life.
My wife (Mrs. Gunjan Grover) has blossomed our house with love and respect for
everyone. Her mere presence fills up and completes the missing bit in my life…
My friends: Neeraj Jain, Nisha, Hima, Nishant Anchal, and Abhishek Singh, who have
always been by my side, making this world a better place to live in.
Documentum team mates: Mansoor Sheikh, Arnab Ghosh, Amit Kapur, Prashant Shukla,
Gajendra Sahu, Gurmeet Singh, Prasun Misra, Tanveer Haider, Arpana Bansal, Preeti
Dua, Kapil Bharati, Akash Narang, Kesavan, Usha Parolkar, Anjali Nanda, and other
software professionals with whom I have worked on various Documentum projects. They
all have been a source of inspiration for me in some way or the other.
I thank you all for your love and support!
Acknowledgements
Dr. Louay Fatoohi, Dr. Douglas Paterson, and the entire crew at Packt Publishing Ltd. for
honoring me by publishing this book in the most stringent of timeframes.
Johnson Stephen: My pal, colleague, and a software testing maestro. He 'unknowingly'
guided me to write a book as a precursor to establishing myself and starting up my own
consultancy in future.
M. Scott Roth: Author of '
A Beginner's Guide to Developing Documentum
Desktop Applications
'.
Scott applauded my decision to write this book on Documentum technology and
constantly provided the much needed support and zeal.
Anil Baid: The owner and head of 'Solutions Infosystems'. He has been an extremely
helping hand for me, without whom this book would have never seen the light of day.
Rakesh Dahiya: The Facilities manager at 'Solutions Infosystems' who guided me often
regarding the various publishing avenues available and the tips and tricks of the trade.
Ashwin Razdan: Media Manager, whatistesting.com; an extremely versatile personality
who assisted me in getting the book shaped up to the right standards by providing the
much needed direction and support.
Sachin Jain: The Accounts and legal head at 'Solutions Infosystems' whose valuable
advice steered me clear of several difficult situations during the book authoring process.
Pankaj Jain and Pradeep Gautam ('Econsultants India').
My sincere apologies to those whose names might have inadvertently been missed out
from this list. You all are very important to me.
Table of Contents
Preface 1
Chapter 1: Content and Documentum 5
1.1 Need for an Effective CMS 7
1.2 Qualities of a Good CMS 8
1.3 Why Documentum? 10
1.4 Documentum Features 11
1.5 Summary 12
Chapter 2: Documentum Essentials 13
2.1 Documentum Cornerstone 13
2.2 Docbase 13
2.3 DocBroker 15
2.4 DocApp 16
2.5 Object Types 16
2.6 Attributes 18
2.6.1 Object ID (Object Identifier: r_object_id Attribute) 19
2.6.2 Attribute Types 19
2.7 DQL 21
2.8 API 22
2.9 Cabinets and Folders 23
2.10 Versioning 24
2.11 Lifecycles 25
2.12 Workflows 26
2.13 Summary 28
Chapter 3: Documentum Advanced Concepts 29
3.1 DMCL 29
3.2 DFC 29
3.3 BOF 30
3.4 WDK 31
3.5 Web Publisher 32
3.6 ACL 33
Table of Contents
3.7 Alias Set 34
3.8 Users and Groups 36
3.8.1 Users 36
3.8.2 Groups 36
3.9 Renditions 37
3.10 Registered Tables 38
3.11 Data Dictionary 38
3.12 Methods and Jobs 39
3.12.1 Methods 39
3.12.2 Jobs 40
3.13 Summary 42
Chapter 4: Web Content Management System 43
4.1 When Should you Use a WCM System? 43
4.2 When Should you Not Use a WCM System? 44
4.3 Documentum WCM Architecture 45
4.4 How do you Enter Content in the System? 46
4.4.1 Web Publisher 46
4.5 Where and How is the Content Stored? 47
4.5.1 Content Server 47
4.6 How do you Perform System Administration? 48
4.6.1 Documentum Administrator 48
4.7 How do you Create Multiple Renditions of the Content? 50
4.7.1 Content Rendition Services 50
4.8 How do you Publish Content to a Website? 52
4.8.1 Site Caching Services 52
4.8.2 SCS Architecture 53
4.9 How do you Query the Published Content for Displaying on
Websites? 54
4.9.1 Documentum JDBC Services 54
4.10 How do you Deploy Website Content to a Server Farm? 55
4.10.1 Site Deployment Services 55
4.11 Summary 56
Chapter 5: Setting Up the Documentum Suite 57
5.1 Installing Content Server 58
5.1.2 Prerequisites 59
ii
Table of Contents
5.2 Installing Content Server 5.2.5 60
5.3 Installing Content Server 5.2.5 SP2 64
5.4 Summary 66
Chapter 6: Creating Our First Docbase 67
6.1 Creating a Docbase 67
6.2 Installing Web Publisher Server Files and DocApp 75
6.2.1 What does Web Publisher Server Files Contain? 76
6.2.2 What does WebPublisher DocApp Contain? 76
6.3 Beginning Installation 76
6.4 Stopping and Starting Docbase and DocBroker 80
6.5 dmcl.ini 81
6.6 server.ini 81
6.7 Summary 82
Chapter 7: Setting Up Publishing 83
7.1 SCS Source 5.2.5 83
7.1.1 Prerequisites 84
7.1.2 Installing SCS Source 5.2.5 84
7.1.3 Installing SCS Source 5.2.5 SP2 88
7.2 SCS Target 5.2.5 89
7.2.1 Prerequisites 89
7.2.2 Installing SCS Target 5.2.5 89
7.2.3 Installing SCS Target 5.2.5 SP2 97
7.3 Summary 98
Chapter 8: Setting Up Documentum Application Builder 99
8.1 Documentum Application Builder 100
8.1.1 Prerequisites 101
8.2 Installing DAB 5.2.5 SP2 101
8.3 Summary 105
Chapter 9: Setting Up Documentum Administrator and Web Publisher 107
9.1 Documentum Administrator 107
9.1.1 Prerequisites 108
9.1.2 Installing Documentum Administrator 5.2.5 SP2 108
iii
Table of Contents
9.2 Web Publisher 113
9.2.1 Prerequisites 113
9.2.2 Installing Web Publisher 5.2.5 SP2 113
9.3 Summary 118
Chapter 10: Designing Documentum Applications 119
10.1 Case Study—Simple Newspaper Website 119
10.2 Beginning Documentum Design 121
10.3 Using Documentum Application Builder (DAB) 122
10.4 Creating Custom Objects in DocApp 123
10.5 Summary 124
Chapter 11: Designing and Creating Custom Object Types 125
11.1 Creating Object Types 126
11.1.1 Type Names 127
11.1.2 Limitations of Object Type Names 127
11.1.3 Supertype 128
11.2 Designing and Creating Custom Attributes of Object Type(s) 137
11.3 Adding Attributes to an Object Type 138
11.3.1 Attribute Names 139
11.3.2 Limitations of Object Type Attribute Names 139
11.3.2.1 Label 140
11.3.2.2 Data Type 140
11.3.2.3 Length 140
11.3.2.4 Repeating 140
11.3.2.5 Default Search Value 140
11.3.2.6 Allowable Search Operators 140
11.3.2.7 Input Mask 141
11.3.2.8 Conditional Value Assistance 145
11.4 Querying Registered Tables using DQL for Value Assistance 149
11.5 $value() Keyword 153
11.6 Summary 155
Chapter 12: Creating Lifecycles, Alias Sets, and Permission Sets 157
12.1 Alias Sets in a Lifecycle 157
12.2 Creating an Alias Set 158
12.3 Creating Permission Sets 161
12.4 Creating a Custom Lifecycle 163
12.5 Promoting and Demoting Content through a Lifecycle 178
iv
Table of Contents
12.5 Expiring Content 183
12.6 Summary 185
Chapter 13: Working with Web Publisher Template Files 187
13.1 Creating a Template File 190
13.2 Summary 194
Chapter 14: Creating Rules Files 195
14.1 Creating a Rules File 195
14.1.1 IMGALTTEXT Element 205
14.1.2 DATE Element 205
14.1.3 BODYTEXT Element 206
14.1.4 REPEATBLOCK Element 206
14.1.5 NEXTLINKNAME Element 207
14.1.6 NEXTLINKURL Element 208
14.2 Final Template in Web Publisher Editor 208
14.3 Miscellaneous Rules File Widgets 210
14.3.1 Choice Widget 210
14.3.2 Checkbox Widget 210
14.3.3 Textselector Widget 210
14.3.4 Xselector Widget 211
14.4 Summary 212
Chapter 15: Creating Presentation Files 213
15.1 Creating a Presentation File 214
15.2 Viewing Content Renditions 220
15.3 Reapplying Presentation Files 221
15.4 Using XDQL in Stylesheets 222
15.5 XDQL Example in XSL Stylesheet 223
15.6 Create_Dynamic_Content Job 227
15.7 Summary 229
Chapter 16: Folder Mapping 231
16.1 Anatomy of the FolderMap.xml File 234
16.2 Limitations of Folder Map 234
16.3 Folder Mapping Examples 235
16.3.1 Property Matching: Using Wildcard (*) 235
16.3.2 Property Matching: Using Multiple Properties in <attr_list> 237
16.3.3 Placing a Content File in Multiple Locations with <path_list> 239
16.3.4 Property Matching: Simple Repeating Attribute 241
v
Table of Contents
16.3.5 Property Matching: Repeating Attribute Index 244
16.3.6 Dynamic Folder Mapping 246
16.3.7 Dynamic Folder Mapping with Repeating Attribute 248
16.4 Summary 250
Chapter 17: Using Instruction Files 251
17.1 Limitations of Instruction Files 252
17.2 Instruction File Examples 253
17.2.1 Deleting an XML Element from an XML File with <delete-element> 253
17.2.2 Adding an XML Element to an XML File with <insert-element> 262
17.2.3 Updating the Value of an XML Element in an XML File with
<update-element-value> 265
17.3 Summary 267
Chapter 18: Automatic Property Extraction (APE) 269
18.1 How Automatic Property Extraction Works 270
18.2 Simple Example for Automatic Property Extraction 271
18.3 Testing our First XML Application 277
18.4 Populating Repeating Attributes using Automatic Property
Extraction 280
18.5 Testing the Second XML Application 282
18.6 Using Two-Way Attribute Extraction 285
18.7 Testing the Two-Way Attribute Extraction XML Application: 287
18.8 Summary 290
Chapter 19: Working with Workflows 291
19.1 Designing Custom Workflows 292
19.2 Setting Up a Custom Workflow Template 293
19.3 Creating a Custom Workflow Template 300
19.3.1 Performer Tab for Activities 312
19.3.2 Trigger Tab for Activities 312
19.3.3 Notification Tab for Activities 313
19.3.4 Transition Tab for Activities 313
19.4 Adding a Package to Connection Flows 314
19.5 Summary 315
vi
Table of Contents
Chapter 20: Testing Custom Workflows 317
20.1 Creating Users for Workflow in Documentum 318
20.2 Submitting Content to the Custom Workflow 319
20.3 Summary 326
Chapter 21: Publishing from Docbase Using SCS 327
21.1 Limitations of SCS 328
21.2 Publishing Types 328
21.3 Steps for Setting Up a Site Publishing Configuration 328
21.4 Testing and Publishing Using Site Publishing Configuration 339
21.5 Published Data 341
21.6 Unlocking Locked Publishing Operations 342
21.7 Monitoring the SCS Source Status 343
21.8 Summary 344
Chapter 22: Web Viewing Content Files 345
22.1 Prerequisites 346
22.2 Setting Up and Using Web View 347
22.3 Testing Web View 352
22.4 Summary 354
Chapter 23: Using DFC 355
23.1 Introduction to DFC 356
23.2 Environment Readiness 357
23.3 Simple Example Demonstrating DFC Usage 358
23.4 Creating and Linking a File in a Docbase Cabinet 359
23.5 Running Docbase Methods via DFC 362
23.6 Creating Users in Docbase with DFC 366
23.7 Summary 368
Chapter 24: Configurations and Customizations Using WDK 369
24.1 WDK Directory Structure 370
24.2 WDK Application Elements 372
24.3 A Simple WDK Configuration Example 373
24.3.1 New Content Screen before Configuration Changes 373
24.3.2 Modified New Content Screen after Configuration Changes 375
vii
Table of Contents
24.4 A Simple WDK Customization Example 379
24.5 Summary 395
Chapter 25: Documentum Deployment 397
25.1 DocApp Migration 399
25.2 Configuring DocApp Objects and Creating/Installing a
DocApp Archive 399
25.3 Deployment of Web Publisher Code and Custom Scripts 410
25.4 Summary 414
Chapter 26: Using DQL and API Commands 415
26.1 DQL 416
26.1.1 Uses of DQL 416
26.1.2 Command Tools 416
26.1.3 DQL Examples 417
26.1.3.1 Creating a Document Object 417
26.1.3.2 Updating Attributes of a Document Object 418
26.1.3.3 Appending a Value in a Repeating Attribute 419
26.1.3.4 Inserting a Value into a Repeating Attribute 419
26.1.3.5 Associating a Document Object with a Cabinet 419
26.1.3.6 Retrieving a Document Object from the Docbase 421
26.1.3.7 Deleting a Document Object from the Docbase 423
26.2 API 423
26.2.1 Command Tools 423
26.2.2 API Commands 425
26.2.3 Categorizing API Methods 426
26.2.4 API Method Examples 427
26.2.4.1 Creating a Document Object 427
26.2.4.2 Setting the Attributes of the Object 428
26.2.4.3 Associating a Content File with the Document Object 429
26.2.4.4 Associating a Document Object with a Cabinet 429
26.2.4.5 Saving the Document Object in the Docbase 430
26.2.4.6 Obtaining a Reference to the Document Object in Docbase 431
26.2.4.7 Setting Specific Attribute Information 432
26.2.4.8 Viewing all Attributes and Values for an Object 432
26.2.4.9 Deleting an Object from the Docbase 434
26.3 Summary 434
viii
Không có nhận xét nào:
Đăng nhận xét