Skip to content

Commit

Permalink
Merge pull request #969 from denny/release/21.03
Browse files Browse the repository at this point in the history
Release 21.03: The 'Yo dawg I herd u liek CMS' release
  • Loading branch information
denny authored Feb 28, 2021
2 parents 912c40b + 70f61e4 commit 87074c7
Show file tree
Hide file tree
Showing 27 changed files with 763 additions and 715 deletions.
24 changes: 12 additions & 12 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ GIT
PATH
remote: plugins/ShinyAccess
specs:
shiny_access (21.02)
shiny_access (21.03)
acts-as-taggable-on
acts_as_paranoid
nokogiri (>= 1.11.0.rc4)
Expand All @@ -24,7 +24,7 @@ PATH
PATH
remote: plugins/ShinyBlog
specs:
shiny_blog (21.02)
shiny_blog (21.03)
acts-as-taggable-on
acts_as_paranoid
ckeditor
Expand All @@ -37,7 +37,7 @@ PATH
PATH
remote: plugins/ShinyCMS
specs:
shinycms (21.02.14)
shinycms (21.03)
acts_as_paranoid
pagy
pg (~> 1.2.3)
Expand All @@ -47,7 +47,7 @@ PATH
PATH
remote: plugins/ShinyForms
specs:
shiny_forms (21.02)
shiny_forms (21.03)
acts_as_paranoid
nokogiri (>= 1.11.0.rc4)
pagy
Expand All @@ -58,7 +58,7 @@ PATH
PATH
remote: plugins/ShinyInserts
specs:
shiny_inserts (21.02)
shiny_inserts (21.03)
acts_as_paranoid
ckeditor
nokogiri (>= 1.11.0.rc4)
Expand All @@ -70,7 +70,7 @@ PATH
PATH
remote: plugins/ShinyLists
specs:
shiny_lists (21.02)
shiny_lists (21.03)
acts_as_paranoid
nokogiri (>= 1.11.0.rc4)
pagy
Expand All @@ -81,7 +81,7 @@ PATH
PATH
remote: plugins/ShinyNews
specs:
shiny_news (21.02)
shiny_news (21.03)
acts-as-taggable-on
acts_as_paranoid
ckeditor
Expand All @@ -94,7 +94,7 @@ PATH
PATH
remote: plugins/ShinyNewsletters
specs:
shiny_newsletters (21.02)
shiny_newsletters (21.03)
acts_as_paranoid
ckeditor
nokogiri (>= 1.11.0.rc4)
Expand All @@ -106,7 +106,7 @@ PATH
PATH
remote: plugins/ShinyPages
specs:
shiny_pages (21.02)
shiny_pages (21.03)
acts_as_paranoid
ckeditor
nokogiri (>= 1.11.0.rc4)
Expand All @@ -118,7 +118,7 @@ PATH
PATH
remote: plugins/ShinyProfiles
specs:
shiny_profiles (21.02)
shiny_profiles (21.03)
acts_as_paranoid
nokogiri (>= 1.11.0.rc4)
pagy
Expand All @@ -129,15 +129,15 @@ PATH
PATH
remote: plugins/ShinySEO
specs:
shiny_seo (21.02)
shiny_seo (21.03)
pg (>= 0.18, < 2.0)
rails (~> 6.1.2, >= 6.1.2.1)
sitemap_generator

PATH
remote: plugins/ShinySearch
specs:
shiny_search (21.02)
shiny_search (21.03)
acts-as-taggable-on
acts_as_paranoid
algoliasearch-rails
Expand Down
2 changes: 1 addition & 1 deletion config/initializers/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@

# ShinyCMS version number ('Ubuntu style', YY.MM)
module ShinyHostApp
VERSION = '21.02'
VERSION = '21.03'
public_constant :VERSION
end
48 changes: 48 additions & 0 deletions docs/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,54 @@

This file contains information about changes (particularly breaking changes) between releases - with the most recent release first.

### 2021-03-01 21.03 March 2021: The 'Yo dawg I herd u liek CMS' release

* GitHub tag: https://github.com/denny/ShinyCMS-ruby/releases/tag/v21.03

* Headline for this release:
I moved almost all the code that was still in main_app, into a plugin! :-o

* Done:
* The main_app is now called ShinyHostApp, and eventually it's _only_ job will be to load plugins - to demonstrate how (eventually) ShinyCMS could potentially be integrated within any existing Rails app
* The code that was in main_app is now in the new ShinyCMS core plugin, which you can find in `plugins/ShinyCMS`
* To-do:
* The config files haven't moved yet, that's my next big job
* The documentation is partially updated, but I haven't gone through it all yet, so there may well be discrepancies here there and everywhere
* Some of the engines from gems are still living in the main_app; a few of them didn't take well to being moved so I put them back there for now

* App and plugin versions:
* All of the feature plugins, the new ShinyCMS core plugin, and the sort-of new ShinyHostApp, have all had their versions updated to 21.03 in this release - because as you can probably imagine, everything has had quite a lot of changes this last month!

* Other significant stuff:
* I wrote a lot more code to support the Plugins 'infrastructure' or framework or whatever you'd call it. As well as the existing Plugin model (now ShinyCMS::Plugin, in the core plugin's models) there's also ShinyCMS::Plugins (plural) now - and a concern with some sugar/helper methods on top of that. All the code for dealing with collections of plugins moved into the new model, leaving the code that deals with individual plugins in the original class.

* Annoying side-effects of the main_app -> ShinyCMS plugin migration
* A whole load of the moved files lost their git history at some point during the process; I guess GitHub decided that too many things had moved and so that must mean they'd all been deleted and new files created, despite the fact that I used the `git mv` command to do it all. I kept checking on things at the start and it was going okay, so I don't know what changed. I was quite a long way into the process when I did notice that it had dropped the history for a lot of stuff, so after a long pause to think it over, I decided to carry on rather than start again.

* Adventures in immutable data structures (and shiny emojis!)
* I decided to use the [Persistent Diamond(https://gitlab.com/ivoanjo/persistent-dmnd) set of immutable data structures to underpin the Plugin(s) models and concern, which comes complete with a shiny little diamond emoji scattered around in the code (it's part of the method names, as well as the module name). One of my co-workers hates it, but I'm quite enjoying it... brightens my days up a bit :)

* Also added:
* ShinySEO plugin; currently it just generates sitemap files (to feed into Google et al), but I already had some ideas for the future involving metatags helpers and concerns, so I figured an SEO plugin might be a good place for all that to end up.
* [parallel_tests](https://github.com/grosser/parallel_tests#readme) - run the tests spread evenly across all your CPUs!
* [rspec-instafail](https://github.com/grosser/rspec-instafail#readme) - displays fuller details of test failures while the rest of the suite continues to run in 'progress dots only' mode - so I can start on the fixes before it's even finished running :)
* [A GitHub project board](https://github.com/denny/ShinyCMS-ruby/projects/1), for task-tracking (instead of the TODO and in-progress files)

* Updated:
* LOTS OF DATABASE (TABLE NAME) CHANGES RELATED TO THE PLUGINIFICATION!!
* After moving everything into the ShinyCMS plugin, I removed the leading 'Shiny' from a lot of helper and concern names, as they're namespaced now anyway
* Made some changes around the comment-author area; it's a slightly more obvious role/duck-type now, with an AnonymousAuthor class joining in too
* Pulled most of the code out of the demo-data rake task into a supporting module, and broke it up into smaller methods. Still needs more tests though.
* I broke the plugin generator code up a bit too, but that's still pretty hideous. I got it down into the same complexity range as the rest of the system though, so it's not throwing the scale off in Ruby Critic's charts any more.
* Rails made its way from 6.1.1 to 6.1.3 over the month (with some security advisories involved I believe, so make sure you're up to date)

* Removed:
* Got rid of quite a lot of instance variable warnings from rubocop for the spec files - although there are still well over a hundred to go!
* I both added _and_ removed the Airbrake gem; their free trial on Heroku turns out to be so feature-limited as to be useless. Coralogix and Bugsnag were both more impressive - Coralogix is very shiny, and Bugsnag has got some solid thinking behind it.

* Misc/stuff/FYI
* I currently have a temporary branch running parallel to main with Pry removed, as Heroku seem to have a problem with Pry right now (or more accurately, with the coderay gem that it requires); I'll reintegrate everything as soon as it seems safe.


### 2021-02-01 21.02 February 2021: The 'quiet after the storm' release

Expand Down
114 changes: 57 additions & 57 deletions plugins/ShinyAccess/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
shiny_access (21.02)
shiny_access (21.03)
acts-as-taggable-on
acts_as_paranoid
nokogiri (>= 1.11.0.rc4)
Expand All @@ -13,60 +13,60 @@ PATH
GEM
remote: https://rubygems.org/
specs:
actioncable (6.1.2.1)
actionpack (= 6.1.2.1)
activesupport (= 6.1.2.1)
actioncable (6.1.3)
actionpack (= 6.1.3)
activesupport (= 6.1.3)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.1.2.1)
actionpack (= 6.1.2.1)
activejob (= 6.1.2.1)
activerecord (= 6.1.2.1)
activestorage (= 6.1.2.1)
activesupport (= 6.1.2.1)
actionmailbox (6.1.3)
actionpack (= 6.1.3)
activejob (= 6.1.3)
activerecord (= 6.1.3)
activestorage (= 6.1.3)
activesupport (= 6.1.3)
mail (>= 2.7.1)
actionmailer (6.1.2.1)
actionpack (= 6.1.2.1)
actionview (= 6.1.2.1)
activejob (= 6.1.2.1)
activesupport (= 6.1.2.1)
actionmailer (6.1.3)
actionpack (= 6.1.3)
actionview (= 6.1.3)
activejob (= 6.1.3)
activesupport (= 6.1.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.2.1)
actionview (= 6.1.2.1)
activesupport (= 6.1.2.1)
actionpack (6.1.3)
actionview (= 6.1.3)
activesupport (= 6.1.3)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (6.1.2.1)
actionpack (= 6.1.2.1)
activerecord (= 6.1.2.1)
activestorage (= 6.1.2.1)
activesupport (= 6.1.2.1)
actiontext (6.1.3)
actionpack (= 6.1.3)
activerecord (= 6.1.3)
activestorage (= 6.1.3)
activesupport (= 6.1.3)
nokogiri (>= 1.8.5)
actionview (6.1.2.1)
activesupport (= 6.1.2.1)
actionview (6.1.3)
activesupport (= 6.1.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (6.1.2.1)
activesupport (= 6.1.2.1)
activejob (6.1.3)
activesupport (= 6.1.3)
globalid (>= 0.3.6)
activemodel (6.1.2.1)
activesupport (= 6.1.2.1)
activerecord (6.1.2.1)
activemodel (= 6.1.2.1)
activesupport (= 6.1.2.1)
activestorage (6.1.2.1)
actionpack (= 6.1.2.1)
activejob (= 6.1.2.1)
activerecord (= 6.1.2.1)
activesupport (= 6.1.2.1)
activemodel (6.1.3)
activesupport (= 6.1.3)
activerecord (6.1.3)
activemodel (= 6.1.3)
activesupport (= 6.1.3)
activestorage (6.1.3)
actionpack (= 6.1.3)
activejob (= 6.1.3)
activerecord (= 6.1.3)
activesupport (= 6.1.3)
marcel (~> 0.3.1)
mimemagic (~> 0.3.2)
activesupport (6.1.2.1)
activesupport (6.1.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
Expand All @@ -91,7 +91,7 @@ GEM
i18n (>= 1.6, < 2)
globalid (0.4.2)
activesupport (>= 4.2.0)
i18n (1.8.8)
i18n (1.8.9)
concurrent-ruby (~> 1.0)
loofah (2.9.0)
crass (~> 1.0.2)
Expand All @@ -104,42 +104,42 @@ GEM
mimemagic (0.3.5)
mini_mime (1.0.2)
mini_portile2 (2.5.0)
minitest (5.14.3)
minitest (5.14.4)
nio4r (2.5.5)
nokogiri (1.11.1)
mini_portile2 (~> 2.5.0)
racc (~> 1.4)
pagy (3.10.0)
pagy (3.11.0)
pg (1.2.3)
pundit (2.1.0)
activesupport (>= 3.0.0)
racc (1.5.2)
rack (2.2.3)
rack-test (1.1.0)
rack (>= 1.0, < 3)
rails (6.1.2.1)
actioncable (= 6.1.2.1)
actionmailbox (= 6.1.2.1)
actionmailer (= 6.1.2.1)
actionpack (= 6.1.2.1)
actiontext (= 6.1.2.1)
actionview (= 6.1.2.1)
activejob (= 6.1.2.1)
activemodel (= 6.1.2.1)
activerecord (= 6.1.2.1)
activestorage (= 6.1.2.1)
activesupport (= 6.1.2.1)
rails (6.1.3)
actioncable (= 6.1.3)
actionmailbox (= 6.1.3)
actionmailer (= 6.1.3)
actionpack (= 6.1.3)
actiontext (= 6.1.3)
actionview (= 6.1.3)
activejob (= 6.1.3)
activemodel (= 6.1.3)
activerecord (= 6.1.3)
activestorage (= 6.1.3)
activesupport (= 6.1.3)
bundler (>= 1.15.0)
railties (= 6.1.2.1)
railties (= 6.1.3)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.3.0)
loofah (~> 2.3)
railties (6.1.2.1)
actionpack (= 6.1.2.1)
activesupport (= 6.1.2.1)
railties (6.1.3)
actionpack (= 6.1.3)
activesupport (= 6.1.3)
method_source
rake (>= 0.8.7)
thor (~> 1.0)
Expand Down
2 changes: 1 addition & 1 deletion plugins/ShinyAccess/lib/shiny_access/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,6 @@

# Version number ('Ubuntu style'; year and month)
module ShinyAccess
VERSION = '21.02'
VERSION = '21.03'
public_constant :VERSION
end
Loading

0 comments on commit 87074c7

Please sign in to comment.