Knights of Columbus CMSplishka/Fall2010/CMPS490... · Web viewIt will also be immune to SQL...

49
Knights of Columbus CMS Final Report Chris Ozoniak 12/3/2010 Submitted in partial fulfillment of the requirements of MIT 490 – Senior Projects Advisor: Dr. Benjamin Bishop

Transcript of Knights of Columbus CMSplishka/Fall2010/CMPS490... · Web viewIt will also be immune to SQL...

Knights of Columbus CMS

Final Report

Chris Ozoniak

12/3/2010Submitted in partial fulfillment

of the requirements of

MIT 490 – Senior Projects

Advisor: Dr. Benjamin Bishop

TABLE OF CONTENTS

Chapter 1: Introduction________________________________________________________________________________________3 1.1 Introduction__________________________________________________________________________________________________________3

1.1.a Functionalities/ Reasons for System_______________________________________________________________________________________________________3

1.2 Glossary____________________________________________________________________________________________________________3-4

1.3 Document Overview__________________________________________________________________________________________________4-5

Chapter 2: User Manual: Introductory Manual____________________________________________________________________52.1 How to Use the System________________________________________________________________________________________________5-7

2.2 Troubleshooting_____________________________________________________________________________________________________7-92.2.a Browser Incompatibilites________________________________________________________________________________________________________________8

2.3: System Reference Manual______________________________________________________________________________________________9

2.4 Alphabetical Listing of Services__________________________________________________________________________________________9

2.5 Error Recovery______________________________________________________________________________________________________10

2.6 Installation Information_______________________________________________________________________________________________10

Chapter 3: Requirements Specification__________________________________________________________________________113.1 Introduction_________________________________________________________________________________________________________11

3.2 Glossary____________________________________________________________________________________________________________12

3.3 Document Overview__________________________________________________________________________________________________12

3.4 System Model________________________________________________________________________________________________________13

3.5 Functional Requirements____________________________________________________________________________________________13-153.5.a Roles____________________________________________________________________________________________________________________________13-15

3.6 User Interface________________________________________________________________________________________________________15

3.7 Non-Functional Requirements_______________________________________________________________________________________15-163.7a System Non-Functional Requirements__________________________________________________________________________________________________15-163.7b Assembly Non-Functional Requirements___________________________________________________________________________________________________16

3.8 System Evolution_____________________________________________________________________________________________________16

Chapter 4: System Design_____________________________________________________________________________________174.1 Introduction_________________________________________________________________________________________________________17

4.2 Levels______________________________________________________________________________________________________________18

4.3 Sub-Pages________________________________________________________________________________________________________19-324.3a About____________________________________________________________________________________________________________________________19-204.3b Members____________________________________________________________________________________________________________________________204.3c By-Laws____________________________________________________________________________________________________________________________214.3d Photos____________________________________________________________________________________________________________________________21-224.3e Newsletters________________________________________________________________________________________________________________________22-234.3f Officers___________________________________________________________________________________________________________________________23-244.3g Council History____________________________________________________________________________________________________________________24-254.3h Contact Information_________________________________________________________________________________________________________________25-264.3i Events____________________________________________________________________________________________________________________________26-274.3j Links_____________________________________________________________________________________________________________________________27-284.3k Insurance Information_______________________________________________________________________________________________________________28-294.3l Grand Knight History________________________________________________________________________________________________________________29-304.3m Charter Members__________________________________________________________________________________________________________________30-314.3n Form 100_________________________________________________________________________________________________________________________31-32

4.4 Back End____________________________________________________________________________________________________________32

4.5 User Management__________________________________________________________________________________________________32-33

Chapter 5: Testing Design__________________________________________________________________________________33-395.1 Introduction_________________________________________________________________________________________________________33

5.2 Glossary__________________________________________________________________________________________________________33-34

5.3 Document Overview________________________________________________________________________________________________34-35

5.4 Unit Testing_______________________________________________________________________________________________________35-365.4a Definition____________________________________________________________________________________________________________________________355.4b Front End Testing_____________________________________________________________________________________________________________________355.4c Back End Testing___________________________________________________________________________________________________________________35-36

5.5 Module Testing____________________________________________________________________________________________________36-375.5a Definition_________________________________________________________________________________________________________________________36-375.5b Front End Testing_____________________________________________________________________________________________________________________365.5c Back End Testing___________________________________________________________________________________________________________________36-37

5.6 Subsystem Testing____________________________________________________________________________________________________375.6a Definition____________________________________________________________________________________________________________________________37

5.7 System Testing_____________________________________________________________________________________37-385.7a Definition________________________________________________________________________________________________________375.7b Testing the System______________________________________________________________________________________________37-38

5.8 Acceptance Testing__________________________________________________________________________________38-385.4a Definition________________________________________________________________________________________________________385.4b Front End Testing_______________________________________________________________________________________________38-395.4c Back End Testing__________________________________________________________________________________________________39

Chapter 6: Index_______________________________________________________________________________________39-40

1 – Introduction

1.1 Introduction

The goal of the Knights of Columbus Content Management System (herein CMS) is to

create a Web site that is easily manageable for the Knights of Columbus 5510 Council. It needs

to be a Web site that is easily modified by members of the council in addition to the

Webmaster. It also needs to have a more modern look and feel that will encourage users to be

interested in the site. It will require integration with social media to increase traffic flow to the

site. It is designed to help others learn more about the Knights of Columbus, and the Knights of

Columbus Council 5510. The Web site will feature various forms of content from the Knights of

Columbus, including pictures and possibly videos. The site will be built using WordPress, a

Content Management System. This Content Management System will allow members of the

council to update and create new events, and to update other parts of the Web site. The

management of the site will not involve any further coding beyond what is used to create the

CMS. The ultimate creation of the site will be through HTML, PHP, CSS styling and photo editing

software such as Gimp or PhotoShop for creating banners and images for the site.

1.2 Glossary

ChromeA free, simple, lightweight, and easy to use cross-platform Web browser

Content CMS- The collection of procedures used to manage work flow in a collaborative

Management System (CMS)

environment.

CSSCascading Style Sheet – Style sheet language used to describe a Website’s visual presentation

Domain Name Service

An Internet service that translates domain names into IP addresses. Because domain names are alphabetic, they're easier to remember.

FirefoxA free and open source Web browser

FlashMultimedia platform used to add animation, video and interactivity to Web pages

JavascriptUsed by Webmasters to design interactive sites

LightBoxJavascript Application used to display large images

MySQL Open-source relational database systemPHP Hypertext Preprocessor, PHP is an HTML-embedded Web scripting language.Plugins Software component that adds specific potential to a larger software

application, in this instance WordPressThemes Preloaded CSS themes for WordPress, can be customized

User Interface The part of a software application that a user sees and interacts with.

Widgets Similar to a plugin but it is designed to provide a simple way to arrange the various elements of your sidebar content

Web-interface A simple and straight-forward user interface used to interact with the system and underlying database. This is made of a set of interrelated pages that communicate with each other and the Web server.

WordPress WordPress is a state-of-the-art publishing platform with a focus on aesthetics, Web standards, and usability. WordPress is both free and priceless at the same time.

XAMPP A free and open source cross-platform Web server package, consisting mainly of the Apache HTTP Server and MySQL database.

1.3 Document Overview

This document will describe the functionalities of the Knights of Columbus Content

Management System and the reason for the system. It will also include an introductory manual

on how to use the system, as well as a troubleshooting section. It will include a system

reference manual. This system reference manual will include an alphabetical listing of services,

help with error recovery and installation information (should the user decide they want to

create a CMS of their own).

2- Introductory Manual

2.1 How to Use the System

The user will utilize a Web browser such as Mozilla Firefox, Google Chrome, Safari or

Microsoft Internet Explorer and navigate to the Web site with the address

http://www.koc5510.org. From here the user will be directed to the corresponding Web site

using Domain Name Service. This will take them to the actual Knights of Columbus Web site.

From here the user will be able to sort through a total of thirteen other pages. They include

Members, By-Laws, Photos, Newsletters, Officers, Council History, Events, Contact Information,

Links, Insurance Info, Grand Knight History, Charter Members, and the Form 100 page.

If accessing the Members or the By-Laws page the user will be greeted with the

following prompt.

This prompt will keep users who do not have a username/password combination to these pages

out of the sensitive material they contain. It will also be immune to SQL injection, which is a

method used by hackers to infiltrate a system.

If the user is accessing the Photos page they will have a rather intriguing tool at their

disposal in the form of a LightBox plugin. The LightBox will enlarge the image on the page when

clicked. In order to open the LightBox, the user will need to click a picture on the Photos page,

and then a bordered/overlayed image will appear that is sized 400 pixels wide by 400 pixels tall.

Lightbox is used by the user for a more well-rounded experience when dealing with images, the

user is able to get a larger view of the image. In order to view the Newsletters the user may

need to download a PDF reader if they do not currently have one installed on their machine.

The other pages of the site are relatively simple in concept and have a very simple user

interface.

2.2 Troubleshooting

In order to troubleshoot any issues that arise such as a LightBox not functioning

properly on a certain browser or not at all, user feedback will be needed. An email address to

contact the Webmaster will be provided, and a drop-down menu with a list of options of what

the issue or problem is. There will also be a comment box available with a captcha to avoid

spam from computer-generated content. The user will be able to provide the Internet Browser

they are using, their operating system, and any other vital information, if the user is unaware of

what they are using they can be navigated to a page that will tell them what they are using.

This will allow less-tech savvy users to be able to troubleshoot their issues more efficiently.

2.2a Browser Incompatibility

In order to avoid issues with browser compatibility, the site is currently being tested on

a number of platforms. On the Windows side, it is being tested on a Windows XP machine

running Firefox 3.6, Internet Explorer 8, and Google Chrome 8. Also on the Windows side, it is

being tested on a Windows 7 machine running the same Firefox 3.6, Internet Explorer 8, and

Google Chrome 8. Both of these machines are capable of running Javascript, Adobe Flash, and

have PDF readers installed on them. The site is also being texted on a Mac system running Mac

OSX Snow Leopard 10.6.5 with Safari 4 as the main browser; it also has Firefox 3.6.12 installed.

Lastly, the site is being tested on a Linux-based operating system Ubuntu Netbook Edition, this

is running Firefox 3.6.12.

Most of the issues with browser compatibility are due to Internet Explorer and its

interactions with CSS, particularly IE 6 & 7. Internet Explorer 8 has fixed some of the CSS issues

but IE 7 accounts for 9.34% of the Web browsing and IE 6 still accounts for 5.24%. A complete

chart can be seen here or at http://www.w3counter.com/globalstats.php

Web Browsers

1 Internet Explorer 8 27.01%

2 Firefox 3.6 24.22%

3 Internet Explorer 7 9.34%

4 Chrome 6 6.91%

5 Internet Explorer 6 5.24%

6 Safari 5 4.46%

7 Chrome 7 4.38%

8 Firefox 3.5 3.41%

9 Firefox 3 1.86%

10 Safari 4 0.92%

Another user-related issue to attend to is Screen Resolution. More than 1/5 of total

users are still using a screen resolution that is 1024 x 768 pixels. If the user is using a smaller

resolution, he or she may have issues if the site is not properly designed for that particular

resolution. One way to avoid this issue is to use a liquid layout that stretches to the current

user’s windows size.

Screen Resolutions

1 1024x768 21.98%

2 1280x800 17.93%

3 1280x1024 9.36%

4 1366x768 8.32%

5 1440x900 7.81%

6 1680x1050 4.92%

7 1920x1080 2.79%

8 1024x1024 2.73%

9 800x600 2.15%

10 1152x864 1.91%

2.3 System Reference Manual

2.4 Alphabetical Listing of Services

Chrome, 3CMS, 3, 4CSS, 3, 4Domain Name Service, 4Firefox, 4Flash, 4, 8Javascript, 4, 8LightBox, 4, 6, 7MySQL, 4PHP, 3, 4Plugins, 4Themes, 4Unit Testing, 2User Interface, 4Web-interface, 4Widgets, 4WordPress, 3, 4XAMPP, 4

2.5 Error Recovery

Should the system suffer a fatal error (ex. a server crash) the host will provide the most

recent backup of the site. The Webmaster will also keep a version of the site that is updated

weekly; this will most likely be through the use of a plugin.

2.6 Installation Information

If the user is intrigued enough by the concept of a CMS they may be interested in setting

up a Web site using a CMS themselves. The user should first explore the option of using

Wordpress.com so they can become familiar with the system, before creating one of their own.

When they choose to do so they will need the following:

Web server with PHP version 4.3 or greater

MySQL version 4.1.2 or greater

In order to properly view the Web site the user may need to download Adobe Flash player

for any video content. It can be downloaded from http://www.adobe.com/products/flashplayer/

3-Requirements Specification

Abstract

This document is the Requirements Specification document. It is intended for the user.

It will be written in a simple language and will be oriented for the user. This will be followed by

the system model which will explain the relationship between the user and the system. The

next section will be the functional requirements. This will detail the services provided to the

user. It will be cross-referenced in later documents. This will be followed by the user interface

specifications. It details how the user will interface with the system. It will include the “look

and feel” of the system. The next section will be the non-functional requirements. This will

include the hardware or software that is necessary to complete the system. The last section is

system evolution which will be made up of the assumptions the system is based on and what

changes have been anticipated for maintenance.

3.1: Introduction

I have managed and operated the Knights of Columbus 5510 Web site for well over a year. The

current Web site is in need of a significant upgradeto reflect a more-modern look and operation. The

Web site also needs a thorough redesign to improve the navigation through the Web site. The Knights

of Columbus 5510 council needs a modern Web page to keep up with the needs of a changing Web

environment. The site needs to be able to support the needs of members who are looking to become

more active in Web site development and content. In this case, I have chosen to use a content

management system. The content management system I have chosen to use is WordPress. By utilizing

this content management system, the Knights will be able to manage part of their business operations

on the Web site, such as meetings, and perhaps even the minutes of these meetings. Within the Web

site there will be a private page where members can login to and obtain the contact information of

other members of the council.

3.2 Glossary

Content Management System (CMS)

CMS- The collection of procedures used to manage work flow in a collaborative environment.

CSSCascading Style Sheet – Style sheet language used to describe a website’s visual presentation

MySQL Open-source relational database system

PHP Hypertext Preprocessor, PHP is an HTML-embedded Web scripting language.

Plugins Software component that adds specific potential to a larger software application, in this instance WordPress

Themes Preloaded CSS themes for WordPress, can be customized

Widgets Similar to a plugin but it is designed to provide a simple way to arrange the various elements of your sidebar content

Web-interfaceA simple and straight-forward user interface used to interact with the system and underlying database. This is made of a set of interrelated pages that communicate with each other and the web server.

WordPressWordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability. WordPress is both free and priceless at the same time.

XAMPP A free and open source cross-platform web server package, consisting mainly of the Apache HTTP Server and MySQL database.

3.3 Document Overview

Chapter 2 is titled “System Model”, it gives the relationship between user and the system

components and the system and its environment in a graphical manner. Chapter 3 is the functional

requirements of the system. It will detail the services provided to the user. It will also be cross-

referenced to how the services will be provided in later documents. Chapter 4 is the User Interface

Specification. It details how the user will interface with the system. Chapter 5 are Non-Functional

Requirements, they include the necessary hardware/software to complete the system. Lastly, chapter 6

is System Evolution, it will overview the assumptions that were made upon which the system was built.

It also outlines future use for the system.

3.4 System Model

The relationship between the user(s) and the system is relatively simple in nature. The user will

utilize a Web browser such as Mozilla Firefox or Microsoft Internet Explorer and navigate to the Web

site with the address http://www.koc5510.org. From here the user will be directed to the

corresponding Web site using Domain Name Service. This will take them to the actual Knights of

Columbus Web site. From here the user will be able to sort through a total of thirteen other pages.

They include Members, By-Laws, Photos, Newsletters, Officers, Council History, Events, Contact

Information, Links, Insurance Info, Grand Knight History, Charter Members, and the Form 100 page.

Chapter 3.5 Functional Requirements

3.1: Roles

There will be three levels of access for the system. The first is the administrator-level of access.

This level of access will allow for the manipulation of the layout of the site and other administrative

features. This will not be used very often except by the lead web developer. The next level of access

Internet

User PC Server

will be for members. Members will be able to add content to pages after logging into the content

management system. This content will be in the form of posts on the WordPress blog. This new post

could be in the form of an upcoming event or just about anything. The last level of access is the guest,

who will be able to view the Web site but not make any changes to it, they will fulfill the role of the

normal user on other Web sites. The login for administrative level access and member access will look

something like this.

The administrator will be able to modify themes, widgets, and gadgets, while the regular

member will not be able to see this. The image below displays that someone with administrative access

will be able to see in his or her menu.

Chapter 3.6 User interface

The majority of the users who will be using the system are not the most technically savvy

people. Therefore, it is vital the user interface of the system be as simplistic as possible. Using

WordPress the user interface will remain simplistic but reflect a modern look that is similar to standards

among other popular Web sites. Hyperlinks will be used to navigate between pages. A navigation bar

most likely consisted of an ordered list will be used to navigate between the thirteen pages. Categories

will be along with traditional pages, posts can be tagged with these categories for easy organization, for

example a tricky tray can be put under the “events” tag.

Chapter 3.7 Non-Functional Requirements

3.7a System Non-Functional Requirements

The hardware necessary to run the system will include a PHP and MySQL server that is capable

of running WordPress. It will be necessary to have a server capable of running at least PHP version 4.3

or higher and MySQL 4.1.2 or higher. The Web site will need to be run on a relatively fast server, with

an emphasis on stability, consistency, and speed. An older computer should still be able to run the site

well, as there will be minimal external software used, most likely no Adobe Flash or anything embedded

within the site.

3.7b Assembly Non-Functional Requirements

The site is currently being developed on a local machine running XAMPP running an Apache

Web server and MySQL, once hosting has been set up the site will be migrated from the local machine

to the remote server.

Chapter 3.8 System Evolution

Over time the system will need to be updated. However, it should be a relatively simple

process. Installing updates for WordPress is often as simple as a few clicks of a mouse. Maintenance

may still be needed occasionally. The one issue is going to be handing this system off to another user

should I no longer manage it. With WordPress being fairly simple, this shouldn’t be a difficult task.

System Design

4.1 Introduction

The goal of the Knights of Columbus Content Management System is to create a Web

site that is easily manageable for the Knights of Columbus 5510 Council. It needs to be a Web

site that is easily modified by members of the council in addition to the webmaster. It also

needs to have a more modern look and feel that will encourage users to be interested in the

site. It will require integration with social media to increase traffic flow to the site. It is

designed to help others learn more about the Knights of Columbus, and the Knights of

Columbus Council 5510. The Web site will feature various forms of content from the Knights of

Columbus, including pictures and possibly videos. The site will be built using WordPress, a

Content Management System. This Content Management System will allow members of the

council to update and create new events, and to update other parts of the Web site. The

management of the site will not involve any further coding beyond what is used to create the

CMS. The ultimate creation of the site will be through HTML, PHP, CSS styling and photo editing

software such as Gimp or PhotoShop for creating banners and images for the site.

Levels

Knights of Columbus Content Management System

Members

AboutBy-Laws

Photos

Newsletters

Officers

Council History

Contact Information

EventsLinks

Insurance InfoGrand Knight History

Charter Members

Form 100

Levels and User Interface: Index

When a user goes to the homepage, either from koc5510.org, or from another part of

the site, they will be shown the Knights of Columbus’ latest news through a news feed, and 14

links that will navigate the user through the site. The user has the option to go through the 14

pages, About, Members, By-Laws, Photos, Newsletters, Officers, Council History, Contact

Information, Events, Links, Insurance Info, Grand Knight History, Charter Members, and the

Form 100 page.

Subpage: About

When the user chooses to go to the About section, they are brought to a page with a

brief description of what the Knights of Columbus are. The user will obtain knowledge about

what the Knights of Columbus do for their community as well as a brief history of how the

Knights of Columbus was started.

Subpage: Members

The Members page is designed to be only accessible by members of the Knights of

Columbus 5510 Council. A correct username and password will be required in order to obtain

any access to the site.

This page will be immune from hacker attempts to infiltrate it through SQL injection or other

techniques. The Members page includes sensitive data about members of the council, such as

their telephone numbers and home addresses so it is vital that this information be as secure as

possible.

Subpage: By-Laws

The By-Laws page, similarly to the Members page also contains sensitive information to

the council. A username and password that are different than the Members’ page will be

required to obtain any access to the page. The By-Laws page contains all the rules the council

sets for itself or the Knights of Columbus Supreme have set.

Subpage: Photos

The Photos page will be one of the more involved pages of the site. It will include

several plugins, the first is a photostream plugin. The plugin will allow for a Flickr gallery to be

streamed through the site. It will include a quick gallery of recent photos, photosets, and most

popular photos. A LightBox plugin will be installed on top of Flickr gallery that will allow for

overlay of images on the current page. The user will be able to navigate through photos in the

gallery using LightBox.

Subpage: Newsletters

The Newsletters page will include all of the past newsletters that have been mailed out

to members, rather than the pamphlet form they are mailed out in, these newsletters will be in

a web-based form, such as Issuu or something that is embeddable into the site. The user will

be able to navigate through an archive of older newsletters if the particular newsletter they are

looking for is no longer listed on the Newsletters page.

Subpage: Officers

The Officers page will include a current list of the Officers of the Council. The current

page has the officers listed in a table, but I am considering making it a two-column display

rather than a table.

Subpage: Council History

The Council History page includes a history of the Joseph F. Lamb Council, particularly

how it was named and how it was formed. It also includes details on how and when it was

instituted. It also details the numerous awards the council has received over its 46 year history.

One example of this is Council 5510’s distinction of being the designer and creator of a new flag. The

flag has red letters, which spell out “ONE NATION UNDER GOD”. The letters are on a white outline of the

United States sewn onto a blue background with the Knights of Columbus emblem in the lower right

hand corner. The flag is trimmed with gold fringe. This symbol of patriotism, attractively assembled by

talented ladies of the Council, has been proudly carried in all parades and is displayed at all proper

functions.

Subpage: Contact Information

The Contact Information page is relatively simple in nature. It contains the address for

contacting the council, a PO Box number, a phone number to reach the council, and the email

address of the Grand Knight.

Subpage: Events

The Events page contains a newsfeed and a calendar of all upcoming events for the

council. The calendar is able to be navigated through by month, and a mouseover will allow the

user to see more details about that upcoming event. The Events page will also be linked into

the main news feed on the homepage.

Subpage: Links

The Links page contains links that allow the user to easily access other Web site related

to the council. The first link is to the Knights of Columbus Supreme, KOFC.org. The site

contains information about the Knights of Columbus at the highest level. It includes

information about the Knights of Columbus, what they do, how to become a Knight, and

information about Knights of Columbus insurance. The next link is to the New Jersey Knights of

Columbus site, njkofc.org. It contains a page of State Officers and Directors. It also contains a

list of Programs, Forms and Manuals, and Councils, Chapters and Assemblies. The next link is

an email address for Knights in Action Columbia Magazine. The next link is to the Diocese of

Paterson’s official Web page. The next link is to Catholic Charities. The last link is to the

Department for Persons with Disabilities (DPD)’s site, dpd.org. The Knights of Columbus 5510

often has fundraisers for DPD.

Subpage: Insurance Information

The next page, Insurance Information has information from the Council’s Worthy

Insurance Agent; it includes useful information about the Knights of Columbus’s insurance

policies. It includes contact information and a business card from the Insurance Agent himself.

Subpage: Grand Knight History

The Grand Knight History page includes text of the past Grand Knights of Council 5510,

and the years of their service. It also includes a small image of the individual Grand Knight.

Subpage: Charter Members

The Charter Members page includes an image of all the charter members of Council

5510.

Subpage: Form 100

The Form 100 page is used for downloading an image of the Form 100 document which

is used when applying for membership to the Knights of Columbus.

Backend

As mentioned previously, WordPress has the ability to install plugins that will be used

for viewing pictures, calendars and other features.

LightBox 2 is used to overlay images on the current page. It is useful when paired with

an image gallery tool.

Each page of the site is created separately through the menu of WordPress, within each

page a new post can also be created. Posts will be displayed in a descending way of order from

most recent to oldest. Older entries will be placed in an archive.

User Management

WordPress and other Content Management Systems allow for specified roles and user

abilities. In this case there will be two levels of access, an administrator level, and a contributor

level. The administrator will be able to configure various settings of the CMS and will be able to

add pages and posts. The contributor will only be able to update the site through the creation

of posts or the modification of content on the various pages.

Ch. 5: Testing Design

5.1 – Introduction

The goal of the Knights of Columbus Content Management System (herein CMS) is to

create a Web site that is easily manageable for the Knights of Columbus 5510 Council. It needs

to be a Web site that is easily modified by members of the council in addition to the

webmaster. It also needs to have a more modern look and feel that will encourage users to be

interested in the site. It will require integration with social media to increase traffic flow to the

site. It is designed to help others learn more about the Knights of Columbus, and the Knights of

Columbus Council 5510. The Web site will feature various forms of content from the Knights of

Columbus, including pictures and possibly videos. The site will be built using WordPress, a

Content Management System. This Content Management System will allow members of the

council to update and create new events, and to update other parts of the Web site. The

management of the site will not involve any further coding beyond what is used to create the

CMS. The ultimate creation of the site will be through HTML, PHP, CSS styling and photo editing

software such as Gimp or PhotoShop for creating banners and images for the site.

5.2 Glossary

Acceptance Acceptance Testing is the last step before the system or application is

Testingcompleted. It is tested by the end users who will be using the system. This type of testing gives the end users the confidence the system being delivered meets their requirements.

Back EndAn application or program that serves indirectly in support of the front-end services, usually by being closer to the required resource or having the capability to communicate with the required resource.

Content Management System (CMS)

CMS- The collection of procedures used to manage work flow in a collaborative environment.

CSSCascading Style Sheet – Style sheet language used to describe a website’s visual presentation

Module TestingModule testing is similar to unit testing. It is the idea of testing the smallest piece of software or Web site (IEEE 1008).

MySQL Open-source relational database system

PHP Hypertext Preprocessor, PHP is an HTML-embedded Web scripting language.

Plugins Software component that adds specific potential to a larger software application, in this instance WordPress

Subsystem Testing

A subsystem test verifies that two or more units of code are interacting correctly to produce the desired result.

System Testing System Testing tests the system as a whole, rather than the individual pieces. This test is done from the user point of view.

Themes Preloaded CSS themes for WordPress, can be customized

Unit Testing Unit testing is a procedure a developer takes during which they test individual software components as they are being developed.

User Interface The part of a software application that a user sees and interacts with.

Widgets Similar to a plugin but it is designed to provide a simple way to arrange the various elements of your sidebar content

Web-interfaceA simple and straight-forward user interface used to interact with the system and underlying database. This is made of a set of interrelated pages that communicate with each other and the web server.

WordPressWordPress is a state-of-the-art publishing platform with a focus on aesthetics, web standards, and usability. WordPress is both free and priceless at the same time.

XAMPP A free and open source cross-platform web server package, consisting mainly of the Apache HTTP Server and MySQL database.

5.3 Document Overview

This document will demonstrate the various ways testing is performed throughout the

development process of the Knights of Columbus CMS. The testing is divided into five different

sections: unit testing, module testing, subsystem testing, system testing, and acceptance

testing. Each section will explain what the specific test is, how it is done, and how it is related

to the Knights of Columbus CMS.

5.4- Unit Testing

5.4a Definition

Unit testing is a procedure a developer takes during which they test individual software

components as they are being developed. With the Knights of Columbus Web site being

created through a CMS, like WordPress, the backend has already been tested and checked for

inconsistencies. The database is created in the initial setup of the CMS by creating a table in

the Front End of the database (in this case MySQL).

5.4b Front End Testing

Unit testing on the Front End of the Web site is the most important factor for testing.

The Web site the user sees requires everything to be checked for proper function. If a problem

arises it could be from various sources, such as an issue with the CSS, HTML, JavaScript or a

plugin. This means the pages must be checked for consistency and must be free of quality

issues. If the pages are checked on a consistent basis they become considerably easier to repair

when issues arise. If the site is checked routinely, fixes should be relatively simple.

5.4c Back End Testing

Back End testing is how the user interface (herein UI) interacts with the database

structure. It is built into WordPress through the Administrator panel. It controls all of the

pages, categories, tags and other necessities of the Web site. These are in the form of tables

within the database. Some of these tables are wp_users, wp_posts and wp_comments. These

tables set the Back End for what appears on the Front End of the site.

5.5- Module Testing

5.5a Definition

Module testing is similar to unit testing. It is the idea of testing the smallest piece of

software or Web site (IEEE 1008). Any unit of the site is tested and compared with unit

specifications. Each module in the Knights of Columbus CMs is thoroughly tested for issues like

browser compatibility.

5.5b Front End Testing

Module testing on the Front End occurs through the user of an internet browser. For

the Knights of Columbus the browsers the system will be tested on are Microsoft Internet

Explorer, which contains about 46.45% of all users (as of September 2010) Mozilla Firefox

(29.33%), Chrome (9%), Safari (5.49%), and mobile browsers which make up about 4.5% of

internet browsers. If issues arise, the CSS must be modified to work with the different display

of the Web site an internet browser may have.

5.5c Back End Testing

Module testing on the Back End occurs when the content is checked to make sure it is

within the correct module. WordPress automatically displays content in certain forms based on

how the chosen module. In this case, content will be arranged differently on the Back End as

compared to the Front End. The Back End of this CMS has a large influence upon the Front End,

and thorough testing must be done for each. If something in the Back End influences the Front

End, and seems to be incorrect, work on the CSS and the other parts will need to occur.

5.6 Subsystem Testing

5.6a Definition

A subsystem test verifies that two or more units of code are interacting correctly to

produce the desired result. In this case since the Knights of Columbus site is hosting on an

outside server, this is unnecessary.

5.7- System Testing

5.7a Definition

System Testing tests the system as a whole, rather than the individual pieces. This test

is done from the user point of view. In this case, we would test that each page works

individually and together, the navigation is correct, all the links work correctly, and all plugins

are configured and working correctly. Systems tests should be configured so that users with

less of a technical background are able to complete it.

5.7b Testing the System

In order to complete a system test, there must be some form of content within the Web

site. The content that is entered to the site should be related to the respective page it will be

displayed on. When testing for the photos page occurs, the Lightbox 2 application should be

displayed correctly and a “Close” X button should close the Lightbox 2 window that has

appeared. We must also test the other functions and plugins that have been installed into the

CMS. In this case, there is the Calendar plugin. Under the events page we should find a

calendar, we should make sure all the events display correctly. This calendar along with all the

other plugins and CSS should be tested for cross-browser compatibility.

5.8- Acceptance Testing

5.8a Definition

Acceptance Testing is the last step before the system or application is completed. It is

tested by the end users who will be using the system. This type of testing gives the end users

the confidence the system being delivered meets their requirements. For the Knights of

Columbus CMS, this process first began when the need for a more modern site became

apparent. The members of the council listed their needs and it is an ongoing process. When

the council ultimately decides on a finished product that fits their needs, the acceptance testing

will be complete.

5.8b Front End Testing

The Front End testing of the Knights of Columbus is accepting the finished design of the

Web site. The layout of the site must be fully complete and functional. It must meet all the

specifications and requirements that the council agreed to so that the Web site can be finished.

Everything about the site must be accepted, from the CSS to the WordPress template and

design. If it is not approved then the council must reconvene and go over what needs to be

changed.

5.8c Back End Testing

If the Knights of Columbus Council 5510 decided that the Web site is suitable then the

Back End will be accepted as well. Since WordPress creates and manages most of the Back End

on its own, the only things left are the page titles, categories and tags. If there is an issue in this

area, it will be simple to correct within the control panel of the CMS. There are no current

plans for Beta testing, other than the official first release. Feedback is planned to be accepted

for the site’s initial release both from the members of the council and from the public who use

the site as well. The feedback will be used to make any necessary changes to the Web site.

Ch. 6: Index

Apache Tomcat, 3, 11Chrome, 2CMS, 2, 3, 4, 9, 11, 17, 32content management system, 11, 13CSS, 2, 3, 7, 12, 17Domain Name Service, 3Firefox, 3Flash, 3, 7Javascript, 3, 7LightBox, 3, 5, 6, 20, 31MySQL, 3, 12, 15PHP, 2, 3, 12, 15Plugins, 3, 12theme, 14Themes, 3User Interface, 3Web-interface, 3widget, 14Widgets, 3Wordpress, 10

WordPress, 2, 3, 11, 12, 13, 15, 16XAMPP, 3, 12, 15