Items that need to be stored in an org.osid.OsidContext object
There is a unique OsidContext object for each user. The OsidContext object gets loaded into the RepositoryManager when a user starts a new "search session" (selecting sources, conducting a search, paging through results, selecting certain results, etc.). The RepositoryManager will then "know" the user throughout the user's session in the system.
Key |
Description |
Type |
---|---|---|
|
identifies which repository belongs to the user of this OsidContext |
long, alpha-numeric String |
|
necessary to identify a specific user and allow that user access to X-Server services |
long, alpha-numeric String |
|
identifies a result set created by submitting a query with the /wiki/spaces/SLIB/pages/2921168923 command. This number is necessary for asynchronous searches, retrieving results and pagination |
short, numeric String |
|
a flag indicating whether the user has logged in or not |
short String ("true"/"false") |
|
stores how many results are showed per page. Needed for paging through results. |
java.lang.Integer |
|
stores which results are currently being displayed. Needed for 'next' and 'previous' paging options |
java.lang.Integer |
|
total number of results |
java.lang.Integer |
Issues
- How do we know when a user's session is done? This is up to the consumer. In our case (using Servlets), we can choose when to invalidate a session: a timeout & when the search dialog is closed.
- Will the metasearch engine support multiple users logged on at once? Yes.