Skip to main content

Activity Stream and Subscription Enhanced Engine (Motor d'Activitat i subscripcions eXtes)

Project description

Activity Stream and Subscription Enhanced Engine

MAX is a system for collecting and viewing activity logs generated by users and applications as well or by the interaction between users and applications.

MAX records activity in two ways: active and passive. The active mode is when users and application contact with the MAX API for register the activity they generate. The passive mode is when MAX try to find the activity that is generated by some external systems through predefined rules, for example, the activity generated by a Twitter account and hashtag associated.

For more information, please visit the documentation (only in Catalan at the moment, sorry for the inconvenience):

And the development buildout:


3.6 (2014-01-20)

  • test search by favorites [Carles Bruguera]
  • Don’t show activity without likes in sortBy likes searc [Carles Bruguera]
  • Filter activities by favoriting author [Carles Bruguera]
  • Missing key [Carles Bruguera]
  • Fix call to timeLineQuery [Carles Bruguera]
  • Adapt context activities to likes sort [Carles Bruguera]
  • Adapt favorites and likes to mantain a count [Carles Bruguera]
  • Adapt timeline search to correctly sort by likes [Carles Bruguera]
  • Return if requesting user has faved or liked [Carles Bruguera]
  • Test favorites and likes [Carles Bruguera]
  • Return the updated like/unline favorite/unfavorite activity [Carles Bruguera]
  • Update likes and favs on current object on add/del [Carles Bruguera]
  • Implement like/unlike favorite/unfavorite [Carles Bruguera]
  • Fix mess [Carles Bruguera]
  • Fix mess [Carles Bruguera]
  • Define new fields and views [Carles Bruguera]

3.5.6 (2013-11-25)

  • Tune maintenance endpoints [Carles Bruguera]
  • Ignore ssl errors [Carles Bruguera]

3.5.5 (2013-11-07)

  • Updated documentation report [Carles Bruguera]
  • Clean contexts stored in activities posted by context [Carles Bruguera]
  • Enhance maintenance conversations to rebuild participants [Carles Bruguera]
  • Maintenance endpoint : rebuild last comment dates [Carles Bruguera]
  • Add missing multi=True to batch update operations [Carles Bruguera]
  • Refactor way of storing last comment to fix bug in sort by comment [Carles Bruguera]
  • Activities posted in last minute with same content and same actor will be discarded if actor is impersonated [Carles Bruguera]
  • Fix test to catch bug in last-comment-sorting [Carles Bruguera]
  • Return partner’s displayName as conversation displayname [Carles Bruguera]
  • Update conversation’s participants displayName on change [Carles Bruguera]
  • Refactor conversation participants [Carles Bruguera]
  • Make field hold a list of user objects instead of a list of usernames [Carles Bruguera]
  • Add maintenance endpoint to rebuild conversation subscriptions [Carles Bruguera]
  • Update only fields defined in schema [Carles Bruguera]
  • Add maintenance endpoint to rebuild subscriptions [Carles Bruguera]
  • Fix bug that could give unwanted permissions sometimes [Carles Bruguera]
  • Maintenance endpoint for user subscriptions to contexts [Carles Bruguera]
  • Make context updates update all activities context references [Carles Bruguera]
  • Make context tag updates update user’s subscriptions [Carles Bruguera]
  • Make context tag updates update activity’s context references [Carles Bruguera]
  • Add maintenance endpoint to rebuild activity keywords [Carles Bruguera]
  • Store global activity keywords in a separate field [Carles Bruguera]
  • Delete comment keywords on comment deletion [Carles Bruguera]
  • Unify keyword generation [Carles Bruguera]
  • case-insensitive usernames [Carles Bruguera]
  • Allow tags field in activities [Carles Bruguera]
  • filter activity queries by context_tags [Carles Bruguera]

3.5.4 (2013-10-29)

  • Add conversations avatar endpoint [Carles Bruguera]
  • Trim bad characters at the end of actor search [Carles Bruguera]
  • Add endpoints to add/remove users to roles [Carles Bruguera]
  • Reload security settngs on any change [Carles Bruguera]
  • Fix ancient URI reference [Carles Bruguera]
  • Add specific endpoints to manage context tags [Carles Bruguera]
  • Test modify context overwrites tags [Carles Bruguera]
  • Do not remove tags from user subscription data [Carles Bruguera]
  • Add displayName and username parts to activity keywords [Carles Bruguera]
  • Allow operations mutable to the tags attribute [Victor Fernandez de Alba]
  • read limit as integer [Carles Bruguera]
  • Unique based on username instead of full object [Carles Bruguera]
  • Add displayName on conversation creation if provided [Carles Bruguera]
  • Add objectType to errors [Carles Bruguera]

3.5.3 (2013-10-03)

  • Send restart request time in the body [Carles Bruguera]
  • Initialize always to a empyt dict [Carles Bruguera]
  • Typo in endpoint [Victor Fernandez de Alba]
  • Relax the device token guard [Victor Fernandez de Alba]

3.5.2 (2013-09-17)

  • Rerelease

3.5.1 (2013-09-13)

  • Guard on token len [Victor Fernandez de Alba]
  • Add defaults to get tokens endpoint [Victor Fernandez de Alba]

3.5 (2013-09-10)

  • Bye bye celery [Victor Fernandez de Alba]
  • Delete log prints and fix rabbit url [Carles Bruguera]
  • Cleanup and make use of defined rabbitmq ports [Carles Bruguera]
  • Add tests for duplicated people in conversations [Carles Bruguera]
  • Add unrestricted get /context/{hash} [Carles Bruguera]
  • Updated report [Carles Bruguera]
  • Add permission reset on context subscription docs [Carles Bruguera]
  • Updated expected responses [Carles Bruguera]
  • Fix status codes [Carles Bruguera]
  • Test and finish reset user context permissions [Carles Bruguera]
  • Exception log in tests #awesomenesoftheday [Carles Bruguera]
  • Change grants/vetos location outside permissions [Carles Bruguera]
  • Fix tests [Carles Bruguera]
  • Adapt delete permissions check [Carles Bruguera]
  • Adapt canWriteInContexts to new permission name schema [Carles Bruguera]
  • Return the susbcription with the updated permissions [Carles Bruguera]
  • Return new permissions [Carles Bruguera]
  • Check for the present of the grant, not the permission itself [Carles Bruguera]
  • refactor grant/revoke permission for user in context * Now explicit grants on a permission are marked with a (+) prefix and revokes with a (-) [Carl
  • Calculate subscription permissions, joining defaults, grants and revokes [Carles Bruguera]
  • Deepcopy the flattened copy, cannot deepcopy nested models [Carles Bruguera]
  • Update subscriptions on modify context permissions [Carles Bruguera]
  • Deprecate maxrules tests, renamed to old [Victor Fernandez de Alba]
  • Added server_id parameter to identify the maxserver who emits the message. [Victor Fernandez de Alba]
  • Add deletable mark to comments [Carles Bruguera]
  • Add admin version of delete a comment [Carles Bruguera]
  • Add endpoint to delete a comment by a user [Carles Bruguera]
  • Update tests for correction made previously in post as context endpoint [Victor Fernandez de Alba]
  • Don’t require a context to post as a context [Carles Bruguera]
  • Regenerate expected responses without totalItems pattern [sunbit]
  • Fix script to allow jsons starting with array [sunbit]
  • Remove totalItems and items pattern from doctests [sunbit]
  • Refactored to use simple arrays instead of totalItems [sunbit]
  • Fix not restarting on creating Fix imports [sunbit]
  • Restart Tweety process when changing or creating twitterUsername field [sunbit]
  • Add callback after saving a MadObject [sunbit]
  • Add call to restart tweety process via a rabbit queue [sunbit]
  • Move getting the talK_server out of rest code [sunbit]
  • Document new delete permission [sunbit]
  • Update expected results with last fields additions [sunbit]
  • Add displayName to public /people [sunbit]
  • Added new filter options for maxtweety [Victor Fernandez de Alba]
  • Add non-persistent “deletable” attribute to activities Add delete permission to contexts to allow non-owners to delete activities Allow granting del
  • Add displayName to rabbitmq notifications [sunbit]
  • Remove unused import [sunbit]
  • pep8 [sunbit]
  • Add username to the list of push tokens. [Victor Fernandez de Alba]
  • Added back the auth for the new endpoint [Victor Fernandez de Alba]
  • Added new admin endpoint for querying push tokens for a conversation. [Victor Fernandez de Alba]
  • Back to development: 3.4.5 [Victor Fernandez de Alba]
  • Fix manifest [Victor Fernandez de Alba]

3.4.4 (2013-08-02)

  • Improve the image resizing&cropping. [Victor Fernandez de Alba]
  • Documentation of the upload avatar endpoint [Victor Fernandez de Alba]
  • Use greenlets always in case we are using cluster [Victor Fernandez de Alba]
  • Fix images as png and default avatars folder [Victor Fernandez de Alba]
  • Refactor the MaxResponse part for make it cluster-aware. [Victor Fernandez de Alba]
  • Updated get user’s profile avatar. [Victor Fernandez de Alba]
  • Fix comment in decorator [Victor Fernandez de Alba]
  • New endpoint for uploading user’s avatar. [Victor Fernandez de Alba]
  • Eliminate the validation of the ios token. [Victor Fernandez de Alba]
  • Fix android store token, no validation on android tokens [Victor Fernandez de Alba]
  • Added documentation for the new endpoints. [Victor Fernandez de Alba]
  • New endpoints to store and delete device tokens for push notifications. [Victor Fernandez de Alba]
  • New user model added new properties to handle devices tokens for push notifications [Victor Fernandez de Alba]
  • Add properties to user model [Victor Fernandez de Alba]

3.4.3 (2013-07-01)

  • Add new endpoint for return the subscribers given a context
  • Fix tests

3.4.2 (2013-06-21)

  • Extract maxrules and transfer it to its own package

3.4.1 (2013-06-19)

  • Add a setting to specify the maxtalk server

3.4 (2013-06-18)

  • STOMP enabled
  • Merge long run newpermissionmodel/conversations/stomp branch into develop/master

3.3.2 (2013-06-13)

  • Add support for MongoDB cluster.

3.3.1 (2013-06-04)

  • Add compatibility with the Osiris oauth server and added fallback for legacy oauth servers

3.3 (2013-06-04)

  • Add debug tools
  • Delete activities
  • DELETE and PUT requests tunneling
  • Timeline and contexts authors list
  • HEAD requests include totalItems count
  • Strip tags from content
  • Public contexts search with tags
  • Add beaker cache to oauth requests
  • BUGFIX: Rollback on failed conversation creation
  • Catch exceptions in a log with a bigmax permalink
  • Documentation report system an rebuilder
  • Group conversations
  • Automatically map model classes to collections
  • Match the package version to the MAXUI version

3.0 (2013-04-15)

  • Conversations with
  • Improved tests and documentation
  • Cleanup
  • Unsubscribe from contexts
  • Creation and ownership fields
  • Route unification of /admin and /* endpoints
  • New security implementation fully based on oauth2 and roles on db
  • Public contexts

2.0 (2012-03-01)

Added this new features:

  • oAuth based user authentication against a oAuth 2.0 server compliant using Resource owner password credentials flow
  • oAuth user - activity actor validation
  • App hooks dirven apps
  • Restricted-API access for app driven hooks
  • Support for restricted-API users and its management UI

1.0 (2011-12-1)

Initial version, featuring:

  • Compatibility with standard
  • RESTful API
  • Add activity (post)
  • Add coment to any activity
  • Follow users
  • Subscribe to URL based contexts
  • Display user timeline
  • No support for oAUTH
  • No support for user profiles
  • User photos resources hardcoded and stored in fs


Idea and concept:

  • Javier Otero [javier_otero]
  • Janet Durà [janetdura]
  • Roberto Díaz [robdayz]
  • Víctor Fernández de Alba [sneridagh]

Python mastery:

  • Carles Bruguera [sunbit]
  • Victor Fernandez de Alba [sneridagh]

JS wizardry:

  • Carles Bruguera [sunbit]

Software architecture:

  • Carles Bruguera [sunbit]
  • Victor Fernandez de Alba [sneridagh]

Project details

Release history Release notifications

History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (2.0 MB) Copy SHA256 hash SHA256 Source None Jan 20, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page