System Architecture and Detailed Design Document

System Architecture and Detailed Design Document
Produced for DGPFSS
Family Force II
14 March 2016
StoneShare
All Rights Reserved
Printed in Canada
The master of this document is stored in an electronic database and is write protected, that is, it may be altered only
by authorized persons. Viewing the master on-line ensures access to the current issue. Any hard copies MUST BE
REGARDED AS UNCONTROLLED COPIES.
The information disclosed herein is proprietary to StoneShare and is not to be used by or disclosed to unauthorized
persons without the written consent of StoneShare. The recipient of this document shall respect the security
status of the information.
1.
Document Control
1.1.
Version History

Release: 2016-03-14
1.2.
Distributed To
Name
Organization
Title
Deborah Rudd
DGPFSS
IM/IT PSP Project Manager
1.3.
Contact Us
We welcome any feedback on this document’s content, preparation, or distribution. Please
contact:
Name
Title
Phone
Email
Address
Nick Kellett
Chief Technical Officer, StoneShare
819 918-6097
nkellett@StoneShare.com
StoneShare
153A Promenade Du Portage
Suite 200
Gatineau, Québec
J8Y 2K4
1.4.
Statement of Confidentiality
This document is the proprietary and confidential property of StoneShare. By accepting
possession of this document, DGPFSS agrees to keep its contents in confidence and to not use,
duplicate or disclose the document for any purpose other than evaluating StoneShare’s ability to
provide the services herein, unless otherwise agreed in writing by StoneShare.
If you have received this document by mistake, note that the reading, the reproduction or the
distribution of this document is strictly forbidden. You are hereby requested to return this
document to StoneShare by certified mail.
March 14, 2016 – Confidential
Page 2 of 46
Contents
1.
DOCUMENT CONTROL....................................................................................................2
1.1.
1.2.
1.3.
1.4.
2.
VERSION HISTORY ................................................................................................................2
DISTRIBUTED TO ..................................................................................................................2
CONTACT US.......................................................................................................................2
STATEMENT OF CONFIDENTIALITY ...........................................................................................2
OVERVIEW .....................................................................................................................5
2.1.
HIGH LEVEL DESIGN GOALS ...................................................................................................5
3.
TERMS AND DEFINITIONS ...............................................................................................7
4.
SOLUTION TECHNOLOGIES ........................................................................................... 10
5.
SOLUTION ENVIRONMENTS AND SERVER TOPOLOGY.................................................... 11
5.1.
OVERVIEW....................................................................................................................... 11
5.2.
VIRTUALIZATION ............................................................................................................... 11
5.3.
DEVELOPMENT ENVIRONMENT ........................................................................................... 11
5.3.1.
Overview .............................................................................................................. 11
5.3.2.
Recommended Server Topology .......................................................................... 11
5.4.
TESTING / STAGING ENVIRONMENT ..................................................................................... 12
5.4.1.
Overview .............................................................................................................. 12
5.4.2.
Recommended Server Topology .......................................................................... 12
5.5.
PRODUCTION ENVIRONMENT ............................................................................................. 12
5.5.1.
Overview .............................................................................................................. 12
5.5.2.
Recommended Server Topology .......................................................................... 12
5.5.3.
Network Diagram ................................................................................................ 14
6.
TECHNICAL REQUIREMENTS ......................................................................................... 14
6.1.
SERVER REQUIREMENTS..................................................................................................... 14
6.1.1.
Minimum and Recommended Hardware Requirements ..................................... 14
6.1.2.
Recommended Development Server Hardware .................................................. 15
6.1.3.
Recommended Testing / Staging Server Hardware............................................. 15
6.1.4.
Recommended Production Server Hardware ...................................................... 16
7.
DATABASE REQUIREMENTS .......................................................................................... 16
8.
WORKSTATION REQUIREMENTS ................................................................................... 16
9.
APPLICATION ARCHITECTURE ....................................................................................... 17
9.1.
SHAREPOINT ARCHITECTURE ............................................................................................... 17
9.1.1.
Master Pages ....................................................................................................... 17
9.1.2.
CSS ....................................................................................................................... 18
9.1.3.
Web Parts ............................................................................................................ 18
9.1.4.
Page Layouts ....................................................................................................... 18
9.1.5.
Features ............................................................................................................... 18
9.1.6.
Variations (Bilingualism) ..................................................................................... 18
10.
COMPONENTS LISTING ............................................................................................. 18
March 14, 2016 – Confidential
Page 3 of 46
10.1.
10.2.
10.3.
10.4.
10.5.
10.6.
10.7.
10.8.
10.9.
10.10.
10.11.
10.12.
10.13.
10.14.
10.15.
10.16.
10.17.
10.18.
10.19.
10.20.
10.21.
10.22.
10.23.
11.
PUBLISH ALL CUSTOM ACTION............................................................................................ 18
SKIP SEND FOR APPROVAL CUSTOM ACTION ......................................................................... 19
NEWSLETTER TOOL ........................................................................................................... 20
FONT SIZES ...................................................................................................................... 20
ADD SITE COLUMNS TO CONTENT TYPES FOR CATEGORIZATION AND CLASSIFICATION .................. 21
DEVELOP SET AS MY LOCATION FEATURE ............................................................................. 22
DEVELOP TOOLBOX CONTROL ............................................................................................. 23
UPDATE BREADCRUMBS TO DISPLAY LOCATION ...................................................................... 24
UPDATE FEEDBACK CONTROL TO ALLOW PAGING ................................................................... 24
CONFIGURE SERVER FILE UPLOAD SIZE AND TYPE .............................................................. 25
BROADCASTING TUTORIALS/WEBINARS ............................................................................ 25
PAGE LOADING REPORTS ............................................................................................... 25
SEARCH AND REPLACE ................................................................................................... 25
ROLLBACK SITE TOOL .................................................................................................... 27
CONTENT EMAIL NOTIFICATIONS .................................................................................... 27
ALERT BYPASS OPTION .................................................................................................. 29
TASK MANAGEMENT APPLICATION.................................................................................. 29
USER PROFILE PAGE ..................................................................................................... 30
ZIP CODE LOCATER ....................................................................................................... 32
SPECIAL PAGES ............................................................................................................ 33
CHECK LIST MANAGEMENT TOOL.................................................................................... 35
DATABASE RESOURCE SEARCH ........................................................................................ 35
EMPLOYMENT PORTAL .................................................................................................. 36
SHAREPOINT CUSTOMIZATION ................................................................................. 39
11.1. BRANDING ....................................................................................................................... 39
11.2. NAVIGATION .................................................................................................................... 39
11.3. BREADCRUMBS ................................................................................................................ 39
11.4. WEBSITE URLS AND IIS SERVER BINDINGS ............................................................................ 39
11.5. SEARCH ........................................................................................................................... 39
11.6. USER PROFILES................................................................................................................. 40
11.7. GLOBALIZATION................................................................................................................ 40
11.7.1.
Page Content ....................................................................................................... 40
11.7.2.
Web Parts ............................................................................................................ 40
11.8. ACCESS PROFILES .............................................................................................................. 41
11.8.1.
Website Access for Guests ................................................................................... 41
11.8.2.
Website Access for Registered Visitors ................................................................ 41
11.8.3.
Website Access for Content Contributors & Administrators ............................... 41
11.8.4.
CMS Access for Content Contributors .................................................................. 41
11.8.5.
CMS Access for Location Administrators ............................................................. 42
11.8.6.
CMS Access for Field Administrators ................................................................... 42
11.8.7.
CMS Access for Administrators ............................................................................ 42
11.8.8. ................................................................................................................................... 42
12.
12.1.
12.2.
12.3.
SECURITY ................................................................................................................. 42
AUTHENTICATION AND AUTHORIZATION MECHANISM ............................................................ 42
USER IDENTITY AND PROFILE STORE ..................................................................................... 43
SHAREPOINT SERVICE ACCOUNTS ........................................................................................ 44
March 14, 2016 – Confidential
Page 4 of 46
13.
ERROR HANDLING, REPORTING, AND MONITORING ................................................. 45
13.1.
13.2.
13.3.
13.4.
13.5.
14.
LOGGING......................................................................................................................... 45
APPLICATION LOGGING ...................................................................................................... 45
MONITORING................................................................................................................... 45
ALERTING ........................................................................................................................ 45
APPLICATION CACHING ...................................................................................................... 45
PATCHES AND DISASTER RECOVERY.......................................................................... 46
14.1.
14.2.
14.3.
14.4.
14.5.
14.6.
2.
DATA CENTERS ................................................................................................................. 46
PATCHES ......................................................................................................................... 46
BACKUP AND RECOVERY PROCESS ....................................................................................... 46
DATABASE BACKUPS ......................................................................................................... 46
SITE COLLECTION BACKUPS ................................................................................................ 46
SEARCH INDEX RECOVERY .................................................................................................. 46
Overview
2.1.
High Level Design Goals
The goal of the solution will be to implement some advanced features to the Director General
Personnel and Family Support Services (DGPFSS) Family Force website. The existing interactive
"single point of entry" website gives all Canadian Forces families a recognizable starting point for
learning about the Military Family Services Program (MFSP) and connecting with their local
C/MFRC. The site provides a common look and feel template that is used by all Canadian/MFRC
websites, which provides consistency and familiarity to families as they move from one location
to another.
The solution is built using the Microsoft Office Sharepoint Server (MOSS) Web Content
Management application platform. The design follows Microsoft’s best practices and uses many
of the built-in Sharepoint features and services. The planned phase II features to be
implemented, will leverage as much of the built-in features of MOSS; however some of the
features will be developed using custom code developed by StoneShare and others will be
integrated using third party tools. The goal of this document is to identify the new features to be
included in the existing website and describe the design approach for each feature. The new
features will include the following:







A Task Management system for those users managing the content of the web site
The ability for users to easily create Special pages that are based on the content of the
existing website
A personal profile page
A Checklist system that allows guests of the website to create personal to-do lists
Advanced search features and meta-tagging of web content
An Employment Portal with job searching and posting capabilities
A mechanism for integrating all of the remaining Canadian Military Family Resource
Centres (C/MFRC)
March 14, 2016 – Confidential
Page 5 of 46


A mechanism to allow administrators and authors to avoid receiving excessive
notifications
A zip code locator to allow users to enter their zip or postal code and receive the
location of the nearest Center
Other features will also be included in the design of the project and for details on all of the
features see the Component listing section .
March 14, 2016 – Confidential
Page 6 of 46
3.
Terms and Definitions
Term
.Net Framework
Active Directory
Microsoft SQL Server
Internet Information Services
(IIS)
Windows SharePoint Services
(WSS)
Microsoft Office SharePoint Server
(MOSS)
March 14, 2016 – Confidential
Definition
A programming infrastructure created
by Microsoft for building, deploying, and
running applications and services that
use .NET technologies, such
as desktop applications and Web services.
Active Directory is Microsoft's
trademarked directory service, an integral part
of the Windows 2000 architecture. Like other
directory services, such as Novell Directory
Services (NDS), Active Directory is a centralized
and standardized system that automates
network management of user data, security,
and distributed resources, and enables
interoperation with other directories. Active
Directory is designed especially for distributed
networking environments.
SQL Server is a relational
database management system (RDBMS)
from Microsoft that's designed for
the enterprise environment. SQL Server runs
on T-SQL (Transact-SQL), a set of programming
extensions from Sybase and Microsoft that
add several features to standard SQL,
including transaction control, exception and
error handling, row processing, and
declared variables.
IIS is a group of Internet servers (including a
Web or Hypertext Transfer Protocol server and
a File Transfer Protocol server) with additional
capabilities for Microsoft's Windows NT and
Windows 2000 Server operating systems.
Portal-based platform for creating, managing
and sharing documents and Web services on
an intranet. WSS is a free download included
with every Windows Server 2003 license and is
considered to be part of the Office 2003
productivity suite.
Full version of a portal-based platform for
collaboratively creating, managing and sharing
documents and Web services. MOSS enables
users to create "SharePoint Portals" that
include shared workspaces,
applications, blogs, wikis and other documents
accessible through a Web browser. The free
Page 7 of 46
Document Workspace
Document Library
List
Content Type
Web Application
Site Collection
Site
Site Definition
Site Template
March 14, 2016 – Confidential
version, Windows SharePoint Server (WSS),
usually referred to as simply "SharePoint," is
available as a free download included with
every Windows Server license.
SharePoint Services site that
contain a document library, tasks,
links, and other information.
Document workspaces can be
created directly in SPS as a new site,
or they may be created ad-hoc from
within an Office product. End users
can collaborate without having SPS
open alongside Office.
In order to share files, SharePoint
makes use of libraries. The three
types of libraries available in
SharePoint are document libraries,
form libraries and picture libraries.
Along with document libraries, lists
form the foundation of content
within SPS. A list is a collection of
information items displayed in an
area or on a site. List types include:
Announcements, Links, Contacts,
Events, Tasks and Issues.
Content types are reusable collections of
settings which can be applied to a certain
category of content. Content types enable
users to manage the metadata and behaviors
of a document or item type in a centralized,
reusable way.
IIS Web site, extended to use SharePoint,
which can host site collections.
Container for SharePoint sites, which exists
within a specific content database. A site
collection contains a top-level site and
optional child sites, and is the unit of
ownership, securability, and recoverability.
Container for child sites, pages, and content
such as lists and document libraries.
A grouping of lists, features, settings, style
sheets, themes, master pages, etc. that define
a web site. An example of a site definition
would be Team Site, Publishing Site with
Workflow, or Blank Site. User needs to choose
a site definition when he/she creates a new
Site Collection or a new Site.
Whenever a new site is created, SPS
Page 8 of 46
Web Part
Workflow
March 14, 2016 – Confidential
use predefined templates to
simplify the creation of the new
elements for the site. These
templates allow user to create
everything from a specialized team
site to a blank site that can be used
to create content from scratch.
Customizable Web page element that can be
added to SharePoint pages.
Workflow is a term used to describe the tasks,
procedural steps, organizations or people
involved, required input and output
information, and tools needed for each step in
a business process. SharePoint provides tools
for automation and optimization of the
workflow-related processes.
Page 9 of 46
4.
Solution Technologies
No
Technology/Component
Description
1.
Visual Studio 2008
Tool used to develop the solution.
2.
Microsoft SQL Server 2008
Database Management System
3.
Microsoft.Net Web Services
4.
.NET 3.5 Framework
Business Tier Hook In. The web services will be
using WSE 3.0 and the .NET 2.0 technology
stack.
Used to Create Web Based user interface.
5.
Microsoft Office Sharepoint
Server 2007
Underlying platform for application
development
March 14, 2016 – Confidential
Page 10 of 46
5.
Solution Environments and Server Topology
5.1.
Overview
StoneShare uses the Microsoft Solutions Framework (MSF), a universally recognized approach to
implementing MOSS 2007 technologies, to ensure a consistent and comprehensive project
methodology. By utilizing the rigorous structures within MSF, StoneShare is able to consistently
deliver our projects on time and within budget. The MSF Process Model combines concepts
from traditional waterfall and spiral models to combine the strengths of each. The Process
Model combines the benefits of milestone-based planning from the waterfall model with the
incrementally iterating project deliverables from the spiral model.
The adoption of a structured development methodology, based on a design cycle and on formal
reference models, is a key issue to managing risk in any project and ensuring successful
implementation.
5.2.
Virtualization
Virtualization is a technique used by server administrators to use software to divide one physical
server into multiple isolated virtual environments. StoneShare uses Microsoft’s Hyper-V
technologies to create Sharepoint servers for their developers and for client integration testing.
5.3.
Development Environment
5.3.1.
Overview
StoneShare developers will be using their own Hyper-V virtual servers to develop custom
components of the solution. The virtual server will use the Windows 2008 operating system with
Microsoft Office Sharepoint Server 2007 and the Microsoft Visual Studio 2008 Integrated
Development Environment installed. After testing their custom components on their own
servers they will upload their components to the build server. The build server will be used for
integration and development testing.
5.3.2.











Recommended Server Topology
Single server using Hyper-V virtualization for developers / Single server physical server
for development and integration testing
Windows 2008 Server
MOSS 2007
Visual Studio 2008
Visual Studio Extensions for Windows Sharepoint Services 1.3
MS SQL Server 2008
WSPBuilder
Sharepoint Designer 2007
U2U CAML Query Builder
Sharepoint Manager
Lutz Roeder's .NET Reflector
March 14, 2016 – Confidential
Page 11 of 46
5.4.
Testing / Staging Environment
5.4.1.
Overview
The testing / staging environment will be installed on a Hyper-V server located on the
StoneShare network. Ports will be opened on the network to allow external testers to log into
the system through a virtual private network (VPN). The login information will be sent to those
users.
5.4.2.




Recommended Server Topology
Windows 2008 Server
MOSS 2007
Visual Studio 2008
MS SQL Server 2008
5.5.
Production Environment
5.5.1.
Overview
The production environment will be installed on the svottmoss (IP: 10.160.200.50) server
located on the NFP network. This server uses the Microsoft Windows 2008 operating system
and already has Microsoft Office Sharepoint Server installed. It is located in the DMZ and is
accessible to public, DWAN and NFP users.
5.5.2.






Recommended Server Topology
Single physical server installation
Windows 2008 Server
MOSS 2007
SQL Server 2008
Separate Exchange Server
Separate Active Directory Domain Controller
March 14, 2016 – Confidential
Page 12 of 46
User Requests
DMZ
Front End Web Server
MOSS
Search Server
Index Server
SSP
SQL Server
Configuration
DB
Content
DB
FBA
DB
Firewall
NFP Network
Exchange Server
March 14, 2016 – Confidential
Page 13 of 46
5.5.3.
Network Diagram
Via the internet users can access the site using the www.familyforce.ca unified resource locator
(URL).
DMZ
NFP
Home user
Domain Controller
Internet
Sharepoint
Forms Based
Authentication
SQL Server
DWAN User w. iAccess
Active Directory
Firewall
Exchange Server
LAN Users
PDA
6.
Technical Requirements
6.1.
Server Requirements
6.1.1.
Minimum and Recommended Hardware Requirements
The following table lists the minimum and recommended hardware requirements for deploying
Microsoft Office SharePoint Server 2007.1 These recommendations are for both Web Front End
and Database servers.
Component Minimum
Recommended
Processor
2.5 gigahertz (GHz)
Dual processors that are each 3 GHz or faster
RAM
1 gigabyte (GB)
2 GB
Disk
NTFS file system–formatted
partition with a minimum of 3 GB
of free space
NTFS file system–formatted partition with
3 GB of free space plus adequate free space
for your Web sites
Drive
DVD drive
DVD drive or the source copied to a local or
network-accessible drive
Display
1024 × 768
1024 × 768 or higher resolution monitor
March 14, 2016 – Confidential
Page 14 of 46
Component Minimum
Recommended
Network
56 Kbps or faster connection between client
computers and server
6.1.2.
56 kilobits per second (Kbps)
connection between client
computers and server
Recommended Development Server Hardware
Component Minimum
Recommended
Processor
2.5 gigahertz (GHz)
Dual processors that are each 3 GHz or faster
RAM
2 gigabyte (GB)
4 GB
Disk
NTFS file system–formatted
partition with a minimum of 3 GB
of free space
NTFS file system–formatted partition with
3 GB of free space plus adequate free space
for your Web sites
Drive
DVD drive
DVD drive or the source copied to a local or
network-accessible drive
Display
1024 × 768
1024 × 768 or higher resolution monitor
Network
56 kilobits per second (Kbps)
connection between client
computers and server
56 Kbps or faster connection between client
computers and server
6.1.3.
Recommended Testing / Staging Server Hardware
Component Minimum
Recommended
Processor
2.5 gigahertz (GHz)
Dual processors that are each 3 GHz or faster
RAM
2 gigabyte (GB)
4 GB
Disk
NTFS file system–formatted
partition with a minimum of 3 GB
of free space
NTFS file system–formatted partition with
3 GB of free space plus adequate free space
for your Web sites
Drive
DVD drive
DVD drive or the source copied to a local or
network-accessible drive
Display
1024 × 768
1024 × 768 or higher resolution monitor
Network
56 kilobits per second (Kbps)
56 Kbps or faster connection between client
March 14, 2016 – Confidential
Page 15 of 46
Component Minimum
connection between client
computers and server
6.1.4.
Recommended
computers and server
Recommended Production Server Hardware
Component Minimum
Recommended
Processor
2.5 gigahertz (GHz)
Quad processors that are each 3 GHz or
faster
RAM
8 gigabyte (GB)
16 GB
Disk
NTFS file system–formatted
partition with a minimum of 3 GB
of free space
NTFS file system–formatted partition with
3 GB of free space plus adequate free space
for your Web sites
Drive
DVD drive
DVD drive or the source copied to a local or
network-accessible drive
Display
1024 × 768
1024 × 768 or higher resolution monitor
Network
56 kilobits per second (Kbps)
connection between client
computers and server
56 Kbps or faster connection between client
computers and server
7.
Database Requirements
Dynamic content and data will be pulled from a local MS SQL Server instance containing three
main databases: Sharepoint Configuration database, the Content database and the Forms Based
Authentication database.
8.
Workstation Requirements
User workstations will require connectivity to the internet. SharePoint Content is natively access
by all modern Web Browsers (Internet Explorer, Safari, Chrome, and Firefox). As such, a
minimum screen resolution of 800x600 is recommended, that java support be enabled, Pop-ups
be allowed for authoring, and that “Cookies” are allowed (for login purposes).
In order for users to view the posted videos they will need to have the appropriate Active X
movie player installed for their browser version (Flash / Windows media player etc.). Content
March 14, 2016 – Confidential
Page 16 of 46
authors and administrators are best advised to use Internet Explorer 7 or above on either a NFP
or DWAN machine with IAccess. If a content author does not have either of these types of
computers a “kiosk” machine shall be made available.
9.
Application Architecture
9.1.
Sharepoint Architecture
Microsoft Office Sharepoint Server is built on top of the Microsoft .NET Framework version 3.0
which includes Windows Workflow Foundation and the Windows Communication Foundation.
This framework enables Sharepoint to fully leverage and benefit from everything that ASP.NET
2.0 has to offer, such as page output caching, user controls, server controls and custom HTTP
handlers and modules.
9.1.1.
Master Pages
Sharepoint heavily leverages ASP.NET 2.0 master pages. The master pages used by the Family
Force 2 websites shall contain the following elements: The header, the left navigation, the
footer and a content placeholder for the page layouts. Only one master page can be applied to a
site collection therefore each location site shall have a copy of its own master page.
March 14, 2016 – Confidential
Page 17 of 46
9.1.2.
CSS
Cascading Style Sheets is a style sheet language used to describe the presentation (that is, the
look and formatting) of a web page. The World Wide Web Consortium http://www.w3.org/
highly recommends the use of CSS to deliver the presentation of a website rather than inline
HTML formatting as site wide changes can take place within a specific file. The Family Force 2
websites shall rely heavily on styles for presentation.
9.1.3.
Web Parts
Sharepoint Web Parts are ASP.Net server controls that can be added to web part zones on a
page. They provide specific and independent functionality to a page such as a calendar web part.
Web Parts will be used in the Family Force 2 sites to provide such functionality as Weather
updates, Discussion Boards and Feedback Forms. Custom Web Parts may need to be developed
to accommodate certain requirements.
9.1.4.
Page Layouts
Each site will be restricted to a set number of page layouts to ensure consistency in the Look and
Feel of each site.
9.1.5.
Features
Sharepoint Features will be used for the initial creation of location sites. The Family Force 2
feature will provision all the files needed to create a new location site.
9.1.6.
Variations (Bilingualism)
The Family Force 2 websites will make use of MOSS’s Variations to fulfill the multi-language
requirement. As new publishing sites are built, a master language site will be created. Once new
pages and sites created in the master language, users will have the option to create the
corresponding page in the alternate language site for translation and publishing.
10.
Components Listing
10.1.
Publish All Custom Action
Description:
StoneShare will create a SharePoint feature that provisions a custom action under the Actions
menu of the pages document libraries and that action will redirect the user to a SharePoint
application page that has managed code behind that ensures that all the pages in the selected
document library get published. Once all the code gets executed, the user will be redirected
back to the originating document library page.
March 14, 2016 – Confidential
Page 18 of 46
Design Approach: Custom Code
Interaction Details: User clicks on the publish all menu item in a pages document library
10.2.
Skip Send for Approval Custom Action
Description:
StoneShare will create a Skip Send for Approval feature. This requirement will also be a custom
SharePoint feature that provisions a custom action on the Page editing menu. The action will
redirect the user to a SharePoint application page that has managed code behind that publishes
the page directly without content approval.
Design Approach: Custom Code
Interaction Details: In edit mode of a page, the user clicks on the publish button
March 14, 2016 – Confidential
Page 19 of 46
10.3.
Newsletter Tool
Description:
StoneShare will create lists in the root of each site collection that contain information that will
hold the information on subscribers, newsletters, newsletter categories and newsletter
templates. It will be the responsibility of site collection administrators to add subscribers to the
list and create newsletters. When creating a newsletter, administrators will have the option to
select a global newsletter template or create their own templates. A custom action will be
created on the ECB of the newsletters list that will link to a custom page layout that will send the
newsletter to each of the subscribers via SMTP.
Design Approach: Custom Code
Interaction Details: A link to the Newsletter shall be provided to logged in authorized users.
10.4.
Font Sizes
Description:
Create Smaller and Larger CSS Stylesheets. When each page loads, the system will query the
user’s preferred font size setting and apply the correct css file.
In order to allow users to increase or decrease their preferred font size, they will have an option
on their user profile page to make the change.
Design Approach: Custom Code and multiple CSS files
Interaction Details: The user modifies their preferred font size on their user profile page
March 14, 2016 – Confidential
Page 20 of 46
10.5.
Add Site Columns to Content Types for Categorization and
Classification
Description:
A SharePoint feature will be developed that upon activation the appropriate meta-data columns
get added to all document libraries including the pages document library. This will be
accomplished by modifying the base content type. These columns include:






Scope (Family Force Web Site, Database Resource Search or both)
Category
Sub-Category
Target Population
Location
Keyword
Each of the above columns will be lookup columns which get their data from corresponding lists.
When content authors create new pages they will be asked to input values for each of these
columns. The system will use the built-in Sharepoint Search and Indexing capabilities to index
the meta data.
Design Approach: Use built-in Sharepoint functionality for configuration. Use the Search Core
Results Web Part to add the meta data properties and the Search and Indexing capabilities of
Sharepoint.
Interaction Details: Users navigate to the database search page and filter their search criteria
based on the meta data listed above.
March 14, 2016 – Confidential
Page 21 of 46
(Edit Page Properties)
10.6.
Develop Set as My Location Feature
Description:
StoneShare will create a “set as my default location” feature. This will be a link on the My
Settings Control that will run some custom code that will update the currently logged in user’s
profile record with their chosen location, from a list of location codes.
Design Approach: Custom Code
Interaction Details: User clicks on the set as my location link in the My Settings control any of
the location sites when logged in.
March 14, 2016 – Confidential
Page 22 of 46
10.7.
Develop Toolbox Control
Description:
StoneShare will create a toolbox control as a custom user control. The control will have several
functions including printing and sharing page functionality. This custom user control will be
added to the master page to ensure it is available everywhere. The control shall have the
following elements:
StoneShare shall use the AddThis free component available on the web to share links with
popular social networking services such as Facebook, MySpace, LinkedIn, Digg, Reddit, and many
others (requirement 1033).
March 14, 2016 – Confidential
Page 23 of 46
Design Approach: Custom Code + Third Party
Interaction Details: The user clicks on the desired bookmarking link
10.8.
Update Breadcrumbs to display location
Description:
The existing breadcrumb control extends the default SharePoint breadcrumb control. Code in
the breadcrumb control will be re-written to insert the current location name instead of
Welcome and Bienvenue. Custom Code. The breadcrumb shall take the following format:


An icon/graphical image (e.g. house) to return visitors back to the map page (currently
the "welcome" link).
The "location name" as a link to return visitors back to the site collection homepage
(currently the "home" link)
Design Approach: Custom Code
Interaction Details: User clicks on a link in the breadcrumb and the system redirects the user to
the selected page
10.9.
Update Feedback Control to allow Paging
Description:
The current feedback control does not include an option for paging user’s feedback. Custom
managed code will be written to accomplish paging. The code may need to be re-written to use
either a spgridview or asp.net gridview control. Custom Code.
Design Approach: Custom Code
Interaction Details: The user clicks on the next / previous page links and the system displays the
next / previous page of feedback
March 14, 2016 – Confidential
Page 24 of 46
10.10. Configure Server File Upload Size and Type
Description:
This task will simply involve going into SharePoint Central administration and verifying that the
correct allowed file types are set properly and that the maximum upload file size is set according
to the requirements.
Design Approach: Built-in Administration
Interaction Details: When users attempt to upload files that exceed the maximum upload size
or a file type that is not allowed the system will display an error message
10.11. Broadcasting tutorials/webinars
Description:
Broadcasting tutorials/webinars will be accomplished by uploading Flash/video files to a
document library and then creating a page with the AE Media Player webpart to display the
video. Links to these pages can be sent via email. As previously stated Videos and Flash may not
work on the DWAN.
In addition to broadcasting videos, StoneShare can advise DGPFSS on potential web meeting
options including the existing infrastructure available to DGPFSS staff including Microsoft Live
Meeting.This component is already licensed to DGPFSS.
Design Approach: Built-in functionality AE Media Player is already installed / Third party
software
Interaction Details: User selects a video tutuorial or webinar and the system displays the video
10.12. Page Loading Reports
Description:
Reports that will display the approximate loading time and page size will be created using a third
party web performance tool, which will not be integrated directly into the web pages. Instead,
this tool can be run standalone by System Administrators.
This is a custom third party tool. Many of these stress or real-time monitoring tools are free.
Design Approach: Third Party Product
Interaction Details: System Administrators can run performance tests on the website and the
tool will deliver the results in various reports
10.13. Search and Replace
March 14, 2016 – Confidential
Page 25 of 46
Description:
StoneShare will provide a web based tool to use that System Administrators will be able to run
and do a search and replace of text elements only in SharePoint publishing pages content areas,
web page metadata columns, and quick launch and global navigation items. Search can be run
on a web application (containing multiple site collections), per site collection, or per page.
System Administrators will need to log into the server to accomplish a search and replace.
DGPFSS acknowledges that global search and replace functionality can negatively impact the
performance of the site and must be used at its own risk.
Design Approach: Custom Code
Interaction Details: A system administrator runs the search and replace tool via a custom action
under the site actions menu. Then users can supply a search word, a replace word and a site
and the system replaces the word on all pages of the site
March 14, 2016 – Confidential
Page 26 of 46
10.14. Rollback Site Tool
Description:
Rollbacks will be performed by System Administrators manually via SharePoint stsadm
commands. Daily backups will be performed at a specified time using an automated backup
process. The backup files will be created on the E: drive.
Design Approach: Custom Code using StoneShare’s automated software.
Interaction Details: The sever will be configured to to nightly backups and System
administrators can rollback a site collection to a particular date
10.15. Content Email Notifications
Description:
Content email notifications can be configured at the page level using the built-in SharePoint
page settings. An email can be configured to be set when a page expires. After the page has
expired an authenticated user can re-submit the page for publication. New pages can be created
with the expiry date set. Existing pages must be modified to update the expiry date to trigger
notifications.
Design Approach: Built-in Sharepoint
Interaction Details: Content Author set page expiration properties and the system
automatically emails the page contact
March 14, 2016 – Confidential
Page 27 of 46
March 14, 2016 – Confidential
Page 28 of 46
10.16. Alert Bypass Option
Description:
Create custom process to override the web page publishing notification at time of publishing.
Add a new column called Send Alert to each publishing page that administrators, website staff,
location / approvers and owners/approvers can manage. Before sending a publishing email the
event receiver code on the library will check to see if the Send Alert option has been applied and
then send alerts to all users who have subscribed to the alerts of the current site collection.
Registered users shall have an option on their User Profile page to enable or disable new
content alerts.
Design Approach: Custom Code
Interaction Details: Before publishing a page the content approver selects whether or not to
send the alert messages for the current page.
(Page Properties)
10.17. Task Management Application
Description:
A task management system will be developed for those users involved in the content publishing
process. Tasks will be assigned to users and emails will be sent to those users regarding their
involvement of the selected task as it is assigned to them. StoneShare will make use of the builtin tasks content type and write a list instance event receiver that will handle the added custom
functionality. System Administrators will need to give permissions on the tasks list as new
content authors are added to the system. Tasks can be created and modified using the built-in
SharePoint list management forms.
Design Approach: Custom Code
Interaction Details: Users create tasks and assign them to other users. The system notifies the
user via email that a task has been assigned to them. A link to the task will be provided in the
email.
March 14, 2016 – Confidential
Page 29 of 46
10.18. User Profile Page
Description:
The system will provide users with a customizable personal page where they can view their
profile information and personal settings, store links to favorites, add personal calendars, add
weather web parts, view their checklists and RSS feeds.
Upon user account deletion, all personal information for that user shall be deleted.
Profile Page
The user’s profile page will be developed as a SharePoint application page. The page will identify
a user by their login username and display the following web parts:
•
User’s profile settings
March 14, 2016 – Confidential
Page 30 of 46
•
•
•
•
•
Up to five user configured weather web parts
User’s checklist
User’s RSS feeds
User’s Bookmarks
User’s Event Calendar
The information from these web parts will be stored in a series of SharePoint lists. Some
changes to the existing users list may be necessary. A personal events calendar instance will be
provisioned when a user creates a new calendar
Profile Management Page Administration Forms
For each of the web parts above additional SharePoint application pages will need to be built so
that users can manage their personal page. User management forms will need to be created for
the following web parts
•
Manage User Profile Preferences and Settings Form
•
Manage Weather Web Parts Form
•
Manage Checklist Form
•
Manage RSS Feeds Form
•
Manage Bookmarks Form
•
Manage Events Calendar Form
These forms will save data to the various personal page lists for the currently logged in user. The
existing alerts feature may need to be re-tested.
Design Approach: Custom Code
Interaction Details: When a new user is approved they will be provided a link to go to their
personal page which they can modify to include their profile settings, weather, checklists, RSS
feeds, bookmarks and personal calendar
March 14, 2016 – Confidential
Page 31 of 46
10.19. Zip Code Locater
Description:
Allow users of the Family Force Website to enter location-based information from anywhere in
the world (zip codes or postal codes) for the purpose of determining the nearest Center to the
referenced location.
Create a web part on a dedicated page within the Family Force Website top level site that is
connected to the PostalCodeOMWorld Canadian Premium Edition Global Zip / Postal Code
Database. This solution will allow lookups on Canadian, American and Mexican postal code
records.
The following tasks shall be performed to create a dynamic zip / postal code functionality
1. Import postal codes database into SQL Server database
2. Create page to allow user to enter zip or postal code. Validate appropriate codes using
regular expressions to allow one of the postal code formats for the available countries.
3. For each location center, add a Latitude and Longitude column to the location list
4. Enter the lat / long values for each Center
5. Create a SharePoint item query to load the locations and their lat / long values
March 14, 2016 – Confidential
Page 32 of 46
6. Create a database lookup query to determine, based on the user’s entered data, the
nearest Center. This mathematical equation is called orthodromy and is quite complex
in nature (StoneShare has a mathematician on staff to support this effort)
7. Order the query results to return the closest location or locations
8. Update the page to display the result to the user. Display shall be administratorconfigurable to show one or a limited number of “nearest sites”. Each result shall have a
hyperlink to its Center website.
9. Create deployment script to package this functionality
10. Functional Testing
Design Approach: Custom Code
Interaction Details: The user types in their postal code and the system presents the user with a
list of the nearest MFRCs
10.20. Special Pages
Description:
A special page system will be developed using Sharepoint layout pages to allow registered users
to copy and paste text content into “special pages” for later viewing. Users will be able to create
up to 5 distinct special pages. Each page will have its own title and an area to paste text
content, which they can edit with images, hyperlinks, and other web features. Only the creator
of the special page will be able to view it.
Upon deletion of the user’s account, all related special pages will be deleted.
Design Approach: Custom Code
Interaction Details: Signed in user selects the option to create a special page and creates
sections of the page then uses a rich text editor to add content to each section.
March 14, 2016 – Confidential
Page 33 of 46
March 14, 2016 – Confidential
Page 34 of 46
10.21. Check List Management Tool
Description:
The system will provide a user with tools to manage their checklists. Site Administrators will
have the ability to create checklists and users will be able to include these checklists in their
profiles.
System Administrators will use the built-in Sharepoint list management forms to manage and
create the checklists. Once the checklist has been added to their profile, the user can add
additional tasks to the checklist.
There will be one checklist list at the top level site that will contain all checklists which can be
filtered by user or by system.
A sort column will allow users to sort the tasks in a checklist. A custom form will be developed
that allows user to manage their personal checklists, import existing checklists and change the
sort order of a checklist task.
If an administrator deletes the checklist upon which the user’s personal checklist is based, their
personal checklist items shall remain unchanged. Upon user account deletion, all checklist
information for that user shall be deleted.
Design Approach: Custom Code and Built-in Sharepoint Functionality
Interaction Details: User navigates to their profile page and clicks on a checklist and the system
displays the items in their checklist. The user can opt to add new items to the checklist and
import an existing checklist to their profile. Users will also have the ability to sort the items in
their checklist.
10.22. Database Resource Search
Description:
March 14, 2016 – Confidential
Page 35 of 46
The system will provide users with a search tool that allows them to perform searches for
content using specific meta data fields. StoneShare will create a SharePoint search center at the
top level site and modify the search, and results pages so that they can perform searches on the
specific meta data. The meta data columns users can search by include one or more of the
following:
•
•
•
•
•
Category
SubCategory
Target Population
Location
Keyword
SharePoint does not have any built-in ability to create relationships between each of the meta
data columns and therefore this is out of scope. Users will select the appropriately related
properties and enter keyword searches. Some custom coding may be necessary to either modify
the XSLT of the search results page or create a custom application search page. A third party tool
may also be used to achieve functionality more efficiently.
Design Approach: Custom Code
Interaction Details: When authors create a new page they must add meta data to the page for
classification. When users perform searches using the meta data as criteria, the system displays
all pages matching the criteria.
10.23. Employment Portal
Description:
March 14, 2016 – Confidential
Page 36 of 46
An employment portal will be developed for site location owners to post jobs and for users to be
able to apply for those jobs. A SharePoint list will be located in the root site of the Employment
portal and be used to save the jobs. Location administrators can use the built-in SharePoint list
forms to manage the jobs. The jobs list will have content approval enabled on it. The expiry date
column will be a mandatory field and require the user to enter a date.
Custom built SharePoint application pages for the quick search and the advanced search will also
be developed. The quick search will display jobs by a selected location.
The Advanced search will allow users to search by one or more of the following:
•
Field
•
Education requirements
•
Experience requirements
•
Language
•
Hours
•
Student postings
•
Published in the last 48 hours
The system will not store/or remember the user’s previous selections.
An event receiver will be written to capture the event when a new job is published.
StoneShare will deploy this functionality into the existing Employment section currently under
development at http://www.familyforce.ca/sites/employment.
Design Approach: Custom Code and Built-in Sharepoint Functionality
Interaction Details: Location administrators post jobs to a SharePoint list. Users search for the
jobs and the system displays the results based on the users supplied search criteria
March 14, 2016 – Confidential
Page 37 of 46
Search Results
March 14, 2016 – Confidential
Page 38 of 46
11.
SharePoint Customization
11.1.
Branding
The current FamilyForce.ca look and feel will be used as a template for all phase II development
11.2.
Navigation
No changes to the existing navigation will be made
11.3.
Breadcrumbs
The current site breadcrumbs are in the following format. The Welcome breadcrumb links to the
top level site page and the Home breadcrumb links to the home page of the current location
site.
Welcome> Home> About the Community
The newly proposed breadcrumbs will include a Home icon instead of the Welcome text and the
Home breadcrumb will display the name of the current location site
11.4.
Website URLs and IIS Server Bindings
The current website URLs and IIS server bindings will be used for Phase II.
Public Access
http://www.familyforce.ca
http://www.forcedelafamille.ca
Signed in Access (FBA)
https://www.familyforce.ca
https://www.forcedelafamille.ca
11.5.
Search
A new search center will need to be created for both the Job Search and the Database Search.
The search and results pages will be customized so that users can select pre-defined search
properties and display the matching results.
March 14, 2016 – Confidential
Page 39 of 46
11.6.
User Profiles
The user profile accounts will be stored in the existing ASP.Net Membership database and
custom profile will be stored in a secured top-level site custom Sharepoint list. The list will be
used to store properties such as Email, City, Country and profile image etc. The accounts will not
be managed in the SQL database, but rather forms will be used within a secured Administration
section of the website.
11.7.
Globalization
11.7.1.
Page Content
Site variations will continue to be used as the technique for making the site bilingual. When a
new page is created in the default language (English) a page variation is then created in the
alternate language (French). Users have the ability to toggle the same page in the alternate
language.
11.7.2.
Web Parts
In order for custom web parts to work in both English and French, they will need to use and
reference resource files. These files will contain a key and a language specific value. The correct
translated word will be delivered to the browser using the System.Globalization .NET namespace
in the code behind files of the web parts. These files will be stored in the App_Global Resources
application folder.
March 14, 2016 – Confidential
Page 40 of 46
11.8.
Access Profiles
All content modifications are subject to approval using the out-of-the-box SharePoint Approval
Workflow requiring a single approval and content modifications are not be publicly displayed
until they are approved.
There are five (7) types of users or three roles that users can belong to.
11.8.1.
Website Access for Guests
The majority of the public site is accessible to anonymous guests on a read-only basis. Guests
are permitted to print and email content items and send in feedback via email, but they are not
permitted to add to the site in any way.
Guests cannot:
•
Participate in the forums
•
Post comments to articles
•
Vote on polls
11.8.2.
Website Access for Registered Visitors
All areas of the public site are accessible for site visitors that are logged in. Logged in visitors can
participate in all aspects of the public site, including forums, polls, and feedback mechanisms.
Visitors will also be permitted to view / edit / delete their self profile. A sign in link is provided
on all pages if the user so wishes to log in.
11.8.3.
Website Access for Content Contributors & Administrators
All areas of the public site are accessible for logged in site contributors and administrators of all
levels. As with visitors, they can participate in all aspects of the public site, including forums,
polls, and feedback mechanisms. Contributors and administrators are permitted to view / edit /
delete their profile.
11.8.4.
CMS Access for Content Contributors
Content contributors will be granted limited access to the CMS where they can:
•
Create their own content
•
Edit their own content
•
Edit any content assigned to them by location admin or higher
•
Upload resources (file attachments, images, etc.)
•
Preview their own content
•
Preview any assigned content
•
Submit own content for approval/publication
•
Submit assigned content for approval/publication
•
Delete own unpublished content
•
Delete own content in editing
March 14, 2016 – Confidential
Page 41 of 46
11.8.5.
CMS Access for Location Administrators
In addition to the permissions granted to the contributors, location Administrators will be able
to:
•
Create, edit, preview, publish, un-publish, delete and change settings for all content and
local resources from his/her location
•
Assign and reassign content to a local contributor.
•
Grant contributor permissions to visitors in their own locations.
•
Revoke contributor permissions from local contributors
•
Ability to modify his/her location’s second level navigation
11.8.6.
CMS Access for Field Administrators
In addition to all rights and permissions granted to contributors and location admin, field
Administrators can:
•
•
•
•
Have full control over all content from every location within his or her field
Grant location admin permissions to visitors in own field
Revoke location admin permissions from those in own field.
Ability to modify second level navigation for all locations in field.
11.8.7.
CMS Access for Administrators
System Administrators have all the permissions of any other user group, as well as:
•
•
•
•
•
•
Control over all content and resources site-wide
Ability to manage all user accounts and access permissions
Add/edit/delete locations and fields
Modify all site style sheets and templates
Modify site navigation and layout
Manage discussion forums (create, edit, delete topics and messages)
11.8.8.
12.
Security
12.1.
Authentication and Authorization Mechanism
Forms based authentication shall be used for the Family Force 2 websites. This will allow visitors
self service account creation and allow users who do not have active directory accounts the
ability to log in securely via Secure Socket Layer (SSL) and 128 bit encryption.
March 14, 2016 – Confidential
Page 42 of 46
Forms authentication uses an authentication ticket that is created when a user logs on to a site,
and then it tracks the user throughout the site. The forms authentication ticket is usually
contained inside a cookie. However, ASP.NET version 2.0 supports cookieless forms
authentication, which results in the ticket being passed in a query string.
If the user requests a page that requires authenticated access and that user has not previously
logged on to the site, then the user is redirected to a configured logon page. The logon page
prompts the user to supply credentials, typically a user name and password. These credentials
are then passed to the server and validated against a user a SQL Server database. In ASP.NET
2.0, user-store access can be handled by a membership provider. After the user's credentials are
authenticated, the user is redirected to the originally requested page.
Forms authentication processing is handled by the FormsAuthenticationModule class, which is
an HTTP module that participates in the regular ASP.NET page-processing cycle.
The diagram above illustrates the authentication process
12.2.
User Identity and Profile Store
The user profiles shall be stored in a SQL Server database. The diagram below displays the
relationships between the tables and the properties that are saved within each of the tables.
March 14, 2016 – Confidential
Page 43 of 46
12.3.
SharePoint Service Accounts
The SharePoint shall use the existing administrator account which has been set to
CFCF\mossadmin. This account shall also be configured as the application pool identities of the
Family Force 2 IIS applications.
March 14, 2016 – Confidential
Page 44 of 46
13.
Error Handling, Reporting, and Monitoring
13.1.
Logging
The system will log exceptions in the following directory:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS
Exceptions can also be configured to be logged to the Event Viewer
13.2.
Application Logging
A log file will automatically be created every 30 minutes by SharePoint. All log files will be saved
to the following directory:
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS
Log files in this folder will not be cleaned automatically.
13.3.
Monitoring
StoneShare recommends using a server monitoring software such as Microsoft Systems Center
Operations Manager or an equivalent software package to monitor the Sharepoint server.
13.4.
Alerting
Web content authors and administrators will be alerted when content requires their attention
via automated emails. These emails will contain links to the items that require their attention.
13.5.
Application Caching
The system shall make use of the Microsoft Office SharePoint Server 2007 advanced caching
capabilities. For more details see:
http://technet.microsoft.com/en-us/library/cc298466.aspx
March 14, 2016 – Confidential
Page 45 of 46
14.
Patches and Disaster Recovery
14.1.
Data Centers
The databases shall reside on the same server that Sharepoint is installed and hosted. In the
case of the production server the databases will be located on the svottmoss server.
14.2.
Patches
Patches will be installed at scheduled off- peak hours with the cooperation of the project
manager and the system operations team.
14.3.
Backup and Recovery Process
Site Collections can be restored using the STSADM.exe tool that comes with Sharepoint.
The following command can be used to back up the site collection:
stsadm -o backup -url <URL of the site collection> -filename <name of the backup file>
The following command can be used to restore the site collection:
stsadm -o restore -url <URL of site collection> -filename <name of backup file>
14.4.
Database Backups
Database backups shall be performed by the network operations team.
14.5.
Site Collection Backups
The Site Collection backups shall be backed up to a folder on the E:/ drive using the Sharepoint
STSADM.exe tool. A scheduled task will be created that will run this tool with the appropriate
command line parameters at pre-defined off-peak hour (See section 15.8 for command line
syntax).
14.6.
Search Index Recovery
In the event of a search index corruption the index can be deleted and a full crawl can be
initiated by a system administrator within the Shared Services provider of the site.
March 14, 2016 – Confidential
Page 46 of 46