What makes Speck different to other content management systems?
Speck's primary aim is to be simple both for developers and users. We expect developers to extend and customise the system and we've built it so that's easy to do. We've also tried to keep the interface as simple as possible for users. With the goal of simplicity in mind, we've sacrificed some features that would have made things more complicated without much gain for us or our users. For example, we can support multiple DBMSs relatively easily because our data persistence layer just maps classes to tables, objects to rows and uses lists to represent collections.
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. The demo apps reloads every hour, on the hour.
Is Speck considered an enterprise level content management system?
No, enterprise content managemet systems generally aren't simple for developers or users because they have to deal with complicated content management requirements in terms of permissions, workflows, management reports etc. Speck is a simple system and doesn't do this stuff out-of-the-box. 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 keep saying we'll install trac one of these days, but for the moment, no, there is no publicly accessible list of known bugs. 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.
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 can be hooked into larger applications, can obtain its users from a database other than the content object database and so on. The portal framework is a wrapper around the core Speck CMS that does make lots of assumptions about how a site is built. It breaks pages up into layouts and templates, includes tools for managing users and site navigation, tags for rendering breadcrumbs and menus and a couple of other things too. It's also free and open-source, but we haven't had time to document it.
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 including Lonely.ie, Fashion.ie, Muse.ie, ICGP.ie and  WeddingsIreland.com. Some of these sites have to deal with spikes in traffic which can result in 100K page views during the course of 10-12 hours. 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.