Details - Additional Documentation Information
Details are a generic data structure used for storing additional (application specific) information inside the Scenarioo documentation.
This details
are simple maps of key-value-pairs. Each entry
in such a details map has a key
and a value
.
The key
is always a simple string (the name of the information).
The value
of such an entry can be of different kinds:
string
: a simple textual informationObjectDescription
(complex type): describes an object with an identity given by atype
(string to group all objects of same kind) and a uniquename
to identify this object of this type (thename
should be unique for all objects of this same type, such that all occurrences of the same object can be identified correctly). Every value of type ObjectDescription will be stored in the Scenarioo object repository, which means, that you can easily browse for all occurrences of this same object with same type and name. Such an object typically can have againdetails
with additional information about the object (this details can again recursively containObjectDescritpion
or any other value types, as listed here).ObjectReference
(complex type): possibility to only store a reference to an object (only bytype
andname
, withoutdetails
), to reference the full object that is already stored in some other place inside the documentation (with all its details as a fullObjectDescription
).ObjectList
: possibility to store a list of values (e.g. as a bullet list). The contained values could be simply strings, or again ofObjectDescription
or any other supported value type, as listed here.ObjectTreeNode
: possibility to store tree structures. Each tree node has anitem
which is the payload of the node, that can be a simple string information or again anObjectDescription
or any other supported value type, as listed here. Furthermore each tree node can again havedetails
for specific additional information about an item (e.g. the item could be anObjectDescription
orObjectReference
and thedetails
of the tree node contain additional information that is only valid for this specific occurrence of this object inside this tree but not belongs to the object itself). Thechildren
are againObjectTreeNode
s (which are the sub trees of the tree).
See also some data structure examples below.
Scenarioo Object Repository: the power of ObjectDescription
s
The Scenarioo Object Repository will index all your objects of type ObjectDescription
inside your documentation (in any places).
You can easily add additional so called "custom object tabs" to the start page of your scenarioo documentation in the Scenarioo Viewer web app. Such a "custom object tab" let's you browse all objects of one or serveral object types. Through this you can enable all Scenarioo Viewer users to easily find all occurrences of a specific object in your scenarioo documentation.
See Configuration of Custom Object Tabs for how to configure such additional tabs for making your objects searchable.
Details Data Structure Examples
Example 1 - Simple String Entries
For adding some simple information, you could simply provide entries with string data as values:
<details>
<entry>
<key>key1</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">value1</value>
</entry>
<entry>
<key>key2</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">value2</value>
</entry>
</details>
Example 2 - ObjectList with ObjectDescriptions
You could e.g. add a list of all service calls (as object descriptions) that occur on a step:
<details>
<entry>
<key>Service Calls</key>
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="objectList">
<items xsi:type="objectDescription">
<name>storeUserSettings</name>
<type>serviceCall</type>
<details>
<entry>
<key>URL</key>
<value xsi:type="xs:string">http://localhost:8080/rest/storeUserSettings</value>
</entry>
<entry>
<key>parameters</key>
<value xsi:type="xs:string">username, settings</value>
</entry>
</details>
</items>
<items xsi:type="objectDescription">
<name>loadNotifications</name>
<type>serviceCall</type>
<details>
<entry>
<key>URL</key>
<value xsi:type="xs:string">http://localhost:8080/rest/notifications</value>
</entry>
<entry>
<key>parameters</key>
<value xsi:type="xs:string">userName</value>
</entry>
</details>
</items>
</value>
</entry>
</details>
Thanks to the object repository you can then configure an additonal "custom object tab" to appear on the start page of the Scenarioo Viewer web app to make all objects of type "serviceCall" searchable in an additional tab on the Scenarioo Viewer start page.
See Configuration of Custom Object Tabs for how to configure such custom object tabs to browse your details objects in Scenarioo.