Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
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

2.161 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
  • Als Erste(r) kommentieren

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

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

×