Blog Discussion: Xperience by Kentico Refresh - November 16, 2023

Kentico Community
2023/11/18 12:46 AM

Blog Post: Xperience by Kentico Refresh - November 16, 2023

Continue discussions 🤗 on this blog post below.

Answers

2023/11/18 10:54 AM

Some great improvements here, and the rapid adoption of .NET 8 is unbelievably fast!

The language variant copying sounds good - I think similar functionality for when you duplicate a content item would be amazing. E.g. duplicate an existing content item or web page, you could control if it just copies the current language variant, specific language variants, or all language variants.

It's nice to see the rich text editor getting some improvements too. This did make me think of a scenario where you might want to embed references to content from the Content Hub (I'm thinking of how some Headless CMS work!), is this possible yet or in the future?

Example could be...a Blog Post on a website. The content type has a field for rich text to be entered by the content editor called 'Body'. This field needs to have Video, Image, Code Snippet, or some other piece of reusable structured content from the Content Hub injected inline between paragraphs. The developer would replace the reference with a view component or something to render the appropriate HTML inline.

If this isn't possible, what would the content modelling recommendation be here? I am probably answering my own question here, but I can probably take a look at the community site content models blog posts and how it constructs the page 🤔

2023/11/18 6:42 PM

@liamgold

The language variant copying sounds good - I think similar functionality for when you duplicate a content item would be amazing

We have cloning enabled for Emails already in the product, but we don't have it for Content hub items or Web pages. I believe this will be coming in a later Refresh.

a scenario where you might want to embed references to content from the Content Hub [...], is this possible yet or in the future?

I'm not sure how much attention Rich text will receive in the near future - my guess is not too much.

Rich text, even when using structured content via embedded references, is still very difficult to get right. I know the product team could deliver on it, but I also think the items on the roadmap are higher priority.

If this isn't possible, what would the content modelling recommendation be here?

In the past, I explored using only Page Builder widgets to build a blog post. It was a pretty nice presentational experience, but it definitely has some caveats!

  1. Content isn't easily reusable - it's "stuck" in the Page Builder.
  2. This approach uses related content that is embedded in the page with the Page Builder components. Changing this related content will change the blog post. Sometimes this is intended, but sometimes its not. Teams would definitely have to consider how this would impact a website long-term.
  3. It could take more time to author the blog post because each component (Rich text, image, video, related posts) would need to be configured by the post author. Having this content rendered programmatically could be a lot less work.

but I can probably take a look at the community site content models blog posts and how it constructs the page 🤔

Nothing special going on here!

We use Markdown to author blog posts and reference media in the media library.

It's all hand written - mostly because Markdown is sooo easy to author and doesn't require any special knowledge to prevent the design from getting messed up by errant Rich text edits.

You can create custom components with Markdown and we do use a few, like this:

:::note
This is a callout note with a different background
:::

But going too far in this direction has similar caveats to embedding lots of logic in Rich text.


From what I remember, Kentico's Rich text embeddable widgets/webparts from Portal Engine were powerful but could also get really complex, fast (and I don't think they were that performant on first-render).

I think WordPress' Gutenberg technology for creating blocks of configurable components that generate HTML - while content is being created - is an interesting approach, but that has required years of development to get off the ground.

To answer this question, you have to login first.