Zusammen mit André, haben wir vor etwas längerer Zeit einen Vortrag zum Thema WPF Custom Control Development ausgestaltet. Wir hielten den Vortrag auf einigen Konferenzen und .NET UserGroups!
Der Vortrag zeigt zunächst, wie man abstrakt bei der Entwicklung neuer Controls vorgehen kann. Als Ausgangspunkt sollte eine kleine Analyse dienen. Ziel der Analyse ist die Klärung der Schnittstellen des Controls d.h. welche Properties, Events usw. angeboten werden. Danach thematisiert der Vortrag die Frage, wann überhaupt ein Custom Control sinnvoll ist. WPF bietet u.a. mit Styles und Templates unglaubliche Möglichkeiten und der Zeitpunkt zur Erstellung eines eigenes Custom Controls verzögert sich aus der technischen Perspektive stark. Demgegenüber stehen jedoch Überlegungen, ob das Control gerade für einen Prototyp oder realen Produktiv-Code implementiert wird. Für einen Wegwerf-Prototyp darf es gerne quick and dirty sein. Anschließend zeigt der Vortrag einige der handwerkliche Techniken u.a. Custom Control Library, Routed Events, Dependency Properties, Routed Commands, und OnApplyTemplate Methode. Diese Techniken werden anhand einer einfacheren SearchTextBox und eines komplexen PointCharts (Graphen) veranschaulicht.
Im Anschluss wird das Thema Blendability angesprochen und die wichtigsten Attribute vorgestellt.
Ich beschäftige mich schon wirklich lange mit der WPF und gegenwärtigen UI Frameworks. Nach wie vor fasziniert mich die Architektur der WPF unheimlich und aus meiner Sicht gibt es kein UI Framework, welches auch im Hinblick auf Custom Control Development so eine logische und ausgeklügelte Basis bietet! Wer einmal allgemeines Wissen über Control-Bau gelernt hat und sich danach die Techniken der WPF aneignet, wird die WPF lieben.
Zusammen mit André, haben wir vor etwas längerer Zeit einen Vortrag zum Thema WPF Custom Control Development ausgestaltet. Wir hielten den Vortrag auf einigen Konferenzen und .NET UserGroups!
Der Vortrag zeigt zunächst, wie man abstrakt bei der Entwicklung neuer Controls vorgehen kann. Als Ausgangspunkt sollte eine kleine Analyse dienen. Ziel der Analyse ist die Klärung der Schnittstellen des Controls d.h. welche Properties, Events usw. angeboten werden. Danach thematisiert der Vortrag die Frage, wann überhaupt ein Custom Control sinnvoll ist. WPF bietet u.a. mit Styles und Templates unglaubliche Möglichkeiten und der Zeitpunkt zur Erstellung eines eigenes Custom Controls verzögert sich aus der technischen Perspektive stark. Demgegenüber stehen jedoch Überlegungen, ob das Control gerade für einen Prototyp oder realen Produktiv-Code implementiert wird. Für einen Wegwerf-Prototyp darf es gerne quick and dirty sein. Anschließend zeigt der Vortrag einige der handwerkliche Techniken u.a. Custom Control Library, Routed Events, Dependency Properties, Routed Commands, und OnApplyTemplate Methode. Diese Techniken werden anhand einer einfacheren SearchTextBox und eines komplexen PointCharts (Graphen) veranschaulicht.
Im Anschluss wird das Thema Blendability angesprochen und die wichtigsten Attribute vorgestellt.
Ich beschäftige mich schon wirklich lange mit der WPF und gegenwärtigen UI Frameworks. Nach wie vor fasziniert mich die Architektur der WPF unheimlich und aus meiner Sicht gibt es kein UI Framework, welches auch im Hinblick auf Custom Control Development so eine logische und ausgeklügelte Basis bietet! Wer einmal allgemeines Wissen über Control-Bau gelernt hat und sich danach die Techniken der WPF aneignet, wird die WPF lieben.
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
Mit den stetig wachsenden Möglichkeiten, die Cross-Platform-Anwendungen bieten, wachsen auch die Anforderungen an deren Design. Skalierbarkeit, Flexibilität und Wandelbarkeit gehören zu den Grundprinzipien eines modernen User-Interfaces. Andreas Wissel und Christian Liebel erarbeiten mit Ihnen in diesem Workshop anhand von Praxisbeispielen einen robusten Workflow. Mit Storybook und Angular lassen sich so isolierte, test- und wartbare Komponenten im Handumdrehen umsetzen. Ihre Designer und Entwickler werden es lieben.
Angular ist die Komplettlösung für die Umsetzung von Webapplikationen im Frontend. Ein so umfassendes Werkzeug hat allerdings auch seine Schattenseiten: Die Einstiegshürde ist relativ hoch. Dieser Vortrag stellt die wichtigsten Elemente des Frameworks wie Komponenten, Direktiven und Services vor. In einem praktischen Beispiel werden die verschiedenen Elemente von Angular Schritt für Schritt zu einer kompletten Applikation zusammengefügt. Damit lernen Sie nicht nur die Elemente des Frameworks kennen, sondern gleichzeitig die wichtigsten Architekturpatterns und zahlreiche Best Practices.
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
Präsentation zu meinem Vortrag bei der EnterJS 2015.
ECMAScript 2015, der Standard, der als Grundlage für die Implementierung von JavaScript dient, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig, und neuere Browser setzen sie bis zu einem gewissen Grad bereits um. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES 2015 ausliefern, da es eben nicht alle relevanten Browser unterstützen. In diesem Vortrag erfahren Sie, wie sich heute schon mit Transpilern und Polyfills in ES 2015 entwickeln lässt und welche Vorteile das bietet. Anhand von Codebeispielen wird gezeigt, wie man proprietäre Lösungen wie RequireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicher macht.
Du wolltest immer schon einmal dein eigenes WordPress Theme aufbauen und möchtest zahlreiche neue Kenntnisse für die Gutenberg Theme Entwicklung gewinnen? In diesem Workshop lernst du von der Pike aus, welche technischen Aspekte berücksichtigen solltest und wie du den WordPress Editor „Gutenberg“ für dein Theme perfekt optimierst. Dabei lernst du auch das WordPress Template System kennen und erfährst, wie du WordPress nach deinen Wünschen anpassen kannst.
In einem DeepDive zeigen euch Lars Heinrich und Peggy Reuter den Umgang mit Expression Blend für Silverlight, Windows Phone 7 und WPF. Damit ihr am Ende des Abends auch handfestes Wissen mit nach Hause nehmt, werden die beiden mit euch einige kleine Applikationen erarbeiten. Angedacht sind für den gemeinsamen Abend: eine Formular-Applikation, ein SketchFlow Prototyp und das Designen dessen, sowie ein kleines 3D-WPF-Projekt. Im Verlauf der drei kleinen Arbeiten werdet ihr die relevanten Features von Blend und den Basis-Umgang mit Blend erlernen. Die großen Neuerungen von Blend 4, sowie eine Windows Phone App werden wir, wenn Zeit bleibt, auch noch demonstrieren. Es wird ein codefreier Abend werden, da wir uns an diesem Abend vorwiegend auf der WYSIWYG-Oberfläche bewegen werden.
In der Präsentation wird vermittelt, was zukünftige Sitecore Software Engineers grundlegendes über das CMS wissen sollten, um mit der Entwicklung zu starten.
Folien meiner Session über WYSIWYG-Editoren für Drupal 7 auf dem DrupalCamp Berlin 2011. Möglicherweise gibt es dazu in ein paar Wochen eine Artikelserie auf http://nicolaischwarz.de.
Das dante cms wird seit 1999 vom Saarbrücker Softwarehersteller und IT-Dienstleister a3 systems GmbH als Standardprodukt entwickelt. Bis heute sind ca. 40 Personenjahre Entwicklung in die kontinuierliche Fortentwicklung des Produkts eingeflossen.
Lange Wartezeiten und mangelnde Responsivität unserer Webapplikation führen zu unzufriedenen Benutzern, was sich in hohen Absprungraten und Abwanderung zur Konkurrenz oder einfach der Weigerung, die Applikation zu verwenden, niederschlägt. Das Problem einer langsamen Applikation lässt sich jedoch leider nicht ganz so einfach lösen. Wichtig für eine nachhaltige Lösung ist das Verständnis der Abläufe im Browser. Aus diesem Grund beschäftigen wir uns hier mit Konzepten wie dem Critical Rendering Path und einigen Charakteristiken der JavaScript-Engines. Im Zuge dieses Vortrags werden einige der häufigsten Problemstellungen von Webapplikationen analysiert und Lösungsansätze und Best Practices zur Behebung der Performanceprobleme vorgestellt.
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
Zur Beeinflussung der Laufzeit von SQL-Statements gibt es diverse Verfahren, Optimierung der SQL-Syntax, Nutzung von Optimizer-Hints etc. .
Diese erfordern aber oftmals ein Ausrollen der geänderten Software mit dem entsprechenden Zeit- und Prozessaufwand bis zur produktiven Aktivierung.
In kritischen Produktions-Szenarien ist oft eine schnellere Lösung von Problemen mit SQL-Ausführung nötig.
Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB sich SQL-Ausführungen auch ohne Ausrollen von Software-Änderungen ad hoc beeinflussen lassen.
Das Tool Panorama erlaubt dabei über GUI die Identifikation der kritischen SQL und Generierung der für ihre schnelle Optimierung nötigen komplexen DB-Kommandos.
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
Mit den stetig wachsenden Möglichkeiten, die Cross-Platform-Anwendungen bieten, wachsen auch die Anforderungen an deren Design. Skalierbarkeit, Flexibilität und Wandelbarkeit gehören zu den Grundprinzipien eines modernen User-Interfaces. Andreas Wissel und Christian Liebel erarbeiten mit Ihnen in diesem Workshop anhand von Praxisbeispielen einen robusten Workflow. Mit Storybook und Angular lassen sich so isolierte, test- und wartbare Komponenten im Handumdrehen umsetzen. Ihre Designer und Entwickler werden es lieben.
Angular ist die Komplettlösung für die Umsetzung von Webapplikationen im Frontend. Ein so umfassendes Werkzeug hat allerdings auch seine Schattenseiten: Die Einstiegshürde ist relativ hoch. Dieser Vortrag stellt die wichtigsten Elemente des Frameworks wie Komponenten, Direktiven und Services vor. In einem praktischen Beispiel werden die verschiedenen Elemente von Angular Schritt für Schritt zu einer kompletten Applikation zusammengefügt. Damit lernen Sie nicht nur die Elemente des Frameworks kennen, sondern gleichzeitig die wichtigsten Architekturpatterns und zahlreiche Best Practices.
EnterJS 2015 - JavaScript von Morgen schon heutePhilipp Burgmer
Präsentation zu meinem Vortrag bei der EnterJS 2015.
ECMAScript 2015, der Standard, der als Grundlage für die Implementierung von JavaScript dient, nimmt immer konkretere Formen an. Viele Teile der Spezifikation sind so gut wie fertig, und neuere Browser setzen sie bis zu einem gewissen Grad bereits um. Dennoch kann man heute und auch in naher Zukunft noch keine Anwendung mit ES 2015 ausliefern, da es eben nicht alle relevanten Browser unterstützen. In diesem Vortrag erfahren Sie, wie sich heute schon mit Transpilern und Polyfills in ES 2015 entwickeln lässt und welche Vorteile das bietet. Anhand von Codebeispielen wird gezeigt, wie man proprietäre Lösungen wie RequireJS und Promises durch neue Standards ersetzen kann und seinen Code dadurch zukunftssicher macht.
Du wolltest immer schon einmal dein eigenes WordPress Theme aufbauen und möchtest zahlreiche neue Kenntnisse für die Gutenberg Theme Entwicklung gewinnen? In diesem Workshop lernst du von der Pike aus, welche technischen Aspekte berücksichtigen solltest und wie du den WordPress Editor „Gutenberg“ für dein Theme perfekt optimierst. Dabei lernst du auch das WordPress Template System kennen und erfährst, wie du WordPress nach deinen Wünschen anpassen kannst.
In einem DeepDive zeigen euch Lars Heinrich und Peggy Reuter den Umgang mit Expression Blend für Silverlight, Windows Phone 7 und WPF. Damit ihr am Ende des Abends auch handfestes Wissen mit nach Hause nehmt, werden die beiden mit euch einige kleine Applikationen erarbeiten. Angedacht sind für den gemeinsamen Abend: eine Formular-Applikation, ein SketchFlow Prototyp und das Designen dessen, sowie ein kleines 3D-WPF-Projekt. Im Verlauf der drei kleinen Arbeiten werdet ihr die relevanten Features von Blend und den Basis-Umgang mit Blend erlernen. Die großen Neuerungen von Blend 4, sowie eine Windows Phone App werden wir, wenn Zeit bleibt, auch noch demonstrieren. Es wird ein codefreier Abend werden, da wir uns an diesem Abend vorwiegend auf der WYSIWYG-Oberfläche bewegen werden.
In der Präsentation wird vermittelt, was zukünftige Sitecore Software Engineers grundlegendes über das CMS wissen sollten, um mit der Entwicklung zu starten.
Folien meiner Session über WYSIWYG-Editoren für Drupal 7 auf dem DrupalCamp Berlin 2011. Möglicherweise gibt es dazu in ein paar Wochen eine Artikelserie auf http://nicolaischwarz.de.
Das dante cms wird seit 1999 vom Saarbrücker Softwarehersteller und IT-Dienstleister a3 systems GmbH als Standardprodukt entwickelt. Bis heute sind ca. 40 Personenjahre Entwicklung in die kontinuierliche Fortentwicklung des Produkts eingeflossen.
Lange Wartezeiten und mangelnde Responsivität unserer Webapplikation führen zu unzufriedenen Benutzern, was sich in hohen Absprungraten und Abwanderung zur Konkurrenz oder einfach der Weigerung, die Applikation zu verwenden, niederschlägt. Das Problem einer langsamen Applikation lässt sich jedoch leider nicht ganz so einfach lösen. Wichtig für eine nachhaltige Lösung ist das Verständnis der Abläufe im Browser. Aus diesem Grund beschäftigen wir uns hier mit Konzepten wie dem Critical Rendering Path und einigen Charakteristiken der JavaScript-Engines. Im Zuge dieses Vortrags werden einige der häufigsten Problemstellungen von Webapplikationen analysiert und Lösungsansätze und Best Practices zur Behebung der Performanceprobleme vorgestellt.
Oracle-DB: Beeinflussen der Ausführungspläne von SQL-Statements ohne Code-Anp...Peter Ramm
Zur Beeinflussung der Laufzeit von SQL-Statements gibt es diverse Verfahren, Optimierung der SQL-Syntax, Nutzung von Optimizer-Hints etc. .
Diese erfordern aber oftmals ein Ausrollen der geänderten Software mit dem entsprechenden Zeit- und Prozessaufwand bis zur produktiven Aktivierung.
In kritischen Produktions-Szenarien ist oft eine schnellere Lösung von Problemen mit SQL-Ausführung nötig.
Dieser Vortrag demonstriert, mit welchen Verfahren der Oracle-DB sich SQL-Ausführungen auch ohne Ausrollen von Software-Änderungen ad hoc beeinflussen lassen.
Das Tool Panorama erlaubt dabei über GUI die Identifikation der kritischen SQL und Generierung der für ihre schnelle Optimierung nötigen komplexen DB-Kommandos.
2. Facts & Figures
Mittelständischer IT-Dienstleister
Technologie-orientiert
Branchen-unabhängig
Hauptsitz
Ratingen
240
Beschäftigte
Gründung
1994
Niederlassung
Frankfurt am Main
Ausbildungs-
betrieb
Inhabergeführt
Zertifizierter
Partner von
Oracle,
Microsoft
und SAP
28 Mio. Euro
Umsatz
2
Managing
Technology
3. Steven Grzbielok
Seit 08.2014 Berater bei der MT AG in Ratingen
B.Sc. in Wirtschaftsinformatik, M.Sc. in Arbeit
Beschäftigt sich seit 2014 mit Oracle Application Express
und Oracle Datenbanken
APEX Showcase https://apex.mt-ag.com/
Twitter https://twitter.com/sgrzbielok
3
Über mich
4. 4
Kurze Frage Gerne direkt stellen!
Längere Frage Im Workshop um 15:00 (Jazz 1+2)
vorbeischauen
Fragen?
5. 1. Bestandteile der UI in APEX
2. Deklaratives UI Design
3. Erweitertes Design
5
Agenda – APEX Grundlagen
6. APEX ist für DB-Entwickler leicht umzusetzen (Backend)
… Frontend benötigt Einarbeitung
6
Warum dieser Crashkurs?
7. Ältere APEX Versionen: Viele verschiedene Themes
APEX 5:
Also: Entweder Universal Theme für mobile und Desktop oder Universal Theme für Desktop
und APEX mobile für die mobilen Endgeräte
7
Themes
Responsive für Desktop und
mobile:
(42) Universal Theme
(Standard in APEX 5)
Mobile only:
(51) APEX mobile
(Enthält diverse Komponenten, die speziell
auf mobile Geräte ausgerichtet sind. Dafür
fehlen aber auch gewohnte Desktop
Komponenten)
8. Universal Theme bietet ausreichend Möglichkeiten zur Anpassung für nahezu alle
Anforderungen
Alternative Empfehlung: Material APEX von Vincent Morneau https://github.com/vincentmorneau/material-apex
8
Nein, außer Sie haben sehr viel Zeit!
Fragestellung: Muss man ein eigenes Theme erstellen?
Das selbe
Theme
9. Bringt von Haus aus eine Menge Komponenten mit
Responsive
Gute Darstellung sowohl auf Desktop- als auch mobilen Geräten
ohne weitere Anpassungen
Farbliche Anpassungen an das Corporate Design
durch den Theme Roller möglich
Strukturierung der Seiten durch den Page Designer
Anlehnung an das Material Design
Unterstützt Icon Fonts (APEX Icons bzw. Font Awesome direkt inklusive)
Unterstützt CSS3 und HTML5
Selbst ausprobieren auf https://apex.oracle.com/ut
9
One Size fits All
(42) Universal Theme
10. Templates
Global Template Options
Icons
Images
Styles
Javascript & CSS Files
10
Bestandteile eines Themes in APEX
Universal Theme
11. Auswahl des Typen beeinflusst das automatisch gewählte Template
Templates sind für die grafische Darstellung relevant
Für Breadcrumbs, Buttons, Labels, Kalender, Listen, LOVs, Regionen und
• Seiten
11
Die grafische Darstellung anpassen
Templates
• Weitere Anpassung durch Template Options möglich
Nicht für jede Anpassung neues Template nötig
12. HTML Code mit Platzhaltern
Substitution Strings (zum Ersetzen der Platzhalter)
Javascript Code & Files
CSS Code & Files
Template Options
Abhängig vom Typ verfügbare Optionen
12
Bestandteile eines Templates
Templates
13. Template Options = CSS Klassen, die abhängig von der getroffenen Auswahl in den HTML
Code eingefügt werden
Vordefinierte Template Options
Standard Werte sind bereits gesetzt, können aber auch verändert werden
Lassen sich auf der Ebene der einzelnen Elemente ändern
Eigene Template Options können ohne Schwierigkeiten erstellt werden
Lassen sich gut ausprobieren, da die Änderung der Template Options kaum Aufwand ist
13
Template Options
14. 14
In der Demo App unter apex.oracle.com/ut sind die Variationen leicht ausprobierbar
Template Options
16. 16
Abhängig von der Menge der Spalten wird die Größe der Regionen ermittelt
Grid
Hier: Zwei Regionen nebeneinander, Column Span = Automatic -> 50% der Seitenbreite pro Spalte
17. Ab einer bestimmten Bildschirmgröße wird dann automatisch ein Reflow durchgeführt
17
Responsive
Grid
19. LayoutSequence: Reihenfolge der Elemente
LayoutPosition: Body oder innerhalb einer anderen Region?
GridColumn: Welche Spalte?
GridColumn Span: Wieviele Spalten soll die Region einnehmen?
GridColumn CSS Classes: CSS-Klasse, die für die gesamte Spalte gültig ist
GridColumn Attributes: CSS-Attribut, das für die gesamte Spalte gültig ist
19
Relevante Attribute für die Grid Einstellungen
Grid
20. Änderungen werden Live als Vorschau angezeigt
Änderungen erst nach Speichern aktiv
Erstellung mehrerer Theme-Styles möglich
Custom CSS
CSS-Code direkt im Code-Editor eingeben
Viel CSS-Code lieber zur einfacheren Pflege als Datei hochladen
20
Inspiriert durch den jQuery Mobile ThemeRoller und LESS
Theme Roller
21. 1. Vorhandenen Style auswählen
2. Anpassungen von Oben nach Unten durchführen
3. Style unter neuem Namen Speichern (Save as)
4. Style als aktuellen Style auswählen (Set as Current)
Spätere Anpassungen müssen nur gespeichert werden
Export des Styles leider aktuell nicht nativ möglich
Shared Components Themes Edit Theme Styles
21
Vorgehensweise
Theme Roller
22. Inhalte auf der Global Page werden auf jeder Seite geladen
Sequenzen bleiben gültig
Besonders interessant für
Header
Footer
Dynamic Actions, die überall ausgeführt werden
Regionen, die sich auf jeder Seite wiederholen
Beispiel QA-Plugin
22
Global Page – Page 0
23. Wählbar für einzelne Regionen, Buttons oder auch
Einträge in der Navigation
Direkte Einbindung in dafür vorgesehenen Feldern
oder
oder inline via HTML und den Font Awesome
Shortcodes
Einbindung eigener Icon Bibliotheken in ein Theme
möglich
23
Font Awesome bzw. Font APEX Icons
Icons
<i class="fa fa-users"></i>
25. img.bg {
/* Set rules to fill background */
min-height: 100%;
min-width: 1024px;
/* Set up proportionate scaling */
width: 100%;
height: auto;
/* Set up positioning */
position: fixed;
top: 0;
left: 0;
}
@media screen and (max-width: 1024px) {
/* Specific to this particular image */
img.bg {
left: 50%;
margin-left: -512px;
/* 50% */
} }
25
Grundstruktur
CSS-Crashkurs
26. Universalselektoren: *
Typselektoren: element
Klassenselektoren: .class
ID-Selektoren: #id
Können verkettet werden
Am besten mit F12 oder Rechte MaustasteElement untersuchen und die passende Klasse
herausfinden
26
Selektoren
CSS-Crashkurs
27. Durch das Theme oder Templates werden CSS- und Javascript-Dateien geladen
Eigene Skripte können auf dem Server, im Web oder in APEX hinterlegt sein
In APEX: Shared Components Static Application Files/Static Workspace Files
Hier können alle Dateien hochgeladen werden und mit einer Ordnerstruktur versehen werden
Skripte können an verschiedenen Stellen referenziert werden
Anwendungsebene: User Interface Attributes
Seitenebene: Seiteneigenschaften (außer bei Page 0)
Templateebene: Templateeigenschaften
Dynamic Actions für Javascript, das an bestimmte Bedingungen geknüpft ist und nur bei
bestimmten Events aufgerufen wird
CSS und Javascript auch inline möglich
27
CSS und Javascript
Ressourcen
29. 1. Theme Roller
2. Template Options
3. Eigene CSS-Klassen erstellen
1. CSS-Code im Theme Roller
2. CSS-/Javascript-Dateien hochladen
4. Template anpassen
1. Template Options anpassen/erstellen Wählbar ob Veränderungen jeweils genutzt werden
2. Template Struktur anpassen Veränderungen betreffen alle Elemente, die dieses Theme
nutzen
Nach Möglichkeit das Theme nicht anpassen, damit kein Unsubscribe durchgeführt wird
Template wird durch Customizing ebenfalls vom urspr. Template gelöst und lässt sich
dadurch nicht updaten
29
Wo sollte ich meine Anpassung als Erstes beginnen?
Customizing
31. 1. Application Properties öffnen
2. Substitutions öffnen
3. HTML Code als Inhalt für den Platzhalter #APP_FAVICONS# einfügen
Z.B.
<link rel="shortcut icon" href=“#APP_IMAGES#favicon.ico”>
<link rel="icon" sizes="16x16" href="#APP_IMAGES#favicon-16x16.png">
<link rel="icon" sizes="32x32" href="#APP_IMAGES#favicon-32x32.png">
31
Fav Icon
Icons
• Substitutions sind Platzhalter in der gesamten Anwendung, die durch bestimmten Text oder Code ersetzt
werden
• Besonders hilfreich bei Informationen, die sich schnell ändern können aber nicht in einer Tabelle in der
DB hinterlegt sind
• Variablen in APEX: http://www.talkapex.com/2011/01/variables-in-apex.html
33. Folgenden CSS-Code anpassen und an entsprechender Stelle einfügen
span.t-Login-logo {
background-image: url(&APP_IMAGES.logo.png);
background-size: contain;
width: 268px;
height: 80px;
background-color: white !important;
}
.t-PageBody--login .t-Body {
background: url(&APP_IMAGES.Quaderwand.png);
background-size: 100% auto;
}
33
Eigenes Logo und eigener Hintergrund
Beispiel: Login-Page
34. Vorträge der MT AG
Mittwoch, 10. Mai Donnerstag, 11. Mai
12.15 Uhr | Soul 11.30 Uhr | Music Hall 2
Node.js – von der Entwicklung bis zum produktiven Einsatz
Kai Donato
Pimp my Interactive Grid
Moritz Klein
14.00 Uhr | Soul 11.30 Uhr | Soul
JavaScript Debugging und Tuning
Till Albert
CSS(3) verstehen und anwenden
Alexej Schneider
15.30 Uhr | Music Hall 2
Let your Clients do the work
Steven Grzbielok
15:30 Uhr |Soul
Ein Blick unter die Haube: JavaScript in APEX
Davide Groppuso
35. 35
Kommen Sie gern direkt mit von 15:00 bis 17:00 zu Jazz 1+2
Workshop: APEX 5.1 für Anfänger
36. Vielen Dank! Noch Fragen?
Vortragsbewertung:
http://bit.ly/2orkcLp
@sgrzbielok
xing.com/profile/Steven_Grzbielok
Hinweis der Redaktion
Generell fast immer Universal Theme, wenn etwas anderes gesucht wird, in der Community schauen: Material APEX
Gliederung?
Inception Bild?
Typ und Template teilweise gekoppelt: z.B. Button Templates nicht auf Regionen anwendbar