Asset Publisher

An error occurred while processing the template.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) [in template "252001#252047#252845" at line 132, column 37]
----
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: dMTJsonObject = FrontendService.media... [in template "252001#252047#252845" at line 132, column 21]
----
1<#-- used @ Veranstaltung-Detailseite Intro 
2 used @ Publikation-Detailseite Intro 
3--> 
4 
5<#-- 
6Web content templates to display teaser on thema detail page 
7 
8Generic template for detail pages Intro / Teaser element 
9--> 
10<#-- 
11Display the current page title 
12--> 
13<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" /> 
14<#include "${fullTemplatesPath}/macros/debugging.ftl" /> 
15 
16<#include "${fullTemplatesPath}/macros/page-modules/PMIntro.ftl" /> 
17<#include "${fullTemplatesPath}/macros/atomic-modules/AMPublicationCarousel.ftl" /> 
18<#include "${fullTemplatesPath}/macros/atomic-modules/AMMetadata.ftl" /> 
19<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" /> 
20 
21 
22<#-- 
23 renders the Intro for nearly all Pages 
24 TODO: remove Share? (was in the designs, but not anymore?) 
25 TODO: check if languageSelect/filter are working (js) 
26 
27 - portletId 
28 - data = { 
29 "media": string (src from image), 
30 "category": string, 
31 "title": string, 
32 "author": string, 
33 "subheadline": string, 
34 "copy": string, 
35 "filter": { 
36 "id": string, 
37 "name": string, 
38 "entries": Array<Object> ({key:value}), 
39 }, 
40 "languageSelect": { 
41 "id": string, 
42 "name": string, 
43 "entries": Array<Object> ({key:value}), 
44 }, 
45 "meta": { 
46 "pos"; string (top/bottom) 
47 "date": string, 
48 "hash": string, 
49 "info": string, (url) 
50 }, 
51 "share" : { 
52 "login": string, 
53 "print": string, 
54 "mail": string, 
55 "multishare": string?? (tbd) 
56
57 - AMMetadata: macro 
58 - position: String ("top") -> defines wether the meta-data should be rendered above or below the intro-content 
59
60--> 
61 
62<#assign 
63 JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
64 
65 ServiceContext = staticUtil["com.liferay.portal.kernel.service.ServiceContextThreadLocal"].getServiceContext() 
66 DLAPP = serviceLocator.findService("com.liferay.document.library.kernel.service.DLAppLocalService") 
67 
68 themeDisplay = ServiceContext.getThemeDisplay() 
69 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
70 
71 languageId = themeDisplay.getLocale() 
72 groupId = themeDisplay.getScopeGroupId() 
73 currentUrl = themeDisplay.getURLCurrent() 
74 
75 layout = themeDisplay.getLayout() 
76 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
77/> 
78 
79<#setting locale="${languageId}"> 
80 
81<#-- get article from url --> 
82 
83<#assign entry = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! > 
84 
85 
86<#if entry?has_content> 
87 
88 <#if entry.resourcePrimKey??> 
89 <#assign primaryKey = entry.resourcePrimKey?number > 
90 <#elseif entry.classPK??> 
91 <#assign primaryKey = entry.classPK?number > 
92 </#if> 
93 
94 <#assign 
95 jsonString = FrontendService.article.getWebcontent(primaryKey) 
96 json = FrontendService.json.parseAsJson(jsonString) 
97 availablelanguages = FrontendService.article.getAssetEntryToUrl(primaryKey).getAvailableLanguageIds() 
98 
99 title = entry.getTitle(languageId) 
100 data = { 
101 "title": title 
102
103 /> 
104 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" /> 
105 
106 <#if hasContent('untertitel', languageId, json)> 
107 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } > 
108 </#if> 
109 
110 <#if hasContent('detailsubtitle', languageId, json)> 
111 <#assign data = data + { "detailsubtitle": getValueForLanguage('detailsubtitle', languageId, json, "first") } > 
112 </#if> 
113 
114 <#if hasContent('beschreibung', languageId, json)> 
115 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } > 
116 </#if> 
117 
118 <#-- fill meta data --> 
119 <#assign meta = {} /> 
120 
121 <#-- PUBLIKATIONEN DETAIL --> 
122 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
123 
124 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)> 
125 <#assign 
126 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first") 
127 /> 
128 
129 <#if coverBildString?has_content> 
130 <#assign 
131 coverBild = FrontendService.json.parseAsJson(coverBildString) 
132 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale ) 
133 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid ) 
134 data = data + { "media": linkToDMT, "meta" : dMTJsonObject } 
135 /> 
136 <#if dMTJsonObject.altText?? > 
137 <#assign data = data + {"alt" : dMTJsonObject.altText} /> 
138 </#if> 
139 <#if dMTJsonObject.quelle??> 
140 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } /> 
141 </#if> 
142 </#if> 
143 <#-- uncomment to display pdf cover as Intro Image 
144 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)> 
145 <#assign 
146 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first") 
147 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/> 
148 <#if fileEntry?has_content> 
149 <#assign 
150 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
151 data = data + { "media": linkToThumbnail } 
152 /> 
153 </#if> 
154 --> 
155 </#if> 
156 
157 <#assign 
158 meta = meta + { "orderInfo": "true" } 
159 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!"" 
160 /> 
161 
162 
163 
164 <#if hasContent('erscheinungsdatum', languageId, json)> 
165 <#assign 
166 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
167 /> 
168 <#if erscheinungsdatum?has_content > 
169 <#assign 
170 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId ) 
171 meta = meta + { "date": erscheinungsdatumFormatted } 
172 /> 
173 </#if> 
174 </#if> 
175 
176 <#if verbundJournalArticle?has_content> 
177 <#assign 
178 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey) 
179 verbundJson = FrontendService.json.parseAsJson(verbundJsonString) 
180 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first") 
181 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first") 
182 /> 
183 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" /> 
184 <#assign meta = meta + { "laufendenummer": laufendenummer } > 
185 
186 <#if coverImg?has_content && coverImg.url?has_content > 
187 <#assign meta = meta + { "coverImg": coverImg.url } > 
188 </#if> 
189 </#if> 
190 
191 
192 <#if meta?has_content> 
193 <#assign data = data + {"meta": meta } > 
194 </#if> 
195 
196 </#if> 
197 <#-- PUBLIKATIONEN DETAIL END --> 
198 
199 
200 <#-- VERANSTALTUNGEN DETAIL --> 
201 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
202 <#assign 
203 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!"" 
204 links = [] 
205 /> 
206 <#if availablelanguages?has_content && friendlyUrl?has_content> 
207 <#if (availablelanguages?size > 1) > 
208 <#list availablelanguages as language> 
209 <#assign 
210 defaultLanguage = "de_DE" 
211 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage) 
212 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale 
213 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId) 
214 
215 link = { 
216 "key": language!defaultLanguage, 
217 "value": linkLocale.getDisplayLanguage(languageId), 
218 "url": "/c/portal/update_language?p_l_id=" + 
219 layout.plid + "&redirect=" + langFriendlyUrl + 
220 "&languageId=" + language 
221
222 /> 
223 <#if language == languageId> 
224 <#assign link = link + { "selected": "true" } > 
225 </#if> 
226 <#assign links = links + [link]> 
227 </#list> 
228 <#assign 
229 data = data + { 
230 "languageSelect": { 
231 "id": "languageSelectRedirect", 
232 "name": "languageselectRedirect", 
233 "entries": links, 
234 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar") 
235
236
237 /> 
238 </#if> 
239 </#if> 
240 </#if> 
241 
242 <#if hasContent('erscheinungsdatum', languageId, json)> 
243 <#assign 
244 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first") 
245 meta = meta + { "start": startdate?date.iso, "end": "" } 
246 /> 
247 </#if> 
248 
249 <#if hasContent('startdatum', languageId, json)> 
250 <#assign 
251 startdate = getValueForLanguage('startdatum', languageId, json, "first") 
252 meta = meta + { "start": startdate?date.iso, "end": "" } 
253 /> 
254 </#if> 
255 
256 <#if hasValue('einfuehrungText', locale, json)> 
257 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } > 
258 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")> 
259 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } > 
260 </#if> 
261 
262 <#if hasContent('endedatum', languageId, json)> 
263 <#assign 
264 enddate = getValueForLanguage('endedatum', languageId, json, "first") 
265 meta = meta + { "end": enddate?date.iso } 
266 /> 
267 </#if> 
268 
269 <#if hasContent('startzeit', languageId, json)> 
270 <#assign 
271 startzeit = getValueForLanguage('startzeit', languageId, json, "first") 
272 /> 
273 <#if startzeit?has_content > 
274 <#assign meta = meta + { "startzeit": startzeit } /> 
275 </#if> 
276 </#if> 
277 
278 <#if hasContent('endezeit', languageId, json)> 
279 <#assign 
280 endezeit = getValueForLanguage('endezeit', languageId, json, "first") 
281 meta = meta + { "endezeit": endezeit } 
282 /> 
283 </#if> 
284 
285 <#if hasContent('ortWCSKASDEORT', languageId, json)> 
286 <#assign 
287 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first")) 
288 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number 
289 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!"" 
290 /> 
291 <#if ortWCSKASDEORTWebContent?has_content > 
292 <#assign 
293 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!"" 
294 /> 
295 <#if ortWCSKASDEORTTitle?has_content > 
296 <#assign 
297 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle } 
298 /> 
299 </#if> 
300 </#if> 
301 </#if> 
302 
303 
304 <#if hasContent('veranstaltungsnummer', languageId, json)> 
305 <#assign 
306 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first") 
307 meta = meta + { "verauuid": verauuid } 
308 /> 
309 </#if> 
310 
311 
312 <#if (data.meta)?has_content > 
313 <#assign meta = data.meta /> 
314 </#if> 
315 
316 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)> 
317 <#assign 
318 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first") 
319 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution") 
320 /> 
321 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} > 
322 
323 
324 <#if mediaData.meta?? && mediaData.meta.quelle??> 
325 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } /> 
326 </#if> 
327 </#if> 
328 
329 
330 <#if meta?has_content> 
331 <#assign data = data + {"meta": meta } > 
332 </#if> 
333 
334 <#-- END fill meta data --> 
335 
336 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)> 
337 <#assign 
338 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json) 
339 authors = [] 
340 /> 
341 <#list journalArticles as articleString> 
342 <#assign article = FrontendService.json.parseAsJson(articleString) /> 
343 <#if article?has_content && article?is_hash && article.classPK??> 
344 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" /> 
345 <#if articleDereferenced?has_content > 
346 <#assign 
347 author = "" 
348 articlePrimaryKey = articleDereferenced.classPK?number 
349 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey) 
350 articleJson = FrontendService.json.parseAsJson(articleJsonString) 
351 /> 
352 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" /> 
353 <#if hasValue('anredetitel', languageId, articleJson)> 
354 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " "> 
355 </#if> 
356 <#if hasValue('vorname', languageId, articleJson)> 
357 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " "> 
358 </#if> 
359 <#if hasValue('nachname', languageId, articleJson)> 
360 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " "> 
361 </#if> 
362 
363 <#attempt> 
364 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" > 
365 <#recover> 
366 <#assign href = "#" > 
367 </#attempt> 
368 <#if href?has_content && href != "#" && href != "/_404"> 
369 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'> 
370 </#if> 
371 
372 <#assign authors = authors + [author?trim]> 
373 </#if> 
374 </#if> 
375 </#list> 
376 <#if authors?has_content> 
377 <#assign data = data + { "author": authors?join(", ") } > 
378 </#if> 
379 </#if> 
380 
381 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") > 
382 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! > 
383 <#if categories?has_content && categories[0]?has_content > 
384 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
385 </#if> 
386 
387 <#if hasContent('ausgebucht', languageId, json)> 
388 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }> 
389 </#if> 
390 
391 <#if hasContent('storniert', languageId, json)> 
392 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }> 
393 </#if> 
394 
395 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") > 
396 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! > 
397 <#if categories?has_content && categories[0]?has_content > 
398 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
399 </#if> 
400 <#else> 
401 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! > 
402 <#if categories?has_content && categories[0]?has_content > 
403 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } > 
404 </#if> 
405 </#if> 
406 
407 
408 <#assign 
409 languages = [] 
410 /> 
411 
412 <#attempt> 
413 <#if json["document_pdfDMTBASICDOCUMENT"]?? > 
414 <#if availablelanguages?has_content> 
415 <#list availablelanguages as pdf_language> 
416 <#assign 
417 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first") 
418 docRef = FrontendService.json.parseAsJson(docRefJson) 
419 /> 
420 <#if docRef?is_hash && pdf_language != languageId > 
421 <#assign 
422 lang = FrontendService.language.getLocaleByKey(pdf_language)!"" 
423 docGroupId = docRef["groupId"]?number 
424 docUuid = docRef["uuid"] 
425 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale ) 
426 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject ) 
427 /> 
428 <#if lang?has_content> 
429 <#assign 
430 languages = languages + [ 
431
432 "key": pdf_language, 
433 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(), 
434 "url": dMTLink 
435 }] 
436 /> 
437 </#if> 
438 </#if> 
439 </#list> 
440 </#if> 
441 </#if> 
442 <#recover> 
443 </#attempt> 
444 
445 <#if (languages?size > 0)> 
446 <#attempt> 
447 <#assign 
448 data = data + { "languageSelect": { 
449 "id": "languageSelect", 
450 "name": "languageselect", 
451 "entries": languages, 
452 "documents": "", 
453 "button": "true" 
454 }} 
455 /> 
456 <#recover> 
457 </#attempt> 
458 </#if> 
459 
460 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" /> 
461 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)} 
462 
463 <#if data.meta?has_content> 
464 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()> 
465 <div>  
466 <div id="publicationVerbundPagination"> 
467 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg /> 
468 </div> 
469 </div> 
470 </#if> 
471 </#if> 
472 
473<#elseif (editmode?? && editmode)> 
474 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl /> 
475</#if> 

Asset Publisher

Podijeli

Eine Schicksalswahl

Zahlreiche Beobachter bezeichneten diese Wahl im Vorfeld als eine der folgenreichsten, die den Kurs des Landes für Jahrzehnte prägen könnte. Es gehe darum, ob der Nachfolger/die Nachfolgerin von Rodrigo Duterte, der laut Verfassung nach einer sechsjährigen Amtszeit als Präsident ausscheidet, den brutalen Kurs fortsetzt bzw. das Land vielleicht in eine noch autoritärere Richtung steuert. Durch außergerichtliche Tötungen sind im „Krieg gegen die Drogen“ in den vergangenen Jahren tausende Menschen ums Leben gekommen, die Presse- und Medienfreiheit wurde eingeschränkt und Kritiker und Oppositionelle bedroht und verfolgt. Dennoch konnte sich der scheidende Präsident hoher Zustimmungsraten von rund 75 Prozent erfreuen – die zuletzt zwar insbesondere aufgrund des schlechten Pandemiemanagements Dutertes einbrachen aber mit 61 Prozent (Stand Ende 2021) immer noch vergleichsweise hoch waren.

Nach Auszählung von rund 98 Prozent der Stimmen kam Ferdinand Marcos auf ca. 31 Millionen Stimmen und liegt dadurch uneinholbar vor der zweitplatzierten Kandidatin Maria Leonor „Leni“ Robredo mit ca. 14 Millionen Stimmen (Stand 11.05.2022).[i] Zwar wird das Endergebnis der Wahl vom Kongress erst in ein paar Wochen verkündet, aber am Erdrutschsieg von Ferdinand Marcos, der auch „Bongbong“ Marcos oder kurz „BBM“ genannt wird, dürfte das nicht mehr viel ändern. Als Vizepräsidentin wurde Sara Duterte gewählt und sie wird somit voraussichtlich eine mächtige Rolle in der neuen Regierung einnehmen und somit die beiden Dynastien vereinen.

Insgesamt traten bei der Wahl zehn Präsidentschaftskandidaten an, unter ihnen lediglich eine Frau. Nur zwei der Aspiranten – Ferdinand Marcos und Leni Robredo – hatten eine realistische Chance auf das höchste Amt. Mit über 56 Prozent sind es hauptsächlich junge Wähler zwischen 18 und 40 Jahre alt, die diese Wahl prägen - zum Vergleich in Deutschland lag der Anteil von jungen Wählern 2021 bei rund 28 Prozent (18 bis 39 Jahre).[ii] Neben dem Präsidenten und Vizepräsidenten, die in getrennten Wahlen bestimmt werden, wurden tausende von Ämtern auf unterschiedlichen Ebenen gewählt. Das präsidentielle Regierungssystem der Philippinen ist stark US-amerikanisch geprägt allerdings ohne vergleichbar funktionierende „checks and balances“.

 

Gewalt und Proteste

Am Wahltag kam es zu langen Warteschlangen vor den Wahllokalen teilweise aufgrund von fehlerhaften Stimmzählmaschinen und fehlenden Namen auf Stimmzetteln. Die Wahlkommission lehnte aber Forderungen nach einer Verlängerung der Abstimmung ab. Nach der Wahl protestierten zahlreiche Menschenrechtsgruppen und Studierende gegen die zukünftige Marcos-Duterte Regierung aber auch aufgrund der teilweise chaotisch abgelaufenen Wahl.

Der 9. Mai wurde außerdem von gewaltsamen Attacken auf der südlichen Insel Mindanao überschattet bei denen mindestens sechs Menschen ums Leben kamen. Mindanao gilt als Rückzugsgebiet für unterschiedliche aufständische und islamistische Gruppierungen. Bereits in der Vergangenheit war es bei Wahlen auf den Philippinen zu Gewalt und tödlichen Angriffen gekommen, so dass in diesem Jahr mehr als 60.000 Sicherheitskräfte zum Schutz der Wahl im Einsatz waren.

 

Der Sohn des Diktators

Ergebnis der Wahl ist, dass Marcos Jr. am 30. Juni in den Präsidentenpalast Malancaɦang einziehen und seine sechsjährige Amtszeit antreten wird. Für viele Beobachter kommt der Sieg des 64-jährigen Politikers nicht überraschend, hatte er doch in den Umfragen meist deutlich vor seiner schärfsten Kritikerin und Rivalin Leni Robredo gelegen.

Die Marcos Familie arbeitet bereits seit vielen Jahren an ihrem politischen Comeback. Ferdinand Marcos Sr. regierte das Land von 1965 bis 1986 und entwickelte sich in dieser Zeit zu einem brutalen Diktator, der zehntausend Menschen verhaften und tausende von ihnen foltern und töten ließ. Zudem haben er und seine Ehefrau Imelda – die für ihre enorme Sammlung von Luxusschuhen und Kunstwerken bekannt ist – das Land um schätzungsweise zehn Milliarden Dollar betrogen. Vom eigenen Volk vertrieben lebte die Familie im Exil auf Hawaii, wo der Vater 1989 verstarb. Imelda kam mit den Kindern Anfang der 90er Jahre auf die Philippinen zurück, wo die Familie Schritt für Schritt wieder den Weg in die aktive Politik fand.[iii] Zunächst war Ferdinand Marcos Gouverneur in Ilocos Norte (1997) – der Heimatprovinz der Dynastie – danach Abgeordneter im Kongress (2007) sowie Senator (2010). 2016 unterlag er nur knapp seiner Konkurrentin Leni Robredo in der Wahl um die Vizepräsidentschaft.

 

Der Wahlkampf

Die liberale Robredo, die als unabhängige Präsidentschaftskandidatin antrat, gilt als eine der schärfsten Kritikerinnen von Rodrigo Duterte und hatte angekündigt die brutale Politik des scheidenden Präsidenten zu beenden und aufzuarbeiten. Ihre Kampagne konnte in den Wochen vor der Wahl verstärkt an Momentum gewinnen, getragen von der großen Unterstützung junger Freiwilliger im ganzen Land und riesigen festivalartigen Wahlkampfveranstaltungen. Die erfahrene Politikerin hatte während des Wahlkampfes umfassende Regierungspläne präsentiert in deren Mittelpunkt gute Regierungsführung, die Überwindung der Pandemie, das Ende der Gewalt und die Förderung von Menschenrechten standen. Dennoch konnte sie am Ende die Wähler und Wählerinnen nicht überzeugen, was auch mit der schwachen Präsenz Robredos in den sozialen Medien zu tun hatte.

Weitere Präsidentschaftskandidaten wie der ehemalige Box-Superstar Manny Pacquiao und der Bürgermeister von Manila Isko Moreno landeten weit abgeschlagen auf Platz drei und vier. Die Tochter des scheidenden Präsidenten Sara Duterte-Carpio, die das Amt der Bürgermeisterin der Millionenstadt Davao innehat, trat als Vizepräsidentin gemeinsam mit Ferdinand Marcos in einem „Uniteam“ an. Als wichtigste Themen des Wahlkampfes galten die wirtschaftliche Erholung nach der Pandemie, Bekämpfung von Korruption und die zukünftigen Beziehungen zur Volksrepublik China.

 

Die Rolle von sozialen Medien

Wenn man nach Erklärungen sucht, warum nur 36 Jahre nachdem Ende der Marcos Diktatur der Sohn zum Präsidenten gewählt werden konnte, verweisen Experten unter anderem auf die Rolle von sozialen Medien auf den Philippinen. Bis zu zehn Stunden am Tag verbringen die Bewohner des Inselstaates im Internet – mehr als in jedem anderen Land.[iv] Youtube und Facebook sind wichtige Informationsquellen und Desinformation und Falschmeldungen verbreiten sich rasch. Marcos weiß das geschickt für sich zu nutzen und ist sehr präsent in den sozialen Medien, wie Facebook, Youtube und Tiktok auf deren Kanälen er Millionen Follower hat.

Zudem setzte er wie bereits Präsident Rodrigo Duterte auf den Einsatz von Troll-Armeen. Im Januar wurden mehr als 300 Twitter-Accounts mit Bezug zu Marcos Jr. gelöscht und auch Facebook gab an aufgrund von Verstößen gegen die Regeln der Plattform 400 Accounts im Umkreis der Kampagne gelöscht zu haben.[v] Besonders der hohe Anteil an jungen Wählern, die keine Erinnerung an die brutalen Jahre der Diktatur haben, ermöglichte es der Marcos Familie durch eine umfassende jahrelange Social Media Kampagne die Diktatur als „goldenes Zeitalter der Philippinen“ zu verklären und die Menschenrechtsverbrechen herunterzuspielen. Das Versprechen auf eine bessere, stabilere Zukunft fiel in den Philippinen, die durch Armut, große Ungleichheit, Korruption und die Folgen der Covid-Pandemie stark geprägt sind, auf fruchtbaren Boden. Während die Marcos Familie oft als Wohltäter in den sozialen Medien dargestellt wurde, sah sich Robredo zahlreichen Attacken im Internet ausgesetzt und wurde als faul und unfähig bezeichnet.

 

Was ist vom neuen Präsidenten zu erwarten?

Der designierte Präsident hat sich während des Wahlkampfes kaum dazu geäußert, welches Regierungsprogramm er nach der Wahl verfolgen will. In den zahlreichen inszenierten Youtube Videos ging es weniger um inhaltliches sondern um Phrasen und Slogans, wie die viel beschworene „Einheit“.[vi] Interviews und Debatten wich er konsequent aus.

Beobachter vermuten, dass unter der zukünftigen Marcos-Duterte Regierung vieles fortgesetzt wird, was Rodrigo Duterte begonnen hat. Der brutale Krieg gegen die Drogen und die damit einhergehenden schweren Menschenrechtsverletzungen werden voraussichtlich weder beendet noch strafrechtlich verfolgt und aufgearbeitet werden. Die Geschichtsverklärung der Marcos Diktatur 1965-1986 wird vermutlich weiter vorangetrieben werden mit der Rückkehr des Clans in den Präsidentenpalast.

Außenpolitisch stehen die Philippinen mitten im Ringen um Einflusssphären zwischen den USA und China im Indopazifik. Zwar pflegt das Land enge Beziehungen zu den USA als ehemalige Kolonie und traditioneller Verbündeter, aber Präsident Duterte hat insbesondere in den ersten Jahren seiner Regierung einen engeren Schulterschluss mit der Volksrepublik China gesucht und sich teilweise von den USA abgewendet. Das Schiedsurteil von 2016 indem die chinesischen Gebietsansprüche im Südchinesischen Meer zurückgewiesen worden – damals ein enormer außenpolitischer Erfolg der Philippinen - wurde unter Duterte kaum erwähnt, um chinesische Investitionen nicht zu verschrecken. Auch der Marcos-Clan pflegt sehr gute Beziehungen zur Volksrepublik, schließlich gehen die diplomatischen Beziehungen der beiden Länder auf einen Besuch von Imelda Marcos bei Mao Tse-tung 1974 zurück. Bis heute halten diese guten Beziehungen an was zum Beispiel daran zu erkennen ist, dass China das einzige Konsulat in Laoag der Regionalhauptstadt Ilocos Norte, der Heimatprovinz des Clans, unterhält.[vii] Allerdings hat sich die stärkere Hinwendung zur Volksrepublik kaum bezahlt gemacht, wurden doch viele der versprochenen Gelder nicht gezahlt. Vor dem Hintergrund dieser Enttäuschung dürfte auch die neue Regierung vorsichtig agieren, wenn es um eine bessere Anbindung an Peking geht. Dagegen sprechen auch die traditionell engen Beziehungen des philippinischen Militärs und des Sicherheitsapparates zu den USA.

Wie genau es innen- und außenpolitisch auf den Philippinen nun nach der Wahl unter der Marcos-Duterte Regierung ab Ende Juni weitergehen wird, bleibt abzuwarten. Klar dürfte aber sein, dass der starke Einfluss einiger weniger mächtiger Familien Dynastien und die große Ungleichheit im Land unter der zukünftigen Regierung weiter traurige Realität in dem Inselstaat bleiben werden.

 

 

[i]       CNN, 11.05.2022, Marcos Jr. asks world not to judge him by his family’s past as he claims victory in Philippines election, Philippines election results: Ferdinand Marcos J.r asks world not to judge him by his family's past - CNN (zuletzt abgerufen am 12.05.2022).

[ii]      Inquirer, 08.02.2022, Comelec: 56% of voting population are aged 18 to 41, Comelec: 56% of voting population are aged 18 to 41 | Inquirer News (zuletzt abgerufen am 11.05.2022).

[iii]     Erste Ambitionen auf politische Ämter der Marcos Familie nach ihrer Rückkehr auf die Philippinen scheiterten. Imelda Marcos verlor 1992 die Präsidentschaftswahlen und Ferdinand Marcos Jr. trat 1995 vergeblich als Senator an. 

[iv]     SZ, 14.3.2022, Ins Amt geklickt, Wie Social Media den Wahlkampf auf den Philippinen beeinflussen - Medien - SZ.de (sueddeutsche.de) (zuletzt abgerufen am 11.05.2022).

[v]      Spiegel online, 03.05.2022, Warum ausgerechnet der Sohn des Diktators Marcos vorne liegt, Wahlen auf den Philippinen: Häuserwahlkampf gegen den Diktatoren-Sohn - DER SPIEGEL (zuletzt abgerufen am 11.05.2022).

[vi]     „Unity“ war das Motte der Marcos-Duterte Kampagne.

[vii]    FAZ, 08.05.2022, China oder USA – wer profitiert von der Philippinen-Wahl?, Wird China zum Gewinner der Wahlen auf den Philippinen? (faz.net) (zuletzt abgerufen am 11.05.2022).

Asset Publisher

Kontakt

Daniela Braun

Daniela Braun

Leiterin des Auslandsbüros Philippinen der Konrad-Adenauer-Stiftung

daniela.braun@kas.de +63 2 8539 3840

comment-portlet

Asset Publisher

Stavljeno na raspolaganje od strane

Auslandsbüro Philippinen

Asset Publisher

O ovoj seriji

Fondacija Konrad Adenauer ima predstavništva u oko 80 zemalja svijeta na pet kontinenata. Direktori predstavništava sa lica mjesta mogu iz prve ruke izvještavati o trenutnim događajima i dugoročnim zbivanjima u zemlji u kojoj su raspoređeni. U "izvještajima o stanju u zemlji" oni nude korisnicima Web stranice Fondacije Konrad Adenauer ekskluzivne analize, pozadinske informacije i procjene.