Content Management has come of age and systems need to move forward. Tools such as WordPress, Drupal and eZ Publish have evolved to what they are rather organically. Now they face the challenge of renewing themselves.
Slides from this week's webinar with the Blue Fish Development Group showing how easy web content management really is with Alfresco Share 3.2. Blue Fish have over 11 years experience of WCM and appreciate that organisations need different things from their CMS. Traditional websites need a CMS that is aimed at the business user - see just how easy this is with their Casual Contributor UI demo.
Alfresco provides many extensions points for building custom solutions, integrating with a multitude of different tools. Learn how Alfresco’s Integration Engineering team has approached building integrations with Jive and Dropbox. See what’s coming around the bend and how you can participate with community lead integration projects.
Big Data! Great! Now What? #SymfonyCon 2014Ricard Clau
Big Data is one of the new buzzwords in the industry. Everyone is using NoSQL databases. MySQL is not cool anymore. But... do we really have big data? Where should we store it? Are the traditional RDBMS databases dead? Is NoSQL the solution to our problems? And most importantly, how can PHP and Symfony2 help with it?
Slides from this week's webinar with the Blue Fish Development Group showing how easy web content management really is with Alfresco Share 3.2. Blue Fish have over 11 years experience of WCM and appreciate that organisations need different things from their CMS. Traditional websites need a CMS that is aimed at the business user - see just how easy this is with their Casual Contributor UI demo.
Alfresco provides many extensions points for building custom solutions, integrating with a multitude of different tools. Learn how Alfresco’s Integration Engineering team has approached building integrations with Jive and Dropbox. See what’s coming around the bend and how you can participate with community lead integration projects.
Big Data! Great! Now What? #SymfonyCon 2014Ricard Clau
Big Data is one of the new buzzwords in the industry. Everyone is using NoSQL databases. MySQL is not cool anymore. But... do we really have big data? Where should we store it? Are the traditional RDBMS databases dead? Is NoSQL the solution to our problems? And most importantly, how can PHP and Symfony2 help with it?
From Zero to ZF: Your first zend framework project on ibm iAlan Seiden
Step by step, I'll demonstrate the creation of a Zend Framework (ZF) project, with special attention to configuring the db2 adapter so it works well with IBM i.
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...Jon Peck
EW.com, the digital site for Entertainment Weekly and a top entertainment news site, is in the final stages of migrating from Vignette 6 CMS and 10 different WordPress blogs to a single unified platform built on Drupal 7. Join the primary Four Kitchens engineers on the project as we discuss the process, starting with discovery all the way through launch preparation.
Challenges include:
- Migrating close to 170,000 posts, 475,000 terms, 280,000 images into Drupal without spilling a drop
- Separating overloaded freeform tags into specific vocabularies and creative works
- Maintaining a high performance backend and frontend with multiple distributed caching layers
- Coordinating a distributed team across multiple continents
- Enforcing best practices, code quality and standards
- High speed integrations with an existing and complex advertising system
- Porting legacy, non-standard code and maintaining functional parity
We’ll also discuss:
- Development environments using unified Virtual Machines
- Custom Drupal distributions used across multiple in-house groups for different projects
- Promoting open-source culture in a commercial environment
- Deployment and cutover strategies
Strategic Modernization with PHP on IBM iAlan Seiden
You know you need to modernize your IBM i applications, but where to start? In this talk, Alan will inspire you with creative examples of modernization on IBM i that provided a strong return on investment while controlling risk. Learn how to choose projects with the best return on investment, and then complete them with confidence. We will lead an honest discussion of the most effective strategies. Can RPG programmers learn PHP? Yes. Can new PHP developers be integrated into an existing IT department? Yes. Both approaches have merit. See creative ways to use PHP, not only to create new GUI front-ends, but to enhance existing interactive RPG programs. Please your users and business people by incorporating PHP into your shop.
Recent advances in DB2 and SQL can make PHP applications more secure, efficient, and require less code. Learn how to take advantage of a true enterprise-grade database: DB2 for IBM i. This tutorial will show the right way to use DB2 with PHP. Topics include: RCAC row and column security built into DB2, techniques to reduce the amount of required boilerplate PHP database code, new features of DB2 and ibm_db2 that can make life easier for developers, detailed performance tips, prevention of SQL injection, library list options, connecting to IBM i's DB2 from Windows and Linux, implementing pagination, using Zend\Db, and more. With new material presented for the first time anywhere.
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!Howard Greenberg
Come learn what all the user groups have been doing and what their future plans are in this COVID world. We have user groups from all over the Planet including:
DNUG (Germany) - Daniel Reichelt and Andreas Weinbrecht
Let's Connect (Worldwide) - Wannes Rams and Maria Nodin
Rnug (Russia) - Vladislav Tatarincev and Ivan Kuzmenkov
HCL Factory Tour - Tim Clark
Collabsphere (US) - Richard Moy
NCug (Scandinavia) - Hogne Bo Pettersen
Sutol (Czech Republic) - Jan Valdman
Engage (EU) - Theo Heselmans
C3UG (Canada) - Graham Acres
Watch the video at https://youtu.be/aDUrWxGaK-Q
WordPress & Other Content Management SystemsEmily Lewis
"InfoByte" presentation for the University of New Mexico's Continuing Education program. Includes a high-level survey of several CMSes, including WordPress, ExpressionEngine, Plone, Drupal, Joomla and MojoMotor. Also includes a discussion about choosing a CMS.
From Zero to ZF: Your first zend framework project on ibm iAlan Seiden
Step by step, I'll demonstrate the creation of a Zend Framework (ZF) project, with special attention to configuring the db2 adapter so it works well with IBM i.
The Great Consolidation - Entertainment Weekly Migration Case Study - SANDcam...Jon Peck
EW.com, the digital site for Entertainment Weekly and a top entertainment news site, is in the final stages of migrating from Vignette 6 CMS and 10 different WordPress blogs to a single unified platform built on Drupal 7. Join the primary Four Kitchens engineers on the project as we discuss the process, starting with discovery all the way through launch preparation.
Challenges include:
- Migrating close to 170,000 posts, 475,000 terms, 280,000 images into Drupal without spilling a drop
- Separating overloaded freeform tags into specific vocabularies and creative works
- Maintaining a high performance backend and frontend with multiple distributed caching layers
- Coordinating a distributed team across multiple continents
- Enforcing best practices, code quality and standards
- High speed integrations with an existing and complex advertising system
- Porting legacy, non-standard code and maintaining functional parity
We’ll also discuss:
- Development environments using unified Virtual Machines
- Custom Drupal distributions used across multiple in-house groups for different projects
- Promoting open-source culture in a commercial environment
- Deployment and cutover strategies
Strategic Modernization with PHP on IBM iAlan Seiden
You know you need to modernize your IBM i applications, but where to start? In this talk, Alan will inspire you with creative examples of modernization on IBM i that provided a strong return on investment while controlling risk. Learn how to choose projects with the best return on investment, and then complete them with confidence. We will lead an honest discussion of the most effective strategies. Can RPG programmers learn PHP? Yes. Can new PHP developers be integrated into an existing IT department? Yes. Both approaches have merit. See creative ways to use PHP, not only to create new GUI front-ends, but to enhance existing interactive RPG programs. Please your users and business people by incorporating PHP into your shop.
Recent advances in DB2 and SQL can make PHP applications more secure, efficient, and require less code. Learn how to take advantage of a true enterprise-grade database: DB2 for IBM i. This tutorial will show the right way to use DB2 with PHP. Topics include: RCAC row and column security built into DB2, techniques to reduce the amount of required boilerplate PHP database code, new features of DB2 and ibm_db2 that can make life easier for developers, detailed performance tips, prevention of SQL injection, library list options, connecting to IBM i's DB2 from Windows and Linux, implementing pagination, using Zend\Db, and more. With new material presented for the first time anywhere.
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!Howard Greenberg
Come learn what all the user groups have been doing and what their future plans are in this COVID world. We have user groups from all over the Planet including:
DNUG (Germany) - Daniel Reichelt and Andreas Weinbrecht
Let's Connect (Worldwide) - Wannes Rams and Maria Nodin
Rnug (Russia) - Vladislav Tatarincev and Ivan Kuzmenkov
HCL Factory Tour - Tim Clark
Collabsphere (US) - Richard Moy
NCug (Scandinavia) - Hogne Bo Pettersen
Sutol (Czech Republic) - Jan Valdman
Engage (EU) - Theo Heselmans
C3UG (Canada) - Graham Acres
Watch the video at https://youtu.be/aDUrWxGaK-Q
WordPress & Other Content Management SystemsEmily Lewis
"InfoByte" presentation for the University of New Mexico's Continuing Education program. Includes a high-level survey of several CMSes, including WordPress, ExpressionEngine, Plone, Drupal, Joomla and MojoMotor. Also includes a discussion about choosing a CMS.
A Documentation Crash Course, LinuxCon 2016Chris Ward
How many times have you come across an awesome looking library or tool that you're keen to work with in your own project but can't even begin to understand how to use it?
Programmers are great at creating amazing and cutting-edge code, but not always so good and explaining themselves, and I want to help. In this presentation I want to draw upon my experience in writing tutorials and technical documentation to help you write clear, concise and usable documentation for your own projects.
Entrez dans le mouvement Maker à l’aide des technologies MicrosoftFabrice BARBIN
Rebuild 2015 - Nantes - 01/10/2015
Découvrez les technologies et outils Microsoft en mesure d'aider les Makers : impression 3D, électronique, interaction, services hébergés...
We're coffee aficionados and craft beer lovers. We play ping pong and kicker. We're music buffs, library rats or movie geeks. We work with passion and we believe in our product.
We are the Contentful team!
I'm back at the infamous FOSDEM, this time to talk about making your documentation polished by automating spelling, grammar, testing, screenshots and so much more.
Afin d'anticiper nos usages à venir en matière de développement web, Il est intéressant de voir comment cela a évolué. D'applications monolithiques nous créons des applications basées sur des composants ou sur le concepts de micro-services.
Back to the future with static site generatorsChris Ward
If you remember when web sites were all created with plain HTML pages, then you'll know that CMSs and dynamic web frameworks saved us and solved all our problems. Or did they? In fact, we instead spend a lot of time customising existing code to meet our requirements, grappling with deployments and then whacking caching on top of over-powered servers to get an ounce of speed.
Static Site Generators aim to sit somewhere in the middle and are perfect for semi-dynamic sites and with a little learning, better for content creators.
In this session, Chris will look at an overview of the principles and options for static site generators and deep dive into one or two to explain further how the work and can fit into your projects.
Google : Prise en charge de l'Ajax et de l'Angular JSPeak Ace
Slides présentées lors du Petit Déjeuner Search Foresight du 19 novembre 2015.
Google vient d'annoncer qu'ils cessaient de promouvoir la méthode des "hashbangs" et des "escaped fragments" pour rendre les sites faits en ajax crawlables.
Comment interpréter ce revirement, et comment Google se comporte vraiment avec des sites faits en Ajax.
Point sur les bonnes pratiques dans ce domaine, en particulier pour les sites faits avec des technologies nouvelles comme Angular JS
Drupal oh Drupal how do I interoperate with thee? Let me count the ways....interoperability between Alfresco and Drupal allows developers to build systems that take advantage of the complimentary strengths of both systems. As you can imagine, there are a number of different ways to integrate the two platforms. Some of the decision points that need to be considered are: Push vs pull, CMIS vs custom webscripts and when to align the users between Alfresco and Drupal instances. This talk will explore various patterns of integration and the use cases that they are best suited for.
So your company has decided to take its documentation mobile. Great!
But just saying “go mobile” is too vague. Is it an app? Responsively designed online help? A mobilized web site? Something else? What effect might going mobile have on your documentation efforts? That’s the subject of this presentation.
We’ll first look at various definitions of “mobile” including apps, responsive design, mobilized web sites, and more – their pros and cons, and tools you can use to create them. We’ll then look at how you might have to change your documentation practices in order to move to mobile, such as requiring greater syntactical rigor, eliminating local formatting, using relative fonts and media queries to create resizable tables and content, and more.
You’ll leave this presentation with a solid understanding of options for going mobile and how your work may have to change to stay on the cutting edge of technical communication.
Last Call Media was the first to launch a corporate site on Drupal 8. Find out how it went. This case study reviews the challenges and successes of being an early adopter.
PHP Programming course provides the knowledge necessary to design and develop dynamic, database-driven web pages using PHP version 5. PHP is a language written for the web, quick to learn, easy to deploy and provides substantial functionality required for e-commerce. This course introduces the PHP framework and syntax, and covers in depth the most important techniques used to build dynamic web sites. Students also learn how to configure PHP and the Apache Web Server. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.
Ibexa DXP 3.2 adds an important new feature to the integrated search: the Aggregation API. This API allows sophisticated search filtering and more, using our search integration with Elasticsearch and Solr backends.
In this recording from December 2020, you'll learn how the Aggregation API works from our engineers, how to use and customize it to create amazing search experiences for your visitors with Ibexa DXP.
Webinar recording: https://www.ibexa.co/resources/videos/aggregation-api-in-ibexa-dxp-webinar
Code snippets: https://github.com/adamwojs/ezplatform-aggregations-demo
GraphQL APIs is with eZ Platform, a Symfony CMSJani Tarvainen
GraphQL has gained traction as a good solution for building APIs of all kind. It is especially developer friendly for building decoupled sites. The technology originates from Facebook, but is now an open standard that has multiple implementations in different languages.
These slides describes the current state of GraphQL and eZ Platform, an enterprise grade Content Management System (CMS) , and what approaches are available for developers looking to use the powerful content management platform with the agile API format provided by the GraphQL specification.
Slides also here: https://janit.iki.fi/ez-platform-graphql/
Introduction to eZ Platform v2 UI CustomizationJani Tarvainen
eZ Platform is a powerful Content Management System built on the solid Symfony framework. In most enterprise grade CMS implementations the administration user interface needs to be extended.
In the case for eZ Platform version 2.0.0 this is now done with a combination of Symfony framework and React.js JavaScript Widgets. This presentation gives a quick overview of the system architecture and the available extension points for developers.
Easy Decoupled Sitebuilding with GraphQL and Next.jsJani Tarvainen
Decoupled CMS implementations has been a buzz word for some years now. But still building a decoupled site continues to have a high overhead because of the setup needed and the nature of RESTful APIs.
Meanwhile the JavaScript world and the web platform in general have taken great leaps. In this talk we discover how using Next.js, a JavaScript framework, and GraphQL, a Query Language for APIs, to build decoupled websites using any CMS that supports GraphQL.
Using this combination reduces time spent on boilerplate code, creating Server Side Rendered (SSR) views for maximum SEO impact as well as a good developer experience.
Doctrine ORM with eZ Platform REST API and GraphQLJani Tarvainen
The eZ Platform Enterprise Content Management System (CMS) can accommodate additional data sources in addition to it's standard content repository. Written in PHP on the Symfony full stack framework developers can use relational databases, hybrid SQL engines like PostgreSQL or MySQL or NoSQL stores like MongoDB. This presentation shows some hands on examples with the Doctrine ORM, also integrating with the GraphQL protocol as well as the built in REST Framework of eZ Platform.
Using eZ Platform as a Headless CMS (with Vue.js)Jani Tarvainen
In this workshop in the Web Summer Camp 2016 in Rovinj, Croatia we discuss how to use the eZ Platform as a Headless CMS. What are the challenges and opportunities and finally how to implement one using the Vue.js JavaScript library.
Performance Comparison of PHP 5.6 vs. 7.0 vs HHVMJani Tarvainen
A lot has happened in the world of PHP and web development in terms of performance in the last few years. Facebook's HHVM runtime pushed the envelope with improved performance and efficiency, but now with PHP 7.0 out what is the case now?
Here are some numbers for running a Symfony application, eZ Platform through it's paces on PHP 5.6, PHP 7.0 and HHVM.
Exploring Content API Options - March 23rd 2016Jani Tarvainen
Today the market is awash with options available for developers to consume content using the APIs. Some go as far as describing their offering as a CMS without the bad parts, where as some choose to provide content using a data centric API platform.
All of this while the classic Content Management System players are opening up their core via APIs and modernising their technical platforms. Is there a silver bullet for Content APIs? Let's find out!
Original presentation format available on Sway: https://sway.com/YIZfYDgcQyJwcmWI
Isomorphic server side rendering with TwigJani Tarvainen
§ Program logic moving to the client
§ Vue, Angular, React, etc, etc.
§ Sending data only via a REST API works,
but not ideal on the first page load
§ 1st HTML view rendered by server for best perf.
§ Duplicating program logic & templates in the
back end and front end adds complexity
Isomorphic JavaScript
§ It’s now staple to run JavaScript on the server
§ You can run (parts) of the code base in both the
server and the browser
§ Server renders the 1st view state
§ Front end app picks up via REST from there on
§ Browser receives http://example.com/foo/BAR
<h1>BAR</h1> vs. <h1>{ foo }</h1>
Isomorphic Drupal Options
§ Drupal as REST back end only for a Node front
§ You miss out on Drupal features (blocks, etc.) and
are forced to an app only approach
§ A browser proxy (Phantom.js, etc.) renders 1st
view
§ Adds complexity to your server setup, development
§ Render tags content via Twig
§ Fluent mixing of standard Twig templating and
Node.js rendered tags (with state)
Twigriot
§ Proof of concept of rendering Node.js rendered
content Twig:
§ {{ riot_render('ymap',coords) }}
§ No developer overhead once initial setup is done
§ More at
http://www.symfony.fi/twig-node
Understanding User Behavior with Google Analytics.pdfSEO Article Boost
Unlocking the full potential of Google Analytics is crucial for understanding and optimizing your website’s performance. This guide dives deep into the essential aspects of Google Analytics, from analyzing traffic sources to understanding user demographics and tracking user engagement.
Traffic Sources Analysis:
Discover where your website traffic originates. By examining the Acquisition section, you can identify whether visitors come from organic search, paid campaigns, direct visits, social media, or referral links. This knowledge helps in refining marketing strategies and optimizing resource allocation.
User Demographics Insights:
Gain a comprehensive view of your audience by exploring demographic data in the Audience section. Understand age, gender, and interests to tailor your marketing strategies effectively. Leverage this information to create personalized content and improve user engagement and conversion rates.
Tracking User Engagement:
Learn how to measure user interaction with your site through key metrics like bounce rate, average session duration, and pages per session. Enhance user experience by analyzing engagement metrics and implementing strategies to keep visitors engaged.
Conversion Rate Optimization:
Understand the importance of conversion rates and how to track them using Google Analytics. Set up Goals, analyze conversion funnels, segment your audience, and employ A/B testing to optimize your website for higher conversions. Utilize ecommerce tracking and multi-channel funnels for a detailed view of your sales performance and marketing channel contributions.
Custom Reports and Dashboards:
Create custom reports and dashboards to visualize and interpret data relevant to your business goals. Use advanced filters, segments, and visualization options to gain deeper insights. Incorporate custom dimensions and metrics for tailored data analysis. Integrate external data sources to enrich your analytics and make well-informed decisions.
This guide is designed to help you harness the power of Google Analytics for making data-driven decisions that enhance website performance and achieve your digital marketing objectives. Whether you are looking to improve SEO, refine your social media strategy, or boost conversion rates, understanding and utilizing Google Analytics is essential for your success.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
Instagram has become one of the most popular social media platforms, allowing people to share photos, videos, and stories with their followers. Sometimes, though, you might want to view someone's story without them knowing.
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...JeyaPerumal1
A cellular network, frequently referred to as a mobile network, is a type of communication system that enables wireless communication between mobile devices. The final stage of connectivity is achieved by segmenting the comprehensive service area into several compact zones, each called a cell.
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
2. Agenda and Focus
• History, briefly on today and a practical example of one way forward
• Focus on, but not limited to, Open Source PHP Content Management
• I'll just pretend I know it all and am always right
• In a developer mindset, no business agenda
3. Content management in the Nordics
• EpiServer, Midgard, SiteCore, eZ
Publish, eScenic, Polopoly, Umbraco...
• The Nordics are a great place to do content management, but
momentum seems to be shifting to central Europe
• There are not enough Content Management Hipsters around
• A lot of CMS enthusiasts (WordPressers, Drupalistas, Joomlagsters,
etc.)
• Finns like to build websites, but not tools to build websites?
4. A reference (nevermind the Finnish)
• ...toimittama ratkaisu on globaalisti käytettävä Internetin julkaisu- ja
sisällönhallintajärjestelmä. Se mahdollistaa sekä konsernin
maailmanlaajuisesti levitettävän aineiston että maakohtaisen,
paikallisilla kielillä valmistettavan sisällön hallinnan ja julkaisun
keskitetysti yhden järjestelmän kautta. Sisällönhallintajärjestelmän
avulla Kone voi lisäksi rakentaa uusia palvelukokonaisuuksia täysin
itsenäisesti.
7. Content Management Yesterday
• Pay a million dollars for some HTML forms, a database and some
scripts to tie those together.
• Noobs started creating similar software for themselves with LAMP
• Better technology does not always "win", hip and easy does.
• Throwing money at it also worked.
8. Content Management Today
• Everything and nothing has changed
• The forms, DB and scripts free, but they're still just that in better(?)
tech
• The noobs (and PHP) grew up, "their" software now powers the
internet
• You can really setup a great website without coding skillz
• Known brands dominate, even though anyone can create cola
9. Content Management Today
• Content management is a commodity nowadays
• Expectations high: "Make it work like Google, Facebook and Apple
do"
• Popular tools were not built for today, they have evolved for today
• 10+ year old feature rich software translates to a lot of legacy
• Wordpress and Drupal onboard: REST API is a sure bet in bullshit
bingo
• Status quo likely to hold a few years, nothing groundbreaking in sight?
10. Content Management Tomorrow?
• The ferry trip ticket is free, but you're expected to spend at the
taxfree on hosting, support, marketing automation, spam blocking...
• Some thoughts on sustainability:
• Scaling Open Source communities
• Five for the Future
11. Famous quotes
• "WordPress is too big to fail"
• "Nobody ever got fired for buying Drupal"
• "If I had asked people what they wanted, they would have said a
better Joomla!"
• "If all you have is eZ Publish, everything looks like content to publish”
12. Why change and is it even possible?
• "The Unix philosophy emphasizes building short, simple, clear,
modular, and extensible code that can be easily maintained and
repurposed by developers other than its creators."
• Our current tools are like Windows. Victims of their own success.
• Why do we reinvent the wheel? Create abstractions for content, etc.
• Operating systems being cloudified, but we still scaling with "servers"
not services
13. Why change and is it even possible?
• The previously impossible does happen: Nokia phones sold to
Microsoft as they fight irrelevance
• There needs to be a real payoff for change, not just tech tinkering
• These systems enforce you to work on their terms and you can't often
genuinely swap pieces like in a framework
• Decoupling been trumpeted for years, but most CMSs remain
monoliths
15. Examples of change in LAMP CMSs
• WordPress: Nothing fundamental yet, gradual improvements
• Large scale change will be monumental (not core, but the plugins)
• Giant user and developer base to please
• "We are a framework!"
• Typo3: Write your own PHP web framework
• No, just no.
16. Examples of change in LAMP CMSs
• Drupal 8: Introducing more common components
• Major technical improvements to Drupal with Symfony Components
• Drupalisms, but with new stuff... a bit of a bastard.
• Some developer upheaval: a credible Drupal 7 fork
• Apostrophe: Rebuilding from scratch (Symfony1 -> Express.js)
• Lots of work and two parallel versions
• An interesting project to follow!
18. Some truths about eZ Publish
• eZ Publish is not easy!
• eZ Publish will not take over the world!
• eZ Publish will not be as easy to hack as WordPress!
• eZ Publish does not "have a module for that" like Drupal!
• eZ Publish can still be a good choice for some use cases!
19. Solid basic concepts since, like... forever
• One application with one or more content repositories (with a tree)
• Perform queries on content (object) or location (node)
• Sites are configured views to a repository:
• Site matching with domain, path, combo
• Site root location
• Languages
• Designs…
20. Starting point
• Started in 1999, ticks "all the boxes" in the feature lists ('memba
these?)
• Custom MVC framework, DB, based on 2002 PHP4 OOP (static
methods)
• Core product has rich text editing, locations, versioning,
multilanguage, Solr search engine, auditing, web store, full XML
content, REST API, etc...
• Limited popularity due to complexity and learning curve
• It works, but clearly the end is nigh
21. Refactoring eZ Publish
• Move to full stack Symfony2 with 100% backwards compatibility
• No DB schema change for legacy storage engine
• Storage engines are pluggable, currently legacy and legacy_solr
(Elastic Search being worked on)
• Refactoring legacy functionality gradually to services
• Symfony3 in the future is an evolution, not a revolution
22. Refactoring eZ Publish
• Leveraging Symfony2 for authentication, routing, Doctrine
DBAL...Uses Symfony2 bundles
• (Flysystem, Stash, Imagine, HTTPCache...)
• Existing framework documentation applies
• It took around 2 years for a version to be honestly great
• New admin interface and other changes in 2015
• Just one Open Source eZ Platform
23. Relevant versions*
• 4.7: The last legacy version
• 5.4: The last version with Symfony2 and legacy support
• 6.x: Symfony2 stack only
• API: eZ API and Domain objects only
* Community versions use YYYY.MM versioning
24. Working with 2014.11 - the great
• Woot, it is HMVC through and through. Symfony2 devs feel at home!
• Upgrade from a 2008 eZ Publish worked
• You can gradually refactor your legacy site(s):
• Use a mixture of legacy and new template code
• Access legacy kernel anywhere (in a closure)
• Add new sites without legacy functionality calls
• Caching is Symfony awesome
• PHPStorm autocompletion for API kicks ass
25. Working with 2014.11 - the bad
• You'll need to know a lot to get started and it's work in progress
• Documentation is not really great, no established good practices
• Would need more "how-to" articles to gain popularity
• Symfony template functionality still not teh bestest (theme
inheritance)
• Rapid development (coding can't touch Drupal clicking, WP
hackability)
• Performance? I guess well built Symfony2 scales enough for most
needs
26. Working with 2014.11 - the hmmm…
• So it's nice for developers, but no beef for the customers yet
• You can do things faster in XYZ if you know it
• Still limited adoption
• No set public site architecture (think Drupal behaviours, etc.)
• Symfonysms apply
27. Divide and conquer
• Use best from elsewhere, don't use the CMF/CMS for everything
• Full REST API and a client lib for single page apps (Angular, Ember...)
• Leverage Elcodi or Sylius components for eCommerce
• Push emails to RabbitMQ for sending, or other batch jobs?
• No need to include the whole stack to use just the API in your apps
28. Some code and stuff
• ezstart, a demo setup
• EzXmlSitemapBundle
• eZ Publish Docker
• Using legacy code
• Signals reference
• eZ Publish Public API
• eZ Publish REST API
• HTTP Caching
29. Cool links of the day
• Sulu CMF
• Keystone.js
• Bolt CMS
• October CMS
• PHPCR
• ORO CRM
• Developing with prismic.io
• Contentful for developers
• Symfony and CMS: Comparing Bolt, Drupal 8 and eZ Platform