This page last changed on Jan 21, 2008 by amitku.

Notes for Proxy discussion
18 Jan 2008

Present: Amit, Catherine, Andrew, Stefan, Stan, Alejandro

Here are Amit's questions going in to this call:

  1. Do components have a unique ID and a set of default properties? Answer: yes
  2. How are toolsets defined?
    • Is this definition a client side thing?
    • What are the properties that need to be stored to store the toolset information?
  3. How do tools know what they are compatible with, for example a Document Viewer and a collection Selection component perhaps cannot talk with each other, but a Workset Component and a Document Viewer can? Where is this information in the component? Stefan's answer: it is a broadcast and listen model. In other words, components decide for themselves what they can intelligently deal with when they received typed events (something like "ChunkSelected")
  4. Do these functions make sense to you? WorksetManager.getToolsets() Returns a json array of the component ids and the preferences WorksetManager.saveToolsets(JSON String) Saves the component information to the server
  5. Status of the Search tool?
  6. Logging: Mike P has an implementation that can be readily used at the proxy end. This implementation supports:
    • Log entries are defined as javascript event currently, so press a Button, submit etc...
    • batching of the log entries
    • automaticaly uploads the logs after a period of inactivity.
    • Once we have this $pendingLogentries logs, push them to the server.
    • Once $timeout much time has elapsed, send the logs to the server whether or not we have $minLogCount
    • What do we need to modify to support logging?

What came out of the conversation:

How do we save toolset preferences?

We'll make them like worksets. Private by default but publishable to make them public.

The hierarchy:

  • a user
  • user has multiple projects
  • a project has multiple worksets
  • a workset can have multiple training sets and multiple results
  • a result can have zero or one training set

You have a key and a value pair for UI preferences and other columns for public or private, as well as possible attachment to a workset.


Calls (in Javascript) might look something like this: setUiUserData(String userID, String namespace, String value). For example:

// remember that the last toolset used in the workflow workbench was "search-by-example"
setUiUserData("1", "workflow.last-toolset", "search-by-example");

// remember the window layout of the search-by-example toolset
setUiUserData("1", "workflow.search-by-example.window-layout", "document-selector-x=10&document-selector-y=10&...");

// remember the number of columns in the document-selector component in Webclipse workbench
setUiUserData("1", "webclipse.search-by-example.document-selector.document-columns", "10");

// retrieve a value
getUiUserData("1", "webclipse.search-by-example.document-selector.document-columns");

Amit has produced a diagram.

Andrew's report

He's working on inserting the new proxy calls, in a new workbench branch.

The Search by Example tool is now no longer working. Amit will get these back in business before the hackfest

Document generated by Confluence on Apr 19, 2009 15:04