Si è verificato un errore nell'elaborarazione del modello.
?substring(...) arguments have invalid value: The begin index argument, 79, shouldn't be greater than the end index argument, 61.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign journalArticleId = themeDispl...  [in template "20099#20125#41630" at line 12, column 17]
----
1<#assign backUrl = ""> 
2<#assign provenienza =""> 
3<#assign indicePresenzaArticle =themeDisplay.getURLCurrent()?index_of("id=")> 
4 
5<#if indicePresenzaArticle!=-1> 
6	<#assign journalArticleId = themeDisplay.getURLCurrent()?substring(indicePresenzaArticle)+3/> 
7 
8	<#assign indexInizio = themeDisplay.getURLCurrent()?index_of("id=")+3> 
9	<#assign indexFine= themeDisplay.getURLCurrent()?index_of("&from=")> 
10	 
11	<#if indexFine!=-1> 
12		<#assign journalArticleId = themeDisplay.getURLCurrent()?substring(indexInizio, indexFine)/> 
13		<#assign indexInizioFrom = themeDisplay.getURLCurrent()?index_of("from=")+5> 
14		<#assign provenienza = themeDisplay.getURLCurrent()?substring(indexInizioFrom)?replace('&[a-zA-Z]+;%', ' ', 'r')?replace('[^a-zA-Z0-9. ]', ' ', 'r')?replace('[\\d.]', ' ', 'r')/>  
15		 
16		<#assign indexBack = themeDisplay.getURLCurrent()?index_of("&back=")> 
17		<#assign backUrl = "javascript:history.go(-1);"> 
18		  
19		<#if indexBack!=-1> 
20			<#assign indiceInizioBack = themeDisplay.getURLCurrent()?index_of("back=")+5> 
21			 
22			 
23			<#assign stringaBack=themeDisplay.getURLCurrent()?substring(indiceInizioBack)?replace('&[a-zA-Z]+;%', ' ', 'r')?replace('[^a-zA-Z0-9. ]', ' ', 'r')?replace('[\\d.]', ' ', 'r')/>  
24			 
25			<#assign indiceInizioSearch = themeDisplay.getURLCurrent()?index_of("searchField=")+12> 
26			<#if indiceInizioSearch!=-1> 
27					<#assign stringaSearch=themeDisplay.getURLCurrent()?substring(indiceInizioSearch)?replace('&[a-zA-Z]+;%', ' ', 'r')?replace('[^a-zA-Z0-9. ]', ' ', 'r')?replace('[\\d.]', ' ', 'r')/>  
28				  
29			</#if> 
30			 
31			<#assign provenienza =themeDisplay.getURLCurrent()?substring(indexInizioFrom,indexBack)?replace('&[a-zA-Z]+;%', ' ', 'r')?replace('[^a-zA-Z0-9. ]', ' ', 'r')?replace('[\\d.]', ' ', 'r')/>  
32			<#if stringaBack?has_content> 
33				<#if stringaBack==languageUtil.get(locale, "label.NEWS")> 
34						<#assign backUrl="/web/csirt/notizie"/> 
35						<#assign provenienza=languageUtil.get(locale, "label.breadcrumbs.notizie")/> 
36					<#else> 
37						<#assign backUrl="/web/csirt/glossario?searchField=${stringaSearch}"/> 
38					</#if> 
39			</#if> 
40			 
41					 
42					 
43			 
44			 
45		</#if> 
46		 
47	</#if> 
48	<#if indexFine==-1> 
49		<#assign journalArticleId = themeDisplay.getURLCurrent()?substring(indexInizio)/> 
50		<#assign provenienza=  themeDisplay.getLayout().getName(themeDisplay.getLocale())?cap_first/> 
51	</#if> 
52	 
53<#else> 
54		<#assign provenienza=  themeDisplay.getLayout().getName(themeDisplay.getLocale())?cap_first/> 
55		 
56</#if> 
57 
58 
59 
60  
61<#assign homeUrl="/web/csirt/"> 
62<#attempt> 
63 
64<#if journalArticleId?has_content> 
65 
66 
67	<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
68  
69	<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
70  
71 <#list  assetEntryLocalService.getAssetEntries(-1, -1) as current> 
72   
73	<#if current.getEntryId()== journalArticleId?number > 
74		   
75				<#assign 
76						assetRenderer = current.getAssetRenderer() 
77						entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) 
78						docXml = saxReaderUtil.read(assetRenderer.getArticle().getContent()) 
79						dataCreazione = current.getCreateDate()  
80						/> 
81						<#assign Fields = assetRenderer.getDDMFormValuesReader().getDDMFormValues().getDDMFormFieldValues()/> 
82	         
83            	<#list Fields as currentField> 
84            		<#if currentField.getDDMFormField().getFieldReference()=='titolo'> 
85									<#assign titolo=currentField.getValue().getString(themeDisplay.getLocale()) /> 
86								</#if> 
87							</#list> 
88				 
89					  
90				<main class="container ct-breadcrumb" > 
91					<ul aria-label="${portletDisplay.getTitle()}" class="breadcrumb-horizontal pl-0" role="navigation"> 
92           <section id="breadcrumbs"> 
93							  <a href="${homeUrl}">Home</a> 
94								<#if backUrl !=""  > 
95                	<a  href="${backUrl}" aria-label="torna alla pagina ${provenienza}" class='no-reset'>${provenienza}</a> 
96								</#if> 
97                <p class="tr" >${titolo}</p> 
98            </section>		 
99					</ul> 
100					 
101				</main> 
102	</#if>			  
103 </#list> 
104<#else> 
105	<main class="container ct-breadcrumb" > 
106					<ul aria-label="${portletDisplay.getTitle()}" class="breadcrumb-horizontal pl-0" role="navigation"> 
107           <section id="breadcrumbs"> 
108							  <a href="${homeUrl}">Home</a></li> 
109                <p class="tr" >${provenienza}</p> 
110            </section>		 
111					</ul> 
112					 
113				</main> 
114</#if> 
115<#recover> 
116 
117	<main class="container ct-breadcrumb" > 
118					<ul aria-label="${portletDisplay.getTitle()}" class="breadcrumb-horizontal pl-0" role="navigation"> 
119           <section id="breadcrumbs"> 
120							  <a href="${homeUrl}">Home</a></li> 
121                <p class="tr" >${provenienza}</p> 
122            </section>		 
123					</ul> 
124					 
125				</main> 
126</#attempt> 

Netiquette

Portmanteau del vocabolo inglese “network” (rete) e il francese “étiquette” (buona educazione). Indica una regolamentazione informale che regola il buon comportamento degli utenti nella rete, specie all’interno di risorse web come forum, blog o social network, nel cui ambito si sviluppa un elevato livello di interazioni fra i partecipanti.