CS 39x Class Project Final Presentation. Purpose: Inform everyone of the work done in phase 3 of the...

Post on 18-Jan-2016

216 views 0 download

Tags:

transcript

CS 39x Class Project

Final Presentation

Final Presentation

• Purpose: Inform everyone of the work done in phase 3 of the Workbook project.

• Additionally: – Future work for phase 3 features– Some obstacles faced in phase 3

Workbook Phase 3 Features

Workbook Phase 3 Features

Outline of Presentation• Greg’s Group

– Dashboard– Permissions – Issue Tracker

• Will’s Group – GUI Bar– Discussion Forum

• Alec’s Group– Calendar– Chat

Dashboard, Permissions and Tracker

• Dashboard – better logging and improved settings page

• Workbook permissions – five user levels to determine what users can do

• Task/Issue tracking – used to keep track of a project’s progress and remind developers what needs to be done

Greg’s Group• Dashboard

– Patrick Edgett– Jon Blount– Chris Polizzi– Jessica Williams

• Issue Tracking– Ben Andelin– Roberto Murillo– Jason Bright

Dashboard

• Centralized location for commonly accessed data– DashboardLog for apps with no built in

logging. Used during the app object creation and editing

– Interacts with UserProfile, Departments, Projects and Messaging

Dashboard

• Future plans:– iGoogle-like interface– Integrate log items with the GUI bar– Keep updated as new apps are created

• Obstacles:– Heavy on interaction with other apps

Settings• Select names to view on the Dashboard home

page• Choose from a list of departments that you

are a member or owner of to view on Dashboard

• Choose from a list of projects that you are responsible for to be displayed on Dashboard

• Change password link• Option to select number of updates to be

displayed on Dashboard

Settings

• Future Updates– Customize look and feel of Dashboard– Change settings for advanced features.– Give the user more options within the

settings page.

Permissions

• 5 levels:

– 1: Developer. Standard user

– 2: Forum Admins

– 3: Project Admin. Can edit projects assigned to them

– 4: Department Admin. Edit departments assigned to them and create children departments of the departments assigned to them

– 5: Site Admin (django admin/superuser). Create and assign Departments to Department admins, projects, etc. Full reign

Permissions

• Currently implemented:

– Checks when departments/projects are created/edited to verify user permission

– Can see a user’s authorization level by using get_auth_level() on the UserProfile object

• Future:

– Allow child department, project department, etc to automatically be filled in based on the user’s permissions.

• Currently allows unauthorized departments to be selected but not allowed upon creation, confusing

Issue Tracking: a Reminder

• Basic Idea

• What is a task?

• What is an issue?

Comments

• Why do we need comments?– Update on progress– Upload files (attachments)

Notifications

• Email

• Calendar Event

Notifications (cont)

• Email– Link to add to/remove from notification pool on

Task page– Sends out email every time task is updated

• Calendar Event– Adds calendar event when added to notifications– Removes calendar event when removing

notification request

Search + Demo

• Search feature located at top of tracker page.

• Search & Ordering

• Demo

Will’s Group• GUI Bar - Dynamic bar at the bottom of all workbook

pages.

• Discussion Forum - Place where users can discuss projects.

• External Webpage – A place to “sell” Workbook and run a demo of Workbook.

GUI Bar Team Members

• The Team:

– Derin Phelps

– Tory Cheatham

– Daniel Welty

GUI Bar

• Displays real-time notifications of events

• Chat integration

• Calendar integration

• Compatible with all four major rendering engines

GUI Bar

Demo

Discussion Forum Group

• Team Members:

– Chris Schwartz

– Dave Linhorst

Discussion Forums Users can create thread and post to existing threads. Users can use ‘fancy formatting’ in their posts Admins can create new forums, assign moderators, as well as remove forums. Moderators have the ability to delete threads and posts

Future Work

• Create feature that will contact users if there post/thread get a response

• Allow users to post attachments in there posts.

Problems with Implementation• Figuring out how to incorporate admin,

moderator, and user permission onto the existing Workbook application

Discussion Forum

Demo

External Webpage Team

• The Team:

– Jasmine Glaese

– Jake Huhman

External Website

• Goal – “Sell” Workbook

• Layout – Same Workbook design aesthetic

• Home page – News and updates on Workbook development

• Demonstration page – On-site demonstration using dummy accounts

External Website

• About

• Screenshots

• Compatibility

• Pricing

• Contact

• Reviews/Replies

Obstacles Faced

• A couple of browser discrepancies between Firefox and IE

• Difficulties connecting to our test server with PHP

External Website

Demo

Alec’s Group

• Calendar Application

•Chat Application

Calendar

• Ben Murrell

• Brett Davis

• Tim Olson

• Brandon Cronin

• David Leimer

Calendar

• Main Purpose– Create a calendar within Workbook that tracks

project deadlines, issue deadlines, and other “point in time” type of events like holidays and birthdays.

• Caching– Due to the large possible number of automatically

generated events the calendar requires a caching scheme

Calendar

• Calendar tab

– Provides a large monthly view

– Displays events on their designated time and date

– Allows manual addition of events

Calendar

• Mini calendar– Resides on the side

panel as a quick reference

– Uses Iframe and AJAX

– Mouse over day shows events

Calendar

• Future Work

– Loading automatically generated events

– Week and Day views

– Calendar subscriptions

Calendar

Demo

Chat

• David Mattli

• Otto Schnarr

• Chad Henderson

• Matt Hug

Chat

• Why isn’t chat on minersoftware.com ?– Because of licensing concerns the university has

about using GPL code, The chat system is running on its own domain

– This way the chat system is complete separate and easy to remove from workbook, should the need arise

– Chat system developed as a Django application so it can be integrated in the future.

Chat• Jabber

– Chat protocol

• Ejabberd– Platform independent Jabber Server

• XMPPPy– Python library for jabber

User Client

(Browser)Chat

Application(using

xmppPy)Jabber Server

User(Jabber Client)

Chat

• Chat window– Uses AJAX for

real-time updates

– Contains conversation, buddy list, and login information

Chat

• Future features – Create chat ID’s automatically when

workbook ID’s are created.

– Integrate with workbook if “the man” lets us.

Chat

Demo

Workbook Complete Set

• User Profiles and Registration

• Departments and Projects

• SVN

• Private Messaging

• Wiki

• Dashboard

• Permissions

• Issue Tracking

• Discussion Forum

• External Website

• GUI Bar

• Chat

• Calendar

Questions & Thanks!