Releases: denny/ShinyCMS-ruby
Happy New Year, Happy New Rails, Happy New Ruby! 🎉
A couple of fairly significant bumps in the dependency chain last month, with Rails going from 6.0 to 6.1, and Ruby from 2.7 to 3.0 - between them this entire release probably counts as a breaking change. Enjoy! 😉
Other notable updates include a change of pagination gem (goodbye Kaminari, hello Pagy!), the removal of Travis CI (the new owners do not seem keen on open source projects), the addition of a few more code quality tools (rubocop-rspec, rails_best_practices, rubycritic, and TypoCI), and some more work on moving all of the supporting files for themes into the /themes directory - this time the JavaScript bits.
More details in the release notes, as ever.
🎉 🎉 🎉 Happy New Year!! 🎉 🎉 🎉
December 2020: The 'ShinyAccess and ActiveStorage' Edition
The most noteworthy features of this release are:
- The new ShinyAccess plugin, which provides access control features for content on the main site
- Image elements in templated content are now handled by ActiveStorage
- User profiles have been fully split off from user accounts
- Default charts and dashboard added for Blazer
- Explicit config added for HTML sanitizer, meaning various common tags/attributes are now allowed through when displaying blog and news posts
Notable bug fixes in this release include one security fix (access to the Blazer charting features in the admin area is now properly controlled by Pundit authorisation), and two ways that a mistake in the content of SHINYCMS_PLUGINS could have caused fatal errors on startup are now handled gracefully instead.
Breaking changes include renaming of two feature flags, and a new location for theme asset files.
For more details, please see the release notes
November 2020: The 'tricky second album' release
Okay, I admit it - I almost forgot that I'd started doing releases, and that I intended to aim to do one at the start of each month.
My memory was jogged by the fact that I'm giving a talk tomorrow (well, today now), partially about ShinyCMS... so here is a slightly late November 2020 release 🙂
See the release notes for the gory details, but highlights include updating to ruby 2.7.2, adding search and pagination to pretty much all sections of the admin area, and adding 'soft delete' to all the models.
October 2020: The First Birthday Edition
First release!
Fair warning; I'm releasing today because of the date (one year since I started the project!) rather than with any guarantee that this particular version of the code is more stable or less buggy than it was yesterday or will be tomorrow.
This project is still under very active development, and until I hear from somebody who is using it in production, I reserve the right to commit breaking changes with no warning and no shame 😄
Current features
- Provided by plugins:
- Pages and Page Sections
- Site admins can add as many pages and (nested) sections as they like
- Pages have defined content areas which can be edited by admins
- Page layout is controlled by Page Templates (can be provided by a theme or custom-built)
- Dynamically generated menus
- Inserts (re-usable content fragments that can be pulled into any template)
- News section
- Blog
- Mailing lists
- Newsletters
- Basic form handlers (e.g. contact form submitted -> email form data to site owner)
- Site search feature (supports multiple search back-ends; default is pg_search)
- Load only the plugins you want/need - smaller footprint, smaller attack surface
- Pages and Page Sections
- Provided by the main app:
- Comments (currently enabled on blog posts and news posts)
- Fully nested, so you can easily see who is replying to who at any level
- Email notifications of replies to your comments and posts
- Uses reCAPTCHA to block comments from bots
- Uses Akismet to flag potential spam comments for moderation
- Spam comment moderation sends 'spam'/'not spam' training data to Akismet
- Tags (currently enabled on blog posts and news posts, ready to add to any content type)
- Likes or up/down votes on posts, comments, etc
- User accounts and administration
- ACL-based authorisation system for admins (powered by Pundit)
- Uses reCAPTCHA to block registration by bots
- Comments (currently enabled on blog posts and news posts)
- Support for themes on the hosted site
- Light-lift theme system - you only need to override the default templates that you want to change
- Two themes currently included:
- Halcyonic (one, two, and three column layouts; suitable for content-rich sites)
- Coming Soon (single page with mailing list sign-up form and slideshow background)
- Web interface for site settings
- Change most site settings from within the CMS admin area
- Easily enable or disable CMS features (e.g. new user registrations)
- Decide which settings to allow site users to override (e.g. theme)
- All emails use MJML templates, producing reliably cross-platform HTML emails
- Built-in web stats (powered by Ahoy) and email stats (powered by Ahoy::Email)
- Charts and dashboards for viewing stats (powered by Blazer)