IS480 Team wiki: 2011T2 Imateam Final Wiki2
It’s all said and done, it’s real, and it’s been fun.
Project Progress | Project Management | Quality of Product | Reflections | Slides & Poster |
Contents
Project Progress
Project Highlights
Project Challenges
Project Achievements
Project Management
Project Status
Planned vs Actual
The following table highlighted our planned vs actual schedule since midterm.
Click to download our detailed Project Schedule
Technical Complexity
Coding Custom Drupal Module
One of the biggest technically challenging parts of our project was developing a custom Drupal module (Business Card Module) that was both unique, non-existent in the Drupal community and starting Drupal coding as a newbie. Drupal modules are all coded in PHP, but the complexity comes with coding using the Drupal API and the complex implementation of the Drupal hooks system, which basically provides a way for a module to extend the functionality of another module. In short, a hook is a function callback, which allows us to change the behaviour of Drupal core and other modules, thus extending their functionalities into other modules as well.
The entire team were roughly familiar with PHP, which we’ve encountered a few times in other modules and also in polytechnic, but learning the way Drupal utilizes the hook system in modules and the overall structure of a Drupal custom module was an entirely different challenge altogether.
Customizing Contributed Modules
One of the pros of using Drupal is the amount of modules available for use in the community. These contributed modules were fantastic working by itself on a website, but making the module work for our website, and do what we need it to do required us to change certain parts of the module in both coding and configuration. However, changing a contributed module ourselves required us to adopt defensive design patterns since the modules we use are subject to patches and bug fixes by their contributor. Thus, adopting a defensive design pattern when changing certain parts of the module simply means that we had to implement our code in such a way that it could be reconfigured on the fly without any extra coding, since any patches whatsoever would completely wipe out our changes.
One of the changes we spent a lot of time on was customizing the import attendees into system and conference groups function. Our Drupal system consisted of over 200+ tables in our database, where a change in one parameter in a table would affect parameters in several others. In Drupal 7, importing of list for administrators were not ported yet from the Drupal 6 version, thus, we had to customize and develop our own codes to create this function for our system.
Implementing Design Into Drupal Website
One of the most technically complex aspects of Drupal was implementing our design into Drupal. Designing, creating and building a theme is pretty straightforward, but implementing it into Drupal as a custom theme and making it look like what we’ve planned and envisioned is an entirely different challenge altogether. This involved creating subthemes, tweaking subthemes with CSS and custom template files and developing an overall responsive web design.
Quality of Product
Project Deliverables
Stage | Specfication | Modules |
---|---|---|
Project Management | Minutes | Supervisor Minutes, Sponsor Minutes , Team Minutes |
Metrics | Bug Metric , Schedule Metric | |
Requirements | Deliverables | Deliverables |
Scope | Scope | |
Analysis | Use Cases | Use Case Diagrams |
UI Mockups | Logos, Mockup Placeholders, Web Platform Designs | |
Design | System Architecture Diagram | System Architecture Diagram |
Deployment Diagram | Deployment Diagram | |
Testing | User Testing (Midterm) | Methodology, Analysis, Changes Made |
User Testing (Final) | Methodology, Analysis, Changes Made | |
Handover | Code | Client Server |
User Manual | User Manual |
Quality Achieved
|
We’ve achieved a very robust and powerful website with a rather unique design using Drupal. Enveloping the concept of business cards and the idea of speed networking onto a single platform, together with various other functions that would enhance the experience of both conference goers and organizers. The use of the Drupal framework in our system allows flexibility where the system easily accommodates changes. Drupal in essence, is designed for scalability with several improvements was made to the Drupal 7 core from the Drupal 6 core, in addition to improving scalability by optimizing the current server as well. | |
User Testing
|
Click here to be linked to our Final User Testing page with our detailed methodology and results analysis
| |
Deployment
|
Connet is hosted on a virtual dedicated server that runs Windows Server 2008 R2 with 3GB RAM, 45GB storage and 1,500GB/month of bandwidth. The deployment process of our applications involves pulling the latest version from SVN and copying the files over to the server via FTP connection. In the event of FTP failing, file transfer will be done via Remote Desktop Connection. Our application is currently hosted on the development server at http://letsconnet.com/. Our sponsors can access it at anytime using the Internet. | |