For more information on how to upgrade your Mambo Platform, please see the Upgrade Guide.
This is a major version release of the Mambo Platform which includes some breaking changes to the APIs. Before upgrading please read the Migrating from 4.4.1 to 5.0.0 guide and use a staging environment to migrate your code base.
- Add, Update and Delete User: users can now be added, updated or deleted directly from the User page of the Administration Panel.
- Reset User: a user's profile can now be reset directly from the User Details page of the Administration Panel. See the New Feature in the Engine section below for more information.
- Behaviour Point Updates: when updating a behaviour with multiple points, the values associated to the points were mixed and updated incorrectly.
- Adding Tags from Editors: adding a tag directly from the editor of a game mechanic was causing the underlying editor's update button to fail.
- Error Messages for Adding Tags: when adding a tag with an error directly from the editor of a game mechanic was causing the error to be displayed in the underlying editor
- Approved URLs Delete: when deleting an Approved URL it was no longer possible to add a new one unless the page was refreshed.
- Activities API: the Events and Transactions APIs have been discontinued in this release and merged into a single Activities API which shares the behaviour of both APIs in one. The Coupon Redeem and Refund APIs have also been discontinued and merged into the Activities API. The Activities API is now the central point of communication for actions which alter the state of the user in the game. Retrieving a list of activities provides insight into all the changes to a user's state. This is a major API change which primary intention was to lay the foundations for our analytics! :-) ... Coming soon...
- .NET SDK: we are glad to announce a new .NET SDK written in CSharp.
- Synchronous Activities API: the activities API can now be called synchronously which means that the Activity object will be returned immediately with all the results incorporated. Please read more about this API in the Documentation area of the Administration Panel.
- Stop at Zero Points: currently points can either go negative or when subtracting points with insufficient user points, they throw an exception. Stop at zero points will not throw an exception when the user has insufficient points, but rather it will simply subtract the points and stop the points counter at zero. This is good for creating life points. These are points which can go to zero but not below (as you generally cannot have negative life).
- Reset User: a new API was added which resets a user's data. This includes clearing the following information: statistics, unlocked rewards, performed behaviours, points earned, leaderboard scores, notifications, activities and purchases.
- JBoss EAP / Jetty Support: the Mambo Platform can now be run on the JBoss EAP and Jetty Web Application Servers.
- Leaderboard Sync Script: some times it is necessary to retroactively populate a leaderboard. This script allows you to do just that. Please send an email to support in order to get a copy of the leaderboard sync script.
- Performance / Load Test Scripts: we created a performance test script for Apache JMeter. This allows you to load test your production infrastructure with a scenario which is as accurate as possible, in terms of hardware and game mechanics. Please send an email to support in order to get a copy of the performance scripts.
- Multi Point Transactions: the transaction based activities now allow for multiple points to be used in a single transaction activity. This means points, gifts and bounty activities can have multiple points associated to them.
- Leaderboard User Paging: it is now possible to define the number of users that should be returned with a leaderboard as well as page through the users.
- Default Get Activities: when retrieving a list of behaviour activities only behaviours which have a BehaviourStatus of OK will be returned. A list of activities which includes behaviours with exceptions can also be retrieved using a withExceptions flag.
- Activities by Reward or Behaviour IDs: activities can be retrieved using reward and behaviour IDs which will return only activities containing the behaviours or the rewards specified.
- Bounty Points: changing a bounty point from bounty to non-bounty would cancel all started bounties which depended on that point. Now all started bounties will persist until they are either cancelled or awarded by the users. This avoids bounties appearing cancelled with no explanation.
- Duplicate Exceptions: the duplicate validation was performed differently between behaviours, coupons, tags and purchases. These have all been aligned and now return a ValidationException which highlights the relevant duplicate field.
- Deleting a Reward: deleting a reward would leave the users last rewards and level untouched. This has been improved so that users only have rewards which are available as their last reward or level.
- PHP SDK OAuthException: the OAuthException class found in the PHP SDK was clashing with the PHP default classes. The name has been changed to MamboOAuthException.
- Deleting Leaderboard with Users: deleting a leaderboard was not deleting the users belonging to that leaderboard.
- Delete APIs: calling any of the delete APIs with an incorrect or invalid ID was throwing an InternalServerException.
- Transactions not Unlocking Levels: creating a transaction which increased a user's points was not unlocking any levels which were reached by the user with their new points balance. This includes missions which may have been unlocked by unlocking the newly reached level. This has been fixed and merged into the new Activities API which now returns all the Rewards unlocked by a transaction based activity.
- Deleting Users: deleting a user was not deleting the data associated to a user. The data includes the user's: leaderboards, notifications, activities and awarded rewards.
- Activity Stream with Transactions: the activity streams have been improved to include transactions. The widget can be filtered to contain only transaction based activities so that they can be separated into their own widget if necessary.
- Profile Widget Summary: the transactions are now displayed in the profile widgets summary.
- Tool Tips Show / Hide Details: the link used to show / hide details in the reward tool tips have been removed and the details are shown by default.
- Tool Tip Badge Height: the tool tips now use dynamic heights for the badges which allows rectangular badges to be used.
- Notifications / Toaster Data: the notification and toaster templates and render events now include the full underlying data object for the notification. This allows custom templates to be defined with a full data set.
- All Render Events: the widgets render events all include the underlying data object and render options too. This allows all the custom templates to be defined with a full data set.
- Prize Points: the prize points section of the reward tool tips were being displayed when a reward had only internalOnly points associated to it.
- Level Lock Icon: the level lock icons were being displayed incorrectly when multiple level groups were used. The level lock icon is now applied by level group.
- Hide in Widgets: the reward's "Hide in widget" property was not actually hiding the reward in the widgets.
- Header Widget Point Tool Tips: the point tool tips were displaying incorrectly in the header widget when not all the points were added. This is because the tool tips were ignoring the missing points.
- Reward Points and Profile Widget: the profile widget was not updating the user's points when the points were earned through a reward. This would only happen if the user refreshed the page with the profile widget.