Diffondere l’idea della Città Metropolitana fra i milanesi, il primo passo verso una concreta riduzione dei costi della politica

Alessandro Sancino

Capogruppo dell’Unione di Centro della Provincia di Milano
Dopo l’infiammante dibattito sull’abolizione delle Province, sembra già essere calato il silenzio. Ma coerentemente con quanto affermato e dichiarato in aula consiliare, non farò in modo che tutto cada nel dimenticatoio.

Nelle prossime settimane lavorerò perché nasca, a seguito della mozione che ho depositato, la Commissione sulla Città Metropolitana. Una commissione snella, a costo zero, composta da rappresentanti del Comune, della Provincia, della maggioranza e dell'opposizione, delle università, della Camera di Commercio, delle eccellenze di Milano che abbiano il compito di suscitare l'interesse collettivo e di studiare le azioni di riforma necessarie. L'idea è “milanesizzare” il tema della Città Metropolitana per aprirla alla società civile. Dobbiamo recuperare gli studi fatti da 30 anni da Tognoli e dalle università. Se vogliamo essere la capitale morale del Paese dobbiamo dimostrare di essere capaci di fare qualcosa di concreto. È davvero fondamentale studiare forme di governance nuove che abbiano un criterio, ovvero che i costi della politica vengano dimezzati. Ad esempio, che si parli di mobilità: serve un sistema integrato su strade, ferrovie e metropolitane; uno spostamento più fluido, razionalizzato e integrato, che ottimizzi le risorse. Oppure, molto importante, la gestione integrata dell’acqua e la manutenzione delle reti idriche e di depurazione. E ancora: una pianificazione delle strutture scolastiche, un coordinamento delle attività socio-assistenziali sul territorio e molto altro. Insomma, fare la commissione è il chiavistello per capire se veramente vogliamo farla la Città Metropolitana o meno: se tutti siamo d'accordo e non salta fuori nulla è il sintomo dell'incapacità di un governo politico.

FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)

mp_banners_area_3 query does not work. 
Using Parameters:{area=right-col-middle, CATEGORY_ID=13295, HEADING_ID=1271, max=20, SUB_CATEGORY_ID=null, var=banners_area, name=mp_banners_area_3, start=0}
Given Message:/opt/local-cache/layouts-cache/1271/categories/it/default/attualita/-/cached-sql-queries/mp_banners_area_3/E32CA55CDEE3EB9BE5ADEC280B8E2EA5.inc (No such file or directory)

----
FTL stack trace ("~" means nesting-related):
	- Failed at: @query name="mp_banners_area_3" area=...  [in template "magazine.sevendaysweb.com/layouts/macro/adv.ftl" in macro "adv_aside" at line 263, column 9]
	- Reached through: @adv_aside area, prog  [in template "magazine.sevendaysweb.com/layouts/macro/aside.ftl" in macro "content_aside" at line 4, column 9]
	- Reached through: @content_aside context=context area="...  [in template "magazine.sevendaysweb.com/layouts/default.ftl" in macro "container" at line 166, column 25]
	- Reached through: @query name="count_areas" var="ca" pa...  [in template "magazine.sevendaysweb.com/layouts/default.ftl" in macro "container" at line 19, column 5]
	- Reached through: @container  [in template "magazine.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "html" at line 290, column 33]
	- Reached through: @html cat_title=true  [in template "magazine.sevendaysweb.com/layouts/default.ftl" at line 189, column 1]
----

Java stack trace (for programmers):
----
freemarker.template.TemplateException: [... Exception message was already printed; see it above ...]
	at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:212)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Macro$Context.runMacro(Macro.java:178)
	at freemarker.core.Environment.invoke(Environment.java:700)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Macro$Context.runMacro(Macro.java:178)
	at freemarker.core.Environment.invoke(Environment.java:700)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
	at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255)
	at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:200)
	at freemarker.core.Environment.visit(Environment.java:377)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Macro$Context.runMacro(Macro.java:178)
	at freemarker.core.Environment.invoke(Environment.java:700)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visitByHiddingParent(Environment.java:333)
	at freemarker.core.IfBlock.accept(IfBlock.java:48)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Macro$Context.runMacro(Macro.java:178)
	at freemarker.core.Environment.invoke(Environment.java:700)
	at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.MixedContent.accept(MixedContent.java:62)
	at freemarker.core.Environment.visit(Environment.java:312)
	at freemarker.core.Environment.process(Environment.java:290)
	at freemarker.template.Template.process(Template.java:312)
	at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:223)
	at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:191)
	at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:372)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276)
	at it.treis.smartmedia.navigation.interceptors.PrepareParametersInterceptor.intercept(PrepareParametersInterceptor.java:183)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at it.treis.smartmedia.navigation.interceptors.SubscriptionTokenMatcherInterceptor.intercept(SubscriptionTokenMatcherInterceptor.java:52)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
	at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
	at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
	at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
	at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
	at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575)
	at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
	at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)
	at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
	at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)