Changes between Version 22 and Version 23 of BluePrint/SocialMedia/GHC2013SocialMediaHITProcessing


Ignore:
Timestamp:
10/05/13 09:08:12 (11 years ago)
Author:
Pat Tressel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BluePrint/SocialMedia/GHC2013SocialMediaHITProcessing

    v22 v23  
    8686http://booki.flossmanuals.net/sahana-eden/_draft/_v/1.0/building-a-new-application/ [[BR]]
    8787Copy it to {{{models/000_config.py}}} and add an entry for the hit module.
     88
    8889=== Add a database table for message processing tasks ===
    8990
    90 We want to add a table that joins to this to hold the data entered by a worker for a message.
    91 That table will need fields for:
     91We want to add a table that holds the data entered by one worker for one message.
     92The table will need fields for:
    9293 * A foreign key reference to the msg_message table. Here is another table with such a reference:[[BR]]
    9394   https://github.com/flavour/eden/blob/master/modules/s3db/msg.py#L1609
     
    109110set of results for each message. We want to include which worker did each task, so we can check
    110111the quality of their work and refer them to more training if needed.
     112
     113=== Track which messages have been processed ===
     114
     115We don't want to add fields to {{{msg_message}}} just for our module. But we need a way to tell when
     116a message has been processed, so we can select unprocessed messages to give to users. Later, when we
     117add more human intelligence task features such as sending the same task to multiple workers, we'll need
     118somewhere to record how complete the work is for one message.
     119
     120So we may want to add a table that gets a record added when each message intended for processing arrives.
     121The table should be defined in the same model file as the task table. It should refer to the {{{msg_message}}}
     122record in the same way as above, and should have a boolean field for whether the message is processed.
     123(Later, this can be changed to support processing by multiple workers, but for now, we can consider it
     124done when one worker has processed it.)
     125
     126We don't want to enter all messages, just ones for our workers (e.g. incoming email for individuals
     127should not be sent to workers). We'll need a way to recognize our messages, e.g. a Twitter direct message
     128recipient or hashtag, or a particular SMS shortcode. There is a new and somewhat experimental feature
     129for selecting out messages, which may be useful for this, but documentation is lacking. This will
     130require consultation on IRC. IF we cannot use this, we can (temporarily) add specialized code in the
     131{{{msg}}} module's incoming message handling to pick out the desired messages and create records for them.
     132
    111133=== Add a controller function to generate task pages for workers ===
    112134Look at:
     
    124146 * Create a record in the (new) hit_task table (being worked on by the model team).
    125147 * Return the standard form for the new record to the user.
     148
    126149=== Add a view that presents a task to the worker and submits their work ===
    127150