Changes between Version 16 and Version 17 of Dev/SearchPushModel


Ignore:
Timestamp:
10/13/10 17:17:50 (3 years ago)
Author:
pferreir
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Dev/SearchPushModel

    v16 v17  
    1313== Requirements == 
    1414 
    15  * An extensible mechanism that allows the creation of "agents" that notify periodically external services about changes occurring in Indico records (conferences, contributions and sub-contributions), processing the information in the way they choose to; 
     15 * [A] An extensible mechanism that allows the creation of "agents" that notify periodically external services about changes occurring in Indico records (conferences, contributions and sub-contributions), processing the information in the way they choose to; 
    1616   * The information doesn't need to be "live", meaning that the size of the notification cycle can be in the order of minutes (as to not affect the response time significantly); 
    17  * A particular "agent" that, using Invenio's `WebUpload`, periodically uploads records that need to be updated; 
    18    * Similar implementation for CERN Search; 
     17 * [A] A particular "agent" that, using Invenio's `WebUpload`, periodically uploads records that need to be updated; 
     18   * [B] Similar implementation for CERN Search; 
    1919   * Invenio includes the code for a small "client library" that can be used for this task; 
    2020   * Agents should be as configurable as possible; 
    21  * `indico.modules.scheduler`-based jobs (one for each "agent") that invoke the agent "submit cycle", that submits information to remote services; 
    22    * It should be possible to limit the number of records that is submitted each time by an agent/job (deal with backlog issues?); 
    23  * An administration interface, that allows different instances of different `Agent`s to be created and plugged in to different remote systems; 
    24    * Additionally, a list of all the agents/tasks, the current "pointer" status, and the dates of the (last) data submission should be shown; details about the last transaction (or a log of them) should be displayed: number of submitted objects, duration of operation, types of submitted objects, etc...; 
    25  * Means of logging and error control, as well as mechanisms that guarantee that no data is lost; 
    26  * A mechanism for the manual export of data (in case of failure and in order to index data that already exists in Indico); 
     21 * [A] Means of logging and error control, as well as mechanisms that guarantee that no data is lost; 
     22 * [A] Protection scheme, that grants each agent the equivalent permissions of a user or group (or just to all the available content); 
     23 * [A] `indico.modules.scheduler`-based jobs (one for each "agent") that invoke the agent "submit cycle", that submits information to remote services; 
     24   * [D] It should be possible to limit the number of records that is submitted each time by an agent/job (deal with backlog issues?); 
     25 * [B] A mechanism for the manual export of data (in case of failure and in order to index data that already exists in Indico); 
    2726   * It should be possible to specify the date range; 
    28  * Detailed documentation, explaining how to develop such an "agent", and the different phases of the update process; 
     27 * [C]An administration interface, that allows different instances of different `Agent`s to be created and plugged in to different remote systems; 
     28   * [D] Additionally, a list of all the agents/tasks, the current "pointer" status, and the dates of the (last) data submission should be shown; details about the last transaction (or a log of them) should be displayed: number of submitted objects, duration of operation, types of submitted objects, etc...; 
     29 * [D] Detailed documentation, explaining how to develop such an "agent", and the different phases of the update process; 
    2930   * Likewise, documents that explain the migration process, for an Indico instance; 
    30  * Protection scheme, that grants each agent the equivalent permissions of a user or group (or just to all the available content); 
    3131  
    3232