Although it is interesting to read bickering about PHP in the blog comments, forum threads, or Facebook group discussions, this post is not about comparing PHP with other languages. It is about an important factor that keeps PHP on the top - the frameworks.
Currently, Platform UI is still in its early versions, but it's nearing release. This article deals with integrating custom field types into the new Admin interface. I'm using our TagsBundle as an example.
The SymfonyLive conferences are a great way to meet Symfony experts from all around the world. They are being held in several cities this year alone: Paris, Berlin, San Francisco and London. The 4th edition of SymfonyLive London was held on 17th and 18th of September 2015. My colleague Ivo and I attended, together with our partner and friend, Antonio of Locastic.
With PHP & eZ Publish Summer Camp approaching, we decided to ask Ryan Weaver, voted the best speaker last year, a few questions.
One month ago we announced a double event: the 3rd eZ Publish Summer Camp and the 1st PHP Summer Camp. Today we released some more information on each web site and are calling PHP, Symfony and eZ Publish gurus to send us proposals for workshops. There is an opportunity for interested companies and organisations to sponsor the events as well.
This post will be all about my experiences on the Faculty of Electrical Engineering in Osijek, how the whole idea of a lecture and workshop came to me, and how it all realised in the end.
Solr is an excellent search engine. We are using it for years through eZ Find (its an eZ Publish extension for searching) and its really powerful and flexible solution. Our use cases are not that complex so we never actually hit into a wall with Solr. But there is one problem when building search solutions in general which we encountered few times and for which Solr has no feature. It happens when the language of the indexed content is some language that we as integrators don't understand.
Responsive web design (RWD) redefined the way we design web sites. The disruption went deep and changed both the processes and deliverables we hold dear for so long, and today in Netgen RWD is the default route we take with every new project. But, bundled with its core unifying principle of every browser getting the same HTML, some tough problems arose. One of the most discussed is the responsive images problem of providing alternate images based on device capabilities and screen sizes.
There is a lot to learn about new eZ Publish 5 stack. The reason is simple: new architecture and new frameworks are being used. Lot of legacy knowledge is going to be deprecated, many tips & tricks you know now are no longer usable. The good thing is that the new platform is much more powerful simply because it uses Symfony framework. This blog post gives a perfect example on how to deal with problems when trying to use the new stack in your project.
eZ Flow enables content editors to create rich layouts in eZ Publish and is mostly used on portal pages. Read on to see how we can use the same tool for managing content elements in pagelayout template.
Building a sustainable web strategy in hyper-changing environment that we have today requires using powerful content management technology.
A few thoughts on why we think eZ Publish is the right tool to choose.
One thing that was continuously bothering us with eZ Publish when developing websites, was its built-in language switcher. For the most part and for smaller sites it works fine, but it does have some limitations. Since it generates URLs with /switchlanguage/to/ module view, it is not really SEO friendly. On larger sites with many pages and languages, it pollutes the search engine indexes and makes it really hard to filter relevant content. Another issue with it is that it doesn’t work with host_uri siteaccess matching. It simply won’t generate correct redirects.
I have a present for you all. In this article we will cover not one, but two topics which will actually be wrapped in a nice little functionality which you can use. So, we will cover the custom actions of eZ Publish, and the restrictions on content browsing.
It has been a crazy few weeks (nothing but work) here at Netgen since returning from eZ UnConference #1, so I am a bit behind schedule with this post, but better late than never. :-)
Impossible, you say :) After a long year, when we first started development of version 2.0 of eZ Tags, we finally have something to show to the community. We know it shouldn’t have lasted this long, but what can you do... Sometimes a paying job just gets in a way :)
If you'd like to know how the 3-day event on Bol went from an apprentice's point of view, read on!
We have just hit a new milestone. After opening the registrations back in May, today we finished all that we can do off site and tomorrow we are going to the Summer Camp location (Bol on island of Brač) to finish the preparations and welcome all attendees. Also, the registrations on the web site are closed too as we exceeded our expectations and there is too little time for some late guest to organize the trip.
In the second interview here on Netgen Blog our guest is André Rømcke. He is the Lead Engineer for eZ Publish CMS and one of the main people behind the new verison 5.
"eZ Publish 4.x is maybe the open source CMS out there with most features, so we might never have the same feature set in the core of 5.x as it represents a slight change of focus from quantity to quality" - AR
As we all know, eZ Publish is very powerful, so much that there are probably some settings you didn’t even know existed and when you do find them, you feel like a luckiest man/woman alive. But, so much power can sometimes bring lots of headaches :)
One, relatively recent, headache I was having was when setting up host_uri siteaccess matching on one fairly large multilanguage & multisite eZ Publish installation. The installation has couple of databases and domains and many languages.
One of the news that shook the eZ Community this month is the announcement of eZ Publish 5 being developed with Symfony framework.The initial blog post got a lot of attention, with the sentiment by far being positive, but with some well put concerns regarding the business side of the decision. Taking these into account, we still think the positive repercussions of this decision greatly out weight the possibly problematic ones, and here is why.
Few years back when eZ Find (on github) showed up we soon started to deploy it on almost every site we were implementing. The hearth of eZ Find is Solr - a Lucene based java search engine with REST interface. Bundled wit eZ Find comes Jetty for running the whole java stack with one command to keep the usage as simple as possible. We switched to Apache Tomcat instead. Learn why.
It was late November. My colleague Vjeran and me were driving to our second office (in Osijek). Driving for few hours on a highway is an excellent opportunity to brainstorm. It is usually hard to find time to discuss some ideas as you always have some better things to do. So we brainstormed so intensely that we missed the turn and lost 20 minutes going around :)
In this article, you will learn how to create your custom fetch functions which will help you in further development of your module. Also, this is a natural continuation of the last article because we will use the examples from the custom database table we created earlier to set up the new fetch functions.
If you need to brush up on your knowledge, I recommend reading the last Confessions of an Apprentice. If not, read on!
Usually I start with the event itself and mention the location at the end. This time the location really deserves to be mentioned first. In my humble opinion Lisbon was a bulls-eye decision due to the beautiful weather (sunny with almost 15 degrees Celsius) while most other parts of Europe were covered with snow and under freezing -15 degrees Celsius :). It was a great pleasure to enjoy the sun and discuss the future of eZ with other attendees.
As you have probably realized by now, we are delving deeper into the PHP side of eZ Publish as this series of articles progresses. We continue in this spirit, so if you read on, you will find out how to create a database table and manipulate the data from it, using eZ Publish tools.
This tip is only for advanced and experienced developers, classified as "do not do this at home" and "no warranty".
In the new article of our eZ Publish intermediate guide, we talk about siteaccesses and how they can be used for creating multiple pages of a site.
In the new edition of Confessions of an apprentice we will show you how to easily change layouts on a portion or portions of your website.
As promised in the last article, this one will be all about the views. We will create a simple view, and show you how to use views to further improve your projects. So, read on!
In the last article we have created our own template operator, introducing a new functionality to our eZ Publish extension and, ultimately, to the whole site. But what happens if we want to introduce a whole set of functionalities wrapped in a neat package? Read on to find out!
Welcome to the first article in a series of articles concerning development in the eZ Publish CMS. In this, the first article of a new series concerning the intermediate developers we take a look at the creation and usability of template operators. First, we will get an overview of template operators in general, after that, I will explain the creation of a custom template operator. So, read on!
In the first interview here on Netgen Blog we have Aleksander Farstad. He is the founder of eZ Systems with their main product eZ Publish open source CMS and was the CEO from 1999 to 2009. Currently, he is the Member of the Board and VP of Business Development.
"The stronger the community, the stronger the product and the stronger the company the stronger the product...this is adding up." - AF
We have just released a new version of eZ Tags extension which brings the version number up to 1.2. This is a second version released since the initial blog post introducing eZ Tags six months ago and we thought it would be a good idea to give an overview of what is new in eZ Tags 1.1 and 1.2.
I will share with you a secret known only to eZ Publish gurus: persistent variables are not that hard to learn :). Of course, learning depends on good materials so hopefully this blog post will help clarify some things.
Just for test I spent 30 seconds on google (usually enough time) to find some good learning content about persistent variables and I found no such page on ez.no ecosystem. I did found 2 short blog posts (first and second) about the topic, not counting several forum posts. Interesting though, from both blogs you can see that authors haven’t been aware of persistent variables possibilities (second one even calls it mythical) but realized quickly how useful they are.
It has been more than a month now from the event so the topic is no longer in the spotlight, but I will do a late recap anyway. The main reason for such a big delay was, to be completely honest, no free time whatsoever. So I hope you find this post as a nice reminder on the event.
We presented our social flavored extensions on eZ Conference in London on June 16th. The presentation covered Web Engagement Management features which will modern CMS platform like eZ Publish need to be successful in the near future.
Since we tagged eZ Tags extension as stable on GitHub few weeks ago, we thought this would be a good time to write something about how to install eZ Tags extension and common usages.
The time has come to inform the eZ community about interesting stuff currently in development in eZ Tags extension and to give a current overview of the project.
Social networks are what web is about today. If you don’t have at least one social network account, you practically don’t exist on the Internet. Some would argue about these statements (including myself, mainly concerning Facebook), but at the end of the day, the truth is that social networks matter, to users as well as websites.
Netgen organized the first gathering of Croatian eZ Publish developers at “Zlatni Medo”, pub in Zagreb, Croatia. We were thrilled to host this event because we got the chance to get back in touch with some old friends as well as to meet some new ones. People came from Varaždin and Osijek so the event was countrywide :)
A few notes from the eZ Winter Conference we were attending last week.
Software big guns like Microsoft, Google, Apple, etc. wouldn’t be so spread across the globe if they did not think about the developers who work on their platform, so eZ Systems should do the same thing - take special care about eZ platform developing potential.
Netgen Push provides a simple and effective way to push any kind of content from eZ Publish to various social networks. For the time being, Twitter and Facebook connectors are implemented, while eZ Publish REST API and Tumblr API are in the planning stage. Netgen Push also provides a basic framework to develop your own connectors to any social network that uses OAuth authentication protocol.
eZ Filter jQuery plugin is a simple plugin which binds select element with eZ Publish CMS view parameters.
Some of us at Netgen attended eZ Conference a few weeks ago in Berlin (and had a great time there :-), so we would like to present eZ developers with a small summary on few topics that we think are important.
In this blog post we present a simple example on how to build a spatial search with eZFind. The most common usage of the spatial search would be finding the nearest locations available and this is what we are describing here.
We introduce some of the details on how we developed "Netgen Suggest" extension for eZPublish. Extension is shared with community: projects.ez.no/ngsuggest. Download and installation instructions can be found there.
Solving performance problems with Memcache Mutex extension for eZ Publish - Part II: Technical details
Here is just a short technical explanation of the topic in the last blog post. That post described how we solved a performance issue on one eZ Publish based web site by developing an eZ Publish extension which overrides eZMutex to use memcache instead of file locking. The extension is published and shared with the community on projects.ez.no.
The post is describing how we solved a performance issue on one eZ Publish based web site. The site was using more web servers with shared disk device based on SAN. With no obvious reason web servers had high load averages and what was even worse: increasing load on one web server would quickly increase load on other web servers...