Human Factors & Ergonomics - Honda Research Institute USA

An error occurred while processing the template.
The following has evaluated to null or missing:
==> Hero.imageDescription  [in template "271076" at line 110, column 45]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign imageDescription = Hero.image...  [in template "271076" in macro "drawTitleImageAndDescription" at line 110, column 17]
	- Reached through: @drawTitleImageAndDescription Externa...  [in template "271076" at line 74, column 11]
	- Reached through: #include "${templatesPath}/271076"  [in template "20116#20152#275354" at line 48, column 1]
----
1<!-- START: Template Research Area --> 
2 
3<style type="text/css"> 
4  .b-hero__links .b-button:nth-child(2) { 
5    display: none; 
6
7</style> 
8 
9<#if DisplayTitle?? && DisplayTitle.getData() != "" > 
10  <#assign scientificDomainTitleHero = DisplayTitle > 
11</#if> 
12 
13<#if Image?? && Image.getData() != "" > 
14  <#assign scientificDomainImageHero = Image > 
15</#if> 
16 
17<#if Description?? && Description.getData() != "" > 
18  <#assign scientificDomainDescriptionHero = Description > 
19</#if> 
20 
21<#import "liferay-hri-theme_SERVLET_CONTEXT_/templates/base22/freemarker-utils.ftl" as utils> 
22<#assign vocabularyId = 248965 /> 
23<#assign allResearchAreasId = utils.getCategoryIdByName( vocabularyId, 'All Research Areas') /> 
24<#assign currentCategories = getAllCategoriesFromCurrentContent() /> 
25<#assign categoryId = getFirstResearchAreaCategory(allResearchAreasId, currentCategories) /> 
26<#if categoryId?is_number > 
27    <#assign linkToPublications = generateURLToPublications( categoryId ) /> 
28</#if> 
29 
30<#assign textLinkPublications><@liferay.language key="label.related-publications" /></#assign> 
31<#assign textLinkRelatedProjects><@liferay.language key="label.related-projects" /></#assign> 
32 
33<#assign ExternalTemplateHeroData = { 
34        "title": scientificDomainTitleHero!"", 
35        "image": scientificDomainImageHero!"", 
36        "description": scientificDomainDescriptionHero!"", 
37        "linkURLOne": linkToPublications!"", 
38        "linkTextOne": textLinkPublications!"", 
39        "linkURLTwo": "#id-related-projects", 
40        "linkTextTwo": textLinkRelatedProjects!"", 
41        "linkURLThree": "", 
42        "linkTextThree": "" 
43 
44    } /> 
45 
46<!-- START: Embed Hero Template --> 
47<#-- Template Path + Key Hero Template --> 
48<#include "${templatesPath}/271076" /> 
49<!-- END: Embed Hero Template --> 
50 
51<!-- START: Embed Research Area Carousel --> 
52<#assign serviceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
53<#assign themeDisplay = serviceContext.getThemeDisplay() /> 
54<#assign portletUniqueId=themeDisplay.getPortletDisplay().getId() /> 
55<#assign portletUniqueId=portletUniqueId?keep_after("com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_") /> 
56<@liferay_portlet["runtime"] 
57      defaultPreferences="" 
58      instanceId=portletUniqueId + "1stAsPshr" 
59      portletName="com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE" 
60      /> 
61<!-- END: Embed Research Area Carousel --> 
62 
63<!-- START: Embed Projects and Publications Filter --> 
64<@liferay_portlet["runtime"] 
65      defaultPreferences="" 
66      instanceId=portletUniqueId + "2sdAsPshr" 
67      portletName="com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE" 
68      /> 
69<!-- END: Embed Projects and Publications Filter --> 
70 
71 
72<#-- =============================== START: Template FreeMaker functions =============================== --> 
73 
74<#function getAllCategoriesFromCurrentContent > 
75    <#assign journalArticleId = .vars['reserved-article-id'].data> 
76    <#assign journalArticleResourceLocalServiceUtil = staticUtil["com.liferay.journal.service.JournalArticleResourceLocalServiceUtil"]> 
77    <#assign assetCategoryLocalServiceUtil = staticUtil["com.liferay.asset.kernel.service.AssetCategoryLocalServiceUtil"]> 
78    <#assign articleResourcePK = journalArticleResourceLocalServiceUtil.getArticleResourcePrimKey(groupId, journalArticleId)/> 
79 
80    <#assign categoriesIDList=assetCategoryLocalServiceUtil.getCategoryIds("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
81 
82    <#assign categoryList=assetCategoryLocalServiceUtil.getCategories("com.liferay.journal.model.JournalArticle",articleResourcePK) > 
83 
84    <#assign Category = categoryList[0] > 
85    <#-- START: some of the properties from selected category that we could get --> 
86    <#assign categoryName = Category.getName() > 
87    <#assign categoryGroupId = Category.getGroupId() > 
88    <#assign categoryId = Category.getCategoryId() > 
89    <#assign parentCategoryId = Category.getParentCategoryId() > 
90    <#-- END: some of the properties from selected category that we could get --> 
91 
92    <#--<#return categoryId >--> 
93 
94    <#return categoryList > 
95 
96 
97</#function> 
98 
99<#function getFirstResearchAreaCategory parentCategoryId, categoriesFromCurrentContent > 
100    <#list categoriesFromCurrentContent as currentCategory > 
101        <#if currentCategory.getParentCategoryId() == parentCategoryId > 
102            <#assign categoryID = currentCategory.getCategoryId() /> 
103            <#return categoryID /> 
104        </#if> 
105    </#list> 
106 
107    <#return "" /> 
108</#function> 
109 
110<#-- START: This function only works inside templates, no ADT --> 
111<#function getCurrentPageURL> 
112  <#assign serviceContext=staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext()> 
113  <#assign themeDisplay=serviceContext.getThemeDisplay() /> 
114  <#assign currURL=themeDisplay.getURLCurrent() /> 
115  <#return currURL> 
116</#function> 
117<#-- END: This function only works inside templates, no ADT --> 
118 
119<#function generateURLToPublications categoryId > 
120  <#assign currentPage = getCurrentPageURL() /> 
121 
122  <#if currentPage?matches('.*hri-us-redesign.*') > 
123      <#assign portalPage = "/web/hri-us-redesign/publications?" /> 
124  <#else> 
125      <#assign portalPage = "/publications?" /> 
126  </#if> 
127  <#assign queryParameters = "categoryList=" /> 
128 
129  <#return portalPage + queryParameters + categoryId + "#navigate" > 
130</#function> 
131 
132<#-- =============================== END: Template FreeMaker functions =============================== --> 
133 
134<script type="text/javascript"> 
135    (function(){ 
136        /* Script to draw Related Projects in Hero if Project List asset publisher has content */ 
137        AUI().ready( function(){ 
138            var $heroLinks = document.querySelectorAll('.b-hero__links .b-button'); 
139            var $projectListContainer = document.querySelector('#id-related-projects'); 
140 
141            if ( $projectListContainer !== null ) { 
142              var $secondLink = $heroLinks[1]; 
143              $secondLink.style.display = "inherit"; 
144
145        } ); 
146    })(); 
147</script> 
148 
149<!-- END: Template Research Area -->