Upload
phungnga
View
213
Download
0
Embed Size (px)
Citation preview
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.
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