On 10 December 2015, Perchers from all over the world gathered around their computer screens for the inaugural Perch Summit. The event included six one hour sessions, talking about the development of Perch and its future.
Drew McLellan and Rachel Andrew kicked things off.
The State of Perch
Drew McLellan and Rachel Andrew
2015’s main release was Perch 2.8. Throughout the year this release saw the introduction of some fantastic features like blocks and repeaters and included many incremental bug fixes and app updates. One of the main developments for this year, was the start of the Perch Shop App, a fully featured commerce platform for Perch. Drew gave a screen share overview of the current state of the shop app showing his test shop. The demo illustrated the purchase of a t-shirt that was available in various colours and with a couple of shipping options, that automatically updated based on the weight of items in the basket.
In the backend of Perch, it was demonstrated that the shop is actually made up of three separate apps, giving admins the ability to manage product details, shipping options, currencies and tax to name but a few.
One exciting announcement was that there will be a commercial support option for the shop app should it be required.
The chat running along side the webcast was filled with compliments about the current state of the shop.
Looking to 2016 and Perch 2.9, Drew outlined how the versioning of Perch will switch from semantic versioning (major.minor.patch), where the patch contains bug fixes for the minor version, to progressive versioning, where stable features are released incrementally with each patch.
There are a lot of significant features coming in 2.9 including better asset management and an overhaul of the backend interface. As well as a whole bucket load of minor features that delighted summit delegates.
Rachel and Drew wrapped by requesting that the Perch community continues to promote Perch to sell more licenses and encourage more add on development.
From Listings to Layout
This session tackled how to structure a site in Perch using Master pages, layouts attributes regions, items and repeaters and blocks.
Drew ran though the basics of taking a static page and adding some basic regions to make it editable.
He went on to describe how master pages and layouts can be used to reuse code and modularise a site’s structure to keep things DRY. Delegates commented that their master pages could benefit from being paired down even further.
After running through page attributes, Drew detailed a methodology for deciding how a Perch site could be built. This could be done by thinking about what content is required, where that content is coming from and what additional information is needed from the environment.
Following some examples and detailing the difference between shared regions and sharing content using page functions, Drew went on to talk about performance and how developers can utilise some of the brilliant features of perch_content_custom to reduce trips to the database.
Drew wrapped up the session by detailing the difference between repeaters, blocks and regions and how to structure a site but choosing the right tool for the job.
Lorna is a PHP developer who has written several books and trains other people in PHP.
After an initial introduction to PHP Lorna explained how to configure some basic settings for PHP, how to find what is already set and made some suggestions about what settings can be used to overcome potential problems and help with debugging an application.
PHP syntax was up next and Lorna gave an introduction to the syntax of marking up PHP and commenting, before diving into how to create variables and arrays. Lorna then showed how to declare functions, return data and make arguments optional.
She detailed the use of conditionals and loops before moving onto creating classes and objects, explaining the difference between the two and talked about inheritance and autoloading.
After running through exception handling, the presentation was wrapped up by talking about the tools that are available to edit and run Apache, MySQL and PHP on your local machine as well as recommending source control for everyone.
Perch Template Tips and Tricks
Starting with the basics, Rachel gave a overview of what templates are and what they are used for followed by a simple example. What makes Perch templates special, is that they define not only what is output to your page but also what is available to editors within the CMS.
She highlighted some of the less used features of templates including the
<perch:help /> tag (which was new to me) and the notes-before attribute that allow vital information to be output into the admin interface for the benefit of content editors.
Continuing the theme of helping content editors, Rachel talked about how ordering items and and using template dividers can make the editing experience much more intuitive.
Perch includes a whole heap of included field types for use within content templates, as well as the ability to code your own. Rachel went on to discuss the different ways Perch facilitates repeated or multiple items of content and the techniques used to make this happen.
The flexibility of Perch was highlighted with a run through of using blocks and template includes, conditional tags and looping features.
Perch has some lesser known little gems. These include string replacement from within templates, template comments and using what she called ‘master’ templates which contain all fields that an editor will need to control that may not be output to the page.
Finally debugging template issues was covered which allows developer to see error in their templates and to output all available fields using
Stepping Up to Perch Runway
Developers of large content-driven sites may need the more sophisticated features of Perch Runway.
This presentation was driven mostly by Drew bravely carrying out live demonstrations of the main features of Perch Runway. The key differences from Perch are that Runway uses routing to display content based on master pages and allows you to create and associate large data sets using collections.
Drew dived into his demonstration showing how Perch Runway is set up including the important step of getting the correct rewrite rule in place to enable the routing functionality.
Large data sets were shown with the use of three Perch Runway collections to hold data about courses, lessons and teachers. Perch templates were used to allow the population of these collections with basic content.
The power of Perch Runway was then aptly displayed as Drew used tags to effortlessly link courses, lessons and teachers together for display on the front end of the site.
This was a really great summary that not only highlighted the features of Runway but also brought together many the subjects that the various speakers had presented earlier in the day.
Drew finished by showing a great feature of Runway where sites can be automagically backed up to Dropbox or some other cloud storage system.
Rachel Andrew and Drew McLellan
The day was rounded off by a lively Q&A session where Rachel and Drew answered questions posed by the delegates.
Questions were varied and interesting ranging from technical Perch queries and enquiries about future developments.
The Perch Summit was a first and delivered with very few technical problems. It was well attended by delegates from around the world and from the limited feedback that I saw on the day it was enjoyed by all. I see no reason why it would not become a regular event and look forward to attending again next year.