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 hasValue(FrontendService.article.getFieldNameByReferenceName(primaryKey, 'detailsubtitle'), languageId, json)>
111 <#assign data = data + { "detailsubtitle": getValueForLanguage(FrontendService.article.getFieldNameByReferenceName(primaryKey, '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>
Historische Proteste
Proteste in Kuba – obwohl historisch gesehen recht häufig, wenn auch weitestgehend vereinzelt und nicht flächendeckend – wurden in der Regel von der ausländischen Presse unterbewertet und erlangten nur in sehr geringem Maße internationale Aufmerksamkeit. In den letzten Jahrzehnten haben Menschenrechtsorganisationen jedoch wiederholt über die brutale Unterdrückung und Zensur der kubanischen Regierung in den Bereichen Meinungsfreiheit, Pressefreiheit und grundlegende Gewährleistung der Menschenrechte berichtet. Was jedoch diesmal als fokussierter und lokaler Protest begann, hat sich mittlerweile über die ganze Insel ausgebreitet und zunehmend das Interesse der Medien und der internationalen Gemeinschaft geweckt.
Die San Isidro-Bewegung ist in den letzten Jahren als ein eher gesellschaftspolitischer Protest entstanden, im Gegensatz zu den üblicheren, durch die klassischen politischen Oppositionsgruppen initiierten Proteste. Dies führte dazu, dass die Bewegung nicht nur innerhalb Kubas, sondern auch international auf Interesse stieß. Der Durchschnittsbürger beteiligte sich historisch gesehen allerdings nicht aktiv an diesen Protesten. Von daher sind die Demonstrationen der letzten Tage so bemerkenswert, da sie ein durchaus neues und anderes Engagement seitens der kubanischen Bevölkerung offenbaren.
Wichtige Fakten zur kubanischen Politik
Zum ersten Mal seit sechs Jahrzehnten ist zwar der Präsident von Kuba, Miguel Díaz Canel, kein direktes Mitglied der Castro-Familie. Trotzdem überraschte es nicht, dass mit seinem Amtsantritt keine wesentlichen Änderungen in der Herrschaft des Landes vom Castro-Regime der letzten 60 Jahre einhergingen. Zu eng waren und sind die Verflechtungen der kommunistischen Partei, der Streitkräfte und auch der Person Díaz-Canel.
Darüber hinaus unterliegt Kuba seit 1958 US-Sanktionen und 1962 wurde schließlich auch das Handelsembargo verhängt. Zaghafte Ansätze, diese Beschränkungen zu lockern, wurden von der Obama-Administration eingeleitet, aber später von der Trump-Administration wieder rückgängig gemacht. Bislang hat Präsident Biden keine konkreten politischen Maßnahmen gegenüber Kuba ergriffen, was bedeutet, dass der unter Trump etablierte Status quo vorerst bestehen bleibt. Die oben genannten Sanktionen wurden von der internationalen Gemeinschaft vielfach, aber nicht einstimmig, kritisiert. Erst letzten Monat hat die Generalversammlung der Vereinten Nationen eine Resolution herausgegeben, in der sie auf die Notwendigkeit drängt, das US-Handelsembargo gegen Kuba zu beenden.
Auch wenn sich die externen Rahmenbedingungen in den letzten Jahren kaum verändert haben, so hat sich doch in Kuba selbst etwas bewegt: Insbesondere hat der breitere Zugang und die Nutzung des Internets sowie anderer Technologien (Social Media) das Leben auf der Insel stark beeinflusst. Kubaner sind immer weniger isoliert von dem, was auf der ganzen Welt passiert, und im gleichen Maße verfügt die internationale Gemeinschaft über mehr Echtzeitinformationen und Einblicke in die politische, wirtschaftliche und soziale Lage des Landes. Dementsprechend konnten immer intensiver auch die Inhaftierungen und Schikanierungen von Oppositionellen des Regimes, die an Friedensdemonstrationen in Kuba beteiligt waren, dokumentiert und publiziert werden.
In diesem Zusammenhang muss der Streik der sogenannten San Isidro-Bewegung (Movimiento San Isidro – MSI) im November letzten Jahres hervorgehoben werden, bei dem die Verhaftung des Rappers und Mitglieds der MSI, Denís Solís, über Facebook live übertragen wurde. Auch der anschließende Hungerstreik und die Inhaftierung von 14 anderen MSI-Mitgliedern wurden weltweit übertragen. Diese Ereignisse führten nicht nur zur Beteiligung weiterer großer Teile der kubanischen Zivilgesellschaft, sondern erregten auch internationale Aufmerksamkeit. Mehrere Organisationen und Regierungen, darunter die US-Regierung, verurteilten die rechtswidrigen Festnahmen und forderten die Achtung der Menschenrechte, insbesondere der Meinungsfreiheit, ein.
Den vollständigen Länderbericht finden Sie hier als PDF.
หัวข้อ
สนับสนุนโดย
Auslandsbüro Mexiko
เกี่ยวกับชุดนี้
Konrad-Adenauer-Stiftung มีสำนักงานตัวแทนใน 80 ประเทศในห้าทวีป พนักงานในต่างประเทศสามารถให้รายงานเบื้องต้นเกี่ยวกับสถานการณ์ปัจจุบันและการพัฒนาในระยะยาวในประเทศของตนได้ และผู้ใช้เว็บไซต์สามารถเข้าไปดูการวิเคราะห์ ข้อมูลพื้นฐานและการประเมินผลเฉพาะของ Konrad-Adenauer-Stiftung เหล่านั้นใน "country reports" ได้