<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/app/views, branch erdgeist-modernize-auth</title>
<subtitle>[no description]</subtitle>
<id>https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-modernize-auth</id>
<link rel='self' href='https://erdgeist.org/gitweb/cccms/atom?h=erdgeist-modernize-auth'/>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/'/>
<updated>2026-07-16T22:42:54Z</updated>
<entry>
<title>Cutover to new Recent Changes widget</title>
<updated>2026-07-16T22:42:54Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T22:42:54Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c810d1aa93a267dd8fcf8984c5d0b125629efa31'/>
<id>urn:sha1:c810d1aa93a267dd8fcf8984c5d0b125629efa31</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move rrule builder to a partial and share between events#new and events#edit</title>
<updated>2026-07-16T14:59:28Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T14:59:28Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c831c46b5522a44cefd430bdca04ec9db5a90052'/>
<id>urn:sha1:c831c46b5522a44cefd430bdca04ec9db5a90052</id>
<content type='text'>
</content>
</entry>
<entry>
<title>managed RRULE constructs now include week selection</title>
<updated>2026-07-16T14:43:11Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T14:43:11Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=35dc05de97677d57123617a7c4e78aad1611b28d'/>
<id>urn:sha1:35dc05de97677d57123617a7c4e78aad1611b28d</id>
<content type='text'>
Improve the humanizer to also understand weekly patters that
an editor can manually select, on top of the single week
rules.

Extend template and javascript controller to reflect these
changes.
</content>
</entry>
<entry>
<title>Split current_unique_name in a setter and an accessor</title>
<updated>2026-07-16T13:12:07Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T13:12:07Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=b701669d0d9a5d7be01f99b8e725c05c6c5d52ce'/>
<id>urn:sha1:b701669d0d9a5d7be01f99b8e725c05c6c5d52ce</id>
<content type='text'>
Also clean up some instance variable assignments on the way.
</content>
</entry>
<entry>
<title>nodes#show's revisions subsection renamed to history</title>
<updated>2026-07-16T12:04:51Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T12:04:51Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=c769bfb1b565cafd7a386dba5cae5b6bd4d1d38b'/>
<id>urn:sha1:c769bfb1b565cafd7a386dba5cae5b6bd4d1d38b</id>
<content type='text'>
Now there's a separate revisions history and a full action
log for a node. To reflect the extended scope, the section
has been renamed to history.
</content>
</entry>
<entry>
<title>Condense the action log into a scannable table</title>
<updated>2026-07-16T11:50:15Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T11:50:15Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=603ccfbd5fe96f0b83aaf3d5118aded2a39992fb'/>
<id>urn:sha1:603ccfbd5fe96f0b83aaf3d5118aded2a39992fb</id>
<content type='text'>
Several minor improvements to the action log presentation:
* Now a table with date and human readable presentation as
  rows is displayed
* If no changes in a title were detected, the old version
  is omitted
* The "inferred" flag is demoted to the end of the line
* You can zoom in on the node's history directly from a
  log line
* byline for the first publish action is preserved
* Revisions are directly linked to when a new one i
  published
</content>
</entry>
<entry>
<title>Add a reader for the action log at admin/log</title>
<updated>2026-07-16T01:30:01Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-16T01:30:01Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=190daaa8a0bb79e750894b83e31b9d99f7d900a4'/>
<id>urn:sha1:190daaa8a0bb79e750894b83e31b9d99f7d900a4</id>
<content type='text'>
NodeActionsController#index lists entries newest-first, filterable
by node_id or user_id -- the two zoom shapes the log was designed
around. Rendering goes through NodeActionsHelper.action_summary,
which builds one sentence per entry from metadata alone, so entries
referencing deleted users or nodes render from their snapshots;
live associations only upgrade names to links. Unknown verbs
degrade to a generic sentence rather than an error, since the log
outlives its vocabulary. The helper is the escaping boundary:
every metadata value passes through h() before assembly.

Actor names link to the log's own user zoom rather than the unused
users page -- inspecting a suspicious user's other actions is the
intended workflow. Publish entries with a translation_diff expose
a collapsed per-locale change table linking out to the revision
itself. Sentences live in en.yml/de.yml following the existing
widget-string convention. nodes#show links to its node's zoomed
log.
</content>
</entry>
<entry>
<title>Provide parent_unique_name in nodes#new if parent is already pre-set</title>
<updated>2026-07-15T23:40:37Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-15T23:40:37Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=fb7b8233f1bbf7acb88d48f96e6f81cefe168d1c'/>
<id>urn:sha1:fb7b8233f1bbf7acb88d48f96e6f81cefe168d1c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make the recent-changes page match the widget it links from</title>
<updated>2026-07-14T23:10:17Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-14T23:10:17Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=28a6999b55cbec555696df848d6e924aae3166ee'/>
<id>urn:sha1:28a6999b55cbec555696df848d6e924aae3166ee</id>
<content type='text'>
nodes/recent rendered the generic node-listing partial (id,
actions, current lock owner, revision number) -- nothing
resembling what 'See all recent changes' actually promised to
show more of. Both surfaces now render the same extracted
partial, so they can't tell two different stories again.

Also: head.editor correctly identifies who last wrote the content
sitting in head, but publish_draft! never touches editor at all
-- nobody has ever had the specific act of publishing recorded
anywhere. 'Published by X' was a claim the data never supported,
only incidentally true when the same person who drafted something
also happened to publish it. Relabeled to 'last edited by' -- same
data, accurately described. A real publish-actor is separate,
future work, once the action log exists.

Basic list styling added for the full page, which had never
rendered outside the widget's own compact five-line context
before.
</content>
</entry>
<entry>
<title>Remove dead admin/_recent_changes partial</title>
<updated>2026-07-14T23:09:52Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-07-14T23:09:52Z</published>
<link rel='alternate' type='text/html' href='https://erdgeist.org/gitweb/cccms/commit/?id=32987915b21590a096ebd7a5239001c5969f8760'/>
<id>urn:sha1:32987915b21590a096ebd7a5239001c5969f8760</id>
<content type='text'>
</content>
</entry>
</feed>
