Changes between Version 16 and Version 17 of Event/2012/GSoC/MessageParsing


Ignore:
Timestamp:
06/11/12 17:39:18 (12 years ago)
Author:
Ashwyn
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Event/2012/GSoC/MessageParsing

    v16 v17  
    2121=== Project Abstract ===
    2222
    23 The essential requirement for this project is to parse inbound messages, with an initial focus to SMS. The project is specifically aimed at the CERT usecase where they wish to process responses to deployment notifications. Or in other words, to handle replies to deployment requests. Currently the message parsing is done in the core code i.e. modules/s3/s3msg.py, to be particular, in the parse_message() method. The parsing rules will be defined in private/templates which allows for hosting of multiple profile options in the main code. Now, s3parsing.py can import these parsing rules from templates. This also enforces the on-going work in the development of the Profile Layer, in which deployment-specific files are separated from core code.The parsing module utilizes a data model "msg_workflow”  to link the source and the workflow to schedule tasks. Processing of OpenGeoSMS encoded messages is also an important area to work on especially for the existing Android Client, for which it will be of real use. Also to provide robustness and extend the existing code, the pyparsing Parser module can be incorporated or any other parsing generator; which will be subjective to the parsing needs.
     23The essential requirement for this project is to parse inbound messages, with an initial focus to SMS. The project is specifically aimed at the CERT usecase where they wish to process responses to deployment notifications. Or in other words, to handle replies to deployment requests. Currently the message parsing is done in the core code i.e. modules/s3/s3msg.py, to be particular, in the parse_message() method. The parsing rules will be defined in private/templates/default/parser.py which allows for hosting of multiple profile options in the main code. This also enforces the on-going work in the development of the Profile Layer, in which deployment-specific files are separated from core code.The parsing module utilizes a data model "msg_workflow”  to link the source and the workflow to schedule tasks. Processing of OpenGeoSMS encoded messages is also an important area to work on especially for the existing Android Client, for which it will be of real use. Also to provide robustness and extend the existing code, the pyparsing Parser module can be incorporated or any other parsing generator; which will be subjective to the parsing needs.
    2424 
    2525=== Project Plan ===
     
    3636Implementation Plan:
    3737
    38 * Keeping the development of Profile Layer in mind and the functionality being a part of deployment-specific options, the rules for parsing are contained in private/templates from where s3parsing.py imports them.
     38* Keeping the development of Profile Layer in mind and the functionality being a part of deployment-specific options, the rules for parsing are contained in private/templates/default/parser.py.
    3939
    4040* The module contains a class S3ParsingModel which contains the “msg_workflow” data model (See https://docs.google.com/document/d/1Y9dDCshurrZSw33r-RC_uVQ_Va6_LEZM-2aLcaT2Krc/edit?pli=1) and another class S3Parsing in which the parsing routines are defined which decide the various parsing workflows.
     
    4949 
    5050*One of the main issues will be  identifying the messages that belong to a particular  source, so it could have its own processing.Now, that here is handled by the data model which defines a ‘msg_workflow' table in the database which links the Source to the Workflow with any required args.So the essential features of this approach have been listed below:
    51 1. The Parser workflow table links 'SMS Source X' to 'Workflow Y'.
     511. The Parser workflow table links 'Source X' to 'Workflow Y'.
    52522. Now, designing the details of the Workflow Y would be a developer task.
    53 3. Whereas linking ‘SMS X’ to ‘Workflow Y’ will be a configurable option.
     533. Whereas linking ‘Source X’ to ‘Workflow Y’ will be a configurable option.
    54544. So essentially,the Parser Table links Source to Workflow with any other required args & this acts like a Template for the schduler_task table.
    5555