Setting addon/theme version compatibility in the marketplace

This is a community-contributed tutorial. This tutorial is over a year old and may not apply to your version of Concrete CMS.
Jan 9, 2024

For developers worn out with setting the latest addon or theme version manually across too many core versions, here is a JavaScript bookmarklet to do it for you.

After adding the compressed bookmarklet to Chrome or Firefox, run the bookmarklet when you are on the Manage Files page for your addon or theme. It will seek out all the version selectors and set them to the last but one option, which is the latest version (The very last option is 'none').

(Remember to then click the Save button)

 javascript:(()=>{const e=document.querySelectorAll("table select.form-control");e.forEach(function(e){var o=e.querySelectorAll("option");const t=o[o.length-2];t.selected=!0;o=new Event("change",{bubbles:!0});e.dispatchEvent(o),console.log(t)});const o=document.querySelector(".ccm-dashboard-form-actions button.btn-primary");o.click()})();

text

The source is as below, then compressed onto a single line and prefixed with "javascript:"

(() => {
    const elements = document.querySelectorAll('table select.form-control');
    elements.forEach(function(element){
        const options = element.querySelectorAll('option');
        const lastOption = options[options.length - 2];
        lastOption.selected = true;
        const change_ev = new Event('change', { 'bubbles': true });
        element.dispatchEvent(change_ev);
        console.log(lastOption);
    });
    const submit = document.querySelector('.ccm-dashboard-form-actions button.btn-primary');
    submit.click();
})();

More about bookmarklets: https://www.freecodecamp.org/news/what-are-bookmarklets/ Compress: https://jscompress.com/

Edited 18 June 2024 - code snippets revised for new marketplace.

Recent Tutorials
Edit domains and sitemaps
Apr 4, 2025
By myq.

How to create a sitemap when using an edit domain

Block Types and CIF Data
Apr 2, 2025
By mlocati.

This tutorial describes how Concrete works with blocks data, and how you can create custom block types that works well when exporting and importing data with the CIF XML format.

Customize the default page title
Mar 12, 2025

Change the default " :: " and/or "site name :: page title" formatting separator to something else.

Configure Composer to work with a Page Type
Feb 20, 2025
By myq.

Fix the "Unable to load block into composer. You must edit this content from within the context of the page." error message

Permissions for editors in a multilingual site
Feb 2, 2025
By myq.

How to set up a multilingual Concrete CMS site for groups of language-specific editors

Restoring deleted pages using advanced search
Jan 16, 2025
By myq.

How to recover deleted pages when there are more than a few to choose from.

Improvements?

Let us know by posting here.