![]() Suppose we have a media entity with a URL alias of “/download-this-month-data” and a file named “/doc/month_01.xls” in a field. Less time on patches and workarounds means more time focusing on their specific challenges. But today, developers creating their own specific workflow solutions will have a consistent set of methods they can use to get and compare revision ids. The machine name of the revision message text field in media entities is revision_log_message, while it is revision_log for nodes and blocks. ![]() The road from patch to merge for a standardized revision UI was long and twisty and included assists, encouragement, and reviews from some of Bounteous’ own. A patchwork of patches and contrib modules ( Media Revisions UI, Block Content Revision UI) had sprung up to handle gaps and inconsistencies. ![]() True, but the methods for handling revisions developed at different rates, and are not uniform from type to type. D10 EnhancementsĪn entity, with apologies to Gertrude Stein, is an entity is an entity, yes? Entity API allows us to treat custom blocks, media, and taxonomies as if they were nodes – fieldable, translatable, and revisionable. To ensure that end users do not see these updates until approved and published, we use revision-handling techniques in our render cycle that, thanks to some newly merged work in Drupal 10, are now more standardized. The stakeholder visits and reviews the updated content in situ-the context in which the end user will experience the content. This shared content may be media entities, custom block content, and even node content in a View. If the content being moderated is a shared content type, designed to be embedded and viewed in a different page, we would use a different token: we use business logic and entity query results (inspired in part by contrib module Entity Usage) to discover and render links to every URL on which this shared content is found. If our entity is intended to be viewed as an independent page, with a URL, then we can include a link to “/node/XXX/latest” and “please review here” in our notification email to our stakeholder. ![]() The notification emails may include tokens relative to the content entity being transitioned from moderation state to state. Within a workflow configuration, one can create moderation states, create transitions between those states, enable Content Moderation Notification and create email rules to be triggered by those transitions. Improvements in Drupal 10 make this effort even easier going forward. Drupal is a magical Swiss army knife, kept polished and sharp by a robust open source community, so with a bit of clever development and care we can meet this expectation. This is a perfectly reasonable expectation, and it aligns with one of Bounteous’ guiding principles: Quality Assurance testing is a proxy for the customers’ experience: test from the end-user’s perspective. Stakeholders want to experience their new or updated content exactly as the end user will. Client stakeholders-site users responsible for reviewing and approving site content-don’t care about Drupal’s data models or reusable content strategies. The client’s expectation was that every page-and more importantly, every asset on that page-would be individually reviewed and approved.īut how does one moderate embedded assets or shared content in Drupal? Items such as media entities and custom block content can be configured to use a content moderation workflow, but the process is independent of the page nodes on which they’re placed. In these older platforms, page content was built URL by URL, subjected to a three-step approval process, and promoted to the live site. ![]() In a recent project, Bounteous helped a client replatform several sites. Replatforming a website or application to Drupal 10 is an exciting opportunity to rethink aspects of your process and business logic, but sometimes you want to just go with what you know. Organizations with established workflows and data oversight protocols typically have firm opinions on how those processes should work, look and feel. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |