Unable to add UI only from aggregate model to table and field is duplicated in add fields list

After adding a UI only field to an aggregate model, when choosing “Add Fields” on a table, three issues occur:

  1. The UI Only field appears twice in the list
  2. The UI only field “fieldId” column indicates “undefined”
  3. No checkbox appears next to the field so you are unable to add it to the table

Note - You are able to drag the field from the model itself on to the table

Steps to reproduce:

  1. Create page from XML below (the XML is based on https://bitbucket.org/skuid/samplepages/src/1e02bf5a392e141442b992e270ce593345faa979/pages/Opportuni… with the only difference being that a UI only field “FriendlyText” was added)
  2. Click on “Add Fields”

Expected Behavior
FriendlyText appears once, has a FieldId and is “selectable”

Actual Behavior

  1. Appears twice
  2. No fieldid
  3. Can’t select

Thanks!

Sample Page XML

<skuidpage showsidebar="true" showheader="true" unsavedchangeswarning="" personalizationmode="server">   <resources>
      <labels/>
      <javascript/>
      <css/>
   </resources>
   <models>
      <model id="Opportunity" limit="100" query="true" createrowifnonefound="false" orderby="" sobject="Opportunity" type="aggregate" adapter="">
         <fields>
            <field id="Amount" name="sumAmount" function="SUM"/>
            <field id="Amount" name="avgAmount" function="AVG"/>
         <field id="FriendlyText" uionly="true" displaytype="TEXT" label="Friendly Text"/>
</fields>
         <conditions>
            <condition type="fieldvalue" value="" enclosevalueinquotes="false" field="CloseDate" operator="=" state="filterableoff" inactive="true" name="CloseDate"/>
            <condition type="fieldvalue" value="" enclosevalueinquotes="true" field="OwnerId" state="filterableoff" inactive="true" name="OwnerId"/>
            <condition type="fieldvalue" value="" enclosevalueinquotes="true" field="Account.Industry" state="filterableoff" inactive="true" name="Account.Industry"/>
            <condition type="userinfo" value="" field="OwnerId" operator="=" enclosevalueinquotes="true" userinfotype="userid" state="filterableoff" inactive="true" name="OwnerId_ME"/>
            <condition type="fieldvalue" value="" enclosevalueinquotes="true" field="StageName" state="filterableoff" inactive="true" name="StageName"/>
         </conditions>
         <groupby method="simple">
            <field id="StageName" name="stageName"/>
         </groupby>
      <actions/>
</model>
      <model id="OppOwners" limit="100" query="true" createrowifnonefound="false" orderby="LastModifiedDate DESC" sobject="User">
         <fields>
            <field id="Name"/>
            <field id="Id"/>
         </fields>
         <conditions>
            <condition type="userinfo" value="" field="Id" operator="!=" enclosevalueinquotes="true" userinfotype="userid"/>
         </conditions>
      <actions/>
</model>
   </models>
   <components>
      <pagetitle model="Opportunity" uniqueid="sk-2m1itv-66">
         <maintitle>Opportunities by Stage</maintitle>
         <actions/>
         <subtitle>Report</subtitle>
      </pagetitle>
      <skootable showconditions="true" showsavecancel="false" searchmethod="server" searchbox="true" showexportbuttons="false" pagesize="10" createrecords="false" model="Opportunity" mode="readonly" uniqueid="sk-2m1itv-67">
         <fields>
            <field id="StageName" name="stageName"/>
            <field id="Amount" name="sumAmount" columnwidth="AVG">
               <summaries>
                  <summary>sum</summary>
               </summaries>
               <label>SUM</label>
            </field>
            <field id="Amount" name="avgAmount"/>
         </fields>
         <rowactions/>
         <massactions usefirstitemasdefault="true"/>
         <views>
            <view type="standard"/>
         </views>
         <filters>
            <filter type="select" filteroffoptionlabel="Any Close Date" createfilteroffoption="true" condition="CloseDate">
               <sources>
                  <source type="manual">
                     <options>
                        <option label="Closed: Last Year" type="simple" value="LAST_YEAR"/>
                        <option label="Closing: This Year" type="simple" value="THIS_YEAR"/>
                        <option label="Closing: Next 30 Days" type="simple" value="NEXT_N_DAYS:30"/>
                        <option label="Closing: Next 90 Days" type="simple" value="NEXT_N_DAYS:90"/>
                        <option label="Closing: This Fiscal Quarter" type="simple" value="THIS_FISCAL_QUARTER"/>
                     </options>
                  </source>
               </sources>
            </filter>
            <filter type="select" filteroffoptionlabel="Any Owner" createfilteroffoption="true" condition="OwnerId" label="Owner">
               <sources>
                  <source type="model" model="OppOwners">
                     <valuetemplate>{{Id}}</valuetemplate>
                     <labeltemplate>Owner: {{Name}}</labeltemplate>
                  </source>
                  <source type="manual" model="Opportunity">
                     <options>
                        <option label="My Opportunities" type="complex">
                           <effects>
                              <effect action="activate" value="" condition="OwnerId_ME"/>
                           </effects>
                        </option>
                     </options>
                  </source>
               </sources>
            </filter>
            <filter type="select" filteroffoptionlabel="Any Industry" createfilteroffoption="true" condition="Account.Industry">
               <sources>
                  <source type="metadata" prefix="Industry: "/>
               </sources>
            </filter>
            <filter type="select" filteroffoptionlabel="Any Stage" createfilteroffoption="true" condition="StageName">
               <sources>
                  <source type="metadata"/>
               </sources>
            </filter>
         </filters>
      </skootable>
   </components>
<styles>
<styleitem type="background" bgtype="none"/>
</styles>
</skuidpage>

Barry~

We have been able to reproduce the problem you are experiencing and have notified the developers of this issue. Thanks for alerting us of this bug and helping make Skuid better!

Thanks!
Karen

Thank you!

We are having the same problem was there a fix for this?

As far as I know, this is still a problem. As a work-around, you can add fields to the table by dragging them from the model on the the table.

MWS~

Sorry, this has not been fixed yet. This post will be updated once there is a patch in place for this. 

Thanks for your patience. Hope Matt’s workaround works for you!
Karen

Hi Skuid Community~

Thank you for your patience as we addressed this bug. This issue has been resolved in the Brooklyn GA release which is now available from 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.

Thanks! 

Tested and confirmed as resolved with 9.3.4.  Thank you!