Kuali Rice Development
  1. Kuali Rice Development
  2. KULRICE-13885

Weird behavior involving SpringEl when dev mode is disabled

    Details

    • Type: Bug Fix Bug Fix
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Won't Fix
    • Affects Version/s: 2.5
    • Fix Version/s: 2.5.1
    • Security Level: Public (Public: Anyone can view)
    • Labels:
      None
    • Similar issues:
      KULRICE-10054SpringEL for disable client-side is broken
      KULRICE-10049Client-Side disable not working with Coll. SpringEL Functions
      KULRICE-12578Weird jump behavior on Krad sample app when clicking an item
      KULRICE-8126Collection control does not honor disable if disable is disabled by an expression for collection refresh
      KULRICE-13939ComponentPostMetadata being cleared on page change causes weird/broken behavior
      KULRICE-10427Allow for less files to be used directly in dev mode
      KULRICE-5027StyleableEmailContentServiceImpl should be using JAXB instead of it's current weird mode of operation in order to generate XML for emails
      KULRICE-7561Allow an easy way to enable/disable controls and buttons clientside
      KULRICE-10055Text for radio buttons do not change to correct color when disabled until hovered (IE only issue)
      KULRICE-3977bad application behavior when logging in as inactive principal
    • Rice Team:
      Framework
    • Rice Module:
      KRAD
    • Application Requirement:
      KS
    • KAI Review Status:
      Not Required
    • KTI Review Status:
      Not Required
    • Code Review Status:
      Not Required
    • Include in Release Notes?:
      Yes

      Description

      The following captures the issue and context:

      ---------- Forwarded message ----------
      From: Brian Smith <bsmith83@ad3.ucdavis.edu>
      Date: Wed, Oct 1, 2014 at 5:17 PM
      Subject: Re:

      {Rice KRAD User Group}

      Dev mode issue ...
      To: rice.usergroup.krad@kuali.org

      This sounds suspiciously similar to https://jira.kuali.org/browse/KULRICE-12644, can you file a jira and link it?

      -Brian

      On 10/1/2014 3:05 PM, Sridhar Komandur wrote:
      We are seeing a weird issue if we turn off the dev mode property (<param name="rice.krad.dev.mode">false</param>).

      See: http://www.screencast.com/t/tocqrinSZA (pasted below)

      The behavior is as if the highlighted SpringEl is never executed and 'boundaryTermId' is always null. However, it works
      as expected when dev mode is enabled.

      We wanted to run this by KRAD team, in case we are doing something wrong.

      Thanks,
      Regards,

      • Sridhar Komandur
        Kuali Student
                      <bean parent="CM-InputField" p:propertyName="courseInfo.startTerm" p:label="Start Term">
                          <property name="fieldLabel.richLabelMessage">
                              <bean parent="CM-IconLabelMessage">
                                  <property name="iconToolTipText" value="New Courses: This course will not necessarily be activated or offered this term, but will be
                                          eligible for scheduling on or after this term. Course Modifications: Any instances of the course
                                          offered on or after this term will reflect modifications."/>
                              </bean>
                          </property>
      
                          <property name="control">
                              <bean parent="KS-Uif-DropdownControl" p:onChangeScript="refreshEndTerm(); @{#uiHelper.modifyWithNewVersionProposal ? 'refreshCurrentCourseEndTerm();' : ''}"/>
                          </property>
                          <property name="optionsFinder">
                              <!-- For Add/Create, and Modify without a new course version, all terms should be available.
                                   For modify with version, only start terms based on current version (see kscm-2838) -->
                              <bean class="org.kuali.student.lum.lu.ui.course.keyvalues.TermOptionsFinder" p:addBlankOption="true"
                                    p:boundaryTermId="@{#uiHelper.modifyWithNewVersionProposal ? #dataObject.startTermConstrainingTermId : ''}" />
                          </property>
                      </bean>
      

        Issue Links

          Activity

          Hide
          Nisha Gupta (Inactive) added a comment -

          The attached XML configuration is attempting to use a KRAD expression in options finder which is not a lifecycle element so KRAD's expression evaluator does not pick it up. However, while trying to use KRAD expression "@{", the JIRA is correctly filed as Spring EL issue, so therefore they need to correct their spring EL, which would be p:boundaryTermId="#

          {uiHelper.modifyWithNewVersionProposal ? dataObject.startTermConstrainingTermId : ``}

          ", and not p:boundaryTermId="@

          {#uiHelper.modifyWithNewVersionProposal ? #dataObject.startTermConstrainingTermId : ``}

          ". Therefore, I think this bug is not a bug but it is en error in their Spring EL.

          Show
          Nisha Gupta (Inactive) added a comment - The attached XML configuration is attempting to use a KRAD expression in options finder which is not a lifecycle element so KRAD's expression evaluator does not pick it up. However, while trying to use KRAD expression "@{", the JIRA is correctly filed as Spring EL issue, so therefore they need to correct their spring EL, which would be p:boundaryTermId="# {uiHelper.modifyWithNewVersionProposal ? dataObject.startTermConstrainingTermId : ``} ", and not p:boundaryTermId="@ {#uiHelper.modifyWithNewVersionProposal ? #dataObject.startTermConstrainingTermId : ``} ". Therefore, I think this bug is not a bug but it is en error in their Spring EL.
          Hide
          Nisha Gupta (Inactive) added a comment -

          I also included a working example demonstrating usage with an options finder that contains a Spring EL (in dev and non-dev modes). The example is located under KRAD Labs -> Non-Dev Modes, and is called the 'Options Finder Spring EL' example.

          Show
          Nisha Gupta (Inactive) added a comment - I also included a working example demonstrating usage with an options finder that contains a Spring EL (in dev and non-dev modes). The example is located under KRAD Labs -> Non-Dev Modes, and is called the 'Options Finder Spring EL' example.
          Hide
          Sridhar Komandur (Inactive) added a comment -

          Thanks for looking into this Nisha ... couple of questions:
          1. How is it working when 'dev' mode is enabled?
          2. Can you confirm your solution works for our use case: the intent is to get the property from the model. I may be wrong, but it seems what you are suggesting happens once during bean instantiation?

          Show
          Sridhar Komandur (Inactive) added a comment - Thanks for looking into this Nisha ... couple of questions: 1. How is it working when 'dev' mode is enabled? 2. Can you confirm your solution works for our use case: the intent is to get the property from the model. I may be wrong, but it seems what you are suggesting happens once during bean instantiation?
          Hide
          Larry Symms added a comment -

          Is it not then a bug that the "error in our Spring EL" renders when dev mode is enabled?

          Show
          Larry Symms added a comment - Is it not then a bug that the "error in our Spring EL" renders when dev mode is enabled?
          Hide
          Martin Taylor (Inactive) added a comment -

          Closing 2.5.1 Development

          Show
          Martin Taylor (Inactive) added a comment - Closing 2.5.1 Development

            People

            • Assignee:
              Nisha Gupta (Inactive)
              Reporter:
              Larry Symms
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Structure Helper Panel