<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/test/controllers, branch master</title>
<subtitle>[no description]</subtitle>
<id>http://erdgeist.org/gitweb/cccms/atom?h=master</id>
<link rel='self' href='http://erdgeist.org/gitweb/cccms/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/'/>
<updated>2026-08-14T22:40:49Z</updated>
<entry>
<title>Add test for trashed rows offering restore and refusing restore without live parents</title>
<updated>2026-08-14T22:40:49Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-14T22:40:49Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=96cf1945a256c8ef825f9b1af81ca8bee751a0b5'/>
<id>urn:sha1:96cf1945a256c8ef825f9b1af81ca8bee751a0b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fold revision metadata into a two-line row</title>
<updated>2026-08-14T15:02:30Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-14T15:02:30Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=f93969e772a36b54998496092b54972825a07dd8'/>
<id>urn:sha1:f93969e772a36b54998496092b54972825a07dd8</id>
<content type='text'>
Title on the first line, date, revision and editor on the second, with the
two actions as an icon grid. Four columns become two, so the table needs no
mobile card treatment.
</content>
</entry>
<entry>
<title>Escape feed content with Builder rather than by hand</title>
<updated>2026-08-09T21:31:35Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-09T21:31:35Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=5690cf4d4e05eafdfd2e270bbdf1a925114d0f76'/>
<id>urn:sha1:5690cf4d4e05eafdfd2e270bbdf1a925114d0f76</id>
<content type='text'>
Builder escapes by default; the three feed templates no longer call
CGI.escapeHTML. This fixes two sites that never escaped at all: the tag
feed's externally supplied :tag segment, interpolated into its title, self
link and id, and dc:creator in the RDF template.

Subscribers see one difference: quotes and apostrophes arrive raw, which is
valid in element text.

config/initializers/xmlparser.rb, which redefined Builder::XmlBase#_escape
as the identity function, is gone. XML::Node#replace_with went with it, no
callers.
</content>
</entry>
<entry>
<title>Let the RSS templates raise in tests</title>
<updated>2026-08-09T21:07:58Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-09T21:07:58Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=4d8c7290adf8dd41677ccc44a5c5ffe5d1bed2f6'/>
<id>urn:sha1:4d8c7290adf8dd41677ccc44a5c5ffe5d1bed2f6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Report every editorial attribute in the revision diff</title>
<updated>2026-08-09T13:45:56Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-09T13:45:56Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=9d32458491d79f8e06a706375030c78282f4427b'/>
<id>urn:sha1:9d32458491d79f8e06a706375030c78282f4427b</id>
<content type='text'>
diff_against gained external_url, published_at and user. The view renders
each metadata section only when that attribute changed, and says so once
when none did.

Metadata now precedes the locale pointer, which speaks only of translations:
above the metadata it read as "nothing changed" on a revision that had moved
the page.
</content>
</entry>
<entry>
<title>Attach an asset to a page from the asset's own page</title>
<updated>2026-08-09T11:26:23Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-09T11:26:23Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=616a0d2d2ba15a7e176938ee829d60366fb6a9c2'/>
<id>urn:sha1:616a0d2d2ba15a7e176938ee829d60366fb6a9c2</id>
<content type='text'>
The picker moves from assets/edit to assets/show, where the list of attached
pages already is.

A member route, POST assets/:id/attach_to_node, replaces the ride on #update.

Supersedes the picker wiring in the previous commit; what remains of it is
@attach_node in #create, the flash composition and the corrected hint.
</content>
</entry>
<entry>
<title>Attach an asset to a page from its edit form</title>
<updated>2026-08-09T02:14:30Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-09T02:14:30Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=42b996e9197680a1955cfa5639462908677e5a94'/>
<id>urn:sha1:42b996e9197680a1955cfa5639462908677e5a94</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Attach assets to the draft instead of to every lifecycle row</title>
<updated>2026-08-09T01:33:55Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-09T01:33:55Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=20c735b0c5a2db9b8984848253ad99332d6211a8'/>
<id>urn:sha1:20c735b0c5a2db9b8984848253ad99332d6211a8</id>
<content type='text'>
Node#attach_asset! writes to the node's draft alone, creating one from the
head when none is pending. It refuses when another user holds the lock, and
when an autosave already exists

The asset_attach verb goes with it. create_new_draft names the editor on the
draft it creates and the publish entry's asset delta reports the attachment.
</content>
</entry>
<entry>
<title>Move the pending address from the node onto the draft</title>
<updated>2026-08-07T04:15:14Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-07T04:15:14Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=f4ddfff03ca9f25d50f39a1971877362d85eb9cb'/>
<id>urn:sha1:f4ddfff03ca9f25d50f39a1971877362d85eb9cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix test that expected old sitemap collapsing behaviour</title>
<updated>2026-08-06T20:07:13Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-06T20:07:13Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=ed6fa6502782933c5b06a80bfbb0dc93f77c1fa1'/>
<id>urn:sha1:ed6fa6502782933c5b06a80bfbb0dc93f77c1fa1</id>
<content type='text'>
</content>
</entry>
</feed>
