codeflood logo

Introduction to SashimiCMS

I've recently made a few minor updates to SashimiCMS and released a new version 1.1.2. You can find SashimiCMS on my website at

So what is SashimiCMS? SashimiCMS is a CMS I created a few years ago. I didn't write any compilable code for this CMS. All data is stored in XML files, all transforms are done using XSLT and the thing that binds this all together and builds the site is the Java build technology Apache Ant . The CMS contains no friendly user interfaces and no web interface. It is developer oriented as you have to write the (x)HTML yourself. But what good is SashimiCMS? To answer that, let's look at why I created it in the first place.

I was redesigning a community website that was being hosted on a free hosting platform which didn't allow server code. I didn't want to have to worry about keeping the common page elements such as navigations in check and consistent across the site, so I tried to devise a way in which to automate this. My original idea was to write some code that would replace custom tags in the HTML files. So instead of writing out the navigational components, I could just use a custom tags like <menu/>. And being that I wanted to remain cross platform compatible I was going to write this in Java. At the same time that I was thinking about this little project I was playing with Apache Ant a fair bit at work. At the time I was doing a little stint as a Solaris sys admin and build manager for a Java project. Through playing with Ant I realized it could execute XSLT directly without any extensions. I already knew about the power of XSLT through a little bit of reading and a brief play with it through using Sitecore 4. So I started to create the first incarnation of SashimiCMS which worked quite well. The original version of SashimiCMS was actually custom built into the community website I was building. After I launched that site I rewrote SashimiCMS under it's new name using the website project as a reference. And thus, SashimiCMS was born.

SashimiCMS doesn't have a huge market share, and it never will. In fact, I only know of 2 sites which use it. One is the community site (hopefully soon to be migrated to Sitecore Xpress ) and the other is my website But looking at SashimiCMS in terms of raw features, it does have some pretty nice facets which I'm proud of. It employs a "page template" approach to pages. You simply write your HTML page template and use it amongst several pages. Each page and template can make use of custom tags which the user creates. So I could create a custom tag for a reusable piece of HTML, such as the webmaster email link might be bound to a custom tag called . Out of the box there are "controls" to render menus, a breadcrumb, a header, a footer, rss and lists of articles. And SashimiCMS is cross platform. It runs wherever Ant runs; Windows, Linux, Mac, Solaris, Unix, etc. Each page can also contain multiple content fragments which are bound into the template at build time. So I might define the central content area as a fragment, and some side bar promotional element as another content fragment, and the template pulls these fragments in at build time. So what should you use SashimiCMS for? SashimiCMS can aid you when you have to generate an HTML only site and the only people interacting with the content will be developers. For any other case at all, use Sitecore!


hi!, interessant post. I post on your blog because you apparently can to help me. I know, it’s not the exactly exactly place to publish but ,…, I search a 100percent free hosting company that accept Javascript and Ajax. Do you believe that I can find a really good hosting provider or better a good free hosting list or something like that... etc. for what I want ? ps: Have you links to give me for free no ads hosting ?? With wich tool have you built your blog ? See you

Alistair Deneys

Hi Margot, Well, depending on what you want to do, I really like wordpress which is what I've used for my blog and where my blog is hosted for free. Not too sure about the javascript though as I've never tried it.

Leave a comment

All fields are required.