29 | | As the name indicates, the UOH receives messages and notifies other components about them. The listeners can be registered with the UOH on startup. All registered listeners are called in sequence. |
| 38 | As the name indicates, the UOH receives messages and notifies other components about them. The listeners can be registered with the UOH on startup. All registered listeners are called in sequence. In the default implementation, there are multiple listeners: |
| 39 | * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/OutputObservedNops.java OutputObservedNops] - prints the message to system-out for debugging purposes |
| 40 | * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/NepomukNopForwarder.java NepomukNopForwarder] - sends the message to NEPOMUK's User Context service which will compute the current work context |
| 41 | * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/RemoteUserObsListener.java RemoteUserObsListener] - sends the message to MyMory's User Context service which will compute the current work context |
| 42 | * [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/outgoing/SimpleUrlCounter.java SimpleUrlCounter] - an example implementation that counts URIs of navigated web resources. |
47 | | Involved Persons: |
| 60 | == Usage of the UserObservationHub == |
| 61 | To use the UserObservationHub in your project, checkout the project from SVN and export a JAR file of it using the packaged build.xml file. '''Note that the build.xml file does not make a compilation but depends on eclipse to compile the classes.''' |
| 62 | |
| 63 | * You need all dependencies that are included in the {{{lib}}} folder of the project. |
| 64 | * To start the hub, call {{{UserObservationHubLauncher.bat}}}, which uses ant to gather the dependencies. |
| 65 | * If you have startup scripts for other operating systems, please send them to the involved persons or commit them to the project. |
| 66 | |
| 67 | The UserObservationHub runs as a standalone application and will open listening ports to receive messages via the registered collectors. It will also test if NEPOMUK is running and forward messages to the NEPOMUK server, as with Mymory. This behavior is determined by the [source:trunk/UserObservationHub/src/de/dfki/km/usercontext/userobservationhub/StartUserObservationHub.java StartUserObservationHub] class, other configurations require another startup class. |
| 68 | |
| 69 | Once started, the UserObservationHub listens to incoming messages. Typically, plugins added to existing desktop applications will observe the user and once interesting user operations occur, generate a message and fire them to the collector that can retrieve the message. One way of using the Hub is to write more plugins for desktop applications and send more detailled messages about the user operations. This would be the side of '''creating messages'''. If a programmer wants to register a new listener, for example to generate log data for long-term data gathering experiments, this would involve writing a new Output Listener and registering it at the UserObservationHub during the startup phase. |
| 70 | |
| 71 | End-users never interact with the hub. Applications that want to query the current work context usually contact the '''Current Work Context service''' provided by NEPOMUK or MyMory. Indirectly, the last operations and relevant resources can be accessed via these services and shown to the user for context-sensitive support. |
| 72 | |
| 73 | == Involved Persons == |