Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Page Drafts
#1
I am working on implementing page drafts and there are some outstanding issues i would love to get user input on.

The feature issue is here
https://github.com/GetSimpleCMS/GetSimpleCMS/issues/570

The remaining issues basically come down to showing additional information needed to page drafts, while behaving exactly like page editing now, but with some extra functionality needed for drafts, I have drafted and mocked up a ton of flow and layout concepts, and they all sucked as they made the editpage way cluttered and altered its layout. Also we cannot use tabs for draft switching since we already have 2 tabbed sections now, and although familiar, it would be confusing.

So I came up with this pagestack UI that i have been playing with, and I am hoping people like it, but i do want input before I go any further. The main plumbing is done, so this is just the finishing touches that need to be decided.

There are also some open questions about page drafts that need to be worked out, listed in the issue.

Namely, what do we call a page that is not the draft version , the "non-draft page".
I am calling it "published" but this might be confusing down the road if we have actual page publishing for "toggle public or not" functionality, in which a page will actually be published publicly or not, this is different that drafts, pages, in that pages can be both public and have a draft version at the same time.

So theres that. There is also the issue of new pages, if we create new pages in draft mode, then we need to figure out how to show them in pages list. Which also means enumerating all drafts and adding flags to pagecache probably. This will probably be done and implemented regardless, but it is not yet done.

As of now, you must save the page first before a draft can be used for it, this is a kind of workaround so it works with our current page list and page cache system.

I also do NOT want and separate interface or page for drafts, no draft pages list, or edit draft instead of edit page.

I also want to know how people work. I know I would have reason to modify a page to add tags etc, but would also have a draft already in progress, so the live edit mode was implemented. Also on a site with pages that are not used often or does not have visitors, you might want to edit stuff in real time, but you also would want drafts for those large redos of the entire page or change its template for template building on a live site. This allows both. Drafts also give the benefit of autosaving your work. So having it the default seemed to have many cons.

But maybe someone wants to always edit live by default and manually create drafts as necessary. Do we add a option to swap this behavior? Or do we want to add draft edit links to the page list,I decided against it for clutter and compatibility reasons, alos page lists will probably be redone in 3.5.

Of course drafts can also be disabled entirely for those that do not need it.


posting a quick video in a bit
NEW: SA Admin Toolbar Plugin | View All My Plugins
- Shawn A aka Tablatronix
Reply
#2




No clue why our embed size is so small, ill fix that, also the fullscreen doesn't work, click the yuotube icon to watch it there larger.
NEW: SA Admin Toolbar Plugin | View All My Plugins
- Shawn A aka Tablatronix
Reply
#3
Also it uses flash not html5 ugh.
NEW: SA Admin Toolbar Plugin | View All My Plugins
- Shawn A aka Tablatronix
Reply
#4
Very nice work, Shawn.

(2014-09-17, 06:33:53)shawn_a Wrote: So I came up with this pagestack UI that i have been playing with, and I am hoping people like it, but i do want input before I go any further. The main plumbing is done, so this is just the finishing touches that need to be decided.

I like it. Good functionality without being overwhelming and a logical development from the current editing window.

(2014-09-17, 06:33:53)shawn_a Wrote: ... what do we call a page that is not the draft version , the "non-draft page".
I am calling it "published" but this might be confusing down the road if we have actual page publishing for "toggle public or not" functionality, in which a page will actually be published publicly or not, this is different that drafts, pages, in that pages can be both public and have a draft version at the same time.

I like 'Published' and 'Draft'. If you change "toggle public or not" to "toggle private or not", it makes sense, imo.

Thus, a page can be 'Published' or 'Draft', as a top-level status. A Published page can be public, the default, or private (same as currently implemented). A Draft page can have the same toggle available, to carry forward if/when it becomes the published version. Clearly, it should be possible to save a Draft page without an associated Published page. Ideally, it should be possible to change a page from Published back to Draft (or some mechanism to achieve the same effect – quickly take a page off the live site but keep it to hand).

Perhaps consider (future ... by plug-in?) top-level statuses of 'Pending' (ready-to-publish page awaiting, for example, approval or automatic date-based publishing), 'Withdrawn' (previously published page now removed by, for example, date-based expiry, site manager).

(2014-09-17, 06:33:53)shawn_a Wrote: There is also the issue of new pages, if we create new pages in draft mode, then we need to figure out how to show them in pages list.

I would like to see _all_ pages shown in the pages list, with an indication of whether each page is (or has a version which is) of Draft status. Don't ask me how to show it. ;-) At least a tool-tip or some typographic rule – combination of normal/bold/italic? Definitely not shades of black/grey, which is nearly impossible to distinguish. Config adjustable css style?

(2014-09-17, 06:33:53)shawn_a Wrote: I also want to know how people work. I know I would have reason to modify a page to add tags etc, but would also have a draft already in progress, so the live edit mode was implemented. Also on a site with pages that are not used often or does not have visitors, you might want to edit stuff in real time, but you also would want drafts for those large redos of the entire page or change its template for template building on a live site. This allows both. Drafts also give the benefit of autosaving your work.

That should cover most mainstream use. In the video, you show multiple drafts per page and mention A-B testing, but I think that's going too far for core behaviour, unless it's just a config change. (Multiple drafts? I see publishing errors in its future!)

(2014-09-17, 06:33:53)shawn_a Wrote: But maybe someone wants to always edit live by default and manually create drafts as necessary. Do we add a option to swap this behavior? Or do we want to add draft edit links to the page list,I decided against it for clutter and compatibility reasons, alos page lists will probably be redone in 3.5.

On edit, select the Draft version if it exists, or Published ('live edit') if there's no Draft? Perhaps a config option to always edit Published?

Anyway, thanks for your work, it's looking good for GS.
--
Nick.
Reply
#5
Great input

Multiple drafts will not be a feature in core, that was just a ui experiment, and hook test

I do agree that any future public/private "publishing" should remain with the functionality we have now. With the added option of neither, there have been some requests for that, that no-one can see it on the front end. Of course a plugin could always be made to allow private only if you are the author etc, which i think is a better option. Maybe public/private/owner.

I also like the pending status for something with a publish date in the future or something ( of course that might be a later on feature or plugin, undecided in the current milestone)
NEW: SA Admin Toolbar Plugin | View All My Plugins
- Shawn A aka Tablatronix
Reply
#6
also I added some published synonyms to the github issue, but I have a feeling "published"/"draft" would translate better also since they are common print terms.
NEW: SA Admin Toolbar Plugin | View All My Plugins
- Shawn A aka Tablatronix
Reply
#7
(2014-09-17, 22:41:22)shawn_a Wrote: I also like the pending status for something with a publish date in the future or something ( of course that might be a later on feature or plugin, undecided in the current milestone)

Yes, I mentioned Pending and Withdrawn as the idea of date-based page changes has been mentioned quite a bit over the years. I thought that if there was work being done on the page status code, it might be a good time to at least make the whole status thing extensible in the future.

I have just re-read the github issue and realise that you have already addressed most of what I wrote in my previous post, so consider it a '+1'!
--
Nick.
Reply
#8
Fixed some bugs, added some features

here are the new definitions
PHP Code:
    'GSUSEDRAFTS'          => true,                           // (bool) use page drafts
    
'GSUSEPAGESTACK'       => true,                           // (bool) use page stacks for drafts, else `nodraft` or `draft` only
    
'GSDRAFTSTACKDEFAULT'  => true,                           // (bool) default page stack editing to drafts if true
    
'GSSDRAFTSPUBLISHEDTAG'=> true,                           // (bool) show published label on non draft pages if true 

Using these you can do the following

You can disable the PUBLISHED label

You can toggle the default edit mode to draft or published

pages now have a draft label (which is also filterable) until something better can be implemented

You can disable the pagestack, in which case the only way to get to drafts woulds be with the querystring
`draft`


If your site is in not in production you might want to turn off drafts completely.

If you have a small or internal site you can set GSDRAFTSTACKDEFAULT to false so you are always editing the published version, but can easily switch to a draft when needed
For a high traffic site, and you have to edit in draft mode always, leave it true

If you want draft support but rarely need it or want some custom impementation, say drafts only for certain pages.
disable the page stack and use tour own links with &draft in the edit.php querystring to edit draft versions.
NEW: SA Admin Toolbar Plugin | View All My Plugins
- Shawn A aka Tablatronix
Reply




Users browsing this thread: 2 Guest(s)