Keyvan Nayyeri

God breathing through me

How to Create a Package for Graffiti

As you may already know, Telligent released the Beta version of Graffiti CMS 1.1 last week. Yesterday and after a short evaluation on my local machine, I installed the new build on my blog here. As always it took just a few minutes to get it done! Graffiti should be the easiest CMS and/or blog engine to install/upgrade among all the available solutions!

However, there are some major new features in Graffiti 1.1 as well as bug fixes and feature improvements. One of the four major new features in this new build is the introduction of packages. Here I just want to talk about this new feature.

I don't know about WordPress but have read an article about Movable Type installation/upgrade process which is very straightforward. Most of the job is done by working with a single package of files.

This is a very good idea for software usability. The ease of installation/upgrade process for any software can be a very important plus point for it to get more users especially normal users that make the main community.

Although Graffiti has proved to be very usable, simple, easy to use, install and upgrade but still you had to do a few steps to install extra features for the product like plug-ins, widgets or Chalk extensions.

Telligenti's have found a good solution to make this even simpler with the introduction of packages in Graffiti 1.1.

A Graffiti package is simply a parent folder that contains a collection of sub-folders and files.

The package can be shared with Graffiti users and they can upload and install it via control panel to add extra files and features easily and quickly.

A good example of the job that this new feature is doing is our Graffiti Extras project. For Graffiti Extras, I had something in mind and that was building a single binary that adds lots of helpful features to the product. However, there were some exceptions in the project like our theme files or some JavaScript files. So the deployment got a little harder for those who were looking for some special features. They had to upload all the side-files to their servers manually.

But with the introduction of packages, we're now able to build a single package and share it with users then they download and upload this to their application via control panel and that's all!

But how to create a package for Graffiti? It's easy, too !

First step is to create a folder with any name that you'd like. After creating the folder, you need to create some sub-folders that hold your files or other sub-folders. Here if you want to deploy something to a special folder on your server then you need to use the same name for it. For example, if you want to deploy your assemblies to bin folder on the server then you should create a sub-folder and name it bin.

You can add your files to this folder and its sub-folders to create the structure that you like.

As an example, I create a folder called MyPackage including two sub-folders called bin and files. There are also sub-folders for files with this structure: files\media\image.

In the bin folder I put the assembly file of Waegis spam filter plug-in called Graffiti.WaegisPlugin.DLL and assembly file of Waegis .NET library called Waegis.Client.Dll.

On the other hand I also put the logo of Graffiti Extras project in the image sub-folder.

The second step is to pack things up. Here you need to grab a Windows command utility from the Graffiti download package (grab the Beta download from here). In the download package you see three folders. One of them is Utility and it has a Package.exe command file as well as an assembly called GraffitiClient.API.dll. There are several ways to run this command but the easiest one (in my opinion) is to open Windows Command Prompt, change the current folder to the Utility folder and then run the command.

package command gets three required parameters:

  • package_name: The name of your package.
  • path_to_package: The physical path of package parent folder on your machine.
  • unpack_to: The virtual path on your server where you want your package files to be unpacked to.

So if I create my package folder in the root of C drive and have my Graffiti download package available in the root as well then I can open the Windows Command Prompt and change my working folder to "C:\Graffiti\Utility" and run the following command to create my package with MyPack name.

C:\Graffiti\Utility>package "MyPack" "C:\MyPackage" "/"

This will give me a result like what you see below.

Graffiti CMS Package Command

This command, creates an XML file called MyPack.xml in the same path as where Package.exe command file is located (C:\Graffiti\Utility in my case).

Most likely you've seen the XML theme files for Graffiti and know how Graffiti breaks down all the files into a single XML file for the ease of sharing and deployment. Same is true for this tool. It stores the binary form of all files and stores the structure of folders via XML elements and attributes. However, I don't step in details about this file.

Now you can share this single XML file with your users and they can go to Graffiti Control Panel->Site Options->Packages to upload this package to their servers and start using its available features.

Installing a Graffiti CMS Package

Note that Graffiti doesn't overwrite any existing DLL file to avoid loosing anything so you need to take care about this. I haven't tested yet, but as is written in the upload Package popup dialogue, it does overwrite other files but restores them after uninstalling your package.

7 Comments

Pingback from Dew Drop – June 7, 2008 | Alvin Ashcraft's Morning Dew


Graffiti 1.1 Released
Jun 21, 2008 1:10 AM
#

A few hours ago, Telligent released the second major version of its Graffiti CMS. Graffiti 1.1 is released


Graffiti Extras 1.2 Released
Jul 25, 2008 8:55 AM
#

Most likely you know that I have an open source project called Graffiti Extras targeting Telligent Graffiti


Installing Graffiti Extras
Dec 08, 2008 2:08 PM
#

I’ve been wanting to add Next/Previous links to my blog’s posts to provide easier navigation for folks who come to the blog and find themselves somewhere in the middle of it.  My goal is for the top and/or bottom of each post to have something like


Steve Smith
Dec 08, 2008 3:35 PM
#

Nice, I just used this to install Graffiti Extras today: stevesmithblog.com/.../installing-graf


Keyvan Nayyeri
Dec 08, 2008 3:39 PM
#

@Steve

Glad to hear it could help :-)


Graffiti Extras 1.3 Released
Jan 05, 2009 11:40 AM
#

In the latest days of December 2008 Telligent released a new version of its Graffiti CMS software, version 1.2, after a long while of silence around the project. The new version had some minor changes in comparison with its preceding version, but it was

Leave a Comment





Ads Powered by Lake Quincy Media Network