Operation Free Llama - Released February 23, 2022
The majority of our effort for this release has gone towards completing improvements in order to support our free plan. This includes backend updates, UI improvements, live template updates, a minor billing system overhaul, and more. Most of this work will be invisible and uninteresting to Marketpath CMS users but the end result should make Marketpath CMS easier to get started with and to much easier for small sites with low requirements.
When taking a site live on the free plan, users are no longer required to provide a credit card. If their site receives too much traffic during any given month it will simply be turned off. To prevent the site from going offline, users have the option to select "Do not take my site offline if I go over my quota," in which case they will be required to provide a credit card for that purpose. Of course, this prevents the challenge of tracking and predicting when overages might occur, which leads me to the next feature:
Marketpath CMS now regularly monitors the usage of all Marketpath CMS sites and will notify users via email BEFORE overages or free site deactivation occur. This gives users the insights necessary to take pre-emptive action to reduce unanticipated expenses.
The most obvious notification is for page views - which is sometimes difficult to predict. However, we also send notifications for other billable features such as storage, profiles, and more.
Email notifications are good, but sometimes users will need more immediate feedback. For that, we built:
When attempting to use a feature of Marketpath CMS that is limited by your current plan, users may now be prompted with in-app overage warnings. Depending on the nature of the feature and the user's permission level, these warnings might include an option to upgrade the site's plan, an option to continue and accept the overage charges, or an option to cancel and prevent the extra charges.
As an example, attempting to create page #21 on a free site will prompt the user to upgrade to a paid plan first. Other features this applies to include file storage, custom domains, profiles, and automation.
The number of versions that each object automatically saves is now directly related to the plan. This has been partially in place for a long time now but was less noticable and we did not always enforce it. Moving forward this limit will be respected for all sites. Note that the limit is enforced any time a new version would be created, so it will not always be noticable to users right away. It is also worth noting that users still have the option of creating "permanent" versions, which are not subject to the same limitations as automatic versions.
Free plans are now also required to display a "Powered by Marketpath" notice on their live sites. This notice will automatically be added to free sites, although template developers may proactively include it with several additional configuration options.
To configure the powered by notice, template developers may use the {% powered_by %} method. Current configuration options include the theme (dark, light, or auto), orientation (stacked or wide), and position (inline, top-right, top-left, bottom-right, or bottom-left).
We have implemented a number of mechanisms to prevent removing, hiding, obscuring, or tampering with the powered by notice, and we will not take kindly to users who attempt to use a free site without this notice plainly visible to website visitors.
For paid sites that wish to display the powered by notice, and for template developers who may conditionally want to display it only if it is required by the plan, we have added several extra template variables to the {{ automatic_markup }} object - {{automatic_markup.powered_by_required}} and {{automatic_markup.powered_by_output}}.
In order to assist with this and other changes, we made further improvements to live templates via the (renamed):
Our old {{ header_tags }} object has been renamed to {{ automatic_markup }} for clarity and for use in current and future templating improvements. There is now more information available on it, including information about what will or will not be automatically output to the template.
The old {{ header_tags }} object is now no longer required to be present in the template in order for the automatic header markup to be included in the rendered output - including information such as the browser title and javascript and stylesheets added via the {% add_javascript %} and {% add_stylesheet %} methods. If the template does contain {{ header_tags }} then the contents of {{ automatic_markup.header_markup }} will still be output at that position. Otherwise it will be output directly following the <head> element as long as the template developer has not changed the content type using {% set_content_type %} or disabled this functionality using the {% toggle_automatic_markup %} method.
The old {{ body_tags }} object has also been deprecated. Similar to the old {{ header_tags }} object, if {{ body_tags }} is included in the template then the contents of {{ automatic_markup.body_markup }} will be output in that location, and if it is NOT included in the template then the body markup will be output directly before the </body> tag as long as the template developer has not changed the content type using {% set_content_type %} or disabled this functionality using the {% toggle_automatic_markup %} method.
Futhermore, in order to facilitate the eventual removal of the {{ body_tags }} object, we have improved the {% add_javascript %} and {% add_stylesheet %} methods to allow adding inline scripts and styles. For more details, read the liquid documentation for {% add_javascript %} and {% add_stylesheet %}.
In addition to the major backend, live, and UI improvements listed above, we also made "minor" improvements to a number of additional systems, including: