La Oficina de la Cooperación Española de la Embajada de España en Haití, funcionalmente dependiente de la Agencia Española de Cooperación Internacional para el Desarrollo (AECID), fue abierta en la ciudad de Puerto Príncipe en 1989 y desde entonces ha mantenido un profundo compromiso con la mejora de las capacidades de desarrollo del país sirviendo como punto de referencia para la articulación de las actuaciones españolas en materia de cooperación para el desarrollo sostenible, la acción humanitaria y la educación para el desarrollo sostenible y la ciudadanía global.

Contratación de un proveedor de servicios para la realización de la auditoría externa de un proyecto en Marigot y Cayes Jacmel - Asociación Nacional Tèt kole Ti Peyizan.  

Se ha producido un error al procesar la plantilla.
Java method "jdk.proxy162.$Proxy992.getArticle(long, String)" threw an exception when invoked on jdk.proxy162.$Proxy992 object "com.liferay.journal.service.impl.JournalArticleLocalServiceImpl@4846485d"; see cause exception in the Java stack trace.

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign journalArticle = JournalArtic...  [in template "20096#20122#89870" at line 88, column 1]
----
1<style> 
2 .aecid-anuncio a { 
3	color: var(--brand-color-1); 
4
5.aecid-anuncio a:hover, .aecid-anuncio .share-option:hover { 
6	opacity: .5; 
7
8 .aecid-anuncio h2 {  
9	font-weight: bold; 
10	margin-bottom: 20px;  
11	font-size: 24px; 
12
13 .aecid-anuncio h3 {  
14	font-weight: bold; 
15	margin-bottom: 20px;  
16	font-size: 20px; 
17
18  
19 .fecha{ 
20 	color: #6f6f6f; 
21	font-size: 0.85em; 
22
23 .organo{ 
24 	text-transform: uppercase; 
25 	color: #6f6f6f; 
26	font-size: 0.85em; 
27
28 .categoria{ 
29	color: #6f6f6f; 
30	font-size: 0.85em; 
31	text-transform: uppercase; 
32
33 .cuerpo{ 
34	color: #6f6f6f; 
35	font-size: 0.9em; 
36
37.botonRRSS { 
38	display: inline-block; 
39	color: #fff; 
40	vertical-align: middle; 
41	cursor: pointer; 
42	-webkit-user-select: none; 
43	-moz-user-select: none; 
44	user-select: none; 
45	background-color: transparent; 
46	border: 1px solid transparent; 
47	padding: 0.375rem 0.75rem; 
48	border-radius: 0.25rem; 
49	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; 
50
51 
52.share-option { 
53	background-color: transparent; 
54	border: none; 
55	padding: 0; 
56
57 
58.facebook { 
59	background-color: #3B5998; 
60
61 
62.fb-xfbml-parse-ignore { 
63		    background-color: transparent; 
64				border: none; 
65
66		 
67		.fb-xfbml-parse-ignore:hover { 
68		    opacity: .5; 
69
70		 
71 .twitter { 
72	background-color: #1D9BF0; 
73
74 @media screen and (max-width: 576px) { 
75    .aecid-anuncio{ 
76        padding-left: 10px; 
77
78
79 
80</style> 
81 
82<div id="fb-root"></div> 
83<script async defer crossorigin="anonymous" src="https://connect.facebook.net/es_ES/sdk.js#xfbml=1&version=v14.0" nonce="r45a3F5a"></script> 
84 
85<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService") /> 
86<#assign AssetVocabularyLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService") /> 
87<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
88<#assign journalArticle = JournalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data) /> 
89<#assign categories = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey()) /> 
90<#assign currentURL = themeDisplay.getPortalURL() + themeDisplay.getURLCurrent() /> 
91<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
92<#assign assetEntry = AssetEntryLocalService.getEntry("com.liferay.journal.model.JournalArticle", journalArticle.getResourcePrimKey())/> 
93 
94<#if (serviceLocator.findService("es.aecid.shorturl.service.AecidShortUrlService"))??> 
95    <#assign shortUrlService=serviceLocator.findService("es.aecid.shorturl.service.AecidShortUrlService") /> 
96    <#assign currentShortURL=themeDisplay.getPortalURL() + '/' + shortUrlService.getShortUrl(currentURL, companyId, groupId, 
97    themeDisplay.getUserId()) /> 
98<#else> 
99    <#assign currentShortURL=currentURL /> 
100</#if> 
101	 
102<#assign siteGroupId = themeDisplay.getSiteGroupId()> 
103<div id="aecid-detalle-anuncio" class="container p-0 mt-2 mb-5"> 
104	<div class="row aecid-anuncio"> 
105        <#if  siteGroupId == 20120>  <!-- AECID PRINCIPAL --> 
106            <div class="col-12 p-0"> 
107                <h2 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "apartado.del.anuncio")}: </span> 
108                    <#if categories?has_content> 
109                            <#list categories as category> 
110                            ${category.getName()}${category?has_next?then(', ', '')} 
111                            </#list> 
112                    </#if> 
113                </h2> 
114                <hr> 
115            </div> 
116		 
117            <div class="col-12 p-0"> 
118                <p class="fecha" tabindex="0"><span class="sr-only">${languageUtil.get(locale, "fecha.de.publicacion.de.la.noticia")}</span> 
119                    <#if journalArticle?has_content>	 
120                        <#assign fechaPubli =  assetEntry.getPublishDate()?datetime?string["dd/MM/yyyy"] > 
121                        ${fechaPubli} 
122                    </#if> 
123                </p> 
124            </div> 
125		 
126    		<div class="col-12 p-0"><h3 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "titulo.del.anuncio")}: </span>${titulo.getData()}</h3></div> 
127		 
128            <div class="col-12 p-0"> 
129                <#if (announcing.getData())??> 
130                    <p class="organo" tabindex="0">${languageUtil.get(locale, "organo.convocante.o.anunciante")} - ${announcing.getData()} </p> 
131                </#if> 
132            </div> 
133		 
134            <div class="col-12 p-0"> 
135                <#assign fechaPublicacion_Data = getterUtil.getString(fechaPublicacion.getData())> 
136 
137                <#if validator.isNotNull(fechaPublicacion_Data)> 
138                    <p class="fecha" tabindex="0">${languageUtil.get(locale, "fecha.limite.presentacion")} -  
139                        <#assign fechaPublicacion_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaPublicacion_Data, locale)> 
140                        ${dateUtil.getDate(fechaPublicacion_DateObj, "dd/MM/yyyy", locale)} 
141                    </p> 
142                </#if> 
143            </div> 
144		 
145            <div class="col-12 p-0"> 
146                <#if (body.getData())??> 
147                    <p class="cuerpo" tabindex="0">${body.getData()} </p> 
148                </#if> 
149            </div> 
150		 
151            <div class="col-12 p-0"> 
152                <#if (contactData.getData())??> 
153                    <p class="fecha" tabindex="0">${languageUtil.get(locale, "contacto")}</p> 
154                    <p>${contactData.getData()}</p> 
155                </#if> 
156            </div>	 
157		 
158 
159            <div class="col-flex"> 
160                <#if (linkOutside.getData())?? && linkOutside.getData() != ""> 
161                    <a class="mr-3" href="${linkOutside.getData()}"> 
162                        <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>  
163                    ${linkText.getData()} 
164                    </a> 
165                </#if> 
166            </div> 
167		 
168            <#if attachedGroup?has_content> 
169                <div class="col-flex"> 
170                    <#list attachedGroup.getSiblings() as item> 
171                        <#if (item.document.getData())?? && item.document.getData() != ""> 
172                            <a class="mr-3" href="${item.document.getData()}" target="_blank"> 
173                                <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>  
174                            ${item.attached.getData()} 
175                            </a> 
176                        </#if> 
177                             
178                        <#if (item.externalDocument.getData())?? && item.externalDocument.getData() != ""> 
179                            <a class="mr-3" href="${item.externalDocument.getData()}" target="_blank"> 
180                                <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="${themeDisplay.getPathThemeImages()}/icons/svg/icon_link_1.svg"/>  
181                            ${item.attached.getData()} 
182                            </a> 
183                        </#if> 
184                    </#list> 
185                </div> 
186            </#if> 
187        <#else>  <!-- EL RESTO DE LOS SITE DE LAS OCES -->  
188            <div class="col-12 p-0"> 
189                <h2 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "apartado.del.anuncio")}: </span> 
190                    <#if categories?has_content> 
191                            <#list categories as category> 
192                            ${category.getName()}${category?has_next?then(', ', '')} 
193                            </#list> 
194                    </#if> 
195                </h2> 
196                <hr> 
197            </div> 
198		 
199            <div class="col-12 p-0"> 
200                <p class="fecha" tabindex="0"><span class="sr-only">${languageUtil.get(locale, "fecha.de.publicacion.de.la.noticia")}</span> 
201                    <#if journalArticle?has_content>	 
202                        <#assign fechaPubli =  assetEntry.getPublishDate()?datetime?string["dd/MM/yyyy"] > 
203                        ${fechaPubli} 
204                    </#if> 
205                </p> 
206            </div> 
207		 
208    		<div class="col-12 p-0"><h3 tabindex="0"><span class="sr-only">${languageUtil.get(locale, "titulo.del.anuncio")}: </span>${titulo.getData()}</h3></div> 
209		 
210            <div class="col-12 p-0"> 
211                <#if (announcing.getData())?? && announcing.getData() != ""> 
212                    <p class="organo" tabindex="0">${languageUtil.get(locale, "organo.convocante.o.anunciante")} - ${announcing.getData()} </p> 
213                </#if> 
214            </div> 
215		 
216            <div class="col-12 p-0"> 
217                <#assign fechaPublicacion_Data = getterUtil.getString(fechaPublicacion.getData())> 
218 
219                <#if validator.isNotNull(fechaPublicacion_Data)> 
220                    <p class="fecha" tabindex="0">${languageUtil.get(locale, "fecha.limite.presentacion")} -  
221                        <#assign fechaPublicacion_DateObj = dateUtil.parseDate("yyyy-MM-dd", fechaPublicacion_Data, locale)> 
222                        ${dateUtil.getDate(fechaPublicacion_DateObj, "dd/MM/yyyy", locale)} 
223                    </p> 
224                </#if> 
225            </div> 
226		 
227            <div class="col-12 p-0"> 
228                <#if (body.getData())??> 
229                    <p class="cuerpo" tabindex="0">${body.getData()} </p> 
230                </#if> 
231            </div> 
232		 
233            <div class="col-12 p-0"> 
234                <#if (contactData.getData())?? && contactData.getData() != ""> 
235                    <p class="fecha" tabindex="0">${languageUtil.get(locale, "contacto")}</p> 
236                    <p>${contactData.getData()}</p> 
237                </#if> 
238            </div>	 
239		 
240 
241            <div class="col-flex"> 
242                <#if (linkOutside.getData())?? && linkOutside.getData() != ""> 
243                    <a class="mr-3" href="${linkOutside.getData()}"> 
244                         <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>  
245                    ${linkText.getData()} 
246                    </a> 
247                </#if> 
248            </div> 
249		 
250            <#if attachedGroup?has_content> 
251                <div class="col-flex"> 
252                    <ul class="list-unstyled"> 
253                        <#list attachedGroup.getSiblings() as item> 
254                            <#if (item.document.getData())?? && item.document.getData() != ""> 
255                                <li><a class="mr-3" href="${item.document.getData()}" target="_blank"> 
256                                    <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>  
257                                ${item.attached.getData()} 
258                                </a></li> 
259                            </#if> 
260                                 
261                            <#if (item.externalDocument.getData())?? && item.externalDocument.getData() != ""> 
262                                <li><a class="mr-3" href="${item.externalDocument.getData()}" target="_blank"> 
263                                    <img alt="${languageUtil.get(locale, 'ir.al.enlace')}" src="/documents/d/global/icon_link_1"/>  
264                                ${item.attached.getData()} 
265                                </a></li> 
266                            </#if> 
267                        </#list> 
268                    </ul> 
269                </div> 
270            </#if> 
271        </#if> 
272	 
273		<@liferay_util["html-top"] outputKey="htmltop"> 
274		 
275			<!-- METAS RRSS --> 
276			<meta property="og:url" content="${currentURL}" /> 
277			<meta property="og:site_name" content="SiteName" /> 
278 
279			<meta property="og:type" content="website" /> 
280			<meta property="og:locale" content="gl_ES" /> 
281			<meta property="og:locale:alternate" content="gl_ES" /> 
282 
283			<meta name="twitter:card" content="summary_large_image" /> 
284			<meta property="og:title" content="Titulo" /> 
285			<meta name="twitter:title" content="Titulo" /> 
286 
287			<meta property="og:description" content="Desc1" /> 
288			<meta name="twitter:description" content="Desc2" /> 
289 
290			<meta property="fb:app_id" content="???"> 
291			<meta property="fb:admins" content="https://www.facebook.com/Aecid.es"> 
292			<meta name="twitter:domain" content="${currentURL}" /> 
293 
294			<meta name="twitter:site" content="@AECID_es" /> 
295	</@> 
296		<div class="col-12 p-0 mt-2"><hr></div> 
297	 
298		<div class="row col-12 p-0"> 
299            <!-- button visible facebook --> 
300            <div class="col-flex mr-2"> 
301                <button class="fb-xfbml-parse-ignore" onClick="shareFacebook();" target="_blank" class="share-option" 
302                    index-social-media-list="0"> 
303 
304                    <div class="botonRRSS facebook no-ico"> 
305                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" 
306                            class="bi bi-facebook" viewBox="0 0 16 16"> 
307                            <path 
308                                d="M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z" /> 
309                        </svg> 
310                    </div> 
311                </button> 
312            </div> 
313 
314            <!-- button visible twitter --> 
315            <div class="col-flex mr-2"> 
316                <a href="https://twitter.com/intent/tweet?text=Mira esta noticia: ${titulo.getData()} ${currentShortURL}" 
317                    class="twitter-share share-option no-ico" target="_blank" index-social-media-list="1"> 
318                    <div class="botonRRSS twitter"> 
319                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" 
320                            class="bi bi-twitter" viewBox="0 0 16 16"> 
321                            <path 
322                                d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" /> 
323                        </svg> 
324                    </div> 
325                </a> 
326            </div> 
327        </div> 
328</div> 
329 
330<script> 
331    function shareFacebook() { 
332        let urlShare = 'http://www.facebook.com/sharer.php?s=100&p[title]=' + encodeURI('${titulo.getData()}') + 
333            '&p[summary]=Resumen&p[url]=${currentShortURL}'; 
334				let a= document.createElement('a'); 
335				a.target= '_blank'; 
336				a.href= urlShare; 
337				a.click(); 
338
339</script> 

Últimas noticias

La AECID, a través de la OCHA, refuerza su respuesta ante la crisis humanitaria en Haití con una nueva contribución de 900.000 euros.: La AECID, a través de la OCHA, refuerza su respuesta ante la crisis humanitaria en Haití con una nueva contribución de 900.000 euros.

Fecha de la noticia:: 22/06/2026

Logo de Cooperación Española

Fortaleciendo la educación técnica y profesional en Haití: Fortaleciendo la educación técnica y profesional en Haití

Fecha de la noticia:: 16/06/2026

El Programa de Transición Ecológica (PROTEC), impulsa la protección del medio ambiente en Haití.: El Programa de Transición Ecológica (PROTEC), impulsa la protección del medio ambiente en Haití.

Fecha de la noticia:: 05/06/2026