Translations of this page:

Dataset Services

External data services can be configured by group owners and administrators. These services can receive notifications for the messages sent to the group and optionally modify the message or even stop the message from being processed.

Existing services like SeenTags can be used as data services.

Developers can build their own as well or make adapters for common tools (Google Spreadsheets, Fusion Tables, etc)

How to configure your group to use SeenTags

We will use SeenTags as an an example of how to configure your group to use data reports.

Creating the report of data in SeenTags

  1. Create an account in http://seentags.instedd.org (this is different than your GeoChat account)
  2. Click on “Create a new Report Set”
  3. Give it a name such as “Disease Reports”
  4. When you are back in the list of report sets click on 'Edit'
  5. You will see a link to Generate a 'Submit URL' Click it and note the link. Each link is different and unique. It will look something like this: http://seentags.instedd.org/in/8ffe0e1b-18b8-d0bb-933d-1d1c1a6ab987 (this is just a sample, yours will be different!)
  6. Copy your link into the clipboard for the next step

Configuring GeoChat to forward information to SeenTags

  1. Go to GeoChat
  2. Make sure you are the group administrator or owner
  3. Go to the group properties and open the 'Dataset' tab
  4. Select the option to “Use structured data service”
  5. In the URL box paste the long link
  6. Choose whether you want all messages to be sent to seenTags or just those with a prefix of your preference.
  7. If you don't want data reports to be broadcast to the rest of the group, uncheck the 'Chatroom' option in the general group properties

You are done! 8-) Messages with the right prefix will be sent to SeenTags and will be ready for parsing

(Note you can use any service for structured data reporting as long as it supports the POST protocol documented at the bottom of the page).

Correcting reports and getting data from SeenTags

  1. Go to SeenTags and log in
  2. Open your report by clicking 'View Reports'
  3. You will see 2 columns: Received (what the user sent) and Understood (what SeenTags interprets the report to be)
  4. You can also download a CSV by clicking on the link above the report list
  5. For example for a disease report such as “Kampot 6 malaria” you may see this ”?1: Kampot, ?2: 6, ?3: malaria”
  6. Teach SeenTags the correct interperetation by clicking on 'correct' on the row and typing in how you'd like the data to be interpreted. In this example, we would replace ?1 ?2 and ?3 with the right field names so
 ''?1: Kampot, ?2: 6, ?3: malaria''

should be edited to read:

 ''Province: Kampot, Cases: 6, Disease: malaria''
  1. From now on Seentags will correctly interpret similar reports!. Keep correcting misinterpretations and eventually it will learn from you to correctly interpret a lot of user mistakes , field position permutations, separators, and mispellings.

How to build additional data services

Other services can be implemented by exposing a HTTP endpoint somewhere in the internet. This endpoint will receive the messages as a HTTP POST request with the from, to and sender attributes in the query string, and the original text message in the request body.

The server can return special headers to indicate GeoChat how it should continue the processing of the message:

  • X-GeoChat-Action: [stop|continue|reply]: This header, when returned with a “stop” value, will indicate GeoChat to stop processing the message to be saved or sent to other group members. Using “reply” value will also stop the message but replying the originator with the content of the response body.
  • X-GeoChat-Replace: [true|false]: If this header is returned with value “true”, the response body will be used as the new content for the message.
 
 
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed