We are working on a Visio and only want to include the DVE parent element. I can see the DVE parent ID is 0/0 for the parent. Is there any way to use this as a ChildrenFilter in Visio?
Other methods, filtering out '.' of '-' when in the DVE element name does not work due to the current implemented naming convention of the parent element.
Any other thoughts on only showing the Parent element in a dynamic Visio?
Thanks,
Steve
Steve,
Best idea I can suggest is below that exists today but I agree, if the existing IsDVE parameter was exposed to visio shapes, as a childrenfilter option it would be a very clean solution with no scripting required.
Goal
Visio -> At the lowests level, the view represents the Equipment Rack and Shapes represent the physical devices, not the virtual (DVE).
Summary
-Element Custom Property
-Visio
-Automation Script -> Streamlines Property Management
Details
Property
- Add/Name New Property -> "IsDVE"
- Possible Values
- FALSE=Metric 0
- TRUE=Metric 1
Visio Example
- ChildType=Element
- ChildrenFilter=Property:IsDVE=^FALSE$
Script Summary
- Identifies parent + regular elements and builds a list.
- Skips all DVE instances.
- Sets the custom property called "
IsDVE" to FALSE.
Considerations
- Should consider larger batches to be run in parallel across DMA's in the system to reduce overall completion time.
- We skip touching DVE to save system resources.
- Could run the script on demand or on a schedule.
References
Overview of DataMiner shape data fields | DataMiner Docs
Managing custom properties | DataMiner Docs
Custom element properties | DataMiner Docs
Running Automation scripts | DataMiner Docs
Getting started with Automation script development | DataMiner Docs
A ChildrenFilter can only use the filter types that are explicitly supported in Visual Overview:
• Protocol: [/]
• Property:=
• AlarmSeverity:
• Name=
• ResourceMapping=… (for SRM bookings)
• NoServiceTableFilter and TimeWindow… (for table-row children)
Filtering on an element’s ID (e.g. “0/0”) is not supported, so the ID cannot be used in a ChildrenFilter.
Alternative ways to show only the parent DVEs:
- Protocol filter
If the parent runs a different protocol than its children, add
ChildrenFilter = Protocol: - Name filter (regex)
From DataMiner 10.2.0 / 10.1.2 onwards you can filter on the element name:
ChildrenFilter = Name=^Exact Parent Name$
It wasn't completely clear to me how the naming convention blocked you from using this solution, but I included it anyway for good measure. - Property filter
Add a custom property (e.g. “Role = Parent”) to the DVE parents and filter on it:
ChildrenFilter = Property:Role=^Parent$
Any of these approaches will let you keep the child DVEs out of the dynamic Visio.
That makes sense Shawn. Can you fill in the "IsDVE" flag into a custom property on the element maybe? I know it's not the cleanest, but it could be the best way to do it now.
We did that in the end but its not performant or ideal. As a result we did create a feature request, hopefully it gets the up votes so we can adopt a better approach using existing data that shouldn't create additional overhead in the system. Thanks for your response and time!
Toon we did think about protocol filter you mentioned but oob is too limited for this use case. He either needs to explicitly exclude all child protocol or include all main protocol; this is not possible for childrenfiltering currently as I understand it. I think if we had access to that IsDVE flag, would really be the cleanest way forward for this to bring all elements to the shape representing the rack and exclude any that are DVE's.