plone / mockup

A collection of client side patterns for faster and easier web development
http://plone.github.io/mockup/
BSD 3-Clause "New" or "Revised" License
47 stars 93 forks source link

Given a Plone version, which Mockup version is being used? #1360

Open gforcada opened 9 months ago

gforcada commented 9 months ago

What's the correct way to know which version of Mockup one is running? 🤔

Use case: I'm running a local Plone 6.0.7 and I need to tweak Mockup to fit our needs.

Given that Mockup is not a Python package, it is not pinned in https://dist.plone.org/release/6.0.7/versions.cfg 😅

On this repository itself I don't see any mention on any release notes about Plone version compatibility.

I did found out that on @mauritsvanrees issue to track Plone 6.0.7 @petschki mentions plone.staticresources==2.1.6 and looking at that tree I can see that on package.json there is the line:

"@plone/mockup": "5.1.4",

So, the heuristic is to look at the version of plone.staticresources that is shipped with the Plone version and on that python package look at the mockup version defined in package.json?

Would it make sense to document that somewhere? ✨

yurj commented 9 months ago

Also the same happen for BS version, it depends on package.json in plonetheme.barceloneta.

While mockup is only a develop package, plonetheme.barceloneta is both a package with theme resources and a dev package to generate the npm @plone/plonetheme-barceloneta-base package.

petschki commented 9 months ago

What's the correct way to know which version of Mockup one is running? 🤔

As you've already found out: the mockup version is in package.json of plone.staticresources which is there to deliver JS (Patternslib, Bootstrap JS, jQuery, etc.) and other resources (eg. icon registration and svg resources) for Classic-UI. The p.staticresource#2.1.x is for bugfixes in Plone 6.0.x and uses the mockup#5.1.x so this also works with Plone 6.0.7. The building process is explained here https://github.com/plone/plone.staticresources/blob/master/README.rst ...

We also mention every mockup version in https://github.com/plone/plone.staticresources/blob/master/CHANGES.rst when releasing a new version.

Regarding Bootstrap CSS and Barceloneta

The Diazo theme and CSS resources are delivered in plonetheme.barceloneta which pins BS Versions in package.json there. For developing your own theme based on barceloneta, the npm package @plone/plonetheme-barceloneta-base is released along with every pypi version of plonetheme.barceloneta.

NOTE: staticresources and barceloneta resources are related though, so if you use staticresources 2.1.x you have to use barceloneta 3.1.x ... this is kept in sync in https://dist.plone.org/release/6.0-latest/versions.cfg and https://dist.plone.org/release/6.0-latest/constraints.txt

NOTE 2: It's also save to use staticresources 2.2.x (mockup 5.2.x, TinyMCE 6 implementation) and barceloneta 3.2.x in Plone 6.0.x (I use it in production already, including mosaic 3.2.x)