Ich   Zope und Plone-    Entwickler   9 Jahre   ”Power-Entwickler”              Kotti #PloneKonf   1
Plones Stärken   Warum verwende ich    Plone?             Kotti #PloneKonf   2
Plones Stärken   PHP   Java   .NET             Kotti #PloneKonf   3
Plones Stärken   Enterprise     Beans     SOAP     ...              Kotti #PloneKonf   4
Plones Stärken   Enterprise     Anzüge     Krawatten     Pants              Kotti #PloneKonf   5
Plones Stärken   Python!!1     fun     produktiv                  Kotti #PloneKonf   6
Plones Stärken   Python!!1     einfach     lesbar     expressiv                  Kotti #PloneKonf   7
Plones Stärken   Plone bricht Versprechen     WTF?     Plone??!                 Kotti #PloneKonf   8
Plones Stärken   Plone bricht Versprechen     einfach     lesbar     expressiv     Love hurts               Kotti #Pl...
Plones Stärken   Community!!     Anzüge     Krawatten     PANTS              Kotti #PloneKonf   10
Plones Stärken   Community!!     international     freundschaftlich     professionell               Kotti #PloneKonf  ...
Plones Stärken   Flexibilität   Erweiterbarkeit       Plone sagt ja wo andere        geht nicht sagen                  ...
Plones Stärken   Anpassen through the    web     sehr interessant für Bastler      und Communities     uninteressant fü...
Plones Stärken   Plone Core hat viele    Features out of the box              Kotti #PloneKonf   14
Plones Stärken   viele freie Add-Ons       nur ein kleiner Teil gut        programmiert und        gewartet             ...
Plones Stärken   Plones Killer-Features     Object File System (OFS)     Rechte, Rollen, Gruppen     Workflows        ...
Plones Stärken   Object    File    System             Kotti #PloneKonf   17
Plones Stärken   Rechte   Rollen   Gruppen              Kotti #PloneKonf   18
Plones Stärken   Workflows             Kotti #PloneKonf   19
Plones Schwächen   Core hat zu viele    Features out of the box              Kotti #PloneKonf   20
Plones Schwächen   verschiedene    konkurrierende    Technologien   [more than] only one way    to do it             Kot...
Plones Schwächen   Code kompliziert     zu eifriges Adaptieren      neuer Technologien     Zope 3 und Component      Ar...
Plones Schwächen            Kotti #PloneKonf   23
Plones Schwächen            Kotti #PloneKonf   24
Plones Schwächen            Kotti #PloneKonf   25
Pyramid          Kotti #PloneKonf   26
Pyramid   Stärken gegenüber Zope     Pythonic     fits your brain     Kleiner Kern     Ausgezeichnete Doku           ...
Pyramid          Kotti #PloneKonf   28
Pyramid                             SEXY          Kotti #PloneKonf          29
Pyramid   Basis für allerlei    Anwendungen       nicht nur CMS   gut für komplexe    Anwendungen                 Kotti...
Pyramid   Zope-Wurzeln   vgl. Plone Killer-Features     OFS (eigtl Traversal)     Rechte, Rollen, Gruppen     Workflo...
Pyramid   Pyramid hat viele weitere    Komponenten die ein    CMS braucht              Kotti #PloneKonf   32
Pyramid   solider Erweiterungs-    Mechanismus   pyramid.includes =     pyramid_debugtoolbar     pyramid_tm             ...
Pyramid   Internationalisierung:    pyramid.i18n              Kotti #PloneKonf   34
Pyramid   Templates und    Customization:    Chameleon (ZPT)    pyramid.asset           Kotti #PloneKonf   35
Pyramid   Rechte, ACLs, Gruppen:    pyramid.security             Kotti #PloneKonf   36
Pyramid   keine Anwendung   kein CRUD   keine Datenbank   unopinionated             Kotti #PloneKonf   37
Pyramid   Ich will mein CMS mit    Pyramid machen!   WHAT DO?              Kotti #PloneKonf   38
Pyramid   für unser CMS fehlt noch     Verdrahtung     Konfiguration               Kotti #PloneKonf   39
Pyramid   für unser CMS fehlt noch     Persistenz     OFS     User Interface     Formulare               Kotti #Plone...
Pyramid   für unser CMS fehlt noch     Benutzer /      Benutzerverwaltung     Control Panel     Schnittstelle für Add-...
Kotti   genau diese Dinge liefert              Kotti #PloneKonf   42
Kotti ♥ Pyramid   schließt die Lücke zw.    Pyramid und CMS   ist Framework und out of    the box CMS, wie Plone        ...
Kotti ♥ Pyramid   nutzt bestehende    Pyramid-Mechanismen    voll aus   und Komponenten aus    Pyramid- und Python-    C...
Kotti ♥ Pyramid   wenig neue Konzepte   Pyramid-Entwickler    sollen möglichst    Bekanntes vorfinden   erbt Pyramids S...
Kotti ♥ SQLAlchemy   Kottis Datenbank     verwendet SQL      Datenbank     nicht ZODB     SQLAlchemy             Kotti...
Kotti ♥ SQLAlchemy   Kottis Datenbank     keine großen      Abstraktionen     SQLAlchemy API     abgesehen von Nodes  ...
Kotti ♥ Twitter Bootstrap   Default Oberfläche    benützt Bootstrap     CSS, JavaScript     Responsive Design     doku...
Kotti ♥ Twitter Bootstrap                                  CRAZY                     j                                  SE...
Kotti ♥ Colander und Deform   Default Formulare    basieren auf Deform     Schemas     Validierung     Widgets        ...
Kotti ♥ Beaker   Kotti verwendet Beaker    für das Sessioning     Daten die vorübergehend      gespeichert werden     k...
Kotti ♥ plone.i18n   Plone??!   Ja, plone.dott!               Kotti #PloneKonf   52
Kotti ♥ repoze.workflow   leicht zu integrieren   nicht out of the box dabei               Kotti #PloneKonf   53
Kotti ♥ YOU   Kotti konfiguriert alle    diese Komponenten   damit du es nicht    machen mußt   Batteries included     ...
Kotti ♥ YOU              Kotti #PloneKonf   55
Kottis Design   möglichst einfach   kein Big Design   konzentriert sich auf:     (kleinen) Core     Erweiterbarkeit  ...
Kottis Nodes API   root = get_root()   dict-like       root[hey] = Document(...)       root[hey].title = uHo       de...
Kottis Nodes API   Reihenfolge (ordered)       child = root.children.pop(1)       root.children.insert(0,child)   alle...
Kottis Benutzerdatenbank API   P = get_principals()   P[daniel] = {        name: daniel,        title: Daniele,        p...
Kottis Schnittstellen für Add-Ons   kotti.includes   kotti.populators   kotti.available_types   kotti.asset_overrides ...
Kottis Templates   Master-Templates   Unterschied zwischen     Öffentliche Oberfläche     Redakteurs-Oberfläche       ...
Kottis Templates   leicht austauschbar     z.B. nur öffentliche      Oberfläche     oder nur Dokument-      Template   ...
Kottis Templates   Kotti Slots (Viewlets)       def render_hello(context, request):            return uHello, World!    ...
Kottis Zukunft                 Kotti #PloneKonf   64
Kottis Vergangenheit   existiert seit > 1 Jahr   ich verwende es     ein großes Projekt     ein kleines Projekt     a...
Kottis Vergangenheit   Add-Ons     kotti_calendar     kotti_twitter     kotti_contactform     kotti_analytics        ...
Kottis Gegenwart   Sprint!     WYSIWYG Hochladen von      Dateien und Bildern     kotti_blog     kotti_whatever       ...
Ciao   github.com/Pylons/Kotti   kottidemo.danielnouri.org   #kotti auf Freenode   @dnouri   daniel.nouri@gmail.com  ...
Nächste SlideShare
Wird geladen in …5
×

Kotti: Eine moderne und schlanke Plone-Alternative auf Basis von Pyramid und SQLAlchemy

1.894 Aufrufe

Veröffentlicht am

Bei neuen Projekten stellt sich oft die Frage: Verwende ich Plone oder Pyramid? Während Pyramid viele wichtige Konzepte aus der Zope-Welt in modernerem und schlankerem Gewand anbietet, fehlen viele der zur Umsetzung von klassischen CMS-Anwendungen erforderlichen Bausteine, die Plone so erfolgreich machen. Einige davon liefert Kotti und bietet sich damit als eine schlanke Plone-Alternative an.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.894
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
65
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Kotti: Eine moderne und schlanke Plone-Alternative auf Basis von Pyramid und SQLAlchemy

  1. 1. Ich Zope und Plone- Entwickler 9 Jahre ”Power-Entwickler” Kotti #PloneKonf 1
  2. 2. Plones Stärken Warum verwende ich Plone? Kotti #PloneKonf 2
  3. 3. Plones Stärken PHP Java .NET Kotti #PloneKonf 3
  4. 4. Plones Stärken Enterprise  Beans  SOAP  ... Kotti #PloneKonf 4
  5. 5. Plones Stärken Enterprise  Anzüge  Krawatten  Pants Kotti #PloneKonf 5
  6. 6. Plones Stärken Python!!1  fun  produktiv Kotti #PloneKonf 6
  7. 7. Plones Stärken Python!!1  einfach  lesbar  expressiv Kotti #PloneKonf 7
  8. 8. Plones Stärken Plone bricht Versprechen  WTF?  Plone??! Kotti #PloneKonf 8
  9. 9. Plones Stärken Plone bricht Versprechen  einfach  lesbar  expressiv  Love hurts Kotti #PloneKonf 9
  10. 10. Plones Stärken Community!!  Anzüge  Krawatten  PANTS Kotti #PloneKonf 10
  11. 11. Plones Stärken Community!!  international  freundschaftlich  professionell Kotti #PloneKonf 11
  12. 12. Plones Stärken Flexibilität Erweiterbarkeit  Plone sagt ja wo andere geht nicht sagen Kotti #PloneKonf 12
  13. 13. Plones Stärken Anpassen through the web  sehr interessant für Bastler und Communities  uninteressant für mich Kotti #PloneKonf 13
  14. 14. Plones Stärken Plone Core hat viele Features out of the box Kotti #PloneKonf 14
  15. 15. Plones Stärken viele freie Add-Ons  nur ein kleiner Teil gut programmiert und gewartet Kotti #PloneKonf 15
  16. 16. Plones Stärken Plones Killer-Features  Object File System (OFS)  Rechte, Rollen, Gruppen  Workflows Kotti #PloneKonf 16
  17. 17. Plones Stärken Object File System Kotti #PloneKonf 17
  18. 18. Plones Stärken Rechte Rollen Gruppen Kotti #PloneKonf 18
  19. 19. Plones Stärken Workflows Kotti #PloneKonf 19
  20. 20. Plones Schwächen Core hat zu viele Features out of the box Kotti #PloneKonf 20
  21. 21. Plones Schwächen verschiedene konkurrierende Technologien [more than] only one way to do it Kotti #PloneKonf 21
  22. 22. Plones Schwächen Code kompliziert  zu eifriges Adaptieren neuer Technologien  Zope 3 und Component Architecture Kotti #PloneKonf 22
  23. 23. Plones Schwächen Kotti #PloneKonf 23
  24. 24. Plones Schwächen Kotti #PloneKonf 24
  25. 25. Plones Schwächen Kotti #PloneKonf 25
  26. 26. Pyramid Kotti #PloneKonf 26
  27. 27. Pyramid Stärken gegenüber Zope  Pythonic  fits your brain  Kleiner Kern  Ausgezeichnete Doku Kotti #PloneKonf 27
  28. 28. Pyramid Kotti #PloneKonf 28
  29. 29. Pyramid SEXY Kotti #PloneKonf 29
  30. 30. Pyramid Basis für allerlei Anwendungen  nicht nur CMS gut für komplexe Anwendungen Kotti #PloneKonf 30
  31. 31. Pyramid Zope-Wurzeln vgl. Plone Killer-Features  OFS (eigtl Traversal)  Rechte, Rollen, Gruppen  Workflows Kotti #PloneKonf 31
  32. 32. Pyramid Pyramid hat viele weitere Komponenten die ein CMS braucht Kotti #PloneKonf 32
  33. 33. Pyramid solider Erweiterungs- Mechanismus pyramid.includes =  pyramid_debugtoolbar  pyramid_tm Kotti #PloneKonf 33
  34. 34. Pyramid Internationalisierung: pyramid.i18n Kotti #PloneKonf 34
  35. 35. Pyramid Templates und Customization: Chameleon (ZPT) pyramid.asset Kotti #PloneKonf 35
  36. 36. Pyramid Rechte, ACLs, Gruppen: pyramid.security Kotti #PloneKonf 36
  37. 37. Pyramid keine Anwendung kein CRUD keine Datenbank unopinionated Kotti #PloneKonf 37
  38. 38. Pyramid Ich will mein CMS mit Pyramid machen! WHAT DO? Kotti #PloneKonf 38
  39. 39. Pyramid für unser CMS fehlt noch  Verdrahtung  Konfiguration Kotti #PloneKonf 39
  40. 40. Pyramid für unser CMS fehlt noch  Persistenz  OFS  User Interface  Formulare Kotti #PloneKonf 40
  41. 41. Pyramid für unser CMS fehlt noch  Benutzer / Benutzerverwaltung  Control Panel  Schnittstelle für Add-Ons Kotti #PloneKonf 41
  42. 42. Kotti genau diese Dinge liefert Kotti #PloneKonf 42
  43. 43. Kotti ♥ Pyramid schließt die Lücke zw. Pyramid und CMS ist Framework und out of the box CMS, wie Plone Kotti #PloneKonf 43
  44. 44. Kotti ♥ Pyramid nutzt bestehende Pyramid-Mechanismen voll aus und Komponenten aus Pyramid- und Python- Community Kotti #PloneKonf 44
  45. 45. Kotti ♥ Pyramid wenig neue Konzepte Pyramid-Entwickler sollen möglichst Bekanntes vorfinden erbt Pyramids Stärken Kotti #PloneKonf 45
  46. 46. Kotti ♥ SQLAlchemy Kottis Datenbank  verwendet SQL Datenbank  nicht ZODB  SQLAlchemy Kotti #PloneKonf 46
  47. 47. Kotti ♥ SQLAlchemy Kottis Datenbank  keine großen Abstraktionen  SQLAlchemy API  abgesehen von Nodes Kotti #PloneKonf 47
  48. 48. Kotti ♥ Twitter Bootstrap Default Oberfläche benützt Bootstrap  CSS, JavaScript  Responsive Design  dokumentiert, getestet Kotti #PloneKonf 48
  49. 49. Kotti ♥ Twitter Bootstrap CRAZY j SEXY Kotti #PloneKonf 49
  50. 50. Kotti ♥ Colander und Deform Default Formulare basieren auf Deform  Schemas  Validierung  Widgets Kotti #PloneKonf 50
  51. 51. Kotti ♥ Beaker Kotti verwendet Beaker für das Sessioning  Daten die vorübergehend gespeichert werden  konfigurierbar Kotti #PloneKonf 51
  52. 52. Kotti ♥ plone.i18n Plone??! Ja, plone.dott! Kotti #PloneKonf 52
  53. 53. Kotti ♥ repoze.workflow leicht zu integrieren nicht out of the box dabei Kotti #PloneKonf 53
  54. 54. Kotti ♥ YOU Kotti konfiguriert alle diese Komponenten damit du es nicht machen mußt Batteries included Kotti #PloneKonf 54
  55. 55. Kotti ♥ YOU Kotti #PloneKonf 55
  56. 56. Kottis Design möglichst einfach kein Big Design konzentriert sich auf:  (kleinen) Core  Erweiterbarkeit Kotti #PloneKonf 56
  57. 57. Kottis Nodes API root = get_root() dict-like  root[hey] = Document(...)  root[hey].title = uHo  del root[hey]  root.values() # usw. Kotti #PloneKonf 57
  58. 58. Kottis Nodes API Reihenfolge (ordered)  child = root.children.pop(1)  root.children.insert(0,child) alle Content-Typen (Dokumente, Files, …) sind Nodes Kotti #PloneKonf 58
  59. 59. Kottis Benutzerdatenbank API P = get_principals() P[daniel] = {     name: daniel,     title: Daniele,     password: woops,     } Kotti #PloneKonf 59
  60. 60. Kottis Schnittstellen für Add-Ons kotti.includes kotti.populators kotti.available_types kotti.asset_overrides Kotti #PloneKonf 60
  61. 61. Kottis Templates Master-Templates Unterschied zwischen  Öffentliche Oberfläche  Redakteurs-Oberfläche Kotti #PloneKonf 61
  62. 62. Kottis Templates leicht austauschbar  z.B. nur öffentliche Oberfläche  oder nur Dokument- Template Kotti #PloneKonf 62
  63. 63. Kottis Templates Kotti Slots (Viewlets)  def render_hello(context, request):     return uHello, World! from kotti.views.slots import * register(   RenderLeftSlot, None, render_hello) Kotti #PloneKonf 63
  64. 64. Kottis Zukunft Kotti #PloneKonf 64
  65. 65. Kottis Vergangenheit existiert seit > 1 Jahr ich verwende es  ein großes Projekt  ein kleines Projekt  andere Projekte, Websites Kotti #PloneKonf 65
  66. 66. Kottis Vergangenheit Add-Ons  kotti_calendar  kotti_twitter  kotti_contactform  kotti_analytics Kotti #PloneKonf 66
  67. 67. Kottis Gegenwart Sprint!  WYSIWYG Hochladen von Dateien und Bildern  kotti_blog  kotti_whatever Kotti #PloneKonf 67
  68. 68. Ciao github.com/Pylons/Kotti kottidemo.danielnouri.org #kotti auf Freenode @dnouri daniel.nouri@gmail.com Kotti #PloneKonf 68

×