-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐉 Full Site Editing: Editor interface prototype [13] 🐲 #32944
Comments
Some questions:
|
I think that this should work on the context of the plugin (and the template blocks). Using a fork will add a maintenance overhead we are striving to avoid. We can always contribute back to core if we need to expand the API surface of the blocks API.
I think we do, yes. I was thinking of using the
This is correct. When we save the post, we should only save the actual post content. And when we modify the template part, we should only save that. I'm exploring some options to work around the block API to have this effect. |
Seems fine to me.
Yup - I think this will be difficult without some core modifications but I guess that's why we're doing this. :)
Hmm, interesting approach. The MVP did some filtering stuff via the API and it worked fine, FYI. |
The more we can work out in the context of the plugin - the better. Although I would be surprised if it didn't require some core adjustments in the end. Working with Gutenberg docker setup might be helpful for this (and volume mapping for the plugin), because you'll be able to introduce ad-hoc changes to the core editor code.
Ideally - yes, we should be able to edit both the template parts (e.g. header, footer) and the actual post content in the same view. If that turns out to be too hard, I think an acceptable scoped-down solution might be to just show the template parts grayed out (visible, but not editable in the same screen), and allow easy switching to template editing view. I'm also open to other proposals for scoping this problem down.
That's right, I think the header should be saved into associated |
Some points raised in this discussion are also relevant paAmJe-mS-p2. If possible, template parts should only be editable in the page editing view, and not accessible directly. |
To highlight a recent discussion, for the first editor interface interactions a unified save button I think is perfectly acceptable (just like the MVP and figma) assuming you can hook in and save everything in the correct place. |
If we make the blank theme a prerequisite we should be able to always load the plugin and only start interacting iff the blank theme is the selected them. Also the more we stay focused on a plugin without core modifications the easier it will be to harmonize across Calypso, Jetpack, and Atomic.
We should eliminate any solution which stores layout content/headers/footers inside of
One of the unknowns I think about is how we present editing the theme pieces. The current design mockups don't offer much in terms of editing the theme outside of a given page which somewhat limits the scope but we know we'll need to build that out eventually so we want to at least make sure we have a plan for how to handle the more dynamic parts of the template hierarchy. How much of the hierarchy do we carry forth? |
@apeatling if I understood correctly this is most likely going to be our ideal flow for the long-term solution too? It's also the one that will be hardest to get right technically (highest number of unknowns at this point). |
What other solutions have you investigated so far? The figma shows this as the long term solution also. Is any of @mattwiebe's work to hook into the save action reusable here? |
Hooking into the save action isn't too hard. The |
Only that one as part of this issue. During previous prototypes we used editing of templates and content in separate screens (which seemed like a good stepping stone). It just sounded like this solution was perceived as a scoped-down one, while I think of it as a full-fledged one. |
Is there anything to look at on this yet? |
@rodrigoi is going to publish a P2 post with some preliminary explorations so we can get the discussion started as soon as possible (@mattwiebe feel free to add your explorations to it). I think it would be valuable to outline both the approaches that seemed viable, and the ones that proved to be a dead-end for some reason. |
Let's bring the discussion over to paAmJe-p3-p2 |
@rodrigoi Now that the post is up, I think we can close out this issue once more specific subtasks for it are created. |
After some comments on the exploration post, I'm reopening this issue so we can conduct an exploration of an alternative approach proposed in paAmJe-p3-p2 (#comment-1013). |
After some thought, I think that the follow-up issues that @rodrigo created are generic enough to allow for investigation that assumes the second approach too. Let's continue the work in them instead:
For reference, you can also check out the initial exploration in this PR: #33325 and in paAmJe-p3-p2. |
Could the above three issues be broken down further? They are still big with scoping explained at a high level. Team AJAX are doing a great job at breaking their work down into really small chunks (once they know what they chunks need to be) and its helped them distribute work more easily as a team. /cc @vindl |
The key technical part for this puzzle is that you need to elaborate your own editor from the pieces core provides, including a separate I'd then focus on 3 sub-milestones:
More in detail... SM1Your Own Editor
To handle this you'll need a custom template supplied to your root provider that has a page title and content blocks. I'd start with a locked template so that ordering cannot be changed (title cannot go under content). SM2Template Definition
Header and footer have only static content as defined in the Editor Display
SM3Edit Flow
At this stage, all the ingredients should be in place to iterate on what the ideal editing UX is when working on one area or the other without technical blockers. |
The purpose of this task is to conduct an exploration of possible technical approaches for "editor-in-editor" interface. For start, it should allow us to edit the site header and
post_content
in one interface. This doesn’t need to be seamless at this stage. An explicit save interaction like we have for saving reusable blocks within the a parent post is allowed.For reference, see this reusable blocks related core exploration: WordPress/gutenberg#14715
Note: it's fine if multiple squad members start researching this in parallel - we want to gather as much different ideas as possible initially.
The text was updated successfully, but these errors were encountered: