View Issue Details

IDProjectCategoryView StatusLast Update
5622Composr non-bundled addonsGeneral / Uncategorisedpublic2024-08-05 01:13
ReporterPDStig Assigned ToPDStig  
PrioritynormalSeverityfeature 
Status resolvedResolutionfixed 
Summary5622: 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
Attach Tags
Time estimation (hours)
Sponsorship open

Sponsor

Date Added Member Amount Sponsored

Activities

PDStig

2024-04-28 20:31

administrator   ~8703

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

PDStig

2024-08-01 03:35

administrator   ~9049

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.

PDStig

2024-08-01 03:39

administrator   ~9050

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

PDStig

2024-08-03 22:15

administrator   ~9066

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   ~9067

Fantastic work!

PDStig

2024-08-03 22:23

administrator   ~9068

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.

PDStig

2024-08-05 01:13

administrator   ~9119

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 PDStig New Issue
2024-02-21 19:18 PDStig Status Not Assigned => Assigned
2024-02-21 19:18 PDStig Assigned To => user4172
2024-02-21 19:18 PDStig Tag Attached: Roadmap: v11
2024-03-30 14:46 PDStig Project Composr => Composr non-bundled addons
2024-04-28 20:31 PDStig Assigned To user4172 => Chris Graham
2024-04-28 20:31 PDStig Note Added: 0008703
2024-08-01 03:34 PDStig Assigned To Chris Graham => user4172
2024-08-01 03:35 PDStig Note Added: 0009049
2024-08-01 03:35 PDStig Tag Detached: Roadmap: v11
2024-08-01 03:35 PDStig Tag Attached: Roadmap: Over the horizon
2024-08-01 03:38 PDStig Tag Detached: Roadmap: Over the horizon
2024-08-01 03:38 PDStig Tag Attached: Roadmap: v11
2024-08-01 03:39 PDStig Note Added: 0009050
2024-08-03 22:15 PDStig Status Assigned => Resolved
2024-08-03 22:15 PDStig Resolution open => fixed
2024-08-03 22:15 PDStig Note Added: 0009066
2024-08-03 22:23 Chris Graham Note Added: 0009067
2024-08-03 22:23 PDStig Note Added: 0009068
2024-08-05 01:13 PDStig Note Added: 0009119