Our blog where we discuss issues from development geekery to suggestions for managing your site.
We are upgrading the Enhance 2 CMS to version 2.0 on Monday 17th May at approximately 22:00 BST. This is a significant upgrade for all users. All changes awaiting approval in the publish manager at this time will be automatically declined as a result of the upgrade process.
Please make sure you have published or declined all changes before this time. Any changes left in your publish manager will not be available to you after the upgrade.
We apologise in advance for any inconvenience caused. Should you have any queries regarding the upgrade process please do not hesitate to contact Enhance Web Ltd.
Just a quick note to say Happy New Year from Enhance CMS, we hope you have a fulfilling 2010. During our time off over the Xmas period we had time to reflect on all that has happened in 2009 with the launch of Enhance 2 and the development of new components. We also had time to look forward to all the prospects of 2010 and what we can expect to see in the coming months. We are genuinely excited about this year with new and more advanced components expected for Enhance 2 including an e-shop and multi site which will unleash a host of high quality new features at our disposal.
So without further a due, thanks for reading and we look forward to the possibility of working with you in the near future.
We've been using Lighthouse from entp to track all the bugs and issues within Enhance 2 for quite some time. We've found it an excellent product that meets our needs perfectly without over complicating anything. The guys at entp spend alot of time making sure that the application does everything you want, without forcing you to do things you don't want. They've also provided a fairly comprehensive API so developers can integrate their own systems with it. We've used this to create a program which has dramatically sped up the time it takes to enter a bug. By reducing the interface down to a bug description with a submit button and then placing this on the desktop we enable users to enter bugs with a minimum of fuss. We've also added the ability to set a seperate title and enter tags for the issue, along with a simple clean interface which you can even set to always ontop. Even better than that we are sharing it for free with the community, so head over to the Bugger! page to download now.
We are currently developing Enhance 2 version 2.0 (hope that’s not too confusing?). This version is our most important release to date. This is the target we have been aiming for since Enhance 2 was conceived of. At launch we targeted a subset of features aimed at the majority of our current clients. Version 2 brings the core of Enhance 2 to either match or supersede Enhance 1 in all areas.
Firstly our major new feature in 2.0 is Multisite. This will enable a website to have a number of child sites which share content with the parent site. When publishing the content the child sites will have an opportunity to change or translate the original content in the case of a foreign language website. There will also be support for the sharing of library content between the sites. This means that that same image can be used on multiple sites as required.
Outside of adding new features our team has been focused on usability and browser support. Supporting Safari and Chrome has required us to disabled the Ajax updates throughout the system. To make this move as smooth as possible we have gone through the entire system and upgraded a number of dialogs and controls so they will now appear instantly without even having to load. We also expect this change to increase the stability of the system in other browser which struggled to handle large changes in the pages content through JavaScript. Overall this improves the speed and responsiveness of Enhance 2.
On the usability front we have particularly focused on how users interact with pages. Our first concern was that users were required to understand the concept of right click to manipulate the pages in any meaningful way. To fix this we’ve added a new menu directly above the page edit screen. This allows for every action on the right click menu except for add (which we will be catering for as well). You can see a preview of this menu below.

Lastly one of the most useful new features of Enhance 2 is the ability to have multiple components attached to each content area. This has however been underutilised because there was no easy way to reorder the components after they had been attached. In version 2.0 this is no longer the case, a user with appropriate permissions, can now easily rearrange the components in an area before publishing.
We are really excited about this release and can’t wait to get this release out to you in the coming weeks.
Note: As always the features planned for this or any versions are subject to change at any time. We make no guarantee that any of the features above will be contained in the final 2.0 release.
Here at Enhance we are big fans of Object Relational Mapping (ORM) and have been using Entityspaces for a number of years. The main advantages of ORM for us include the faster development achievable with a well constructed ORM solution, the separation of concerns provided by a separate data access layer and the flexibility between different database vendors. While each of these can be found without using an ORM tool per se we have found that ORM and specifically Entityspaces integrates them all very cleanly.
What we haven’t found useful about ORM is actually the Object Relational Mapping itself. While this being auto generated saves development time, it’s how applications should be produced anyway. Having a layer which does this for you doesn’t give the benefit unless u lacked the ability to provide it in the first place. We build our business logic as a completely separate layer from the data access layer. The data access layer’s purpose is to provide a separation of concerns, so that no other code has to worry about how the data is stored. This includes different types of database or say differences in how databases represent types compared to the programming language of choice. If your lumping all this in with your business logic, then you’re doing something wrong.
When ORM has worked well for us was recently with the migration away from MySQL to PostgreSQL. By completely separating the database from our code we able to migrate to a completely different database vendor with practically zero changes to our code. This means our database choice can be re-evaluated as necessary and based upon changing business, performance and engineering reasons rather than being forced to stick with one particular vendor. Our code also benefits from a very clear separation of concerns provides us with a more extensible and maintainable solution. Overall we are very happy with ORM and specifically Entityspaces.
- Adam West - Car Parts Euro