EMC ANZ Momentum User Group 2011- Tech Track- Key Design Principles and Considerations When Building EMC Documentum xCP Applications

Like this? Share it with your network

Share

EMC ANZ Momentum User Group 2011- Tech Track- Key Design Principles and Considerations When Building EMC Documentum xCP Applications

  • 812 views
Uploaded on

Key Design Principles and Considerations When Building EMC Documentum xCP Applications

Key Design Principles and Considerations When Building EMC Documentum xCP Applications
Presenter: Paul Cheng

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
812
On Slideshare
812
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
38
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Key Design Principles and Considerations When Building EMC Documentum xCP Applications Presenter: Paul Cheng Senior Architect, Information Intelligence Group - Services© Copyright 2011 EMC Corporation. All rights reserved. 1
  • 2. Contents• Introduction and Overview (Design Patterns)• Data Structures / xCP Data Modeling – XML, SDTs, process variables and sub typing• Designing Processes – Process granularity, shortcuts and alternatives• Designing User Interface• Leveraging Online and Community Resources• Questions© Copyright 2011 EMC Corporation. All rights reserved. 2
  • 3. Design Patterns"In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations." http://en.wikipedia.org/wiki/Design_pattern_(computer_science)Why Design Patterns and xCP? xCP is a very flexible product allowing many possible solutions to a problem. Design patterns leverage experience so they are very valuable where there are many alternatives to chose from.Description – Documentation aimed at developersTemplate – Nothing concrete, sample code (but not a finished component)© Copyright 2011 EMC Corporation. All rights reserved. 3
  • 4. Design Patterns This presentation is a presentation of patterns but the application of the patterns is up to you Some of the patterns described are:  packaged already and available to download  planned to be packaged in the future  suggestions of what to think of as a pattern to be created and refined for the specific needs of a corporation or application … However they should all provide these advantages:  Repeatable approach  Accelerated starting point  Leverages the online xCP community of designers and developers © Copyright 2011 EMC Corporation. All rights reserved. 4
  • 5. Design Patterns Categories Design Pattern Categories Examples Look and Feel Custom WDK Actions in TaskSpace User Interaction Process Instance Dashboard with Multi-Drill Process Pattern Simple Merge Invocation/Initiation Process Initiation by DQL Query Activity Pattern Generate Outgoing Email Communication by SMTP Reporting Configure Custom Aggregation Data Structures Layered SDTs Integration Access Data from External Forms (e.g. PDF Forms)© Copyright 2011 EMC Corporation. All rights reserved. 5
  • 6. Data Structures Attributes • Information architecture options: – Traditional properties – XML in forms – Structured data types – Process variables – Comment and history – Audit trail events Design – Outside system Decision © Copyright 2011 EMC Corporation. All rights reserved. 6
  • 7. Data Structures Is it shown in a task form?  Is it shown in a task list?  Traditional attribute Is it used in search?  Is it used with sub-processes?  Editable outside of the process?   Printable?  © Copyright 2011 EMC Corporation. All rights reserved. 7
  • 8. xCP Data ModelingThe pattern could be extended to model and define rules forhow entities are implemented in Documentum’s objectmodel, for example:Considering a witness that exhibits the following traits:• No content of its own dm_document• Attributes with security requirements subtypes with varying• An image ‘attributes’ such as a thumbnail image ACL securityThis can become a rule to say with those traits then considersubtyping dm_folder instead of dm_document witness Witness IDThis will help when sending the ‘entity’ in a process where Case Number Public First Namethe folder is the package Public Last Name Pseudonym Etc… Attributes of the witness folder (dm_folder subtype) © Copyright 2011 EMC Corporation. All rights reserved. 8
  • 9. Designing Processes An example business process to be modeled with three distinct tasks… • A new filing is initiated • If it is a new filing then it is sent for approval • If it is only a translation then is sent for rendering only Filing Approval Rendering Initiation © Copyright 2011 EMC Corporation. All rights reserved. 9
  • 10. Designing Processes  Processes ‘live’ longer Approval  Interface is simpler and clicks Filing are minimized for the users Initiation Rendering Transactionality can be more simply controlled Process 1 © Copyright 2011 EMC Corporation. All rights reserved. 10
  • 11. Designing Processes Filing Approval Initiation More clicks and options for the users Processes ‘live’ shorter but Process 1 there are more instances Filing  A change to the initiation Rendering Initiation task in process 1 would need to be also reflected in process 2 Process 2 © Copyright 2011 EMC Corporation. All rights reserved. 11
  • 12. Designing Processes  Possible procedural control needed Filing Initiation  There are many live instances but tasks are short simple chunks of the process Process 1 We maybe able to substitute these mini process for simple functions Approval A balance between: People driving the process Process 2 Function such Rendering as render may Vs. completely replace a ‘process’ Process driving the peopleProcess 3 © Copyright 2011 EMC Corporation. All rights reserved. 12
  • 13. Process Pattern Complex Transitions  Loan origination process  At the review stage, a manager’s approval is required if the value of the loan request is over $10,000  At the same time, if the client has a poor credit score, finance approval is also required Problem !!! We potentially need to follow one or two paths but the trigger on a join can only be set to a fixed number of incoming flows! It is easy to build really complex process maps to solve this problem © Copyright 2011 EMC Corporation. All rights reserved. 13
  • 14. Process Pattern Complex Transitions The easiest approach is to use a ‘pass through’ flow and a ‘noop’ activity and some transition logic that ALWAYS chooses two paths Two paths account for the case of: < $10,000 AND good credit score… 0 © Copyright 2011 EMC Corporation. All rights reserved. 14
  • 15. Activity Pattern Linking folders using activities or using the data mapper © Copyright 2011 EMC Corporation. All rights reserved. 15
  • 16. Activity Pattern Concat function can be used to build the path and the name of the location  Can help to consolidates activities and reduce automatic ones .. but is only for simple linking, it will not provide other features provided by the ‘link to folder’ activity (e.g. ‘create new folder if not exists’) © Copyright 2011 EMC Corporation. All rights reserved. 16
  • 17. Invocation / Initiation Pattern Requirement > Watermark a logo into a PDF at a certain point in a business process CTS Activity  Options in this activity are rather limited  No parameters can be sent to the plugin © Copyright 2011 EMC Corporation. All rights reserved. 17
  • 18. Invocation / Initiation Pattern This could therefore be replaced in a custom activity.. ..but there is a pattern that uses configuration and is more easily modifiable and upgradable… .. To use the ‘Dynamic Web Services’ activity to initiate the request for us This activity has been in Process Builder since 5.3 sp4 © Copyright 2011 EMC Corporation. All rights reserved. 18
  • 19. Invocation / Initiation Pattern (Registration) © Copyright 2011 EMC Corporation. All rights reserved. 19
  • 20. Invocation / Initiation Pattern … followed by the request (using the token) Using DFS..  Negates the need for coding and can make more options available  Reuse the same services that are used by other interfaces and integrations  Improved maintainability Other examples Adding accessors to ACLs Designing UIs Creating folder structures with ACLs © Copyright 2011 EMC Corporation. All rights reserved. 20
  • 21. User Interface PatternsResolution Lowest common denominator of user machines Design in this resolution Use a projector to get scale when designing, this also helps with interaction with customer - WYSIWYGScrolling Vertical scrolling not horizontalDisplaying External Content in a Form Incorporating a Google map, a video clip, a BAM Dashlet, or other type of external content.Wizard-like controlsOther User Interface Design Patterns© Copyright 2011 EMC Corporation. All rights reserved. 21
  • 22. © Copyright 2011 EMC Corporation. All rights reserved. 22
  • 23. © Copyright 2011 EMC Corporation. All rights reserved. 23
  • 24. © Copyright 2011 EMC Corporation. All rights reserved. 24
  • 25. Designing User Interface - Integration Pattern Displaying External Content Sometimes the application business requirements call for displaying a photograph within a form in TaskSpace. Or it may require incorporating a Google map, a video clip, a BAM Dashlet, or other type of external content. © Copyright 2011 EMC Corporation. All rights reserved. 25
  • 26. © Copyright 2011 EMC Corporation. All rights reserved. 26
  • 27. © Copyright 2011 EMC Corporation. All rights reserved. 27
  • 28. © Copyright 2011 EMC Corporation. All rights reserved. 28
  • 29. Designing User Interface – Integration Pattern In Forms Builder open the form template into which you want to display the external content Add a RichTextField to the form On the special properties tab of the RichTextField: Bind the RichTextField control to a field in the data model. It is this field that later will contain the iframe definition used for showing the external content. Disable all formatting options (Optionally) Adjust the other settings according to your preferences: border, scrolling, etc. On the Display properties tab make the field read only© Copyright 2011 EMC Corporation. All rights reserved. 29
  • 30. Designing User Interface – Integration Pattern The last step depends on the specifics of your case but in the end you want to get an iframe definition into the data field you bound the RichTextField to. Example <iframe src=http://www.emc.com/products/detail/software/documentum-xcp.htm width="485” height="335” frameborder="0” marginheight="0” marginwidth="0"></iframe> There are basically three ways of getting the value into the data field: Hard coding. Since the RichTextField in itself does not provide a default value for the data field you need to follow these steps Create a regular TextField control. Bind it to the same data field. Add a default value to the data field via the TextField control. Save the form. Delete the TextField control, the default value will remain. Adaptor. You can use a custom adaptor to provide the iframe definition, this is useful if you for instance have to create a login ticket or the URL that you generate is dynamic in some sense. Data mapping activity. For task templates you can use a DataMapping activity, in a step prior to the manual activity, which populates a field in an SDT which you then bind to the RichTextField. https://community.emc.com/docs/DOC-7635© Copyright 2011 EMC Corporation. All rights reserved. 30
  • 31. Designing User Interface – Look and Feel Pattern Wizard-like controls There is no wizard control in forms builder however using an approach that is repeatable we can achieve a similar effect… © Copyright 2011 EMC Corporation. All rights reserved. 31
  • 32. The Form Definition  The wizard has a series of vertical design boxes an it uses display rules to show or hide them.  Once the controls in the right hand box are complete the left hand box is hidden so that it ‘slides’ to the left.  There are no adaptors involved in the display manipulation © Copyright 2011 EMC Corporation. All rights reserved. 32
  • 33. The Result © Copyright 2011 EMC Corporation. All rights reserved. 33
  • 34. Documents and links • Design pattern catalogue https://community.emc.com/docs/DOC-7312 • xCelerators – EMC QA’d internally – Not supported https://community.emc.com/docs/DOC-6143 • Community xCelerators https://community.emc.com/docs/DOC-7597 • xCP Information Center – New tool from our Technical Publication Department – Fully indexed and searchable! https://community.emc.com/docs/DOC-8250 © Copyright 2011 EMC Corporation. All rights reserved. 34
  • 35. Q&A© Copyright 2011 EMC Corporation. All rights reserved. 35