documentum .net application development - dell emc · entology proprietary & confidential what...
TRANSCRIPT
Documentum .Net Application
Development
Entology Proprietary & Confidential
Introduction
Eric AmellLead Documentum ArchitectEntology908-333-2314mailto:[email protected]
Entology Proprietary & Confidential
Agenda
• Overview of .Net• Overview of Documentum .Net• Documentum ASP.Net Case Study• Demonstration of Expanded .Net Sample• Technical Review of Expanded .Net
Sample• Q/A
Entology Proprietary & Confidential
What is .Net?
• Latest technology set from Microsoft• Object Oriented (even VB.Net!)• Common Language Runtime (CLR)• Common Language Specification (CLS)
Entology Proprietary & Confidential
CLR
• Common Language Runtime• Provides core services
– Memory management (Garbage Collection)– Thread management– Remoting– Manage Code Execution
• “Like” Java Runtime Environment (JRE)• Code is NOT interpreted by CLR, but
managed
Entology Proprietary & Confidential
CLS
• Common Language Specification• Common language features• Compliance vs. non-compliance• .Net Framework library is mostly
compliant
Entology Proprietary & Confidential
Benefits of .Net
• Rich UI Toolkit, even for the web (ASP.Net)
• Language independence (VB.Net, C#, J#, C++, COBOL, and others)
• Standard based (XML, SOAP, HTTP)• Interoperability with COM• .Net Framework Library
– Rich set of classes
Entology Proprietary & Confidential
ASP.Net• Programming model for web solutions• Support for all .Net languages (VB.Net, C#,
etc)• Separation of Presentation from Business
Logic• Provided UI components for fast web
development– DataGrid– DataList– Charts– …More
Entology Proprietary & Confidential
Windows Forms
• Unified programming model for Windows applications
• Web Service Integration• Power of C++, ease of VB• Robust database integration (ADO.Net)
Entology Proprietary & Confidential
Documentum .Net Benefits
• Rapid Application Development (RAD)• Leverage existing Microsoft investment• Simplified deployment• Interoperability with Microsoft Products
Entology Proprietary & Confidential
Documentum .Net Troubleshooting
• Folder Security• DFC Cache File Locations
Entology Proprietary & Confidential
DFC Primary Interop Assembly
• .Net wrapper for DFC• Support for Visual
Studio .Net• Maintains single
implementation source of DFC
Entology Proprietary & Confidential
ASP.Net Implementation
• Client– Insurance Organization– Office locations in nearly 100 countries– Research ways to reduce risk
Entology Proprietary & Confidential
ASP.Net Implementation
• Challenge– Underwriting standards constantly
changing– Common text– Approval Process– Microsoft implementation required
Entology Proprietary & Confidential
ASP.Net Implementation
• Solution– ASP.Net Underwriting solution– Content as XML fragments
Entology Proprietary & Confidential
ASP.Net Implementation
Entology Proprietary & Confidential
ASP.Net Implementation
Entology Proprietary & Confidential
ASP.Net Implementation
Entology Proprietary & Confidential
Demo
• Demonstration of the extended Documentum ASP.Net Sample
Entology Proprietary & Confidential
Technical Review
• Cancel Checkout• Delete• New Folder• View Properties• Search• Windows Query Tool
Entology Proprietary & Confidential
Cancel Checkout
• Cancels the checkout of a document• Control:
– CancelCheckoutControl
Entology Proprietary & Confidential
Cancel Checkout Sequence Diagram
Entology Proprietary & Confidential
Delete
• Deletes selected, unused, or all versions of a document
• Uses IDfDeleteOperation• Control:
– DeleteObjectControl• Support class:
– OperationHelper
Entology Proprietary & Confidential
Delete Sequence DiagramDeleteObjectControl
DeleteButton_Click(sender, e)
processDelete()
clientX deleteOperation
deleteOperation:=getDeleteOperation()
OperationHelper
setVersionDeletionPolicy(policy)
add(objToDelete)
executeOperation(deleteOperation, this)
refreshTree()
toggleControlVisibility(false)
Entology Proprietary & Confidential
New Folder
• Creates a new dm_folder• Control:
– NewFolderControl• No support classes
Entology Proprietary & Confidential
New Folder Sequence DiagramNewFolderControl
CreateFolderButton_Click(sender, e)
processCreateFolder()
newFolder:=newObject(getFolderType())
dmSession newFolder
setObjectName(folderName)
link(parentFolderId.getId())
save()
refreshTree()
toggleControlVisibility(false)
Entology Proprietary & Confidential
View Properties
• Control to view document properties• Uses data dictionary
– dm_scope_config– dm_display_config– dmi_dd_attr_info
• Uses DataSet and DataGrid
Entology Proprietary & Confidential
View Properties (cont.)
• Control:– PropertiesControl
• Support classes:– DDDisplayConfig– DocbaseDisplayConfig– DDAttribute– QueryHelper
Entology Proprietary & Confidential
View Properties Sequence Diagram
PropertiesControl
Page_Load(sender, e)
initProperties()
showProperties()
displayConfig
displayConfig:=getDisplayConfig(sysObj.getTypeName(), dmSession)
dataSet:=createDataSetForAttributes(displayConfig.Attributes, "primaryattrs")
Entology Proprietary & Confidential
Search
• Simple search facility• Uses a DataSet
– Query run using DQL– Results parsed into a DataSet
• DataSet is bound to a DataGrid
Entology Proprietary & Confidential
Search (cont.)
• Two main controls:– SearchControl– ResultsView
• Support classes:– QueryHelper– DMAttributeInfo– DMAttributeInfoList
Entology Proprietary & Confidential
Search Sequence Diagram
Entology Proprietary & Confidential
Results Sequence DiagramResultsView
Page_Load(sender, e)
populateResults()
QueryHelper
attrsToDisplay:=getAttributesToDisplay()
dataSet:=executeQueryForDataSet(dqlQuery, dmSession, attrsToDisplay)
Session
dqlQuery:=get("query")
Remove("query")
Entology Proprietary & Confidential
Query Tool
• Built using Windows Forms• Uses Documentum ADO.Net• Uses DataGrid to display results• Integrates PIA with Documentum
ADO.Net
Entology Proprietary & Confidential
Query Tool (cont)
• Forms:– LoginForm– QueryToolForm
• Support classes from ASP.Net sample:– DmContext– LoginHelper
• Custom support class:– DQLQueryManager
Entology Proprietary & Confidential
ADO.Net Connection String
• All of the following fields are required– Repository=<docbase>– User Name=<os name>– Password=<password or ticket>– Domain=<domain>
• Fields separated by semicolons
Entology Proprietary & Confidential
About Entology
• Governed by the following core business principles:– Hire and retain the best talent in the
industry– Deliver what is promised– Always surpass expectations– Exceed the pace of business
Entology Proprietary & Confidential
Entology Core Competencies
• Enterprise Content Management (ECM)• Enterprise Portals• Business Intelligence• Enterprise Security• Collaborative Studies
Entology Proprietary & Confidential
For More info on Entology• http://www.entology.com• Email to [email protected]• Sales
– Contact me and I will help you• Employment Opportunities
– Talk to me!– Email resume to [email protected]– Fax resume to 908-333-2345
• See us at Momentum Montréal booth #226
Entology Proprietary & Confidential
Thanks
Eric AmellLead Documentum ArchitectEntology908-333-2314mailto:[email protected]
Entology Proprietary & Confidential
Q/A