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.