Hello everyone! I hope that everyone had…

Hello everyone! I hope that everyone had a good bonding period like I did. I also hope everyone is ready to dive into the code since the Summer has officially started!

I finished my last final on May 14th, which ended my spring semester and freshman year. Since I was finished early, I was able to use the last week of the bonding period to start programming. I really got a lot of work done, and I’m excited at what I’ve completed.

Here are the main highlights & updates:

I started the week out by discussing with Jane and Andy what the best base for the theme was. Since the final product is meant to run on WordPress 3.0, and because it exhibits all the best practices in theming, Twenty Ten was selected. I set up a development blog, forked the theme into a separate directory, and then went through and changed the ‘twentyten’ namespace (in the language strings, functions, etc) to ‘ideapress’.

Side Note: I am going with the name ‘IdeaPress’ for now because I did not want to get stuck waiting for a good name, or trying to think of one. If it’s not an acceptable name, then it’s easy enough to change later. I also figured I could poll the community at some point if needed.

Once the ‘base’ theme was ready, I started development on one of the larger items from my project proposal: The Visual Posting Editor + Attachments feature.

Building the posting form went pretty well. I was able to implement the editor on the front end using the bundled TinyMCE scripts and using some of the built-in WordPress code for loading the editor. I made sure to alter the configuration so that only certain formatting tags could be inserted, and to make sure some of the features didn’t mess with the theme (horizontal scrolling, etc). Attachments were implemented in a similar way and easily tie in with the editor.

Next was the Promote/Demote System voting feature, which is supposed to offer Digg-like functionality. It essentially implements one of two actions: I promote this idea or I demote this idea. I built the logic first and then added some JavaScript to make the voting a little bit smoother. The system can probably be improved, because I’m just using some filler graphics for the +1 and -1 buttons and a rough UI, but it is working as I orginally intended.

The third task I worked on this past week was the Improved Comments (with Solutions) System. This involved creating a new comment type with a meta field for storing a title, making sure this title was editable in the admin control panel, and then implementing parts of the above two features into the solution system. My proposal stated that when a user wants to post a solution to an idea that they should be able to format with an editor and add attachments and users also should be able to vote on a solution, so this feature was a nice little wrap-up of the previous work. Like the voting system, the UI is rough but the functionality is there, and I’m happy with how it turned out.

With the functionality now working for these main sections, I plan on taking the next day or so to go through and clean up the code and UI that I have already written. A lot of of my development on the project to this point has been playing around with the features and different methods, and I’m sure that the code can be simplified now. After I clean up a bit, I will start on the other features that are listed on my proposal.

Have a great rest of the week everybody!

  • Justin