View Issue Details

IDProjectCategoryView StatusLast Update
0009350mantisbtplug-inspublic2014-06-20 08:28
Reportervboctor Assigned To 
PrioritynormalSeverityminorReproducibilityhave not tried
Status confirmedResolutionopen 
Summary0009350: Support plugins for micro notifications

Mantis currently support integration with Twitter as a target for micro updates like resolving issues, news, etc.

The aim of this work item is to do the following:

  1. Remove the Twitter integration.
  2. Add a plugin event and signal it in the places where we currently generate Twitter updates.
  3. Update ManTweet to capture the notifications and save them to the internal ManTweet tables.
  4. Move the integration with Twitter to ManTweet. Hence, ManTweet becomes the plugin responsible for publishing to Twitter. The other option is to have a separate Twitter plugin that works independent of ManTweet or with ManTweet.

Other requirements:

  1. It must be possible for someone to install an SMS/IM plugin that would generate a subset of the modifications to some target users via SMS/IM. Hence, it is important for the notification plugin to know some meta information about the update.
Tagsplugin framework


related to 0010481 acknowledged Twitter notifications 
has duplicate 0012865 closeddregad Twitter integration no longer posts updates on resolution 
related to 0017384 closeddregad Remove unused twitter language strings 




2008-07-07 09:50

reporter   ~0018324

It might be beneficial to rework all notifications in Mantis to use some sort of Notification object that stores the appropriate data, and then can be interpreted by multiple sets of code, so that things such as email notifications, twitter updates, or SMS messages can all build from a single information source. The object should be as generic as possible, and allow for system-wide, project-specific, or issue-specific notifications. The object could then be interrogated by the receiver to determine which users should be notified, and then leave it to the receiver to determine how to contact the users.

It would probably be easiest to create EVENT_NOTIFICATION, and have the a core API hook the event to generate emails, while also allowing other plugins to hook the event, or even generate their own custom notifications and trigger the notification event on their own as well. This would also be useful for things such as the Source Integration plugins, so that notifications can be generated when someone checks in code relating to a bug you are monitoring, etc.



2008-07-07 12:19

manager   ~0018327

I agree with your suggestion, and I wanted to take this approach sometime ago. We can roll the micro-notifications approach in by generating some specific events.

I was also lately thinking that our emails should include information about the event that happened rather than the full issue detials. For example, the note that was added, the relationship that was added, etc. This can be done if we pass more information as part of the notification structure.



2008-07-07 14:11

reporter   ~0018330

I'll roll a wiki page with some details on how I see it being implemented. I'd like to stick with a single object and a single event, but design it in a way such that any API/plugin can use it as needed to generate any sort of notification as necessary. I'd rather see a simple interface that requires a bit more decision on the part of plugins to generate appropriate notifications than have a complex API with numerous events.



2008-11-14 14:21

reporter   ~0019899

Targetting next major version.



2014-06-20 08:22

developer   ~0040838

Last edited: 2014-06-20 08:28

grangeway basically implemented step 1 when he removed the twitter API from master branch (it was in any case broken since Twitter switched to OAuth and removed basic auth support).

Related Changesets

MantisBT: master cd3e0ed2

2014-01-07 18:38:00

Paul Richards

Details Diff
Remove Twitter code from Mantis Core that no longer works due to twitter's deprecation of username passwords Affected Issues
0009350, 0017384
mod - bug_update.php Diff File
mod - config_defaults_inc.php Diff File
mod - core/bug_api.php Diff File
mod - core/config_api.php Diff File
mod - core/constant_inc.php Diff File
mod - core/email_api.php Diff File
mod - core/news_api.php Diff File
rm - core/twitter_api.php Diff File