[KULRICE-9774] Review template logic Created: 14/Jun/13  Updated: 16/Jan/15

Status: Open
Project: Kuali Rice Development
Component/s: Development, User Experience (UX)
Affects Version/s: None
Fix Version/s: Backlog
Security Level: Public (Public: Anyone can view)

Type: Improvement Priority: Major
Reporter: Jerry Neal (Inactive) Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: Old
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
relates to KULRICE-10353 Inline processing of FreeMarker templ... Closed
Similar issues:
KULRICE-9794Reduce template invocations
KULRICE-5010Improve role-member logic in RoleManagementServiceImpl.removePrincipalFromRole for performance
KULRICE-10353Inline processing of FreeMarker templates
KULRICE-5329Fix numeric comparisons on KEW identifiers that are no longer logical when those identifiers are Strings
KULRICE-11678Rework base html template
KULRICE-4131Fix backdoor login logic
KULRICE-4829extract logic from IngesterAction
KULRICE-10545Review document search for lookup analysis items
KULRICE-746The ruleInstructions element must be defined on the ruleDefaults for Rule Template XML
Epic Link: Performance
Rice Module:
KAI Review Status: Not Required
KTI Review Status: Not Required
Code Review Status: Not Required
Include in Release Notes?:


Review all FTL templates to see what logic can be pulled out of the template and moved into code. Any statements (if, loop, etc.) are much more expensive to do in templates as opposed to code.

Also, look into removing compression calls except for the one around the entire render. These are really expensive.

Comment by Mark Fyffe (Inactive) [ 14/Sep/13 ]


KULRICE-10353 was implemented based on analysis of existing freemarker tempaltes, and put together specifically for the purpose of moving high-volume logic (if/loop statements, high-traffic bean property lookups, etc) from templates to compiled code.

Based on analysis of which templates had the biggest footprint, the following were converted from FreeMarker template code to inline Java code:

  • template.ftl
  • script.ftl
  • collectionGroup.ftl
  • stacked.ftl
  • groupWrap.ftl

Further review and optimization of FreeMarker template logic, if needed, will be simplified by the inline template processing feature.


Generated at Fri Jul 03 23:59:37 CDT 2020 using JIRA 6.1.5#6160-sha1:a61a0fc278117a0da0ec9b89167b8f29b6afdab2.