View Issue Details

IDProjectCategoryView StatusLast Update
0017487mantisbtplug-inspublic2021-03-07 18:28
Reporteraavagyan Assigned Todregad  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version1.2.17 
Target Version2.25.0Fixed in Version2.25.0 
Summary0017487: Validate plugin folder name and name match during setup
Description

Case-sensitivity of plugin folder name has critical importance for plugin's proper functioning. If plugin developer envisaged some particular plugin folder name case-sensitivity (and therefore plugin strings follow same case-sensitivity format) then, if plugin is installed in a folder name having different case-sensitivity an error is triggered. Plugin can't find its strings (title, description, translations).

Example: I suggest "MantisStats" folder name for my plugin, but if someone installs it under, say, "MantisStats" or "mantisstats" when it will not work. I already have several people reporting this issue.

Will it be possible to have some case-insensitivity enforced in the overall plugin model for folder name (basename?)?

Thank you.

TagsNo tags attached.

Relationships

child of 0026142 closeddregad Improve handling of invalid / incorrectly installed plugins 

Activities

dregad

dregad

2014-07-06 04:04

developer   ~0040878

As per W3C, "URLs in general are case-sensitive (with the exception of machine names). There may be URLs, or parts of URLs, where case doesn't matter, but identifying these may not be easy. Users should always consider that URLs are case-sensitive." [1]

Based on the above, I would be tempted not to do anything. In my opinion, it should be the webmaster's decision to configure their web server to be case insensitive (or not).

[1] http://www.w3.org/TR/WD-html40-970708/htmlweb.html

atrol

atrol

2014-07-06 07:00

developer   ~0040880

I would be tempted not to do anything

+1
We shouldn't try to fix automatically wrong installations by introducing additional actions during runtime (e.g. scanning the folder names in plugin folder)

aavagyan

aavagyan

2014-07-06 18:03

reporter   ~0040881

I understand and is in agreement that we one puts content under the "LoCaTiOn" folder then s/he needs to expect it working from "LoCaTiOn" and not "location" or anything else.

In the same time, here we deal the a different situation. User cannot decide "LoCaTiOn" or "location"; user cannot even decide the folder name. Plugin developer have to force user to use exactly only-one-fixed folder name/case-sensitivity. It is like you want to install software on your PC, but you have no option over the installation path. This sounds... wrong.

As I understand the issue is in case-sensitivity of php array keys, which should be easy to handle. User will still need to decide if it is "LoCaTiOn" or "location" - and only correct URL will work, but, at least, plugin will work when this decision is made.

This is my opinion based on usability concerns, but if you both still disagree, then I don't mind closing the request.

dregad

dregad

2014-07-07 07:05

developer   ~0040884

Just a thought, as this sounds like an installation issue more than a run-time one...

What about checking discrepancy between plugin's basename and directory name, at installation time ? We can then trigger an error if there's a mismatch (in case or even in name)

atrol

atrol

2014-07-07 07:17

developer   ~0040885

What about checking discrepancy between plugin's basename and directory name, at installation time ?

+1

aavagyan

aavagyan

2014-07-08 16:20

reporter   ~0040905

Should help, yes. If it can display meaningful error message...

vboctor

vboctor

2014-11-25 11:29

manager   ~0041908

Updated issue title to reflect planned work.

Related Changesets

MantisBT: master f34e46ef

2019-06-23 00:21

dregad


Details Diff
New 'Invalid Plugins' section on manage plugins page

If any invalid plugins are found, the new section is printed below the
'Installed plugins' section.

Fixes 0017487
Affected Issues
0017487
mod - lang/strings_english.txt Diff File
mod - manage_plugin_page.php Diff File