ProfessionalWiki / chameleon

Provides a highly flexible and customizable skin using Bootstrap 4
https://www.mediawiki.org/wiki/Skin:Chameleon
Other
114 stars 62 forks source link

Roadmap discussion #239

Closed malberts closed 3 years ago

malberts commented 3 years ago

Version 3.2.0 (next unreleased)

Version 3.2.x (future)

Version 4.x (future)

Future

malberts commented 3 years ago

I don't know if this is the right place, but can we use this to discuss a rough roadmap?

I think most of my initial points are obvious (and feel free to add to it).

Just one specific question: What is the plan for MediaWiki 1.31? Does it get one last release and then we no longer care about it? Or do we explicitly remove all 1.31 workarounds and keep only 1.35+ logic?

JeroenDeDauw commented 3 years ago

What is the plan for MediaWiki 1.31? Does it get one last release and then we no longer care about it?

Sounds good to me. Requiring 1.35 for new releases is reasonable at this point.

Dropping MediaWiki compat should not be done in a patch release. Indeed, perhaps it should only be done in a major release. That is what we figured out for SMW, as described at https://github.com/SemanticMediaWiki/SemanticMediaWiki/blob/master/docs/RELEASE-POLICY.md#release-policy

despens commented 3 years ago

I am glad to see some development activity on Chameleon! My suggestion would be to address 3 things about Chameleon:

malberts commented 3 years ago

Thanks for the feedback @despens. A few quick comments from my side:

despens commented 3 years ago

Thank you @malberts for your explanations.

Regarding SCSS vs LESS, I know it's probably unrealistic, but would using the same CSS pre-processor as Mediawiki make a difference? Otherwise it would probably be desirable to skip the CSS output of Mediawiki, but only in certain name spaces, because some features and extensions are reliant on Mediawiki stylesheets being present (such as Wikibase).

I have tried the BootstrapComponents extension, but it works on a very different level. Perhaps the only way to do it is to use Chameleon's raw HTML feature to load another JavaScript file that initializes whatever Bootstrap features required. Otherwise I wouldn't see harm in an option that would just activate all Bootstrap features that need to be initialized. They can anyway only be used in complex templates.

s7eph4n commented 3 years ago

There is some rudimentary support for loading modules in the Bootstrap extension, but I never got around to make it properly work. Styles are usually only loaded once and then cached anyway, so Chameleon just does a 'Load all', which loads the standard Bootstrap modules, but no 'frills', like Popovers (as @malberts noted).

Edit: So maybe some configuration variable e.g. $egRequiredModules for the Bootstrap extension would be the way forward?

Leader-board commented 3 years ago

Would GitHub Discussions (https://docs.github.com/en/discussions) be better for this purpose?

JeroenDeDauw commented 3 years ago

I have not used that feature yet but curious to see how it works. Enabled for this repo now, so knock yourselves out: https://github.com/ProfessionalWiki/chameleon/discussions

malberts commented 3 years ago

I'm going to convert this issue to a discussion and then we can see how it goes.