View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0022098 | mantisbt | customization | public | 2017-01-01 12:53 | 2025-03-14 19:14 |
Reporter | atrol | Assigned To | community | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 2.0.0 | ||||
Target Version | 2.28.0 | Fixed in Version | 2.28.0 | ||
Summary | 0022098: Setting bottom_include_page does not include specified file | ||||
Description | Regression Option bottom_include_page to include a file at the bottom of each page is still available but does not work any longer. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
related to | 0022266 | closed | vboctor | CVE-2017-7222: Sanitize window title |
related to | 0021113 | resolved | community | EVENT_LAYOUT_PAGE_HEADER no longer available |
has duplicate | 0022117 | closed | atrol | Neither top_include_page not bottom_include_page used in v2.0 |
has duplicate | 0022494 | closed | vboctor | Custom footer and top data |
related to | 0035402 | resolved | community | Footer has the wrong size |
related to | 0035551 | resolved | dregad | Improve output of log events when $g_log_destination = 'page' |
We had a discussion on this. We may end up deprecating such configuration option depending on the final solution that results from the discussion. Assigning to @syncguru since he will coordinate this discussion and the necessary work out of it. |
|
The request has been triggered by a user in forum. Keep also in mind that we use it on https://www.mantisbt.org/bugs |
|
Losing this functionality is causing me problems. I use $g_top_include_page and $g_bottom_include_page to basically wrap a MantisBT installation into an existing website . Removing the $g_bottom_include_page means I can't do this any more (we have some javascript that loads in the footer of the site which is needed to support some of the site menu functionality). |
|
I am using $g_bottom_include_page to get our Name and Logo on the logon page |
|
It is possible to get the logo in $g_window_title = 'TESTUMGEBUNG - <img src="/mantis_TEST/images/EBVLOGO_60.gif" height="35" " />'; That's all what we need - thank you for this great system! :) |
|
but this is not beautifull ;) |
|
@mahindra the ability add html in the window title as in 0022098:0055352 is a bug that we should fix. It also won't work because window title is also used in other scenarios like some of the email notifications. |
|
Like SteveA, we use $g_top_include_page and $g_bottom_include_page to wrap a MantisBT installation into our website with a consistent banner, menu, and game server statuses across all pages and subdomains for navigation. We manage open source development of the Cyan Worlds' Myst Online (Uru) MMO. Without the custom header and footer, I cannot upgrade from 1.3 to 2.x+ and maintain visual integration. I don't understand how there can be any question about web products like this playing friendly with website integration. This is our implementation of 1.3: |
|
We used $g_top_include_page = '%absolute_path%/header.inc.php'; as project meta-navigation. Now what out of the box solution do we have for this purpose? |
|
I see this task is assigned, but will restoring $g_top_include_page and $g_bottom_include_page definitely be on the roadmap? An existing feature for many years has been removed, so I'm naturally curious about why. |
|
I guess a question after looking at your pull request from syncguru: What happens if I apply it? Or in other words - why not? |
|
That's easy: if these no longer work in Mantis, and we have no simple straight-through way to do so, then I'll stay on the old-that-will-be-vulnerable-but-still-since-it-works version <code> I need these to set up custom conditionnal CSS sheets, custom metas (like charset), custom JS to load, and brand headers. |
|
@vbdoctor @syncguru How does this project defend eliminating support for a critical website integration feature that existed for years and the subsequent deafening silence about its restoration? There can be no question about web products like this playing friendly with website integration. |
|
@vboctor See imperative note above. Adding this because I got your username wrong. |
|
The continual pushing out to the next version for this fix is worrying - it suggests that this is not actually going to be fixed. As others have noted it seems that this key bit of functionality (which is even used by the Mantis Team themselves) was dropped without any consideration of how Mantis is being used (I assume because it just didn't fit into how the new UI was designed ) . If the team are not going to re-implement this code (or another way of integrating mantis into other sites) then we're either left relying on the 1.3 code base or moving away from Mantis totally. |
|
I think I'll do Mantis' team job here, but that's the way I "fixed" that issue. I used someone else's plugin as a base, and built up something without reading any doc (because nope, I didn't want to spend time reading docs while it was instant to do this before) [I'll rename the plugin btw... I'll let you guess the original name]: 1) Create a "MyKingCustomPlugin" directory in the "plugins" directory MyKingCustomPluginBecause they changed everything when it comes to custom CSS/JS/meta tags
4) Put your custom CSS and JS in dedicated files (because Content Security Policies may break your inline stuff), and NOT inside the plugins directiory (would have sound logical to put CSS/JS of a plugin inside that plugin's directory, but since it doesn't work out of the box like before, I've put it all in a "custom" directory inside the root folder of the server). Maybe it will help some people. |
|
So does another push out mean that we're actually no closer to knowing if this core functionality is going to be re-instated? |
|
@SteveA You're putting negligence more politely than I would. I'm sure it's appreciated. I would never so cavalierly drop such an important feature in a project. |
|
Hi Mantis Team, |
|
@Emmanuel No. They're using the Microsoft approach to Window 8 with all the silence, but without the contrition and apologies to follow. |
|
I assume that nothing from the Mantis team means that they've actually done nothing and are just hoping this will go away and they can concentrate on the "new shiny" It would be good if you could at least confirm if you are ever going to re-instate this functionality. If you're not then that means people can look at working round it or moving to another product. |
|
To change the loge has done this in our mantis. |
|
Logo ;) |
|
No excuse, but keep in mind that Mantis is developed by just a few people, working in their free time without getting paid for it. The solution is not that simple like some of you might think, at least if you don't want a quick and dirty solution. Finally we might end in a complete other and better solution than what we had in version 1.3. @JWPlatt I had a look at your Mantis installation, but also your Jira installation. There are two options at the moment
|
|
Thanks for giving some update on this matter - its been a long time since anyone from the core Mantis team made any comment and all we've seen is the milestone being pushed out and out. Staying with 1.3.x is what I suspect most people are planning to do.. it might be worth considering making it easier to find the 1.3.x security updates from the website - the download page only gives access to the current 2.x release.... |
|
@atrol Don't assume. The feature in Mantis is above a top priority. We will NEVER move to version 2 of Mantis until site integration is reimplemented. If it does not come soon enough such that security is compromised due to lack of maintenance on version 1, we will DELETE the Mantis installation entirely and forever in favor of using Atlassian tools such as JIRA. There is no comparison between JIRA and Mantis. JIRA is an enterprise tool from a large commercial company where we have no hope of influence over their support of any significant site integration. Whereas Mantis is really just a small tool we installed for people who like it, or don't like JIRA, but is entirely disposable. It's do or die for your small team, at least with us. Candidly, as a professional software developer myself, dropping a long-existing and important feature like this was a bad decision. We wouldn't be having this discussion about finding time to reimplement it if you didn't drop the ball in the first place. JW |
|
@JWPlatt: Why the threatening hostile tone? Last I checked, Mantis is a free software that is developed and maintained by volunteers ... The modern UI is much more complex. Supporting a configuration that allows random JS files to be loaded at different points during page load is very fragile and slows down or totally hinders future UI/UX enhancements. I don't think core mantis code should be concerned with that and take the hit to maintain it. |
|
But the header and footer allowed you to wrap Mantis into another website, basically integrating it. It does seem that the Modern UI was designed without considering that functionality, and I do find it rather ironic that back in January it was pointed out that the mantis site itself uses this now discarded functionality. |
|
@syncguru Just giving you the candid reality of our decision process. Mantis has been on our trigger for a long time. I'm the site owner and the one who has kept it alive and integrated through upgrades because I don't believe in dropping important features for our past and future users. Get it? If the plugin is a viable immediate solution, refine and integrate THAT into your distribution. I spend my volunteer time on our site. I'm not handing yours too. JW |
|
And that plugin would possibly be OK apart from the fact that EVENT_LAYOUT_PAGE_HEADER isn't fired at any time due to an unfixed bug... |
|
For the scenario of using the EVENT_LAYOUT_PAGE_HEADER for adding a message to the users (which is what we were using this event for in this tracker), the proper way of doing this now is via the Announce plugin. https://github.com/mantisbt-plugins/announce As I said in 0022098:0054897, you should expect that this functionality is likely deprecated as far as MantisBT 2.x core is concerned. A plugin may surface that would enable such functionality in the future by some community member. To reflect that, I have removed the target version from this issue. Any product change is likely to not fit 100% of our user base, but our goal is that our product development benefits the majority of our users. |
|
OK so something that was used by quite a lot of people, and which is still in your documentation for 2.5 has basically been removed and is not going to be re-introduced, and there is now no way of wrapping Mantis into another site because there is no easy way to inject wrapping code (such as divs) round the mantis pages |
|
@vboctor It would be interesting to see your poll numbers from the research you did on behalf of your userbase to so well understand where the majority lies prior to dropping a major feature to help them with this beneficial action. |
|
As you merged 0022117 and 0022494 into this - both of of which are concerned with general usage of the features rather than Mantis's own specific use - you can't really say that the announce plugin is the resolution. Two features were removed from 2.5 (but not removed from the documentation, nor fully removed from the code base) - apparently after an internal discussion by the Mantis team. Don't you feel that maybe asking end users about removing this functionality might have been wise? |
|
@JWPlatt IMO, even if it's interesting to know your decision process, the way you worded it was indeed agressive (like Mantis team would be afraid of you dropping out the free tool they made...?!) But I agree with you that, from user point of view, it also seems late to me to be aware of dropped features after the release (or after the decision of removal is taken). I would too appreciate some place to be informed about that (ie: a RSS or, better, a mailing list). |
|
@Xenos - iframes don't work very well -: one because of the Content-Security-Policy headers but also because of the changing URLs that Mantis uses. The problem with just editing the meta is that on our site there is a left hand menu and a header which wraps round Mantis - basically Mantis is presented within the main DIV we have set where we render the active part of the site. The last line in the header include we use is <div id="main-content"> |
|
@vboctor @atrol @syncguru Is such site integration really impossible or beyond reasonable technical abilities to support? I notice vboctor has not yet released the poll data actually showing what "the majority of our users" actually wants. Until then, I'll take it as a convenient and baseless rationalization for the laziness of dropping a long-time integration feature instead of supporting compatibility with prior work. |
|
Is there any update on this? Is it ever going to be re-implemented or not? |
|
We are also hoping to see this fixed |
|
I also found the feature not working and found this ticket quickly. I rarely post something like this but I found the whining in these notes very disturbing. As a user I completely relate to the situation, don't get me wrong - it's upsetting when existing functionality is deprecated. But you people are completely missing the spirit of FOSS, and I have seen this a lot over the last 20 years. The pattern is that people feel entitled to get free/no-cost software and then complain violently when something doesn't work. But almost no one is willing to contribute to a resolution. The Free in FOSS isn't just about free beer, it's about freedom to make changes. The Open part means it's completely transparent, unlike binary commercial software. These qualities mean YOU have the right and ability to contribute to the project, and when it comes to something like this that starts to bend toward an obligation and responsibility. You're bragging about how you've relied on this software for years. But have you lifted a single finger to help in any way? Let's turn this into a positive experience. You don't need to contribute code or write docs. And I don't think offering money to the primary maintenance people here is going to help them to free up any time. I do suggest that now is the time to find a young programmer who is looking for a little fame and a few bucks to provide you with what you want. It doesn't need to be money - offer some pizza, or if you run websites offer someone some free services in return for free services that they can provide to you. A real FOSS developer would appreciate it if you would "pay forward", not just "pay back" by just giving something to anyone in return for someone doing a favor for you. This is the spirit of FOSS and you guys are NOT getting it. What we really need for MantisBT is more plugins. What we have for this software pales compared to plugins available for other platforms like WordPress or Drupal. Help to find people who want to write plugins, motivate them to create what you want by giving them something that they want. By getting someone else interested in this project we all benefit. But FOSS consumers Must stop abusing the FOSS providers. Look at the thousands of dead freeware projects out there - many of them because the authors have been abused like we see here. It's just not worth it to deal with that kind of grief no matter how much people like @vboctor and @atrol enjoy working on this. So get off their backs and off your asses and try to help with this rather than sitting back another year, doing nothing but whining. CONTRIBUTE! Ahem. Thanks for your time. |
|
+1 |
|
I like and appreciate your attitude and it certainly belongs and is valued in the open source community, to which I contribute elsewhere. Sadly, it's misplaced here. The team that made the bone-headed, or simply cavalier, decision to drop an such an important feature like visual site integration, without providing a plugin, could very well make more bone-headed decisions. They control the merges, and I'm not going to fork or write a plugin for something that could suffer from more poor decisions. They know the code. It would be inefficient for me when they are infinitely more intimate with the code and could very well, perhaps even easily, produce a finished plugin for which Xenos started with a template in a post above. I wouldn't stand by and watch someone struggle and sink their precious time into something I know I could do faster and more easily. |
|
Thanks @Starbuck for the note. @JWPlatt, what's your goal? You wrote on your own forum that your goal is to shutdown your Mantis installation as it's not used since years. If so, take part on the technical discussion in the PR and/or try if the plugin is a solution for you and/or create your own branch with changes in your fork. Really strange to read 0022098:0057296.
So you prefer to pay for a Closed Source product and to have no influence on development over not to pay and to be able to influence? |
|
It will be easy to render the include page in the black frame on top of the site. |
|
While I'm familiar with the visual differences between v1 and v2, I'm not familiar with what looks like a higher-level decision about about how UI customizations have been changed and complicated. I recommend a forum discussion about what's changed, why it's created this complication, and then what we might be able to do to modify and then work With this new paradigm, via plugins or manual tweaks. |
|
Interesting questions. And thanks for taking the time to understand where I'm coming from.
To retain use of Mantis under full site integration (a logo doesn't suffice) for possible future use where contributors might prefer it to our Atlassian tools. Choice is better. If no one uses Mantis, so be it, but I will support it for as long as Mantis supports sites with an upgrade path and no loss of function, such as critical site integration. Without site integration, Mantis will not be supported and upgraded and must eventually be removed. If it is removed, there is no choice for the users.
I partially address that, saying it would not happen because I would need to start from the ground up, having no knowledge of the Mantis codebase, while those in the project could do it far more quickly, easily, and probably much better because of their (your) experience. Site integration should not have been dropped anyway to force me into a choice of developing a solution or dropping Mantis. I really don't want to pay for others' mistakes when I can be more productive to the people who depend on me to be responsible and support them in my own projects. As you are for Mantis. Further, a look at the Xenos code led me to believe it is a more specific use and not fully fleshed out to be flexible enough to work for all sites as a general plugin. Specifically, Xenos comments 4 and 5 were particularly frightful.
JIRA and the other Atlassian tools are free to open source projects. We get it for free. |
|
There is so much space... |
|
Hi all, Thanks to Xenos and is MyKingCustomPlugin, I use it and add the logo and link in the footer. Then ask to js to move it. |
|
I developed a dedicated plugin to fix such issue for good, together with a bunch of similar scenarios when dealing with external JS, CSS and HTML content. Here are the links: https://www.ryadel.com/en/mantis-mantisbt-plugin-custom-content-php-html-css-js-files/ The plugin has been released under GNU license 3.0, so it's fully usable by everyone. |
|
Thanks, @Darkseal! I will test this as soon as I can. I'm hoping it looks just like it did when we used $g_top_include_page and $g_bottom_include_page. If it does, you've done what the Mantis team would not, and maybe they will consider incorporating it it into future releases. |
|
I tried to use it but had problems - I will try to remember what they were and put the issues on Github (I know I had problems with the names for the globals being wrong) and I couldn't get it to wrap the page correctly. I think the problem is that it doesn't fully reproduce the three original insert points. |
|
@SteveA , thanks for your GitHub feedback! I fixed a couple issues there and added the missing include file. Notice that the CustomContent plugin insert points are currently FIVE, and only FOUR of them are currently working because of a bug in the current Mantis 2.16.0 source code, which doesn't trigger the corresponding EVENT_LAYOUT_PAGE_HEADER hook anymore. If you really need to also enable that fifth one I can show you how to modify the mantis source code to manually trigger it and make it work with the pugin, but I wouldn't want to do that as the Mantis team will most likely fix that in a future release (thus fixing the plugin as well). Notice, though, that with the HEADER insert point (which is currently working) you can do almost everything using JavaScript/JQuery, including HTML injection in the header part of the page (which is a much cleaner approach until they fix the source code). I added some useful examples in the CustomContent plugin's README.md file, I hope you'll find them useful enough. |
|
Since there is a new solution for this, I recommend discussion of the plugin get moved to the new forum for General Plugin Discussion . Thanks Ryan! And since it looks like this will not be fixed, I recommend the status of this ticket get changed accordingly. If closed, perhaps the summary should recommend "consideration of" the CustomContent plugin ... until another built-in solution is available. |
|
So... At long last, my hosting service is upgrading PHP and I am forced to upgrade my overall site navigation and either upgrade Mantis from version 1.3.2 to version 2.x, because version 1.3.2 does not work with PHP 7.x, or terminate Mantis. Since Mantis became intentionally unfriendly to site wrappers, I have not been able to upgrade. And it looks like @Darkseal has gone quiet, or at least his solution has not been active in a long time, so I won't even attempt that. Therefore, unless Mantis has regained some sanity and become more friendly to site wrappers and restored its support for them over the last two years, I will put Mantis out of our misery and end its death throes entirely with some fatally effective bug tracking euthanasia. |
|
1.3 should run on PHP 7 in general, see 0020499 I recommend to use latest 1.3 build (1.3.20 at the moment) instead of 1.3.2 as
|
|
Snatched from the jaws of death. @atrol Thanks for the info. And I appreciate your reply that's more polite than my posts. I didn't look for an update because I assumed support ended for 1.x after all this time. I'll give this a try. If Mantis has also restored compatible behavior to $g_top_include_page and $g_bottom_include_page, I'd be interested in that too. |
|
I'd like to try and fix this problem. I looked at the HTML code, especially since I'm now trying to make PRs that touch it. And I found somehow appropriate places where I can insert the top and bottom pages. The top one can be inserted after |
|
PR: https://github.com/mantisbt/mantisbt/pull/2102 Example of an included page, it will fit on both the top and bottom pages: |
|
Sample: |
|
To my knowledge, the only minified CSS we have are part of 3rd-party libs, we just include them from the upstream bundle. As we normally don't alter those, we therefore don't need to rebuild them. But I guess this question has been made obsolete by my request to move the CSS changes to ace-mantis.css... |
|
For example, we could compress ace-mantis.css from 15KB to 10KB and fonts.css from 8KB to 7KB. |
|
@dregad @raspopov this introduced an unwanted side effect when having set |
|
I'll look into it |
|
@atrol does it make sense to display the Debug Log section header, when there is no actual log entries to print ? IMO it would be better (and would simplify the code too) to hide the whole section in that case. Let me know your thoughts. |
|
It looks like the debug log has broken a <div> if there are messages or three <div>s if there are not. |
|
@dregad you might lose awareness that you have set destination to |
|
Done. |
|
@raspopov in the PR we discussed the problem with admin pages, which is now quite apparent in install.php and admin checks, as shown in the attached screenshots. Looks like the calculation to add a padding-top based to the footer's content's height does not work in this scenario. |
|
Admin pages miss next layout:
or
Fixed. Also fixed an extra div on the |
|
Thanks for fixing the admin pages. The PR is starting to grow beyond the fix of the HTML regression, so I have opened a separate issue 0035551 to track the improvements to the Debug Log display to page, which are not directly related to this Issue. |
|
MantisBT: master 2ebef4ea 2025-03-05 12:56 Details Diff |
Restore included pages functionality - Restored working of top_include_page and bottom_include_page options. - Restored generation of EVENT_LAYOUT_PAGE_HEADER event. - Added dynamic footer resizing. The top_include_page file is included within the navbar element, which is fixed at the top of the page; the bottom_include_page file is included within an existing footer or as a footer itself (on login pages), which is also fixed at the bottom of the page. Because of this, the include template must contain, for example, a div element with a solid background. Fixes 0035402, 0022250, 0022098, 0021113 PR https://github.com/mantisbt/mantisbt/pull/2102 |
Affected Issues 0021113, 0022098, 0022250, 0035402 |
|
mod - config_defaults_inc.php | Diff File | ||
mod - core/html_api.php | Diff File | ||
mod - core/layout_api.php | Diff File | ||
mod - css/ace-mantis.css | Diff File | ||
mod - docbook/Admin_Guide/en-US/config/html.xml | Diff File | ||
mod - js/common.js | Diff File | ||
MantisBT: master d3948320 2025-03-06 06:39 Details Diff |
Refactor log_print_to_page() - use HEREDOC instead of individual echo statements - Fix invalid HTML - Use helper_log_to_page() - Use a single loop instead of 2 to process log events Fixes 0022098, 0035551 |
Affected Issues 0022098, 0035551 |
|
mod - core/logging_api.php | Diff File | ||
MantisBT: master 26224a15 2025-03-07 14:28 Committer: dregad Details Diff |
Fix incomplete layout of admin pages Fixes 0022098 |
Affected Issues 0022098 |
|
mod - admin/email_queue.php | Diff File | ||
mod - core/layout_api.php | Diff File |