developer Developer Manual Will Coleman 214 801 6955 Brett Martin by dandanhuanghuang

VIEWS: 9 PAGES: 20

									Developer Manual
    Will Coleman
     214-801-6955

     Brett Martin
     816-665-7008

    Ben Standefer
     469-667-3525

      Alex Ting
     214-405-8906
MIS 333K – Team 4


Introduction to the system:

Our system is a customer relationship management solution that allows an organization to
manage client information and organize pertinent system information. The system allows all
customer and administrative information to be stored in a centralized location while restricting
access to clients, donors, volunteers, and administrators through password control like other
CRM systems. There are two sides to the CRM system: a back end, intranet, and front end,
extranet.

The intranet allows administrators and volunteers to manage all customer or client information.
They can mark active or inactive clients, or run searches with a multitude of different criteria to
gather client information and make specialized reports. In the intranet, administrators and
employees are also able to view and manage client information along with employee and
administrator information. Intranet users also have access to the CRM’s system settings and can
oversee the discussion board and file manager. Administrators and volunteers are also able to
post events to the calendar and create a newsletter.

The front end side of the system collects client and customer data and stores it in the CRM
database. The front end also allows the administrators and volunteers to communicate with
clients and donors through the message center and forum. Clients and donors will also be able to
sign up for the newsletter.


Requirements of the system:

The system is a very intensive CRM solution that needs certain application for a developer to use
and develop a system such as this CRM system. A developer would need a .NET framework, a
SQL 2000 database, Visual Studio, Windows Server, with IIS to manage and support the system.

Clients that implement this CRM system require nothing other than a basic internet connection
and any internet browser to fully use the system.




                                                                                                   2
MIS 333K – Team 4


List of team assignments:

Winton Coleman:              Ben Standefer:

-   Navigation Improvement   -   Calendar
-   Discussion Board         -   Groups
-   Newsletter               -   Navigation Improvement
-   Mailing Labels           -   Instant Search
-   Stored Procedures        -   Extranet
-   Document Center          -   Test
-   Add User Improvement
-   Test
-                            Alex Ting:

Brett Martin:                -   Documentation
                             -   Sitemap
-   Calendar                 -   Color picker
-   Calendar Algorithms      -   Layout adjustments
-   Groups                   -   Will’s Lackey
-   Test                     -   Test
-




                                                          3
MIS 333K – Team 4

Project planning dates:

03/30/06: Become familiar with existing Intranet and Extranet

04/04/06: Assign deliverables and temporary deadlines

04/17/06: Finish preliminary calendar view and functionality

04/18/06: Finish preliminary functionality of discussion board

04/23/06: Finish preliminary functionality of file manager

04/25/06: Begin documentation

04/29/06: Set permissions for viewing

04/30/06: Finish group functionality

05/01/06: Finish discussion board, file manager, mailing labels

05/02/06: Add functionality to extranet
          Finish newsletter

05/03/06: Finish extranet

05/04/06: Work on all final tasks
          Test until deadline

05/05/06: Finish all tasks




                                                                  4
MIS 333K – Team 4

Weekly Status Report for week ending: 4/7/2006
This week's proposed deliverables:
                          Task                               By Whom             %Complete
Assign jobs to group members                         All                  100
Establish requirements for calendar                  Brett and Ben        100
Establish requirements for discussion board          Will and Alex        100
Create ERD for calendar                              Brett and Ben        100
Create ERD for discussion board                      Will and Alex        100
Build tables for calendar in team folder             Brett and Ben        100
Build tables for discussion board in team folder     Will and Alex        50
Begin running queries to get calendar data           Brett and Ben        25
Work on development of a calendar class              Ben                  25
Next Week's Deliverables:
                           Task                                        By Whom
Continue running queries for calendar data           Brett and Ben
Work on queries for back-end discussion board        Will and Alex
Begin writing stored procedures for calendar         Brett and Ben
Write stored procedures for discussion board         Will and Alex
Continue developing calendar class                   Ben
Work on user interface once back-end is solid        All

Weekly Status Report for week ending: 4/14/2006
This week's proposed deliverables:
                          Task                             By Whom               %Complete
Build tables for discussion board in team folder   Will                   100
Continue running queries to get calendar data      Brett and Ben          50
Work on development of a calendar class            Ben                    50
Work on queries for back-end discussion board      Will and Alex          50
Begin writing stored procedures for calendar       Brett and Ben          50
Write stored procedures for discussion board       Will and Alex          50
Continue developing calendar class                 Ben                    25
Work on spacing and consistency in pages           Alex                   10
Next Week's Deliverables:
                           Task                                        By Whom
Continue running queries for calendar data           Brett and Ben
Work on queries for back-end discussion board        Will and Alex
Begin writing stored procedures for calendar         Brett and Ben
Write stored procedures for discussion board         Will and Alex
Continue developing calendar class                   Ben
Work on user interface once back-end is solid        All
Newsletter                                           TBD
File Storage                                         TBD
Mailing Labels                                       TBD


                                                                                             5
MIS 333K – Team 4

Weekly Status Report for week ending: 4/21/2006
This week's proposed deliverables:
                        Task                          By Whom                  %Complete
Calendar event portal                       Ben                        90%
Create Event                                Brett                      40%
Instant Search                              Ben                        99%
Add Forum                                   Alex                       60%
Add posts (reply and thread)                Will                       95%
View Threads, and Replies                   Will                       100%
Update/Edit Threads and Replies by admins   Will and Alex              40%
Next Week's Deliverables:
                         Task                                        By Whom
Detailed View Event Page                      Ben
Groups functionality                          Ben, Alex and Brett
Update/Edit by admins and Users               Will
Create Event                                  Brett

Weekly Status Report for week ending: 4/28/2006
This week's proposed deliverables:
                         Task                          By Whom                 %Complete
Calendar event portal                         Ben                       99%
Create Event                                  Brett                     100%
View Event                                    Ben                       70%
Add Forum                                     Alex                      85%
Add posts (reply and thread)                  Will                      100%
View Threads, and Replies                     Will                      100%
Update/Edit Threads and Replies by admins     Will and Alex             100%
Archiving Threads                             Will                      100%
Add Groups                                    Brett                     90%
System Configuration                          Alex                      85%
View Invitees                                 Ben                       75%
Groups Functionality                          Ben, Alex, and Brett      45%
Documentation                                 Alex                      10%
Next Week's Deliverables:
                         Task                                        By Whom
Detailed View Event Page                      Ben
Groups functionality                          Ben, Alex and Brett
Update/Edit by admins and Users               Will
Edit Groups                                   Brett
Add/Delete Occurance                          Brett and Ben
Mailing Labels                                All
Export to Excel                               All
Documentation                                 Alex


                                                                                           6
MIS 333K – Team 4

Data Flow Diagram

In addition to the original Data Flow Diagram from the Fall 2005 version:



                            Document
                                                   Requested
                             Center                   Info


                                                                                                            Forms         Groups
  Discussion    Requested
    Board          Info                            Process
                               Request              Group                    Return
                                 Info                                         Info
                                                  Permissions                                            Process
                                                                                                                          Info
                                                                                                        Group Data
                Process
    Request                              Return        Permissions          Document
      Info
                 Group                    Info            Info                Data                     Request Return
               Permissions
                                                                                                         Info   Info


                                     Discussion               Update        Report Update
                 Permissions
                    Info
                                                                                             Update     Group Data
                                     Board Data


                                              Report
                                                                Maintain and Process all               Report
                                                                                                                 Update
                                              Report
                                                                 Customer Information
                                                                                                      Update


                                          Event &                                        Report
                     Request
                                         Occurrence                                                      User Data
                       Info                                                            Request
                                            Data                     Update              Info


                 Process             Return                                                             Return Info
        Info                                                         Info        Process User
                 Calendar             Info
                                                                                     Data              Request Info       Newsletter
                  Data
                                                                                                                Forms


  Calendar       Forms                                  Mailing Labels                      Return
                                                                                   Forms                 Newsletter
                                                                                             Info                         Info
                                                                                                           Data




                                                                                                                                       7
Below is our table design for the project; each table is listed and with a brief description of each field.
Below is a list of new tables we have added to the CRM; each table and its columns are
listed with a short description of what they are.
utlForums                  Table that stores the forums, set once by the
                           administrator
ForumID                    PK that is generated to identify the Forum
Audience                   FK to UserTypeID to identify what users can see the Forum
ForumName                  The title of the forum seen by users
Description                A description also seen by users
Type                       To set private or public forums

dtaThreads                 Table that stores the threads that will appear inside each
                           Forum
ThreadID                   PK that is auto generated to identify the Thread
ForumID                    FK to designate which forum the thread is part of
Title                      The title of the thread seen by users
AuthorID                   FK to the UserID to identify the author of the thread
Date                       The date and time the thread was created
Text                       The message seen by the user when the thread is opened
Sticky                     A Boolean field to identify if the thread should stick to the top
                           of the forum
Archived                   A Boolean field to identify if the thread has been archived

dtaReplies                 Table that stores the replies to each thread
ReplyID                    PK that is auto generated to identify the reply
ThreadID                   FK to designate which thread the reply belongs to
AuthorID                   FK to UserID to identify the author of the thread
Date                       The date and time the reply was written
Text                       The text of the reply seen by users

dtaFiles                   Table that stores file details for the document center
FileID                     PK that is auto generated to identify the file
PostedBy                   FK to UserID to identify the poster of the thread
PostedDate                 The date and time the file was posted
FilePath                   The file path of the document in the orgRes folder where files
                           are uploaded to
Title                      The title of the file seen by users
Description                A description also seen by users
Audience                   FK to UserTypeID to identify what users can see the file

dtaGroup                   Table that stores group information and membership
GroupID                    PK that is auto generated to identify the group
Name                       The name given to a group
Notes                      Description information of a group

lkpGroupMembers            Bridge table that links groups to users
UserID                     PK/FK to link users to groups
MIS 333K – Team 4

GroupID              PK/FK to link groups to users

lkpGroupInvites      Bridge table that links groups to events
GroupInviteID        PK that is auto generated to identify the group invitation
GroupID              ID of the group that can see the event
EventID              ID of the event
Invited              A Boolean for whether the group is invited

dtaEvents            Table that stores events information
EventID              PK that is auto generated to identify the event
Details              Details describing the event
Title                Name of the event
PublicEvent          A Boolean for whether the event is public
Creator              Stores the UserID of the creator for permission purposes

dtaEventSignup       Table that stores user signup information
SignUpID             PK that is auto generated to identify the signup
StartDateTime        Stores the start date of the event
EndDateTime          Stores the end date of the event
EventID              Stores the EventID
UserID               Stores signup UserIDs
Notes                Notes for signups

lkpEventInvites      Bridge table that links users to events
EventID              PK/FK linking events to users
UserID               PK/FK linking users to events
Invited              Stores whether users are invited to events

lkpEventRSVP         Bridge table that links users to RSVPs
EventID              PK/FK linking events to users
UserID               PK/FK linking users to events
Attending            A Boolean for whether they are attending or not
Notes                Notes for RSVP details

dtaEventOccurances
EventOccuranceID     PK for the event occurrence
Granularity          How often the event occurs
WhenHappens          Which day of the week or day of the month
StartDate            Stores the start date of the event
EndDate              Stores the end date of the event
StartTime            Stores the start time of the event
EndTime              Stores the end time of the event
Details              Description of the occurrence
EventID              Stores the EventID
Location             Stores location information for the event



                                                                                  10
MIS 333K – Team 4


Improvements and Additions - Intranet

Navigation Bar
The original navigation header has been changed to be more intuitive. Major sections of the
CRM application have been divided into categories; the original features and new ones can be
found within their respective categories.



                                          Navigation Bar
Home – takes the visitor to the intranet index.
People – drop down with Add User, View/Edit Users, Add Group, View Groups and Mailing
       Labels.
Reports – leads visitors to the original report pages where they can view administrator, volunteer,
       donor and client reports.
Communication – Send Email and Message Center can be found in this drop down as well as the
       new features Discussion Board, Document Center and Newsletter.
Calendar – another new feature, this drop down includes View, Invitations, and Add Event.
System Configuration – here administrators can manage system settings and announcements as
       before, but now are allowed to Manage Forums and Manage Groups.
Sitemap – self explanatory, a simple navigation assistant

Add User
In the Fall 2005 version, users
were added in four different
places, which wastes time and is
navigationally inefficient. In the
new version, all user types can be                    Add User – Radio Button List
added from a single page, Add
User. The form is the same, but a radio button list has been added to the top of the page user
type selection. Depending on which user type is selected, custom fields are shown to correspond
with the selection. This makes adding a series of various users all at once a less tedious task.

View/Edit User
Finding individual users was also difficult in the older version of the CRM. The visitor had to go
into the user type page then run a search restricted to that user type. With the improved View
User interface, visitors can search for any member of the CRM, selecting the user type and
entering in a query. However, the search has been enhanced with AJAX to access search results
without reloading the page. As the visitor inputs a query, a datagrid of results will automatically
                                                 populate or shrink based on the input to the
                                                 search. The search is a keyword search of the
                                                 UserID, First Name, Last Name, Email and Phone
                                                 Number fields of dtaUser. If the visitor wants to
                                                 search by information other than those in the
                                                 Instant Search, they can go to the Advanced
          View/Edit User – Instant Search        Search and search by any field.


                                                                                                11
MIS 333K – Team 4

Groups

Add Group




                                     Add User – Radio Button List

This form is used to create new groups, a new feature to this version of the CRM, which allows
specified users to organize to share files or have their own discussion board. The visitor inputs a
group name, description of the group and selects all the members of the CRM they want to invite
into the group. After being added to the database, the group will automatically get their own
discussion board and document center. The visitor will then be taken to the View Group page.

View Group
Initially, going to View Group shows the visitor a list of group memberships. Clicking a group
link takes the visitor to the selected group’s details.




                                       Groups – View Groups

                                                                                                 12
MIS 333K – Team 4

                                                             In the group’s details, the visitor can see
                                                             the group’s membership and see if there
                                                             are any private event invitations for the
                                                             group. For the group creator, a Delete
                                                             Member column in the datagrid will be
                                                             visible so that the creator may remove
                                                             selected members from the group.

                                                             The Edit Group button allows an
                                                             administrator or the group creator to
                                                             change the group name, its description
                                                             and also invite or remove members.
                                                             Once finished, the visitor can confirm
                                                             changes or click the cancel button to go
                 Groups – Group Details                      back to Group Details view.
Mailing Labels

Similar to the functionality of Add Group, Mailing Labels allows the visitor to select which users
or groups to create mailing labels for. The selected groups and individual users will not overlap
and create redundant labels. Exporting creates an excel file that contains the users’ First Name,
Last Name, Address (line1), Address (line2), Zip Code, City and State information.




                                   Mailing Labels – Select Recipients


Reports
Navigation for reports has been condensed. To get to any of the reports, the visitor simply
mouse over the reports drop down in the navigation bar. Graphical reports have been moved into
the actual volunteer and donor forms instead of having their own navigation links. To view the
graphical reports, the visitor simply clicks the hyperlink on the respective page and the graphical
report for volunteers or donors will appear.

The expired obout Calendar within the report forms has also been replaced with a free Dynarch
which has the benefits of keyboard functionality, buttons for easy switching between months and
years and the removal of the unsightly expiration message.

                                                                                                     13
MIS 333K – Team 4

Send Email

Like Add User and the Advanced Search, the Send Email page’s usability has been improved;
instead of clicking through user type and sending emails after going through two layers of
navigation, the user types can be selected from a radio button list on one page. Other than the
navigation improvement, functionality has not changed from the previous version.

Discussion Board




                                       Discussion Board – Forums

The discussion board allows users in different groups to post messages and conduct online
conversations. Visitors initially see a list of forums they have permissions to post on or view.
After clicking the forum link, the forum’s threads will show on the next page.

                                                             Here the visitor can create a new
                                                             thread, view posted threads and view
                                                             archived threads. New threads have
                                                             two options upon creation: receiving
                                                             email notifications upon replies to the
                                                             thread and setting the post to be sticky,
                                                             where it will always appear at the top
                                                             of the forum. When viewing posted
                                                             threads, the visitor can reply to the
                                                             thread. Administrators and thread
                                                             creators also have the ability to delete
                                                             or edit their posts. Viewing archived
                                                             threads simply shows and hides
                                                             archived threads.
                Discussion Board - Threads

A convenient feature added to the
discussion board is the ability to send a
message to any user that posted to a
thread simply by clicking on their
username link in the Author column.
Clicking the link takes the visitor to the
message center with the author checked
as a recipient.

                                                           Discussion Board – Thread View


                                                                                                    14
MIS 333K – Team 4


Document Center

When visitors enter the document center, they will start at a landing page listing their group
memberships; each group has its own document center. Clicking a group link will take the
visitor to the file sharing interface.




                                  Document Center – Group Membership


Here, visitors can view a list of the group’s shared files, download any of the files and upload
new files. To upload a new file, a name and description must be included along with the file
path to the file. If the visitor is an administrator or the original poster of the file, they have the
option of deleting the file.




                                      Document Center – Share Files




                                                                                                         15
MIS 333K – Team 4

Newsletter

                                                                            This page allows
                                                                            visitors to view the
                                                                            subscription list for the
                                                                            CRM newsletter. The
                                                                            datagrid displays the
                                                                            user’s full name,
                                                                            delivery method and a
                                                                            column for editing.
                                                                            When the Edit link
                                                                            button is clicked, the
                                                                            delivery method can
                                                                            be selected from the
                                                                            radio button list.

                                                                            An input validation is
                                                                            in place for users
                                                                            without email; their
                                                                            method of delivery
                       Newsletter – View Subscribers                        cannot be email since
                                                                            no address is available.


Once the visitor clicks Add Subscriber, they can view the next page:




                                     Newsletter – Add Subscribers


The interface is straightforward; entering a query returns members of the CRM with
corresponding information in their name or email address. Users already subscribed to the
newsletter will not appear in this search; to edit their delivery method, the visitor can use the
View Subscribers page. Clicking Add in the datagrid allows the selected user’s method of
delivery to be set. Again, a validator is in place to catch selecting email as the method for users
with email addresses. Once confirmed, the user will be subscribed to the newsletter with the
selected delivery method.

                                                                                                  16
MIS 333K – Team 4

Calendar

View




                                     Add User – Radio Button List
The calendar is fully clickable; the current day is highlighted, events are displayed (more
information is displayed on mouse-over), and when a day is clicked its full event details are
shown. To change months and years, the visitor can click the current month or year and a drop
down appears. The new time setting will be automatically loaded. The calendar’s events are
also skinnable in the system settings.

Going into a specific event’s details shows its occurrence details, its sign-up status (if any) and
whether it is public or private. Administrators and the creator of the event can also delete the
event and send an email to invitees. Visitors can also sign-up for the event in its details page.




                                                                                                      17
MIS 333K – Team 4

Add Event

This procedure is complicated, but
can be completed with a good
understanding of the nature of the
event the visitor is adding. The
first decision is whether the event
will be public or private. Public
events will not have invitations but
rather allow any user to see the
event and also sign-up for it.
Private events will only be visible
to selected members of the CRM
and invitations are sent out based
on the event creator’s selection.
While adding events, session ids
are used to hold whether the event
is public or private for the duration
of the event creation process.

The next step is setting the event’s
occurrence; whether it is a single,
one-time event, or a reoccurring
event. For one-time events, the
                                                      Calendar – Add Event Occurrences
creator sets the date, start and end
times, details and location of the event. Reoccurring events have the additional occurrence
pattern setting (whether it is daily, weekly or monthly). Once event creation is complete, the
creator is taken to the event’s details page.

System Configuration

The original layout has also been shifted over to the navigation bar. In the dropdown,
administrators can set system settings and manage announcements, forums and groups.

                                                    System Settings
                                                    The only major change to system settings is
                                                    the color scheme input. Originally,
                                                    administrators were required to know the
                                                    actual Hex code for their desired color, input
                                                    it and hope that their choice was what they
                                                    wanted. With the new ‘Dhtml Goodies’ java
                                                    script color picker, administrators can select a
                                                    color from a visual interface consisting of
                                                    three tabs. RGB lists a set of common colors,
                                                    Named Colors contains a set of named colors
                                                    and Color Slider allows the administrator to
                                                    create their own color.
                    Color Picker

                                                                                                 18
MIS 333K – Team 4

The Manage Announcements page is the same as the original version.

Manage Forums
The top of the page will list all open
forums with View and Delete links,
which allow the administrator to look at
the forum and remove it. Below this
datagrid is the Add Forum interface.

Since forums are directly tied to groups,
a forum cannot be arbitrarily created
without being associated with a group.
So the first step to adding a forum is
selecting a group, then naming and
adding any comments to the forum to
complete its creation.                                    Manage Forums – Add Forum

Manage Groups
Here, administrators can search for a group, view its membership and delete the group. Another
Instant Search has been implemented for this feature, but the administrator can also view the full
list of groups by clicking the View All Groups link. From both interfaces, clicking the group’s
link takes the administrator to the group’s details page. Also from Manage Groups, groups can
be modified and deleted.

                                                                 Sitemap

                                                                 The sitemap allows visitors to
                                                                 navigate to any page in the
                                                                 CRM application. The System
                                                                 Configuration section will only
                                                                 be visible to administrators.




                            Sitemap




                                                                                                19
MIS 333K – Team 4

Improvements and Additions - Extranet

Navigation Bar




                                          Navigation Bar
Navigation has also been improved in the Extranet. Similar to the Intranet, major sections of the
Extranet have been divided into categories and all old and new features can be reached through
this navigation bar.

Home – takes the visitor to the index landing page.
Groups – shows the client or donor their group memberships.
Communication – includes Message Center, Discussion Board and Newsletter.
Calendar – allows visitors to view the CRM calendar.
About You – links to the visitor’s profile information.
Donate Now – is a page only for donors, which takes them to a donation form.
About Us – a page that displays information about the organization.
Sitemap – shows all available pages in one form for simplified navigation.
Login/out – depending on whether the visitor is logged in or not, this link shows the opposite to
       allow the visitor to login or logout.

In the Extranet, no new features have been added that are significantly different from the pages
on the Intranet. Clients and donors have more permissions restrictions and are blocked from
many of the functions of the Intranet.

Additional Changes and Information

Many pages from the original CRM had layout inconsistencies; most of these discrepancies have
been corrected and a more standardized layout has been implemented in this new version.
Spacing and button positions have been adjusted to provide consistency among the pages.

In the CRM, the AJAX technique is used to provide the live feeds to the database for the instant
searches in View/Edit User and Manage Groups. Also for the calendar’s change of month and
year, AJAX allows the calendar to refresh without reloading the page. An AJAX reference is
required to enable this technique for the CRM. AJAX passes data in XML form from the server
to the client-side javascript enabling a very responsive application. Both javascript and CSS are
used to enhance the presentation layer of the application.

FreeTextBox is, as its name suggests a free HTML editor that allows users to do basic HTML
editing in a ‘what you see is what you get’ environment similar to Microsoft Office products.
FreeTextBox is used in various input fields of the CRM application. The code for the editor is
stored in FreeTextBox.dll which resides in the /bin folder of the application.

Another open-source application that was implemented is the DynArch calendar. It is only used
for populating certain textboxes and replacing the expired obout calendar.



                                                                                                 20

								
To top