django-cms / djangocms-versioning

General purpose versioning package for Django CMS 4 and above.
Other
33 stars 29 forks source link

[FEATURE] Access page structure, page settings and plugins of published pages read-only / without creating a new draft #412

Open stefanw opened 1 month ago

stefanw commented 1 month ago

We recently migrated from Django CMS 3 to 4 and appreciate the versioning and all the other work that has gone into the release!

Here's a stumbling block though: in CMS 3, editors could copy parts of published pages easily via structure mode or look up plugin configurations or even just page settings like the page template in use because of the simple publish/draft system. In Django CMS 4 our editors are reluctant to (and should not have to) create a new draft of a published page to do these things because they don't actually want to edit the page, they just want to copy plugins from it or look at its configuration.

The structure mode is still available on published pages via admin URL cms_placeholder_render_object_structure but many interactions with that page result in a permission error (through placeholder's check_source as djangocms-versioning is patching the placeholder field's default_checks).

Instead of hiding the structure view and disabling settings on published pages, I'd like to have a read-only mode of published pages, similar to how Django admin renders models for users with only the "view" permission.

fsbraun commented 1 month ago

Hi @stefanw ! Thank you for the suggestions!

They should be covered by #408 and https://github.com/django-cms/django-cms/pull/7850.

Since the preview renders the content differently than the edit endpoint, the read-only structure endpoint right now cannot be accessed (except by entering its URL manually in the address bar).

Any idea on how to offer the structure view to the user?