Upload
ez-systems
View
202
Download
1
Embed Size (px)
Citation preview
EZ PLATFORM & EZ STUDIO: WHERE WE ARE, WHERE WE ARE GOING, AND A LOOK TOWARDS 2.0 AND BEYOND #ezconf2016 5.OCT 2016By André Rømcke
WHERE CONTENT MEANS BUSINESS
AGENDA
๏ Where we are and whats coming short term
๏ Coming UI features
๏ Coming Technical features
www.ez.no
Who?
๏André Rømcke | @andrerom
๏Norwegian, mountains, skiing, biking, running, technology, beer, wine, foodie, ..
๏PHP for 11 years. From 96: Html, CSS, JS, VB, C#, PHP, Bash, Groovy, (Hack)
๏Contributed to Symfony, FOS, Composer, FIG, Docker, and attempting for PHP
๏VP Engineering at eZ Systems
๏eZ Systems AS | ez.no
๏Global, 70+ people across 7+ countries, partners & community in many many more
๏Maker of eZ Publish since 2001, 6th+ gen called eZ Studio (commercial) & eZ Platform
๏eZ Platform | ezplatform.com
๏Open source Content Management System, a super flexible Full and Headless CMS
๏Developed since 2011, on Symfony Full Stack since 2012 (v2.0)
Where we are and whats coming short termSome selected features being worked on recently
www.ez.no
Search
๏UI
๏1.4: Initial prototype bundle
๏1.6: Integrated
๏Backend: SQL
๏1.5: Support for Fulltext indexing
๏Backend: Solr
๏1.4: Better error handling during indexing
๏1.6: Better relevancy sorting on FullText search
๏1.6: Better integration with Repository to keep index in sync
www.ez.no
Version Management
๏1.4: Initial version showing versions
๏1.5: Ability to remove and edit drafts + editing conflict screen
๏Coming in future releases:
๏Display Author name
๏Display dates right
www.ez.no
Content on the Fly
๏1.4: Initial prototype bundle
๏1.5: Several bug fixes in how embedded content is loaded
๏1.7: Integrated and with improvements to logic
www.ez.nowww.ez.no
Other UI improvements
๏1.6 (2016.10)
๏ i18n: Possibility to translate the UI
๏ UI error handling: Better handling of session expiry & FieldType validation
๏1.7 (2016.12 / 2017 LTS)
๏ Other: Autosave drafts, Permission UI granularity
www.ez.no
Docker Tools beta
๏Intended to become a best practice blueprint for server setup, input wanted.
๏Not intended to solve issues with Docker itself, they are working on those
๏Not implying you have to use Docker or Swarm, but a place to share setup
๏1.4:
๏Single server (PHP7, Nginx, MariaDB)
๏Built in support for Blackfire
๏Selenium setup for running Behat/Functional tests
๏1.5: Redis for testing
๏1.6: Reduced image sizes and solved several issues
๏Future:
๏Cluster setup for use with Swarm (Varnish, load balancing, NFS/*, scale out)
Coming UI featureswith Roland Benedetti
www.ez.nowww.ez.no
Peek at current PM specs.. from roadmap epic board:https://jira.ez.no/secure/RapidBoard.jspa?rapidView=51
Coming Technical features
www.ez.no
Improved Storage engine
๏ Iteratively improve on todays LegacyDB
๏ Improve database consistency
๏ Content scalability:
๏ Flatten Field data
๏ Move version archives to own table
๏ Improved support for modern db clustering / replication technologies
www.ez.noez.no
Moving to Symfony 3’s Cache Component
Stash Cache* Doctrine Cache** Symfony Cache***
loadContenetInfo 5 2 1
loadContenet 6 2 1
findContent10 items 42 2 1
*** W/ native adapters, not Doctrine.* memcached/redis, to compute keys for hierarchical cache. ** With versioning.
Round trips done to backend cache system for a given cache item(s) lookup, esp. important if high latency.
www.ez.no
Http Cache Embedding + Multi tagging
๏As any other CRUD based REST API, severallookups needed in order to display relevant info
๏
www.ez.no
Http Cache Embedding + Multi tagging
๏Needed for:
๏Displaying Author name by embedding content info of author object
๏Permission UI granularity by embed information about user permission
๏…many other places to enrich the different comportments
๏Not planned to be used for:
๏ Embedding Content Type lookups, these are to big and should rather be cached client side
www.ez.no
Improve / Simplify Repository API
๏Simplify use by moving some logic currently done all over into Repository:
๏ Languages, and only return one language at a time per default
๏ Embed more Info on objects, for instance Content type identifier + name
๏ and other use cases found in Object Wrapper, Site API, .. for API DX
๏Introduce more extension points
๏
www.ez.no
Other potential future technologies
๏Que system
๏Async handling of things like search indexing, tree operations, ..
๏API v3? With GraphQL capabilities according to spec to:
๏Be able to use directly from js libs like React (Relay) => less need for js REST Client
๏Enhance PHP API to allow direct serialization => less need for own REST Server layer
๏Thus potentially simplifying our stack both for use and maintenance
๏Lets discuss ;)
The End, for now..
Want to participate in discussing or working on the new features or UI rework planned next year?Reach out to PM or Engineering team during conference, or on ezcommunity slack. Oh, and one more thing: