Home | About | Contact
CV & Portfolio at JamesDavidJackson.com
Thursday, 9th February 2012

The Blog of James Jackson // Tags // content management system

Once again I've come to a point where I want to my CMS and accompanying framework. Sigh. Actually I have good reasons for doing it. First up is that recently I've added quite a bit to the CMS and have realised it quite a hassle to add something new. The ability to extend the CMS is there but it's a pain. I want to rework this to be more manageable. Secondly, after having tried to rework a lot of the CMS's inner workings without a rewrite it's become very messy and inconsistent. 

Rewriting the CMS has also prompted my to rewrite my framework. The framework I created to run my CMS on is pretty cool but could do with a tidy up too. With framework being rewritten I've decided to use version control (SVN) and to make it open-source. Not sure why I decided to open-source it but a friend at work is always asking why I didn't open-source things so I have this time.

Making the framework open-source gave my the problem of not having a name. I couldn't just open-source it without a proper name. I thought of loads of names... DNS Framework (Dot Net Sucks), POO Framework (PHP Object-Oriented) and many other silly names. Then I remembered a domain I had registered a few years ago for a site I never got round to making. My framework will be called Twuddle Framework and subsequently the CMS will be called Twuddle CMS. 

I've made start on Twuddle Framework. The source can be found on Google Project Hosting. Open-source CMS? I haven't decided if I will open up the CMS code yet.

The current version of the CMS isn't dead yet. There's a while before Twuddle Framework and Twuddle CMS are ready to be used so I'll continuing to use the current CMS on this site and James David Jackson. Hopefully I'll be blogging my progress on a semi-regular basic too.

More...

Over the weekend I ran a script to test the time it takes my server to process the home page of nojacko.com. I wasn't testing the time the page took to load but the time the server took to process it. I created a script that ran every 20 minutes, loaded the homepage's html, and grabbed he benchmarking information from the footer (which looks like "Page built in X.XXXX with Y queries & Z caches"). The script would first delete the site's cache and then load the site 10 times. This got the benchmark data for the site with caching as after the first load the site would have been cached. After this the script would again load the site another 10 times but before each load the cache would be deleted, getting the data for the site without cached data. I let this run for most of the weekend and here's my findings.

Something I have to point out is this site is hosted on a shared server (by HostGator who I highly recommend), so server side optimising is left to HostGator. Also other sites share the server so load that they create could have affected the results.

The first finding is easy to see. The site without caching takes 49% longer time to load on average. This is something I guessed would happen because with caching the site doesn't have to connect to the database and query it. The minimum and maximum loading times also show this. The maximum and minimum loading time for caching off was 41% and 75% longer, respectively, then when caching was on. 41-75% is a very noticeable difference. To put it into context if the site was maxing out 3 servers without caching turning caching on would in theory allow the site to run on only 2 servers.

Average Times

The next thing I noticed was that when the database was being queried the difference between the average and maximum loading times was much higher than when cached. It seems that using a database the loading time is more variable. You can see from the scatter graph below that the cached times are more closely grouped between 0.01 and 0.1 seconds, whereas the non-cached times are more spread out between 0.02 and 0.5 seconds. Also, there were 11 instances of the non-cached site taking more than half a second and only 3 when the site is cached.

Scatter Graph

So the testing shows caching is worth while. In some cases your might not be able to cache or you might have a fast enough database server that the difference isn't noticeable but there is a good case for it. Increasing speed with caching can also save money and energy consumption as less servers are needed which cost both money and electricity.

I intend to do some more testing in the future. The next set of tests I do will probably be with part or full page caching, where I'll cache html outputs and not just the results of database queries.

More...

It's been a long time coming but I've finally uploaded the work I've been doing with my CMS. I've added a few new features but the main thing is the rewrite. Here's a run down of what's new, some noticeable and some not.

New Features

  • Blogging
    Before my blog was lots of manually created pages and one huge homepage. Now each post is separate and all the pages are generated automatically with a maximum of 10 (changeable) posts per page.
  • Caching
    Now the results of database queries are cached. This has made a huge difference in the speed of the site. I've seen the new site loading anything between 2 and 15 times faster than the old one. I will be doings some proper benchmarking this weekend and will post them on this site.
  • Widgets
    Little bits of content you can add to any page (see 'About Me' on the right... if it's still there). Right now there are simple html widgets that you can position above, below, to the right or to the left of the main content.
  • Design
    I've slightly changed the design of the site. Most noticeable will be removal of the header banner and the addition of the big background image (this uses my jQuery plug-in that I'll also be blogging about soon as it's not finished just yet). You'll also see that blog posts show the date there were posted in a nice little box.
  • Admin Area
    I've changed the admin to make it better and easier to use. Page and blog creation are now only one page (previously several tabs). Also, I've a more universal method for adding widgets and meta data to a page.


I'm going the be working on more thing in CMS 0.5rc so that I can remove the release candidate status.

Upcoming features

  • Blogging
    I'll be extending the blogging to include RSS feed, tagging and several blog based widgets. Some widgets include 1) latest posts, 2) popular tags, 3) archive list (list years and month where posts were made).
  • Caching
    I'll be looking at more caching methods such as full and part-page caching. There are so many options for caching I will be looking into it a lot and, where possible, I'll be blogging about it.
  • Widgets
    More, more, more! I'll be making more widgets such as RSS, popular pages, image/ad and any other type of widget I can thing of.
  • Design
    There's a few ideas in my head as for the way I want nojacko.com to look but I'm not a designer so this will probably be a slow process of small changes.
  • Admin Area
    I'm mainly focusing on functionality in the admin area. Galleries and external RSS feeds (display RSS from other sites) are the two features I'm looking at implementing next. Afterwards I'll be looking at making it look nicer.


Having this version live is very nice as it's taken me a long time. I've got a lot of momentum right now to keep developing the CMS and also the content on this site. So much so I'll leave all that for another post.

More...

Over the last week or so I've been working some more on the CMS. The main factor contributing to this is that I'd told a friend (Matt) he could use it on his site. Last week he bought his domain name and wanted to get started. The main features that I've added are:

  • HTML Widgets
    These are bits of html users can create with the WYSIWYG editor and then include into the left or right hand side of a page. You can see these in action to your right on this page (About Me).
  • Media Manager
    Media Manager will now automatically create a thumbnail when you upload a JPEG, GIF or PNG image. Also, the simple ability to include a thumbnail into a page with a link to the original link already embeded.
  • Other tweaks and nice touches
    Theres a lot more little features I've added just to make things smoother and more useable. Here's a quick list: better options when saving a page that isn't published, after a page saves the URL is shown, the list of pages now links to each page and even more that are too small to mention.

 

You can see the cms running here on www.nojacko.com and also on Matt's site www.mattcrane.co.uk. I've let him have full access to the skin, views and css so he has full controll of the site's look.

As for the next set of changes... top of the to-do list is mainly behind the scenes improvements. They shouldn't really take too long (fingers crossed). Afterwards it's going to be galleries or blogs and then some widgets for both of them.


More...

Hello World. This is my first post for the new nojacko.com. I'm going to touch on a few of things: Who I Am, This Website, It's Reason for Being & The Blog.

Who I Am
I am James Jackson and this is my personal website. That's all I shall say in this post about myself. If you want to know more check out the about page.

This Website
This site will be a place for me to blog, show off my work, collect useful links, test new stuff I'm working on and other things I've not thought off yet. This site has actually been around a few years now. It's not been kept up to date. The main reason being is it was all static html and a bit of a pain to update. So about 8 months ago (August/September 2008) I started working on creating a CMS. I've been working on it on and off since and in that time so much has changed and at one point I even rewrote the lot. All the time has actually worked out really well! Because I've been taking my time I've been able to think through everything before starting to implement it. The CMS so much better for this, as any project should be if you plan it well. At the moment the CMS is not for sale, but after it's been proven to work and new features are added it might be avalible to buy...

..back to the point. The site is now running on the above mentioned CMS meaning it's really easy for me to edit and update. So with the new easy of updating and a promise to myself to keep the site update it's looking good.

Reason
The original reason for this site was to have my own personal site. Before, I had only had websites trying to make a little money of the interweb. This site was to really to be about me, bring together all my sites and also be a site that wouldn't disappear off the face of the Earth like some of my other sites have. The name? nojacko was a name I thought of for playing games online. Jacko is a way to common nickname, so I came up with something more unique. I think it came from a friend of mine who would say "Nooooo Jacko" if I did something stupid at school. I was a bit silly at school so it was said a lot Laughing and the way he said it was always the same. So when I decided to think of a unique name it must have popped into my head. It wasn't being used by others and seemed alright to me... so I used it.

Blog
A quick note about this blog. The blog will be about anything and everything. Whatever I feel like really. Each post will be tagged and categorized, but until there are most posts I won't be listing the categories or tags. It'll look a bit plain with only 1 or 2 posts in each category/tag, and I haven't really finished the blogging system. You won't be able to comment on posts. I don't really think this is necessary for my site but if you do want to comment feel free to contact me.

Well that's it for my first post. Quite a bit longer than I originally thought it would be.

More...

About Me

I am James Jackson, a web developer. I  graduated in 2008 from the University of Leicester with a  2:1 in Computer Science (BSc). To find out more about me and my skills please visit James David Jackson.com.

 

Would you like to know more? Visit the about page.

 

James  Jackson on Facebook James  Jackson on Twitter James Jackson's YouTube James Jackson  on Google James Jackson  on Google James Jackson  on Google James Jackson's  RSS Feed

 

Follow me on Spotify