<feed xmlns='http://www.w3.org/2005/Atom'>
<title>cccms/app/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-20T17:39:39Z</updated>
<entry>
<title>Add banner render logic</title>
<updated>2026-08-20T17:39:39Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-20T17:39:39Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=a986b1f2b5676624f02373cb54eb3b81b18f3f79'/>
<id>urn:sha1:a986b1f2b5676624f02373cb54eb3b81b18f3f79</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add redirect ui in in nodes#edit and apply some minor cleanup</title>
<updated>2026-08-20T10:50:30Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-20T10:50:30Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=a8cf725312d245d8d1f1df0fff22718975ce249e'/>
<id>urn:sha1:a8cf725312d245d8d1f1df0fff22718975ce249e</id>
<content type='text'>
Also give search inputs a magnifier and a clear control: input_group
wraps a field with an icon and, where clearing is meaningful, a
button that empties it and any hidden companion named by data-clears.

Clean up some inconistency between field hints presented as p and as
span.

Remove stray console.log.
</content>
</entry>
<entry>
<title>Redirect a page to a node or an external URL</title>
<updated>2026-08-19T14:05:40Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-19T14:05:40Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=4df88b601b1900c287051d827eaff46f498f60d0'/>
<id>urn:sha1:4df88b601b1900c287051d827eaff46f498f60d0</id>
<content type='text'>
Page#redirect_target resolves the precedence and returns nil for a
destination that is restricted or has no head, so a page with a broken
target renders itself rather than linking nowhere. The banner partial will
call the same method, so the redirect and the link cannot drift.

One hop, no exceptions, checked in publish_draft! rather than as a
validation: two nodes publishing concurrently could each pass a save-time
check and still produce a chain. "Live" means heads only, a draft redirect
that has not published is not yet a link anyone can follow.

Node.search excludes redirecting pages. editor_search does not: an editor
looking for one searches by title, and only the body is worth hiding.
</content>
</entry>
<entry>
<title>Retire conventions overview page</title>
<updated>2026-08-14T18:14:46Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-14T18:14:46Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=fe89095ccb34bcdc9838a71bc1fa48279ea3ec8c'/>
<id>urn:sha1:fe89095ccb34bcdc9838a71bc1fa48279ea3ec8c</id>
<content type='text'>
</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 external homepage onto the draft</title>
<updated>2026-08-08T00:46:06Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-08T00:46:06Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=1a037ac6fab34c5f65ed0f37ed603b88e7b02fd1'/>
<id>urn:sha1:1a037ac6fab34c5f65ed0f37ed603b88e7b02fd1</id>
<content type='text'>
</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>Let editors set a node external homepage, gated and witnessed</title>
<updated>2026-08-06T11:30:38Z</updated>
<author>
<name>erdgeist</name>
<email>erdgeist@erdgeist.org</email>
</author>
<published>2026-08-06T11:30:38Z</published>
<link rel='alternate' type='text/html' href='http://erdgeist.org/gitweb/cccms/commit/?id=5644fffbc3c58e6dd7e3c4103c28bad8f4c0bbc6'/>
<id>urn:sha1:5644fffbc3c58e6dd7e3c4103c28bad8f4c0bbc6</id>
<content type='text'>
</content>
</entry>
</feed>
