View Issue Details

IDProjectCategoryView StatusLast Update
0005622Composr non-bundled addons[All Projects] General / Uncategorisedpublic2024-08-05 01:13
ReporterPatrick SchmalstigAssigned ToPatrick Schmalstig 
SeverityFeature-request 
Status resolvedResolutionfixed 
Summary0005622: Update MantisBT
DescriptionMantis bug tracker has a minor version update available for v11. Be careful implementing this as there is a lot of custom code.
TagsRoadmap: v11
Time estimation (hours)
Sponsorship open

Activities

Patrick Schmalstig

2024-04-28 20:31

administrator   ~0008703

I do not trust I can do this without breaking it. Assigning to Chris.

Patrick Schmalstig

2024-08-01 03:35

administrator   ~0009049

Re-assigning to myself. I've started the process of updating in another branch. I'm re-working the custom Composr changes into a Mantis plugin so that updating Mantis in the future will be much easier and quicker.

It may or may not be ready for 11.0. If not, 11.0 will maintain the current Mantis code.

Patrick Schmalstig

2024-08-01 03:39

administrator   ~0009050

Actually, this should remain a v11.0 issue because the update is necessary to start treating sponsorships under the new Bazaar model.

Patrick Schmalstig

2024-08-03 22:15

administrator   ~0009066

A little bit of code has been lost, mainly pertaining to the old sponsorships system for Composr. I'm not worried about that because v11 will be operating on the Bazaar model.

My update includes lots of Composr integration improvements as well. Almost all Composr overrides now exist in a MantisBT plugin instead of overwriting original code (there are still 2 files that needed overwritten; this is mentioned in the plugin file). Session handling has improved including better redirection between Mantis and Composr when logging in / logging out.

For sponsorships, they are now points based. Whenever someone sponsors an issue in Mantis, it will create an escrow to the system in the given amount. When an issue is resolved, all non-disputed escrows tied to that issue will be assigned to the issue handler, and then marked completed, awarding all the sponsorship points to the issue handler. When an issue is closed, all escrows are automatically cancelled and refunded.

Also, the resolution of an issue will result in an automatic 25 points both to the reporter and to the handler regardless of sponsorships.

Chris Graham

2024-08-03 22:23

administrator   ~0009067

Fantastic work!

Patrick Schmalstig

2024-08-03 22:23

administrator   ~0009068

Side note, the escrowing system involves lots of complexity... too much to be handled directly in the Mantis code. So I added new endpoints to do that which are called by Mantis' url_get(). Authorization on those endpoints is handled by keep_session.

Patrick Schmalstig

2024-08-05 01:13

administrator   ~0009119

Another side note. Mantis' url_get() function is very problematic. It lacks the ability to use POST parameters (not a big deal; we can use GET). And it does not handle timeouts / HTTP errors (very problematic; Mantis will just hang until PHP times out).

For these reasons, I added an improved url_get() on the Composr's plugin class used exclusively by the plugin when calling Composr's endpoints for sponsorship management. It has a timeout of 5 seconds (needs to be short because we could be performing bulk operations) and will handle errors by either attempting the request with a different method (cURL / fsock / system call) or ultimately bailing out.

NTS: The push bugfix module needs to handle sponsorships as well. I don't think this calls Mantis' API directly but rather manipulates its database. So we need to handle processing of sponsorships when resolving an issue.

Issue History

Date Modified Username Field Change
2024-02-21 19:18 Patrick Schmalstig New Issue
2024-02-21 19:18 Patrick Schmalstig Status non-assigned => assigned
2024-02-21 19:18 Patrick Schmalstig Assigned To => Patrick Schmalstig
2024-02-21 19:18 Patrick Schmalstig Tag Attached: Roadmap: v11
2024-03-30 14:46 Patrick Schmalstig Project Composr => Composr non-bundled addons
2024-04-28 20:31 Patrick Schmalstig Assigned To Patrick Schmalstig => Chris Graham
2024-04-28 20:31 Patrick Schmalstig Note Added: 0008703
2024-08-01 03:34 Patrick Schmalstig Assigned To Chris Graham => Patrick Schmalstig
2024-08-01 03:35 Patrick Schmalstig Note Added: 0009049
2024-08-01 03:35 Patrick Schmalstig Tag Detached: Roadmap: v11
2024-08-01 03:35 Patrick Schmalstig Tag Attached: Roadmap: Over the horizon
2024-08-01 03:38 Patrick Schmalstig Tag Detached: Roadmap: Over the horizon
2024-08-01 03:38 Patrick Schmalstig Tag Attached: Roadmap: v11
2024-08-01 03:39 Patrick Schmalstig Note Added: 0009050
2024-08-03 22:15 Patrick Schmalstig Status assigned => resolved
2024-08-03 22:15 Patrick Schmalstig Resolution open => fixed
2024-08-03 22:15 Patrick Schmalstig Note Added: 0009066
2024-08-03 22:23 Chris Graham Note Added: 0009067
2024-08-03 22:23 Patrick Schmalstig Note Added: 0009068
2024-08-05 01:13 Patrick Schmalstig Note Added: 0009119