August 28th, 2013
This week I finally launched MSOE.edu, by far the biggest project I’ve ever tackled. I started work on this full-time back in December of 2012, and stayed nearly full-time on the project for the last 8 months. The project reached the following major records for me:
- Most hours put into a single project
- Longest calendar duration of any single project
- Most technically-challenging single project
I’m not sure what the total hours put into this were, but guessing about 8 months (32 weeks) at 30 hours/week, the estimated 960 hours far eclipses the previous 4 month/280 hour effort put into TapMilwaukee. I know this pales in comparison to a lot of other development efforts, especially when considering the amount of work that often goes into programming for hardware like medical devices and aircraft, but for a web project, this is huge. A couple of technical highlights (and the items that really pushed my technical boundaries) include:
- The JiveConnect plugin for WordPress/Jive – This combination of WordPress and Jive plugins allows WordPress page publishing to publish to a new custom post type in Jive called Pages. This allows for adding static HTML content to a Jive site, which before was notoriously difficult to do. A lot of WordPress action hooks, custom database schemes, API calls, and new admin interfaces went into the build.
- A Custom SSO Process – Coded outside of Jive in a standalone LAMP stack, I wrote the PHP for a registration process that looks users up in multiple LDAP systems and links their accounts together for SSO.
- Custom Jive Theme – By far the most heavily modified, and one of the best looking, Jive themes I’ve ever worked on or seen bring this project to life. I added some details myself, like the cool parallax scrolling on the homepage.
- New Application Forms – We completely overhauled the MSOE registration process into neatly organized forms.
At times it was a breeze, most of the time it was extremely challenging, but in the end it is ultimately rewarding. I look forward to the next challenge but in the meantime… I need a break.