During the past 50 years, Swiss farmers had to reinvent themselves. The country and its topography simply do not allow them to compete with the high-volume production of other countries, in terms of price. Hence, the typical Swiss farm is rather small, often run by a family, and focusing on specific niches: sustainable production, high quality food, plus an increasingly successful direct sales strategy. landwirtschaft.ag promotes the offering of farmers in the Canton of Aargau, a region between Zurich and Berne. The target audiences are the end customer and everyone interested in sustainable agriculture.
The project is a relaunch of an existing site, previously built on a proprietary CMS. Among the requirements were:
- improve SEO visibility
- managing related content
- easy creation of landing pages by the customer
- handling events (including partner events with different requirements)
- managing partner and sponsor information (e.g. partner restaurants)
- dedicated section for media relations
- stronger focus on video, as part of the communication strategy
While Backdrop CMS is targeted to rather small agencies or non-profits, one of its strengths is the ability to handle large amounts of content in a very efficient way. The categorisation system (see Taxonomy) is very powerful. Being able to create content types, each one with several view modes (full, teaser, text-only teaser, card, table row, section etc.) without requiring any coding is super efficient. However, the most important function for this project was the ability to create references among content, using the modules Node Reference, Entity Reference:
- Add partner and sponsoring information to an article once, and then be able to reuse this info for other articles
- Update that information in one place, and have the changes propagate to all content that is using it
- Handle event and event date in separate content types, while sharing information among them (e.g. event is postponed)
- Assign production labels (e.g. Natura Beef, SwissPrimGourmet) to articles
My personal killer function in Backdrop is the configuration management, which also allows the reuse of content types among different projects. There are content types that I use on nearly every project
- Content type "Address" for handling any type of contact info (partners, sponsors, the customer's contact data), including logos
- "Person" for managing team members
- "Blog" including fields for image gallery and relation to persons, addresses, media contact etc.
- "Product" with reference to type "Product References" (often customer success stories)
- "Promo Box" for creating any type of teaser content, call to action block
- "Event" for displaying... well, events;-)
For associations and non-profits, handling events is always a crucial function. And for the web agency, it's always challenging to find the right balance between features, user experience, maintainability, and costs. Plus it's always important to decide if the CMS should handle events at all, or if an external solution is a better fit. Creating an event in a CMS is easy; managing an event or its participants is not.
Backdrop CMS is very powerful when it comes to content relations. For events, I usually handle the event description and the event date separately. This makes the handling of one-time events and recurring events more flexible. It's even more important when adding the possibility to signup for events, which is on a per-date base. Or if one out of many events gets postponed.
Displaying event data (out of two content types) requires some experience with the advanced functions of the Views module, and some experience with templating language and the Devel module is also helpful. But once you understand it, it's a matter of minutes to show event A, all the possible dates except the ones where reservation period has ended.
The Views module combined with templating in Backdrop CMS is very powerful, and one of the hidden treasures.
landwirtschaft.ag will be further developed over the next couple of months. One of the features will be a better support for the customer to create dedicated landing pages.