Událost
Podrobnosti
Wer kauft heute noch ein neues Auto „von der Stange”? Längst macht die Automobilindustrie vor, wie man Kundenwünsche „nach Maß” erfüllt. Noch dauert eine solche Bestellung Monate. Doch mit der zunehmenden Verschränkung von Kommunikationstechnologie im Privaten und digitaler Flexibilisierung der Produktion steht die weltweite Produktionskultur vor einer neuen Revolution. Das Schlagwort: „Wirtschaft 4.0”, kundenorientierte Massenproduktion. Zugleich verblassen in der Verschränkung von Mobiltelefonen und personalisiertem Angebot die Grenzen zwischen Produkt und Dienstleistung. So gibt es weltweit führende Taxiunternehmen ohne eigene Autos. Wo führt das hin?
Deutschland und Europa stehen vor einer doppelten Herausforderung – Einerseits: Was müssen wir tun, um im weltweiten Wettbewerb unsere Spitzenpositionen zu erhalten? Google, Apple, Microsoft & Co. zeigen uns, dass unsere Innovationskraft in den informationstechnologischen
„soft skills” in Amerika aber auch in Asien überflügelt wurde. Unseren Wohlstand zu sichern, bedeutet, diesen Veränderungsprozess als treibende Kraft zu gestalten. Andererseits: Wo liegen die Grenzen der digitalen Selbstoptimierung durch immer „smartere” Telefone und durch kommerzielle Analysen unseres digitalen Handelns? Holen wir uns über die Preisgabe unserer GPS-Daten, Internet-Suchanfragen und „Rabattkarten” blindlings Orwell ins Haus?
Wettbewerb vs. Datenschutz? Es geht nicht nur um Wohlstand, sondern auch um Freiheit und Unabhängigkeit.
Wirtschaft 4.0 – eine sowohl technologische wie politische Herausforderung für Deutschland und Europa!
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>