If you could add something to Kentico, what would it be and why?

Create "pre-configured web parts"

It would be nice to have an area of the CMSDesk where we could create "pre-configured" web parts. I find that I need to show the same data on multiple pages... and I have to configure the same web part multiple times.

Page inheritance does not always work. Nor does cloning a web part and setting default values (as suggested in the documentation).

Let me explain: I have a web part being used in 15 different page templates. I needed to change the OrderBy value and had to do so for all 15 web parts individually.

It would be nice if I had an area to configure a web part ONCE, and then when I am inserting a web part on a template, I can reference this "pre-configured" web part. If I need to change a value for that web part, I can do so in one place, and the changes affects all instances which reference it.

144 votes
Vote
Sign in
(thinking…)
Sign in with: Facebook Google
Signed in as (Sign out)
You have left! (?) (thinking…)
ryan.wheale shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

15 comments

Sign in
(thinking…)
Sign in with: Facebook Google
Signed in as (Sign out)
Submitting...
  • Elmar Höfinghoff commented  ·   ·  Flag as inappropriate

    How do I do this if it is still implemented? We also ran multiple times into this issue. We have a base funktionallity of every Web Part, e.g. you always be able to define a padding top. If we have to enhance this base functionallity, we always have to do it on EVERY WEB PART redundantly, because there is no inheritance of those fields.

    So my question again: If this is implemented - how can I use it? Any documentation link?

  • Chris Bass commented  ·   ·  Flag as inappropriate

    I don't know if this was actually implemented, but a widget version of this would be extremely useful.
    Currently, if I have widgets that I want to show in specific configurations, I have to either create duplicate, very similar widgets (with defaulted values), or create small pages (containing no markup and just the widgets) and use the Page Placeholder as a widget to drop them in on Widget Zones.

    For example, if I have a series of links I'll be posting in the sidebars of pages related to them, with a specific message or image, and link and such. I want to be able to change one of these and have it adjust all of the relevant buttons. To do this I created a folder with a number of "Button" pages in it, and I use a Content Placeholder widget to display the HTML of those buttons on the relevant pages.

    Having native functionality to do this via "widget presets" or something like that, would be great.

  • Scott commented  ·   ·  Flag as inappropriate

    Would it not be simple to have a "Web Part Template" and when adding a new webpart you have option of standard webparts, or webpart templates. Any changes made to the webpart template changes all page templates using this templated webpart

  • Jiveabillion commented  ·   ·  Flag as inappropriate

    I just realized that my proposed solution didn't directly address the last part of ryan.weale's initial description. "If I need to change a value for that web part, I can do so in one place, and the changes affects all instances which reference it."
    I think that would be a great feature, and it could be done similar to the way that Document Type inheritance was done in version 6. Give us the option to have the web part inherit it's settings from a preset and whenever the preset that is currently inherited is changed, it will also be changed on all web parts that inherit it. Of course, the option to break inheritance will also be available. That will give us a central location to edit properties on all web parts that inherit a preset as well as the options that I illustrated in my mockup. I have a pretty good handle of how this would work in the UI and in code. Martin, if you would like to discus this you may contact me via the email that I used to send you the mockup.

  • Jiveabillion commented  ·   ·  Flag as inappropriate

    I think a good way to implement this would be to create a child object of Web part that simply stores configuration values that we can name. Sort of a preset repository. Then, when we create or edit a web part, we can choose from our list of presets and it will automatically set those properties to the saved values, which we can then save or edit from there. Also, in the Web part properties dialog, there should be a button to save the current configuration as a preset. I have a good idea for a UI and can send a sketch of it.

  • AdminMartin Hejtmanek (Chief Technical Officer, Kentico) commented  ·   ·  Flag as inappropriate

    What we plan is to allow for "real default values" which means that you will be able to set that particular web part property should always use the value from the web part settings in site manager. This is little different from what you need because it covers only specific properties that you will set this way and is not in current version.

    What you can do to achieve what you need is to define a page template, where you put your preconfigured web parts, and then in the place you want them you use the Page placeholder web part with the Default template property set to this template, and you basically inject this template to another. Doing this on several templates will provide you with centralized control over particular template section.

    We would like to have this enabled in some nicer wat, but we didn't yet figure out how the UI for it and the configuration process should work, so if anyone has idea or can give us sketches for how you feel it would be intuitive enough, send it to us, we will appreciate it.

  • Anar commented  ·   ·  Flag as inappropriate

    One might say that you can achieve what you want by creating a user control containing let say <cms:CMSRepeater ...>. A feasible, but not very practical. You will need to open the ascx file to edit instead of using the portal engine webparts.

    Please add this feature!

Feedback and Knowledge Base