Agrégateur de contenus

Discussion

Afrika: Ein Kontinent am Abgrund oder Weltregion mit Perspektiven?

In Kooperation mit GfW, Deutscher Atlantischer Gesellschaft und dem Reservistenverband

Afrika: Nach und nach befreit sich sein Norden vom Joch der Diktaturen. Andernorts ist die Lage kritisch. Somalia – Stichworte sind Piraterie und Staatsversagen – steht etwa für denkbar ungünstige Perspektiven. Kurz: Die Lage ist undurchsichtig.

Agrégateur de contenus

partager

Détails

Unterdessen nutzen aufstrebende Mächte – allen voran China – die politischen Schwächen im eigenen Sinne: Erdöl, Gold, Diamanten, seltene Erden … sie stehen hoch im Kurs. Während der Westen für Handelsbeziehungen politische Mindeststandards einfordert, ist dieser moralische Aspekt anderen ressourcenhungrigen Ländern gleichgültig. Was sind die Perspektiven für Afrika. Geht es bergab? Oder profitiert die Weltregion langsam von den positiven Aspekten der Globalisierung?

Dustin Dehéz studierte Neuere und Neueste Geschichte in Freiburg und Durham (GB). Er ist Senior Fellow am Düsseldorfer Institut für Außen- und Sicherheitspolitik (DIAS) und Expert on Peace and Security beim Global Governance Institute (GGI). Er war zuvor Lehrbeauftragter an der FU Berlin und Gastprofessor an der University of Economics in Prag. Er schreibt u.a. für die "Zeitschrift für Internationale Politik", "ZEIT Online" sowie die "Blätter für deutsche und internationale Politik". 1978 in Bremen geboren, ist er Mitglied des Arbeitskreises junger Außenpolitiker der Konrad-Adenauer-Stiftung.

Diskutieren Sie mit uns! Wir freuen uns auf Ihre Anmeldung per Mail oder Fax. Ein Programm mit Anmeldebogen finden Sie zum Download auf dieser Seite.

Die Teilnahme ist kostenlos.

Agrégateur de contenus

Une erreur s'est produite lors du traitement du modèle.
The following has evaluated to null or missing:
==> FrontendService.media.getDMTJsonObject( document.groupId?number, document.uuid, locale) [in template "kas-de-theme_SERVLET_CONTEXT_/templates/functions/content-functions/CFMarginalContent.ftl" at line 106, 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 "kas-de-theme_SERVLET_CONTEXT_/templates/functions/content-functions/CFMarginalContent.ftl" in function "getMarginalContent" at line 106, column 21]
----
1<#include "${fullTemplatesPath}/functions/relatedContentUtil.ftl" /> 
2<#include "${fullTemplatesPath}/functions/freemarkerUtil.ftl" /> 
3<#include "${fullTemplatesPath}/macros/debugging.ftl" /> 
4<#include "${fullTemplatesPath}/functions/liferayServicesUtil.ftl" /> 
5 
6<#include "${fullTemplatesPath}/macros/page-modules/PMNavigation.ftl" /> 
7<#include "${fullTemplatesPath}/macros/page-modules/PMMarginalspalte.ftl" /> 
8<#include "${fullTemplatesPath}/macros/atomic-modules/AMVenue.ftl" /> 
9<#include "${fullTemplatesPath}/macros/atomic-modules/AMMarginalContent.ftl" /> 
10<#include "${fullTemplatesPath}/macros/atomic-modules/AMPricing.ftl" /> 
11<#include "${fullTemplatesPath}/macros/atomic-modules/AMPerson.ftl" /> 
12<#include "${fullTemplatesPath}/macros/atomic-modules/AMMediaElement.ftl" /> 
13<#include "${fullTemplatesPath}/macros/atomic-modules/AMDatetime.ftl" /> 
14<#include "${fullTemplatesPath}/macros/atomic-modules/AMMap.ftl" /> 
15<#include "${fullTemplatesPath}/macros/atomic-modules/AMMarginalLinks.ftl" /> 
16<#include "${fullTemplatesPath}/macros/atomic-modules/AMCollapsibleListItem.ftl" /> 
17 
18<#assign 
19 JournalArticleLocalService = getJournalArticleLocalService() 
20  
21  
22 
23 themeDisplay = getThemeDisplay() 
24 languageId = themeDisplay.getLocale() 
25 editmode = FrontendService.user.isPrivilegedUser(themeDisplay) 
26 
27 groupId = themeDisplay.getScopeGroupId() 
28 currentUrl = themeDisplay.getURLCurrent() 
29 
30 layout = themeDisplay.getLayout() 
31 layouttpl = layout.getTypeSettingsProperties().getProperty("layout-template-id") 
32 
33 isMicrosite = FrontendService.site.isMicrosite(groupId)!false 
34/> 
35 
36<#-- Veranstaltungen-Detail, Publikationen-Detail --> 
37<#if currentUrl?contains("/-/content") > 
38 
39 <#assign journalArticle = FrontendService.article.getArticleToUrl(currentUrl, groupId?number)! > 
40 
41 <#if journalArticle?has_content> 
42 <#if journalArticle.resourcePrimKey??> 
43 <#assign primaryKey = journalArticle.resourcePrimKey?number > 
44 <#elseif journalArticle.classPK??> 
45 <#assign primaryKey = journalArticle.classPK?number > 
46 </#if> 
47 
48 <#assign 
49 jsonString = FrontendService.article.getWebcontent(primaryKey) 
50 json = FrontendService.json.parseAsJson(jsonString) 
51 /> 
52 
53 
54 <@debugJsonString jsonString "ADT_KASDE_MARGINALSPALTE" /> 
55 
56 <#if hasContent('title', locale, json)> 
57 <#assign 
58 pageName = "" 
59 title = " - " + getValueForLanguage("title", languageId, json, "first") 
60 /> 
61 <#if isMicrosite > 
62 <#assign 
63 pageGroup = layout.getGroup() 
64 pageName = " - " + htmlUtil.escape(pageGroup.getDescriptiveName()) 
65 /> 
66 </#if> 
67  
68 </#if> 
69 
70 <#assign content = getMarginalContent(json, locale, primaryKey, FrontendService, JournalArticleLocalService, themeDisplay) >  
71 
72 
73 <#if hasContent('ausgebucht', locale, json)> 
74 <#assign content = content + { "ausgebucht" : getValueForLanguage('ausgebucht', locale, json, "first") }> 
75 </#if> 
76 
77 <#if hasContent('storniert', locale, json)> 
78 <#assign content = content + { "storniert" : getValueForLanguage('storniert', locale, json, "first") }> 
79 </#if> 
80 
81 <#if hasContent('document_pdfDMTBASICDOCUMENT', locale, json)> 
82 <#assign 
83 pdfDocumentString = getValueForLanguage('document_pdfDMTBASICDOCUMENT', locale, json, "first") 
84 pdfDocument = FrontendService.json.parseAsJson(pdfDocumentString) 
85 fileEntry = FrontendService.media.getFileEntry(pdfDocument.uuid, pdfDocument.groupId?number)!/> 
86 <#if fileEntry?has_content> 
87 <#assign 
88 linkToThumbnail = FrontendService.link.getThumbnailSrc(fileEntry , themeDisplay) 
89 covermedia = getDefaultMediaObject(linkToThumbnail, "pdf cover") 
90 covermedia = covermedia + {"hrefSource" : content.pdfBasicDocumentUrl.url } 
91 content = content + { "covermedia": covermedia } 
92 /> 
93 </#if> 
94 </#if> 
95 
96 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
97 <#assign calendar = FrontendService.event.createCalendarFile(primaryKey, locale) /> 
98 <#assign content = content + {"calendar": calendar } /> 
99 </#if> 
100 <#elseif (editmode?? && editmode)> 
101 <@errorMessage languageUtil.get(locale, "kein.journalArticle.gefunden") "ADT_KASDE_MARGINALSPALTE" layouttpl /> 
102 </#if> 
103 
104<#-- Themen-Detail and others --> 
105<#else> 
106 <#-- content in marginalspalte --> 
107 <#if entries?has_content> 
108 <#assign 
109 entry = entries?first 
110 primaryKey = entry.classPK?number 
111 
112 jsonString = FrontendService.article.getWebcontent(primaryKey) 
113 json = FrontendService.json.parseAsJson(jsonString) 
114 /> 
115 <@debugJsonString jsonString "ADT_KASDE_MARGINALSPALTE" /> 
116 <@debugJson json "MARGINALSPALTE_CONTENT_JSON" /> 
117 
118 <#assign content = getMarginalContent(json, locale, primaryKey, FrontendService, JournalArticleLocalService, themeDisplay) > 
119 <#elseif (editmode?? && editmode)> 
120 <@errorMessage languageUtil.get(locale, "es.existieren.keine.entries") "ADT_KASDE_MARGINALSPALTE" layouttpl /> 
121 </#if> 
122</#if> 
123 
124 
125<#if content??> 
126 <#if layouttpl?contains("LAYOUT_KASDE_VERANSTALTUNGEN_DETAIL")> 
127 <#assign type = "veranstaltung" /> 
128 
129 <#elseif layouttpl?contains("LAYOUT_KASDE_PUBLIKATIONEN_DETAIL")> 
130 <#assign type = "publikation" /> 
131 <#elseif layouttpl?contains("LAYOUT_KASDE_THEMEN_DETAIL")> 
132 <#assign type = "thema" /> 
133 <#else> 
134 <#assign type = "default" /> 
135 </#if> 
136 
137 <#assign content = content + {"type": type } /> 
138 <@debugJsonString content "ADT_KASDE_MARGINALSPALTE_CONTENT" /> 
139 <@PMMarginalspalte "ADT_KASDE_MARGINALSPALTE" content AMArticle AMPerson AMVenue AMPricing AMMediaElement AMDatetime AMMap AMMarginalContent AMMarginalLinks/> 
140<#elseif (editmode?? && editmode)> 
141 <@errorMessage languageUtil.get(locale, "entries.enthalten.keinen.content") "ADT_KASDE_MARGINALSPALTE" layouttpl /> 
142</#if> 

Agrégateur de contenus

Agrégateur de contenus

Partenaire

Deutsche Atlantische Gesellschaft v_2
GfW Karlsruhe

Reservistenverband Baden-Württemberg