Asset-Herausgeber

Fehler bei der Verarbeitung der Vorlage.
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> 

Asset-Herausgeber

Bitte klicken Sie hier, um die Inhalte anzuzeigen.
Oder passen Sie Ihre Cookie-Einstellungen unter Datenschutz an.

Die Journalistische Nachwuchsförderung (JONA) der Konrad-Adenauer-Stiftung (KAS) hat ihren Stipendiaten im Rahmen einer stiftungsweiten transatlantischen Initiative erstmals eine Recherche-Reise in die USA ermöglicht: Vom 25. Oktober bis 2. November 2015 erkundeten 18 JONAlisten mit JONA-Seminarleiterin Astrid Csuraji, Jasmin Off (Schwäbische.de, Ravensburg) und Marco Maas (OpenDataCity) Washington D.C. und Boston. Das Auslandsbüro der KAS in den USA unterstützte das Projekt organisatorisch und inhaltlich.

JONA@USA begann am Montag 26. Oktober mit einem fröhlichen Willkommen durch Sabine Murphy, Projektkoordinatorin der KAS, und einem gedecktem Frühstückstisch im KAS-Büro in D.C. Um 8.30 Uhr stand bereits das erste Gespräch auf dem Programm, und der Gast hatte Schwarzbrot im Gepäck. Dr. Charles Ludolph, Lobbyist bei Relians und Träger des Bundesverdienstkreuzes, dozierte über die Vorteile und Chancen von TTIP aus US-amerikanischer Sicht. Die Teilnehmer waren kein bisschen müde, diskutierten engagiert mit. Kritische Frage eines Stipendiaten zum Schluss: „Angenommen, der BND hätte das Handy von Obama in NSA-Manier ausgespäht, würde die US-Regierung die Verhandlungen zu TTIP dann überhaupt weiter in Betracht ziehen?“ Antwort von Ludolph: „No, absolutely not.“

Direkt im Anschluss an die TTIP-Diskussion gaben Emily Schultheis, Reporterin beim Magazin National Journal, und Soren Dayton, Strategieberater, Einblicke in den Vorwahlkampf ums Präsidentenamt, erläuterten Themen und Kandidatenprofile. Ihr vorläufiges Fazit: Die Republikaner sind zerstritten und wissen nicht so recht, was sie vom Flirt ihrer Wähler mit Donald Trump halten sollen. Auf demokratischer Seite sorgt nur Bernie Sanders für etwas Spannung, denn dort könne Hillary Clinton nur noch über sich selbst stolpern – dabei gebe sie sich aber durchaus Mühe.

Vom KAS-Büro ging es im Dauerlauf (zum Teil mit Fahrrädern) zum Capitol Hill und dort zu einer Führung durch das historische, leider eingerüstete Gebäude. Die Gruppe bekam auch Zugang zum House of Representatives und konnte auf der Besuchertribüne Platz nehmen. Leider fand just dann keine Debatte statt – die Abgeordneten hatten Pause. Stattdessen genossen die Stipendiaten das spontane Referat eines Teilnehmers, der zurzeit in Washington studiert und der ihnen das parlamentarische System der USA genauer erklärte.

Anschießend sollte es bei der Sunlight Foundation eigentlich um Lobbyismus und den Umgang mit Datenschutz gehen – doch der Termin entfiel krankheitsbedingt. Kurzerhand wurde eine Unterrichtseinheit zum Live-Reporting-Tool Flypsite vorgezogen, welches die JONA erstmals bei einer Harvard-Konferenz in Boston testen wollte.

Am Dienstag joggten die ersten schon um acht Uhr ums Weiße Haus. Um halb zehn begann der Check-In beim State Department. Man muss es wohl Check-In nennen: In allen öffentlichem Gebäuden, besonders in denen der Regierung, herrschen strenge Sicherheitsvorkehrungen: Durchleuchten, Abtasten, Taschen-Check, Passkontrolle, Listenkontrolle, Anrufe, Eskorte in die richtige Etage. Ein Aufwand, der sich lohnte: Anderthalb Stunden lang sprachen vier Diplomaten des German Desk über die Chancen und Herausforderungen der deutsch-amerikanischen Beziehung. Tenor: Wir müssen uns gegen die Bedrohung aus China und Russland wappnen. Die transatlantische Partnerschaft liegt außerdem nicht in unserer DNA, sie muss immer wieder neu gelehrt, gelernt und gestärkt werden.

Nach dem Besuch im mächtigsten Außenministerium der Welt ging es zu Fuß über die Mall, vorbei am Lincoln Memorial (nicht „Washington in Washington“, wie Renate Künast am selben Tag bei Facebook postete) und am Vietnam Memorial entlang bis hin zum Weißen Haus. Dort: Fotostopp. Und tatsächlich ist in diesem Moment @POTUS alias Präsident Barack Obama in einer Autokolonne vorbeigefahren.

Am Nachmittag besuchte die JONA dann das Center for American Progress (CAP), ein liberales Think Tank, das den Demokraten nahe steht. Dort sprachen sie mit Sam Fulwood und Daniella Gibbs Léger über die Diskriminierung und gesellschaftliche Ungleichheit in den USA. Rassismus, wie er sich im Sommer 2015 in Baltimore und Ferguson gezeigt habe, sei fester Bestandteil der Gesellschaft. Aus ihm resultiere strukturelle Ungerechtigkeit und Ungleichheit in einem Land, das spätestens im Jahr 2050 nicht mehr mehrheitlich weiß sein werde. Die Gesprächspartner bestachen durch differenzierte Antworten auf schwierige Fragen – für viele Teilnehmer das inhaltliche Highlight der Woche.

Von der CAP ging es zur Deutschen Botschaft. Pressesprecher Markus Knauf hatte alle Hände voll zu tun, die zahlreichen Fragen zu beantworten: Wie kann die Botschaft das Deutschlandbild in den USA gestalten, ohne die immer gleichen Stereotypen – Wende und Weihnachtsmarkt – zu besetzen? Wie und wo kommt der deutsche Botschafter in US-Medien vor und warum erstellen die Botschaftsmitarbeiter allmorgendlich einen US-Medienspiegel für das Kanzleramt und die Ministerien? Welche Themen interessieren hochrangige deutsche Besucher in DC und welche Themen eher Amerikaner? Meinen Deutsche und Amerikaner dasselbe, wenn sie Freiheit und Sicherheit sagen? Wie unterschiedlich sind unsere Sichtweisen auf TTIP und die NSA? Und freuen sich die Amerikaner eigentlich über den VW-Skandal? Pressesprecher Knauf hatte auf alle Fragen eine Antwort, und das durchaus unterhaltsam.

Der Mittwoch begann im vermutlich interaktivsten Museum der Welt, dem Newseum. Dort kann man die Geschichte des Journalismus, von den Anfängen um 1450 bis zum digitalen Heute, erleben. Alte Druckerplatten der Washington Post, Teile der Berliner Mauer und des World Trade Center, tausende Fotos und Videos, Bildschirme, um Nachrichtenseiten selbst zu gestalten oder Aufsager vorm Weißen Haus zu proben: Das Museum kann seine Besucher durchaus den ganzen Tag beschäftigen.

Vom Newseum ging es zum Leuchtturm des Journalismus, der New York Times. Elisabeth Bumiller, frisch gekürte Leiterin des gerade sanierten Washingtoner Büros, empfing die JONA zwischen Umzugskartons. Flugs Klappstühle aufgestellt und los ging's: Was macht die Digitalisierung mit der Marke NYT? Wie wird man hier Reporterin und warum darf ein Nachwuchsreporter im ersten Jahr nur die Post öffnen und das Telefon bedienen? Wie arbeitet eigentlich ein White-House-Korrespondent und wie nah kommt er dem Präsidenten? Neben Bumiller sprachen die JONAlisten mit Nachwuchsreporterin Emmarie Huettmann, die vor kurzem aus Bayern von der Flüchtlingskrise berichtet hatte, sowie White-House-Korrespondent Peter Baker, der alle Fragen zum Weißen Haus, zu Obama, selbst zur Air Force One geduldig beantwortete. Das Gespräch machte beiden Seiten Spaß. „You were a fun group – we really enjoyed your visit!“

Zwei Blocks weiter residiert der Erzrivale Washington Post, ebenfalls zwischen Umzugskartons, denn der Verlag zieht in Kürze in ein neues modernes Redaktionsgebäude um. Im Keller des alten war alles für einen Ausflug in die Moderne vorbereitet: Mit Virtual-Realtiy-Brille und Card Boards sauste die JONA in die journalistische Zukunft. Die Leiterin des Graphics Department, Kat Downs Mulder, und der Manager Digital Strategies, Emilio Garcia-Ruiz, erklärten, mit welchen technischen Entwicklungen sie sich gerade beschäftigen. Ihr Appel: „We live in adventurous times – the new chances are endless and have just begun!“ Es herrsche Goldgräberstimmung, nicht Weltuntergang. Virtual Reality (VR), Drohnenjournalismus, Sensoren, Roboter – das sei alles da, alles gut, „you need to embrace it.“ Und tatsächlich gilt die Post neben dem britischen Guardian derzeit als Avantgarde der Digitalisierung im Journalismus. Auf die Frage eines Teilnehmers: „Would you hire me?“ war Garcias Antwort klar: „If you bring your own audience, for example more than 500 Followers on Twitter, and if you can fly a drone – you have a job today.“ Computer Science, das wurde schnell klar, ist der Schlüssel zu allem. Journalisten, die den Beruf auch in zehn Jahren noch erfolgreich ausüben wollen, müssen Programmierer verstehen, technik- und experimentierfreudig sein. Die Entwicklung wird nicht länger von Medienhäusern bestimmt, sondern von Technikfirmen wie Microsoft, Google, aber auch der Game-Industrie, die längst mit virtuellen Realitäten arbeitet. Was die in der journalistischen Praxis leisten können, durfte ein JONAlist mit Oculus Rift probieren, einer Brille für VR: Er spazierte damit durchs Oval Office und setzte sich kurz auf die Couch neben Barack Obama. Ein Imagefilm von Microsoft zeigte allen dann, was Hologramme sind und wie die in der Zukunft journalistisch genutzt werden könnten. Schon 2016 wird Microsoft die ersten Versuche auf den Markt bringen – mit der Washington Post im Schlepptau. Das alles sei kein Grund zur Furcht, davon ist Garcia überzeugt. Seine Begeisterung für die Zukunft hat an diesem Tag alle mitgerissen und inspiriert. Und eines, das sagte er zum Schluss, sei in der journalistischen Arbeit unveränderlich: „You need to tell the truth – in the most powerful way.“

Mit einem Besuch im ZDF-Studio und einem Gespräch mit Korrespondent Daniel Pontzen endete der dreitägige Aufenthalt in Washington – leider viel zu schnell.

Die nächsten vier Tage verbrachte die JONA dann in Boston, um von der German American Conference an der Harvard Universität zu berichten. Boston empfing mit 20 Grad und Sonnenschein sowie einem appetitlichen Farmer's Market, auf dem das Essen per Iphone an Foodtrucks bestellt und – natürlich – mit Kreditkarte gezahlt wird. Die Digitalisierung hat hier schon den Wochenmarkt erreicht.

Gestärkt ging's dann ans journalistische Experiment dieser Reise: Mit Flypsite, einem Programm für Social-Media-Live-Berichterstattung, das u.a. beim Eurovision Song Contest in der ARD eingesetzt wird, würde die JONA die Harvard-Konferenz redaktionell begleiten. Flypsite kann Social-Media-Posts, z.B. von Twitter, Facebook, Youtube und Instagram, nach #Hashtag oder Schlagworten sortiert, automatisch einsammeln und veröffentlichen. Flypsite empfängt auch RSS-Feeds und verfügt über ein eigenes Chat-, Kommentar- und Pollingsystem. So lassen sich Inhalte in Echtzeit publizieren – für die JONAlisten ihre erste Berührung mit Realtime-Publishing. Lernziel: Inhalte schnell erfassen und zusammengefasst präsentieren, dafür Social-Media-Tools wie Twitter professionell nutzen und Konferenzbesucher zur Diskussion auf der Social Media Wall einladen. Das Ergebnis des Experiments ist hier zu finden: http://gac15.harvard.flyp.tv.

Die Konferenz war gut besetzt, unter anderem fand eine Diskussion zwischen dem ehemaligen NSA-Chef Michael Hayden und Deutschlands oberstem Datenschützer Peter Schaar statt, Thomas Gottschalk philosophierte über Pop, andere diskutierten über Innovationen, Industrie 4.0 und die Flüchtlingskrise. Insgesamt gab es Interessantes zu hören und zu erleben und zudem jede Menge Netzwerkmöglichkeiten auf dem wohl begehrtesten Universitätscampus der Welt. Ein absolutes JONA-Highlight.

Nach getaner Arbeit konnten die JONAlisten noch einen Tag lang Boston auf eigene Faust entdecken und den Indian Summer erleben. Vor der imposanten Stadtkulisse gaben die Teilnehmer an der Hafenkante kurze Videostatements und resümierten ihr persönliches JONA@USA-Erlebnis. „Wow! Fantastisch! Einmalig!“

von Astrid Csuraji

Asset-Herausgeber

Kontakt

Astrid Csuraji

Astrid Csuraji

Freie Seminarleiterin Journalistische Nachwuchsförderung Journalisten-Akademie der Konrad-Adenauer-Stiftung e.V.

astrid.csuraji@kas.de