BLOCKCHAIN4CITIES
The following has evaluated to null or missing:
==> mostrarTituloH2 [in template "20102#20129#105831" at line 4, column 40]
----
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 hayH2 = getterUtil.getBoolean... [in template "20102#20129#105831" at line 4, column 1]
----
1<#assign title = .vars['reserved-article-title'].getData()>
2<div class="containerInterior">
3<#assign hayH1 = getterUtil.getBoolean(MostrarTituloH1.getData())>
4<#assign hayH2 = getterUtil.getBoolean(mostrarTituloH2.getData())>
5
6<#if hayH1>
7 <h1 aria-level="1" role="heading" id="titulo">${layout.getName(locale)}</h1>
8</#if>
9<#if hayH2>
10
11 <#if TituloContenido.getData()?? && TituloContenido.getData() != "">
12 <#assign contenido = TituloContenido.getData()>
13 <#else>
14 <#assign contenido = title>
15 </#if>
16
17 <#if hayH1>
18 <p id="subtitulo"
19 aria-level="2"
20 role="heading"
21 style="
22 color: #007f33 !important;
23 font-size: 45px;
24 font-family: 'IberPangea Medium', sans-serif;
25 line-height: 45px;
26 margin-top: .75em;
27 margin-bottom: .9em;">
28 ${contenido}
29 </p>
30 <#else>
31 <p id="subtitulo"
32 style="
33 color: #007f33 !important;
34 font-size: 45px;
35 font-family: 'IberPangea Medium', sans-serif;
36 line-height: 45px;
37 margin-top: .75em;
38 margin-bottom: .9em;">
39 ${contenido}
40 </p>
41 </#if>
42
43</#if>
44
45<#if getterUtil.getBoolean(MostrarCategorias.getData())>
46
47
48
49 <#assign journalArticleId = .vars['reserved-article-id'].data>
50 <#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")>
51
52 <#assign assetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService") />
53
54 <#assign article = journalArticleLocalService.getArticle(groupId, .vars['reserved-article-id'].data) />
55 <#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")>
56 <#assign asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) >
57 <#assign layoutLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.LayoutLocalService") />
58
59 <p class="tag-categorias">
60
61 <#list asset.getCategories() as category>
62
63
64
65 <#if assetCategoryPropertyLocalService.fetchCategoryProperty(category.getCategoryId(), "friendlyURL")??>
66
67 <#assign categoryFriendly = '/tag/' + assetCategoryPropertyLocalService.fetchCategoryProperty(category.getCategoryId(), "friendlyURL").getValue() />
68
69 <#if layoutLocalService.fetchLayoutByFriendlyURL(groupId, false, categoryFriendly)??>
70 <#assign categoryLayout = layoutLocalService.fetchLayoutByFriendlyURL(groupId, false, categoryFriendly) />
71 <#assign categoryLayoutURL = portalUtil.getLayoutFullURL(categoryLayout, themeDisplay) />
72
73 <a class="tag-categoria" href="${categoryLayoutURL}">${category.getTitle(locale)?cap_first}</a>
74
75 <#else>
76 <a class="tag-categoria" href="/tag/#">${category.getTitle(locale)?cap_first}</a>
77
78 </#if>
79 </#if>
80
81
82
83
84 </#list>
85
86 </p>
87
88</#if>
89<div id="contenidoEntradilla">${DescripcionDetalleContenido.getData()}</div>
90
91
92<#if ContenidoWebcofl.getSiblings()?has_content>
93 <#list ContenidoWebcofl.getSiblings() as cur_ContenidoWebcofl>
94 <#assign
95 webContentData = jsonFactoryUtil.createJSONObject(cur_ContenidoWebcofl.getData())
96 />
97
98 <#if webContentData?length gt 5>
99 <@liferay_asset["asset-display"]
100 className = webContentData.className
101 classPK = webContentData.classPK?number
102 />
103
104 </#if>
105
106
107 </#list>
108</#if>
109</div>
110<@liferay_util["html-top"]>
111<style>
112 #decPagination div.containerInterior p#subtitulo {
113 font-family: "Iberpangea Medium";
114 font-size: 45px;
115 line-height: 45px;
116 color: #007F33;
117 margin-bottom: 20px;
118 }
119
120
121 div.contenidoCentrado div.contenidoInterior div.containerInterior p.tag-categorias a.tag-categoria:focus{
122 outline: 2px solid rgba(0, 0, 0, 0.7) !important;
123 }
124 p.tag-categorias > .tag-categoria {
125 width: auto !important;
126 max-width: inherit !important;
127 }
128
129 div.faldon h2 {
130 width: 100%;
131 float: left;
132 font-size: 1.26em;
133 font-family: IberPangeaText Light, sans-serif;
134 margin-bottom: 2em;
135 border-bottom: 1px solid #e0e0e0;
136 padding-bottom: .8em;
137 color: #427314 !important;
138
139 line-height: 1.35em;
140 margin-top: .75em;
141 }
142 .contenidoInterior div.faldon h2+ul li:before {
143 margin: .15em 0 0 -1.75em;
144 font-size: 1em;
145 }
146 .cursiva_texto {
147 font-style: italic;
148 }
149 .contenidoInterior h1 {
150 font-family: 'IberPangea', sans-serif !important;
151 font-size: 32px !important;
152 border: none !important;
153 line-height: 36px !important;
154 letter-spacing: 0px !important;
155 color: #00402A !important;
156 padding-left: 0em !important;
157 margin-bottom: 14px !important;
158 }
159 p span.table a.enlace-actualidad[href*="/tag/"],
160 p span.table a.enlace-actualidad[href*="/label/"],
161 p.tag-categorias a.tag-categoria[href*="/tag/"],
162 p.tag-categorias a.tag-categoria[href*="/label/"]{
163 line-height: 23px !important;
164 }
165 .contenidoInterior #contenidoEntradilla p.entradilla {
166 font-family: IberPangeaText, sans-serif !important;
167 font-size: 17px !important;
168 line-height: 23px !important;
169 font-weight: 700;
170 color: #615D5A !important;
171 margin-top: 2em;
172 }
173
174 .contenidoInterior h2#subtitulo{
175 font-family: 'IberPangea Medium', sans-serif !important;
176 margin-bottom: 0.4em;
177 }
178 #decPagination div.containerInterior{
179 max-width:980px;
180 margin:0 auto 25px;
181 }
182 #decPagination div.containerInterior h1#titulo{
183 font-family:"Iberpangea Medium";
184 font-size:32px;
185 line-height:36px;
186 color:#00402A;
187 text-transform:none;
188 border-left:none;
189 margin-top:20px;
190 }
191 #decPagination div.containerInterior h2#subtitulo{
192 font-family:"Iberpangea Medium";
193 font-size:45px;
194 line-height:45px;
195 color:#007F33;
196 margin-bottom:20px;
197 }
198 #decPagination div.containerInterior p.tag-categorias{
199 margin-bottom:30px !important;
200 }
201 #decPagination div.containerInterior p.tag-categorias a.tag-categoria{
202 margin-right:20px;
203 color:#00402A;
204 }
205 #decPagination div.containerInterior div#contenidoEntradilla p.entradilla{
206 font-family:"IberpangeaText";
207 font-size:20px ;
208 line-height:26px;
209 color:#615D5A;
210 }
211 @media all and (max-width:500px){
212 #decPagination div.containerInterior h1#titulo{
213 font-size:26px;
214 line-height:36px;
215 }
216 #decPagination div.containerInterior h2#subtitulo{
217 font-size:35px;
218 line-height:35px;
219 margin-bottom:20px;
220 }
221 #decPagination div.containerInterior div#contenidoEntradilla p.entradilla{
222 font-family:"IberpangeaText Bold";
223 font-size:16px ;
224 line-height:24px;
225 }
226 }
227 @media screen and (max-width: 47.95em) {
228 .contenidoInterior h1 {
229 font-size: 26px !important;
230 }
231 .contenidoInterior h2#subtitulo{
232 font-size: 35px;
233 line-height: 35px;
234 color: #007F33 !important;
235 margin-bottom: 1em;
236 }
237 .contenidoInterior #contenidoEntradilla p.entradilla {
238 margin-top: 0.8em;
239 }
240 .contenidoInterior #contenidoEntradilla p.entradilla {
241 line-height: 24px !important;
242 }
243 }
244
245
246</style>
247</@>
Las ciudades del presente se parecen cada vez más a las del futuro. Aún no hay coches voladores ni androides paseando por nuestras calles como profetizó Ridley Scott en Blade Runner (1982), pero sí una tecnología criptográfica como el blockchain que puede ayudarnos a construir metrópolis inteligentes capaces de generar entre todas 1,29 billones de euros a nivel global en 2020, según pronostica el Bank of America Merrill Lynch.
BLOCKCHAIN4CITIES: EL PROYECTO PARA INTEGRAR EL 'BLOCKCHAIN' EN LAS CIUDADES
Urbes como Gotemburgo, Chicago o Singapur son claros ejemplos de ciudades innovadoras: muy digitalizadas y con un modelo de gestión urbana más avanzado y sostenible en cuanto a movilidad, eficiencia energética, tratamiento de residuos o participación ciudadana. Estas smart cities han inspirado iniciativas como Blockchain4Cities, un grupo de trabajo de la Organización de las Naciones Unidas (ONU) para determinar qué aplicaciones puede tener el blockchain en el funcionamiento de las ciudades inteligentes.
Los resultados preliminares de la investigación, en la que han participado 26 expertos de varios países, destacan sobre todo el potencial del blockchain —o cadena de bloques— para la gobernanza municipal por su capacidad de transmitir información de forma segura y sin intermediarios. Aun así, los expertos señalan que estamos ante una tecnología que no solucionará todos los problemas de gestión urbana y que su uso tiene sentido solo en condiciones específicas.




VENTAJAS DEL 'BLOCKCHAIN' PARA GOBERNAR LAS CIUDADES
Según los investigadores de Blockchain4Cities, los beneficios más relevantes de la cadena de bloques para el funcionamiento de las ciudades incluyen:
Mayor transparencia y conectividad
Las ciudades pueden interconectar con el blockchain servicios verticales como la movilidad, la energía o la seguridad a través de un sistema único, abierto, accesible, transversal y capaz de intercambiar datos con sus habitantes en tiempo real.
Comunicación directa
El blockchain posibilita que las administraciones públicas y los ciudadanos puedan interactuar de forma digital y sin necesidad de intermediarios. Esto agilizaría, por ejemplo, los trámites burocráticos en registros, ayuntamientos, etc.
Integridad de la información
Con esta tecnología se puede cifrar un archivo total o parcialmente para compartir de forma privada, segura y sin riesgo de que un tercero lo manipule solo aquello que nos interesa.
Gestión eficiente
El blockchain permite conocer el origen y destino de cada recurso tanto a ciudadanos como a gobernantes. Además, estos últimos pueden conocer cómo se utilizan los servicios urbanos sin comprometer la privacidad de las personas.
USOS DEL 'BLOCKCHAIN' EN LAS CIUDADES
Entre las ciudades con iniciativas municipales basadas en la cadena de bloques destaca Dubái, que con una inversión de 300.000 millones de dólares aspira en 2020 a convertirse en la primera ciudad del mundo en integrar el blockchain en todos sus servicios. Entre los ejemplos del uso de esta tecnología para la gestión urbana destacan:
Seguridad
La cadena de bloques mejora la protección de los datos personales recopilados.
Energía
Los contratos inteligentes basados en blockchain facilitan a los domicilios que se abastecen con placas solares el intercambio automático de la electricidad sobrante con otros miembros de la red eléctrica.
Movilidad
Las administraciones pueden saber qué ciudadanos utilizan el coche a diario e incentivarles con descuentos y ventajas para que utilicen el transporte público.
Residuos
La cadena de bloques puede proporcionar información de los contenedores en tiempo real a los ciudadanos y al servicio de recogida de residuos para que sepan en cada momento si están llenos o vacíos.
Participación
Las plataformas blockchain garantizan la seguridad, la fiabilidad, la transparencia y el anonimato en las consultas a la población, como elecciones, encuestas, referéndums, etc
Además, la tecnología blockchain puede beneficiar otros servicios como la gestión de recursos hídricos, el control de la calidad del aire o el cuidado de parques y jardines.
PLATAFORMAS DE 'SMART CITIES'
Las ciudades inteligentes necesitan de ecosistemas tecnológicos adecuados y altamente compatibles para resultar funcionales y desarrollarse con éxito. De lo contrario crecerán aisladas, con sistemas incapaces de comunicarse entre sí al hablar lenguajes distintos. En la actualidad existen varias plataformas que actúan de marco para las smart cities:
- United for Smart Sustainable Cities (U4SSC): esta iniciativa de la ONU pretende convertirse en la plataforma que impulse las tecnologías de la información y las comunicaciones (TIC) en el camino hacia las ciudades inteligentes y sostenibles. Es, además, la matriz del grupo de trabajo Blockchain4Cities.
- Fiware: la Unión Europea (UE) se encuentra detrás de esta plataforma de software libre que facilita herramientas y un ecosistema adecuado a los desarrolladores de aplicaciones y servicios online. Aunque Fiware no se ideó para dar soporte específico a las smart cities es capaz de garantizar la interoperabilidad entre ciudades.
- DownTown: es uno de los sistemas más adaptados a las ciudades inteligentes. Esta plataforma tiene de 13.000 a 20.000 dominios de smart cities en el mundo —entre las que se encuentran Londres y Dallas—, con la primera experiencia de acceso a restaurantes locales.