Die südafrikanischen Parlamentswahlen 2014 - Auslandsbüro Südafrika
The following has evaluated to null or missing: ==> data.meta [in template "252001#252047#252845" at line 459, column 10] ---- Tip: It's the step after the last dot that caused this error, not those before it. ---- 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: #if data.meta.laufendenummer?has_cont... [in template "252001#252047#252845" at line 459, column 5] ----
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
98 title = entry.getTitle(languageId)
99 data = {
100 "title": title
101 }
102 />
103 <@debugJsonString jsonString "ADT_KASDE_DYNAMIC_INTRO" />
104
105 <#if hasContent('untertitel', languageId, json)>
106 <#assign data = data + { "subheadline": getValueForLanguage('untertitel', languageId, json, "first") } >
107 </#if>
108
109 <#if hasContent('beschreibung', languageId, json)>
110 <#assign data = data + { "copy": getValueForLanguage('beschreibung', languageId, json, "first") } >
111 </#if>
112
113 <#-- fill meta data -->
114 <#assign meta = {} />
115
116 <#-- PUBLIKATIONEN DETAIL -->
117 <#if layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")>
118
119 <#if hasContent('coverDMTKASDEMEDIUM', languageId, json)>
120 <#assign
121 coverBildString = getValueForLanguage('coverDMTKASDEMEDIUM', languageId, json, "first")
122 />
123
124 <#if coverBildString?has_content>
125 <#assign
126 coverBild = FrontendService.json.parseAsJson(coverBildString)
127 dMTJsonObject = FrontendService.media.getDMTJsonObject( coverBild.groupId?number, coverBild.uuid, locale )
128 linkToDMT = FrontendService.media.getImageURLForAMConfiguration('hd-resolution',coverBild.groupId?number, coverBild.uuid )
129 data = data + { "media": linkToDMT, "meta" : dMTJsonObject }
130 />
131 <#if dMTJsonObject.altText?? >
132 <#assign data = data + {"alt" : dMTJsonObject.altText} />
133 </#if>
134 <#if dMTJsonObject.quelle??>
135 <#assign meta = meta + { "quelle": dMTJsonObject.quelle } />
136 </#if>
137 </#if>
138 <#-- uncomment to display pdf cover as Intro Image
139 <#elseif hasContent('document_pdfDMTBASICDOCUMENT', languageId, json)>
140 <#assign
141 pdfDocument = getValueForLanguage('document_pdfDMTBASICDOCUMENT', languageId, json, "first")
142 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, groupId?number)!/>
143 <#if fileEntry?has_content>
144 <#assign
145 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay)
146 data = data + { "media": linkToThumbnail }
147 />
148 </#if>
149 -->
150 </#if>
151
152 <#assign
153 meta = meta + { "orderInfo": "true" }
154 verbundJournalArticle = FrontendService.publication.getVerbundToPublikation( entry )!""
155 />
156
157
158
159 <#if hasContent('erscheinungsdatum', languageId, json)>
160 <#assign
161 erscheinungsdatum = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
162 />
163 <#if erscheinungsdatum?has_content >
164 <#assign
165 erscheinungsdatumFormatted = FrontendService.date.getDateFormatLong( erscheinungsdatum, languageId )
166 meta = meta + { "date": erscheinungsdatumFormatted }
167 />
168 </#if>
169 </#if>
170
171 <#if verbundJournalArticle?has_content>
172 <#assign
173 verbundJsonString = FrontendService.article.getWebcontent(verbundJournalArticle.resourcePrimKey)
174 verbundJson = FrontendService.json.parseAsJson(verbundJsonString)
175 laufendenummer = getValueForLanguage('laufendenummer', languageId, verbundJson, "first")
176 coverImg = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, verbundJson, "first")
177 />
178 <@debugJsonString verbundJsonString "ADT_KASDE_DYNAMIC_INTRO-verbundJournalArticle" />
179 <#assign meta = meta + { "laufendenummer": laufendenummer } >
180
181 <#if coverImg?has_content && coverImg.url?has_content >
182 <#assign meta = meta + { "coverImg": coverImg.url } >
183 </#if>
184 </#if>
185
186
187 <#if meta?has_content>
188 <#assign data = data + {"meta": meta } >
189 </#if>
190
191 </#if>
192 <#-- PUBLIKATIONEN DETAIL END -->
193
194
195 <#-- VERANSTALTUNGEN DETAIL -->
196 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")>
197 <#assign
198 friendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, languageId, groupId)!""
199 languages = entry.getAvailableLanguageIds()
200 links = []
201 />
202 <#if languages?has_content && friendlyUrl?has_content>
203 <#if (languages?size > 1) >
204 <#list languages as language>
205 <#assign
206 defaultLanguage = "de_DE"
207 defaultLocale = FrontendService.language.getLocaleByKey(defaultLanguage)
208 linkLocale = (FrontendService.language.getLocaleByKey(language))!defaultLocale
209 langFriendlyUrl = FrontendService.article.getFriendlyUrl(primaryKey, linkLocale, groupId)
210
211 link = {
212 "key": language!defaultLanguage,
213 "value": linkLocale.getDisplayLanguage(languageId),
214 "url": "/c/portal/update_language?p_l_id=" +
215 layout.plid + "&redirect=" + langFriendlyUrl +
216 "&languageId=" + language
217 }
218 />
219 <#if language == languageId>
220 <#assign link = link + { "selected": "true" } >
221 </#if>
222 <#assign links = links + [link]>
223 </#list>
224 <#assign
225 data = data + {
226 "languageSelect": {
227 "id": "languageSelectRedirect",
228 "name": "languageselectRedirect",
229 "entries": links,
230 "label": languageUtil.get(languageId, "diese.veranstaltung.ist.in.weiteren.sprachen.verfuegbar")
231 }
232 }
233 />
234 </#if>
235 </#if>
236 </#if>
237
238 <#if hasContent('erscheinungsdatum', languageId, json)>
239 <#assign
240 startdate = getValueForLanguage('erscheinungsdatum', languageId, json, "first")
241 meta = meta + { "start": startdate?date.iso, "end": "" }
242 />
243 </#if>
244
245 <#if hasContent('startdatum', languageId, json)>
246 <#assign
247 startdate = getValueForLanguage('startdatum', languageId, json, "first")
248 meta = meta + { "start": startdate?date.iso, "end": "" }
249 />
250 </#if>
251
252 <#if hasValue('einfuehrungText', locale, json)>
253 <#assign data = data + { "einfuehrungText" : getValueForLanguage('einfuehrungText', locale, json, "first") } >
254 <#elseif hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first")>
255 <#assign data = data + { "einfuehrungText" : getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'einfuehrungText'), locale, json, "first") } >
256 </#if>
257
258 <#if hasContent('endedatum', languageId, json)>
259 <#assign
260 enddate = getValueForLanguage('endedatum', languageId, json, "first")
261 meta = meta + { "end": enddate?date.iso }
262 />
263 </#if>
264
265 <#if hasContent('startzeit', languageId, json)>
266 <#assign
267 startzeit = getValueForLanguage('startzeit', languageId, json, "first")
268 />
269 <#if startzeit?has_content >
270 <#assign meta = meta + { "startzeit": startzeit } />
271 </#if>
272 </#if>
273
274 <#if hasContent('endezeit', languageId, json)>
275 <#assign
276 endezeit = getValueForLanguage('endezeit', languageId, json, "first")
277 meta = meta + { "endezeit": endezeit }
278 />
279 </#if>
280
281 <#if hasContent('ortWCSKASDEORT', languageId, json)>
282 <#assign
283 ortWCSKASDEORT = FrontendService.json.parseAsJson(getValueForLanguage('ortWCSKASDEORT', languageId, json, "first"))
284 ortWCSKASDEORTPrimaryKey = ortWCSKASDEORT.classPK?number
285 ortWCSKASDEORTWebContent = FrontendService.article.getWebcontentByPk(ortWCSKASDEORTPrimaryKey)!""
286 />
287 <#if ortWCSKASDEORTWebContent?has_content >
288 <#assign
289 ortWCSKASDEORTTitle = ortWCSKASDEORTWebContent.getTitle(languageId)!""
290 />
291 <#if ortWCSKASDEORTTitle?has_content >
292 <#assign
293 meta = meta + { "ortWCSKASDEORT": ortWCSKASDEORTTitle }
294 />
295 </#if>
296 </#if>
297 </#if>
298
299
300 <#if hasContent('veranstaltungsnummer', languageId, json)>
301 <#assign
302 verauuid = getValueForLanguage('veranstaltungsnummer', languageId, json, "first")
303 meta = meta + { "verauuid": verauuid }
304 />
305 </#if>
306
307
308 <#if (data.meta)?has_content >
309 <#assign meta = data.meta />
310 </#if>
311
312 <#if !(data.media)?has_content && hasContent('mediumDMTKASDEMEDIUM', languageId, json)>
313 <#assign
314 medium = getValueForLanguage('mediumDMTKASDEMEDIUM', languageId, json, "first")
315 mediaData = getRelatedMediaObject(medium, themeDisplay, languageId, FrontendService, "hd-resolution")
316 />
317 <#assign data = data + { "media": mediaData.url , "meta" : mediaData.meta} >
318
319
320 <#if mediaData.meta?? && mediaData.meta.quelle??>
321 <#assign meta = meta + data.meta + { "quelle": mediaData.meta.quelle } />
322 </#if>
323 </#if>
324
325
326 <#if meta?has_content>
327 <#assign data = data + {"meta": meta } >
328 </#if>
329
330 <#-- END fill meta data -->
331
332 <#if hasContentForSequence('autorenWCSKASDEPERSON', languageId, json)>
333 <#assign
334 journalArticles = getValueForLanguageAnsprechpartner('autorenWCSKASDEPERSON', languageId, json)
335 authors = []
336 />
337 <#list journalArticles as articleString>
338 <#assign article = FrontendService.json.parseAsJson(articleString) />
339 <#if article?has_content && article?is_hash && article.classPK??>
340 <#assign articleDereferenced = FrontendService.person.resolveContactInstanceToPerson(article, languageId)!"" />
341 <#if articleDereferenced?has_content >
342 <#assign
343 author = ""
344 articlePrimaryKey = articleDereferenced.classPK?number
345 articleJsonString = FrontendService.article.getWebcontent(articlePrimaryKey)
346 articleJson = FrontendService.json.parseAsJson(articleJsonString)
347 />
348 <@debugJsonString articleJsonString "ADT_KASDE_DYNAMIC_INTRO-autorenWCSKASDEPERSON" />
349 <#if hasValue('anredetitel', languageId, articleJson)>
350 <#assign author = author + getValueForLanguage('anredetitel', languageId, articleJson, " ") + " ">
351 </#if>
352 <#if hasValue('vorname', languageId, articleJson)>
353 <#assign author = author + getValueForLanguage('vorname', languageId, articleJson, " ") + " ">
354 </#if>
355 <#if hasValue('nachname', languageId, articleJson)>
356 <#assign author = author + getValueForLanguage('nachname', languageId, articleJson, " ") + " ">
357 </#if>
358
359 <#attempt>
360 <#assign href = FrontendService.article.getFriendlyUrl(articlePrimaryKey, languageId, groupId)!"#" >
361 <#recover>
362 <#assign href = "#" >
363 </#attempt>
364 <#if href?has_content && href != "#" && href != "/_404">
365 <#assign author = '<a href="' + href + '">' + author?trim + '</a>'>
366 </#if>
367
368 <#assign authors = authors + [author?trim]>
369 </#if>
370 </#if>
371 </#list>
372 <#if authors?has_content>
373 <#assign data = data + { "author": authors?join(", ") } >
374 </#if>
375 </#if>
376
377 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL") >
378 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "VERANSTALTUNGSTYP")! >
379 <#if categories?has_content && categories[0]?has_content >
380 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
381 </#if>
382
383 <#if hasContent('ausgebucht', languageId, json)>
384 <#assign data = data + { "ausgebucht" : getValueForLanguage('ausgebucht', languageId, json, "first") }>
385 </#if>
386
387 <#if hasContent('storniert', languageId, json)>
388 <#assign data = data + { "storniert" : getValueForLanguage('storniert', languageId, json, "first") }>
389 </#if>
390
391 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL") >
392 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "PUBLIKATIONSREIHE")! >
393 <#if categories?has_content && categories[0]?has_content >
394 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
395 </#if>
396 <#else>
397 <#assign categories = FrontendService.category.getCategoriesToArticle(primaryKey, "THEMA")! >
398 <#if categories?has_content && categories[0]?has_content >
399 <#assign data = data + { "category": categories[0].getTitle(languageId,true)! } >
400 </#if>
401 </#if>
402
403
404 <#assign
405 languages = []
406 />
407
408 <#attempt>
409 <#if json["document_pdfDMTBASICDOCUMENT"]?? >
410 <#list json["document_pdfDMTBASICDOCUMENT"]?keys as pdf_language>
411 <#if pdf_language?has_content >
412 <#assign
413 docRefJson = getValueForLanguage('document_pdfDMTBASICDOCUMENT', pdf_language, json, "first")
414 docRef = FrontendService.json.parseAsJson(docRefJson)
415 />
416 <#if docRef?is_hash && pdf_language != languageId >
417 <#assign
418 lang = FrontendService.language.getLocaleByKey(pdf_language)!""
419 docGroupId = docRef["groupId"]?number
420 docUuid = docRef["uuid"]
421 dMTJsonObject = FrontendService.media.getDMTJsonObject( docGroupId, docUuid, locale )
422 dMTLink = FrontendService.media.getLinkToDMT( dMTJsonObject )
423 />
424 <#if lang?has_content>
425 <#assign
426 languages = languages + [
427 {
428 "key": pdf_language,
429 "value": FrontendService.language.getLocaleByKey(pdf_language).getDisplayLanguage(),
430 "url": dMTLink
431 }]
432 />
433 </#if>
434 </#if>
435 </#if>
436 </#list>
437 </#if>
438 <#recover>
439 </#attempt>
440
441 <#if (languages?size > 0)>
442 <#attempt>
443 <#assign
444 data = data + { "languageSelect": {
445 "id": "languageSelect",
446 "name": "languageselect",
447 "entries": languages,
448 "documents": "",
449 "button": "true"
450 }}
451 />
452 <#recover>
453 </#attempt>
454 </#if>
455
456 <@PMIntro "ADT_KASDE_DYNAMIC_INTRO" data AMMetadata AMDatetime "bottom" />
457 ${FrontendService.article.getEditArticleHtml(primaryKey, themeDisplay)}
458
459 <#if data.meta.laufendenummer?has_content !isACColorScheme() && !isVLCColorScheme() && !isDPMColorScheme()>
460 <div>
461 <div id="publicationVerbundPagination">
462 <@AMPublicationCarousel data.meta.laufendenummer data.meta.date data.meta.coverImg />
463 </div>
464 </div>
465 </#if>
466
467<#elseif (editmode?? && editmode)>
468 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_DYNAMIC_INTRO" layouttpl currentUrl />
469</#if>
Infolge der am 7. Mai 2014 stattgefundenen allgemeinen Wahlen in Südafrika stellt das Länderbüro der Konrad-Adenauer-Stiftung in Johannesburg auf dieser Seite eigene Berichte und weiterführende Informationen bereit.
Zu den fünften freien, demokratischen Wahlen seit dem Ende der Apartheid waren 31.4 Mio. stimmberechtigte Südafrikaner aufgerufen, über die Zusammensetzung einer neuen Nationalversammlung und der neun Provinzparlamente zu entscheiden. Die Nationale Wahlkommission (IEC) registrierte 25,4 Mio. Wähler, die rund 80 Prozent der wahlberechtigten Bevölkerung entsprachen. Letztendlich machten 18,7 Mio., und damit knapp 60 Prozent der Menschen im wahlfähigen Alter, von Ihrem Stimmrecht Gebrauch. Erstmals durften sich auch im Ausland lebende südafrikanische Staatsbürger bei ihrer zuständigen Auslandsvertretung zur Stimmabgabe registrieren.
Das Büro der Konrad-Adenauer-Stiftung (KAS) in Johannesburg verfolgte mit eigenen Wahlbeobachtern den Ablauf der Wahl vor Ort. Im Folgenden finden Sie alle wichtigen Informationen der KAS und weitere Empfehlungen zu den Parlamentswahlen vom 7. Mai 2014.
KAS-Berichte zu den südafrikanischen Parlamentswahlen 2014
Parlamentswahl in Südafrika. ANC siegt deutlich, aber mit Stimmverlusten
Interview: "Südafrika ist zurzeit politisch sehr aktiv"
FAQ – Allgemeine Wahlen 2014 in Südafrika
DIE WICHTIGSTEN STANDPUNKTE AUS DEN WAHLPROGRAMMEN DER KANDIDIERENDEN PARTEIEN
Das Wahlprogramm des African National Congress (ANC)
Das Wahlprogramm des Congress of the People (COPE)
Das Wahlprogramm der Democratic Alliance (DA)
Das Wahlprogramm der Economic Freedom Fighters (EFF)
Das Wahlprogramm der Inkatha Freedom Party (IFP)
Berichte zu Aktivitäten des KAS Partners Democracy Development Programme (DDP) rund um die Parlamentswahlen 2014 (engl.)
DDP Election Observation Report
DDP Report on political dialogues
DDP Radio Reports on the 2014 General Elections
Zusammenstellung von Presseberichten zur Wahl:
Opposition parties form coalition in bid to oust ANC (Mail & Guardian, 17.12.2013)
Expats can now vote in SA elections abroad (Mail & Guardian, 07.01.2014)
Zuma: The ANC will rule till Jesus comes back (Mail & Guardian, 08.01.2014)
EFF to court Numsa over united workers’ front (BDlive, 10.01.2014)
ANC's support down to 53% among eligible voters - Ipsos (Politicsweb, 11.01.2014)
Zuma launches new ANC manifesto (Mail & Guardian, 11.01.2014)
Elections 2014: Will it be ANC vs EFF? (City Press, 12.01.2014)
ANC takes a step back to appease labour allies (BDlive, 13.01.2014)
Party’s election manifesto highlights (Daily News, 13.01.2014)
The Big Read: ANC is incapable of giving itself the makeover it needs (The Times, 14.01.2014)
Zuma will cost ANC dearly (Cape Times, 15.01.2014)
Agang denies allegations of internal crisis (BDlive, 16.01.2014)
Independent Democrats to cease to exist this year (BDlive, 16.01.2014)
Struggle will not be forgotten come the election (BDlive, 22.01.2014)
Wither Ramphele's dream (The Times, 22.01.2014)
Hani resignation raises doubts about Agang SA (BDlive, 23.01.2014)
Zuma learns that friendship is fleeting (The Times, 23.01.2014)
DA keeps secret spot open for Agang’s Ramphele (BDlive, 27.01.2014)
ANC graft dilemma (The Citizen, 28.01.2014)
Mamphela Ramphele joins DA as presidential candidate (BDlive, 28.01.2014)
Agang will be integrated into the DA, says Zille (Mail & Guardian, 28.01.2014)
Ramphele changes the face of SA’s elections (BDlive, 29.01.2014)
Agang anger over Ramphele ‘betrayal’ (The Star, The Mercury, Sapa, 29.01.2014)
Malema’s future in doubt as SARS wins order (BDlive, 11.02.2014)
Vanessa Hani joins COPE after leaving Agang (BDlive, 11.02.2014)
Outcome of final registration weekend (Independent Electoral Commission, 11.02.2014)
Bricks fly as ANC, police clash during DA protest (Mail and Guardian, 12.02.2014)
'ANC fears NFP' (SABC, 16.02.2014)
Modest Zille puts ANC share of votes at 60% (BDlive, 17.02.2014)
DA battles an old stereotype (BDlive, 17.02.2014)
Prosperity is within our grasp (iolnews, 17.02.2014)
Traditional leaders an important base for ANC (BDlive, 18.02.2014)
Zuma comes in for stick from opposition on protests quote (BDlive, 19.02.2014)
Zuma promises 'socioeconomic' changes after election (Mail and Guardian, 20.02.2014)
‘Bring it on’ says Shilowa to Lekota (The Cizizen, 25.02.2014)
EFF frenzy a case of media hype over substance (BDlive, 05.03.2014)
Malema tackles IEC over poll fees (Pretoria News, 05.03.2014)
Decline of a weakened ANC is not inevitable (BDlive, 07.03.2014)
Leaks, lovers and in-laws: The ANC gets personal with its MPs (Mail & Guardian, 07.03.2014)
Tembisa: Mirror of a nation's bias (Mail & Guardian, 07.03.2014)
ANC no longer the party of change (Mail & Guardian, 07.03.2014)
Agang SA launches ‘citizens’ manifesto’ (BDlive, 09.03.2014)
Manifestos: Power must be devolved to citizens (Mail & Guardian, 09.03.2014)
COPE election manifesto calls for ‘inclusive approach’ (BDlive, 09.03.2014)
POLITICAL WEEK AHEAD: Wednesday deadline for candidate lists to IEC (BDlive, 10.03.2014)
Zuma packs electoral list with loyalists (BDlive, 12.03.2014)
‘Reluctant politician’, stalwart minister bow out (BDlive, 12.03.2014)
Agang's long-term plan to build a winning country (Mail & Guardian, 14.03.2014)
Secret party funding fuels electorate’s suspicion (BDlive, 18.03.2014)
Yet again ANC has splinters under its nails (BDlive, 19.03.2014)
Story of the past 20 years is the story of all of us (BDlive, 19.03.2014)
'Beware of backlash over Nkandla’ (The Star, 24.03.2014)
SABC chair openly shows her political colours (The Citizen, 24.03.2014)
ANC woes will benefit us – NFP (The Citizen, 24.03.2014)
Mbeki says Nkandla findings ‘worrying’ (The Citizen, 26.03.2014)
Opposition parties say IEC chief must resign within seven days (BDlive, 02.04.2014)
Give us enough votes to change Constitution – Zuma (The Citizen, 10.04.2014)
UDM’s Holomisa makes most of Amcu’s rise (BDlive, 17.04.2014)
Million born-frees won’t vote on May 7 (Cape Times, 22.04.2014)
Nkandla probe stalls with ANC bid to kick it into the next parliament (BDlive, 29.04.2014)
Expats to start voting (Cape Times, 29.04.2014)
Holomisa looking to double UDM seats (BDlive, 29.04.2014)
IEC’s head might roll soon (The Citizen, 30.04.2014)
Promises, threats and posturing in poll climax (BDlive, 05.05.2104)
POLITICAL WEEK AHEAD: South Africans get their moment to decide (BDlive, 05.05.14)
What will be wages of sins of incumbency? (BDlive, 05.05.14)
Identity politics still likely to dominate poll (The Citizen, 05.05.14)
Zuma discloses shocker (The Citizen, 06.05.14)
a/171047/practical-fun-apps-to-help-you-vote/" >Practical, fun apps to help you vote (The Citizen, 06.05.14)
Why do you deserve my vote? (BDlive, 02.05.14)
Voter turnout win for South Africa (BDlive, 08.05.14)
Diplomats restricted from observing elections (BDlive, 08.05.14)
Murder at the polling station (Daily News, 08.05.2014)
Dumped ballot papers in Lynnwood to be investigated (Mail & Guardian, 08.05.2014)
Election 2014 losses could signal death knell for smaller parties (BDlive, 09.05.2014)
Economy ‘back on centre stage’ (BDlive, 09.05.2014)
ANC vows to quickly restore investor confidence (BDlive, 12.05.2014)
Mazibuko exit may see Zille back in Parliament (BDlive, 12.05.2014)
ANC has work to do in metros for 2016 local polls (BDlive, 12.05.2014)
Elections 2014 ‘was efficient’ (The Citizen, 13.05.2014)
Differences among ruling party’s allies re-emerge after big victory (BDlive, 13.05.2014)
Mazibuko shunned DA ‘death match’ (BDlive, 13.05.2014)
Zille absence diminishes Parliament, says Leon (BDlive, 14.05.2014)
ANC does not need EFF as partner (The Citizen, 14.05.2014)
Long memories of apartheid help to forget ANC sins (BDlive, 15.05.2014)
Numsa ‘not turning back’ on new party (BDlive, 15.05.2014)
Move over Maimane, Gana's here (Mail & Guardian, 16.05.2014)
Is the EFF the calm before a real leftist storm? (Mail & Guardian, 16.05.2014)
Agang to implode (Times Live, 19.05.2014)
Election fears guide ANC pick of premiers (Times Live, 21.05.2014)
ANC elects woman to lead council of provinces (BDlive, 23.05.2014)
NEWS ANALYSIS: Will Economic Freedom Fighters MPs stand up to enemy fire (BDlive, 23.05.2014)
Poor believe grants tied to party not state (BDlive, 23.05.2014)
Executive decision: Zuma's new cabinet (Mail & Guardian, 25.05.2014)
Zuma reshuffles economics cluster, to mixed reaction (Mail & Guaradian, 26.05.2014)
Opposition worries about bloated Cabinet (BDlive, 26.05.2014)
Tough months ahead for SA’s phalanx of rookie MPs (BDlive, 28.05.2014)
Zuma appoints Ramaphosa to planning role (BDlive, 03.06.2014)
NFP head ‘co-opted by ANC to defeat IFP’ (BDlive, 06.06.2014)
Agang SA leader Mamphela Ramphele leaves party politics (BDlive, 08.07.2014)
Links zu den Wahlprogrammen der südafrikanischen Parteien (engl.):
Seit 2009 im 25. nationalen Parlament vertretene Parteien
African National Congress (ANC)
Der regierende ANC befindet sich in einer Dreierallianz mit der Südafrikanischen Kommunistischen Partei (SACP) und dem Gewerkschaftsdachverband (COSATU)
Wahlprogramm 2014 (Kurzfassung)
Democratic Alliance (DA)
Kandidatenliste der DA (Democratic Alliance, 25.01.2014)
DA-Kandidaten für die Posten der Provinz-Premiers:
Western Cape: Helen Zille
Gauteng: Mmusi Maimane
Northern Cape: Andrew Louw
Free State: Patricia Kopane
North West: Chris Hattingh
KwaZulu-Natal: Sizwe Mchunu
Eastern Cape: Athol Trollip
Limpopo: Langa Bodlani
Mpumalanga: Anthony Benadie
Congress of the People (COPE)
Inkatha Freedom Party (IFP)
United Democratic Movement (UDM)
African Christian Democratic Party (ACDP)
United Christian Democratic Party (UCDP)
Freedom Front Plus (FF+)
Minority Front (MF)
Pan Africanist Congress of Azania (PAC)
Azanian People's Organisation (AZAPO)
African People's Convention (APC)
Parteineugründungen
Agang South Africa
Economic Freedom Fighters (EFF)
Weiterführende Links:
Vorläufiger Bericht der SADCLA-Wahlbeobachtermission in der südafrikanischen Provinz KwaZulu-Natal (08.05.2014)
Vorläufiger Bericht der Wahlbeobachtermission der Entwicklungsgemeinschaft für das Südliche Afrika (SADC) (09.05.2014)
Vorläufiger Bericht der Wahlbeobachtermission der Afrikanischen Union (13.05.2014)
Informationsseite von news24 zu den südafrikanischen Parlamentswahlen 2014
Webseite der südafrikanischen Wahlkommission IEC
Werbespot der IEC als Aufruf zur Beteiligung an den Wahlen 2014
Das südafrikanische Parlamentarische Institut
Ergebnisse der allgemeinen Wahlen 2014
(© electionresources.org)
- Nationalversammlung
- Provinparlamente: Eastern Cape, Free State, Gauteng, KwaZulu-Natal, Limpopo, Mpumalanga, North West, Northern Cape, Western Cape
Ergebnisse der letzten allgemeinen Wahlen im Jahr 2009
(© electionresources.org)
- Nationalversammlung
- Provinzparlamente: Eastern Cape, Free State, Gauteng, KwaZulu-Natal, Limpopo, Mpumalanga, North West, Northern Cape, Western Cape