A particular instance of a feature or chain should have a durable reference, meaning it doesn't change through time. Though if a human wants to change it, that seems ok.
The "toast" design pattern is the classic case for this. In TWP's case, the homepage will have breaking news bar that acts like toast -- the feature is evergreen, but often empty. When the newsroom fills it in, even users who don't reload the homepage should get the breaking news alert. We achieve this by constantly polling an endpoint (which should come with this feature request) on the client side and dumping the rendering onto the page.
Regarding the endpoint. The feature or chain may exist on more than one page or template, say page A and template B. If the feature is removed from page A but remains on template B, then the response from the endpoint when called from page A, should contain enough information (404, a flag, whatever) indicating that this feature is no longer on the page. However, the endpoint, when called from template B should return as normal.
Furthermore, the <pb:inc-feature /> tag should be able to include a feature by this durable reference.
The unique reference is very likely going to end up as the value of an HTML attribute. Therefore, its value should be attribute-friendly. Furthermore, if the unique reference is human-generated, there should be someway to assure its uniqueness.
This feature could also help us solve "the right-rail problem" -- I won't go into details -- noting it for myself as much as for anyone else.
Categories | New Functionality |
I need it... | Month |