#6828 Switch activitystream lib to use Ming instead of pymongo

Cory Johns

Also make sure appropriate indexes are defined.


Tickets: #4394
Tickets: #4452


  • Dave Brondsema

    Dave Brondsema - 2013-11-01
    • Labels: --> activitystreams
  • Tim Van Steenburgh

    • status: open --> in-progress
    • assigned_to: Tim Van Steenburgh
  • Dave Brondsema

    Dave Brondsema - 2013-11-15
    • Milestone: forge-nov-15 --> forge-nov-29
  • Tim Van Steenburgh

    • status: in-progress --> code-review
    • Size: 2 --> 4
  • Tim Van Steenburgh


    For reference, here are my settings from production.ini:

    activitystream.master = mongodb://
    activitystream.database = activitystream
    activitystream.activity_collection = activities
    activitystream.node_collection = nodes
    activitystream.enabled = true
    activitystream.recording.enabled = true

    setup.py has the Ming storage driver installed by default. To fall back to the default (pymongo), comment out these lines in Allura/setup.py:

        driver = activitystream.storage.mingstorage:MingStorage

    To do functional testing, create a new project and some new users. For now, the home page of the project and users is still their activity page. Trying making at least one of the users watch a project and follow another user. "Do stuff" on the project(s) or with the users to make activities (comments, new artifacts, etc), then confirm that the activities show up on the appropriate timelines. To recap the logic:

    1. If I am looking at my own timeline, I see stuff I've done, and stuff related to people or projects i'm following/watching.
    2. If I'm looking at someone else's timeline, I only see stuff they've done.
    3. If I'm looking at a project timeline, I see stuff related to that project.

    You can switch back and forth between pymongo and ming at will (needs setup.py develop). I ran all the Allura tests using both.

  • Cory Johns

    Cory Johns - 2013-11-21
    • QA: Cory Johns
  • Cory Johns

    Cory Johns - 2013-11-25

    Fixed tests to handle Ming not being available, as well as setup.py missing the activitystream.storage package, merged, and now waiting on pythontree to be updated.

  • Cory Johns

    Cory Johns - 2013-11-26
    • status: code-review --> closed