City Dining goes live!
This site for City Dining takes an existing static site design and adds content management features. The original site had a table-based layout, in-line styles and a considerable amount of the site content embedded within images. The City Dining site had a lovely design but suffered from poor accessibility and SEO visibilty. The new version builds on the main strengths of the original and brings it up-to-date with current standards and best-practice as well as making it a practical communication tool which can be updated easily.
Redhot Rockit Design
A simple but effective site for a Surrey-based full-service design agency specialising in the catering and restauraunt trade. The site takes full advantage of the image manipulation features of the CMS to scale, layout and apply effects to the examples of the agency's work.
Graysons Service Standards Portal Goes live.
The Graysons Restaurant Chefs portal has now made it out of the door. The site is intended to act as an information portal for chefs to share recipes, product information, cooking tips and to help drive standards across the company's many restaurants and kitchens.
I've made some adjustments to the editing controls to take account of some of the comments I've been receiving in the last couple of months. First up was the issue of consistency with some of the icons.
The most obvious one here was the page control link for updating page properties, it used a different icon to that for all other property editing buttons. That clearly wouldn't do!
Next up was the choice of icon for all the other resource types. This one was also being used to enter editing mode. That won't do either!
Anyway, rather than tell you all the icons I've replaced or switched it's probably easier just to log into your system and have a look.Nothing has been moved, you'll still find the control in the same place, it should just be a bit more obvious what the control does when you click it with your mouse.
Did I say nothing had moved? That's not quite right either. Something is moving now when it used to be fixed in position, and that something is the page editing controls. Is that right? No! It was "static", it's now "fixed". What this means is it was static relative to the page, it's now "fixed" relative to the browser window. Clear? It just means that as you scroll up and down the screen page controls move with you so it should be easier getting in and out of editing mode.
New Resource Type - FAQ
This is a resource type I've been meaning to add for some time. An FAQ can be done purely with text but I wanted to be able to select these entries through a separate type/class for possible reuse in other contexts and I also wanted to the option to add a dynamic element to the display of the resource so that the FAQ answer could be displayed on demand. Obviously, the type lends itself to any content that consists of a question/heading and associated text.
The new type has also spurred me into documenting some of the questions I get asked about whether the system can do various things or how a particular feature works. You can now find out this information in the FAQ section of the Support page
WYSIWYG editor for resources
I am most definitely not a fan of the WYSIWYG editors you find on webpages wherever text input is required. They're fine if you need to sling together some simple HTML but, for some of us, they just get in the way and slow the process down. That said, I haven't created this system just to suit my own personal requirements and clearly there is a need for these sort of editors otherwise people wouldn't keep asking me if I could include one in the package. I have finally succumbed to those requests.
I've included TinyMCE as a drop-in replacement for some of the textareas in the resource forms. As I said, these things are not my cup of tea and I know there are plenty of other people who feel the same way about them so you can decide not to have them at all (they can be turned on or off via a setting in the system configuration file). If you do like using them then you'll find a toggle switch under the textarea field that will let you turn the feature on and off as required - it's your choice.
Decided it was time to change the look of the site - was it worth it?
Admin Tools Visibility
Since a number of my clients seem to be gearing up to make their sites a more interactive experience for their audience it seemed like an appropriate time to look at some of the admin tools that will help maintain that experience. I was thinking specifically about comments posted against a blog where admin approval is required for the posting to display. I am also conscious of the need for users to see their contributions live on the site. Of course, you can't sit around all day waiting for a posting to come in just so you can approve it. This led to the wider topic of how an administrator would know in a timely fashion when action was required without lurking on their own systems with their finger poised over the F5 key.
I think this is probably time to revive an old idea which I used to call it 'Watch' when I applied to resources (though this has long since been superseded by RSS in this context) where periodic alerts are sent out containing a digest of changes that the user was following. I never applied this idea to monitoring admin events though the application is obvious.
So, another job for the todo list.
In the meantime I have made some changes to the Administration page to indicate where certain events have occurred e.g. Accounts awaiting approval, queued an expired content and, obviously, moderating comments - which is where we came in.
New Resource Type - Image panel
The new "image panel" resource is a fairly simple extension to the standard image type which allows formatted HTML text to be associated with an image. The HTML can then be styled to sit over the top of the image, along side or underneath it in the manner of a presentation slide. It is, therefor, particularly suited for use within a carousel or newsletter context where you might want to associate some arbitrary with an image and treat the whole as an individual system object.
Animalcarpet Cache strategy
After some experimentation I have finally settled on what I think is the most appropriate caching strategy for Animalcarpet. Up till now I've been caching the output of all page requests against the access credentials for the user making the request. This has allowed user with differing access permissions to retrieve only that content that they are specifically permitted to view (bearing in mind that there can be different permissions applied to different items on a page). I've also been tinkering around with the cache lifespan to determine the the most appropriate timeouts before a new version is generated and cached.
This strategy appeared to be working quite well from the standpoint of public users of the sites, not quite so well from the standpoint of site editors. The problem was that both editors and users shared the same cache lifespan on the same objects and I was constantly paring back the lifespan to make sure that editors would see the effect of their changes as quickly as possible. The result was that pages were staying in the cache for shorter and shorter periods and cached pages were having to be regenerated more and more frequently. This was not exactly what I was hoping for.
I considered the idea of regenerating cached objects only when items were editied but this got very complex because items can be used in so many different contexts, e.g. page, email, newsletter, object browser. Also, I didn't want to cache individual objects as that would generate a huge number of hits on the cache and would shift the bottleneck from the database to the cache. It is much better strategy to cache only those things that users are actually requesting from the site and to serve them up in as big a chunk as possible, that gives you fewer items items in the cache and fewer hits on it.
The solution I have settled on is actually very simple (they usually are) and involved nothing more than caching only requests from anonymous users. This way editors always see an uncached (ie completely up-to-date) version of their changes, other users see a version that is no older than the cache lifespan for that type of request. In the next round of changes I intend to make the cache lifetime a tunable parameter so that site editors can decide just how "current" the site needs to be for their users.
The changes for making the cache lifetime part of the site configuration are now completed and will go out in the next round of releases
New Resource Type - Quote
Yesterday, I was in London running a training session and demostrating the "Browser" resource type and the way it can be used to generate lists and pull out single resources. Naturally, I showed the "randomize" feature and how it lets you display different content each time a page is loaded.
"Can we do that with quotes?", someone asked.
"Er, no. To do that I'd need to create a separate resource type ...." I replied.
And now you can. Displaying a random customer Quote is a perfect (perfectly obvious?) way to use the "Browser" feature so I've now added a new resource type for quotations to make it possible. Plus it makes it much easier to format the quote without having to worry about slinging BLOCKQUOTES round the text.
New Feature - Push!
I have long been interested in the possibilities for reusing web content in different contexts, for example in newsletters and using the Browser resource. This latest feature extends the idea still further by allowing arbitrary content to be pushed to site subscribers and members. The newsletter feature allows ad hoc distribution lists to be created, 'Push' uses the same mechanism but applies it to the level of individual site resources.
What does this mean in practical terms? Well, you could use your site to collect a subscription database of people who were interested in events you organise and then push details of new events to this list of subscribers reusing the website content. You can do the same with a whole page, a file, a press release, a job advert, an image even a single news story - anything you can put on a page can go to your subscribers.
Well London goes live!
The first of two sites for this organisation, Well London is a partnership of six organisations working to improve the health and mental well-being of people in some of the most deprived areas of London. The partner organisations were brought together by the London Health Commission and include the University of East London, Central YMCA, Groundwork London, Arts Council England, South London And Maudsley NHS Foundation Trust and the London Sustainability Exchange.
New Feature - Alphabetical Site Index
I've been receiving quite a few good ideas for new software features from clients recently and an alphabetical site index is another client request that I'm delighted to incorporate into the package.
Typically, when we need to find something in a book we look for an index at the back to help us to find the content we are interested in. We might not know the exact term which will be used in the book for what we are searching but we can often think of appropriate synonyms and can start a search based on them. A well constructed index will give multiple paths to the most important topics and group items thematically.
Traditional web searches can often be a very blunt instrument for finding what you are after on a site. Free text searches often return far more results than are useful; tags can suffer from the opposite problem by being far too narrow in their focus; sitemaps tend to just reflect the structure of the site's content and most alphabetical indexes suffer by focusing exclusively on the first character of the first word (Hey, it's alphabetical!) which will often be a 'stop' word like 'A' or 'The'. The 'old fashioned' way of using a themed alphabetical index can often be the most appropriate way of searching for content, but is seldom seen on websites.
The new Animalcarpet site index feature allows you to apply synonyms to any resource type using the resource tagging mechanism then display that information in a traditional alphabetical index rather than the usual word cloud. The typical 'stop' words are ignored completely. You can even select the resource types to include within the index and the index defaults back to a straight alphabetically listing if you are not using tagging.
Sometimes the old ideas are the best ones.
New Feature - Auto-expire user accounts
I had two requests for this feature within a couple of days recently so I thought I there must be some call for it after all. The new functionality allows an expiry date to be set within the user record, this is then tested when someone attempts to login to that account and the login attempt rejected if the timer has expired.
I'll extend this feature in a future release to show the user how long they have before the account expires and possibly also give the administrator listing of accounts with their lifetime.
SEO friendly links added to site
Animalcarpet sites tend to score well for Google Page Rank values because of the way the sites are engineered with proper attention paid to appropriate web standards and also the way that content is structured to give the search engines every chance to know exactly what the content is about. Now we've added another little tweak to help the indexing processes and the site now generates SEO friendly URLs in menus and trails. As it says in the advert, "Every little helps!".
Vacherin.com goes live
www.vacherin.com is the latest site to run the new Animalcarpet code with site design is by Ed Sneller at Red Rockit Design. Vacherin are an upmarket contract caterer who's clients are prestige organisations and venues based exclusively in central London. The site takes advantage of a number of new features within Animalcarpet CMS, particularly the 'carousel' resource which runs both the blog headlines and staff biographies sections.
The site is live at www.vacherin.com