So 3.6.3 (and 3.6.4) were released with a few draft publishing improvements.
3.6.3 tried to address two issues: #7401 and #7473.
To make it short, drafts were only listed in a Drafts menu and not directly visible in the default entry list, so when we were saving a draft, we were sent back to a list where the just edited entry was not listed. Plus, there were no way to know if an entry had any drafts pending.
3.6.3 moved drafts entries (the ones without a source entry, new unpublished entries) to the default list, adding a large DRAFT tag toward the end of the entry title. 3.6.4 tried to refine this by removing the publish status (the colored dots) for drafts but made things worse because itâs actually lying (a draft can be prepared for live or pending when published but appears in the list as deactivated).
3.6.3 also added an optional drafts column to list pending drafts for published entries.
So does this work? In a way, yes, itâs better than what it was. But it feels like patching something that deserves to be rethought. Letâs try and start over:
Every entry starts life as a draft (multiple first drafts should be allowed, but thatâs for another improvement issue).
So it makes sense that the default entries list should show these working copies. 3.6.3 shows that we agree on this.
But every published entry can start a new life as a draft (or multiple drafts).
So i make the case that the default entries list should show these drafts as well as they represent a work in progress. And that should be forced on the user in the same way it is for a first draft. It shouldn't be just an optional drafts column.
Plus the DRAFT tag feels like old design. Thatâs not necessarily a bad thing, but it feels like a patch and not something Craft would do (itâs not my fault if you set the bar so high that even good design is not enough good design anymore ;)).
And the drafts column is not very usable, accessing more drafts (+n button) resizes the column unexpectedly... and it looses precious horizontal space for something that shouldnât be an option.
It should be glanceable which entry is published and which entry is a draft. Glanceable but discrete, in a Craft way should i say.
For entries which are published and having a pending draft, it should be clear that this is not only a draft but also an entry with a current status. Going even further, we should be able to easily access the draft version or the source current version depending on which has been edited last.
We should be able to access more drafts should they exist and not only the last saved one directly from the list of entries. And this should apply for first draft entries should you one day implement multiple first drafts.
All of this must be compatible with the structured view (thatâs not an easy one).
I do have some UX and design background so Iâll hasard a proposition.
Often, the simplest design is the most complicated to come by. But the simplest design is also the most effective one. Trade offs must be made and we will have to, like sacrificing some vertical space for entries with drafts.
So Iâll update this post with a mockup (hopefully on Monday) of how I see things, but in a nutshell:
A mockup is worth a thousand words so Iâll report back asap.
Individual issues still need to be opened, it takes time, Iâll reference them here when I'm done, but I thought I'd list them briefly:
Thanx for reading thus far (English is not my mother tongue so BIG thanx actually).
Thanks for the feedback! Iâd love to see the mockup, but here are my thoughts based on what youâve said, in case it saves you some time.
3.6.4 tried to refine this by removing the publish status (the colored dots) for drafts but made things worse because itâs actually lying (a draft can be prepared for live or pending when published but appears in the list as deactivated).
This is how I felt at first. I changed it to a nondescript white circle because at _best_ the draft status was just added noise on the entry index view (as itâs not relevant until the draft is published), and at worst it was leading to confusion (as it gave the impression that these draft entries were currently live at first glance). I would say it is now _more_ accurately representing the draftâs status as far as the front-end is concerned, which is how authors are interpreting it.
(multiple first drafts should be allowed, but thatâs for another improvement issue)
I highly doubt we could do this in a way that is intuitive.
But every published entry can start a new life as a draft (or multiple drafts).
So i make the case that the default entries list should show these drafts as well as they represent a work in progress.
I disagree. We _have_ to show unpublished drafts in the entry index because thatâs all that they are at that point. Listing published entriesâ drafts right alongside everything else would add too much noise. I think the new optional âDraftsâ column is the ideal UI for showing those.
That said, as of Craft 3.6 itâs possible to define new sources that show drafts of published entries using a module. And weâll be making entry indexes even more flexible in Craft 4.
And the drafts column is not very usable, accessing more drafts (+n button) resizes the column unexpectedly... and it looses precious horizontal space for something that shouldnât be an option.
Itâs consistent with how we show related elements, if a relational fieldâs column has been added. And most of the time, youâre just going to want to access the most recently-edited draft, which is the first one that gets listed, so the +X button will rarely need to be clicked.
It should be glanceable which entry is published and which entry is a draft. Glanceable but discrete, in a Craft way should i say.
Iâm not sure thatâs possible? _Glanceable_ and _discreet_ are mutually exclusive UI goals.
For entries which are published and having a pending draft, it should be clear that this is not only a draft but also an entry with a current status. Going even further, we should be able to easily access the draft version or the source current version depending on which has been edited last.
Iâd say itâs already clear whatâs a published entry vs. an unpublished draft, and with the new âDraftsâ column it is possible to quickly access publish entriesâ most recent drafts.
We should be able to access more drafts should they exist and not only the last saved one directly from the list of entries.
Also possible already via the âDraftsâ column.
- Use the draft icon in place of the publish status dot for drafts entries. If you think itâs not glanceable enough, make it white in a gray squared rounded box.
- Drop the DRAFT tag in the entry title.
I did consider this when I added the DRAFT badge, but it would cause the draft entriesâ titles to be misaligned with the others, which wouldnât look right.
- For an entry with a current status (a source entry)
- If the draftâs last updated date is more recent than the sourceâs one, make the draft the main title (with appended draft name) and show the current (source) entry as a secondary title (below the first one) along with its dot published status.
- Inverse the logic if the dates say so (always show at least the last updated draft).
Iâm almost certain this would add confusion, and that our current âDraftsâ column is a better UX.
(English is not my mother tongue so BIG thanx actually).
Your English is better than most native English speakers :)
Thanx for all these comments. Having your side of the story is actually gonna help me for my mockup.
And to try and convince you on some of our disagreements ;)
The main one is about the case of a published entry for which a draft exists.
My reasoning is as follows:
That's the reason why I'm trying so hard to show the most recent draft in the entries list while still showing the current source entry but only as a secondary option. It may add confusion. Only way to be sure is to mock it. Which I'll do ;)
Another big advantage of this is it's immediately obvious for all other authors of which one could be interested in working on this entry that it's already being worked on and he should preferably access the current working draft. It may make the "oops I created a draft and didn't see you already did" a thing of the past.
Another plus of surfacing drafts this way would be to force authors to clean unused drafts.
But that's just an added benefit.
Teaser:
_(btw, for this design to work, it will be better with a new "kind of top" alignment for rows)_

If the author starts a draft for a published entry, it means it probably wants to replace the published entry at some point when he'll be satisfied with the draft he's working on.
I feel like this kind of assumes that drafts are always created as a conscious effort by an author. In reality, drafts are often auto-created by Craft due to the author entering live preview, or because they clicked the "New entry" button (and not necessarily because they actually wanted to save or publish anything).
Personally I feel like the current UX is about as clear and intuitive as it can probably be at the moment (the latest 3.x updates have helped a lot). Until there's either a clear distinction between manually created/saved drafts and auto-drafts, or auto-drafts are made more ephemeral in the sense that nothing is created (or persisted) _unless the author makes a conscious decision to create/save it_, I think a lot of these suggestions would add to the confusion and/or frustration in this area.
I feel like this kind of assumes that drafts are always created as a conscious effort by an author.
Yes it does. Plus as a new entry, which is obviously a conscious effort.
In reality, drafts are often auto-created by Craft due to the author entering live preview
I totally forgot that live preview created an auto-draft.
Thanx for your input there.
I agree, this makes matter worse and my proposition won't make any sense until this is resolved. Live preview shouldn't create a draft, or at least it shouldn't be visible by the author nor should he be aware of this happening behind the scenes... this doesn't make any sense that I can see. But maybe am I missing something?
A draft should only be created in two situations:
- With that in mind, in the entry list, if the draft is more recent than the source, there is a big chance that the author wants to access the draft directly and not the source.
I do agree with this. Iâll take it one step further: if an author has an active draft, thereâs a good chance that they are more interested in editing that than _any_ other entry.
So maybe the best solution would be to list all of the current userâs active drafts at the top of the table (including new, unpublished drafts), visually separated from the main entry list under a âMy Draftsâ heading. Then we continue to show normal (published) entries below, just like we currently do (except w/out unpublished drafts).
Until there's either a clear distinction between manually created/saved drafts and auto-drafts, or auto-drafts are made more ephemeral in the sense that nothing is created (or persisted) _unless the author makes a conscious decision to create/save it_, I think a lot of these suggestions would add to the confusion and/or frustration in this area.
Thatâs a good point (discussed at #6681), though the âMy Draftsâ table idea would make it easier to clean up unwanted drafts as well, as @JeanLucEsser mentioned. If you donât actually have any current drafts you care about, you can just select all of your drafts and delete them in one stroke.
if an author has an active draft, thereâs a good chance that they are more interested in editing that than any other entry
I agree but in my proposal, the reason I'm showing the current version alongside the draft is to give context to the author as to what is the status of the entry as a whole, is it currently live, is it disabled and should I consider finishing this draft an emergency and so on... I think that if it can be done without too much added confusion, it should be. After all it's only one more line that can be somehow muted in the title section.
list all of the current userâs active drafts at the top of the table (including new, unpublished drafts)
Yeah I thought about this as well. But the issue with this is that a golden rule of UX is that the user should know what to expect from an action before doing this action. And I'm not sure that would be true when filtering or sorting the list, or even searching. Do you keep the top portion of the table when searching? How about when sorting? Or filtering for live entries? Do you include drafts in that case? Or do you include the draft for which the status is live? Or the draft for which a current version exists and is live? This is not so clear cut a decision. And I'm pretty sure that asking ten users you'll get 10 different answers.
And I'm not even talking about the structured view which poses others challenges.
Maybe this top portion of the table wouldn't be at all considered for any searches, sorting or filtering... why not... but then we must be sure that the number of drafts is manageable or it would push the normal entries too far below. For that I'm still not seeing why auto drafts are created when entering live preview (will react on the #6681 issue next / just checked at my largest client the situation on this and I almost felt off my chair).
Thank you for your continued comments on this issue, I think we'll eventually get somewhere here ;)
(Still trying to find time to finish that mockup ^^)
Iâve just made a couple changes for the next release, which I think will be helpful (considering the other issues like #6681).
First, draft styling has been cleaned up in the Entries index page:

Second, the âDraftsâ status now shows all drafts â not just unpublished ones (as originally requested by #6632). Drafts of published entries are distinguished from unpublished drafts because they also display their draft name:

And finally, thereâs a new âMy Draftsâ dashboard widget, which lists the logged-in userâs recently-updated drafts (both unpublished drafts and published entriesâ drafts):

Thereâs still room for improvement, but I suspect these changes (particularly the widget) will help give authors a more direct workflow to accessing and editing drafts theyâre working on.
Craft 3.6.5 is out now with those changes âš