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

Am 25. Juni 2011 wird Heinrich Windelen 90 Jahre alt. Er war langjähriger Bundestagsabgeordneter der CDU für den Wahlkreis Warendorf. 1969 bekleidete er das Amt des Bundesministers für Vertriebene, Flüchtlinge und Kriegsgeschädigte und von 1983 bis 1987 das Amt des Bundesministers für innerdeutsche Beziehungen.

 

„Wegen seiner Nüchternheit bekannt“ hieß es auf einem Flugblatt der CDU über Heinrich Windelen. So galt er auch in der Politik als fleißiger, aber stiller Arbeiter. Der Bonner Korrespondent der FAZ, Karl Feldmeyer, stellte bereits 1981 fest: „Die Fraktion weiß, was sie an ihm hat. Sie kennt ihn als einen Mann, dessen Eigenschaften nicht spektakulär, aber wertvoll sind: Fleiß, Zuverlässigkeit, Kenntnisreichtum und Solidarität (…) Bei allen Gaben, die er hat, eines fehlt ihm. Die Aura des Volkstribuns. Nichts scheint ihm schwerer zu fallen, als Aufsehen zu erregen. Die Versuchung, sich in den Mittelpunkt zu drängen, kennt er nicht.“ Daraus folgte, wie Carl-Christian Kaiser 1983 in der ZEIT formulierte, dass „seine interne Wertschätzung in einem fast krassen Gegensatz zu seinem äußeren Bekanntheitsgrad“ stand.

 

Wie hoch die Wertschätzung Windelens innerhalb der CDU tatsächlich war, verdeutlichen nicht nur die ihm anvertrauten Funktionen in Partei, Fraktion und Regierung, sondern auch Würdigungen seiner Person durch führende Persönlichkeiten der Union. So schätzte ihn etwa Helmut Kohl stets als „treuen Freund“ und Menschen mit preußischer Pflichterfüllung. Auf Heinrich Windelen war für ihn „immer Verlass". Zudem bezeichnete er ihn als „Wellenbrecher“ in einem schnell umschlagenden Zeitgeist, „der seinen Mantel nie nach dem Wind gehängt hat und der auch Unpopuläres ausspricht".

 

 

Familie und Ausbildung

Geboren wurde Heinrich Windelen am 25. Juni 1921 als drittes von acht Kindern des Lederfabrikanten Engelbert Windelen und seiner Frau Anna im niederschlesischen Bolkenhain. Der ursprünglich vom Niederrhein stammende Vater gehörte zu den Bolkenhainer Honoratioren der Zentrumspartei. Joseph Wirth, früherer Reichskanzler, war mehrfach im Elternhaus Windelen zu Gast. Zudem war der Vater Mitglied des Reichsbanners Schwarz-Rot-Gold. Die Familie Windelen stand auch nach der Machtübernahme Hitlers 1933 in Opposition zum Nationalsozialismus. So wurde Heinrich Windelen nicht Mitglied der Hitlerjugend, bevor sie Zwangsjugend wurde. Nach dem Besuch der Volks- und Mittelschule in Bolkenhain legte Windelen 1939 sein Abitur an der Oberschule in Striegau ab. Anschließend wurde er zum Reichsarbeitsdienst eingezogen. 1940 begann er in Breslau ein Studium der Physik und Chemie mit dem Ziel, zu einem späteren Zeitpunkt den elterlichen Betrieb zu übernehmen. 1941 wurde er von der Wehrmacht als Soldat eingezogen. Den Krieg beendete er im Rang eines Feldwebels der Reserve in amerikanischer Kriegsgefangenschaft. Dies ist erwähnenswert, da die Tatsache, dass Windelen keine Offiziersausbildung absolvierte, auf seine Distanz zum Regime hindeutet.

 

Nach Krieg und Vertreibung aus der schlesischen Heimat siedelte die Familie Windelen ins westfälische Warendorf über. Heinrich Windelen konnte sein Studium nicht fortsetzen und absolvierte stattdessen eine kaufmännische Ausbildung in Telgte und Warendorf. Anschließend gründete er zusammen mit seinem Vater eine Versandfirma, deren Geschäftsführung er übernahm. Später wurde er Teilhaber einer Möbelfabrik.

 

 

Politischer Aufstieg

Aus dem Wunsch heraus, vertriebenen „Landsleuten zu helfen und etwas zur Gestaltung unserer Nachkriegsordnung beizutragen“, begann Windelen sich politisch einzubringen. Sein Engagement begann er als Vorsitzender eines örtlichen Flüchtlingsbeirates. Aufgrund seiner Vorprägung trat Windelen 1946 in die CDU ein und gründete 1947 die Warendorfer Junge Union. Als Beweggründe für seine Mitarbeit in der CDU nennt der überzeugte Katholik deren Bekenntnis zur christlichen Soziallehre sowie die Persönlichkeit Konrad Adenauers.

 

Politisch sah sich Windelen als Konservativer, der das Bewährte zu bewahren und das Überholte zu verbessern suchte. Allerdings stand er einer derartigen Etikettierung eher skeptisch gegenüber und forderte dazu auf, Politiker in erster Linie „an den Leistungen“ zu messen.

Windelen wurde zunächst in der Warendorfer Kommunalpolitik aktiv. So war er ab 1947 Mitglied im Warendorfer Kreistag sowie 1948 auch Stadtverordneter in seiner neuen Heimat. Im Stadtrat von Warendorf übernahm er 1956 für acht Jahre den Fraktionsvorsitz. 1957 wurde er Kreisvorsitzender der CDU.

 

1953 strebte er erstmals eine Kandidatur für den Deutschen Bundestag an, scheiterte jedoch innerparteilich. 1957 gelangte Windelen über die Landesliste Nordrhein-Westfalen in den Deutschen Bundestag. Bei den folgenden Wahlen gewann er seinen Wahlkreis stets direkt.

 

Auch wenn er sich in Anspielung auf die niederrheinische Herkunft seiner Eltern bisweilen als „verhinderten Rheinländer“ bezeichnete, blieb er doch seiner schlesischen Heimat und den vertriebenen Landsleuten stets verbunden. So engagierte er sich nicht nur als Kreisvorsitzender des Bundes der Vertriebenen (BdV), sondern leitete auch dessen Parlamentarischen Beirat. In der „Stiftung für europäische Friedensfragen“ war er ebenfalls führend tätig. Dennoch lässt er sich nicht auf einen klassischen Vertriebenenpolitiker reduzieren. Dafür waren seine Arbeitsschwerpunkte zu vielseitig.

Als Bundestagsabgeordneter erarbeitete er sich schnell einen guten Ruf als führender Haushaltspolitiker der Union; er saß etwa der Rechnungsprüfungskommission des Haushaltsausschusses vor. Auch innerhalb seiner Fraktion machte Windelen Karriere. 1965 stieg er in den Vorstand der CDU/CSU-Fraktion auf.

 

Bereits Mitte der sechziger Jahre galt Windelen als ministrabel und wurde von der Jungen Union als neuer Familienminister favorisiert. Am 7. Februar 1969 trat er in die Regierung ein und wurde schließlich als zweiter Schlesier nach Hans Lukaschek zum Bundesminister für Vertriebene, Flüchtlinge und Kriegsgeschädigte ernannt. Er trat damit die Nachfolge des zum Bundestagspräsidenten gewählten Kai-Uwe von Hassel an. In seinem neuen Amt unterstützte Windelen die Haltung der Vertriebenenverbände in ihrer Haltung zum Ostblock. Eine Anerkennung der Oder-Neiße-Linie als polnische Westgrenze kam für ihn nicht in Frage. Insbesondere lehnte er Verhandlungen mit Polen ab, solange die Breschnew-Doktrin ihre Gültigkeit besaß. Stattdessen forderte er für den Ausgleich mit Polen eine Lösung, nach der in den Vertreibungsgebieten Deutsche wie Polen ihr Heimatrecht ausüben könnten. Zu den herausragenden Leistungen in seiner Zeit als Vertriebenenminister zählte die Fertigstellung wichtiger Vorhaben auf dem Gebiet des Lastenausgleichs. Zugleich gelang es ihm, in der Öffentlichkeit mehr Verständnis für die Arbeit seines Ministeriums, aber auch für die Haltung der Vertriebenenverbände zu entwickeln.

Der Regierungswechsel im Herbst 1969 führte dazu, dass Windelen sein Ministeramt bereits nach neun Monaten wieder aufgeben musste. Das Ministerium wurde im Zuge der neuen Ostpolitik unter der sozial-liberalen Koalition abgeschafft und die Zuständigkeiten in das Innenministerium eingegliedert.

 

 

In der Opposition

In der nunmehr in der Opposition agierenden CDU/CSU-Fraktion wurde Windelen zu einem der stellvertretenden Vorsitzenden gewählt. Dieses Amt übte er bis 1980 aus. Im Deutschen Bundestag wandte sich Windelen wieder verstärkt der Haushaltspolitik zu und avancierte 1977 zum Vorsitzenden des Haushaltsausschusses. Bereits zuvor hatte er sich als Obmann und Hauptsprecher der Fraktion in Etatfragen profiliert.

 

In der Auseinandersetzung um die Ostverträge 1972 bemühte sich Windelen um eine differenzierte Stellungnahme der Fraktion. Während er sich beim Moskauer Vertrag für eine Enthaltung aussprach, lehnte er den Warschauer Vertrag ab. Für Schlagzeilen sorgte Windelen Mitte der siebziger Jahre in seiner Eigenschaft als Mitglied im Verwaltungsrat des Westdeutschen Rundfunks, dem er seit 1971 angehörte. In seinem Einsatz für eine größere Pluralität in der Rundfunkanstalt beklagte er eine starke Linkslastigkeit „bis an die Grenze der Verfassungsmäßigkeit“ des Programms und titulierte den WDR als „Rotfunk“.

 

Auch in der Partei stieg seine Bedeutung. 1969 wurde er erstmals in den Bundesvorstand der CDU gewählt. 1970 übernahm er als Nachfolger von Josef Hermann Dufhues den Vorsitz des einflussreichen Landesverbandes Westfalen-Lippe. Er setzte sich in einer Kampfabstimmung gegen den Hammer Oberbürgermeister Günther Rinsche durch. Mit dem Vorsitzenden des Landesverbandes Rheinland, Heinrich Köppler, vereinbarte er eine konstruktive Arbeitsteilung. Während Köppler sich auf die nordrhein-westfälische Landespolitik konzentrierte, vertrat Windelen die nordrhein-westfälischen Interessen auf Bundesebene. Es passte daher gut, dass er seit 1965 in der CDU/CSU-Fraktion auch die westfälische Landesgruppe im Deutschen Bundestag führte. Zusammen mit Köppler spielte Windelen eine führende Rolle beim Rücktritt von Rainer Barzel 1973 als Partei- und Fraktionsvorsitzender. Windelen gehörte zu den führenden Köpfen, die den Einstieg Kurt Biedenkopfs in die Landespolitik kritisch beäugten. Dennoch wurde Biedenkopf 1977 zum neuen Landesvorsitzenden der CDU Westfalen-Lippe gewählt, da Windelen auf eine erneute Kandidatur verzichtete.

 

Im aufgeheizten Klima nach der Entführung des Berliner CDU-Landesvorsitzenden Peter Lorenz durch Terroristen 1975 forderte er die Todesstrafe für die Entführer. Schlagzeilen wie diese waren aber für Windelen die große Ausnahme, galt er doch als ein nüchterner, auf Ausgleich bedachter Politiker.

Immer wieder war Heinrich Windelen für den Fall eines Wahlsieges der Union auch für höhere Ämter im Gespräch. 1972 wurde er aufgrund seiner integrativen Fähigkeiten als möglicher Nachfolger des Fraktionsvorsitzenden Rainer Barzel gehandelt. Im Bundestagswahlkampf 1976 bezeichnete ihn Spitzenkandidat Helmut Kohl als „tüchtigen Mann“, den er für ein „wichtiges Amt“ in einer von ihm geführten Regierung benötige.

 

Auch in der Folgezeit verband Heinrich Windelen mit Kohl stets eine enge und vertrauensvolle Zusammenarbeit. So unterstützte er ihn 1979 bei seiner Auseinandersetzung mit Kurt Biedenkopf um die Frage einer Trennung von Partei- und Fraktionsvorsitz. Auch beim Versuch Kohls, Ernst Albrecht als Kanzlerkandidaten der Union gegen Franz Josef Strauß durchzusetzen, stand Windelen an seiner Seite.

1981 wurde er zum Vizepräsidenten des Deutschen Bundestages gewählt. Er löste in diesem Amt Richard von Weizsäcker ab, der zum Regierenden Bürgermeister von Berlin avancierte.

 

 

Minister für innerdeutsche Beziehungen

Höhepunkt seines politischen Schaffens war die Berufung zum Bundesminister für innerdeutsche Beziehungen nach dem Wahlsieg der CDU/CSU-FDP-Koalition am 6. März 1983. Sein Vorgänger Rainer Barzel war zum Bundestagspräsidenten gewählt worden.

 

In seiner neuen Aufgabe erwies sich Windelen als stiller, aber erfolgreicher Arbeiter. Zum Erstaunen mancher politischer Beobachter betrieb er eine pragmatische Politik gegenüber der DDR. Diese wurde zwar weitgehend im Kanzleramt, jedoch unter seiner Beteiligung entwickelt. In seinem Amt versuchte er, für die Menschen im unfreien Teil Deutschlands zu wirken und die Folgen der Teilung zu erleichtern. Dabei ging es ihm insbesondere um humanitäre Angelegenheiten wie die Verbesserung der Ausreisepraxis aus der DDR sowie die Erleichterung von Besuchsmöglichkeiten. Kritik an mangelnder Öffentlichkeitsarbeit ließ er nicht gelten. Für ihn waren Menschen stets „wichtiger als Schlagzeilen“.

Zu den Erfolgen seiner Amtszeit zählten der Ausbau des Reiseverkehrs zwischen beiden Teilen Deutschlands, die Verdoppelungen der Anzahl der Familienzusammenführungen, die Abschaffung des Zwangsumtausches für Kinder sowie dessen Reduzierung für Rentner sowie die Unterzeichnung eines Kulturabkommens mit der DDR.

 

Ihn trieb die Sorge um den Erhalt der Nation im geteilten Deutschland an, denn für ihn konnte „Nation (…) nur sein und bleiben, was Nation sein und bleiben will“. In diesem Sinne versuchte er, mit seinen Mitteln, die Einheit der Nation im Bewusstsein der Menschen wachzuhalten, und bekannte sich zum Wiedervereinigungsgebot des Grundgesetzes. Auch für die Wünsche der Vertriebenen hatte er stets ein offenes Ohr, wobei er deutlich machte, dass die von der sozial-liberalen Koalition durchgesetzten Ostverträge auch für ihn und die gesamte Bundesregierung Gültigkeit besaßen.

 

Direkte Kontakte mit der DDR-Führung blieben, insbesondere zu Beginn seiner Amtszeit, eher spärlich. Schon aus ideologischen Gründen ignorierte Ost-Berlin Windelen und sein Ministerium. Bisweilen feindete ihn die SED für seine Grundsatztreue an. So bezeichnete ihn das Parteiorgan „Neues Deutschland“ als „Minister zur Störung der Beziehungen“.

 

Nach der Bundestagswahl 1987 verlor Windelen sein Ministeramt an Dorothee Wilms, da Kohl nicht auf eine zweite Frau im Kabinett verzichten wollte. Dies stieß in der Öffentlichkeit auf Kritik. Windelen arbeitete fortan als einfacher Abgeordneter wieder im Haushaltsausschuss mit.

Bei der Abstimmung über den Einigungsvertrag mit der DDR am 20. September 1990 votierte er mit acht weiteren Abgeordneten der CDU/CSU-Fraktion mit Nein, da er dem im Vertrag enthaltenden Verzicht auf seine schlesische Heimat nicht zustimmen konnte.

 

1990 verzichtete er im Alter von 69 Jahren auf eine erneute Kandidatur für den Deutschen Bundestag, engagierte sich jedoch noch von 1991 bis 1995 als deutscher Co-Vorsitzender der Stiftung für deutsch-polnische Zusammenarbeit für die Aussöhnung mit dem polnischen Nachbarn. Auch nach seinem Ausscheiden aus der aktiven Politik bleibt er bis heute ein aufmerksamer Beobachter der deutschen wie europäischen Politik und meldet sich in Interviews und Leserbriefen zu Wort.

 

Heinrich Windelen ist verwitwet und Vater von vier Kindern. Er ist Träger des Bundesverdienstkreuzes und Ehrenbürger von Warendorf.

 

David Maaß

 

 

Literaturhinweise

 

 

 

 

 

  • Gauger, Jörg-Dieter: Windelen, Heinrich, in: Becker, Winfried (Hg.): Lexikon der Christlichen Demokratie in Deutschland, Paderborn (u.a.) 2002, S. 400.
  • Korte, Karl Rudolf: Windelen, Heinrich, in: Kempf, Udo / Merz, Hans-Georg (Hg.): Kanzler und Minister 1949-1998. Biographisches Lexikon der deutschen Bundesregierungen, Wiesbaden 2001, S. 752-755.
  • Müchler, Günter: gefragt: Heinrich Windelen, Bornheim 1986.
  • Windelen, Heinrich: SOS für Europa, Stuttgart 1972.
  • Windelen, Heinrich: Perspektiven der Deutschlandpolitik: die deutsche Frage als politische Aufgabe und als Bildungsaufgabe, Düsseldorf 1984.

 

Asset-Herausgeber

Kontakt

Hanns Jürgen Küsters

Kontakt

David Maaß

David Maaß bild

Referent Medienanalyse und -archiv

David.Maass@kas.de +49 30 26996-2493