Frequently Asked Questions

What makes Speck different to other content management systems?
Unlike many CMSs, Speck has been designed to help developers (not webmasters, HTML ninjas or designers) build web sites that will be managed by unskilled users. Speck doesn't come with as many built-in features as some other systems, but it does come with an extensive API, making it easy to extend and customise. It has also been designed to be platform independent, apart from requiring ColdFusion, and we've used it in production on both Windows and Linux, with Apache and IIS and SQL Server, Oracle, PostgreSQL and MySQL DBMSs. To keep the end-users sweet, we've kept the interface as simple as possible. Unlike most other CMSs, Speck has no separate administration console, just an administration toolbar and content is managed directly from the page on which it is published. Users love this approach because there's so little to learn - log in, go to the page you want to edit, flip the edit links on in the toolbar and edit - easy peasy.
Is there a demo app where I can try Speck as a user?
Ionic (where Mark works) have a demo app available at http://www.ionic.ie/demo/. Built using the portal framework, it's a simple application and the demo user does not have full admin rights, but it should give you an idea of how easy it is to use Speck.
Is Speck considered an enterprise level content management system?
No, enterprise content management systems generally aren't simple for developers or users because they have to deal with complicated requirements in terms of permissions, workflows, management reports etc. Speck keeps things pretty simple and focuses on making it easy for users to manage content and for developers to define custom types and views of content. Although Speck does support some features typically found in enterprise level system like content versioning, a simple approval process for publishing content, access control and roles based permissions system for granting access to edit content, it's really targeted at small editorial teams where the priority is making it easy for everyone to manage the content. If you do need an enterprise level CMS, check out Farcry, a popular open-source solution that runs on ColdFusion. Robin reckons Shado is well worth a look too, though it's a commercial system.
Can I use Speck on a shared server?
This usually depends on how friendly the people at your hosting company are. To install Speck you need to add a custom tag path and a /speck mapping to the CF administrator. You also need to be able to configure the home directory or document root for each Speck web application or virtual host. Not all hosting companies will allow you to do this. Have a look at the requirements section in the documentation for more info.
Is there a list of known bugs or somewhere I can report a bug?
We use Redmine to keep track of bugs and feature requests, but this isn't publicly accessible at the moment. We fix bugs pretty much as soon as we become aware of them, so they don't last long anyway. If you would like to report a bug, just use the contact form on this site or join the mailing list.
I can't get it working, what have I done wrong?
Most of the installation problems we hear about are the result of missing a step somewhere, often due to having to deviate slightly from the documented installation process.
  • Check you have added the speck/tags/api directory as a custom tag path and created a /speck mapping in the CF administrator (Speck applications need these to find the core files).
  • Check that you have added the /speck virtual directory / directory alias in your IIS application / Apache virtual host (none of the admin links will work without this).
  • Have a look at your application configuration file and make sure that it has a [settings] section and that the appInstallRoot, dbtype and codb settings are correct. You can learn more about these settings on the application configuration setings page. Note that changes to the configuration are not immediately loaded by the application. To refresh the application and reload the configuration, edit your Application.cfm and set refresh="yes" in the cf_spApp tag.
  • Are you running your application inside a virtual directory / directory alias in IIS or Apache? If so, you need to tell Speck about this. Make sure you've set the appWebRoot correctly in the application configuration file. If your virtual directory is called /myspeckapp, then you need to set the appWebRoot to /myspeckapp
  • Are both the speck directory and your appInstallRoot directory within the same parent directory? If not, you'll have to create a mapping in the CF administrator to the tags directory within your appInstallRoot. More info on the application configuration setings page.
If you've done all that, and it still isn't working, you might have found a bug. We don't test every update to Speck on all supported systems or even in all configurations on one supported system, so this is quite possible.
Why don't you have proper version numbers?
Version numbers showing the major release, minor release and patch level could be a bit misleading in that they might suggest we have a plan and a schedule, and go through a long testing phase prior to releasing any code, none of which is true. Speck evolves as our requirements evolve, and we just release the latest version that we're using, that's why we've stuck with just using the date in the file name.
So, what's this portal framework and can I use it?
Speck doesn't make many assumptions about how you want to use it, apart from providing an interface for managing content. This means it places very few constraints on developers; it can be hooked into larger applications, can obtain its users from a database other than the content object database and so on. It also means that it has to be pretty lightweight in terms of features. The portal framework is a wrapper around the core CMS that we use to build Speck sites ourselves. It includes features which appear to be missing in the core CMS, tools for managing users and site navigation, tags for rendering pages with breadcrumbs and menus, a tag to maintain a content index and so on. We called it our portal framework because we initially only used it to build portal style web sites (probably a stupid name looking back at it now, but sure ain't hindsight great). It's also free and open-source, but it's not as well documented as the core content management framework and isn't ready for localization (all strings are hard-coded in English at the moment).
Can Speck be used with application frameworks like Fusebox?
Yes, we've used Speck with Fusebox 3 and it should work fine with other frameworks like Fusebox 4, Model-glue and Mach II. Speck assumes a certain directory structure for applications and the application is created by calling a Speck API tag, cf_spApp, rather than directly calling cfapplication. If your application framework can live with these constraints, then Speck can be used with it. If it can't, please join the mailing list and let us know - we can probably suggest a little hack to force Speck to play ball.
What about performance, scalability and reliability?
Speck reliably runs a number of large, high profile and busy portal type web sites that cannot sustain much downtime (any really), including the Irish College of General Pracitioners, Albany Office Supplies, Lonely.ie and WeddingsIreland.com. Some of these sites have to deal with spikes in traffic which can result in 100K page views during a working day. They do this on servers shared with lots of other web applications (not just ColdFusion applications), all running at least one DBMS server, some also operating as primary mail servers. Data access using the Speck API does incur a performance penalty (the same applies with any persistence framework), but the built in caching features allow applications to handle large numbers of concurrent users for read intensive applications. We haven't used Speck with any load-balancing configuration to provide a failover capability or spread the load for a single application across multiple servers. It does support J2EE sessions though, so it should work with ColdFusion clustering and it should also be happy sitting behind a hardware load-balancer as long as you can force sticky sessions. However, it has been designed to be used on a single server, so it does nothing about replicating files to multiple servers. You'll need to work out some way of sharing uploaded assets among multiple servers yourself.
Does Speck use ColdFusion components?
Speck was designed before components came on the scene. It has its own tag-based API for defining content types. This means that although Speck does take an object-based approach and supports some OO techniques like inheritance, it can also run on ColdFusion 5 (or at least it did last time we tested it). When CFCs came out, we did consider re-writing Speck using components, but decided that there would be little benefit and it would actually make content definition a little trickier. The only CFC we use is Rick Root's ImageCFC. If you are using CF5, any options related to image manipulation (generating thumbnails etc.) are just ignored and won't have any effect.