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):

http://max.beta.upcnet.es/docs/v3/ca/

And the development buildout:

https://github.com/UPCnet/maxserver.devel

CHANGELOG

4.0.26 (2015-03-11)

  • /context/{hash} now shows all permission, event defaults [Carles Bruguera]

  • Set context permission permanency to True [Carles Bruguera]

  • Allow access to any endpoint authenticated req. via HEAD [Carles Bruguera]

  • Refactor permission grants to be permanent only if requested [Carles Bruguera]

  • Set safe defaults [Carles Bruguera]

  • PEP8 [Carles Bruguera]

  • Fix tags filter on people subscriptions query [Carles Bruguera]

  • PEP8 and remove file log [Carles Bruguera]

  • Return permissions in context subscriptions endpoint [Carles Bruguera]

  • Fix error responses [Carles Bruguera]

  • Fix default sorting [Carles Bruguera]

  • Fix 204 content length errorx [Paco Gregori]

  • Validate existence of username [Carles Bruguera]

  • Add a rest-compliant user adder endpoint [Carles Bruguera]

  • Add endpoint to check user roles [Carles Bruguera]

  • Add HubManager role [Carles Bruguera]

4.0.25 (2015-02-24)

  • Rerelease to fix bad release

4.0.24 (2015-02-24)

  • Fix crash on admin posting images without text [Carles Bruguera]

4.0.23 (2015-02-24)

  • Fix failing tests [Carles Bruguera]

  • Don’t assume we’ll have a content [Carles Bruguera]

  • make sure format_raw_request don’t crash [Carles Bruguera]

4.0.22 (2015-02-20)

  • Include server id on basic info [Carles Bruguera]

  • Fix for comment keyword search [Carles Bruguera]

  • Add admin method to get all context’s activities [Carles Bruguera]

  • Finish sorting refactoring [Carles Bruguera]

  • Sorting refactor WIP [Carles Bruguera]

4.0.21 (2015-01-20)

  • Use new sorting style on timeline [Carles Bruguera]

  • Store flagged as a data [Carles Bruguera]

  • Custom method for each sortBy case [Carles Bruguera]

  • Flag/unflag based on context permissions [Carles Bruguera]

  • Flag/unflag endpoint [Carles Bruguera]

  • Disable connection close [Carles Bruguera]

4.0.20 (2014-12-18)

  • Do not try to recreate exchanges if user exists [Carles Bruguera]

  • Fixed bug on batch posting same avtivity on diff contexts [Carles Bruguera]

  • Pylint [Carles Bruguera]

4.0.19 (2014-12-04)

  • Fix lastMessage not in response [Carles Bruguera]

4.0.18 (2014-12-04)

  • Fix conversation subscription get bug [Carles Bruguera]

  • Use greenlets on mongodb only if gevent present [Carles Bruguera]

  • Enable a request dumper toggled by USR1 signal [Carles Bruguera]

  • Prevent logging of requests within gevent [Carles Bruguera]

4.0.17 (2014-12-01)

  • Enable show_fields as a request switch [Carles Bruguera]

4.0.16 (2014-11-29)

  • Don’t store extended conversation info on user [Carles Bruguera]

  • Get fresh conversation info on GET people/{username}/ [Carles Bruguera]

4.0.15 (2014-11-28)

  • Use maxutils.mongodb to connect [Carles Bruguera]

4.0.14 (2014-11-25)

  • Missing comma [Carles Bruguera]

4.0.13 (2014-11-25)

  • Var name mismatch [Carles Bruguera]

4.0.12 (2014-11-25)

  • Export stomp server url if defined [Carles Bruguera]

  • Delete exchanges on user delete [Carles Bruguera]

  • Added permissions field to the subscribed users endpoint [Victor Fernandez de Alba]

  • Wrong method name [Carles Bruguera]

4.0.11 (2014-10-27)

  • Prepare max to handle auth and non-auth mongodbs [Carles Bruguera]

  • Disconnect clients after operation [Carles Bruguera]

  • Provide client_properties to maxcarrot [Carles Bruguera]

  • Delete unused version file [Carles Bruguera]

  • Bug on trying to print exc. with images in request [Carles Bruguera]

  • Test multiple unsetting [Carles Bruguera]

4.0.10 (2014-09-25)

  • Return the rotated image [Carles Bruguera]

  • Fix rotation [Carles Bruguera]

  • Rotate image by EXIF value if needed [Carles Bruguera]

  • Test calling with bad body [Carles Bruguera]

  • Make maxui docs generic domain-based [Carles Bruguera]

  • GLobal user comments and stats [Carles Bruguera]

  • Update maxui dev steps docs [Carles Bruguera]

  • Check data type before accessing like a dict [Carles Bruguera]

  • Fridge for robot tests on MAX [Victor Fernandez de Alba]

  • BUG: Disallow creating conversations with oneself [Carles Bruguera]

4.0.9 (2014-07-29)

  • Fix tests [Carles Bruguera]

  • Allow create user without rabbitmq notifications [Carles Bruguera]

  • Create unconditionally rabbitmq structres when trying to create an existing user [Carles Bruguera]

  • Add test post to context without notifications [Carles Bruguera]

4.0.8 (2014-07-23)

  • Temporary fix for the sync disconnect problem [Carles Bruguera]

4.0.7 (2014-07-21)

  • Provide current version defined in setup.py [Carles Bruguera]

4.0.6 (2014-07-21)

  • Test date_filter on user_activity stats [Carles Bruguera]

  • Allow to specify published data, store real published as _created [Carles Bruguera]

  • Add a date filter mechanism [Carles Bruguera]

  • Notify comments on specified contexts [Carles Bruguera]

  • Deepcopy mock message that was being overwritten [Carles Bruguera]

  • PEP8 [Carles Bruguera]

  • Context notifications based on a literal instead of bool [Carles Bruguera]

  • Tests on contexts with notifications [Carles Bruguera]

  • Provide return values in existing tests used in rabbitmq tests [Carles Bruguera]

  • Conditional rabbitmq tests boilerplate [Carles Bruguera]

  • Simplify custom exception classes [Carles Bruguera]

  • Refactor notifications into a wrapper class [Carles Bruguera]

  • Move calls to notifications on ws endpoints to models (except conversation creation) [Carles Bruguera]

  • Raise 503 when rabbitmq not available on starting max [Carles Bruguera]

  • Fix dependencies [Carles Bruguera]

4.0.5 (2014-07-16)

  • Send username and displayname as dict [Carles Bruguera]

4.0.4 (2014-07-08)

  • Use real subscriptions to get conversation tokens [Carles Bruguera]

  • Fix method definition [Carles Bruguera]

  • Add endpoint to delete all tokens by platform [Carles Bruguera]

  • Endpoint to delete conversations from everybody [Carles Bruguera]

  • Added customizable events to delete subscribe and unubscribe [Carles Bruguera]

  • Update rabbitmq bindings on adding/deleting people to a conversation [Carles Bruguera]

  • Update venusian patch to be generic [Carles Bruguera]

  • Add bindings only to required contexts [Carles Bruguera]

4.0.3 (2014-06-11)

  • Don’t crash on receiving a list in extractPostData [Carles Bruguera]

  • Were passing actor instead of username… [Carles Bruguera]

4.0.2 (2014-06-10)

  • Missing dependency [Carles Bruguera]

  • Info endpoint by category for documentation [Victor Fernandez de Alba]

  • Update avatar generation [Victor Fernandez de Alba]

  • Move code used to show conv. displayName to model [Carles Bruguera]

  • Move code used to show last Message to model [Carles Bruguera]

  • Fix change context url [Carles Bruguera]

  • Add method to determine effective displayName [Carles Bruguera]

  • Move user info construction to model [Carles Bruguera]

  • Fix tabs [Carles Bruguera]

  • Log exceptions oif configured in settings (for wsgi client) [Carles Bruguera]

  • Add exceptions list endpoint [Carles Bruguera]

  • Check if folder exists [Carles Bruguera]

4.0.1 (2014-05-08)

  • Documentation [Carles Bruguera]

  • Do not expect content always [Carles Bruguera]

  • Don’t always expect content on messages [Carles Bruguera]

  • Value not needed, already present in headers [Carles Bruguera]

  • Context url renaming with changes propagation [Carles Bruguera]

  • Fix maintenance subscriptions endopoint & test [Carles Bruguera]

  • Remove debug prints [Carles Bruguera]

  • Add maintenance users endpoint with test [Carles Bruguera]

  • Move maintenance tests to new file [Carles Bruguera]

  • Don’t str a None please… [Carles Bruguera]

  • Add Tween to block calls to incompatible apps [Carles Bruguera]

  • Read filename from json first [Carles Bruguera]

  • Recover reading from post params [Carles Bruguera]

  • Fix typos and identation [Carles Bruguera]

  • Get header directly from request [Carles Bruguera]

  • base64 responses for image data [Carles Bruguera]

  • Get filename from uploaded file [Carles Bruguera]

  • Enable post-body auth and tunneled GET requests [Carles Bruguera]

  • Update docs [Carles Bruguera]

  • Use mimetype included in form content-type header [Carles Bruguera]

  • Update documentation [Carles Bruguera]

  • Updated expected responses: notification field [Carles Bruguera]

  • Move image and file retrieval common code to activity model [Carles Bruguera]

  • get message images in a different method [Carles Bruguera]

  • Last message may not contain text [Carles Bruguera]

  • Refactor file/image upload [Carles Bruguera]

  • Use a unique fieldname “file” to upload data [Carles Bruguera]

  • All content fields in one level [Carles Bruguera]

  • Generalize image sizes [Carles Bruguera]

  • Fix message images referencing [Carles Bruguera]

  • Note content not mandatory on images and files [Carles Bruguera]

  • Add image extractic to admin conversation messages [Carles Bruguera]

  • Add image extraction code for addAdminUserActivity [Carles Bruguera]

  • return content-type value as string [Carles Bruguera]

  • don’t assume activity always has contexts [Carles Bruguera]

  • Include correct user data in notification [Carles Bruguera]

  • Allow notifications field [Carles Bruguera]

  • Include notifications in updatable user subscriptions data [Carles Bruguera]

  • Bad method name [Carles Bruguera]

  • Set/delete bindings on updating notification value [Carles Bruguera]

  • Add notifications for context activities [Carles Bruguera]

  • Change regex to match missing properties and egg [Carles Bruguera]

4.0.0 (2014-04-15)

  • Update documentation [Victor Fernandez de Alba]

  • Raise Forbidden on joining a two-user conversation [Carles Bruguera]

  • Upload files and images to remote context / locally feature [Victor Fernandez de Alba]

  • Add admin endpoint to post messsages as arbitrary user [Carles Bruguera]

  • Create user exchanges on user creation [Carles Bruguera]

  • Disable message Notifications [Carles Bruguera]

  • Refactor conversation creation notifications with rabbitpy [Carles Bruguera]

  • Allow add people to conversations based on susbcribe permission [Carles Bruguera]

  • Distinguish group and archived conversations by tags [Carles Bruguera]

  • Add api export endpoint

  • Add maxserver info endpoint

  • Fetch only the last message on conversations[Carles Bruguera]

  • Add GPL License [Victor Fernandez de Alba]

  • Return [] when an unknown permission asked [Carles Bruguera]

  • Provide tag information on create conv. response [Carles Bruguera]

  • Fix text: conversations 3>2 preserves displayName [Carles Bruguera]

  • Exclude group conversations from search [Carles Bruguera]

  • Tag and untag as archived conversation when needed [Carles Bruguera]

  • Added endpoint to get user chat subscription [Carles Bruguera]

  • Set correct displayName on conv. creation [Carles Bruguera]

  • Fix grant and revoke user methods, make generic [Carles Bruguera]

  • Tidy up schema definitions and security methods [Carles Bruguera]

  • Added last message to getConversation [Carles Bruguera]

  • Added remaining items header to getMessages [Carles Bruguera]

  • Add limiting of results on getMessages [Carles Bruguera]

  • List HEAD requests [Carles Bruguera]

  • Add remaining search items to headers [Carles Bruguera]

  • Change port for Jenkins [Victor Fernandez de Alba]

  • Add robot tests [Victor Fernandez de Alba]

  • Fix signature of decorated functions [Carles Bruguera]

  • Patch venusian to get the real function name [Carles Bruguera]

  • Remove unused auth resources [Carles Bruguera]

  • Add endpoint to recover exception logs [Carles Bruguera]

  • Add skip tests conditions in case Twitter API involved. [Victor Fernandez de Alba]

  • Add dummy load of cloudAPIs data. [Victor Fernandez de Alba]

  • More ownership transfer tests [Carles Bruguera]

  • Endpoint to transfer ownership [Carles Bruguera]

  • Look for username in PUT requests too [Carles Bruguera]

  • Add an endpoint to get roles grouped by user [Carles Bruguera]

  • Adapt to new mutable method [Carles Bruguera]

  • Allow admin modify any user profile [Carles Bruguera]

  • Extend username filter to use also displayName [Carles Bruguera]

  • Add context comments count endpoint [Carles Bruguera]

  • Downloading of named avatar sizes [Carles Bruguera]

  • Add roles of the authenticated user to the request [Carles Bruguera]

  • Add roles over the current object in the models [Carles Bruguera]

  • Make field visibility role-based [Carles Bruguera]

  • Fix twitter avatar download mocker [Carles Bruguera]

  • Refactor mutable properties getter using roles [Carles Bruguera]

  • Rename VIP as NonVisible [Carles Bruguera]

  • Allow NonVisible feature with restricted_visibility disabled [Carles Bruguera]

  • Refactor tests to match the increased combinations [Carles Bruguera]

  • Vip mode doesn’t give visibility over subscription [Carles Bruguera]

  • Add to user a method to check visibility to other user [Carles Bruguera]

  • Modify user listing and conversation creation and joining with user visibility checks [Carles Bruguera]

  • test [Carles Bruguera]

  • Add test base and config settings for vip mode [Carles Bruguera]

3.6 (2014-01-20)

  • Implement like/unlike favorite/unfavorite [Carles Bruguera]

  • Implement favorites and most liked views and filters [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 socket.io

  • 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 activitystrea.ms 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

Contributors

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


Download files

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

Source Distribution

max-4.0.26.zip (2.1 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page