<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/config/routes.rb, branch master</title>
<subtitle>[no description]</subtitle>
<id>https://erdgeist.org/gitweb/cccms/atom?h=master</id>
<link rel='self' href='https://erdgeist.org/gitweb/cccms/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/'/>
<updated>2026-06-30T17:21:09Z</updated>
<entry>
<title>Remove recent_changes RSS feed.  It leaks unpublished drafts and the basic auth was only symbolic</title>
<updated>2026-06-30T17:21:09Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-29T19:32:32Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=3bb2271850bab577f35291a174b1985aea2b2b55'/>
<id>urn:sha1:3bb2271850bab577f35291a174b1985aea2b2b55</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Restore and improve admin node search</title>
<updated>2026-06-29T02:30:22Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-29T02:28:55Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=191a77b2f7c280e00f7348507c13a173c704fcf9'/>
<id>urn:sha1:191a77b2f7c280e00f7348507c13a173c704fcf9</id>
<content type='text'>
- Admin search broke when routing-filter was removed: hardcoded /admin/search
and /admin/menu_search URLs in admin_search.js no longer matched the
locale-scoped routes. Fix by emitting locale-aware URLs from the layout
as JS variables.

- Also fixes form submission (POST -&gt; GET, missing = on form_tag), jQuery
.attr("value") -&gt; .val() for typeahead input reading, and template name
for Rails 8 compatibility.

- Adds a visible "search" link to the admin menu so editors can discover
the feature without knowing the Alt+F shortcut. Search results now show
node path alongside title and link directly to the edit view.

Named route admin_menu_search added to routes.rb.
</content>
</entry>
<entry>
<title>rss: add per-tag Atom feed at /rss/tags/:tag/updates.xml</title>
<updated>2026-06-27T21:19:22Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-27T21:19:22Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=b94de9fe8c30210469953bbd9880e9cbcc7a3ef5'/>
<id>urn:sha1:b94de9fe8c30210469953bbd9880e9cbcc7a3ef5</id>
<content type='text'>
- rss#tag_updates action: filters Page.heads by tag name, default
  locale, 20 items, same caching as updates feed
- tag_updates.xml.builder: Atom feed with CGI.escapeHTML on title
  and summary, consistent with updates.xml.builder
- tags/show.html.erb: add subscription link above article list
- routes: two routes per existing pattern (format-less + .:format
  constrained to /xml/)
</content>
</entry>
<entry>
<title>Fix routes after removing the routing-filter</title>
<updated>2026-06-27T18:28:00Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-27T18:28:00Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=4c22631a5a85b3082f0525cc2454d2bd2251922a'/>
<id>urn:sha1:4c22631a5a85b3082f0525cc2454d2bd2251922a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stage 7: Rails 7.2 → 8.1 on Ruby 3.2.11</title>
<updated>2026-06-27T14:58:53Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-27T14:58:53Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=420506e58fdfc84f1a5bede0a01dedf0af3bb4f3'/>
<id>urn:sha1:420506e58fdfc84f1a5bede0a01dedf0af3bb4f3</id>
<content type='text'>
- Bump Rails to 8.1.3 (Ruby unchanged at 3.2.11, new gemset rails8-upgrade)
- config.load_defaults 8.1; merge app:update diffs for all environment files
- Remove routing-filter 0.7.0; replace with native scope '(:locale)' in
  routes.rb and default_url_options in ApplicationController
- Delete config/initializers/routing_filter_rails71_patch.rb
- Replace vendored TinyMCE 3.x (~200 files) with tinymce-rails ~&gt; 8.3;
  migrate admin_interface.js from jQuery .tinymce()/advanced theme to
  tinymce.init(); add config/tinymce.yml; note: TinyMCE 7+ is GPL
- rails-i18n ~&gt; 8.0 added explicitly (previously indirect dependency)
- awesome_nested_set, acts-as-taggable-on pinned to git main/master
  (gemspec activerecord &lt; 8.1 ceiling; no functional incompatibility;
  repin to version once upstream releases updated gemspecs)
- globalize ~&gt; 7.0, libxml-ruby ~&gt; 5.0, nokogiri ~&gt; 1.18, pg ~&gt; 1.5
- sass-rails, coffee-rails, uglifier moved from :assets group to main
  (Sprockets 4 convention; :assets group no longer meaningful)
- Node: head, draft, lock_owner marked belongs_to optional: true
- Page: node, user, editor marked belongs_to optional: true
- Static assets in public/images/ and public/javascripts/ referenced via
  plain HTML tags; Rails 8 load_defaults raises on pipeline helpers for
  undeclared assets
- sessions_controller_test.rb: remove stale require and dead rescue_action
- users_controller_test.rb: assert button[type=submit] not input[type=submit]
  (Rails 8 button_to renders &lt;button&gt; not &lt;input&gt;)
- test_helper.rb: node.reload after children.create! (awesome_nested_set
  3.9.0 does not refresh parent in memory after callback)
- 129 runs, 339 assertions, 3 failures, 0 errors — identical baseline to 7.2
</content>
</entry>
<entry>
<title>Stage 4: Rails 5.2 -&gt; 6.1 on Ruby 2.7.2</title>
<updated>2026-06-25T23:59:57Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-25T23:59:57Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c06723ee715512c2033c7786c48f15674585b56b'/>
<id>urn:sha1:c06723ee715512c2033c7786c48f15674585b56b</id>
<content type='text'>
- routing-filter 0.6.3 -&gt; 0.7.0 (Rails 6.1 compatibility)
- RSS named routes rss_xml/rss_rdf added
- RouteWithParams workarounds: will_paginate_patch, content_path shim, safe_path helper
- Paperclip removed, replaced with FileAttachment concern (preserves URL scheme)
- Assets resource moved to /admin/assets (Sprockets middleware conflict)
- ApplicationRecord base class added, all models migrated
- Strong parameters added to Assets, Occurrences, Events, MenuItems controllers
- update_attributes -&gt; update throughout
- render :nothing -&gt; head :ok/:not_found throughout
- language_selector rewritten (removes :overwrite_params)
- Environment files updated for Rails 6.1 (eager_load, public_file_server, ActionMailer)
- Arel::Visitors::DepthFirst and Integer/Float duration patches removed from test_helper
- AssetsController tests added (10 tests covering upload, variants, destroy, auth)
- ImageMagick geometry: 460x250! for headline crop (not # which is invalid in IM6)

129 runs, 311 assertions, 5 failures (all pre-existing), 0 errors
</content>
</entry>
<entry>
<title>Upgrade to Rails 4.2.11.3</title>
<updated>2026-06-25T02:34:24Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-25T02:34:24Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=3f236c7a0e544db94ef822f120d649ac5ee958f7'/>
<id>urn:sha1:3f236c7a0e544db94ef822f120d649ac5ee958f7</id>
<content type='text'>
- Bump rails 3.2.22.5 → 4.2.11.3
- Replace globalize3 with globalize ~&gt; 5.0 (gem renamed at 5.0)
- Upgrade routing-filter ~&gt; 0.3 → ~&gt; 0.6
- Upgrade sass-rails, coffee-rails to 4.x
- Upgrade awesome_nested_set 2.x → 3.x (Rails 4 required)
- Add jquery-rails for UJS support
- Pin nokogiri ~&gt; 1.10.10, loofah ~&gt; 2.20.0, rails-html-sanitizer ~&gt; 1.4.4
- Add config/secrets.yml (gitignored), eager_load, serve_static_files
- Fix routes: add via: to all match calls, remove legacy catch-all routes
- Add admin named route, fix rvm dotfiles
- Fix ActiveRecord::FixtureSet rename in test_helper
- Set active_support.test_order and active_record.raise_in_transactional_callbacks
</content>
</entry>
<entry>
<title>Stage 1 complete: Rails 2.3.5 to Rails 3.2.22.5 upgrade</title>
<updated>2026-06-24T02:13:16Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-06-24T02:13:16Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=e0a7e0fec760ba12c8067a37e10c96f1f05876e2'/>
<id>urn:sha1:e0a7e0fec760ba12c8067a37e10c96f1f05876e2</id>
<content type='text'>
- Converted plugins to gems (Gemfile)
- Updated config structure (application.rb, boot.rb, environment.rb)
- Converted routes to Rails 3 DSL
- Converted named_scope to scope throughout models
- Converted find(:all, :conditions) to where() chains
- Fixed has_many :order to use ordering scope
- Updated session store and secret token configuration
- Fixed exception_notification middleware configuration
- Patched Ruby 2.4 / Rails 3.2 incompatibilities:
  - Integer/Float duration arithmetic (ActiveSupport)
  - Arel visit_Integer for PostgreSQL adapter
  - create_database String/Integer coercion
  - ActionController consider_all_requests_local
- Migrated taggings schema for acts-as-taggable-on
- Replaced dynamic_form gem with custom form_error_messages helper
- Fixed Rails 3 block helper syntax (form_for, form_tag, fields_for)
- Fixed admin layout yield
- Updated test suite for Rails 3 APIs
</content>
</entry>
<entry>
<title>nodes :show now also includes a direct link to to the live version of the node. Additionally, I changed the default route to a named route so it is much easier to generate proper public paths and urls. </title>
<updated>2009-11-14T09:42:21Z</updated>
<author>
<name>hukl</name>
<email>contact@smyck.org</email>
</author>
<published>2009-11-14T09:42:21Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=14e3a355fb4c68cc6ab8d123e107e65b8511bd6f'/>
<id>urn:sha1:14e3a355fb4c68cc6ab8d123e107e65b8511bd6f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactored revsions controller to act as a nested resource of nodes. boy that cleaned up some stuff quite a bit. also having tests for that is just feeling great</title>
<updated>2009-10-07T21:36:03Z</updated>
<author>
<name>hukl</name>
<email>contact@smyck.org</email>
</author>
<published>2009-10-07T21:36:03Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=262f4e0c2abfefbd6965358fdfd9a8c332a38d57'/>
<id>urn:sha1:262f4e0c2abfefbd6965358fdfd9a8c332a38d57</id>
<content type='text'>
</content>
</entry>
</feed>
