Perch Update 1.5

We’ve updated Perch with a number of new features and a small number bug fixes for issues discovered via our support system.

Do I need to install this?

There’s no need to install immediately. You should update when it’s next convenient to do so. There’s lots of new functionality that you can benefit from once you update.

What does it fix?

This release fixes the below issues:

  • Fixes a warning message thrown when resizing certain GIF images
  • Adds a workaround for the recent PHP max_file_uploads directive preventing image uploads
  • Fixes the way the content tree displays when pages are ‘missing’ from the structure
  • Adds help text to the Settings page with max recommended logo width
  • Adds cleanup routines to get rid of files and images once they’re no longer used
  • Fixes admin URLs to reduce unnecessary redirects and resolve issues in some SSL configs
  • Adds protection against CMS users uploading PHP files (e.g. if a hacker guesses your password)

Users experiencing these issues should update as soon as possible.

What features does it add?

  • A new API to enable developers to extend Perch in the form of Apps (docs to follow shortly)
  • Built on the new API, a Pages app for dynamic page creation (optional for those who want it)
  • A new UI plugin system to add custom CSS or JavaScript to the user interface
  • The ability to remove uploaded images and files without deleting the entire item
  • A ‘My Site’ link back to your site from the top of every page
  • A new setting to specify your own URL for the Help button – this could be to custom pages on your own site
  • Save buttons now stick to the bottom of the window on the content edit form
  • Dates within Perch UI are now formatted based on locale (so the month names appear in your local language)
  • Date formatting attributes can now use strftime formatting codes, which again use the local language setting (docs)
  • Radio button groups can now be created with type="radio" (docs)
  • Different label and value for options for select and radio groups can now be set (docs)
  • New type="slug" with required attribute for="field_id" to make a slug from another field (docs)
  • Added support for the maxlength attribute on text fields (docs)
  • All content items now have a unique _id (docs)
  • The perch_content_custom() function has powerful new filtering options for dynamically selecting items from multiple item regions (such as selecting an item by ID, filtering on a date range, finding only future events etc) (docs)
  • Updated jQuery to 1.4.2

What impact does it have for my clients?

Editors will notice a few small differences. The display of the Content tree has been redeveloped to fix some problems, so it’s possible that this may look a little different, although improved. Image fields now have a ‘Remove’ checkbox next to them so that an image can be removed.

On longer edit forms, the Save buttons now stick to the bottom of the screen. If this behaviour is undesired you can revert it by adding define('PERCH_NONSTICK_BUTTONS', true); to your config.php file.

If you choose to install the Pages app for dynamic page creation, a new ‘Pages’ menu item will appear at the top of the screen.

Users of non-English language translations will note that a number of new phrases have been added which will not be included in existing translation files. Those phrases will appear in English until they are defined.

Where do I get the update?

Log into your account and re-download the files. The download has been replaced with the newest version.

Make a back-up of your files and database.

No, really. Make a back-up. There’s always someone who doesn’t and manages to delete the wrong files – don’t let that be you.

Unzip and replace your existing files with the exception of:

  • config
  • resources
  • templates
  • plugins – if you have added to this

These contain information specific to your installation and should not be overwritten. There is no need to copy setup, as you’re already up and running.

If you are updating from a version older than 1.2 visit /perch/update in your browser.

That’s all you need to do – Perch is now updated.

Previous updates