‘ Web Site Development ’ category archive

Star Rating AJAX Control

February 23, 08 by kenrich

Javascript Star Rating ControlRecently, I implemented a star rating system on one of my websites. The system uses CSS and simple javascript code to create a dynamic rating control. When the user rolls over the gray stars with their mouse, the starts light up in a gold color. For those of you who have seen these before, they are very simply to use and surprisingly easy to implement.

I added a rating system to my San Diego Business Directory so that users could add reviews of companies in the San Diego area. It works like a charm to enter ratings for businesses. I was able to add my own embellishments to the script that allows users to reset the control after the user has locked in their rating. This way users can make a number of changes in the process of editing the review before making the final submission.

You can test and download the star rating script at ReignWater Designs. It is very simple to add to your website and modify to suit your needs.

Code Igniter PHP Framework

October 25, 07 by kenrich

Code Igniter PHP FrameworkAfter reading some discussion on the PHP mailing list, I noticed a lot of people were recommending the Code Igniter framework. So I decided to do myself a favor and go check it out. Code Igniter is a very lightweight PHP framework for building web applications.

So far, I’ve just been reading the documentation to get a feel for how it works. It has some nice URL rewriting features to help your site rate well in the search engines. It also uses a lot of object-oriented methodologies to manage code modules. I really like the fact that it comes with a lot of helper classes to do common things like build HTML code. This was one thing I had built into my own framework.

It uses a helper class to access the database as well. I’m not sure if this is beneficial or not because there appears to be some limitations in how you can use it.

Some people think that PHP is not ready for the enterprise because it lacks the backing of a major corporation and doesn’t have the support that some of the big players have. I have been developing for over 3 years now and I can tell you that’s just not the case.
If you are just starting out in PHP, I think the Code Igniter framework like this is just the ticket to get you started creating powerful web applications. Of course, a knowledge of MySQL database would definitely be a major plus.

Creating Theme Support for Our CMS

March 04, 07 by kenrich

I am trying to develop a themes module for my new PHP intranet that will allow me to easily install themes. I plan to create an update site which holds all of the available themes. Each theme will be identified by an XML descriptor file which contains all of the properties for the theme. On the update site, a service will scan all of the folders on the site and parse all of the XML descriptor files. The theme information will then be collected and summarized then stored in a global themes file. This way, when someone does an update, they can just retrieve one file from the update server to build a list of available themes to download.

I’m thinking of having two different types of themes. One set of themes will be for the public site while the other will be strictly for the control panel. Users are free to mix and match themes so that the theme for the public site doesn’t need to match the one used on the control panel. Although they share a lot of the same components, it’s better to keep them separate so there is no confusion over what elements are specific to the public and which elements are specific to the control panel (and which elements are shared by both.)

Another feature I would like to have is the ability to customize a theme. So if a user doesn’t like one particular aspect of the theme, they can use a web-based theme editor to tweak the parts that they wish to improve. This should provide maximum flexibility when working with themes. I’m really hoping to get the theme support done quickly so I can open up the demo site to everyone.

Configuration Settings on a CMS

March 01, 07 by kenrich

I’m in the process of developing the next generation Orvado Intranet application. Technically, it’s a which will be used to build and manage very dynamic websites. I have designed a database for universal configuration settings which can be used across all modules but now I need to determine how the settings will be accessed.

In the past I’ve used a system where the settings would be accessible from each page of the control panel. This makes the settings easily accessible and relevant to the current section you are in. The only problem with this setup is that you don’t see all of the configuration settings in one place.

We could put all of the settings for each module in one common area. However, this would require that users navigate away from the section they are currently in to make changes. Then, once their changes are complete, they would have to navigate back to the section they came from. Not the ideal situation.

Another issue I’d like to address is having global settings for the entire site. These are settings that are not specific to on specific module or feature on the site. Usually, I’d put these settings on the home page of the control panel or in a special Configuration area of the site.

I think I’ll put the settings in both areas. Make all of the configuration settings accessible from a centralized location and also make module-specific settings appear in their related sections. This should provide the best of both worlds and (hopefully) won’t be too confusing for the operators.

Returning to a Website Project and Finding Problems

September 07, 06 by kenrich

It’s amazing how when you step away from a project, you believe that everything is working fine. Months later, you go back to work on the project to find out that what you thought was working wasn’t even close. This just happened to me while I was working on my new Team Task site.

I have been going through the forums application and I noticed that posting replies was not working properly. When you attempted to post a reply, the system would instead post a new topic. Definitely not a desirable behavior and something that needed to be fixed immediately. The good news is that this is now fixed and I found some other issues as well.

The HTML used to build the page was rendering differently in Firefox than it was in Internet Explorer. It seems that when using the break tag (br), the two browsers handle them differently when placed alongside paragraph and table elements. The solution was to change my paragraph tags to div tags and now everything looks consistent.

I was also plagued by the Firefox not wanting to abide by inline CSS style attributes. Instead, I placed these styles within their own style element and created ID selectors to reference the style of these elements. It’s a shame that the site has been in a state of disrepair for so long. I hope to get this site running in prime form very shortly.

Brainstorming for New Website Ideas

September 06, 06 by kenrich

Whilst coming up with new business ideas, I often ask myself “What is the most useful tools I’ve found on the web?”. Often, my thoughts turn to things like the Google search engine, the Internet Movie Database or just a reference site such as ASP Nut which contains a quick reference along with some useful articles.

Over the years I’ve found that it’s these sites that tend to attract the most amount of traffic. I’ve become interested in generating more traffic since I’ve started a new campaign with AdSense to sell advertising on my sites.

When my company was originally founded, I used to have a very simple site which would allow a visitor to see his or her IP address as it appeared to the outside world. While this may seen basic to most people who are even somewhat technically inclined, it can be a real chore to the novice computer user. So we just built a single page site where visitors could view their IP on the home page of the site. This site quickly became one of our most popular sites. The irony was that the site only took a couple of hours to build.

So now I find myself in a similar position. I am looking for some useful sites that I can create which will add some real value to the Internet. In doing so, it should prove to be a popular site which receives a lot of visitors. I will be brainstorming for ideas over the next few days. Should you have any ideas you would like to contribute, feel free to add a comment here!

Building a Search Engine for Code

April 06, 06 by kenrich

I was faced with a problem with searching our source code recently. Since we moved our hosting to a third party, we no longer have shell access that would allow us to search all our source code for the occurance of certain text. This makes it hard to track down common mistakes such as mis-spellings on the site.

In order to correct this, I have come up with a specialized for the source code on the site. I am developing a crawler which will index every single file on the website and place the index into our database. I will then build a search page that will allow me to search for keywords in the source code of the site. This is all written using also known as Active Server Pages.

Another solution for this would be to just maintain a local backup of the entire site and then use your favorite search tool to search that content. But, even though I do keep a local backup, it’s only in one location and I certainly don’t want to keep a backup in two locations. The bandwidth usage in this scenario could easily get out of control.

With the search engine, I can easily build a of all of the content on the site and search it quickly and efficiently. The search engine keeps track of when each script is modified so that when a script is changed, the engine knows it needs to rebuild the index. Since source code also involves a lot of symbols, I will need to look into integrating symble search as well, but as it stands it should be a great tool for locating problem code on the site.

Meet Snubster, the Anti-Social Networking App

April 05, 06 by kenrich

One of the new “anti-social” networking applications to be launched recently is called . The functionality at this point is pretty simple. You can build lists of people and things you want to put “on notice” or that are “dead to you”.

There’s nothing on the site where you can indicate your interests and what you like. This site strictly allows you to indicate what you don’t like and share it with others. The site is currently in Beta since it has recently been launched. There aren’t too many users there yet, but with the good press they’ve been receiving, it won’t be long before it becomes a big success.

As for the social part, you can also share this list with your friends. The system will prompt you to enter the e-mail address whenever you reference a person on your list. You can also vote on which list items are the best. This is one of the most minimalistic applications that we have ever come across.

Although, the anti-social networking application is certainly not a unique idea, this site does seem to have it’s charm. There are some navigation and javascript bugs which seem to be plaguing the site at the moment. With any luck, these bugs will be cleaned up shortly. The interface is nice to work with and even though it’s light on graphics, this doesn’t really affect the experience. All-in-all, a good place to vent your frustrations with the outside world and share common complaints with your friends.

Marketing Go Swap Auctions

March 23, 06 by kenrich

Recently, I’ve found myself in the position of trying to generate traffic for a new Website I launched recently. This is my online Go Swap Auctions. I face a steady uphill battle as anyone who has launched a site can tell you.

I have experience in several different areas of marketing. I will be using every iota of experience I have to help get this auction site off of the ground. There are many marketing tricks that I use and none of them are really top secret. You can find more information on these tricks by doing a Google search for .

Things would have been so much easier if I had kept working on my old site and kept it active. My new website represents a complete rewrite of my old auction site. This was necessary because my old site was written using Mason, which is not supported by the majority of web hosts. For this reason, I did a complete rewrite in PHP and so far I’ve been plesently surprised by how easy it has been to develop.

There’s no easy road to making a website a success. Unless you have a built-in user base or tons of money to throw intor advertising, you should expect a lot of work ahead. In the end, it is worth it though. You can look back and feel like you’ve accomplished something.

Trouble with AJAX Technologies

March 13, 06 by kenrich

Today, one of my favorite blogs, Daily KOS implemented some improvements to their comment system. It allows comments to be collapsed or expanded, entire threads to be collapsed or expanded and also allows members to recommend a comment to others. It puts a lot of the processing on the client-side which should help performance issues with the server.

A lot of people have noticed performance issues with Mozilla Firefox. I happened to be using Firefox and noticed a huge difference between IE 6 and Firefox. Firefox tends to animate the expansion and collapsing of threads whereas IE 6 is so fast it’s as if there’s no animation at all. Not quite sure what the problem is there, but hopefully they will be able to get it fixed soon.

A lot of people are touting Ajax as the wave of the future. It has helped to drive the Web 2.0 dot-com expansion. It’s still too early to tell whether or not these technologies will experience wide-spread adoption. I try to use the technology only on back-end administration applications. This minimizes compatibility issues as demonstrated in the aforementioned site.

One of the most useful applications for Ajax is for building a content manager. I use an HTTP control to retrieve a web page for editting content which works great as long as you’re only using IE 6. Hopefully, XML and HTTP extensions will be added to the next version of Javascript so that we no longer need to rely on ActiveX components for performing basic tasks.