An error occurred in template CMTeasable.head.canonical.ftl for Content with ID 45427898.
Show Details
FreemarkerView[template=/jar:id:contentproperty:/Themes/swissinfo-ru/templates/swissinfo-ru-templates.jar/archive!/META-INF/resources/WEB-INF/templates/swissinfo-ru/com.coremedia.blueprint.common.contentbeans/CMTeasable.head.canonical.ftl]
ch.swissinfo.cae.contentbeans.SIArticleImpl$$[id=45427898]
Error rendering view
When calling function "getLink", required parameter "target" (parameter #1) was specified, but had null/missing value. ---- Tip: If the parameter value expression on the caller side is known to be legally null/missing, you may want to specify a default value for it with the "!" operator, like paramValue!defaultValue. ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #function getLink(target, view=UNDEFI... [in template "lib/coremedia.com/cae.ftl" in function "getLink" at line 61, column 1] - Reached through: ${cm.getLink(self.master, {"absolute"... [in template "jar:id:contentproperty:/Themes/swissinfo-ru/templates/swissinfo-ru-templates.jar/archive!/META-INF/resources/WEB-INF/templates/swissinfo-ru/com.coremedia.blueprint.common.contentbeans/CMTeasable.head.canonical.ftl" at line 10, column 5] ----
ch.swissinfo.cae.contentbeans.SIArticleImpl$$
com.coremedia.objectserver.dataviews.DataView
com.coremedia.dispatch.HasCustomType
ch.swissinfo.cae.contentbeans.SIArticleImpl
ch.swissinfo.cae.contentbeans.SIArticleBase
ch.swissinfo.common.contentbeans.SIArticle
com.coremedia.blueprint.cae.contentbeans.CMArticleImpl
com.coremedia.blueprint.cae.contentbeans.CMArticleBase
com.coremedia.blueprint.common.contentbeans.CMArticle
com.coremedia.blueprint.cae.contentbeans.CMTeasableImpl
com.coremedia.blueprint.cae.contentbeans.CMTeasableBase
com.coremedia.blueprint.common.contentbeans.CMTeasable
com.coremedia.blueprint.cae.contentbeans.CMHasContextsImpl
com.coremedia.blueprint.cae.contentbeans.CMHasContextsBase
com.coremedia.blueprint.common.contentbeans.CMHasContexts
com.coremedia.blueprint.cae.contentbeans.CMLinkableImpl
com.coremedia.blueprint.cae.contentbeans.CMLinkableBase
com.coremedia.blueprint.common.contentbeans.CMLinkable
com.coremedia.blueprint.common.navigation.Linkable
com.coremedia.blueprint.common.navigation.HasViewTypeName
com.coremedia.blueprint.common.contentbeans.BelowRootNavigation
com.coremedia.blueprint.common.datevalidation.ValidityPeriod
com.coremedia.blueprint.cae.contentbeans.CMLocalizedImpl
com.coremedia.blueprint.cae.contentbeans.CMLocalizedBase
com.coremedia.blueprint.common.contentbeans.CMLocalized
com.coremedia.blueprint.cae.contentbeans.CMObjectImpl
com.coremedia.blueprint.cae.contentbeans.CMObjectBase
com.coremedia.blueprint.common.contentbeans.CMObject
com.coremedia.objectserver.beans.AbstractContentBean
com.coremedia.objectserver.beans.ContentBean
com.coremedia.objectserver.dataviews.AssumesIdentity
java.lang.Object
com.coremedia.objectserver.view.ViewException: Error rendering view
at com.coremedia.objectserver.view.ViewUtils.rethrow(ViewUtils.java:344)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:154)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:140)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at ch.swissinfo.cae.cdn.RenderedContentIdCollectorDecorator$ContentIdCollectorImpl.render(RenderedContentIdCollectorDecorator.java:66)
at ch.swissinfo.cae.cdn.RenderedContentIdCollectorDecorator$ContentIdCollectorImpl.decorate(RenderedContentIdCollectorDecorator.java:59)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor294.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:140)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:344)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:346)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:428)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:184)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:124)
at com.coremedia.objectserver.view.freemarker.impl.CAEFreemarkerFacadeImpl.include(CAEFreemarkerFacadeImpl.java:159)
at jdk.internal.reflect.GeneratedMethodAccessor294.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at freemarker.ext.beans.BeansWrapper.invokeMethod(BeansWrapper.java:1552)
at freemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:73)
at freemarker.core.MethodCall._eval(MethodCall.java:62)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:889)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:122)
at com.coremedia.objectserver.view.ExceptionHandlingViewDecorator$ExceptionDecorator.decorate(ExceptionHandlingViewDecorator.java:113)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:334)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingBaseView.render(ViewDecoratorBase.java:336)
at com.coremedia.objectserver.view.ViewDecoratorBase$DecoratingServletAndTextView.render(ViewDecoratorBase.java:422)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:152)
at com.coremedia.objectserver.view.ViewUtils.render(ViewUtils.java:109)
at com.coremedia.objectserver.view.BeanView.renderMergedOutputModel(BeanView.java:63)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:316)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1373)
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1118)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1057)
at com.coremedia.objectserver.web.DispatcherServlet.doDispatch(DispatcherServlet.java:69)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.PreviewViewFilter.doFilterInternal(PreviewViewFilter.java:48)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at ch.swissinfo.elastic.webservice.filter.RequestParameterFilter.doFilter(RequestParameterFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.elastic.social.cae.user.UserFilter.doFilter(UserFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at ch.swissinfo.elastic.webservice.jwt.JwtFilter.doFilter(JwtFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.elastic.core.impl.servlet.TenantFilter.doFilter(TenantFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.SiteFilter.doFilter(SiteFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:82)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:118)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:158)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:117)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:92)
at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.multipart.support.MultipartFilter.doFilterInternal(MultipartFilter.java:125)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:141)
at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:82)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.coremedia.blueprint.cae.filter.RequestRejectedExceptionFilter.doFilter(RequestRejectedExceptionFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:764)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: freemarker.core._MiscTemplateException: When calling function "getLink", required parameter "target" (parameter #1) was specified, but had null/missing value.
----
Tip: If the parameter value expression on the caller side is known to be legally null/missing, you may want to specify a default value for it with the "!" operator, like paramValue!defaultValue.
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #function getLink(target, view=UNDEFI... [in template "lib/coremedia.com/cae.ftl" in function "getLink" at line 61, column 1]
- Reached through: ${cm.getLink(self.master, {"absolute"... [in template "jar:id:contentproperty:/Themes/swissinfo-ru/templates/swissinfo-ru-templates.jar/archive!/META-INF/resources/WEB-INF/templates/swissinfo-ru/com.coremedia.blueprint.common.contentbeans/CMTeasable.head.canonical.ftl" at line 10, column 5]
----
at freemarker.core.Macro$Context.checkParamsSetAndApplyDefaults(Macro.java:308)
at freemarker.core.Environment.invokeMacroOrFunctionCommonPart(Environment.java:888)
at freemarker.core.Environment.invokeMacro(Environment.java:825)
at freemarker.core.Environment.invokeFunction(Environment.java:841)
at freemarker.core.MethodCall._eval(MethodCall.java:65)
at freemarker.core.Expression.eval(Expression.java:101)
at freemarker.core.DollarVariable.calculateInterpolatedStringOrMarkup(DollarVariable.java:100)
at freemarker.core.DollarVariable.accept(DollarVariable.java:63)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:389)
at freemarker.core.Environment.visitAndTransform(Environment.java:514)
at freemarker.core.CompressedBlock.accept(CompressedBlock.java:42)
at freemarker.core.Environment.visit(Environment.java:383)
at freemarker.core.Environment.visit(Environment.java:410)
at freemarker.core.BlockAssignment.accept(BlockAssignment.java:55)
at freemarker.core.Environment.visit(Environment.java:347)
at freemarker.core.Environment.visit(Environment.java:353)
at freemarker.core.Environment.process(Environment.java:326)
at com.coremedia.objectserver.view.freemarker.FreemarkerViewEngine$FreemarkerView.render(FreemarkerViewEngine.java:150)
... 203 more

Navigation

Чему Швейцария и Тайвань могут поучиться друг у друга?

Одри Тан - политик нового поколения. В 38 лет она уже министр цифровых технологий в правительстве Тайваня, а также хактивист и программист. swissinfo.ch

Швейцарию часто называют образцом классической прямой демократии, но она еще не сделала своего решительного «цифрового» шага, о чем свидетельствует временный сбой электронного голосования. Тайвань, напротив, возглавляет всемирное движение к цифровой демократии, основанной на широком участии граждан.

Этот контент был опубликован 16 декабря 2019 года - 11:00
Ренат Кюнци (Ренат Кюнци)

Об этом - наша поучительная беседа с Одри Тан, министром цифровых технологий Тайваня.

Одри Тан воплощает новый тип женщины-политика. В свои 38 лет она является министром цифровых технологий, членом правительства Тайваня, а также хактивистом и программистом свободного софта, философом и глобальным знаменосцем демократии 4.0.

Одри Тан - это новое поколение, не парвеню цифровых технологий, не их непробиваемый идеологический противник. Она – лицо поколения, которое само хочет определять и контролировать реальность. «Вместо развития виртуальной реальности нам нужно строить общую реальность», - говорит министр. Вместо машинного обучения нам следует сосредоточиться на обучении, основанном на взаимодействии и обмене при помощи компьютерных технологий».

Стимулировать участие

Руководящий принцип Одри Тан? «Поддерживать человеческий опыт, а не опыт пользователя». То, что может показаться наивным или идеалистическим, проистекает из суровой геополитической реальности. Министр является членом правительства, чью страну по-прежнему официально признает меньшинство государств. Демократия и степень принадлежности к Китаю, который считает Тайвань сепаратистской провинцией, в настоящее время являются предметом интенсивных дебатов.

Одри Танг не любит работать, просто сидя за письменным столом. swissinfo.ch

Эта ситуация поощряет социальные и демократические инновации – в большей степени, чем в давно сформированной швейцарской демократии. Swissinfo.ch встретился с министром в её офисе в Тайбэе, чтобы сравнить две политические системы. В результате этой дискуссии о будущем демократии у нас возникло несколько вопросов. Как обезопасить цифровые платформы? Кто может высказывать мнение? Как граждане приспосабливаются к цифровизации? 

Совместное управление

По мнению Одри Тан, в развивающемся цифровом мире не следует копировать иерархии и структуры власти. Скорее надо активно контролировать их. Министр теперь говорит не об электронной демократии, а о «CoGov» - совместном управлении. Это идея общего управления, представленная в виде государственной службы с широким общественным участием. От министра до еще слишком юного для голосования подростка - у всех должны быть одинаковые права, в том числе на выражение собственного мнения.

«Вместо ‘умных городов’ нам нужны ‘умные граждане’», - объясняет Одри Тан. Цифровые платформы «vTaïwan» и «Join» - последняя как раз посвящена предложениям в области управления - являются настоящей волшебной палочкой для дебатов на Тайване.

Тем временем в Швейцарии Базель-городской станет первым кантоном, который изучит вопрос внедрения цифровой платформы, предназначенной для сбора подписей для референдумов и народных инициатив. 

Цифры – показатели эффективности

Со времени своего запуска всего лишь три года назад платформа «Join» привлекла более десяти миллионов пользователей. «Когда почти половина населения Тайваня поддерживает работу платформы, мы уже не можем говорить только об онлайн-участии, речь идет именно о ‘Совместном управлении’», - говорит Одри Тан.

В октябре на платформе «Join» было обработано более 100 петиций и столько же нормативных уведомлений. На обсуждение было вынесено более двух тысяч государственных проектов - большинство из них в области здравоохранения, санитарии и социального жилья. 

Власти становятся ближе к гражданам

У каждого отдела есть своя команда «агентов участия». Их задача такова: при ежемесячных встречах с гражданами они «измеряют пульс» у населения и выявляют проблемы на ранней стадии. С самого начала гражданин непосредственно участвует в разработке повестки дня.

Например, в сентябре 2019 года дебаты касались запрета на способы выращивания свиней, которые считались жестокими. На острове проводят традиционный фестиваль с участием свиней, в котором побеждает свинья с наибольшим весом: в результате животных откармливают до такой степени, что они больше не могут двигаться. В сентябре также обсуждалась необходимость профессионального подхода к проблеме сексуальных домогательств в школах.

Каждые две недели Одри Тан общается с регионами. Министр следит за тем, чтобы жители в провинции могли обсуждать свои проблемы с правительственными чиновниками Тайбэя посредством высокоскоростной видеосвязи. И каждую среду она организует встречи с тайваньцами. С 10 утра до 10 вечера они доверяют госпоже Тан свои проблемы и тревоги. 

То, что объединяет

Эта открытость для всеобщего сотрудничества позволяет нам двигаться вперед вместе. Участники становятся партнерами для достижения общих целей. «Решающим элементом является развитие нормативного поведения», - объясняет Одри Тан.

Это четырехступенчатый процесс. Министр приводит в качестве примера онлайн-петиции, призывающие к постепенному введению запрета на пластиковую посуду. Участник под псевдонимом «Я люблю слона, а слон любит меня», инициировал запрос, который в кратчайшие сроки получил необходимую поддержку пяти тысяч человек.

Ко всеобщему удивлению, за этим псевдонимом скрывалась 16-летняя школьница, которая требовала запрета на пластиковые соломинки в ресторанах. Она села за стол переговоров со всеми вовлеченными сторонами - политиками, администрацией, представителями частного сектора. Цель - достигнуть консенсуса по внедрению нормы. В результате предприниматели согласились производить соломинки на основе возобновляемых ресурсов.

«Для либеральных демократий главный риск - это склонность систематически выбирать подход ’сверху вниз’»

End of insertion

Консенсус делает любой закон излишним

Полтора года спустя пластиковые соломинки исчезли из ресторанов. По крайней мере, в Тайбэе. Поставщики еды на вынос также начали предлагать продукцию в упаковках из картона или материала, полученного из волокон сахарного тростника. 

Результат, по словам Одри Тан, следующий - необходимости в принятии закона больше нет. Процесс, который привёл к консенсусу, привёл в достаточной степени и к формированию кодекса поведения.

Для сравнения: гражданин Швейцарии чаще всего выступает в роли корректора политических решений. По мнению Одри Тан, принятие закона, предписывающего определенный кодекс поведения, ставит телегу перед лошадью. Хуже того, таким образом как бы «открывается ящик Пандоры», ведь последующие дебаты могут привести к поляризации. «Для либеральных демократий главный риск - это склонность систематически выбирать подход ’сверху вниз’», - полагает министр.

Учиться у классической демократии

Тем не менее Тайваню тоже есть чему учиться. Первые голосования по народным инициативам 2018 года воспринимаются как провал. Общественные дебаты длились всего двадцать восемь дней, а дата голосования совпала с региональными выборами. Это сбило с толку избирателей, тем более что некоторые авторы инициатив были еще и кандидатами на эти выборы, признает Одри Тан: «В этом отношении нам есть чему поучиться у Швейцарии».

Одри Тан, конечно, отдает себе отчёт в опасностях цифровой демократии. По ее словам, переносить принятие решений в цифровой мир преждевременно. «Мы не проводим онлайн выборы мэра или президента, например. Понятно, что мы этого не делаем». Это означает, что риски злоупотреблений все еще слишком велики.

Одри Тан - неординарная фигура

В пятнадцатилетнем возрасте она бросила школу, чтобы создать несколько стартапов в качестве программиста. Ее опыт работы в качестве полноправного участника цифрового сообщества и надежда на управление при помощи интернета на основе принципа разнообразия продолжают вдохновлять её и сегодня.

В начале 2013 года Одри Тан стала членом организации Gov Zero (gOv.tw), которая и сейчас является самым влиятельным гражданским хакерским движением на Тайване. Она определяет участников движения как «политически ориентированных разработчиков ПО с активистской этикой».

Три года назад президент Тайваня Цай Инвэнь выдвинула Одри Танг, которая уже тогда активно участвовала в цифровом просвещении, на должность первого в мире министра цифровых технологий.

Дальновидный и прагматичный подход делает Одри Тан успешным послом цифрового демократического развития, основанного на широком и всестороннем гражданском участии. В этом году её статьи были опубликованы в изданиях New York Times и The Economist.

End of insertion
В соответствии со стандартами JTI

В соответствии со стандартами JTI

Показать больше: Сертификат по нормам JTI для портала SWI swissinfo.ch

Обзор текущих дебатов с нашими журналистами можно найти здесь. Пожалуйста, присоединяйтесь к нам!

Если вы хотите начать разговор на тему, поднятую в этой статье, или хотите сообщить о фактических ошибках, напишите нам по адресу russian@swissinfo.ch.

Сортировать по

Изменить пароль

Вы действительно хотите удалить Ваш аккаунт?

Ваша подписка не может быть сохранена. Пожалуйста, попробуйте еще раз.
Почти все закончено, еще немного… Вам необходимо подтвердить Ваш электронный адрес Для завершения процесса подписки, пожалуйста, пройдите по адресу, который мы Вам выслали по электронной почте

Читайте наши самые интересные статьи недели.

Подпишитесь, чтобы получать наши лучшие статьи по электронной почте.

Политика конфиденциальности SRG предоставляет дополнительную информацию о том, как обрабатываются ваши данные.