Wednesday, March 3, 2010

Getting Started with Graffiti CMS

Getting up and running with Graffiti is very easy and one of the things that I really enjoy about using it. One of the things that I've struggled with when using some of the other larger open source products is just getting them going. For example, having to use SQL Server often means that I need to install it, then create the database (and pray that the scripts work) and then do configuration.

Also, some Open Source products are heavily dependant on other open source software. This makes them brittle and tied to what often becomes other unsupported legacy code. This has the knock on effect of making the product harder to get started with as time goes by.

Graffiti on the other hand is lightweight and relatively free of external bindings. This has meant that getting going with an Access database as the backend has not changed significantly in the 3 years that I've been using the product.

To get started, browse to the Graffiti CMS site on CodePlex and work through the "Getting Started" notes that appear on the home page. These lead you through the following steps:
  • Download the v1.3 source code
  • Download "extra" assemblies from
  • Unzip and add the extra assemblies to the \Branches\v1.3\src\Lib folder
  • Open the \Branches\v1.3\src\Graffiti.sln solution file with Visual Studio 2008
  • Update web.config to use the desired database settings
  • If you are not running IIS7 and ASP.NET 3.5 SP1, you should enable the "Generate Folders..." option in the admin >Site Options > Configuration page

Extra Assemblies

The extra assemblies are:
  • Telligent.DynamicConfiguration
  • Telligent.Glow - Web Controls by Telligent
  • Telligent.Glow.Editor - Web Controls by Telligent
These assemblies provide additional functionality and web controls and I believe that they are packaged separately because they needed to be subject to different licensing from the core Graffiti software.

Database settings
The notes for getting a database up and running for your Graffiti installation can be found . Essentially there are 3 parts to this:
  • Choose your Provider.  This is set via the "DataBuddy::Provider" key in web.config.
  • Update your connection string in web.config. There are samples provided, so just copy the one that is relevant for your database provider.
  • Set up your database as per the notes that can be found in the \Branches\v1.3\data\read_me.txt file.
If you are using MS Access for your database then getting up and running is as simple as copying a template .mdb file into your App_Data folder and then running the solution. I like the Access database option as it makes the entire website self contained, making it easy to move around and deploy.

Generate Folders
After you have installed and configured your basic set up, you should read through the Getting Started Guide to gain an understanding of more advanced configuration options that you might need to consider. One of the major things that you need to be aware of is the difference between how the site runs under IIS7 and IIS6.

Running under IIS7, the site uses an inbuilt routing mechanism for serving up virtual paths. When running under IIS6, the inbuilt routing is still used, however for that to work, the folders for paths need to physically exist on disk. To acheive this you need to log in to the Administration section and go to Site Options / Configuration and ensure that the "Generate Folders for Posts/Categories" option is checked.

Running the solution
From within Visual Studio, run the application. You can either click login or browse directly to /graffiti-admin/ and then login as an Administrator to start creating content and managing other aspects of the site. The initial Administrator username is 'Admin' and the password can be found in the Graffiti:User:DefaultPassword key in web.config.


  1. While I appreciate that different CMS products offer more or less functionality, I do find it humourous that the above directions are 'simple' compared to other products. Comparing it against something like WordPress, you just about need olympic fitness for the hoop jumping involved.

  2. Sorry Al, just making sure that I'm reading you correctly... are you saying that wordpress is much more difficult or that the steps above represent a lot of hoop jumping?

  3. I should have been clearer in the second sentence.

    You described the installation of Graffiti as simple compared to other CMS products on the market. I meant to suggest that compared to WordPress, it is infinitely harder.

    WordPress installation procedure:

    1) edit database name/user/password
    2) upload
    3) browse to install page

    I think this is one of the reasons that no other CMS on the market has made a dint into the personal publishing space since WordPress hit the market; ease of use - which begins with installation.

  4. well to be fair, your 3 steps don't include downloading the installation media - which my post does. In fact most of my post talks about the the process of "downloading the bits".

    So the entire process for Graffiti - using your simplified bullet points:

    - download the code
    - set your database
    - run