Publicaciones - Foro para la Integración Social de los Inmigrantes
Órgano de consulta, información y asesoramiento del Gobierno de España en materia de integración de las personas inmigrantes
Publicaciones
II Premio Memoria de la Emigración Española (Reedición)
Con este II Premio Memoria de la Emigración Española se consolida una iniciativa conjunta entre la Universidad y el Gobierno de España cuyo fin último es la recuperación de testimonios de compatriotas que, en un pasado más o menos próximo a nuestro presente, tomaron la decisión de emigrar fuera de nuestro país.
A ello ha contribuido la gran participación en la primera convocatoria, pero, sobre todo, el convencimiento de que la tarea de recuperación de estos testimonios apenas ha comenzado; de hecho, en puridad, siempre será una tarea inacabada, como es de entender que siempre habrá españoles y españolas que emigren.
Comunicado del Foro para la Integración Social de los Inmigrantes frente a las últimas declaraciones políticas sobre la migración
Comunicado del 08 de octubre de 2025.
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> catPropValue [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 54]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign color = catPropValue.getValue() [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 37]
----
1<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign entry = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
4<#assign articlePriority = assetEntryLocalService.getEntryPriority("com.liferay.journal.model.JournalArticle", getterUtil.getLong(entry.getResourcePrimKey())) />
5
6<div class="doc-aprobado">
7 <div class="media my-3">
8 <div class="media-body">
9 <#if biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()?has_content || biblioteca_publicacion_titulo.getData()?has_content>
10 <a href="${biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()}"
11 target="_blank">
12 <h2 class="h3">${biblioteca_publicacion_titulo.getData()}</h2>
13 </a>
14 </#if>
15 <#if biblioteca_publicacion_portada.getData()?has_content>
16 <div class="imagen-documento">
17 <img alt="${biblioteca_publicacion_portada.getAttribute("alt")}"
18 data-fileentryid="${biblioteca_publicacion_portada.getAttribute("fileEntryId")}"
19 src="${biblioteca_publicacion_portada.getData()}" class="mr-4"/>
20 </div>
21 <#else>
22 <div class="imagen-documento">
23 <img alt="<@liferay.language key="foro.alt.resultado"/>"
24 src="/documents/1652165/1651241/document-309065_960_720.png/a86f37c8-b3f4-b75d-53c2-51a9d73eb37e?t=1663254524921"
25 class="mr-4"/>
26 </div>
27 </#if>
28 <#if biblioteca_publicacion_sinopsis.getData()?has_content>
29 <div class="mt-3">
30 ${biblioteca_publicacion_sinopsis.getData()}
31 </div>
32 </#if>
33
34 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")/>
35 <#assign article = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
36 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
37 <#assign globalGroup = groupLocalService.getCompanyGroup(company.getCompanyId()) />
38 <#assign globalGroupId = globalGroup.getGroupId() />
39 <#assign allCategories = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(article.getResourcePrimKey()) ) />
40 <#assign articleCategories = allCategories?filter(cat -> cat.getGroupId() == globalGroupId) />
41
42 <#if (articleCategories?size gt 0) || (articlePriority gt 0)>
43 <#assign catPropLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
44 <#assign categoriasExcluidas = ["Anual", "Biblioteca"] />
45
46 <div class="mt-3 doc-categories">
47 <#if (articlePriority gt 0)>
48 <i class="bi bi-bookmark-star"></i>
49 </#if>
50
51 <#if (articleCategories?size gt 0)>
52 <#assign html = "" />
53 <#assign primero = 0 />
54 <#assign ultimo = 0 />
55
56 <#list articleCategories as curCat>
57 <#if categoriasExcluidas?seq_contains(curCat.getName())>
58 <#continue>
59 </#if>
60
61 <#assign color = "" />
62
63 <#if curCat.name?matches("^[0-9]+$")>
64 <#assign indice = curCat.name?number />
65 <#if primero == 0>
66 <#assign primero = indice />
67 <#elseif primero gt indice>
68 <#assign ultimo = primero />
69 <#assign primero = indice />
70 <#elseif primero lt indice>
71 <#if ultimo lt indice>
72 <#assign ultimo = indice />
73 </#if>
74 </#if>
75 <#else>
76 <#if html != curCat.name>
77 <#assign html = curCat.name />
78 </#if>
79
80 <#assign catPropValue = catPropLocalService.fetchCategoryProperty(curCat.getCategoryId(), "Color")!"" />
81 <#if catPropValue??>
82 <#assign color = catPropValue.getValue() />
83 </#if>
84
85 <span class="select-${color}" title="${html}">${html}</span>
86 <style>
87 .select-${color} {
88 border: 1px solid transparent;
89 padding: 0.25rem 0.5rem;
90 font-size: 0.775rem;
91 line-height: 1.5;
92 border-radius: 0.2rem;
93 color: #ffffff;
94 background-color: #${color};
95 display: inline-block;
96 font-weight: 400;
97 text-align: center;
98 vertical-align: middle;
99 }
100 </style>
101 </#if>
102 </#list>
103 <#if ultimo != 0>
104 <span class="anio" title="${primero} - ${ultimo}">${primero} - ${ultimo}</span>
105 <#else>
106 <span class="anio" title="${primero}">${primero}</span>
107 </#if>
108 </#if>
109 </div>
110 </#if>
111 </div>
112 </div>
113</div>
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> catPropValue [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 54]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign color = catPropValue.getValue() [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 37]
----
1<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign entry = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
4<#assign articlePriority = assetEntryLocalService.getEntryPriority("com.liferay.journal.model.JournalArticle", getterUtil.getLong(entry.getResourcePrimKey())) />
5
6<div class="doc-aprobado">
7 <div class="media my-3">
8 <div class="media-body">
9 <#if biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()?has_content || biblioteca_publicacion_titulo.getData()?has_content>
10 <a href="${biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()}"
11 target="_blank">
12 <h2 class="h3">${biblioteca_publicacion_titulo.getData()}</h2>
13 </a>
14 </#if>
15 <#if biblioteca_publicacion_portada.getData()?has_content>
16 <div class="imagen-documento">
17 <img alt="${biblioteca_publicacion_portada.getAttribute("alt")}"
18 data-fileentryid="${biblioteca_publicacion_portada.getAttribute("fileEntryId")}"
19 src="${biblioteca_publicacion_portada.getData()}" class="mr-4"/>
20 </div>
21 <#else>
22 <div class="imagen-documento">
23 <img alt="<@liferay.language key="foro.alt.resultado"/>"
24 src="/documents/1652165/1651241/document-309065_960_720.png/a86f37c8-b3f4-b75d-53c2-51a9d73eb37e?t=1663254524921"
25 class="mr-4"/>
26 </div>
27 </#if>
28 <#if biblioteca_publicacion_sinopsis.getData()?has_content>
29 <div class="mt-3">
30 ${biblioteca_publicacion_sinopsis.getData()}
31 </div>
32 </#if>
33
34 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")/>
35 <#assign article = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
36 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
37 <#assign globalGroup = groupLocalService.getCompanyGroup(company.getCompanyId()) />
38 <#assign globalGroupId = globalGroup.getGroupId() />
39 <#assign allCategories = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(article.getResourcePrimKey()) ) />
40 <#assign articleCategories = allCategories?filter(cat -> cat.getGroupId() == globalGroupId) />
41
42 <#if (articleCategories?size gt 0) || (articlePriority gt 0)>
43 <#assign catPropLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
44 <#assign categoriasExcluidas = ["Anual", "Biblioteca"] />
45
46 <div class="mt-3 doc-categories">
47 <#if (articlePriority gt 0)>
48 <i class="bi bi-bookmark-star"></i>
49 </#if>
50
51 <#if (articleCategories?size gt 0)>
52 <#assign html = "" />
53 <#assign primero = 0 />
54 <#assign ultimo = 0 />
55
56 <#list articleCategories as curCat>
57 <#if categoriasExcluidas?seq_contains(curCat.getName())>
58 <#continue>
59 </#if>
60
61 <#assign color = "" />
62
63 <#if curCat.name?matches("^[0-9]+$")>
64 <#assign indice = curCat.name?number />
65 <#if primero == 0>
66 <#assign primero = indice />
67 <#elseif primero gt indice>
68 <#assign ultimo = primero />
69 <#assign primero = indice />
70 <#elseif primero lt indice>
71 <#if ultimo lt indice>
72 <#assign ultimo = indice />
73 </#if>
74 </#if>
75 <#else>
76 <#if html != curCat.name>
77 <#assign html = curCat.name />
78 </#if>
79
80 <#assign catPropValue = catPropLocalService.fetchCategoryProperty(curCat.getCategoryId(), "Color")!"" />
81 <#if catPropValue??>
82 <#assign color = catPropValue.getValue() />
83 </#if>
84
85 <span class="select-${color}" title="${html}">${html}</span>
86 <style>
87 .select-${color} {
88 border: 1px solid transparent;
89 padding: 0.25rem 0.5rem;
90 font-size: 0.775rem;
91 line-height: 1.5;
92 border-radius: 0.2rem;
93 color: #ffffff;
94 background-color: #${color};
95 display: inline-block;
96 font-weight: 400;
97 text-align: center;
98 vertical-align: middle;
99 }
100 </style>
101 </#if>
102 </#list>
103 <#if ultimo != 0>
104 <span class="anio" title="${primero} - ${ultimo}">${primero} - ${ultimo}</span>
105 <#else>
106 <span class="anio" title="${primero}">${primero}</span>
107 </#if>
108 </#if>
109 </div>
110 </#if>
111 </div>
112 </div>
113</div>
Extranjeros con certificado de registro o tarjeta de residencia en vigor

El Observatorio Permanente de la Inmigración (OPI) presenta la nota de análisis de carácter semestral de la estadística "Extranjeros con certificado de registro o tarjeta de residencia en vigor", en la que se describen y analizan sus principales resultados.
La Estadística de Extranjeros con certificado de registro o tarjeta de residencia en vigor, muestra el número de personas extranjeras que en la fecha de referencia poseen el documento de residencia que les exige la normativa española: autorización de residencia (para quienes no tengan ciudadanía comunitaria), certificado de registro o tarjeta de familiar (para quienes tengan ciudadanía comunitaria y sus familiares) o TIE-Acuerdo de Retirada (para quienes tengan nacionalidad británica y sus familiares que pueden acogerse al Acuerdo de Retirada consecuencia del Brexit).
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> catPropValue [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 54]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign color = catPropValue.getValue() [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 37]
----
1<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign entry = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
4<#assign articlePriority = assetEntryLocalService.getEntryPriority("com.liferay.journal.model.JournalArticle", getterUtil.getLong(entry.getResourcePrimKey())) />
5
6<div class="doc-aprobado">
7 <div class="media my-3">
8 <div class="media-body">
9 <#if biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()?has_content || biblioteca_publicacion_titulo.getData()?has_content>
10 <a href="${biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()}"
11 target="_blank">
12 <h2 class="h3">${biblioteca_publicacion_titulo.getData()}</h2>
13 </a>
14 </#if>
15 <#if biblioteca_publicacion_portada.getData()?has_content>
16 <div class="imagen-documento">
17 <img alt="${biblioteca_publicacion_portada.getAttribute("alt")}"
18 data-fileentryid="${biblioteca_publicacion_portada.getAttribute("fileEntryId")}"
19 src="${biblioteca_publicacion_portada.getData()}" class="mr-4"/>
20 </div>
21 <#else>
22 <div class="imagen-documento">
23 <img alt="<@liferay.language key="foro.alt.resultado"/>"
24 src="/documents/1652165/1651241/document-309065_960_720.png/a86f37c8-b3f4-b75d-53c2-51a9d73eb37e?t=1663254524921"
25 class="mr-4"/>
26 </div>
27 </#if>
28 <#if biblioteca_publicacion_sinopsis.getData()?has_content>
29 <div class="mt-3">
30 ${biblioteca_publicacion_sinopsis.getData()}
31 </div>
32 </#if>
33
34 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")/>
35 <#assign article = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
36 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
37 <#assign globalGroup = groupLocalService.getCompanyGroup(company.getCompanyId()) />
38 <#assign globalGroupId = globalGroup.getGroupId() />
39 <#assign allCategories = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(article.getResourcePrimKey()) ) />
40 <#assign articleCategories = allCategories?filter(cat -> cat.getGroupId() == globalGroupId) />
41
42 <#if (articleCategories?size gt 0) || (articlePriority gt 0)>
43 <#assign catPropLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
44 <#assign categoriasExcluidas = ["Anual", "Biblioteca"] />
45
46 <div class="mt-3 doc-categories">
47 <#if (articlePriority gt 0)>
48 <i class="bi bi-bookmark-star"></i>
49 </#if>
50
51 <#if (articleCategories?size gt 0)>
52 <#assign html = "" />
53 <#assign primero = 0 />
54 <#assign ultimo = 0 />
55
56 <#list articleCategories as curCat>
57 <#if categoriasExcluidas?seq_contains(curCat.getName())>
58 <#continue>
59 </#if>
60
61 <#assign color = "" />
62
63 <#if curCat.name?matches("^[0-9]+$")>
64 <#assign indice = curCat.name?number />
65 <#if primero == 0>
66 <#assign primero = indice />
67 <#elseif primero gt indice>
68 <#assign ultimo = primero />
69 <#assign primero = indice />
70 <#elseif primero lt indice>
71 <#if ultimo lt indice>
72 <#assign ultimo = indice />
73 </#if>
74 </#if>
75 <#else>
76 <#if html != curCat.name>
77 <#assign html = curCat.name />
78 </#if>
79
80 <#assign catPropValue = catPropLocalService.fetchCategoryProperty(curCat.getCategoryId(), "Color")!"" />
81 <#if catPropValue??>
82 <#assign color = catPropValue.getValue() />
83 </#if>
84
85 <span class="select-${color}" title="${html}">${html}</span>
86 <style>
87 .select-${color} {
88 border: 1px solid transparent;
89 padding: 0.25rem 0.5rem;
90 font-size: 0.775rem;
91 line-height: 1.5;
92 border-radius: 0.2rem;
93 color: #ffffff;
94 background-color: #${color};
95 display: inline-block;
96 font-weight: 400;
97 text-align: center;
98 vertical-align: middle;
99 }
100 </style>
101 </#if>
102 </#list>
103 <#if ultimo != 0>
104 <span class="anio" title="${primero} - ${ultimo}">${primero} - ${ultimo}</span>
105 <#else>
106 <span class="anio" title="${primero}">${primero}</span>
107 </#if>
108 </#if>
109 </div>
110 </#if>
111 </div>
112 </div>
113</div>
Compatibilidad entre pensión pública de Seguridad Social y trabajo. Resumen ejecutivo
El estudio “Compatibilidad entre pensión pública de Seguridad Social y Trabajo. Resumen ejecutivo”, elaborado como parte de la actividad del programa FIPROS de la Seguridad Social, aborda la compatibilidad entre las pensiones públicas de la Seguridad Social y el trabajo en España, destacando la evolución normativa y las finalidades de la jubilación parcial y otras modalidades de compatibilidad. Es un resumen del informe que destaca la necesidad de un diseño coherente y sistematizado de la compatibilidad entre trabajo y pensión, considerando las reformas recientes y las recomendaciones del Pacto de Toledo, así como los compromisos con la Unión Europea.
Compatibilidad entre pensión pública de Seguridad Social y trabajo
El estudio “Compatibilidad entre pensión pública de Seguridad Social y Trabajo”, elaborado como parte de la actividad del programa FIPROS de la Seguridad Social, aborda la compatibilidad entre las pensiones públicas de la Seguridad Social y el trabajo en España, destacando la evolución normativa y las finalidades de la jubilación parcial y otras modalidades de compatibilidad. El informe destaca la necesidad de un diseño coherente y sistematizado de la compatibilidad entre trabajo y pensión, considerando las reformas recientes y las recomendaciones del Pacto de Toledo, así como los compromisos con la Unión Europea.
Memoria Anual del Foro para la Integración Social de los Inmigrantes 2024
Durante 2024, el Foro mantuvo su modelo mixto de trabajo, combinando reuniones presenciales y virtuales, lo que permitió una gestión más ágil y flexible. Se destacó por su intensa actividad en la elaboración de informes urgentes sobre normativa y planes de actuación, y por su capacidad de respuesta ante situaciones que afectaban a la integración de personas migrantes, como la catástrofe de la DANA o el traslado de inmigrantes desde Italia a Albania. Además, el Foro abordó el impacto del cambio climático en la movilidad humana, creando un grupo de trabajo específico y participando en la COP 29. También reforzó su visibilidad pública con la presentación del Informe Anual 2023 en la sede de la Comisión y el Parlamento Europeo en Madrid.
Situation of Migrants and Refugees in Spain : Annual Report : Summary
2024 was marked by important legal developments, transformations in migration patterns and new challenges in reception, inclusion and coexistence systems. Adopting and implementing the European Pact on Migration and Asylum, have raised deep concerns regarding the predominance of security and control approaches over a human rights-based perspective. In this regard, the displacement of integration policies to a second place, when in fact they should be at the heart of ensuring sustainable, inclusive and dignified reception processes, is particularly worrying
Situación de las personas migrantes y refugiadas en España. Resumen del Informe Anual 2024
El informe anual del Foro para la Integración Social de los Inmigrantes en 2024 refleja un trabajo colectivo y comprometido que busca incidir en las políticas públicas desde un enfoque de derechos humanos, en un contexto marcado por cambios legislativos, desafíos en acogida e inclusión, y preocupaciones sobre el enfoque securitario del nuevo Pacto Europeo de Migración y Asilo. El documento analiza las implicaciones del Reglamento de Extranjería, las condiciones sociolaborales de la población migrante —con especial atención a la brecha de género—, y los obstáculos estructurales que dificultan la participación social. Además, destaca el papel del sistema educativo como motor de inclusión y el rol fundamental de las asociaciones de migrantes en la construcción de una sociedad diversa, equitativa y cohesionada.
Situación de las personas migrantes y refugiadas en España. Informe Anual 2024
El 2024 ha estado marcado por importantes desarrollos legislativos, transformaciones en los patrones migratorios y nuevos desafíos en los sistemas de acogida, inclusión y convivencia. La aprobación del Pacto Europeo de Migración y Asilo, y el inicio de su implementación, han suscitado profundas inquietudes en relación con el predominio de enfoques securitarios y de control sobre una perspectiva basada en los derechos humanos. En este sentido, resulta especialmente preocupante el desplazamiento de las políticas de integración a un segundo plano, cuando en realidad deberían tener un lugar central para garantizar procesos de acogida sostenibles, inclusivos y respetuosos con la dignidad de las personas.
Memoria Publicaciones MISSM 2024

Memoria de las Publicaciones Oficiales 2024 del Ministerio de Inclusión, Seguridad Social y Migraciones que contiene los datos más significativos del Programa Editorial. La elaboración del modelo se ajusta fundamentalmente a los criterios recogidos en la legislación que conforma el régimen jurídico aplicable a las publicaciones oficiales de la Administración General del Estado, a saber: el Real Decreto 118/2001, de 9 de febrero, de Ordenación de Publicaciones Oficiales; la Orden PRE/2418/2015, de 6 de noviembre, por la que se regula el Número de Identificación de las Publicaciones Oficiales; y el Plan General de Publicaciones
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> catPropValue [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 54]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign color = catPropValue.getValue() [in template "20097#20123#DOCUMENTO_APROBADO-NIPO" at line 82, column 37]
----
1<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")/>
2<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") />
3<#assign entry = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
4<#assign articlePriority = assetEntryLocalService.getEntryPriority("com.liferay.journal.model.JournalArticle", getterUtil.getLong(entry.getResourcePrimKey())) />
5
6<div class="doc-aprobado">
7 <div class="media my-3">
8 <div class="media-body">
9 <#if biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()?has_content || biblioteca_publicacion_titulo.getData()?has_content>
10 <a href="${biblioteca_publicacion_fichero_principal.biblioteca_publicacion_fichero_principal_fichero.getData()}"
11 target="_blank">
12 <h2 class="h3">${biblioteca_publicacion_titulo.getData()}</h2>
13 </a>
14 </#if>
15 <#if biblioteca_publicacion_portada.getData()?has_content>
16 <div class="imagen-documento">
17 <img alt="${biblioteca_publicacion_portada.getAttribute("alt")}"
18 data-fileentryid="${biblioteca_publicacion_portada.getAttribute("fileEntryId")}"
19 src="${biblioteca_publicacion_portada.getData()}" class="mr-4"/>
20 </div>
21 <#else>
22 <div class="imagen-documento">
23 <img alt="<@liferay.language key="foro.alt.resultado"/>"
24 src="/documents/1652165/1651241/document-309065_960_720.png/a86f37c8-b3f4-b75d-53c2-51a9d73eb37e?t=1663254524921"
25 class="mr-4"/>
26 </div>
27 </#if>
28 <#if biblioteca_publicacion_sinopsis.getData()?has_content>
29 <div class="mt-3">
30 ${biblioteca_publicacion_sinopsis.getData()}
31 </div>
32 </#if>
33
34 <#assign catLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")/>
35 <#assign article = journalArticleLocalService.fetchArticle(groupId, .vars['reserved-article-id'].data) />
36 <#assign groupLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.GroupLocalService") />
37 <#assign globalGroup = groupLocalService.getCompanyGroup(company.getCompanyId()) />
38 <#assign globalGroupId = globalGroup.getGroupId() />
39 <#assign allCategories = catLocalService.getCategories("com.liferay.journal.model.JournalArticle", getterUtil.getLong(article.getResourcePrimKey()) ) />
40 <#assign articleCategories = allCategories?filter(cat -> cat.getGroupId() == globalGroupId) />
41
42 <#if (articleCategories?size gt 0) || (articlePriority gt 0)>
43 <#assign catPropLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
44 <#assign categoriasExcluidas = ["Anual", "Biblioteca"] />
45
46 <div class="mt-3 doc-categories">
47 <#if (articlePriority gt 0)>
48 <i class="bi bi-bookmark-star"></i>
49 </#if>
50
51 <#if (articleCategories?size gt 0)>
52 <#assign html = "" />
53 <#assign primero = 0 />
54 <#assign ultimo = 0 />
55
56 <#list articleCategories as curCat>
57 <#if categoriasExcluidas?seq_contains(curCat.getName())>
58 <#continue>
59 </#if>
60
61 <#assign color = "" />
62
63 <#if curCat.name?matches("^[0-9]+$")>
64 <#assign indice = curCat.name?number />
65 <#if primero == 0>
66 <#assign primero = indice />
67 <#elseif primero gt indice>
68 <#assign ultimo = primero />
69 <#assign primero = indice />
70 <#elseif primero lt indice>
71 <#if ultimo lt indice>
72 <#assign ultimo = indice />
73 </#if>
74 </#if>
75 <#else>
76 <#if html != curCat.name>
77 <#assign html = curCat.name />
78 </#if>
79
80 <#assign catPropValue = catPropLocalService.fetchCategoryProperty(curCat.getCategoryId(), "Color")!"" />
81 <#if catPropValue??>
82 <#assign color = catPropValue.getValue() />
83 </#if>
84
85 <span class="select-${color}" title="${html}">${html}</span>
86 <style>
87 .select-${color} {
88 border: 1px solid transparent;
89 padding: 0.25rem 0.5rem;
90 font-size: 0.775rem;
91 line-height: 1.5;
92 border-radius: 0.2rem;
93 color: #ffffff;
94 background-color: #${color};
95 display: inline-block;
96 font-weight: 400;
97 text-align: center;
98 vertical-align: middle;
99 }
100 </style>
101 </#if>
102 </#list>
103 <#if ultimo != 0>
104 <span class="anio" title="${primero} - ${ultimo}">${primero} - ${ultimo}</span>
105 <#else>
106 <span class="anio" title="${primero}">${primero}</span>
107 </#if>
108 </#if>
109 </div>
110 </#if>
111 </div>
112 </div>
113</div>
Comunicado del Foro para la Integración Social de los Inmigrantes ante la escalada de incitación al odio y a la violencia xenófoba
Comunicado del 17 de julio de 2025.
Report on the integration of foreign students into the spanish education system
Fichero secundario en inglés de: Informe sobre la Integración de los Estudiantes Extranjeros en el Sistema Educativo Español.
Islamofobia en los medios de comunicación, 2017-2021 Resumen
Fichero secundario de: Islamofobia en los medios de comunicación, 2017-2021
Islamophobia in the media, 2017-2021
Fichero secundario en inglés de: Islamofobia en los medios de comunicación, 2017-2021
Report on tools and strategies for generating counter narratives using NLP
Traducción en inglés del contenido "Herramientas y Estrategias para Generación de Contra Narrativas usando PLN"