HeaderSIS.jpg

IS480 Team wiki: 2011T2 Imateam Final Wiki2

From IS480
Jump to navigation Jump to search



Imateamfinal2.jpg



The Final Wiki
It’s all said and done, it’s real, and it’s been fun.


Imaover.jpgProject Progress   Imaover.jpgProject Management   Imaover.jpg Quality of Product   Imaover.jpgReflections   Imaover.jpgSlides & Poster  


Project Progress

Project Highlights

Imahighlights2.jpg

Project Challenges

Imachallanges.png

Project Achievements

Imaachiv.jpg


Project Management

Project Status

Imastatus.jpg

Planned vs Actual


The following table highlighted our planned vs actual schedule since midterm.
Imaplan.png

Clickdl.png 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

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

User Testing
   

  • Tested the system for all 4 roles: Admin, Organizer, Speaker and Attendee
  • Attendee testing took place from 25th to 27th March (before Korea conference deployment)
  • Admin, Organizer and Speaker testing took place from 9th to 11th April (after Korea conference deployment)
  • No. of users tested: 30
    • 10 Admin
    • 5 Organizer
    • 5 Speaker
    • 10 Attendee

  • Procedure:
  1. User arrives, signs consent form
  2. User reads through the test cases
  3. Actual user testing is carried out with facilitators by his/her side
  4. Facilitators record all observations and quantitative data

  • Data collected:
    • Pass or Fail status
    • Time taken for each task
    • Number of 'wrong' modes made before successful completion of task

Clickyellow-trans.pngClick here to be linked to our Final User Testing page with our detailed methodology and results analysis

Deployment

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.

Reflections

Imareflection.png
Imaisk.jpg
Imasteph.png
Imaalicia.jpg

Slides & Poster

==