2020
LECTURE SERIES
Commemoration of the 8th Centenary of the Consecration of the Royal Collegiate Church of Roncesvalles (1220-2020)
Organised by: Chair of Navarrese Heritage and Art
26 September
Adaptation and ingenuity: the architectural project of Santa María de Roncesvalles
Javier Martínez de Aguirre (Complutense University of Madrid)
The Virgin Mother: Saint Mary of Roncesvalles and the derived images
Clara Fernández-Ladreda (University of Navarra)
CONVERSATIONS IN THE PEARL
Conversaciones en la Perla aims to be a space for meeting, dialogue and reflection with the participation of people linked to the world of culture, the arts and music, in order to awaken the imagination, sensitivity and knowledge, in tune with a vital orientation towards the just, the true and the beautiful.
Organised by: Gran Hotel La Perla, Chair de Patrimonio y Arte Navarro, Sayoa
Where: Hotel La Perla - Las Pocholas Hall
ACTIVITIES
20 February 2020, Thursday, 19h.
Cultural heritage and delight: a vision staff
By Ricardo Fernández Gracia, director of the Chair of Navarrese Heritage and Art.
Presented by: Belén Galindo, journalist, manager de speech group la Información/ Diario de Navarra
26 March 2020, Thursday, 19h.
Music in my life
By Marta Ramírez García-Mina, violinist, specialist in historical performance
Presented by: Xavier Armendáriz, musicologist and music critic
May 7, 2020, Thursday, 7 pm.
Reading against nothingness
By Antonio Basanta, vice-president of the Germán Sánchez Ruipérez Foundation.
Presented by: Manuel Casado, Full Professor of language Spanish at the University of Navarra.
11 June 2020, Thursday, 19h.
Around wine: past and present
By Irene and Manuel Canalejo Lasarte, of Bodega Pago de Larráinzar, and Carmen Jusué, director of UNED Pamplona
Presented by: Elena Arraiza Armendáriz, manager de speech del committee Regulador de la D.O. Navarra.
ENTRANCE FREE UNTIL FILL IN
The following has evaluated to null or missing:
==> contentFechaURLString [in template "10136#10174#153676729" at line 156, column 57]
----
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 urlDetail = urlNews + "/-/con... [in template "10136#10174#153676729" at line 156, column 13]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
2<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService") />
3<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") />
4
5
6
7
8<#assign groupFriendlyURL = themeDisplay.getScopeGroup().getFriendlyURL() />
9<#assign friendlyURL = themeDisplay.getScopeGroup().getPathFriendlyURL(false,themeDisplay) + groupFriendlyURL />
10<#assign actualURLFriendly = portalUtil.getHost(request) + friendlyURL />
11<#assign scopeGroupId = themeDisplay.getScopeGroupId() />
12
13<#assign PortalUtil = staticUtil["com.liferay.portal.kernel.util.PortalUtil"] />
14<#assign URLEncoder = staticUtil["java.net.URLEncoder"] />
15<#assign Normalizer = staticUtil["java.text.Normalizer"] />
16<#assign currentGroupSite = themeDisplay.getLayout().getGroup().getFriendlyURL() />
17<#if themeDisplay.getLayout().getPrivateLayout() == true >
18 <#assign state = themeDisplay.getPathFriendlyURLPrivateGroup()/>
19<#else>
20 <#assign state = themeDisplay.getPathFriendlyURLPublic()/>
21</#if>
22
23
24
25<#assign imagen = languageUtil.get(locale, "listado.noticia.imagen")>
26<#assign texto = languageUtil.get(locale, "listado.noticia.texto")>
27<#assign instanceId = themeDisplay.getPortletDisplay().getId()?replace("com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_", "")>
28<#assign originalInstanceId = themeDisplay.getPortletDisplay().getId()?replace("com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_", "")>
29<#assign currentPageUrl = PortalUtil.getLayoutURL(themeDisplay.getLayout(),themeDisplay)>
30<#assign currentLayoutFriendlyUrl = themeDisplay.getLayoutFriendlyURL(themeDisplay.getLayout())>
31
32<#-- custom fields
33<#assign expandos = themeDisplay.getScopeGroup().getExpandoBridge().getAttributes()>
34<#list expandos?keys as key>
35 ${key}
36</#list>
37-->
38
39
40<#-- site_news_asset_publisher_instance_id name of the custom field for the asset publisher instance id of the site -->
41<#assign site_news_asset_publisher_instance_id = layout.getGroup().getExpandoBridge().getAttribute("site_news_asset_publisher_instance_id")>
42<#-- by default the main site asset publisher id -->
43<#assign site_news_asset_publisher_instance_id_default = layout.getGroup().getExpandoBridge().getAttributeDefault("site_news_asset_publisher_instance_id")>
44<#-- site_news_url name of the custom field url of the news page of the site -->
45<#assign site_news_url = themeDisplay.getScopeGroup().getExpandoBridge().getAttribute("site_news_url")>
46<#-- by default the main site news page -->
47<#assign site_news_url_default = themeDisplay.getScopeGroup().getExpandoBridge().getAttributeDefault("site_news_url")>
48
49
50<#-- get site_news_url custom field value for the site -->
51<#list site_news_url?keys as key>
52 <#if key == locale>
53 <#assign site_news_url_value = site_news_url?values[key?index]>
54 </#if>
55</#list>
56
57<#-- get site_news_url custom field default value-->
58<#list site_news_url_default?keys as key>
59 <#if key == locale>
60 <#assign site_news_url_default_value = site_news_url_default?values[key?index]>
61 </#if>
62</#list>
63
64<#-- assign the url if the site has custom field. Use the default value otherwise-->
65<#if site_news_url_value??>
66<#else>
67 <#if site_news_url_default_value??>
68 <#assign site_news_url_value = site_news_url_default_value>
69 </#if>
70</#if>
71
72<#-- assign the instance id if the site has custom field. Use the default value otherwise-->
73<#if site_news_asset_publisher_instance_id??>
74<#else>
75 <#if site_news_asset_publisher_instance_id_default??>
76 <#assign site_news_asset_publisher_instance_id = site_news_asset_publisher_instance_id_default>
77 </#if>
78</#if>
79
80
81<section class="unav-news-list">
82 <#if entries?has_content>
83 <#list entries as curEntry>
84 <#assign article = journalArticleLocalService.fetchLatestArticle(curEntry.getClassPK()) />
85 <#assign assetRendererDate = curEntry.getAssetRenderer() />
86 <#assign journalArticleStructure = article.getDDMStructure().getName(locale)/>
87 <#if journalArticleStructure = "7_Noticia">
88 <#assign aArticleXML = saxReaderUtil.read(article.getContentByLocale(locale)) />
89 <#assign rawDate = aArticleXML.valueOf("//dynamic-element[@name='Fecha_noticia']/dynamic-content/text()") />
90
91<#if rawDate?has_content>
92 <#assign parsedDate = rawDate?date("yyyy-MM-dd") />
93
94 <#assign dateToUse = parsedDate />
95 <#assign contentFechaURLString = parsedDate?string["dd/MM/yyyy"] />
96 <#assign contentFechaString = parsedDate?string["dd | MM | yyyy"] />
97<#else>
98 <#assign dateToUse = article.getDisplayDate() />
99 <#assign contentFechaURLString = dateToUse?string["dd/MM/yyyy"] />
100 <#assign contentFechaString = dateToUse?string["dd | MM | yyyy"] />
101</#if>
102 </#if>
103
104
105 <#assign aArticleXML = saxReaderUtil.read(article.getContentByLocale(locale)) />
106 <#assign tituloNoticia = aArticleXML.valueOf("//dynamic-element[@name='Titulo_noticia']/dynamic-content/text()") />
107 <#assign autorNombre = aArticleXML.valueOf("//dynamic-element[@name='Nombre_autor']/dynamic-content/text()") />
108 <#assign autorImagen = aArticleXML.valueOf("//dynamic-element[@name='Autor_imagen']/dynamic-content/text()") />
109 <#assign jsonObjectString = aArticleXML.valueOf("//dynamic-element[@name='Imagen']/dynamic-content/text()") />
110
111 <#assign video = aArticleXML.valueOf("//dynamic-element[@name='Video_youtube']/dynamic-content/text()") />
112
113 <#assign friendlyContentURL = assetPublisherHelper.getAssetViewURL(portalUtil.getLiferayPortletRequest(renderRequest), portalUtil.getLiferayPortletResponse(renderResponse), curEntry,true) />
114
115 <#assign tituloNoticiaEncoded = friendlyUrlDecode(tituloNoticia)>
116
117 <#-- Asset publisher instance id in main domain -->
118 <#assign mainDomainInstanceId = "lovPblW1fC70">
119 <#-- Urls generated always the same page for unav requirements-->
120 <#-- In main domain, go to main news page and use that asset publisher id. Causes issues with other domains -->
121 <#-- TODO: remove once custom fields are created-->
122 <#assign urlNews = languageUtil.get(locale, "url.news.details", "/noticias")>
123 <#assign instanceId = mainDomainInstanceId>
124
125 <#-- Configure url and asset publisher instance id with customFields-->
126 <#-- By default configured with main domain news page and asset publisher id. Other domains have to configure it manually in the site configuration -->
127 <#if site_news_url_value??>
128 <#assign urlNews = site_news_url_value>
129 </#if>
130 <#if site_news_asset_publisher_instance_id??>
131 <#assign instanceId = site_news_asset_publisher_instance_id>
132 </#if>
133
134 <#-- WORKAROUND FOR TEMPORAL SITES GO LIVE -->
135 <#-- lfr.cloud domain urls work differently, redirection to site news has to be adapted for it-->
136 <#if actualURLFriendly?contains("lfr.cloud")>
137 <#-- 1. Site with default news page. if using the default value, redirect to main site and use mainDomainInstanceId.-->
138 <#if site_news_url_default_value == site_news_url_value>
139 <#assign urlNews = site_news_url_value>
140 <#assign instanceId = mainDomainInstanceId>
141 <#else>
142 <#-- 2. Site with custom news page. if site site_news_url_value contains /web/site/, use site_news_url_value as is and use originalInstanceId to redirect within the site-->
143 <#if site_news_url_value?contains("/web"+groupFriendlyURL)>
144 <#assign urlNews = site_news_url_value>
145 <#assign instanceId = originalInstanceId>
146
147 <#-- 3. Site with custom domain and custom news page. if site site_news_url_value doesn't contain /web/site/ , prepend /web/site to it, to redirect within the site-->
148 <#else>
149 <#assign urlNews = "/web"+groupFriendlyURL + site_news_url_value>
150 <#assign instanceId = originalInstanceId>
151 </#if>
152 </#if>
153
154 </#if>
155
156 <#assign urlDetail = urlNews+"/-/contents/"+contentFechaURLString+"/"+tituloNoticiaEncoded+"/content/"+instanceId+"/"+curEntry.getEntryId()>
157
158<#assign foto = "" >
159 <a href="${urlDetail}" class="unav-news-list__item">
160 <#if jsonObjectString?? && jsonObjectString?has_content>
161 <#attempt>
162 <#assign jsonObject = jsonObjectString?eval>
163 <#assign entryUuid = jsonObject.uuid />
164 <#assign entryGroupId = getterUtil.getLong(jsonObject.groupId) />
165 <#assign dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) />
166 <#assign assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) />
167 <#assign assetRenderer = assetEntry.assetRenderer />
168 <#assign foto = assetRenderer.getURLDownload(themeDisplay) />
169
170 <div class="unav-news-list__img" style="background-image: url('${foto});"> </div>
171 <#recover>
172
173 </#attempt>
174 </#if>
175 <#if video?has_content>
176 <#if foto == "">
177
178 <div class="unav-news-list__img" style="background-image:url(http://img.youtube.com/vi/${video}/0.jpg)">
179 </div>
180 </#if>
181 </#if>
182
183 <div class="unav-news-list__container-txt">
184 <p class="unav__text__date">${contentFechaString}</p>
185
186 <p class="unav__text unav__text--m">${tituloNoticia}</p>
187
188 <div class="unav-news-list__info">
189 <#if autorNombre?has_content>
190 <p class="unav-writing__info-txt"><span class="unav-writing__info-bold">${texto}</span>${autorNombre}</p>
191 </#if>
192 <#if autorImagen?has_content>
193 <p class="unav-writing__info-txt"><span class="unav-writing__info-bold">${imagen}</span>${autorImagen}</p>
194 </#if>
195 </div>
196 </div>
197 </a>
198 </#list>
199 </#if>
200
201
202</section>
203
204<script>
205 $(document).ready(function() {
206 // Prevent loss of focus when paginating
207 if ($('.lfr-pagination-buttons')) {
208 var paginationButtons = $('.lfr-pagination-buttons').children();
209 for (const paginationButton of paginationButtons) {
210 var link = $(paginationButton).children();
211 if(link) {
212 $(link).click(function(e){
213 e.preventDefault();
214 var url = $(this).attr('href');
215 window.location.href = url + '#unav-news-list';
216 });
217 }
218 }
219 }
220 });
221
222 function _com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_lovPblW1fC70_handleDropdownKeyPress(button, list, options, pageIterator) {}
223</script>
224
225<#function friendlyUrlDecode title>
226
227 <#assign titleFriendly = title?replace("[^A-Za-z0-9À-ú ]", "", "r")?lower_case>
228 <#assign titleFriendly = titleFriendly?replace("á", "a", "r")>
229 <#assign titleFriendly = titleFriendly?replace("é", "e", "r")>
230 <#assign titleFriendly = titleFriendly?replace("í", "i", "r")>
231 <#assign titleFriendly = titleFriendly?replace("ó", "o", "r")>
232 <#assign titleFriendly = titleFriendly?replace("ú", "u", "r")>
233 <#assign titleFriendly = titleFriendly?replace("ñ", "n", "r")>
234 <#assign titleFriendly = URLEncoder.encode(titleFriendly)>
235 <#assign titleFriendly = titleFriendly?replace("\\+", "-","r")>
236 <#return titleFriendly>
237</#function>