Back to Home

Portfolio: Blog Modifications

Summer 2007

In the summer of 2007 we were hired to preform multiple modifications to a blogging site. This site hosted blogs for hundreds of users and we were hired to modify the main blogging software to have completely new features and changing existing features; all on the live site without disrupting the users. The code was written in an object oriented way with most features contained to classes and the live server had all error reporting and debugging disabled. This was one of our most challenging and also entertaining projects as most of modifications required small surgical-like changes to the various classes or functions. If we made an error all we would see a blank page, and it us up to us to figure out where the error was made, all while not disrupting a site used by hundreds of people. Talk about operating without a safety net. But we relished the challenge and it forced us to really know our stuff and think each plan through. At the end of the project it was satisfying to see what we had accomplished and how we had gotten there.

Highlighted Features:

Various Stats for Profiles

The site owner wanted statistics to be available on each user's profile. These were numbers such as the number of posts, number of images, number of page views, friends, comments and views. A requirement was that the numbers were always up to date, were not displayed if the count was 0, and the queries used to generate the numbers must be efficient to not put a heavy load on the already stressed server.

Screenshot of User's Profile Page with Stats box

Blog Modifications: Profile Page

Grouping by Statistics

A number of different pages were created to display profiles according to specific criteria such as Most Discussed Post and Gallery, Most Viewed Post and Gallery. Pages were also created to group profiles by specific answers to certain profile questions. All of the pages required displaying the profiles that met the search criteria along with select pieces of information depending on how they were grouped.

To generate these pages new SQL queries were needed that pulled the various pieces of information from the various tables, filtered out non-relevant results, and ordered them appropriately so pagination functions could be used to divide the results out over pages.

Screenshot of Listing Pages

Blog Modifications: A Listing Page

Pagination on different views

For the pages we created and to some already existing pages we added pagination functions to divide up the results. The SQL queries used to retrieve the information were also changed and new ones created to display information that encompassed all the pages like totals and current ranks.

Adding a "Supporters" section to profiles

A completely new feature was created to allow users to "support" other users, which made the "supporter" show up on the user's profile with an optional and changeable comment and also subscribed the supporter to email updates as the user created new posts, events, or gallery items.On each user's profile page a new section was created listing who they supported and who supported them.

For registered users, a new backend feature was created to allow them to manage these lists. They could add or remove comments and select which users they wanted email updates from.

This feature was not limited to registered users of the site, so a new frontend mechanism was created that allowed non registered users to manage their support lists as well as which of the users they supported they would receive email updates for. This required email verification of the non registered user along with passwords to manage their list.

Image upload

For non-registered users who were "supporters" a frontend mechanism was built that would allow the user to upload a photo to be displayed next to their name on the user's profile page. Certain restrictions and checks were created to allow only non-registered users who had verified their email and ensure that only gifs and jpgs were allowed that were under a certain filesize. In addition to these restrictions, each image would be resized to icon size.

Adding icons to posts and comments

A fairly simple modification was made so that in the Posting and Gallery comments an icon size image of the poster's profile avatar would be displayed next to their comment (provided they have a profile avatar).

Screenshots:

(Click Image for a large Image)

Screenshot of Main Page

Blog Modifications: Main Page

Screenshot of User's Profile Page

Blog Modifications: Profile Page

Screenshot of a listing Page

Blog Modifications: A Listing Page