Upload
sulu
View
859
Download
2
Embed Size (px)
Citation preview
Sulu and the other guysWie Sulu mit anderen Applikationen zusammenspielt.
Wer sind wir?
Ursprung?
Ursprung?
Ursprung?
Ursprung?
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Hintergrund
– MASSIVE ART
- Online Agentur
- 50 Mitarbeiter
- Kunden im Dachraum
– Eigenes Sulu Team
- 6 Personen
- + Studenten
- + Praktikanten
– 29 Github-Contributors im Core
1998 Erstes CMS
ZOOLU
18. Oktober 2013 Erster Sulu Commit
Juli 2014 erster Einsatz in Produktion
1. Juli 2015 1.0.0
November 2015 1.1
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
@joemoeAT
- bis 2008 Flash Programmierer
- Symfony Entwickler seit 2010
- Tendenz weg von der Implementierung
- Community Guy
- Allrounder
- Sulu
–Dokumentation
–Testing
–Community
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
@joemoeAT
- bis 2008 Flash Programmierer
- Symfony Entwickler seit 2010
- Tendenz weg von der Implementierung
- Community Guy
- Allrounder
- Sulu
–Dokumentation
–Testing
–Community
Was ist Sulu?Offen, modern & schnell
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Sulu
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Sulu
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Sulu
Content Management Platform• Symfony• Für Unternehmen• Entwickler• Redakteure • Simple UI• State of the art•
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Für Unternehmen
Open Source• Akzeptierte Technologie• Mehrsprachigkeit• Multiportal•Erweiterbar• Skalierbar•
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Für Entwickler
100 % Symfony• Semantik• Twig• Inhalte als Basis•
CSSJS
HTML PHP
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Für Redakteure
Einfach und intuitives Interface• Durchgängige User Experience• Konfigurierbare Inhaltstypen• Live Preview• Responsive•
Von Fahrrädern und LKWsWie fährt Sulu?
Fahrrad
Jeder kann es fahren, viele können es
reparieren.(WordPress etc.)
Ƕ
Fahrrad
Jeder kann es fahren, viele können es
reparieren.(WordPress etc.)
Ƕ ! Autos
Viele können damit fahren, Manche können
sie reparieren.(Typo3 etc.)
Fahrrad
Jeder kann es fahren, viele können es
reparieren.(WordPress etc.)
Ƕ ! Autos
Viele können damit fahren, Manche können
sie reparieren.(Typo3 etc.)
" LKW
Benötigen eine spezielle Fahrerlaubnis. Werden
individuell von Experten konfiguriert.
(EZpublisher, PimCore etc.)
Fahrrad
Jeder kann es fahren, viele können es
reparieren.(WordPress etc.)
Ƕ ! Autos
Viele können damit fahren, Manche können
sie reparieren.(Typo3 etc.)
" LKW
Benötigen eine spezielle Fahrerlaubnis. Werden
individuell von Experten konfiguriert.
(EZpublisher, PimCore etc.)
# Flugzeug
Hoch spezialisiertes Personal. Teuer und sehr
komplex im Betrieb.(Hybris, OpenText etc.)
Fahrrad
Jeder kann es fahren, viele können es
reparieren.(WordPress etc.)
Ƕ ! Autos
Viele können damit fahren, Manche können
sie reparieren.(Typo3 etc.)
" LKW
Benötigen eine spezielle Fahrerlaubnis. Werden
individuell von Experten konfiguriert.
(EZpublisher, PimCore etc.)
# Flugzeug
Hoch spezialisiertes Personal. Teuer und sehr
komplex im Betrieb.(Hybris, OpenText etc.)
CMS? Again? WTF?
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHP
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHP
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHPSYMFONY
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHPSYMFONY CUSTOM FRONTEND
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHPSYMFONY
NO LEGACY CODE
CUSTOM FRONTEND
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHPSYMFONY
PHPCRNO LEGACY CODE
CUSTOM FRONTEND
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHPSYMFONY
MULTI-PORTAL
PHPCRNO LEGACY CODE
CUSTOM FRONTEND
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
PHPSYMFONY
MULTI-LANGUAGE
MULTI-PORTAL
PHPCRNO LEGACY CODE
CUSTOM FRONTEND
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Warum noch ein CMS?Apache Roller, OpenCms, Ametys CMS, Liferay, eXo Platform, DSpace, Enonic, Fedora Commons, Dotcms, LogicalDOC, Nuxeo EP, Alfresco
Community Edition, Magnolia, Hippo CMS, VosaoCMS, OpenWGA, Jahia Community Distribution, OpenKM, Thingamablog, XWiki, Apache Lenya,
Daisy, Composite C1, DotNetNuke, Kooboo, mojoPortal, Orchard Project, Umbraco, BetterCMS, blosxom, Bricolage, EPrints, Foswiki, Ikiwiki,
Movable Type Open Source, TWiki, SPINE, WebGUI, ATutor, b2evolution, BEdita, Chevereto, CMSimple, CMS Made Simple, concrete5, Contao,
Cotonti, DokuWiki, Dotclear, Drupal, DynPG, Exponent CMS, eZ Publish, Geeklog, Habari, ImpressCMS, ImpressPages, Jamroom, Joomla!, Kajona,
Known, Magento, Mambo, MediaWiki, MiaCMS, Midgard CMS, MODX, Moodle, Novius OS, Nucleus CMS, Ocportal, OctoberCMS, papaya CMS,
pH7CMS, Phire CMS, PHP-Fusion, PHP-Nuke, phpWebLog, phpWebSite, phpWiki, pimcore, PivotX, Pixie (CMS), Pluck, PmWiki, Prestashop,
ProcessWire, RavenNuke CMS, SMW+, Serendipity, SilverStripe, SPIP, TangoCMS, Textpattern, Tiki Wiki CMS Groupware, TYPO3, Wolf CMS,
WordPress, Xaraya, XOOPS, Yellow, Zenario, Zikula, Mezzanine, Django-cms, MoinMoin, Plone, Wagtail, BrowserCMS, Radiant, Refinery CMS, Typo,
ContentBox Modular CMS, Mura CMS, FarCry CMS, Ghost, OpenACS, TiddlyWiki, Zotonic, Contentful, Huddle, Accrisoft Freedom, Adobe Business
Catalyst, Alfresco Cloud, Polopoly Web CMS, Cascade Cloud (Cascade Server), eXo Cloud, Clickability (Limelight Networks), Content SORT,
CrownPeak CMS (CrownPeak), DotNetNuke, Frontis Archive Publishing System, Microsoft Office 365, nuBuilder, Windows Live, Worldnow[96], OU
Campus, XaitPorter, uCoz, O3Spaces, Alfresco (Enterprise & Community Edition), Altitude3.Net, Ayoola Framework (formerly Vanity Web), Cascade
Server, Contentverse, Contegro, CoreMedia WCM, DotNetNuke, dot.orange, Ektron CMS, Elcom CMS, EMC Documentum ECM, EPiServer CMS,
ExpressionEngine, Hyland OnBase ECM, IBM Enterprise Content Management, Autonomy Interwoven Teamsite CMS, Jadu, Jahia Enterprise
Distribution, Kentico CMS, Librex, Movable Type, nuBuilder, XaitPorter (local license), OpenText ECM Suite, OpenText Web Experience Management,
OpenText Web Site Management, Oracle WebCenter Content, OU Campus, Percussion Software CM System, Percussion Software Percussion CMS,
Pulse CMS, SharePoint, Sitecore, Sitekit CMS, Solodev, Telligent Community, TerminalFour, Titan CMS, Webnodes CMS
SYMFONYPHP
MULTI-LANGUAGE
MULTI-PORTAL
PHPCRNO LEGACY CODE
CUSTOM FRONTEND
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Wann entscheide ich mich für Sulu?
JA
Symfony
Mehrsprachigkeit
Multi-Portal
Spezifische Anforderungen
Custom Frontend
NEIN
Standardanforderungen
Existierendes Theme reicht aus
Breite CMS-Features
Kein Symfony Know-how
Für Entwickler
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Grundgerüst
Auf den Schultern von Giganten• Gegen das Not-invented-here-Syndrom• Inhaltsverwaltung am höchsten Qualitätsstand•
Individualisierbar: MySQL/MariaDB/Jackrabbitt• Elastic Search• Varnish•
© 2015 MASSIVE ART WebServices GmbH | www.massiveart.com
Ein bisschen PHPCR?
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Einfache Installation
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Einfache Installation
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Einfache Installation
[sulu@sulu-io]$ git clone https://github.com/sulu-io/sulu-standard.git
[sulu@sulu-io]$ composer install
[sulu@sulu-io]$ app/console sulu:build dev
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Konfigurierbar
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Konfigurierbar
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Konfigurierbar
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Konfigurierbar Webspace
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Konfigurierbar Webspace
Page Template
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Wunderbarer Administrationsbereich
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Ohne Frontend / Ohne Theme
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Coden wo es Spaß macht
Router
Sulu
ORM
TwigController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Coden wo es Spaß macht
Router
Sulu
ORM
TwigController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Coden wo es Spaß macht
Router
Sulu
ORM
TwigController HTML
RestController
PHPCR
Konfigurieren
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Coden wo es Spaß macht
Router
Sulu
ORM
TwigController HTML
RestController
PHPCR
Konfigurieren
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Coden wo es Spaß macht
Router
Sulu
ORM
TwigController HTML
RestController
PHPCR
Konfigurieren Implementieren
Sulu and the other guys
Router
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Sinn und Zweck
– Bestehendes Bundle mit Sulu verwenden
– Bundle eines Drittanbieters mit Sulu darstellen
– Sulu um Bereiche erweitern
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom Bundle
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom Bundle
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom Bundle
Mr. Sulu
Mr. Sulu
Mr. SAP-Connector
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Controller<?phpnamespace Sulu\SFLDemoBundle\Controller;use Symfony\Bundle\FrameworkBundle\Controller\Controller;use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class DefaultController extends Controller{ /** @Route("/") */ public function indexAction() { $sap = $this->get('sap.adapter')->getOverview(); return $this->render('SuluSFLDemoBundle:Default:index.html.twig', $sap); }}
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Zwei Kernel
– Website
- Frontend
– Admin
- Administrationsbereich
- Security
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Controller (+Admin Action)<?phpnamespace Sulu\SFLDemoBundle\Controller;use Symfony\Bundle\FrameworkBundle\Controller\Controller;use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class DefaultController extends Controller{ /** @Route("/") */ public function indexAction() { $sap = $this->get('sap.adapter')->getOverview(); return $this->render('SuluSFLDemoBundle:Default:index.html.twig', $sap); }
public function adminAction() { $sap = $this->get('sap.adapter')->getOverview(); return $this->render('SuluSFLDemoBundle:Default:admin.html.twig', $sap); }}
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Routing (Admin)#Sulu/SFLDemoBundle/Resources/config/router_admin.ymlsulu_sfl_demo_homepage: path: / defaults: { _controller: SuluSFLDemoBundle:Default:admin }
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Routing (Admin)#Sulu/SFLDemoBundle/Resources/config/router_admin.ymlsulu_sfl_demo_homepage: path: / defaults: { _controller: SuluSFLDemoBundle:Default:admin }
#app/config/admin/router.ymlsulu_sfldemo: prefix: /admin/sfldemo resource: "@SuluSFLDemoBundle/Resources/config/router_admin.yml"
Controller
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Sinn und Zweck
– Content über Sulu managen
– Daten manipulieren
– Daten adaptieren
– Alternative Templates
– Context sensitive Darstellung
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom app
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom app
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom app
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
Twig
WebsiteController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
Twig
WebsiteController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
Twig
WebsiteController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router
Sulu
ORM
Twig
WebsiteController HTML
RestController
PHPCR
Custom Controller
Mr. Sulu
Mr. Sulu
Mr. ElasticSearch-Content
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Controller<?phpnamespace Sulu\SFLDemoBundle\Controller;use Sulu\Bundle\WebsiteBundle\Controller\WebsiteController;use Sulu\Component\Content\Compat\StructureInterface;
class PageController extends WebsiteController{ public function indexAction(StructureInterface $structure, $preview = false, $partial = false ) { $result = $this->get('elasticsearch')->currentIssues(); return $this->renderStructure($structure, $result, $preview, $partial); }}
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Page Configuration<!-- app/Resources/pages/default.xml --><?xml version="1.0" ?><template xmlns="http://schemas.sulu.io/template/template"> <key>default</key> <view>ClientWebsiteBundle:templates:default</view> <controller>SuluWebsiteBundle:Default:index</controller> <cacheLifetime>2400</cacheLifetime> <meta> <title lang="en">Default</title> </meta> <properties> <property name="title" type="text_line" mandatory="true"> <meta> <title lang="en">Title</title> </meta> <tag name="sulu.rlp.part"/> </property> </properties></template>
Event Listener
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Sinn und Zweck
– Auf Ereignisse reagieren
– Ereignisse modifizieren
– Ereignisse manipulieren
– Ereignisse validieren
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom app
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom app
Mr. Sulu
Mr. Sulu
Mrs. Intranet-Pusher
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Event Subscriber<?phpnamespace Sulu\SFLDemoBundle\EventListener;use Sulu\Component\Content\Mapper\Event\ContentNodeEvent;use Symfony\Component\EventDispatcher\EventSubscriberInterface;use Sulu\Component\Content\Mapper\ContentEvents;class EventSubscriber implements EventSubscriberInterface{ public static function getSubscribedEvents() { return [ ContentEvents::NODE_POST_SAVE => 'onContentNodePostSave' ]; } public function onContentNodePostSave(ContentNodeEvent $event) { #push content to intranet }}
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
services.yml#Sulu/SFLDemoBundle/Resources/config/services.ymlservices: sulu.sfldemo.event_subscriber: class: Sulu\SFLDemoBundle\EventListener\EventSubscriber tags: - { name: kernel.event_subscriber }
+----------------------+| Event |+----------------------+| persist || hydrate || remove || refresh || copy || move || create || clear || find || reorder || flush || query.create || query.create_builder || query.execute || configure_options |+----------------------+
API
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Sinn und Zweck
– Frontend App
– Webapp
– Mobile App
– Cron
– …
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom app
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Was passiert?
Router Sulu
ORM
TwigWebsiteController HTML
RestController
PHPCR
Custom app
Mrs. SPA
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
jQuery-Implementierungfunction SuluAPI() {
var config = {BASE_URL: "/",LOGIN_URL: "admin/login_check",API_URL: "admin/api/"
};var login = function(username, password, cb) {
$.ajax({url: config.BASE_URL + config.LOGIN_URL, data: {
_username: username, _password: password
}, method: "post",success: function(response) {
cb(true, response);}, error: function(response) {
cb(false, response);}
});};var api = function(ap, cb, data, method) {
var obj = {url: config.BASE_URL + config.API_URL + ap,success: function(response) {
cb(response, response);}, error: function(response) {
cb(false, response);}
};if(data) obj.data = data;if(method) obj.method = method;$.ajax(obj);
}var checkLogin = function(cb) {
api("languages", function(success, response) {if(success) cb(true, response);else cb(false, response);
});}return {
login: login,config: config,api: api,checkLogin: checkLogin
}}
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
jQuery-Implementierungfunction SuluAPI() {
var config = {BASE_URL: "/",LOGIN_URL: "admin/login_check",API_URL: "admin/api/"
};var login = function(username, password, cb) {
$.ajax({url: config.BASE_URL + config.LOGIN_URL, data: {
_username: username, _password: password
}, method: "post",success: function(response) {
cb(true, response);}, error: function(response) {
cb(false, response);}
});};var api = function(ap, cb, data, method) {
var obj = {url: config.BASE_URL + config.API_URL + ap,success: function(response) {
cb(response, response);}, error: function(response) {
cb(false, response);}
};if(data) obj.data = data;if(method) obj.method = method;$.ajax(obj);
}var checkLogin = function(cb) {
api("languages", function(success, response) {if(success) cb(true, response);else cb(false, response);
});}return {
login: login,config: config,api: api,checkLogin: checkLogin
}}
var login = function(username, password, cb) {$.ajax({
url: config.BASE_URL + config.LOGIN_URL, data: {
_username: username, _password: password
}, method: "post",success: function(response) {
cb(true, response);}, error: function(response) {
cb(false, response);}
});};
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
jQuery-Implementierungfunction SuluAPI() {
var config = {BASE_URL: "/",LOGIN_URL: "admin/login_check",API_URL: "admin/api/"
};var login = function(username, password, cb) {
$.ajax({url: config.BASE_URL + config.LOGIN_URL, data: {
_username: username, _password: password
}, method: "post",success: function(response) {
cb(true, response);}, error: function(response) {
cb(false, response);}
});};var api = function(ap, cb, data, method) {
var obj = {url: config.BASE_URL + config.API_URL + ap,success: function(response) {
cb(response, response);}, error: function(response) {
cb(false, response);}
};if(data) obj.data = data;if(method) obj.method = method;$.ajax(obj);
}var checkLogin = function(cb) {
api("languages", function(success, response) {if(success) cb(true, response);else cb(false, response);
});}return {
login: login,config: config,api: api,checkLogin: checkLogin
}}
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
jQuery-Implementierungfunction SuluAPI() {
var config = {BASE_URL: "/",LOGIN_URL: "admin/login_check",API_URL: "admin/api/"
};var login = function(username, password, cb) {
$.ajax({url: config.BASE_URL + config.LOGIN_URL, data: {
_username: username, _password: password
}, method: "post",success: function(response) {
cb(true, response);}, error: function(response) {
cb(false, response);}
});};var api = function(ap, cb, data, method) {
var obj = {url: config.BASE_URL + config.API_URL + ap,success: function(response) {
cb(response, response);}, error: function(response) {
cb(false, response);}
};if(data) obj.data = data;if(method) obj.method = method;$.ajax(obj);
}var checkLogin = function(cb) {
api("languages", function(success, response) {if(success) cb(true, response);else cb(false, response);
});}return {
login: login,config: config,api: api,checkLogin: checkLogin
}}
var api = function(ap, cb, data, method) {var obj = {
url: config.BASE_URL + config.API_URL + ap,success: function(response) {
cb(response, response);}, error: function(response) {
cb(false, response);}
};if(data) obj.data = data;if(method) obj.method = method;$.ajax(obj);
}
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
jQuery-Implementierungfunction SuluAPI() {
var config = {BASE_URL: "/",LOGIN_URL: "admin/login_check",API_URL: "admin/api/"
};var login = function(username, password, cb) {
$.ajax({url: config.BASE_URL + config.LOGIN_URL, data: {
_username: username, _password: password
}, method: "post",success: function(response) {
cb(true, response);}, error: function(response) {
cb(false, response);}
});};var api = function(ap, cb, data, method) {
var obj = {url: config.BASE_URL + config.API_URL + ap,success: function(response) {
cb(response, response);}, error: function(response) {
cb(false, response);}
};if(data) obj.data = data;if(method) obj.method = method;$.ajax(obj);
}var checkLogin = function(cb) {
api("languages", function(success, response) {if(success) cb(true, response);else cb(false, response);
});}return {
login: login,config: config,api: api,checkLogin: checkLogin
}}
➜sulu-standard app/console router:debug | grep "/admin/api" get_tag_fields GET ANY ANY /admin/api/tags/fields.{_format} put_tag_fields PUT ANY ANY /admin/api/tags/fields.{_format} get_tag GET ANY ANY /admin/api/tags/{id}.{_format} get_tags GET ANY ANY /admin/api/tags.{_format} post_tag POST ANY ANY /admin/api/tags.{_format} put_tag PUT ANY ANY /admin/api/tags/{id}.{_format} delete_tag DELETE ANY ANY /admin/api/tags/{id}.{_format} post_tag_merge POST ANY ANY /admin/api/tags/merge.{_format} patch_tagtags PATCH ANY ANY /admin/api/tags.{_format} fields_contact GET ANY ANY /admin/api/contacts/fields.{_format} get_contacts GET ANY ANY /admin/api/contacts.{_format} delete_contact DELETE ANY ANY /admin/api/contacts/{id}.{_format} get_contact GET ANY ANY /admin/api/contacts/{id}.{_format} post_contact POST ANY ANY /admin/api/contacts.{_format} put_contact PUT ANY ANY /admin/api/contacts/{id}.{_format} fields_account GET ANY ANY /admin/api/accounts/fields.{_format} multipledeleteinfo_account GET ANY ANY /admin/api/accounts/multipledeleteinfo.{_format} get_account GET ANY ANY /admin/api/accounts/{id}.{_format} get_account_contacts GET ANY ANY /admin/api/accounts/{id}/contacts.{_format} get_account_addresses GET ANY ANY /admin/api/accounts/{id}/addresses.{_format} put_account_contacts PUT ANY ANY /admin/api/accounts/{accountId}/contacts/{contactId}.{_format} delete_account_contacts DELETE ANY ANY /admin/api/accounts/{accountId}/contacts/{contactId}.{_format} get_accounts GET ANY ANY /admin/api/accounts.{_format} post_account POST ANY ANY /admin/api/accounts.{_format} put_account PUT ANY ANY /admin/api/accounts/{id}.{_format} patch_account PATCH ANY ANY /admin/api/accounts/{id}.{_format} delete_account DELETE ANY ANY /admin/api/accounts/{id}.{_format} get_account_deleteinfo GET ANY ANY /admin/api/accounts/{id}/deleteinfo.{_format} get_contact_title GET ANY ANY /admin/api/contact/titles/{id}.{_format} get_contact_titles GET ANY ANY /admin/api/contact/titles.{_format} post_contact_title POST ANY ANY /admin/api/contact/titles.{_format} put_contact_title PUT ANY ANY /admin/api/contacts/{id}/title.{_format} delete_contact_title DELETE ANY ANY /admin/api/contact/titles/{id}.{_format} patch_contact_title PATCH ANY ANY /admin/api/contact/titles.{_format} get_position GET ANY ANY /admin/api/contact/positions/{id}.{_format} get_positions GET ANY ANY /admin/api/contact/positions.{_format} post_position POST ANY ANY /admin/api/contact/positions.{_format} put_position PUT ANY ANY /admin/api/positions/{id}.{_format} delete_position DELETE ANY ANY /admin/api/contact/positions/{id}.{_format} patch_position PATCH ANY ANY /admin/api/contact/positions.{_format}
get_nodes GET ANY ANY /admin/api/nodes.{_format} put_node PUT ANY ANY /admin/api/nodes/{uuid}.{_format} post_node POST ANY ANY /admin/api/nodes.{_format} delete_node DELETE ANY ANY /admin/api/nodes/{uuid}.{_format} post_node_trigger POST ANY ANY /admin/api/nodes/{uuid}.{_format} get_node_seo GET ANY ANY /admin/api/nodes/{uuid}/seo.{_format} post_node_seo POST ANY ANY /admin/api/nodes/{uuid}/seos.{_format} get_webspace_localizations GET ANY ANY /admin/api/webspace/localizations.{_format} get_collection_fields GET ANY ANY /admin/api/collection/fields.{_format} put_collection_fields PUT ANY ANY /admin/api/collection/fields.{_format} get_collection GET ANY ANY /admin/api/collections/{id}.{_format} get_collections GET ANY ANY /admin/api/collections.{_format} post_collection POST ANY ANY /admin/api/collections.{_format} put_collection PUT ANY ANY /admin/api/collections/{id}.{_format} delete_collection DELETE ANY ANY /admin/api/collections/{id}.{_format} post_collection_trigger POST ANY ANY /admin/api/collections/{id}.{_format} cget_media GET ANY ANY /admin/api/media.{_format} get_media_fields GET ANY ANY /admin/api/media/fields.{_format} get_media GET ANY ANY /admin/api/media/{id}.{_format} post_media POST ANY ANY /admin/api/media.{_format} put_media PUT ANY ANY /admin/api/media/{id}.{_format} delete_media DELETE ANY ANY /admin/api/media/{id}.{_format} post_media_trigger POST ANY ANY /admin/api/media/{id}.{_format} get_category_fields GET ANY ANY /admin/api/categories/fields.{_format} get_category GET ANY ANY /admin/api/categories/{id}.{_format} get_category_children GET ANY ANY /admin/api/categories/{key}/children.{_format} get_categories GET ANY ANY /admin/api/categories.{_format} post_category POST ANY ANY /admin/api/categories.{_format} put_category PUT ANY ANY /admin/api/categories/{id}.{_format} patch_category PATCH ANY ANY /admin/api/categories/{id}.{_format} delete_category DELETE ANY ANY /admin/api/categories/{id}.{_format} get_snippets GET ANY ANY /admin/api/snippets.{_format} get_snippet GET ANY ANY /admin/api/snippets/{uuid}.{_format} post_snippet POST ANY ANY /admin/api/snippets.{_format} put_snippet PUT ANY ANY /admin/api/snippets/{uuid}.{_format} delete_snippet DELETE ANY ANY /admin/api/snippets/{uuid}.{_format} get_snippet_fields GET ANY ANY /admin/api/snippet/fields.{_format} cget_snippet_types GET ANY ANY /admin/api/snippet/types.{_format} get_snippet_types GET ANY ANY /admin/api/snippet/types.{_format} get_languages GET ANY ANY /admin/api/languages.{_format} get_localizations GET ANY ANY /admin/api/localizations.{_format}
© 2015 MASSIVE ART WebServices GmbH | www.massiveart.com
API Security Roles
Summary
Sulu and the other guys
© 2015 MASSIVE ART WebServices GmbH | www.massiveart.com
…so Sulu is there…
© 2015 MASSIVE ART WebServices GmbH | www.massiveart.com
…ready to play…
© 2015 MASSIVE ART WebServices GmbH | www.massiveart.com
…with the guys hanging around at your server!
Mr. Sulu
Mr. Sulu
Mr. SAP-Connector
Mr. Sulu
Mr. ElasticSearch-Content
Mr. SAP-Connector
Mr. Sulu
Mr. ElasticSearch-Content
Mr. SAP-Connector
Mrs. Intranet-Pusher
© 2015 | Sulu® is released under the terms of the MIT license | www.sulu.io
Community
– github.com/sulu-io
– docs.sulu.io
– twitter.com/sulu_io
– stackoverflow.com/questions/tagged/sulu
– sulu.io/contact#Slack
– We’d love to learn from your feedback!
Meet us at the Hack Day!
http://joind.in/talk/view/15070