SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Plone Android App
von Stefan Arnold
(1) Vorstellung
(2) PoC Use Cases
(3) Warum nativ?
(4) Technische Infos
(5) Live DEMO
(6) Projekt Roadmap
(7) Zusammenfassung
Überblick
➢ Stefan Arnold
➢ Software Ingenieur bei operun
➢ Seit 2011 native Android App Entwicklung
➢ Seit Oktober 2018 Plone Entwicklung
(1) Vorstellung
Use Case 1 – Als Vertriebsmitarbeiter möchte ich unterwegs auf
Informationen des Plone-basierten Firmen-CRMs zugreifen
➢ Default Plone
➢ Offline Speicherung
➢ Evtl. custom Inhaltstypen
(2) PoC Use Cases
Use Case 2 – Ein Kunde möchte ein mobiles Frontend für seine
bestehende Plone Intranet-Anwendung
➢ Custom Workflows
➢ Custom Inhaltstypen
➢ Custom Browser Views
(2) PoC Use Cases
Use Case 3 – Ich möchte direkt auf Veranstaltungen ein Foto mit meinem
Handy machen und schnell einen Blogpost erstellen
➢ Default Plone mit News Items
➢ Native Kamera API
➢ Share Funktion
(2) PoC Use Cases
➢ Performance, Look and Feel
➢ Offline Funktionalität
➢ Zugriff auf native Dienste
➢ Zugriff auf Sensoren und Hardware
(3) Warum nativ?
➢ Natives Android
➢ Kotlin
➢ Voraussetzungen Plone
➢ Analyse des gelieferten JSON
➢ CODE Walkthrough
(4) Technische Infos – Übersicht
➢ ART (JVM-verwandt, Bytecode)
➢ ca. 75% Market Share
➢ Android Studio 3 (JetBrains)
➢ MinSdkVersion: 21 (Android 5)
➢ TargetSdkVersion: 28 (Android 9)
(4) Technische Infos – Natives Android
➢ JetBrains 2011
➢ Apache-2-Lizenz
➢ Statisch typisiert
➢ Interoperabel mit Java
➢ Kann in JS transformiert werden
➢ „First Class Language“
(4) Technische Infos – Kotlin
(4) Technische Infos – Voraussetzungen Plone
➢ Header „Accept: application/json“
➢ Basic fields:
● @id
● @type
● @components
● id, title, description, is_folderish, parent
(4) Technische Infos – Analyse des JSON
(4) Technische Infos – Analyse des JSON
➢ Folder fields:
● items
● items_total
(4) Technische Infos – Analyse des JSON
Basic fields
und Metadata
Noch mehr
Basic fields
und Metadata
Folder-
spezifisch
➢ Event fields:
● id, title, description, text, metadata, ...
● start, end, whole_day, open_end, recurrence
● attendees
● location, event_url
● contact_name, contact_email, contact_phone
(4) Technische Infos – Analyse des JSON
➢ Components:
● Actions, breadcrumbs, navigation, workflow
● URL-Parameter ?expand=navigation,workflow
(4) Technische Infos – Analyse des JSON
(4) Technische Infos – Code Walk-Through
➢ Navigation durch eine Plone-Seite mit der App
➢ Änderung eines Dokuments
➢ Post einer Nachricht mit Foto vom Publikum
➢ Änderung der Base-URL
(5) Live DEMO
➢ Unterstützung aller Dexterity CTs
➢ Generische Unterstützung aller CTs
➢ Design / UX
➢ Offline Funktionalität
➢ Cut / Paste / Copy
➢ Portal Status Messages
➢ Push Notifications
➢ Share Funktionalität
(6) Roadmap
➢ Was können wir?
● Default Plone, Content-Types, Workflows
● Native Performance & Offline Arbeiten
● Nutzung der Geräte-Hardware
● Interaktion mit anderen Apps
➢ Was ist aufwändig?
● Custom Browser Views
(7) Zusammenfassung
Verfügbar im Google Play Store: Plone Android App
https://play.google.com/store/apps/details?id=de.operun.ploneandroidapp
(7) Zusammenfassung
Vielen Dank für die
Aufmerksamkeit!
Fragen? Feedback? Ideen?
https://play.google.com/store/apps/details?id=de.operun.ploneandroidapp
➢ Emojis made by freepik.com from flaticon.com
➢ Photo by Caspar Camille Rubin on Unsplash
➢ Statistics from http://gs.statcounter.com/os-market-
share/mobile/worldwide
➢ Folien und Code von Stefan Arnold
Quellen
https://play.google.com/store/apps/details?id=de.operun.ploneandroidapp

Weitere ähnliche Inhalte

Ähnlich wie Plone Android App

20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatenge20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatengeKarin Patenge
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenHendrik Lösch
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & ToolsUlrich Krause
 
Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)Steffen Rühlmann
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!JanWeinschenker
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Dominik Helleberg
 
Einführung und Grobüberblick über TYPO3 4.7
Einführung und Grobüberblick  über TYPO3 4.7Einführung und Grobüberblick  über TYPO3 4.7
Einführung und Grobüberblick über TYPO3 4.7Steffen Ritter
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrGunther Pippèrr
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenFortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenRalf Eggert
 
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinProduce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinAndreas Jung
 
Applikationsentwicklung für Android
Applikationsentwicklung für AndroidApplikationsentwicklung für Android
Applikationsentwicklung für AndroidThorsten Weiskopf
 
Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!inovex GmbH
 
OpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler Applikationen
OpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler ApplikationenOpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler Applikationen
OpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler ApplikationenRaphael Groner
 
DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...
DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...
DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...panagenda
 
OPAL - Open Data Portal Germany
OPAL - Open Data Portal GermanyOPAL - Open Data Portal Germany
OPAL - Open Data Portal GermanyAdrian Wilke
 
FMK2016 - Arnold Kegebein - User Interface: Panel Window
FMK2016 - Arnold Kegebein - User Interface: Panel WindowFMK2016 - Arnold Kegebein - User Interface: Panel Window
FMK2016 - Arnold Kegebein - User Interface: Panel WindowVerein FM Konferenz
 

Ähnlich wie Plone Android App (20)

20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatenge20160229_ModernApplicationDevelopment_Python_KPatenge
20160229_ModernApplicationDevelopment_Python_KPatenge
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf Steroiden
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)Drupal 7 - Media Modul (Version 2.x-dev)
Drupal 7 - Media Modul (Version 2.x-dev)
 
eZ Components
eZ ComponentseZ Components
eZ Components
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
 
Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011Android Ice Cream Sandwich WJAX 2011
Android Ice Cream Sandwich WJAX 2011
 
Einführung und Grobüberblick über TYPO3 4.7
Einführung und Grobüberblick  über TYPO3 4.7Einführung und Grobüberblick  über TYPO3 4.7
Einführung und Grobüberblick über TYPO3 4.7
 
openHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG DüsseldorfopenHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG Düsseldorf
 
Ec2009 Templates
Ec2009 TemplatesEc2009 Templates
Ec2009 Templates
 
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperrOracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenFortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
 
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - BerlinProduce & Publish Authoring Environment World Plone Day 2010 - Berlin
Produce & Publish Authoring Environment World Plone Day 2010 - Berlin
 
Applikationsentwicklung für Android
Applikationsentwicklung für AndroidApplikationsentwicklung für Android
Applikationsentwicklung für Android
 
Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!Niemals nach Mitternacht füttern - Grüne Roboter überall!
Niemals nach Mitternacht füttern - Grüne Roboter überall!
 
OpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler Applikationen
OpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler ApplikationenOpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler Applikationen
OpenRheinRuhr 2017 - Testgetriebene Entwicklung multimodaler Applikationen
 
DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...
DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...
DNUG - ApplicationInsights: So analysieren, optimieren und modernisieren Sie ...
 
OPAL - Open Data Portal Germany
OPAL - Open Data Portal GermanyOPAL - Open Data Portal Germany
OPAL - Open Data Portal Germany
 
FMK2016 - Arnold Kegebein - User Interface: Panel Window
FMK2016 - Arnold Kegebein - User Interface: Panel WindowFMK2016 - Arnold Kegebein - User Interface: Panel Window
FMK2016 - Arnold Kegebein - User Interface: Panel Window
 

Plone Android App

  • 1. Plone Android App von Stefan Arnold
  • 2. (1) Vorstellung (2) PoC Use Cases (3) Warum nativ? (4) Technische Infos (5) Live DEMO (6) Projekt Roadmap (7) Zusammenfassung Überblick
  • 3. ➢ Stefan Arnold ➢ Software Ingenieur bei operun ➢ Seit 2011 native Android App Entwicklung ➢ Seit Oktober 2018 Plone Entwicklung (1) Vorstellung
  • 4. Use Case 1 – Als Vertriebsmitarbeiter möchte ich unterwegs auf Informationen des Plone-basierten Firmen-CRMs zugreifen ➢ Default Plone ➢ Offline Speicherung ➢ Evtl. custom Inhaltstypen (2) PoC Use Cases
  • 5. Use Case 2 – Ein Kunde möchte ein mobiles Frontend für seine bestehende Plone Intranet-Anwendung ➢ Custom Workflows ➢ Custom Inhaltstypen ➢ Custom Browser Views (2) PoC Use Cases
  • 6. Use Case 3 – Ich möchte direkt auf Veranstaltungen ein Foto mit meinem Handy machen und schnell einen Blogpost erstellen ➢ Default Plone mit News Items ➢ Native Kamera API ➢ Share Funktion (2) PoC Use Cases
  • 7. ➢ Performance, Look and Feel ➢ Offline Funktionalität ➢ Zugriff auf native Dienste ➢ Zugriff auf Sensoren und Hardware (3) Warum nativ?
  • 8. ➢ Natives Android ➢ Kotlin ➢ Voraussetzungen Plone ➢ Analyse des gelieferten JSON ➢ CODE Walkthrough (4) Technische Infos – Übersicht
  • 9. ➢ ART (JVM-verwandt, Bytecode) ➢ ca. 75% Market Share ➢ Android Studio 3 (JetBrains) ➢ MinSdkVersion: 21 (Android 5) ➢ TargetSdkVersion: 28 (Android 9) (4) Technische Infos – Natives Android
  • 10. ➢ JetBrains 2011 ➢ Apache-2-Lizenz ➢ Statisch typisiert ➢ Interoperabel mit Java ➢ Kann in JS transformiert werden ➢ „First Class Language“ (4) Technische Infos – Kotlin
  • 11. (4) Technische Infos – Voraussetzungen Plone
  • 12. ➢ Header „Accept: application/json“ ➢ Basic fields: ● @id ● @type ● @components ● id, title, description, is_folderish, parent (4) Technische Infos – Analyse des JSON
  • 13. (4) Technische Infos – Analyse des JSON
  • 14. ➢ Folder fields: ● items ● items_total (4) Technische Infos – Analyse des JSON
  • 15. Basic fields und Metadata Noch mehr Basic fields und Metadata Folder- spezifisch
  • 16. ➢ Event fields: ● id, title, description, text, metadata, ... ● start, end, whole_day, open_end, recurrence ● attendees ● location, event_url ● contact_name, contact_email, contact_phone (4) Technische Infos – Analyse des JSON
  • 17.
  • 18. ➢ Components: ● Actions, breadcrumbs, navigation, workflow ● URL-Parameter ?expand=navigation,workflow (4) Technische Infos – Analyse des JSON
  • 19.
  • 20. (4) Technische Infos – Code Walk-Through
  • 21. ➢ Navigation durch eine Plone-Seite mit der App ➢ Änderung eines Dokuments ➢ Post einer Nachricht mit Foto vom Publikum ➢ Änderung der Base-URL (5) Live DEMO
  • 22. ➢ Unterstützung aller Dexterity CTs ➢ Generische Unterstützung aller CTs ➢ Design / UX ➢ Offline Funktionalität ➢ Cut / Paste / Copy ➢ Portal Status Messages ➢ Push Notifications ➢ Share Funktionalität (6) Roadmap
  • 23. ➢ Was können wir? ● Default Plone, Content-Types, Workflows ● Native Performance & Offline Arbeiten ● Nutzung der Geräte-Hardware ● Interaktion mit anderen Apps ➢ Was ist aufwändig? ● Custom Browser Views (7) Zusammenfassung
  • 24. Verfügbar im Google Play Store: Plone Android App https://play.google.com/store/apps/details?id=de.operun.ploneandroidapp (7) Zusammenfassung
  • 25. Vielen Dank für die Aufmerksamkeit! Fragen? Feedback? Ideen? https://play.google.com/store/apps/details?id=de.operun.ploneandroidapp
  • 26. ➢ Emojis made by freepik.com from flaticon.com ➢ Photo by Caspar Camille Rubin on Unsplash ➢ Statistics from http://gs.statcounter.com/os-market- share/mobile/worldwide ➢ Folien und Code von Stefan Arnold Quellen https://play.google.com/store/apps/details?id=de.operun.ploneandroidapp