ButtonSet error encountered if no model specified

The ButtonSet component requires a model despite the fact that it exists in the “Layout” section of the component toolbox. No other components in the “Layout” section even have a model property let along require one.

If you do not specify a model for the ButtonSet, you encounter the error:

“Invalid Model ‘undefined’ on Button Set component. This Model’s Id may have been changed, or the Model may have been deleted.”

There is no reason for ButtonSet to require a model. If a ButtonSet does not have a model, it should still function. Requiring a model creates unnecessary overhead - the model should be optional.

Steps to reproduce:

  1. Create page using XML below
  2. preview page

Expected Behavior
Page displays successfully

Actual Behavior
Encounter “Invalid Model ‘undefined’ on Button Set component. This Model’s Id may have been changed, or the Model may have been deleted.” error.

Sample Page XML

<skuidpage unsavedchangeswarning="yes" personalizationmode="server" showsidebar="true" useviewportmeta="true" showheader="true">    <models/>
    <components>
        <buttonset uniqueid="sk-2sKqZI-85">
            <buttons/>
        </buttonset>
    </components>
    <resources>
        <labels/>
        <javascript/>
        <css/>
    </resources>
    <styles>
        <styleitem type="background" bgtype="none"/>
    </styles>
</skuidpage>

You are correct and I agree with you. Would you mind if we switched the status here to Idea so that the design team can see it as well?

I believe the model should be optional. I’m not sure what that would mean on the backend. I’ll ask about that to our devs and try to remember to get back to you with their answer.

Thanks for looking in to this Stephen.

I’m not sure there is much to be done here “design” wise.  Having the model property is helpful (e.g. merge syntax on buttons, etc.) but not necessary.  Given the model property is out in the wild, it can’t be removed since there are pages in production that rely on it.  I think the only recourse here is to condition the code around the usage of the property such that it’s not required.

My concern with changing to Idea is that it lowers the priority of the item internally at Skuid.  To me, this is a bug.  To be honest, I’m not concerned with what it’s categorized as in the community, just want to make sure it receives the proper priority so that it can be addressed in a timely manner.

Thanks!

It’s in the hands of our development team and our design team. It has good visibility in both. We’ll update you here when we hear word from them.

Thanks Stephen!

Thank you again for bringing this to our attention. Skuid has implemented the solution in the new Miller 11.0.0 release which is now available on the Skuid Releases page.

As a reminder, Salesforce does NOT allow reverting back to prior versions of managed packages. Skuid always recommends installing new versions in a non-business critical sandbox environment to test all mission critical functionality before installing into a production environment. We also recommend that you update out of date themes when you upgrade.