How to make views architecture state aware?

Post Reply
dagnils
Posts: 8
Joined: 14 Apr 2018, 07:29

Hi,

I'm currently in an engagement for a public transport authority in Norway.

We're in the process of defining the baseline business capabilities and would like to define business capabilities increments and a final target.

Using architecture states for baseline, increments and target business capabilities are the anchor point when modeling this, but how can the different views related to Business Capabilities in Essential be “architecture state aware”.

As an example, I would like to view only established capabilities in the Business Capability Model view as the “default” view, and have the ability to switch between the different capability increments (architecture states) by selecting the states in a drop-down list in the view.

Another example is for the "Projects to Business Objective Mapping" where I want as a default see current capabilities, and when selecting an objective that has related projects that realizes new capabilities, the view will show these capabilities as well and vice versa if capabilities will be discontinued in future increments.

I understand that capabilities in general are quite static (at least on top levels), but it would have been really nice to have these features available in the views.

Advice on handling this would be very much appreciated.

- Dag
JohnM
Posts: 467
Joined: 17 Feb 2009, 20:19

Hi Dag,

It's a case of adding the filter to the view and then just checking the relevant items in the view that are valid at that architecture state are shown. You can do this two ways, one is to add a parameter to the XSL, use param1, param2, etc as your variable and in the URL they relate to the PMA(param1), PMA2 and so on that you see in some queries. Then render the items that are associated with that parameter, so PMA={id of architecture state}. The id is set in a drop down as the value in a select box. Your XSL would be along the lines of this (ignoring sort, etc):

<select name="my architecture states">
<xsl:apply-templates select="a variable for all your architecture states" mode="getOptions"/>
</select>

<xsl:template match="node()" mode="getOptions>
<option value="theID of this architecture state">the name of this architecture state<option>
</xsl:template>

Within the view itself you would filter the instance by those that have an architecture state of the value in PMA. For example, a variable that contains all the business capabilities that are associated with the architecture state, it will be along the lines of:

get all the capabilities and assign to a variable
<xsl:variable name="allBusinessCapabilities" select="/node()/simple_instance[type='Business_Capability']"/>

filter those capabilities by the architecture state set in the PMA parameter
<xsl:variable name="filteredBusinessCapabilities" select="$allBusinessCapabilities[own_slot_value[slot_reference='bus_conceptual_contained_in_arch_states']/value=$param1]"/>

When you call the page with PMA set, then it will only use the filtered list of capabilities in the view. This is our traditional approach but requires a page refresh every time you change state. Option 2 is to call back all data and use javascript to manipulate the data - we're doing this much more now as it is much more dynamic and doesn't require page refresh.

Load all your data into a array and use Javascript to manipulate that data. Using the example above,
load up your business capabilities and associate the architecture states that apply to those capabilities, e.g. "capability":"Valuation Production", "states":[{"this year", "next year", etc}]

In your Javascript, check which capabilities apply at each state and then amend the page to show the relevant ones.

We're going to post up a working view over the next few working days of this latter approach. You'll also see more views working like this over time as we expand out the use of architecture states in our views

Hopefully that helps.

John
dagnils
Posts: 8
Joined: 14 Apr 2018, 07:29

Great and thank you for your detailed reply.

Looking forward to have a look at the view in a few days :)

- Dag
JohnM
Posts: 467
Joined: 17 Feb 2009, 20:19

As promised, a simple business capability view that reacts to architecture states. Drop the xsl in the business or user folder. Extract the DUP and import it (Essential Cloud = Data Import, Essential OS = Essential Update) - this will install a report for you, you will need to add the report to a panel manually (do check it is pointing at the right folder) - the report is available at {your_install}/report?XML=reportXML.xml&XSL=business/core_bl_bus_cap_model_arch_states.xsl if you want to use a URL to access it.

Relate the architecture states via the 'Contained in Architecture States' slot.

The architecture state should have a name, e.g. Create 2018, a start date, e.g. 2018-01-01 and an end date, e.g. 2018-12-31.

Note, for now this view uses the ISO dates, which will be in the next release. If you don't have that update then run the attached ISO EUP (please do a back-up first) (Essential Cloud = Apply Updates, Essential OS = Essential Update).

Note, we'll extend it to work with the old style dates and at more than one level before we release it.

Any problems then let us know

John
You do not have the required permissions to view the files attached to this post.
Rajaraman
Posts: 137
Joined: 02 May 2018, 12:20
Contact:

Is there any screenshot which shows how it will look like once this is implemented? Can some one help posting it?
JohnM
Posts: 467
Joined: 17 Feb 2009, 20:19

Go to this view. https://essentialviewer.com/demo/report ... d&cl=en-gb

Scroll down so the business capability is in view (Manage HR in Corporate Support is key here). In the roadmap bar at the top change the 'to' date to something like May 2023 and you will see Manage HR change as some plans have been made that will remove some duplication in that capability.

These are in the latest version. The roadmaps need architecture states or strategic plans against elements to work (they won't appear unless there is an element in the view with at least one of the two). Strategic Plans take precedence over architecture states.
Rajaraman
Posts: 137
Joined: 02 May 2018, 12:20
Contact:

i see that thanks,
is there a way we can name the road map duration as current state and target states? and select those for our view? (Business Capability View)
JohnM
Posts: 467
Joined: 17 Feb 2009, 20:19

Not currently, we'll put on the backlog for discussion
Post Reply