An error occurred while processing the template.
The following has evaluated to null or missing:
==> s3p_publication_document  [in template "20101#20129#114403" at line 15, column 32]

----
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 publicationDocument = s3p_pub...  [in template "20101#20129#114403" at line 15, column 1]
----
1<#assign publicationImage = ""> 
2<#assign publicationImageDesc = ""> 
3 
4<#if s3p_publication_image??> 
5    <#assign publicationImage = s3p_publication_image.getData()> 
6    <#assign publicationImageDesc = s3p_publication_image.getAttribute("alt")!""> 
7</#if> 
8 
9 
10<#assign publicationDateData = getterUtil.getString(s3p_publication_date.getData())> 
11<#assign publicationAuthor = s3p_publication_author.getData()> 
12<#assign publicationSeries = s3p_publication_series.getData()> 
13<#assign path_svg = themeDisplay.getPathThemeRoot()+"/component-library/dist/images/icons/sprites/icons.svg" /> 
14<#assign publicationExternalURL = s3p_publication_externalDocumentURL.getData()> 
15<#assign publicationDocument = s3p_publication_document.getData()> 
16<#assign publicationAbstract = s3p_publication_abstract.getData()> 
17 
18<#if publicationDocument?has_content > 
19	<#assign parts = stringUtil.split(publicationDocument, "/")> 
20	<#assign group_id = getterUtil.getLong(parts[2])> 
21	<#assign folder_id = getterUtil.getLong(parts[3])> 
22	<#assign doc_name = parts[4]> 
23	<#assign uuid = stringUtil.split(parts[5], "?")[0]> 
24	<#assign docService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryService")> 
25	<#assign fileEntry = docService.getFileEntryByUuidAndGroupId(uuid, group_id)> 
26</#if> 
27 
28<#if validator.isNotNull(publicationDateData)> 
29	<#assign publicationDateObj = dateUtil.parseDate("yyyy-MM-dd", publicationDateData, locale)> 
30    <#assign publicationDateFormatted = dateUtil.getDate(publicationDateObj, "dd MMM yyyy", locale)> 
31</#if> 
32 
33<#if validator.isNull(publicationImage) && fileEntry?? && fileEntry?has_content> 
34	<#assign portletFileRepositoryUtil = staticUtil["com.liferay.portal.kernel.portletfilerepository.PortletFileRepositoryUtil"] > 
35	<#assign dlUrlHelper = serviceLocator.findService("com.liferay.document.library.util.DLURLHelper") > 
36	 
37	<#assign parts = stringUtil.split(publicationDocument, "/")> 
38	<#assign group_id = getterUtil.getLong(parts[2])> 
39	<#assign folder_id = getterUtil.getLong(parts[3])> 
40	<#assign doc_name = parts[4]> 
41	<#assign uuid = stringUtil.split(parts[5], "?")[0]> 
42	<#assign fileEntryAux = portletFileRepositoryUtil.getPortletFileEntry(uuid, group_id)> 
43	<#assign publicationImage = dlUrlHelper.getImagePreviewURL(fileEntryAux, themeDisplay) > 
44</#if> 
45 
46 
47<div class="ecl-page-header-harmonised"> 
48    <div class="ecl-container ecl-editor"> 
49       
50		<h1 class="ecl-page-header-harmonised__title"> 
51			<div>${.vars['reserved-article-title'].data}</div> 
52		</h1> 
53	   
54	<#if (publicationImage?has_content)> 
55      <div class="ecl-row"> 
56		 
57        <div class="ecl-col-12 ecl-col-md-6 ecl-u-mt-m ecl-u-mt-md-none"> 
58	</#if> 
59		 
60            <div class="ecl-u-type-s ecl-u-type-color-grey-75 ecl-u-type-family-alt ecl-u-mv-l"> 
61				<span class="ecl-u-type-uppercase">Publication article</span> 
62				<#if (publicationDateFormatted?has_content)> | </#if><time datetime="${publicationDateFormatted}">${publicationDateFormatted}</time> 
63				<#if (publicationAuthor?has_content)> | </#if>${publicationAuthor}  
64			</div> 
65			  
66			<p class="ecl-u-type-paragraph ecl-u-type-color-grey-100 ecl-u-mt-xs"> 
67				${s3p_publication_summary.getData()} 
68			</p> 
69			 
70		    <#if (publicationAbstract?has_content)> 
71				<p class="ecl-u-type-paragraph-m ecl-u-type-none ecl-u-type-bold">Abstract</p> 
72				<p class="ecl-u-type-paragraph ecl-u-type-color-grey-100 ecl-u-mt-xs"> 
73					${publicationAbstract} 
74				</p> 
75			</#if> 
76			 
77			<#if (publicationSeries?has_content)> 
78				<p class="ecl-u-type-paragraph ecl-u-type-color-grey-100 ecl-u-mt-xs"> 
79				<p class="ecl-u-type-paragraph-m ecl-u-type-none ecl-u-type-bold">Series</p> 
80					${publicationSeries}   
81				</p> 
82	        </#if> 
83			 
84			<#if (publicationDocument?has_content && fileEntry?? && fileEntry?has_content)> 
85				<div class="ecl-file ecl-u-mb-m" data-ecl-file="true"> 
86					<div class="ecl-file__container"> 
87						<svg focusable="false" aria-hidden="true" class="ecl-file__icon ecl-icon ecl-icon--2xl"> 
88						<use xlink:href="${path_svg}#general--copy"></use> 
89						</svg> 
90						<div class="ecl-file__info"> 
91							<div class="ecl-file__title">${fileEntry.fileName}</div> 
92							<div class="ecl-file__language"></div> 
93							<div class="ecl-file__meta"></div> 
94						</div> 
95						<a download="" href="${publicationDocument}" class="ecl-file__download ecl-link ecl-link--standalone ecl-link--icon ecl-link--icon-after" aria-label="${fileEntry.fileName}"> 
96						  <span class="ecl-link__label">Download</span>&nbsp;<svg focusable="false" aria-hidden="true" class="ecl-link__icon ecl-icon ecl-icon--fluid"> 
97						  <use xlink:href="${path_svg}#ui--download"></use> 
98						</svg></a> 
99					</div> 
100				</div> 
101			</#if> 
102			  
103			  
104			<#if (publicationExternalURL?has_content)> 
105				<!-- 
106				<p class="ecl-u-type-paragraph ecl-u-type-color-grey-100 ecl-u-mt-l"> 
107				<p class="ecl-u-type-paragraph-m ecl-u-type-none ecl-u-type-bold">External Link</p> 
108				<a href="${publicationExternalURL}" class="ecl-link ecl-link--default" aria-label="External URL">${publicationExternalURL}</a> <svg focusable="false" aria-hidden="true" class="ecl-link__icon ecl-icon ecl-icon--fluid"> 
109					  <use xlink:href="${path_svg}#ui--external"></use> 
110				</svg>  
111				</p> 
112				-->				 
113				 
114				<div class="ecl-file ecl-u-mb-m" data-ecl-file="true"> 
115					<div class="ecl-file__container"> 
116						<svg focusable="false" aria-hidden="true" class="ecl-file__icon ecl-icon ecl-icon--2xl"> 
117							<use xlink:href="${path_svg}#general--copy"></use> 
118						</svg> 
119						<div class="ecl-file__info"> 
120							<div class="ecl-file__title">External Link</div> 
121							<div class="ecl-file__language"></div> 
122							<div class="ecl-file__meta"></div> 
123						</div> 
124						<a download="" href="${publicationExternalURL}" class="ecl-file__download ecl-link ecl-link--standalone ecl-link--icon ecl-link--icon-after" aria-label="External Link"> 
125						  <span class="ecl-link__label">View</span>&nbsp;<svg focusable="false" aria-hidden="true" class="ecl-link__icon ecl-icon ecl-icon--fluid"> 
126						  <use xlink:href="${path_svg}#ui--external"></use> 
127						</svg></a> 
128					</div> 
129				</div>				 
130				 
131	        </#if> 
132		 
133		<#if (publicationImage?has_content)>		 
134			</div> 
135		 
136			<div class="ecl-col-12 ecl-col-md-6 ecl-u-order-first ecl-u-order-md-0"> 
137				<figure class="ecl-u-mt-l ecl-media-container"><img class="ecl-media-container__media" src="${publicationImage}" alt="publication image" /> 
138					<#if (publicationImageDesc?has_content)> <figcaption class="ecl-media-container__caption">${publicationImageDesc}</figcaption> </#if> 
139				</figure>                
140				 
141			</div>			 
142		 
143        </div>		 
144		</#if>	 
145      	 
146    </div> 
147</div>