Asset Publisher

An error occurred while processing the template.
Failed to "?eval" string with this error:
---begin-message---
Syntax error in ?eval-ed string in line 1, column 2:
Encountered ")", but was expecting one of these patterns:
<STRING_LITERAL>
<RAW_STRING>
"false"
"true"
<INTEGER>
<DECIMAL>
"."
"+"
"-"
"!"
"["
"("
"{"
<ID>
---end-message---
The failing expression:
==> coverDMTKASDEMEDIUM.data?eval [in template "252001#252047#WCD_DEBATTENBLOG_ARTIKELDETAIL_INTRO" at line 65, column 23]
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign mediumData = coverDMTKASDEMED... [in template "252001#252047#WCD_DEBATTENBLOG_ARTIKELDETAIL_INTRO" at line 65, column 1]
----
1<#-- bezieht sich auf WCS Publikation --> 
2<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 
3<#assign AssetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") /> 
4<#assign version = .vars['reserved-article-version'].data?number /> 
5<#assign articleId = .vars['reserved-article-id'].data /> 
6<#assign article = JournalArticleLocalService.fetchArticle( articleGroupId, articleId , version ) /> 
7<#assign articleTitle = .vars['reserved-article-title'].data/> 
8 
9<#if requestMap??>  
10 <#assign 
11 renderUrl = requestMap['render-url'] 
12 control_panel = renderUrl?contains('control_panel')  
13
14</#if> 
15  
16<#if control_panel?? && control_panel> 
17 <#if FrontendService.user.isPrivilegedUser(permissionChecker.getUser())> 
18 <pre> 
19 articleId = ${.vars['reserved-article-id'].data} 
20 version = ${.vars['reserved-article-version'].data} 
21 groupId = ${articleGroupId} 
22 structurekey = ${article.getDDMStructureKey()} 
23 </pre> 
24 <pre> 
25 ${FrontendService.json.transformToJson( article, true )} 
26 </pre> 
27 </#if> 
28<#else>  
29 <#include "${fullTemplatesPath}/macros/page-modules/PMShare.ftl" /> 
30  
31 <#-- Function for related Content for PERSON --> 
32 <#function getSaxReaderDocument dataObj > 
33 <#local document = "" > 
34  
35 <#attempt> 
36 <#local data = dataObj.getData()?eval > 
37 <#local classPK = data.classPK > 
38 <#local className = data.className > 
39 <#local entry = AssetEntryLocalService.getEntry(className, classPK?number)! > 
40  
41 <#if entry??> 
42 <#local assetRenderer = entry.getAssetRenderer() /> 
43 <#local journalArticle = (assetRenderer.getArticle())! /> 
44 <#local document = (saxReaderUtil.read(journalArticle.getContentByLocale(locale.toString())))!"" /> 
45 </#if> 
46 <#recover> 
47 <#-- catch block --> 
48 </#attempt> 
49  
50 <#return document > 
51  
52 </#function> 
53  
54<#macro mediaReference groupId uuid > 
55 <#local mediaObj = FrontendService.media.getDMTJsonObject(groupId, uuid, locale)!"" > 
56 
57 <#if mediaObj?has_content && (mediaObj.quelle)?has_content > 
58 <#local source = mediaObj.quelle?substring(1, (mediaObj.quelle?length - 1))> 
59 <#if source?has_content> 
60 <span>${source}</span> 
61 </#if> 
62 </#if> 
63</#macro> 
64 
65<#assign mediumData = coverDMTKASDEMEDIUM.data?eval /> 
66<#if mediumData?has_content> 
67 <#assign linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution', mediumData["groupId"]?number, mediumData["uuid"]) /> 
68</#if> 
69 
70<#if !isDPMColorSchemeNEW()> 
71 <div class="c-page-intro c-page-intro--article"> 
72 <div class="o-page-module"> 
73 <div class="c-page-intro__wrapper"> 
74  
75 <#if coverDMTKASDEMEDIUM.getData()?has_content> 
76 <#if linkToDMT?has_content> 
77 <div class="c-page-intro__image" style="background-image:url('${linkToDMT}');"> 
78 <span class="o-imagesource"><@mediaReference mediumData["groupId"]?number mediumData["uuid"] /></span> 
79 </div> 
80 </#if> 
81 </#if> 
82  
83 <div class="c-page-intro__meta"> 
84  
85 <#-- Erscheinungsdatum --> 
86 <#assign erscheinungsdatum_Data = getterUtil.getString(erscheinungsdatum.getData())> 
87  
88 <#if validator.isNotNull(erscheinungsdatum_Data)> 
89 <#assign erscheinungsdatum_DateObj = dateUtil.parseDate("yyyy-MM-dd", erscheinungsdatum_Data, locale)> 
90 <span class="o-metadata o-metadata--date"> 
91 ${dateUtil.getDate(erscheinungsdatum_DateObj, "dd. MMMM yyyy", locale)} 
92 </span> 
93 </#if> 
94  
95 <#-- laufende nummer --> 
96 <#assign article = JournalArticleLocalService.getArticle(groupId, articleId) /> 
97 <#assign verbundJournalArticle = FrontendService.publication.getVerbundToPublikation(article)!"" > 
98  
99 <#if verbundJournalArticle?has_content> 
100 <#assign document = (saxReaderUtil.read(verbundJournalArticle.getContentByLocale(locale.toString())))!"" /> 
101 <#if document?has_content> 
102  
103 <#if document.selectSingleNode("/root/dynamic-element[@name='laufendenummer']/dynamic-content")??> 
104 <#assign node = document.selectSingleNode("/root/dynamic-element[@name='laufendenummer']/dynamic-content") /> 
105 <#assign laufendenummer = node.getText() /> 
106 <#if laufendenummer?has_content > 
107 <span class="o-metadata o-metadata--hash"><@liferay.language key="ausgabe" /> ${laufendenummer}</span> 
108 </#if> 
109 </#if> 
110 </#if> 
111 </#if> 
112  
113 </div> 
114  
115 <#-- Titel --> 
116 <div class="o-page-headline__wrapper"> 
117  
118 <div class="c-share"> 
119 <div class="c-share__wrapper--aside"> 
120 <div class="c-share c-share--aside c-share--aside-new"> 
121 <ul class="c-share__list"> 
122 <@ShareLink "print" /> 
123 <@ShareLink "mail" /> 
124 <@ShareLink "share" /> 
125 </ul> 
126 </div> 
127 </div> 
128 <@ShareOverlay /> 
129 </div> 
130  
131 <h2 class="o-page-headline"> 
132 ${articleTitle} 
133 </h2> 
134 </div> 
135  
136 <#-- Autoren --> 
137 <#if autorenWCSKASDEPERSON.getSiblings()?has_content> 
138 <#list autorenWCSKASDEPERSON.getSiblings() as cur_autorenWCSKASDEPERSON> 
139 <#assign document = getSaxReaderDocument(cur_autorenWCSKASDEPERSON) > 
140  
141 <#if document?has_content> 
142  
143 <div class="c-page-intro__author"> 
144 <@liferay.language key="von" /> 
145  
146 <#if document.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content")??> 
147 <#assign node = document.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content") /> 
148 <#assign vorname = node.getText() /> 
149 <#if vorname?has_content > 
150 ${vorname} 
151 </#if> 
152 </#if> 
153  
154 <#if document.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content")??> 
155 <#assign node = document.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content") /> 
156 <#assign nachname = node.getText() /> 
157 <#if nachname?has_content > 
158 ${nachname} 
159 </#if> 
160 </#if> 
161 </div> 
162 </#if> 
163  
164 </#list> 
165 </#if> 
166  
167 <#-- Untertitel --> 
168 <h2 class="c-page-intro__subheadline"> 
169 ${untertitel.getData()} 
170 </h2> 
171  
172 <#-- Kurzbeschreibung --> 
173 <p class="c-page-intro__copy"> 
174 ${beschreibung.getData()} 
175 </p> 
176  
177 </div> 
178  
179 </div> 
180  
181 </div> 
182<#elseif isDPMColorSchemeNEW()> 
183 <div class="c-page-intro c-page-intro--article"> 
184 <div class="o-page-module"> 
185 <div class="c-page-intro__wrapper"> 
186 
187 <#-- Titel --> 
188 <div class="o-page-headline__wrapper"> 
189  
190 <div class="c-share"> 
191 <div class="c-share__wrapper--aside"> 
192 <div class="c-share c-share--aside c-share--aside-new"> 
193 <ul class="c-share__list"> 
194 <@ShareLink "print" /> 
195 <@ShareLink "mail" /> 
196 <@ShareLink "share" /> 
197 </ul> 
198 </div> 
199 </div> 
200 <@ShareOverlay /> 
201 </div> 
202  
203 <h1 class="o-page-headline"> 
204 ${articleTitle} 
205 </h1> 
206 </div> 
207  
208 <div class="c-page-subheadline__wrapper"> 
209 <div class="c-page-intro__meta"> 
210 
211 <#-- Autoren --> 
212 <#if autorenWCSKASDEPERSON.getSiblings()?has_content> 
213 <#list autorenWCSKASDEPERSON.getSiblings() as cur_autorenWCSKASDEPERSON> 
214 <#assign document = getSaxReaderDocument(cur_autorenWCSKASDEPERSON) > 
215  
216 <#if document?has_content> 
217  
218 <div class="o-metadata o-metadata--author"> 
219  
220 <#if document.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content")??> 
221 <#assign node = document.selectSingleNode("/root/dynamic-element[@name='vorname']/dynamic-content") /> 
222 <#assign vorname = node.getText() /> 
223 <#if vorname?has_content > 
224 ${vorname} 
225 </#if> 
226 </#if> 
227  
228 <#if document.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content")??> 
229 <#assign node = document.selectSingleNode("/root/dynamic-element[@name='nachname']/dynamic-content") /> 
230 <#assign nachname = node.getText() /> 
231 <#if nachname?has_content > 
232 ${nachname} 
233 </#if> 
234 </#if> 
235 </div> 
236 </#if> 
237  
238 </#list> 
239 </#if> 
240  
241 <#-- Erscheinungsdatum --> 
242 <#assign erscheinungsdatum_Data = getterUtil.getString(erscheinungsdatum.getData())> 
243  
244 <#if validator.isNotNull(erscheinungsdatum_Data)> 
245 <#assign erscheinungsdatum_DateObj = dateUtil.parseDate("yyyy-MM-dd", erscheinungsdatum_Data, locale)> 
246 <span class="o-metadata o-metadata--date"> 
247 ${dateUtil.getDate(erscheinungsdatum_DateObj, "dd. MMMM yyyy", locale)} 
248 </span> 
249 </#if> 
250  
251 </div> 
252 <#-- Untertitel --> 
253 <h2 class="c-page-intro__subheadline"> 
254 ${untertitel.getData()} 
255 </h2> 
256 </div> 
257  
258 <#-- Kurzbeschreibung --> 
259 <p class="c-page-intro__copy"> 
260 ${beschreibung.getData()} 
261 </p> 
262  
263 </div> 
264  
265 </div> 
266  
267 </div> 
268 </#if> 
269</#if> 

Asset Publisher

Ein spannendes Wahljahr mit vielen überraschenden Wendungen geht dem Ende zu. Mag der Ausgang der saarländischen Landtagswahl im März und der Wahlerfolg der CDU unter der Ministerpräsidentin Annegret Kramp-Karrenbauer von vielen Beobachtern noch erwartet worden sein, so überraschten die Wahlerfolge der CDU in Nordrhein-Westfalen und Schleswig-Holstein. In beiden Ländern kam es zu einem Regierungswechsel unter Führung der CDU. Unerwartet war auch das Abschneiden der Volksparteien bei der Bundestagswahl, die beide Einbußen hinnehmen mussten. Trotz eines Stimmenrückgangs schneidet die Union bei der Bundestagswahl am besten ab, stellt damit die größte Fraktion und hat den Auftrag, eine Regierung zu bilden; nach zwölf Jahren Regierungszeit keine Selbstverständlichkeit.

Doch das Wahljahr ist für Trendanalysen der Parteien ungeeignet (der Artikel wurde vor den vorgezogenen Landtagswahlen in Niedersachsen am 15. Oktober 2017 verfasst.) Außer der SPD, die bei allen Wahlen an Zustimmung verloren hat, haben alle Parteien ein Wechselbad der Gefühle erlebt. Dem guten Abschneiden der FDP auf der Bundesebene steht der verfehlte Einzug in den saarländischen Landtag gegenüber. Die AfD kam in Schleswig-Holstein knapp über 5 Prozent, und die Grünen mussten im Saarland und in Nordrhein-Westfalen schlechte Ergebnisse verkraften. Die Wahlbeteiligung ist zwar bei jeder Wahl gestiegen, doch profitierte bei den Landtagswahlen vor allem die CDU von Stimmen früherer Nichtwähler; bei der Bundestagswahl hatte dagegen die AfD den stärksten Zustrom aus den Reihen der Nichtwähler.

Es zeigt sich erneut, dass jede Wahl für sich steht und vermeintliche Regeln für die strategische Planung ein schlechter Ratgeber sind. In den Medien wurde berichtet, Kanzlerkandidat Martin Schulz habe sich auf Bitte der damaligen Ministerpräsidentin Hannelore Kraft politisch zurückgehalten, da sie ihm aus Nordrhein-Westfalen den entsprechenden Rückenwind für die Bundestagswahl bringen würde. Die Wahlergebnisse verdeutlichen eindrücklich das Scheitern dieser Strategie. Will man die Bundestagswahl 2017 vergleichen, so drängen sich Ähnlichkeiten mit den Jahren 2009 und 1969 auf. Am Ende der Legislaturperiode 2009 mussten die Volksparteien bereits deutliche Verluste sowie ein historisch schlechtes Abschneiden hinnehmen. Auch bei dieser Wahl profitierten die kleineren Parteien von einer Großen Koalition: FDP, Grüne und Linke konnten 2009 ihre historisch besten Wahlergebnisse verzeichnen. Auch die sonstigen Parteien schnitten überdurchschnittlich gut ab (2009 konnten die Piraten 2 Prozent und die NPD 1,5 Prozent erzielen). Ähnliches ließ sich auch bei der ersten Großen Koalition von 1966 bis 1969 beobachten, als die NPD im Aufwind war und in eine Reihe von Landtagen einziehen konnte. Gleichermaßen war es die Geburtsstunde der sogenannten Außerparlamentarischen Opposition (APO).

Wahl als Protest

Die Union verliert bei der Bundestagswahl 2017 deutlich an Unterstützung, obwohl sie in allen Bereichen – von der Bundeskanzlerin über die politischen Kompetenzen und die Zufriedenheit mit der Regierung bis hin zur Einschätzung der allgemeinen und wirtschaftlichen Lage und den objektiven Bilanzdaten – ausgesprochen positiv bewertet wird. Eine Ursache liegt in der Überzeugung der Wähler, dass der Wahlsieger bereits im Vorhinein feststehe. 82 Prozent waren unmittelbar vor der Wahl sicher, die Union und Angela Merkel würden gewinnen. Gerade einmal 5 Prozent erwarteten, dass die SPD und Martin Schulz als Sieger aus der Wahl hervorgehen würden (2017: Daten der Forschungsgruppe Wahlen). Diese Erwartungen haben große Auswirkungen auf das Endergebnis. Mit dem Gefühl ausgestattet, das Rennen sei gelaufen und es ginge um nichts mehr, haben sich einige Wähler der Union und der SPD anders entschieden.

Vor dem Hintergrund einer guten Leistungsbilanz der Bundesregierung sowie eines großen Maßes an wirtschaftlicher Sicherheit und Stabilität erschienen den Wählern die Verschiebungen im Parteiensystem risikolos. Man konnte es sich quasi leisten, „Protest zu wählen“.

Das gute Abschneiden der AfD hatte sich nicht in den Landtagswahlen abgezeichnet und wurde erst unmittelbar vor der Bundestagswahl im Meinungsklima sichtbar. Noch im Frühjahr hatte die Partei mit schlechten Wahlergebnissen und Umfragewerten zu kämpfen, die selbst das Überwinden der Fünf-Prozent-Hürde mit einem Fragezeichen versahen.

Ganz überraschend ist das Ergebnis der AfD jedoch nicht. Im Parteiensystem hat sich bereits seit 2013 eine Polarisierung der Wählerlandschaft entwickelt. Die AfD-Anhänger bilden in allen Einstellungsvariablen gegenüber den Anhängern aller anderen Parteien – und im besonderen Maße gegenüber der Anhängerschaft der Union – den Antipoden.

Die Wahl der AfD kann als Protestwahl bezeichnet werden: So sagen 61 Prozent, sie hätten die Partei aus Enttäuschung gewählt. Nach einem Strategiepapier setzt die AfD darauf, dass skandalisierende Äußerungen, die die „Political Correctness“ durchbrechen, die größte Chance haben, in den Medien zitiert zu werden. Diese Strategie ist weitgehend aufgegangen. Zudem hat die AfD in den sozialen Medien bereits lange vor dem Wahlkampf, aber dort nochmals verstärkt, negative campaigning unter dem Motto „Merkel muss weg“ betrieben.

Heterogene Wählerschaft

Ebenso wie bei früheren Wahlen kommt die Wählerschaft der AfD aus allen politischen Lagern. Zudem mobilisiert die AfD erneut einen großen Anteil an Nichtwählern. Dass diese Wählerschaft nicht nach parteiideologischen Mustern zu verorten ist, liegt auf der Hand, wenn gleichermaßen ehemalige Wähler der Union, der SPD, der Linken oder der Piraten für die AfD votieren. So hat zum Beispiel Die Linke – gemessen an ihrer Größe in den neuen Ländern – proportional die meisten Wähler an die AfD verloren. Auch dies ist kein neues Phänomen, denn Protestwähler sind in der Regel politisch heimatlos.

In Tiefeninterviews lassen sich AfD-Wähler auf (fast) keinen gemeinsamen Nenner bringen. Sie sind eine äußerst heterogene Gruppe mit unterschiedlichen Wegen und Begründungen, warum sie sich der AfD genähert haben. Auch sozialstrukturelle Muster ergeben sich nicht. Monokausale Erklärungen, wer, aus welchem Grund die AfD unterstützt, greifen daher zu kurz. Die Partei wird als Projektionsfläche sehr unterschiedlicher Wünsche, Bedürfnisse und Themen wahrgenommen.

Dennoch gibt es jenseits der Heterogenität auch Gemeinsamkeiten, die sich eher in einer Grundstimmung ausdrücken. Die Befragten hatten häufig das Gefühl, dass sie nicht „gehört“ würden, was sich sowohl auf Eliten als auch auf die eigene Situation bezieht, da sich viele als stigmatisiert und entfremdet wahrnehmen. Gleichermaßen – auch wenn viele Diskussionsbeiträge eher das Gegenteil zu bestätigen scheinen – wird eine Abgrenzung nach „rechts“ vorgenommen. Eines der klassischen Erzählmuster ist, dass die „eigentliche“ Meinung „des Volkes“ unterdrückt werde und man „das wohl noch sagen dürfe“. Hier erscheint als Hauptgegner die als Unterdrückungsinstrument verstandene „Political Correctness“.

Auch verschwörungstheoretische Argumentationen sind weit verbreitet, ohne dass es die eine Verschwörung gibt, auf die sich alle einigen könnten. Vieles wird ohne Konkretisierung nur angedeutet, erweckt aber den Anschein, über exklusives Wissen zu verfügen. Gleichermaßen kursieren viele „Fake News“.

Orientierungssuche ohne Kompass

Häufig wird die Realität ausgekoppelt oder verdrängt und durch „alternative“ Erzählungen ersetzt, welche zwar ins eigene Weltbild passen, aber einer Überprüfung nicht standhalten. Gegenüber Argumenten, die eine andere Meinung vertreten, zeigt sich eine gewisse Geschlossenheit. Die Befragten suchen zwar nach Orientierung, allerdings ohne Kompass.

Am ehesten lassen sich die Befragten über ihre Gefühlslagen zusammenfassen. Die eigene Situation ist oft zwar eher unproblematisch, doch wird sie in Beziehung zu anderen gesetzt; auch eine Verschlechterung wird erwartet. Diese wird zum Teil generalisiert, wenn etwa auf allgemeine Entwicklungen wie die Globalisierung verwiesen wird. Zum Teil wird sie auch konkretisiert, wenn zum Beispiel durch die Zuwanderung eine potenzielle Verschlechterung der Zukunftsaussichten oder der eigenen wirtschaftlichen Lage erwartet wird. Bei den hier Befragten wird Angst (auch vor Überfremdung), Verunsicherung und Kontrollverlust mit dem Gefühl gekoppelt: „Alles wird schlechter“. Dies auf die „Flüchtlingskrise“ zurückzuführen, scheint die Kausalitäten umzukehren. Vielleicht war die Flüchtlingskrise der Auslöser, der die Grundhaltungen sichtbar machte, zusätzlich mobilisierte und einen politischen Arm fand, aber vermutlich hat sich die psychische Stimmung bereits vorher latent manifestiert und ist ein Resultat langfristig aufgestauter, vielfältiger Frustrationen.

Sehr weit verbreitet sind zudem Denkzettelmotive: Die Wähler unterstützen die AfD in der Erwartung, die anderen Parteien würden darauf reagieren und sie dann ernster nehmen. Man könnte von einer „Um-zu“-Wahlmotivation sprechen: Man wählt eine Partei, um zu erreichen, dass andere etwas tun. Hier bieten sich für alle Parteien Chancen, Wähler zurückzugewinnen.

----

Viola Neu, geboren 1964 in Ludwigshafen am Rhein, stellvertretende Leiterin der Hauptabteilung Politik und Beratung der Konrad-Adenauer-Stiftung.

comment-portlet