SelectSurvey.NET Developers Manual

Similar documents
Virto SharePoint Forms Designer for Office 365. Installation and User Guide

Virto SharePoint Forms Designer for Office 365. Installation and User Guide

WebsitePanel User Guide

USER MANUAL. SalesPort Salesforce Customer Portal for WordPress (Lightning Mode) TABLE OF CONTENTS. Version: 3.1.0

IFS TOUCH APPS SERVER INSTALLATION GUIDE

CST272 Getting Started Page 1

Workspace Administrator Help File

Self-Service Portal Implementation Guide

Quick Start Guide. This guide will help you get started with Kentico CMS for ASP.NET. It answers these questions:

Oracle Application Express 5 New Features

Web Push Notification

Experience SAP HANA Cloud Portal. Use SAP HANA Cloud Portal to Create Engaging Websites in 5 Simple Steps

Early Data Analyzer Web User Guide

ActiveReports 8 Server Administrator Guide 1

BMC FootPrints 12 Integration with Remote Support

Migrate From Version 3.1 to Version 4 Guide Vovici Enterprise 4.0. December 2008

Getting Started with EPiServer 4

Microsoft Virtual Labs. Module 1: Getting Started

SelectSurvey.NET IT Staff Training

Survey Creation Workflow These are the high level steps that are followed to successfully create and deploy a new survey:

SharePoint User Manual

Migrate From Version 2.2 to Version 3.1 Guide

Vizit 6 Installation Guide

Kathy Hughes. Microsoft* SharePoinf. Designer A MM g "Msift Mi*p\% 800 East 96th Street, Indianapolis, Indiana USA. v^lk.

HP ALM Overview. Exercise Outline. Administration and Customization Lab Guide

FB Image Contest. Users Manual

USER MANUAL. SuitePort - SuiteCRM Customer Portal for WordPress TABLE OF CONTENTS. Version: 2.5.0

Participant Handbook

Installation and Upgrade Guide. Front Office v9.0

HOMELESS INDIVIDUALS AND FAMILIES INFORMATION SYSTEM HIFIS 4.0 TECHNICAL ARCHITECTURE AND DEPLOYMENT REFERENCE

Embedded101 Blog User Guide

Microsoft Windows SharePoint Services

IQSweb Installation Instructions Version 5.0

SelectSurvey.NET IT Staff Training

Create and Manage Partner Portals

EMS DESKTOP CLIENT Installation Guide

EMS MASTER CALENDAR Installation Guide

SHAREPOINT 2013 DEVELOPMENT

EMS WEB APP Installation Guide

New World ERP-eSuite

How to Configure SSL VPN Portal for Forcepoint NGFW TECHNICAL DOCUMENT

Chapter 9. Web Applications The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill

Developing ASP.NET MVC 5 Web Applications

MITEL. Live Content Suite. Mitel Live Content Suite Installation and Administrator Guide Release 1.1

A User Guide. Besides, this Getting Started guide, you ll find the Zoho Campaigns User Guide and many other additional resources at zoho.com.

TIBCO Spotfire Automation Services

TIBCO LiveView Web Getting Started Guide

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS

Status Web Evaluator s Guide Software Pursuits, Inc.

Getting Started with EPiServer 4

Setting Up Resources in VMware Identity Manager (SaaS) Modified 15 SEP 2017 VMware Identity Manager

Using the Control Panel

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

TIBCO Spotfire Automation Services

SelectSurveyASP Advanced User Manual

MobileFast SyncStudio. A Complete Mobile Database Synchronization Solution. Quick-Start Manual. Release 1.61, May 2014

MySQL for Visual Studio

Developing ASP.NET MVC Web Applications (486)

Developing ASP.NET MVC 4 Web Applications

Installation Manual v1.0.2

pinremote Manual Version 4.0

Content Publisher User Guide

Workstation Configuration Guide

Dreamweaver CS6. Table of Contents. Setting up a site in Dreamweaver! 2. Templates! 3. Using a Template! 3. Save the template! 4. Views!

Lava New Media s CMS. Documentation Page 1

Colligo Engage Outlook App 7.1. Offline Mode - User Guide

APAR PO06620 Installation Instructions

Autodesk Moldflow Adviser AMA Reports

Developing ASP.Net MVC 4 Web Application

Partner Integration Portal (PIP) Installation Guide

SCHULICH MEDICINE & DENTISTRY Website Updates August 30, Administrative Web Editor Guide v6

Logi Ad Hoc Reporting Management Console Usage Guide

DnnDeveloper Slider Module User Guide

Version Installation Guide. 1 Bocada Installation Guide

Introduction to application management

Ad Banner Manager 8.1 User Guide. Ad Banner Manager 8.1

Version 3.1 System Administrator Guide

Aware IM Version 8.2 Aware IM for Mobile Devices

INSTALL GUIDE BIOVIA INSIGHT 2016

CUSTOMER PORTAL. Custom HTML splashpage Guide

How to create a prototype

Managing System Administration Settings

Responsive SharePoint WSP Edition

EFM Community 3.1 Portal Administration Guide

Nintex Forms 2010 Help

MySQL for Visual Studio

EMS FOR MICROSOFT OUTLOOK Installation Guide

Bomgar Vault Server Installation Guide

Roxen Content Provider

<Partner Name> RSA ARCHER GRC Platform Implementation Guide. RiskLens <Partner Product>

TRAINING GUIDE FOR OPC SYSTEMS.NET. Simple steps to successful development and deployment. Step by Step Guide

Getting started with Convertigo Mobilizer

Perceptive Interact for Salesforce Enterprise

JSN Dona Portfolio User's Guide

Administrative Training Mura CMS Version 5.6

MPX Server Software User Manual

2 P age. Pete s Pagebuilder revised: March 2008

Barracuda NextGen Report Creator

Forms iq Designer Training

Password Reset Server Installation

Transcription:

Developers Manual

(Last updated: 5/6/2016) SelectSurvey.NET Developers Manual Table of Contents: SelectSurvey.NET Developers Manual... 1 Overview... 2 Before Starting - Is your software up to date?... 2 General Design... 2 Debugging Source Code with Visual Studio... 3 Database Model... 8 Look and Feel... 9 Common Modifications... 10 Modifying the Application Security... 10 Running the Software under HTTPS... 11 Adding a New Item Type... 11 Modifying Buttons and Images... 11 Increasing the Length of the Answer Fields... 12 Translating into a Foreign Language... 12 Integrating with an Existing Database... 13 Ajax Control Toolkit... 13 Visual Studio Structure... 13 Page 1 of 14

Overview The SelectSurvey.NET developer s manual provides documentation about the design of the software, as well as answers many commonly asked questions about modifying or enhancing the software. This document is an ongoing work that reflects the needs of our customers. If the information you are looking for is not in this document, please contact us at tech@classapps.com, and we will gladly answer your questions. Additionally, with your input, we can continue to modify this document and add to it so that it eventually addresses the needs of our entire developer community. Before Starting - Is your software up to date? Every month a new feature/fix release is published into the client portal of all clients that are current on support. Clients have access to download and upgrade at their own discretion at any time 24x7. ReleaseNotes.txt is included with every release, indicating which files were changed, and what new features or fixes were added. Release notifications are published on facebook and twitter as well as the client portal. 99% of the time the functionality clients are looking for has already been added and they just don t know where to find it. There are training documents with screenshots and videos linked on the classapps.com website under support > documentation (Training section). Also, our public sandbox allows current clients to test that their issues have been resolved or feature requests have been added. The application has been designed to allow users to specify look and feel, logos, style sheets, through the interface without any programming involved. Also the application has the ability to query 3 rd party databases dynamically with the dynamic token features. You can add database tokens through the interface as needed. Automation can be achieved also by using the API along with the numerous features of copying surveys/responses/ and data retrieval. General Design Version v4.146.005 (released 11/8/2015) or higher require.net 4.5 framework selected in App Pool in IIS Version v4.083.008 v4.146.004 (Released 4/28/2013) require.net 4.0 framework selected in App Pool in IIS Version v4.026.000 v4.083.007: Visual Studio 2010 and require.net 3.5 framework selected in App Pool in IIS Version s v2.0- v4.026.000: Visual Studio 2005 and.net 2.0 framework selected in App Pool in IIS Page 2 of 14

Versions v1.0-v2.0: Visual Studio 2003 and.net 1.1 framework selected in App Pool in IIS SelectSurvey.NET is written in the C# language for the Microsoft.NET framework. Debugging Source Code with Visual Studio Microsoft Visual Studio or similar.net programming tool is required to re-compile the application if you make changes to the code behind (.cs) or class files. There are two folders in the software zip folder Files to Copy to IIS is the precompiled, ready to deploy published web site. Source Code is the source files which you can edit and re-publish per instructions below. PLEASE READ: The application is SERIALIZED to work with web farms and web clusters. If you modify the application be sure to maintain the serialization by adding the [Serializable] tag to each new class file so that session can be maintained between servers. Due to the serialization, you cannot debug in a temporary IIS port. You must edit the Visual Studio options to specify a real IIS folder to debug the application, or you will get serialization errors. This is by design of Microsoft. See screenshot below for how to configure Visual Studio: The above screenshot shows how to configure the Custom Server so that you can debug it without getting serialization errors. Page 3 of 14

Requirements for Visual Studio 2010 to support HTML5 features (from 2013 versions): 2016 note: Most of the below information can be ignored, because HTML5 has now been out for some time and now Visual Studio 2015 is available. Visual Studio 2010 SP1 (bit.ly/nqzsld) is required. In addition to adding support for new HTML5 input types and attributes, the service pack also provides some updates that enable you to use the HTML5 input types on the TextBox server control. Without this update, you d see compile-time errors when using the new types. Microsoft.NET Framework 4 Reliability Update 1 (bit.ly/qog7ni) is required. This update is designed to fix a handful of problems related to using the new HTML5 input types with ASP.NET Web Forms. Preliminary support is added for HTML5 to the HTML editor so that IntelliSense and validation for HTML elements and attributes can be obtained. A complete version that brings a fuller HTML5 experience will be provided in future versions of Visual Studio. To get HTML5 support, go to Tools Options, select Text Editor HTML Validation, then select HTML5 from the dropdown. Or you can also select HTML5 from the HTML source editing toolbar (see Figure 13). To enable the toolbar while editing an HTML or Razor file, select View Toolbar HTML Source Editing. To open the Source Code in Visual Studio do the following: (Versions after 4.047.000): 1. Create new solution file in visual studio (2010 2015) with SRC folder referenced. 2. Make sure visual studio is set to run from custom server directly from C:\intepub\wwwroot folder or real IIS folder, you will get errors debugging from a temporary port, due to the serialization. See developer manual for screenshots (documentation folder) 3. click "ADD existing project" and select "ClassApps.Common" 4. Click "add existing project" and select "UnitTest" (if this project is in the source code folder in some versions it may not be present) 5. When you build, it should build all three projects together, ClassApps.Common is referenced in the bin folder of SelectSUrvey.NET. All files will display in Visual Studio, in the explorer panel on the right side RIGHT CLICK the top outer solution icon and click BUILD. The application should build with no errors. Right click the top src folder and click PUBLISH and browse to the folder C:\inetpub\wwwroot\SelectSurveyNETPrecompiled this is the compiled files which you can copy to your live application folder on your web server. The first time you click to open the web browser for the live site it will compile, which may take a minute. This only happens the first time you load the site, and each time you edit the web.config for the site it recompiles, otherwise subsequent queries will load much faster. Page 4 of 14

(Versions prior to 4.047.000): 1. Download the software zip file. Extract all files by entering the zip password. Open the SelectSurveyNET folder and browse to the Source Code folder. Copy all contents of the Source Code folder to a folder in IIS such as c:\inetpub\wwwroot\selectsurveynetsource 2. Create an alternate folder for the published files: 3. C:\Inetpub\wwwroot\SelectSurveyNETPrecompiled 4. Open Visual Studio. Click open web site from the file menu, browse to the folder C:\inetpub\wwwroot\SelectSurveyNETSource (or where you put the files) and click open. 5. All files will display in Visual Studio, in the explorer panel on the right side RIGHT CLICK the top folder and click BUILD. The application should build with no errors. Right click the top folder and click PUBLISH and browse to the folder C:\inetpub\wwwroot\SelectSurveyNETPrecompiled this is the compiled files which you can copy to your live application folder on your web server. The first time you click to open the web browser for the live site it will compile, which may take a minute. This only happens the first time you load the site, and each time you edit the web.config for the site it recompiles, otherwise subsequent queries will load much faster. Structure: The Classes folder contains all classes. The ClientInclude folder contains all javascript. The Resources folder contains all buttons, images, icons and style sheet. The UserControls folder contains the user controls for questions. Base Pages: BaseSelectSurveyNetPage.cs is inherited for all survey creation pages. BaseTakeSurveyNetPage.cs is inherited for all take survey pages. Header: CtrlSurveyControlHeader.ascx Page 5 of 14

Footer: CtrlSurveyControlFooter.ascx Master Page: Selectsurvey.master Visual Studio Setup: Page 6 of 14

Note: Select the target.net Framework version that is required by the version of software that you downloaded. i.e. v4.153.000 requires.net 4.5. Page 7 of 14

Database Model SelectSurvey.NET uses a UniDataLayer class (in the Classes folder) for data access to the supported databases: MS SQL Server MySQL Oracle Page 8 of 14

MS Access (Supported prior to version 4.048.000) This document does not contain information about the database model. The data model is discussed at length in the accompanying document, SelectSurveyNETDatabaseModel.pdf. Look and Feel Look and Feel of Surveys: Surveys use the unlimited survey template feature. You can paste in CSS stylesheets into the box provided on the edit template page in the admin interface of the application. Look and Feel of Administration Interface: SelectSurveyNET has a professionally designed user interface, with an emphasis on ease of use. Since the color scheme, navigation, header, and footer are standardized for all pages in the application, the software uses a style sheet and include files to control the look and feel. All look and feel related attributes (color, fonts, sizes, etc.) are defined in the style sheet, which is located in the Resources/StyleSheet subfolder. By making changes to this file, the entire look and feel of the software can easily be modified. The layout of each page is controlled by a UI framework, which is defined in the files: CtrlSurveyControlHeader.ascx CtrlSurveyControlFooter.ascx SelectSurvey.master By modifying these files, changes can be made on a global level to the entire application. Currently there are many built in features in the application interface that allow changing the logos, navigation text and footer without requiring any code changes. All of these things are stored in the database Changes to the navigation can be made by modifying the file CtrlSurveyControlHeader.ascx Page 9 of 14

Changes to the footer can be made by modifying the file CtrlSurveyControlFooter.ascx. Common Modifications Modifying the Application Security The software uses its own table structure to store information about all users of the application. For your own installation, you may already have a user database, and would prefer to integrate with your existing user database rather than replicate your users in the survey software. Active Directory and LDAP Integration has already been coded as an option in the application, so see the installation manual for installing in Active Directory logon mode. NTLM Pass through authentication has already been coded as an option in the application, see installation manual for configuration. Single Sign On with SQL Membership Provider has already been coded as an option in the application, see installation manual and web.config for configuration. The software uses a table called SUR_USER to hold the user information, a table called SUR_ROLE for the list of roles, and a table called SUR_USER_TO_ROLE_MAPPING to map users to roles. All references to these tables need to be updated, so a global search for these table names (particularly the SUR_USER table) will find all references to existing security. The most common situation where this arises are customers who have their own database table of users. The required changes are as follows: (it is advised to use the built in features listed above where no coding is required) Most user-related functions are located in the App_code/Classes/Users.cs file. Modify this file so that all functions return the appropriate data from the correct source. Modify the Login.aspx/cs or LoginActiveDirectory.aspx/cs file, which is the file that checks the security for each login attempt. In the file App_code/Classes/SurveySecurity.cs, there are several function related to the user s security level that will need to be modified. Finally, do a global search for SUR_USER to find all instances where the user information is reference in the application. Page 10 of 14

Running the Software under HTTPS There is a built in function in the admin tools global application settings that allows you to force the site to run in HTTPS. When this is set if a user types in a non https URL manually, it will automatically redirect to https url. You must already have a current and up to date SSL certificate installed on the server for this to work. Adding a New Item Type To add a new item type, the best place to start is to find the item type that is already in the application that is most similar to the new item type. Then, in the App_code/Classes/Constants.cs file, find the constant for the similar item, and do a global search in all of the code for instances of that constant. In short, you will need to make changes and additions in all of the places where the constant for the item to mimic appears. That being said, the overall steps to add a new item type are: Add a new entry to the SUR_ITEM_TYPE table. Modify the App_code/Classes Item.cs file to accommodate the new item type. Make sure to have the appropriate client-side JavaScript in the Item.asp file, make sure that the appropriate sections of input controls are displayed for the item, and make sure the appropriate SQL is generated to save the item on the ItemAction.asp page. Copy the file UserControls/[question type name].ascx with the closest question type, rename and modify to be the new question type. Modify TakeSurveyAction.aspx/cs to receive responses to the new question. Modify the individual and overview (and all other) reports to display data for the new item type. Modify the data export routine to accommodate responses to the new item type. Modifying Buttons and Images All of the buttons, icons, and images used in the application are located under the Resources subfolder. You can easily modify any of these graphics by replacing the files already in these folders. All icons are font-awesome fonts (https://fortawesome.github.io/font-awesome/cheatsheet/), to allow for faster page loading. To assist in modifying buttons, the PSD files for all buttons used in the survey application are located in the Documentation/Manuals subfolder in a file called, SelectSurveyASPAdvancedButtonSources.zip. When making new buttons, note that all buttons with the word Small just before the.gif extension are short buttons, and all other buttons are full height buttons. For both types of buttons, note that the widths of the buttons vary. Page 11 of 14

Note that CSS buttons are/can be used instead of graphical image buttons in survey templates. Click edit template in the survey administration area after clicking Templates from the main top bar navigation and paste in the CSS text into the box provided to edit/create new survey look and feel templates. Increasing the Length of the Answer Fields Newer versions: No code change required, click to edit the question item through the survey interface and set the field width there through the interface. Older versions: Two changes are required to increase the length of answer fields for checkboxes, option buttons, dropdowns, etc. To do this, edit the App_code/ UserControls/[question type name].ascx/cs file for the particular question to set the maxlength field. Second, the length of the field in the database needs to be updated to the same value. In the SUR_ITEM_ANSWER table, update the length of the ANSWER_TEXT column to the same width. Translating into a Foreign Language SelectSurvey.NET contains admin tools which allow you to translate and type in javascript and other dynamic text into each language available on the survey options page. To do this click the Admin Tools icon that looks like a tool in upper right corner of the navigation when logged in as admin. If the icon is not displaying, turn on the visibility in the web.config by setting Show admin tools=yes. On the admin tools page, scroll down to the Globalization and multi-language options section. Click either of the links there to translate text in the application. After you are finished setting the translated text, then set the language on the survey from the survey options page. If you need to create custom buttons, the buttons sources are in the Documentation/Manuals subfolder in a file called, SelectSurveyASPAdvancedButtonSources.zip and those buttons can be referenced from the Survey template. You can create a survey template for each language. Page 12 of 14

Integrating with an Existing Database When using MS SQL Server as the database, many developers would prefer to have the tables in an existing database rather than create a new database solely for the survey application. For this reason, all tables in the application have a prefix of SUR_ in order to make them easy to find and have them group together within another database. Once the tables are installed in the database, you should create a separate database user that only has permissions set for these tables. Then, connect to the database as you would any other database, and make sure to use this new user in the connection. Ajax Control Toolkit Versions v4.069.000 and later utilize the open source Ajax Control Toolkit for ipad and touch and smartphone question types. There is a.net 3.5 and a.net 4.0 version of the toolkit. At v4.069.000 we are using the 3.5 version so that all clients are supported. Later versions are using.net 4.0 or later. Information and to download the ajax control toolkit can be found here: http://www.asp.net/ajaxlibrary/act.ashx To install the Ajax Control Toolkit into the Visual Studio Toolbox: 1. Download the Ajax Control Toolkit from link on this page for.net 3.5 http://www.asp.net/ajaxlibrary/act.ashx Download the binary version and not the source version. 2. Unblock and extract the files from the zip file 3. Launch visual studio and create a new ASP.NET website. 4. Open default.aspx in the visual studio editor. 5. Right click the toolbox in the left panel and select Add Tab. Name the new tab Ajax Control Toolkit 6. Right-click beneath the new tab and select the menu option Choose Items. 7. Click the Browse button and browse to the folder where you extracted the Ajax Control Toolkit. Pick the AjaxControlToolkit.dll and click OK button to close the Choose Toolbox Items dialog. The Ajax Control Toolkit should show up in the toolbox. Close the solution and go back to your survey solution. Visual Studio Structure Below is an example of how the projects appear in Visual Studio. Page 13 of 14

The App_Code folder contains the class files for business logic layer. The Common/Data folder contain the data layer. Page 14 of 14