Abstract

This application is designed to be used by software development teams.  It consists of a website, database, and desktop client.  The website acts as the server to the desktop client.  The desktop client sits in the system tray and makes available to the user all communication surrounding a project.  Aspects surrounding the project are accessible to all members of that project.

Objects

Install – an implementation of Playbook.

Project – a collection of members, comments, files, and events under a singular heading.

Member – a participant user associated to a project.

Comments – any item associated to a project that is not a file or event.

Library Item – a document, spreadsheet, image, etc. associated to a project.

Event – a time-attributed item associated to a project.

Activities

Activities are actions taken on Objects.

User Interface

The user interface is a WPF application that will be installed via ClickOnce.  It will sit idle in the Windows System Tray until selected where it will then expand to expose information about the current project being worked on.

System Tray

There is an icon that sits in the System Tray that provides an entry point into the application.  The user clicks on the icon to show the Expanded View.  A context menu will display when the user right-clicks on the icon. 

The context menu will have:

  • Open
    • This is the default action.
    • Shows the Expanded View.
  • Settings
    • Shows the Settings section of the Expanded View.
  • Exit
    • Shuts down the application.

Expanded View

This view shows the user’s associated projects and summary information about the projects.  It provides an input area for the user to enter project-related comments, add library items, or create/view events.  The projects are tabbed.  Each tab area shows a running list of activities associated to the project starting with the most recent.  There is summary information per activity shown with a clickable element to allow the activity information to expand, a clickable element to open the activity in the Client Window, or, in the case of a library item, download.

Client Window

This is the full screen application view.  This view shows all activities related to a project.

Entity Model

This is the current entity model for Playbook.   This is a work-in-progress, but should give you a good idea about the entity relationships.

Playbook Entity Model

 

Install

An Install is the client instance.  The install manages the client/server interactions.  A user runs this locally.

Modules

Modules provide extensibility (plug-ins) to the install client.  This can be anything to extends the functionality of a client such as Source Control, Sharepoint, WordPress, Office, Twitter, etc.

>> THIS NEEDS FLESHING OUT <<

Peer-to-Peer Interaction

Each client install is both a client and a server.  A Member is invited to participate in a Project by the Owner Member.  The invitation contains an encrypted message containing the location of the Owner Member’s client install.  The client retains this “certificate” allowing them to directly interact with each other.  Each client can have a multitude of “certificates” allowing them to participate in a multitude of Projects.

Each client maintains data pertaining to Project(A Module may be created to centralize this information…)

Project Invite Certification

>> THIS NEEDS WORK <<

Roles

Member – Any user of the software.

Owner Member – Any member who creates an Object.

Editor – A member who can modify an Object.

Viewer – A member who can view Objects, but cannot modify them.

 

Comments

Comments are associated to a project.  Another way to think about comments is “things about the project or event”.  Each CommentType is color-coded.  Comments are not threaded.

Comments Types

  • Comment – A comment associated to the project.
  • Task – A task associated to the project.
  • Issue – An issue associated to the project.
  • Bug – A bug associated to the project.
  • Code – A code snippet associated to the project.

 

Library Item

Library items are files associated to the project.  Each library item has meta data associated to it.  The ContentType is the associated content MimeType.  Library items are versioned and the revision dates are tracked.  The Client will allow the user to open a library item and view it locally.  Library items that are pulled down should remove any previous version to ensure the user has the latest version.

Last edited Oct 25, 2010 at 8:39 PM by JPaulDuncan, version 7

Comments

No comments yet.