Successfully reported this slideshow.
Your SlideShare is downloading. ×

Vbug nov 2010 Visio Validation

Loading in …3

Check these out next

1 of 27 Ad

More Related Content

Viewers also liked (20)

Similar to Vbug nov 2010 Visio Validation (20)


Recently uploaded (20)


Vbug nov 2010 Visio Validation

  1. 1. David J Parker MVP (Visio) bVisual ltd
  2. 2. Need Premium for Validation!
  3. 3.  Silverlight application to view built-in rules • Click
  4. 4. Free Silverlight application
  5. 5. Create a drawing from one that contains rule set(s) or Import rule set(s) from an existing document Enable one or more of the rule sets Select Process / Check Diagram or Call document.Validate in code Review issues
  6. 6. Define rules using quasi-ShapeSheet formulae and/or Respond to document.RuleSetValidated event Useful for cyclic connections, for example Use ValidationRule.AddIssue
  7. 7. The Validation Process
  8. 8. Loop through each Target Type Check that Filter Expression evaluates to True Abort if False Check that Test Expression evaluates to False Abort if True Add Issue Target (document. Page or shape) Rule
  9. 9. Save as VDX New v14 namespace View in XML reader, eg XML Notepad
  10. 10. Role()=n 0=Element,1=Connector,2=Container,4=Callout HasCategory(category) OnLayer(layername) Is1D() StrSame(Left(MasterName(750),n),name) AggCount(set) = n, >n, <n, etc
  11. 11. ConnectedShapes(direction) GluedShapes(direction) ContainerMembers() ListMembers() Callouts() ParentContainers() ShapesOnPage() OnBoundaryOf()
  12. 12. TWO books on Visio
  13. 13. Click
  14. 14. Microsoft Visio 2010 Business Process Diagramming and Validation see Sample Chapters Chapter 2 : Understanding the Microsoft Visio Object Model see object%20.pdf Chapter 3 : Understanding ShapeSheet™ in Microsoft Visio 2010 see For latest news, updates and rule sets, visit
  15. 15. Click
  16. 16. Extension to Process tab
  17. 17. Adding validation to DFDs
  18. 18. There are a number of rules that are commonly followed when creating DFDs: 1. All processes must have at least one data flow in, and one data flow out 2. All processes should modify the incoming data, producing new forms of outgoing data 3. Each data store must be involved with at least one data flow 4. Each external entity must be involved with at least one data flow 5. A data flow must be attached to at least one process 6. Data flows cannot go directly from one external entity to another external entity; such flows need to go through at least one process.
  19. 19. There are also some conventions that could be considered.: 1. Do not allow a single page of a data flow diagram to get too complex—it should have no more than ten components. If it has more than this, combine some components into a single, self- contained unit and create a new DFD for that unit. 2. Each component should be labeled with a suitable description. 3. Each data flow should be labeled describing the data flowing through it. 4. Each component and subcomponent should be numbered in a top- down manner.
  20. 20. MSDN Articles Introduction to Validation Rules in Visio Premium 2010 click Creating Custom Validation Rules for Visio Premium click Blogs 10 Days for Office 2010: 10 Visio 2010 Tips and Tricks click days-for-office-2010-10-visio-2010-tips-and-tricks.aspx David J Parker click

Editor's Notes

  • Validation Business Rule Modeling Business Rule Visualization Import Rules
  • Sub Validate([RuleSet As ValidationRuleSet], [Flags As VisValidationFlags]) Member of Visio.Validation
  • Event RuleSetValidated(RuleSet As ValidationRuleSet) Member of Visio.Application, Visio.Document, Visio.Documents, Visio.InvisibleAppFunction AddIssue([TargetPage As Page], [TargetShape As Shape]) As ValidationIssueMember of Visio.ValidationRule
  • The UI doesn’t Clear, removes individual issues from dirty pages
  • Change to show rule is processed even if ignored, but it is not displayed
  • Role()Returns an integer indicating the shape role: {Element = 0, Connector = 1, Container = 2, Callout = 4}. OnLayer(LayerName)Returns a Boolean indicating whether the shape is a member of the specified layer. Returns a Boolean indicating whether layer exists on page if called on a Page. AggCount(Set)Counts the number of shapes in a set.
  • FunctionDescriptionConnectedShapes(Direction)Returns the set of shapes, matching the Direction criteria, connected to the shape. The Visio.VisConnectedShapesFlagsconstant values are:visConnectedShapesAllNodes = 0visConnectedShapesIncomingNodes = 1visConnectedShapesOutgoingNodes = 2GluedShapes(Direction)Returns the set of shapes, matching the Direction criteria, glued to the shape. GluedShapes(n), where n is one of the following Visio.VisGluedShapesFlags constant values: visGluedShapesAll1D = 0 visGluedShapesIncoming1D = 1 visGluedShapesOutgoing1D = 2 visGluedShapesAll2D = 3 visGluedShapesIncoming2D = 4 visGluedShapesOutgoing2D = 5ContainerMembers()Returns the set of shapes that are members of the container / list shape. ListMembers()Returns the set of shapes that are members of the list shape. Callouts()Returns the set of shapes that are callouts on the shape. ParentContainers()Returns the set of containers that the shape belongs to. ShapesOnPage()Returns the set of top-level shapes on page. If no page specifier precedes the function, the shape’s containing page is assumed. FilterSet(Set,FilterExpression)Returns the subset of shapes in a set that match an expression. OnBoundaryOf()Returns the set of containers such that the shape is on the boundary of these containers.
  • Part of new Rules Tools add-in
  • Ruleset XSL is part of new Rules Tools add-in
  • An example rule