Profile picture for user Volker Eckardt

Hello All,

Now, as I am halfway down with the articles in the tutorial, I like to open the discussion titled “What is missing? What else you would like to achieve with JavaScript in ARIS?”

My further approach for this tutorial is to add some more specific solutions (like shared code management in combination with header and footer) to make your life easier. One other outstanding tutorial will cover an option to compare object and model attributes as logical enhancement to all the other parts (if we can select multiple objects, we can also compare them).

But again, please let me know which topics you like to see as next tutorial or which JavaScript reusable you perhaps have already created and like to share with us this way. I would be pleased to discuss with you right here alternatives for the next tutorials.

If you are not sure or are not convinced that your input can become a next tutorial, don’t worry, I can guide you a bit – and writing tutorials is also not my daily job :)

The discussion is open, any feedback very welcome!

 

Thanks in advance!

Volker

by Deron Wood
Posted on Fri, 05/21/2010 - 20:48

Volker,

    Very good set of tutorials.  I certainly look forward to the next installments.  I have a couple of questions, and maybe you will get to them in future tutorials (if so, just tell me and I'll wait for them :)

1.  I find it difficult to go back and forth from Occurrences of objects and definitions of objects.  For instance, if I pull the occurrence of Function 1 from a selected model, and want to find all definitions of that object, there is not an easy transition to that.  In other words, going from ObjOcc to ObjDef is not trivial.  And of course, vice versa is difficult as well.  Do you have a good strategy or shortcut for making this transition?

2.  In our database, when the user creates a model manually, a macro runs that creates a header directly on the model.  However, when I create a model via the script/report, that macro does not run and therefore there is no header attached to the model.  Is there a way to initiate a macro from a report script?

Thanks,

Deron Wood

PepsiCo

0
by Volker Eckardt Author
Posted on Sat, 05/22/2010 - 11:25

Hi Deron,

thanks a lot for your positive feedback! I hope that you can use one of the discussed solutions in the future.

Regarding your two questions:

1. ObjOcc > ObjDef> ObjOcc

Starting with part 6 of the tutorial I introduced a way to select ObjOcc's or ObjDef's and run the report. To minimize the needed code change it was necessary to move up and down between them.

The code you need to achieve that is:

a) Move from ObjOcc to ObjDef

// return the objdef object from the current object occurrence

var myObjDef = myObjOcc.ObjDef()

b) Move from ObjDef to ObjOcc

Here an array is returned and you need to loop through the results (an object can occur in multiple models).

You can find the extended code you need in my function collectObjOccs:

// get the list of object occurrences from the current object

var myOccList = myObjDef.OccList()

2. Automatic Header Creation for a Model

If I understand you correctly, you wish to get a header above your model  in the designer  view, right? I am aware of a link between a macro and a report, but this is the opposite of your requirement (Macro properties > Contents > This macro runs this report).

Additionally I assume that you have already checked the global header and footer under View > Options > Tab 'Selection' > Header and Footer.

Here is my suggestion: If you already have a macro then you should also be able to run it manually. If you can run it manually, you can attach a new symbol and/or new menu to them to make the start easier for the users. (see menu Evaluate > Configure Macros ...)

As an alternative you can perhaps use the events from ARIS to fire the macro automatically. I have a minor concern because such a header needs some place, and if the header comes in later the entire model needs to be replaced (moved down a bit).

This second idea is rather theoretical, as I have never done this before. But the new menu should definitely work.

Hope this answers your question, just let us know any follow up question.

Best regards, Volker

PS: Please see in addition this high level overview:

0
by Balaji K
Posted on Tue, 11/13/2012 - 05:33

In reply to by Waltzing Matilda

Hi Volker, 

Thank you for your tutorials. I need code for the following. When I "hide assignments" in EPC, then the FAD that it creates with all those objects assigned in EPC needs a header in the FAD model. How is that possible? Can you help on this?

 

Thanks

Balaji

0
by Sergei Real-Picture
Posted on Wed, 05/26/2010 - 15:39

To be honest, majority of reports give you the same as model give - a different (structured text) view on the subject model has been created for.

I think there is no need for comprehensive script tutorial and the following will be enough for any script.

If you will have a script template which has code for:

  • How to iterate through the databases;
  • How to iterate through the groups;
  • How interate through the models in the group (filter and sort);
  • How to iterate through the object occurences in the model and object links (filter and sort);
  • How to iterate through the object/link attributes;
  • How to iterate through the object decomposition;
  • How to do all above on the model variants;

Once you will have code functionality mentioned above you can easily insert your code  inside  any block to check something and branch code logic accordingly.

Generally speaking, all reports are informative reports and do not do any decision,  there is no  way  to interact with the model from the report.

The funny thing is that exporting model (or group) into XML and by giving it to programmers you can achieve higher speed in data processing not to mention the ability to use tested libraries and Visual Development Environment (proper programming tool).

The value of the ARIS - is the database and fortunately there is an XML export, which can be utilized and handled by external code more efficiently than with JavaScript.

I reckon it is more important for beginners to know how to obtain and use information about ARIS objects which JavaScript API returns. Once you see the roadmap and able to use Help system efficiently you do not need script tutorials and can do basic staff quite efficiently.

Therefore methodologial tutorial on how to write script code using help system is what users need rather than reports/samples which do not sever someone specific goals.

0
by Sebastian Stein
Posted on Thu, 05/27/2010 - 09:44

Hi Sergei,

you can use ARIS scripts to modify content in the ARIS repository. So it is not just read-only output you can generate. I partly agree with you that often scripting is just used to show the same stuff in a different form and that it might be more efficient in the long run to use other reporting technologies based on our XML export. But I think it is an advantage that there are other possibilities and everyone is free to select his prefered solution.

0
by Sergei Real-Picture
Posted on Thu, 05/27/2010 - 10:46

Hi, Sebastian

Please do not take me wrong that JavaScript or SAX doesn't have the value.

My point is that having ARIS data exported into XML allows programmers to use modern programming technological tools to process model data more efficiently, that built-in JavaScript (not to mention the speed and integration with legacy systems).

To update ARIS data the script should have coded rules for such updates. I am pretty sure that only minority of scripts used to update ARIS data simply because that it is not obvious to define formal rules to update data and JavaScript is not the best language from performance point of view.

Imagine, if during bulk update of the corporate model database you will have Java exception (ARIS API exception cause of memory leark or other reason) and this will bring database into incosistent state? The script programmer will be blamed not JavaScript for such failure and could risk his position.

There is another issue with JavaScript inside ARIS - if script processing takes time - it consumes ARIS license and ARIS machine is simply frozen waiting the script completion. Processing of exported ARIS data is economically and technologically more efficient and doesn't require expensive ARIS licens.

That is why I think there are many benefits of processing ARIS data outside of the ARIS environment.

Fortunately XML output in Version 7.0-7.1 is more intuitive that in V6.2.

0
by Rensley Starke
Posted on Thu, 06/01/2017 - 16:26

Hello Volker,

I read your article and saw your tutorial, now where i work we also use ARIS and we use FAD, but the problem is we got alot of FAD that are outdated. With outdated i mean that the Model where the object was in is deleted and so the object only exist in the FAD. This is a problem cause we use the FAD only for additional information on the object (Function). 

My question is, is there a way i can automatically delete all the FAD which had no connected models? And please show me how i can do it.

Kind regards,

Rensley Starke

0
by Robert Goldenbaum
Badge for 'Question Solver' achievement
Posted on Fri, 06/02/2017 - 09:01

Hi,

well, there is not standard report for this - you could write your own one. Works something like this:

- Check if the model has a superior object

- Check if the superior object has occurrences in another model

 

Another option could be that you merge from your entry model with assignment depth 99 to another (empty) database. Only in itself assigned FADs (and other models that have no superior object) would be left behind...

BR Robert

0

Featured achievement

Rookie
Say hello to the ARIS Community! Personalize your community experience by following forums or tags, liking a post or uploading a profile picture.
Recent Unlocks

Leaderboard

|
icon-arrow-down icon-arrow-cerulean-left icon-arrow-cerulean-right icon-arrow-down icon-arrow-left icon-arrow-right icon-arrow icon-back icon-close icon-comments icon-correct-answer icon-tick icon-download icon-facebook icon-flag icon-google-plus icon-hamburger icon-in icon-info icon-instagram icon-login-true icon-login icon-mail-notification icon-mail icon-mortarboard icon-newsletter icon-notification icon-pinterest icon-plus icon-rss icon-search icon-share icon-shield icon-snapchat icon-star icon-tutorials icon-twitter icon-universities icon-videos icon-views icon-whatsapp icon-xing icon-youtube icon-jobs icon-heart icon-heart2 aris-express bpm-glossary help-intro help-design Process_Mining_Icon help-publishing help-administration help-dashboarding help-archive help-risk icon-knowledge icon-question icon-events icon-message icon-more icon-pencil forum-icon icon-lock