tcaro's picture


On ARIS 9, to monitor the user's activities with Designer, one way is to extract the login activity via the UMC (with  com.aris.umc.audit.enabled).  This produces large .cvs files that can be parsed for filtering out the aris system agents... I was not very much inclined to automate that.

I found a smarter and fully automated way to obtain the login information by creating one macro and one small report.

The macro is called for each database open event. Executing on the Designer client side, it writes the login name, filter and database, and of course the date and time, as .txt files into what is called a Common Files area, on the server (!).   This was the MAGIC ! 

The .txt files can be viewed in the Evaluation part of the Administration environment or simply processed by a small periodic report, showing when and who used an ARIS component (not only Designer), with some other details.

Isn't it neat?  I like it a lot to target my coaching to the really active modelers. 

Here is the code of the macro:

// Thierry Caro - Amadeus  -
// Monitor the ARIS user activity

var nLocale = Context.getSelectedLanguage();
var logininfo = Context.getLoginInfo( Context.getSelectedDatabases()[0])
var userName = logininfo.getUserName()
var db = logininfo.getDatabaseName()
var filter = logininfo.getFilterGUID()
var filterN = filter

if (filter == "dd838074-ac29-11d4-85b8-00005a4053ff") {filterN = "Entire Method"}
// add your filters GUID here

var today = new Date()

if (userName != "system") {
    var sLogFileContent = "User: " + userName + " last used database is: " + db + " on " + today + " with filter " + filterN
    var configFileData = (new java.lang.String(sLogFileContent)).getBytes("UTF-8")
    var fileName = "ARIS Last use for User: " + userName + ".txt"

    Context.setFile(fileName, Constants.LOCATION_COMMON_FILES, configFileData)

//Dialogs.MsgBox("Hello buddy, Today is: " + today + " and you logged as " + userName + " on " + db)


Tags: ARIS ARIS Report Scripting Report script