Skip to main content

Minor Updates #1

I still haven't sorted out the problem if you use names instead of guids for links and you end up with duplicate names... I don't even know where to start with that one. Actually, though, I've come to tell you that I *believe* I have removed all hard coded references to my network/website from the code. As far as I can tell, it all uses the SiteConfiguration namespace (soon to be on the wiki) for all of its information about the set up and how things are supposed to work. At this point, I think I will attempt to extract my database/stored procedures and see how easy (hard!) it will be to have you, the end user, implement.

A few changes that you probably won't notice are:

  • The WindowsLiveSearch bar in the upper left is now a simple function (named WindowsLiveSearch()) that you can call from your theme's master page. It will automatically enter in your website as the default search.

  • The RSS feed is also in a function that you can add and remove yourself from your theme's master page file (RssFeed()). This also is dynamically created from your goblog.config file.

  • Keep an eye out! Hopefully there will be a download available soon. (Version 0.00000001 pre alpha pre beta pre omega etc CTP preview release)

Updates

Well, here are a few updates about the site. Most of my work recently has been behind the scenes, optimizing code, commenting code, and lastly updating and creating new SQL procedures.

I've redone how users are handled internally, now using a colletion rather than sending the display name with the blog. So now, at any point in time - if I have the User ID, I can pull up the relevant information - such as the avatar (soon to be implemented), email address, or anything else that is stored. (Actually, that is all that I store right now).

I have also added an AJAX Windows Live search box to the top of the page. This allows me to let you search my site (that has been indexed by the Live engine) or the web, without leaving the page. I may eventually write my own search to look at blog posts, but that isn't a priority right now.

My current task is removing anything that has been hard-coded and replacing it with the information that is pulled in from the config file. My brother, Jared, has been expressing interest in using this software for quite a while now, in fact he has helped me keep moving along and designed this current layout and glass borders (thanks again Jared!). As a favor, I am attempting to allow him to run a beta of this site, so he can finally use it instead of Blogger. If anyone has any information on how to script/export a database for a new setup, let me know - I am trying to untie everything from my network, but it is proving more difficult than I thought. I currently have 16 stored procedures and while I know how to write them, I am trying to make it as easy as possible for a new user to set up and maintain.

Keep an eye out for future developments - it is slowly but surely moving along!

And thanks for all of your support, it really does help!

Da Wiki!

Well, I've added a wiki to my web. No, I didn't write it myself but it is a full ASP.NET 2.0 application, so it works quite nicely! You can view it at: http://wiki.gibixonline.com. So far, I plan to use it for the documentation for the blog - but who knows what else it'll be used for.

Teh Newz!

Well, as part of getting back into the swing of things for work (a few weeks off will do that to you) I've started reading up on the world happenings that, well, happened over the break. Here are some links to things I found interesting:

It is amazing how hard it is to go back to getting up at 0530 instead of going to bed at that time. Ah well, having a few cups of Green Tea has helped.

Snow, snow, everywhere

In case you haven't been following the news, Colorado was hit by a big, nasty blizzard these last few days. Even up where my brother lives. Just for fun though, I took two pictures of our deck tonight, after some snow has melted to show how much we really did get. I'm not too sure of the official amounts but I do know that we have had at least 4 feet of snow in drifts. What I find hilarious about this whole situation is that most of our family is attempting to get together... in fact, most were supposed to arrive today. Ah well, on with the pictures!

Image of shovelled snow path on the deck.

Lower angle of the shovelled snow path on the deck.

Woohoo! Valid XHTML + Controls!

I finally learned how to create my own user controls, which allows me to create a custom control in which I specify everything that happens... which properties it exposes, how it renders to the screen, and even the types of sub controls! If you take a look at the source of the main page (and view.aspx - haven't gotten to the category view yet) you will notice it is full of divs instead of one huge span! You might also notice that the viewstate is MUCH SMALLER because the data isn't stored inside an <asp:Label> control. This will help loading times, and allow finer control over the final output. Stay tuned!

View.aspx now up!

Well, I now have my view.aspx page up, so you can now click on the title of a post and be able to view the entry plus any comments (if there are any present)! It seems to be working so far, I haven't covered for a missing entry yet, so you will get a post with no information (posted on January 1, 1900 I might add). One neat thing about the XML Serialization is that it now returns my entries as a CommentEntry[] or BlogEntry[] etc. This makes casting easier as I know that the types in the array are the type I expect. So I no longer need to do type checking on an ArrayList which can contain anything inside it. On a side note, I took a peek into writing managed code for my stored procedures, but couldn't find any benift since I don't do anything cpu intensive. I did see the power it has, however, if you needed to do a ton of parsing of data before returning it to the client. Keep an eye out for more progress!

XML Serialization

I know you don't see anything on your end, but the backend has had a major overhaul! I finally got away from using ArrayLists to return my data and instead wrote my own collections (based off of the abstract class System.Collections.CollectionBase) and added the [XmlAttribute], [XmlElement], [XmlRoot], and lastly [XmlArrayItem] to the classes to allow them to be serialized. It doesn't mean much to you viewers, but it does allow me to actually publish a specification that doesn't rely on the .net framework. It is quite late and I am tired, so I'll cut this short. Hopefully some of the other functionality will be available to you soon!

Comment Splitting

Well, thanks to the keen eye of my brother a small, but important, slip up has been fixed. It was an artifact of using the SQL SELECT ... WHERE ... LIKE ... % clause, and I was just simply checking for the categories based on their index number. The problem with that was the SELECT statement was "WHERE Categories LIKE '%' + CAST(@categoryID AS nvarchar(10)) + '%' . All that did was check the category number for <anything>CategoryNumber<anything> - which worked just fine with single digit numbers. Jared noticied this with category #2, which matched everything from category 2, 12, all of the 20s, etc. To remedy this, I changed the layout to use pipes, so now they are stored like |1|2|3| instead of 1,2,3. Once again, thanks Jared!

One more thing

Just a quick note! I have upgraded my main server, Tsunami, to 64-bit. More on that later! Also, it is a bunch of fun working with SQL (I haven't worked with it this much before). I have stored procedures doing all the calls into it so far, to help reduce the attack surface. To help visitors see the site quicker (my site isn't that frequently visited) I am only using the precompiled version of my website, so when the application loads it just starts spitting out the HTML and all that stuff. It's a really neat feature of Visual Studio 2005 and ASP.NET 2.0.