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