Fixing site problems

Bang in the middle of my trip to Los Angeles for PDC, on 15th November, this GraffitiCMS site you are reading ( went down. Hard. It seemed to happen just after my last post as well.

I added a "site under repair" default.html file to the root directory while I investigated (it would be picked up first if no filename is entered in a browser address bar). I had absolutely no idea what was wrong. I couldn't log into the site (indeed, the main page didn't even come up) to check out the error logs. The site is hosted on GoDaddy, but when logged into that I couldn't see anywhere that described what was up. I could FTP into the file system on GoDaddy's servers, so I did make a backup just in case. I even reset the whole application on GoDaddy, removing it from IIS, and re-adding it, hoping that would help. After downloading the whole site via FTP, I attached to the local version with the IIS running on may laptop and it seemed to come up just fine.

Another problem was that even when the main page was up (it was as slow as heck in doing so), clicking on an in-site link would crash the application, producing the GraffitiCMS error page. Again, no idea why.

Finally I decided to take a look this evening. I downloaded the site again, this time to my desktop. I attached the local site to IIS7 and investigated. Pretty soon I got a server error (a Yellow Screen of Death) which indicated that I had a duplicate key in graffiti_Post_Statistics. OK, then. Onto the next problem.

I'm using GraffitiCMS in its default mode, using a VistaDB database. The only database management tool for VistaDB databases is part of the VistaDB database engine itself. Using a helpful post from DamianM (Migrating Graffiti CMS from VistaDB to SQL Server), I downloaded a trial version of VistaDB 3 and installed it. I then ran the Data Builder tool that's part of the product to repair and pack the database. I still got a duplicate key error on running the site, so I went back into the tool and deleted the record causing the key violation. After that all was fine: the site came up and I could navigate through to in-site URLs. I then uploaded the fixed database to GoDaddy's servers and the public site worked perfectly again.

However, this does not bode well for the future. The VistaDB trial I installed runs out in 29 days (it's a 30 day trial). VistaDB is up to version 4 now, and DamianX intimates that the database file format has changed; in other words, you have to use the Data Builder 3 tool to fix a VistaDB 3 database. I'm going to email Jason Short, the owner of VistaDB, to verify whether this is true or not (I can't find any such information on their site). If so, once the trial runs out, I'm SOL if this problem happens again. (Of course, if the current version of VistaDB works with VDB3 files — without upgrading them to some VDB4 format — then this is no problem.)

Also, although Graffiti comes with a Data Mover application (and you can copy the data for your site from one VistaDB database to another blank one), it would not have solved this particular problem. I had to physically delete the erroneous record from the table. At the very least, Telligent should have provided a simple database repair app with GraffitiCMS(heck, VistaDB provide the source code for Data Builder so you can do exactly that). But then again, Telligent don't particularly care about GraffitiCMS any more — version 2 was due "in early summer", but we now have snow here in Colorado with no new version in sight.

In conclusion, the short-term moral of the tale is that it's time to migrate this site to SQL Server. Not dissing the VistaDB folks here, but a database needs an easily downloadable management tool.

And the long-term moral is to use some other blogging engine.

Now playing:
Kool & the Gang - Jungle Boogie
(from Gold (CD 1))

Loading similar posts...   Loading links to posts on similar topics...

5 Responses

#1 Marc Scheuner said...
22-Nov-09 2:57 AM

Pity about GraffitiCMS - I was longing and hoping for v2.0 as well - the v1 does have a few annoying feature gaps....

Too bad Telligent isn't investing more into that excellent little gem! I have been searching high and low for another free / community capable ASP.NET CMS, to no avail. Lots of them around, most of them totally unintuitive and with a huge learning curve :-(

#2 DamianM said...
22-Nov-09 3:29 AM

Glad my experience helped someone. Like yours, mine decided to die at an inconvenient time.

The migration to SQL server was painless once I'd cleared up the mess inside the graffiti db, it's well worth doing.

I'm tempted to migrate the blog to a new engine, but I'm holding out a little while longer for Telligent to either do something with it, or answer the masses and open source the thing.

#3 Jason Short said...
26-Nov-09 11:14 PM

Well, if you need a compact / repair util for the VDB3 format contact us at VistaDB. We will build one and send it to you.

Telligent never included the simple maintenance of Pack or Repair in their system. And the engine they are running is almost one of the very first VDB3 releases. They never updated it to include any of the new builds.

They had a good product, we used it ourselves. But the lack of maintenance, and poor data structure of the hits table caused performance problems after any serious traffic. Tried and tried to get them to work with us, finally we left.

#4 Converting GraffitiCMS from VistaDB to SQL Server on GoDaddy said...
30-Nov-09 11:53 PM

Is that SEO-specific enough, do you think? Heh. Anyway, here's the situation. I started this blog using GraffitiCMS about a year ago, previously having used static web pages created with CityDesk . All my sites are hosted on GoDaddy : I went with a Deluxe

#5 asava samuel said...
10-Mar-13 7:49 AM

Here is an ORM that works with VistaDB

Leave a response

Note: some MarkDown is allowed, but HTML is not. Expand to show what's available.

  •  Emphasize with italics: surround word with underscores _emphasis_
  •  Emphasize strongly: surround word with double-asterisks **strong**
  •  Link: surround text with square brackets, url with parentheses [text](url)
  •  Inline code: surround text with backticks `IEnumerable`
  •  Unordered list: start each line with an asterisk, space * an item
  •  Ordered list: start each line with a digit, period, space 1. an item
  •  Insert code block: start each line with four spaces
  •  Insert blockquote: start each line with right-angle-bracket, space > Now is the time...
Preview of response