Reference Manual

Events

This section describes events generated by User Activity Watcher modules, its corresponding URIs and resulting objects.
Events model is available here

Event

Event represents all events generated by User Activity.

Valid URIs

N/A
No URIs are defined - this event cannot be created and serves as base class only

Event attributes

eventTypeUri [string]
URI defining specific type of event. See Valid URIs description of each event
timestamp [DateTime]
Time when event occured. Time is in UTC
user [string]
User who has generated the event
workstation [string]
Machine that was the source of the event
eventId [Guid]
Event (correlation) identifier generatad by client User Activity Central Application (UACA)
wasCommitForcedByUser [bool]
Indicates, if Event was sent to server by user command or by regular commit

Application Event

Application Event represents all events generated by Watcher plug-ins of monitored applications.

Valid URIs

N/A
No URIs are defined - this event cannot be created and serves as base class only

Event attributes

applicationName [string]
Name of the application from which event was genereted
applicationVersion [string]
Version of the application from which event was genereted
sessionId [string]
Identifier of the application session/instance

Monitoring Started Event

Monitoring Started Event occurs when UACA starts to monitor activities.

Valid URIs

http://perconik.gratex.com/useractivity/event/system/monitoringstarted
UACA has started to monitor activities

Event attributes

inherited from Application Event
See Application Event

Web Event

Web Event represents events generated by Browser (Chrome, Firefox, IE).

Valid URIs

N/A
No URIs are defined - this event cannot be created and serves as base class only

Event attributes

inherited from Application Event
See Application Event
url [string]
Web address of the content the event was generated for

Web Navigate Event

Web Navigate Event occurs allways when user navigates to web content with defined URL.

Valid URIs

http://perconik.gratex.com/useractivity/event/web/navigate
User has navigated to web content

Event attributes

inherited from Web Event
See Web Event
transitionTypeUri [string]
The way user has navigated to content. See Web Transition Type Uri
tabId [string]
Browser tab identifier

Web Bookmark Event

Web Bookmark Event occurs allways when user creates bookmark.

Valid URIs

http://perconik.gratex.com/useractivity/event/web/bookmark
User has created new bookmark

Event attributes

inherited from Web Event
See Web Event
name [string]
Bookmark name

Web Save Document Event

Web Save Document Event occurs allways when user creates saves or downloads content.

Valid URIs

http://perconik.gratex.com/useractivity/event/web/savedocument
User has saved or downloaded content

Event attributes

inherited from Web Event
See Web Event
name [string]
File name

Web Tab Event

Web Tab Event occurs allways when user opens, closes or swithes to browser window or tab.

Valid URIs

http://perconik.gratex.com/useractivity/event/web/tab/switchto
User has switched to browser tab or opened new browser window
http://perconik.gratex.com/useractivity/event/web/tab/open
User has opened new browser tab
http://perconik.gratex.com/useractivity/event/web/tab/close
User has closed browser tab

Event attributes

inherited from Web Event
See Web Event
tabId [string]
Browser tab identifier

IDE Event

IDE Event represents events generated by Integrated Development Environment - IDE (Eclipse/STS, Visual Studio).

Valid URIs

N/A
No URIs are defined - this event cannot be created and serves as base class only

Event attributes

inherited from Application Event
See Application Event
solutionName [string]
Name of the software solution event has occured for
projectName [string]
Name of the software project event has occured for

IDE State Change Event

IDE State Change Event occurs when the state/view/working mode/perspective of the IDE has changed.

Valid URIs

http://perconik.gratex.com/useractivity/event/ide/statechange
State of the IDE has changed

Event attributes

inherited from IDE Event
See IDE Event
stateTypeUri [string]
The actual IDE state. See Ide State Type Uri

IDE Project Event

IDE Project Event occurs when user manipulates with software solution or project structure.

Valid URIs

http://perconik.gratex.com/useractivity/event/ide/project/switchto
User has switched to the software solution/project
http://perconik.gratex.com/useractivity/event/ide/project/add
User has added new software solution/project
http://perconik.gratex.com/useractivity/event/ide/project/remove
User has removed the software solution/project
http://perconik.gratex.com/useractivity/event/ide/project/rename
User has renamed the software solution/project
http://perconik.gratex.com/useractivity/event/ide/project/open
User has opened the software solution/project
http://perconik.gratex.com/useractivity/event/ide/project/close
User has closed the software solution/project
http://perconik.gratex.com/useractivity/event/ide/project/refresh
User has refreshed the view of the software solution/project

Event attributes

inherited from IDE Event
See IDE Event

IDE Code Element Event

IDE Code Element Event describes user operations with code elements.

Valid URIs

http://perconik.gratex.com/useractivity/event/ide/codeelement/visiblestart
Code element has begun to be part of the user viewfield
http://perconik.gratex.com/useractivity/event/ide/codeelement/visibleend
Code element has ended to be part of the user viewfield
http://perconik.gratex.com/useractivity/event/ide/codeelement/editstart
User has started editing code element
http://perconik.gratex.com/useractivity/event/ide/codeelement/editend
User has ended editing code element

Event attributes

inherited from IDE Event
See IDE Event
elementFullName [string]
Full identifier of the code element
codeElementTypeUri [string]
Code element type (namespace, class, ...). See Code Element Type Uri

IDE Document Event

IDE Document defines operations with documents, generally with source code files.

Valid URIs

http://perconik.gratex.com/useractivity/event/ide/document/switchto
User has switched to the document
http://perconik.gratex.com/useractivity/event/ide/document/add
User has added new document
http://perconik.gratex.com/useractivity/event/ide/document/remove
User has removed the document
http://perconik.gratex.com/useractivity/event/ide/document/rename
User has renamed the document
http://perconik.gratex.com/useractivity/event/ide/document/open
User has opened the document
http://perconik.gratex.com/useractivity/event/ide/document/close
User has closed the document
http://perconik.gratex.com/useractivity/event/ide/document/save
User has saved the content of the document

Event attributes

inherited from IDE Event
See IDE Event
document [IdeDocument]
Document for which event occured

IDE Code Event

IDE Code Event represents source code operations.

Valid URIs

http://perconik.gratex.com/useractivity/event/ide/code/paste
User has pasted text into the source code
http://perconik.gratex.com/useractivity/event/ide/code/pastefromweb
User has pasted text into the source code. Text has been copied from web
http://perconik.gratex.com/useractivity/event/ide/code/selectionchanged
Source code or its part has been selected by user
http://perconik.gratex.com/useractivity/event/ide/code/copy
Source code or its part has been copied by user
http://perconik.gratex.com/useractivity/event/ide/code/cut
Source code or its part has been cut from the source code document by user

Event attributes

inherited from IDE Event
See IDE Event
document [IdeDocument]
Document for which event occured
text [string]
Text user has operated with
startRowIndex [int]
Start row of the text in the source code document
endRowIndex [int]
End row of the text in the source code document
startColumnIndex [int]
Start column of the text in the source code document
endColumnIndex [int]
End column of the text in the source code document
webUrl [string]
In case of the PasteFromWeb, URL of the web the text has been copied from

IDE Find Event

IDE Find Event occurs when user searches for information in source code.

Valid URIs

http://perconik.gratex.com/useractivity/event/ide/find
User has searched for information in source code using bulit-in search engine

Event attributes

inherited from IDE Event
See IDE Event
derivedResources [bool]
Find out derived resources also
fileTypes [string]
File types to search in
lookinTypeUri [string]
Scope of the search. See Lookin Type Uri
matchCase [bool]
Determine if the search is case sensitive
matchWholeWord [bool]
Whole word must match search query
patternSyntaxTypeUri [string]
Search query pattern. See Pattern Syntax Type Uri
queryText [string]
Search query text
searchSubfolders [bool]
Defines if search engine has searched recursively in the file system hierarchy
totalFilesSearched [int]
Number of files searched based on search request
resultsPerFile [List of IdeFindFileResult]
List of results matching search query

IDE Chceckin Event

IDE Chceckin Event occurs when user commits source code version to the revision control system (GIT, TFS, ...).

Valid URIs

http://perconik.gratex.com/useractivity/event/ide/checkin
User has commited source code version to the revision control system

Event attributes

inherited from IDE Event
See IDE Event
changesetIdInRcs [string]
Identifier assigned by revision control system to identify commited source code version
rcsServer [RcsServer]
Revision control system user has commited to

Processes Changed Since Check Event

Processes Changed Since Check Event represents changes in running processes since last chceck.

Valid URIs

http://perconik.gratex.com/useractivity/event/system/processeschangedsincechceck
Running processes have changed since last chceck. Occurs periodically

Event attributes

inherited from Event
See Event
startedProcesses [List of Process]
Processes started from last chceck
killedProcesses [List of Process]
Processes killed from last chceck

Bash Command Event

Bash Command Event represents commands executed in the Bash.

Valid URIs

http://perconik.gratex.com/useractivity/event/bash/command
Command has been executed in the Bash

Event attributes

inherited from Application Event
See Application Event
commandLine [string]
Command line executed in the Bash. Command line can consists of multiple commands with its parameters
commandId [nullable int]
Identifier of the command executed in the Bash

Data types

This section describes data types used in Events.

IdeDocument

Represents IdeDocument included int the IDE workspace (source code file, resource file, ...).

Attributes

ChangesetIdInRcs [string]
Process name
serverPath [string]
Path to IdeDocument on Revision control system server
localPath [string]
Path to IdeDocument on local machine
branch [string]
Branch in Revision control system the IdeDocument belongs to
rcsServer [RcsServer]
Revision control system the IdeDocument is managed by

IdeFindFileResult

Represents the IDE Find Event results that has been found in one file.

Attributes

file [IdeDocument]
File containing the find results
rows [List of IdeFindResultRow]
Rows containing the the find results

IdeFindResultRow

Represents the row containing IDE Find Event result.

Attributes

row [nullable int]
Row index in the document containing IDE Find Event result
column [nullable int]
Column index in the document containing IDE Find Event result
text [string]
Text matching IDE Find Event result

RcsServer

Represents information about Revision Control System server.

Attributes

url [string]
URL of the RCS server
typeUri [string]
RCS server type (Git, TFS, ...). See RCS Server Type Uri

Process

Represents Operating system process information.

Attributes

name [string]
Process name
pid [int]
Process identifier

Enum URIs

This section describes URIs and its valid values for defined enums.

Web Transition Type Uri

Describes the way user has navigated to content.

Format

http://perconik.gratex.com/useractivity/enum/webnavigateevent/transitiontype#[value]

Values

bylink
User has navigated by clicking link
byurl
User has navigated by entering URL
bybookmark
User has navigated through bookmark
unknown
Unknown transition type
...
More appropriate values can be defined

Ide State Type Uri

Describes the state of the Integrated Development Environment.

Format

http://perconik.gratex.com/useractivity/enum/idestatechangeevent/statetype/[idename]#[value]

IDE names

vs
Visual studio
eclipse
...
More names can be defined

Values

debug
IDE is in the design mode
build
IDE is in the build mode
design
IDE is in the design mode
IDE custom perspective names (usual in Eclipse)
IDE is in some custom perspective. Name of the current perspective
...
More appropriate values can be defined

Code Element Type Uri

Describes code element types.

Format

http://perconik.gratex.com/useractivity/enum/idecodeelementevent/codeelementtype#[value]

Values

namespace
Element is namespace
class
Element is class
method
Element is method
property
Element is property
...
More values defining code element types

Lookin Type Uri

Describes the lookin type for IDE Find Event.

Format

http://perconik.gratex.com/useractivity/enum/idefindevent/lookintype/[idename]#[value]

IDE names

vs
Visual studio
eclipse
...
More names can be defined

Values

currentdocument
Search scope is set to current document
currentproject
Search scope is set to current project
entiresolution
Search scope is set to entire solution
...
More values defining search scope

Pattern Syntax Type Uri

Describes the pattern syntax type for IDE Find Event.

Format

http://perconik.gratex.com/useractivity/enum/idefindevent/patternsyntaxtype/[idename]#[value]

IDE names

vs
Visual studio
eclipse
Eclipse
...
More names can be defined

Values

regex
Search by regular expression
wildchar
Search by wildchar convention
...
More values defining search scope

RCS Server Type Uri

Describes the RCS server type.

Format

http://perconik.gratex.com/useractivity/enum/rcsserver/type#[value]

Values

tfs
MS Team Foundation Server
git
GIT
...
More values defining RCS server types

User Activity Services

This section describes User Activity Services.

Get

Get Event by ID.

URL

http://perconik.fiit.stuba.sk/UserActivity/api/useractivity/{EventId}

Input

eventId [Guid]
Event (correlation) identifier generatad by client User Activity Central Application (UACA)

Output

event [Event]
Returns Event of type specified by EventTypeUri. See Events

Search

Search Events by filter.

URL

http://perconik.fiit.stuba.sk/UserActivity/api/useractivity

Input

filter [Event Filter]
Filter values are entered as Query parameters

Output

response [Search Event Response]
Returns paged list of Events

Call Examples

Find events by user
Find all events from marcus http://perconik.fiit.stuba.sk/UserActivity/api/useractivity?user=marcus
Find marcus', matt's, ... events http://perconik.fiit.stuba.sk/UserActivity/api/useractivity?user=ma
Find events by type
Find all Web Navigate events .../useractivity?eventtypeuri=http://perconik.gratex.com/useractivity/event/web/navigate&exacttype=true
Find all Web events .../useractivity?eventtypeuri=http://perconik.gratex.com/useractivity/event/web
Find all Web events by defining relative Uri .../useractivity?eventtypeuri=web
Find events by time
Find all events during within May 16th 2014 from 12:00 to 22:05:30.555 http://perconik.fiit.stuba.sk/UserActivity/api/useractivity?timefrom=2014-05-16T12:00Z&timeto=2014-05-16T22:05:30.555
Find all events newer then May 16th 2014 http://perconik.fiit.stuba.sk/UserActivity/api/useractivity?timefrom=2014-05-16Z
Find all events during within May 2014 http://perconik.fiit.stuba.sk/UserActivity/api/useractivity?timefrom=2014-05-01Z&timeto=2014-06-01Z
Get find results on specified page
Get 3rd results page. One page contains 20 results. http://perconik.fiit.stuba.sk/UserActivity/api/useractivity?pageIndex=2&pagesize=20
Get 2nd results page. One page contains default number (20) of results http://perconik.fiit.stuba.sk/UserActivity/api/useractivity?pageIndex=1
Without specifiing page and pagesize, service returns results from 1st page containing default number (20) of results

BashWho

Gets the list of users that executed a given bash command. For each user, the count of executions is provided

URL

http://perconik.fiit.stuba.sk/UserActivity/api/useractivity/bashwho

Query parameters

command [string]
command which executions should be searched for. null = all bash commands
timeFrom [nullable DateTime]
Search for events with Timestamp later than TimeFrom
timeTo [nullable DateTime]
Search for events with Timestamp earlier than TimeTo

Output - list of

user [string]
user name
count [int]
number of executions

Call Examples

Gets the list of users that executed "build-coding-rules-java" in past
http://perconik.fiit.stuba.sk/UserActivity/api/useractivity/bashwho?command=build-coding-rules-java

Event Filter

Used as request in search for events.

Attributes

pageIndex [int]
Zero based index of the results page
pageSize [int]
Demanded size of the results page. Default page size is 20 items. Limited by server configuration to 100 items
timeFrom [nullable DateTime]
Search for events with Timestamp later than TimeFrom
timeTo [nullable DateTime]
Search for events with Timestamp earlier than TimeTo
eventTypeUri [string]
Search for events of types defined by URIs, which start with EventTypeUri - allows hierarchical type filtering
exactType [bool]
Search for events of type defined by exact URI. Default is false
user [string]
Search for events from users with names starting with given string
workstation [string]
Search for events from workstations with names starting with given string
ascending [bool]
Defines results order. Results are ordered by Event Timestamp.
Default is false, which means results are ordered descending or from the newest to the oldest events
If true, results are ordered ascending or from the oldest to the newest events

Search Event Response

Used as response in search for events.

Attributes

pageIndex [int]
Index of the results page
pageCnt [int]
Number of pages with results matching search request
pageSize [int]
Page size demanded in request or defined by default page size (20). Limited by server configuration to 100 items
links [list of Link]
Links to previous and next results page. Link contains Relation (previous or next) and Href (url to related results page)
resultSet [list of Event]
Set of events matching search request. Events have types specified by EventTypeUri. See Events