Home

A documentation and demonstration site for concrete5 addons and themes by JohntheFish.  (For concrete5.6 addons and documentation, please see legacy.c5magic.co.uk. For underwater photography see jlunderwater.co.uk.)

Web Sites

I build web sites using the open source concrete5 Content Management System. Using a good CMS is the way to future-proof a web site and concrete5 leads the way in usability, both for site owners and site developers. I offer pretty much anything from complete sites to emergency repairs, specialising in advanced development as a service to projects and for my own portfolio of addons.

I offer pretty much anything from complete sites to emergency repairs, specialising in advanced development as a service to projects and for my own portfolio of addons. I balance this with my other business as an underwater photographer and journalist. Web and diving work provide a good balance between home and away, especially with global communications.

I have used many of the concrete5 add-ons I have developed to facilitate the process of building this site and have generally used this site to showcase my addons wherever I can. Having the right tools to hand makes creating a site easier, faster, reliable and maintainable.

With the right tools, it doesn't take long to have a web site up and running. Of course, there have been subsequent changes as I add more support pages for my addons, but hopefully you get the general idea and by using a CMS the updates are easy to stay on top off. When it does come to updates, with the right tools you can make changes easily and safely.

Development

I do magic development stuff with the concrete5 CMS using php, JavaScript, jQuery, CSS and LESS. This site demonstrates what can be achieved by putting a little bit of that magic to use.

I like making concrete5 add-ons that are the easy for others to use. Easy user interfaces. Easy to understand. Easy to grasp the concept of. Things that make an otherwise difficult job easier.

To maintain these addons I use Package Magic to analyze the code, bundle them up and upload to this site. Its a fact of life. Developers make mistakes. I make mistakes. Using the right tools minimises those mistakes and helps us fix them.

The tabs on this page use Magic Tabs, an add-on that chops a page into tabs simply by inserting a block where each tab is wanted. It comes back to one of my opening comments. Magic Tabs is easy to use, but behind the scenes has some intricate engineering so that site builders can simply get on with their work without worrying about the code behind it.

Also used throughout this site is Button Nav to provide supplementary navigation and information, Syntax Anywhere for code samples, Universal Content Puller for many places where content needs to be duplicated between pages or pulled in from elsewhere, Omni Gallery for image galleries and sliders and Last Updated to show when main content has been changed.  A site maintenance task that is now safely automated.

Behind the scenes, I use Extreme Clean to remove the hidden bloat of obsolete data that web sites accumulate, keeping things running smoothly and making sure such housekeeping maintenance is not neglected. I also leave notes to myself using Editor Comment, so that when I come back to a page to edit again I have a record of previous decisions, good and bad.

Searching on this site is powered by Search++, an enhanced search system I developed to break out from the extreme literal pitfalls of the default concrete5 search. Give it a try and see how it compares to searches on other concrete5 sites.

Design

I am not a theme designer in the graphic sense. If all you are looking for is an original theme design, there are theme designers who have a better eye for a new theme design than I do. 

So why am I writing about design? For a web site, design cannot be independant of engineering. Behind a theme design you need good engineering. There are some beautiful Concrete5 themes out there with, behind the scenes, mediocre engineering. There are also some with excellent engineering. I can take a graphic design and turn it in to a thoroughly engineered theme. To put it simply, build a theme into a site that works, that will carry on working, and that a site owner can confidently use.

The theme used through most pages of this site is Elemental, the default concrete5 theme, supplemented by Frontend Dashboard, a theme that makes front end pages follow the concrete5 dashboard theme.

Many of my concrete5 add-ons help put the finishing touches to a design. My general principle is to provide front end styling that inherits from your site theme as far as possible.

Button Nav is an easy way to add styled buttons to a page with dropdown, dropout and popup functionality. Many of the templates provided by Magic Tabs assume styling from the site theme, so in many cases you don't need develop custom templates (and when you do, the examples are easy to follow). Both provide easy ways to extend the site theme without having to get inside the theme files

Content

Even a site with minimal content needs to read well and tell visitors what it is all about. Whether its purpose is advertising or reference, a site has a message. More important than any graphic design or neat tricks with CSS and JavaScript is just getting that message across.

All the bits and bobs a site is built from need to be documented so the site can be maintained in the future. The way a site is built is not something to be done once and forgotten. 

With addons and themes for concrete5, their use needs to be clearly explained and documented so site builders and developers know what they are installing on their site and how to use it effectively.

Inside the addons and themes, the code needs to be clearly commented and explained, so those that need to develop new templates or extend functionality can easily understand how to do so.

The principle of commenting code also applies to web site pages. Within pages my Editor Comment block can be used to keep notes about how and why a page is structured, hidden from general view, but always there next time a page is opened in edit mode.

All of this is where my second career as a photographer and diving journalist plays its part. I know how to write and show things in a way that others can understand.

Support

Whether its an entire web site or an addon for concrete5, it will need supporting.

My engineering principles mean that you should be able to do much of this yourself. Nevertheless, there are times when help will be needed and my commitment to support is part of the process. Where support has been needed, my support and solutions are consistently fast, as testified by many of the reviews for my addons.

Take a look at karma and badges earned within the concrete5 community. These are a measure of support, promotion and development (much of which is supporting development).

On a more general level, I help others out on the concrete5 Forums and Slack, have written some useful how-to's for concrete5 and am an administrator of the Peer Review Board, the group of developers that makes sure new concrete5 add-ons and themes are up to scratch. I have even written a how-to to help others Get marketplace submissions through the PRB.