Git Product home page Git Product logo

mailroom's Introduction

RapidPro

Build Status codecov

RapidPro is a platform for visually building interactive messaging applications. To learn more, please visit the project site at http://rapidpro.github.io/rapidpro.

Stable Versions

The set of versions that make up the latest stable release are:

Versioning

Major releases are made every 6 months on a set schedule. We target January as a major release (e.g. 9.0.0), then July as the stable dot release (e.g. 9.2.0). Unstable releases (i.e. development versions) have odd minor versions (e.g. 9.1.*, 9.3.*). Generally we recommend staying on stable releases.

To upgrade from one stable release to the next, you must first install and run the migrations for the latest stable release you are on, then every stable release afterwards. For example if you're upgrading from 7.4 to 8.0, you need to upgrade to 7.4.2 before upgrading to 8.0

Generally we only do bug fixes (patch releases) on stable releases for the first two weeks after we put out that release. After that you either have to wait for the next stable release or take your chances with an unstable release.

mailroom's People

Contributors

bagyenda avatar brianhlin avatar dodobas avatar ericnewcomer avatar johncordeiro avatar koallann avatar matmsa27 avatar morgs avatar morrismukiri avatar mzealey avatar nicpottier avatar norkans7 avatar rowanseymour avatar tybritten avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mailroom's Issues

Add IVR Support

Support for Twilio and Nexmo at launch.

Week of Jan 7th:

  • twilio support for outgoing calls (through interface)
  • channel log creation for all flow interactions
  • download recordings to s3
  • flow starts queue calls, calls start flows on callback
  • channel logs for call status

Week of Jan 14th:

  • validate signature on incoming requests
  • create channel logs for call queuing
  • handle incoming calls when trigger exists
  • add nexmo support
  • deal with nutty nexmo record callbacks
  • add connections to flow start
  • retry support on errored calls

Week of Jan 21st:

  • create channel events for missed / incoming calls
  • support for throttling number of active calls on channel
  • end calls that have been ongoing for too long
  • honor ivr_retry in flow metadata
  • moar tests

Use different database name for tests

Default RP database is postgres://temba:temba@localhost/temba, mailroom unit tests currently run in postgres://temba@localhost/temba

Probably fine for them to both share test_temba

Cache Active Topups

We use a redis cache already in RapidPro, do we use this or try for something better?

Add Surveyor Support

Allow surveyor results to be posted to mailroom endpoint

  • set up test harness, submit basic fully valid submissions
  • deal with modifiers on groups / fields that no longer exit
  • deal with modifiers that have no associated events (ie, removal from group that exists in db but wasn't in surveyor)

Naming cleanup

I haven't been super consistent on the naming of all the utilities in models, need to do through and audit and rename them.

Current thinking is for extreme clarity, so things like, CreateContact should be InsertContact and things like GetContact should be SelectContact.. IE if we know for sure we are going to hit the DB, then we use Select .. if there may be a cache in between then we can use Get. Same rules for Update etc..

Get rid of null.Int and null.String

We use these for nullable fields but they are a pain in the ass in practice.

I'd much rather we build our own marshalled type we can inherit from that treats 0 as NULL in the db and null in json and does the same thing for strings. We could then use our Nil.. constants everywhere and remove a whole class of null pointer errors.

OrgAssets caching

We should cache orgs and their assets, maybe 15 seconds at a time to start, then put in something smarter?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.