Asset Publisher

Study and information programme

Die „Hidden Champions“ im Südwesten

Mittelstand erfahren: Politik auf zwei Rädern

Mit der "Hidden-Champions-Tour" startet die Konrad-Adenauer-Stiftung zum fünften Mal auf dem Motorrad durch! Per Motorrad durchstreifen wir Europas Innovationslandschaft Nr.1: Baden-Württembergs ... und schauen uns an, wie Erfolg geschmiedet wird.

Asset Publisher

Details

Samstagnachmittag in einem baden-württembergischen Städtchen. In der kleinen Werkhalle neben dem Wohnhaus steht ein Mann im blauen Kittel an der Werkbank, feilt, tüftelt. Wer glaubt, er befinde sich gewissermaßen im Hinterhof der Ingenieurskunst, irrt sich. Hier entstehen und wachsen die „Hidden Champions“ – die Weltmarktführer im Verborgenen. Die höchste Dichte der Weltmarktführer Deutschlands findet sich in Baden-Württemberg. Regionen wie das Hohenlohesche, die im Rest der Nation nur wenigen bekannt sind, sorgen für Innovation und Wohlstand weit über die Landesgrenzen hinaus.

Wenn es eine Region gibt, die als Heimatland der Sozialen Marktwirtschaft gelten könnte, so kommt nur Baden-Württemberg infrage. Doch das war nicht immer so. Der heutige Wirtschaftsmotor par excellence war einst durchaus von Armut heimgesucht. Die „Donauschwaben“ als aus wirtschaftlicher Not geborene Migrationswelle sind bis heute gut bekannt. Die Erfahrung von Armut gepaart mit der Reformation brachte für den Südwesten ein einzigartiges soziokulturelles „Klima“ hervor, das in Max Webers Werk „Die protestantische Ethik und der Geist des Kapitalismus“ bereits 1904 identifiziert wurde.

In der 5. Motorradtour der Konrad-Adenauer-Stiftung begeben wir uns in einer wirtschaftspolitischen Spurensuche auf die auch landschaftlich immer wieder beeindruckende Fährte von Mittelstand, Innovation, Tradition und Globalisierung - mitten im Herzen Europas!

Asset Publisher

An error occurred while processing the template.
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> 

Asset Publisher

Asset Publisher

Partner

Touratech