Gutenberg: Add Block: Recent Comments

Created on 7 Jul 2017  ·  25Comments  ·  Source: WordPress/gutenberg

Attributes

  • None, Left, Right, Center, Full Width
  • Show comment excerpt
  • Show avatar
  • Show timestamps
  • Number of comments to show

States

Selected:

recent comments

Neutral:

recent comments block


Please note that the only attribute currently in the widget is "number of comments to show." I'm proposing adding options to include avatars and timestamps, and displaying them like the o2 comments widget. I also think an option to show a short comment excerpt would benefit the widget, so I've also included that in my mockup.

Needs Dev New Block [Feature] Blocks [Feature] Widgets Screen

All 25 comments

I like it. How they appear when the excerpts are included?

Thinking:

recent comments block with excerpts

It is something themes and templates should decide, not post content editor.
As quick Page / Menu Item "template" builder is OK, but not for Posts.

If you decided go this way, and seems as it is decided, try if possible to make global options to automatically show chosed widgets in content. I dont know how it would look alike. Maybe you put one of those widgets, and there is one new option "Remember position of "widget" block for all new Posts" (in this particular content type).

Hi @StaggerLeee!

Nothing is totally decided yet, except for the idea that blocks are going to replace widgets in the future. :) These are some early concepts around that idea, that all widgets will eventually need to adhere to block design patterns. My goal is just to fit these widgets into existing block patterns, and establish new patterns if necessary that more complex blocks in the future can use. I'm showing them in the context of a post, because that's what the design template I'm using has — not necessarily because they all need to be available in posts. Sorry for the confusion.

I think it's definitely worth having a conversation about where widgets-not-blocks will be available, and if they should just be limited to outside of the_content(). There are definitely some widgets that I can see working in the context of pages, and some I don't necessarily see working within posts. I also think we should deprecate some widgets moving forward, like the Pages widget (which should be merged with Menus, IMO, and made into a better menu creation interface) and the Meta widget. This is all still up for discussion.

Re: global blocks, there's some conversation about that in #1516. We'd definitely like to introduce a way for blocks to become reusable, especially once we start delving more into page editing and eventually some form of template building or management.

One note — "Recent Posts" was renamed to "Latest Posts." We should rename this block to Latest so they continue to match.

I'd like to try this out. Could you give me a 60 second overview of the suggested implementation?

@danielbachhuber I'd suggest looking at the implementation of the core/latest-posts block, starting there, and possibly looking for code that can be factored out into a common location, because a block that displays a list of dynamic content will likely be a common pattern.

It's not necessary to implement the entire design in one PR.

Also see the server-side rendering implementation for the Latest Posts block. Overall this block is far from complete.

I also think an option to show a short comment excerpt would benefit the widget, so I've also included that in my mockup.

@melchoyce Are you committed to these designs? If so, do you have sample HTML markup I can follow?

possibly looking for code that can be factored out into a common location, because a block that displays a list of dynamic content will likely be a common pattern.

@nylen I agree. I'd like to handle this after the Latest Comments widget lands though, so we can spend time discussing the preferred abstraction after the Latest comments widget is final.

@danielbachhuber there is no existing markup, other than to just follow the pattern of the markup in the Latest Posts widget block. The frontend-generated markup should probably follow what is output by the Recent Comments widget in core today.

What @westonruter said :) In terms of the design, we have some wiggle room if things need to change.

@westonruter @melchoyce As a point of feedback on the contributing experience, it would be helpful to have the desired markup (with any necessary design direction) included on the issue. I'd rather it be established up front than become a point of discussion in the pull request.

You are giving to much power to Editors/owners/clients/Users.

First thing that will happen with all those widgets is they will forget to add it on some Posts. Post with widget(s), followed by Post without widget(s)....etc... I know that.

@StaggerLeee This issue relates specifically to the "Recent Comments" block. For general Gutenberg discussion, can you create a new issue, please? Thanks.

@danielbachhuber That's a developer decision, so I'm not sure I'd be of any help there ¯_(ツ)_/¯

@danielbachhuber You're right. Defining the desired markup would be ideal. At the moment, I think coming up with the markup is just part of the development process, and indeed a point of discussion in the pull request.

@melchoyce should the commenter's name not be included as well as an option?

@westonruter You're right, that was a total oversight on my part. How about:

image

As the project moves towards merge proposal, we are moving issues that aren't needed for that to projects. This doesn't mean they won't get done, they totally can and that's why we're moving to projects. This allows us to focus on the issues that have to happen to Gutenberg. I am closing this but it will live in projects.

@mtias Given the complexity of the rendering the recent comments block and duplicating the complexity in JS when it is already implemented once in PHP, should we try implementing the editor preview rendering via PHP as well leveraging the proposed ServerSideRender in #780?

Thinking of picking this up, original PR was opened by @danielbachhuber, also saw some discussion on the approach between @mtias and @westonruter, let me know if you have any concerns about implementing the v1 of the block using ServerSideRender component and the closed PR https://github.com/WordPress/gutenberg/pull/1931.

Like Calendar and Archive, I looked at what a more dynamic Recent Comments block could include.

I focused on exploring the “what if’s” — what if you could approve pending comments in the Recent Comments block? What if you could reply to them?

You can view what I have here: https://cloudup.com/cK_gqQvBGuG

Or walk through it in this prototype: https://wp.invisionapp.com/share/VPI3E1C2QCK#/295400427_Recent_Comments

@melchoyce are your comments from 5 days ago exploratory for a potential v2 of the Recent Comments block or more closely aligned to how the Recent Comments block should ship as a v1?

Exploratory for v2.

Was this page helpful?
0 / 5 - 0 ratings