live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: CampusEAI QuickLaunch 2 a highly configurable, script driven, application launch and SSO service
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: QuickLaunch 2 Overview Two main application components An administration interface. A RESTful client API. The internal design of the application was done as an encapsulation of the well known Model-View-Controller design pattern.
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Finding QuickLaunch Admin Page Login to portal as “portaladmin” account Navigate to:
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Script, View, Controller Most applications will have four (4) elements 1.Application Definition 2.Controller Definition 3.View Definition 4.Script Definition
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Script Definition Script Definition: the core customizable execution component of the application. Able to create your own scripts using one of the supported scripting languages Groovy Javascript Jruby Rhino JS Each single Script Definition can be used by multiple Controllers.
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Create New Script Definition Navigate to QuickLaunch home (domain.edu/QuickLaunch/admin) Click “Create new script definition “
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Script Definition 1.) Select Scripting Language Groovy Javascript JRuby Rhino JS 2.) Description Acts as identifier (name) for Script Definition 3.) Script Write or paste in script using language selected in step 1.
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Sample Script Definition Sample Javascript (on right) stores “username” and “password” attributes to be used in View Definition Download Sample Script Can also store properties or prompts created in Application Definition by using: getProperties().get(“property”); (more on this later) function execute(request, response) { response.addAttribute("username",request.getCredentials().getPrincipalId()); response.addAttribute("password",request. getCredentials().getCredentials()); var property_name = request.getProperties().get(“property"); }
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Browse / Edit Existing Script Definitions Click “List all Script Definitions”
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Edit Existing Script Click icon to edit existing script definition
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Saving Changes to Script Definition On this screen you can update: Script Language Description (name that displays on browse script list) Script When finished editing, click “UPDATE” button
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: View Existing Script Definition Click icon to view existing script definition
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: View Existing Script Definition Shows which controller definitions this script is associated with (top) Allows you to view or edit Controller Definition Shows the details of the script definition in plain text (not editable) Script Language Description Script
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: View Definition the View Definition enables you to create template (Freemarker) based views which are then in turn used to easily simulate/replay HTML form submissions.Freemarker Attributes defined in the Script definition can be called in the view using ${attribute}
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: View Definition 1.) Select View Language FreemarkerFreemarker – choose this Velocity (not supported yet) 2.) Description Shows as identifier in the list of script definitions 3.) Script Freemarker code to display / execute when application is launched
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Sample View Definition Script ${username} and ${password} are used to populate the and password values of this login form Download sample script definition
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Controller Definition The re-usable Controller Definition allows you to mix and match (either or both) Script and View Definitions Application Definition instances can be defined with a separate custom "Login" and/or "Logout" controller.
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Controller Definition 1.) Controller Name Identifies the controller 2.) Description Describe functionality of controller 3.) Script Definition Select Script Definition from drop down 4.) View Definition Select View Definition from drop down
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Application Definition the Application Definition represents the final “launch-able” entity. It brings together various other (potentially re-usable) components to produce a unique custom application abstraction. It is the primary construct used by client applications when interacting with Quick Launch services. An Application Definition can contain any number of custom defined properties (in the form of key/value pairs). The Application Definition can be configured to prompt users, at launch time, for any number of data items. Produces unique URL to launch application definition from nearly anywhere on the portal
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Create Application Definition 1.) Name Title you give app, shows as title in application list 2.) Description: Text that shows up when you hover over app icon 3.) Selector Area where you can define which category, role, and target to set (more later).
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Create Application Definition 4.) Icon URL Location of the icon image for the application. Stored in image gallery 5.) Login Controller Select login controller created previously 6.) Logout Controller Select logout controller created previously 7.) Active Allows this app to be accessed in myCampus
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: List All Application Definitions Click “List all Application Definitions”
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: ) Active Shows whether or not application is launchable 2.) Icon Preview of application icon 3.) Name “Name” field specified in application definition 4.) Description “Description” field in application definition. Shows as tool tip message when viewed from categories portlet List Application Definition
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: ) Login Shows whether there is a login controller defined 6.) Logout Shows whether there is a logout controller defined 7.) View Application Definition Click to view input for application definition Shows green button at bottom to launch application Add prompts and properties List Application Definition
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: ) Edit Application Click to edit the application Name, Description, Selector, Icon, Controller 9.) Delete Deletes application definition from the list Does not delete controller, script, or view definitions associated with it 10.) Add New Click to create new application definition List Application Definition
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: View Application Details 1.) Properties Click to add properties Create a prompt name and value. Callable in Script Definition 2.) Prompts Click to add a prompt 3.) Launch Application Green Launch application button. Launches your application and provides URL to use elsewhere domain.org/QuickLaunch/api/launch/10
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Property Properties A property is a value you can set in the application definition as custom defined properties (in the form of key/value pairs). You can later call out this property in the script definition as: getProperties().get(propName) View Application Details
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Property 1.) Name Name of property, is the name you would call out in Script Definition. Example name: LoginURL 2.) Value The value that you would like to input for this property. Example Value: View Application Details
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Create a Prompt 1.) Name Name of prompt, name you would call out in Script Definition getProperties().get(name) What appears as title of prompt text box Ex. Password 2.) Description What appears in Application Definition list
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Create a Prompt 3.) Help Text Text viewable below the description for each Ex. “Please enter your FamNetID” 4.) Icon for Prompt Icon that displays next to the text box for each prompt 5.) Display Order Allows you to order the prompts to show in the desired order.
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Create a Prompt 6.) Validation RegEx Define regular expression validation 7.) Password Field Check this box if the prompt is for a password, this will hide characters type into the box 8.) Persisted Value Check this box if you would like the input of this box encrypted and stored into the database for future use Users wont be prompted again
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Use a Prompt Prompt Post launching the URL for an application containing a prompt, you will be directed to a screen like this. This asks for the field you specified under “Name” on the previous screen
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: Using QuickLaunch You can use QuicLaunch apps in several locations 1.) QuickLaunch Categories Portlet Displays apps in categories as icons 2.) In an iFrame / web content Displays application on the same page within a portlet 3.) Simple href Opens the QuickLaunch application in a separate window
live. learn. work. play Superior Avenue Suite 310 Cleveland Ohio Tel: Fax: More QuickLaunch 2 Resources Video Hello World Example Documentation – QuickLaunch 2 Wiki Entry QuickLaunch 2 Wiki Entry – QuickLaunch 2 Instillation Guide QuickLaunch 2 Instillation Guide – Sample GroupWise SSO Sample GroupWise SSO – Sample Datatel WebAdvisor SSO Sample Datatel WebAdvisor SSO – Sample MS Exchange SSO Sample MS Exchange SSO