ManifoldScholar / manifold

Transforming scholarly publications into living digital works.
http://manifoldapp.org
GNU General Public License v3.0
234 stars 30 forks source link

Add draft mode for texts; reconsider text "published" flag #2166

Open lwaltzer opened 5 years ago

lwaltzer commented 5 years ago

Hi Team-- I ingested a new text into http://cuny.is/tcuny-handbook and saw that it was immediately visible, even though I hadn't toggled the "publish" option on the text. Changing that button's state didn't unpublish the text (I've since destroyed that text).

I verified that the publish toggle wasn't working by trying to unpublish this text: https://cuny.manifoldapp.org/read/untitled-84d43a1f-0a80-4404-ad34-448a687f9d49/section/ddfef264-cc13-4636-9773-8565b5742a59/.

Luke

zdavis commented 5 years ago

Texts are always visible, regardless of whether they are published or not. In the context of a text, published indicates that the text is the version of record (rather than an iterative process). Setting a text to unpublished won't hide it. I can see how that would be confusing, and am open to alternative suggestions, although I suspect our press users might see it differently from our instructional users.

lwaltzer commented 5 years ago

Hmmm... confused. Pinging @mkgold @krosemichael as we've been discussing, I think they also thought it worked this way.

Is there a way to ingest a new text into an existing project that's NOT in draft mode while keeping the new text from being immediately visible?

mkgold commented 5 years ago

Sorry, @lwaltzer -- I was confused on this.

So, there are two issues here:

  1. Should users be able to upload a text in draft form? I would say yes

  2. The function of the "published" button at the text level. Luke, Krysia, and I were all confused by the current language on the button, taking "published" to mean "visible." I think that we can usefully build on the UI we have at the project level, where we have a "Visibility" section that has "Draft mode" turned on or off, and then a "Featured" option. If we add that at the text level, but change "Featured" to "Version of Record" or somesuch, I think we can satisfy the Press while also enabling users to toggle visibility of the text itself

zdavis commented 5 years ago

We had some pretty extended discussions about how that published flag works, and what to call it—so I think we'd need to discuss this internally before proceeding. I'd argue against changing the published flag on the frontend to "version of record," as I don't think the meaning is as clear to users, and I'd also be concerned about a disconnect between the switch label on the backend and what's shown on the frontend.

As for enabling draft texts—yes, I'm on board with that in theory, but I don't see us tackling it in the short term. It actually adds a good deal of complexity (and performance overhead) to every spot where we are rendering a list of texts or a single text, because it entails incorporating the user's permissions and roles into all queries for texts. It's certainly doable, but the cost is high—right now the application can make all authorization decisions at the level of the project. If we make authorization checks more granular, and move them down to the level of the text (or the resource), it just adds a lot of complexity. Before we add that complexity, we should be sure that this feature is really worth it.

zdavis commented 5 years ago

(Updated issue title to better express the underlying request)

tsmyre commented 5 years ago

Having draft materials within a project has also come up on my end as well—e.g., for iterative projects where authors send on new materials and want to preview/make changes before having the content go live. And I wonder if solving for that mitigates the concern over the published button?

I'm agree with Zach on that point. There will be projects that have more than one published text as part of it (e.g. Massumi on the Minnesota instance, or in cases where previously published materials are being incorporated into a project), so that term seems appropriate.

That said, @lwaltzer, I think there's a workaround in your case. When you ingest a text you don't want to make visible in the project, either leave or move it to the Uncategorized category in the Texts sidebar menu. Then in the Layout sidebar, click to edit the Texts content block and toggle the "Show Uncategorized Texts?" toggle to off. The catch here is that you would need to have another category for any texts you do want to appear.

lwaltzer commented 5 years ago

Thank you @tsmyre! I'll give this a shot.