Extending Quickr and building custom applications
Upcoming SlideShare
Loading in...5
×
 

Extending Quickr and building custom applications

on

  • 1,914 views

Great introduction to customising Lotus Quickr 8.2 for Domino....

Great introduction to customising Lotus Quickr 8.2 for Domino.

Originally taken from the Quickr wiki at http://www-10.lotus.com/ldd/lqwiki.nsf/dx/quickr-domino-8.2-masterclass-brandingcustomizationtemplate-development-for-quickr-

Statistics

Views

Total Views
1,914
Views on SlideShare
1,904
Embed Views
10

Actions

Likes
0
Downloads
61
Comments
0

1 Embed 10

http://www.slideshare.net 10

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Extending Quickr and building custom applications Extending Quickr and building custom applications Presentation Transcript

  • Extending Quickr and Building Custom Applications (part 1) Quickr Domino – Master Class
  • Agenda
    • Quickr Domino Customization Overview and Basic Customization
    • Quickr Domino Forms Customization
    • Quickr Domino Theme Customization
    • Quickr Domino Customization with PlaceBot
    • Quickr Domino Template Customization
    • Customization Example and Demo
    • Q&A
  • Technical Users Developers Business Users … little or no technical skills but lots of domain knowledge … some technical skills in things like visual basic, javascript, html – and some domain knowledge … deep technical skills in Java, C++, C#, .net. … – usually little domain knowledge worker worker users woman2 worker woman1 woman1 woman1 users woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1
  • Technical Users Developers Business Users
    • Logo and theme selection
    • Simple, custom forms with workflow
    • Creation of Place templates
    • Custom Themes
    • Agents and PlaceBots
    • Event Hooks
    • Rest Interfaces
    • Quickplace Object Model
    • Full access to Domino programming model
    worker worker users woman2 worker woman1 woman1 woman1 users woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1 woman2 worker woman1
  • Quickr Domino Customization Overview and Basic Customization (1)
    • What can you customize in Lotus Quickr
      • Change existing place objects or create new place objects with Lotus Notes and Domino Designer
      • Browser-based customization including Form, logo ….
      • Customize the look and layout of places to make them fit your enterprise.
      • Perform a wide variety of actions on places using XML to access the Lotus Quickr Java™ API .
      • Hook Quickr Commands with customized logic written in C or C++.
      • Automate certain tasks in places by writing agents, called PlaceBots , which run in places.
      • Use an existing place as a template , called a PlaceType, with which you can create new places containing the same characteristics and customizations.
      • Customize with Quickr remote services API ( SOAP/REST )
  • Quickr Domino Customization Overview and Basic Customization (2)
    • Lotus Quickr Architecture Overview
      • Quickr uses the Domino data structures and is implemented using core Domino technologies. See the relations between Quickr objects and Domino objects below:
  • Quickr Domino Customization Overview and Basic Customization (3)
    • Lotus Quickr Directory Structure:
      • < Domino>dataLotusQuickrAreaTypes : Templates for places and rooms
      • < Domino>dataLotusQuickrlotusquickr : Administration place files
      • < Domino>dataLotusQuickr<place> : Contains the files for a certain place
        • The place database (main.nsf)- The place database is the parent database in any place. All other databases in the place are children of the place database.
        • The Members Directory database (Contacts1.nsf) - Each place has a Members Directory database.
        • A room database (PagelibraryXXX.nsf)- A room database structures the contents of a particular room in a place. It is optional for places that have sub-room.
      • < Domino>datadominohtmlqphtml : Contains CSS, Images and Javascript for theme support
  • Quickr Domino Customization Overview and Basic Customization (4)
    • Basic Customization :
  • Quickr Domino Customization Overview and Basic Customization (5)
    • Place logo:
  • Quickr Domino Customization Overview and Basic Customization (6)
    • Graphics Server:
      • Quickr includes a graphics engine that can be used to generate many graphics effects on text and images on the fly through the use of URL commands.
      • Numerous URL parameters for flexibility
      • It’s a very powerful feature which allows you to create advanced graphic images
      • Images are created using a URL syntax consisting of the “?GetImage” call together with different parameters.
      • Example:
      • <img scr=”http://yourserver/yourdatabase?GetImage&TextString=Master+Class&EffectType=Shadow&FontColor=ff0000&&Animation=fadein”>
  • Agenda
    • Quickr Domino Customization Overview and Basic Customization
    • Quickr Domino Forms Customization
    • Quickr Domino Theme Customization
    • Quickr Domino Customization with PlaceBot
    • Quickr Domino Template Customization
    • Customization Example and Demo
    • Q&A
  • Quickr Domino Forms Customization (1)
    • Form Basics
      • Forms consist of:
        • Input fields
        • Workflow
        • Metadata
      • Forms are used for collecting data from users.
      • All custom forms will be displayed in document create list.
      • Three Form types:
        • Simple Form
        • Microsoft Office Form
        • Imported HTML Form
  • Quickr Domino Forms Customization (2)
    • Simple Form.
      • Add standard Quickr fields to this form such as plain or rich text, attachments, date popup, task information, etc.
      • Assign a workflow to this form.
      • Enable/disable version control in this form.
      • Choose publish folder
  • Quickr Domino Forms Customization (3)
    • Simple Form. (Cont.)
  • Quickr Domino Forms Customization (4)
    • Microsoft Office Form.
      • Use a Microsoft Word, Excel, or PowerPoint document as a template for new content.
  • Quickr Domino Forms Customization (5)
    • Imported HTML Form.
      • Create a form using your own HTML.
      • You can use all HTML form elements, such as Input, Textarea, Checkbox, Radio Button and so on.
      • Two Quickr controls:
        • <QUICKPLACECONTROL type=&quot;attachment&quot; name=&quot;attachment&quot;>
        • <QUICKPLACECONTROL type=&quot;richtext&quot; name=&quot;richtext&quot;>
      • Two Javascript callback functions:
        • QDK_HTMLForm_OnLoadHandlerCallback
        • QDK_HTMLForm_OnSubmitHandlerCallback
  • Quickr Domino Forms Customization (6)
    • Imported HTML Form. (Cont.)
  • Agenda
    • Quickr Domino Customization Overview and Basic Customization
    • Quickr Domino Forms Customization
    • Quickr Domino Theme Customization
    • Quickr Domino Customization with PlaceBot
    • Quickr Domino Template Customization
    • Customization Example and Demo
    • Q&A
  • Quickr Domino Theme Customization (1)
    • Quickr Theme Basics
      • A Quickr Theme controls the look and the layout of a Quickr, its fonts and background colors ; how an element looks when it is selected; where the navigational controls appear; and so on.
      • Themes are collections of HTML, JavaScript, image and CSS files that collectively define the look, feel, and sometimes functionality of a Quickr
      • Files are stored in main.nsf as “Skin Groups”
  • Quickr Domino Theme Customization (2)
    • Page Structure of the Theme
  • Quickr Domino Theme Customization (3)
    • What makes up a custom theme?
  • Quickr Domino Theme Customization (4) MyPlaces lotusFooter TOC Tools DragAndDrop Page Content Path pageTitle folder navigator pageNavBar Serach Actions
    • Components in a List Folder layout
  • Quickr Domino Theme Customization (5)
    • New Features of the Quickr 8.1 Theme
      • Derived from new, cross-product Web client design, that will eventually be common to most IBM Lotus Web clients, like IBM Lotus Connections.
      • Makes use of Web services, REST APIs, Dojo widgets and AJAX techniques for greater responsiveness.
        • In listfolder.htm specifically.
      • New Member Management UI for place managers & owners
      • First steps toward client side localization (CSS and strings)
        • Need to enable “Java servlet support” on Domino server.
      • Default standard and main place themes may be modified and extended on the server
        • Support for JavaScript extensions
      • Full 8.1 user experience available only in the Quickr theme
  • Quickr Domino Theme Customization (6)
    • Files Comprising the Quickr 8.1 Theme
  • Quickr Domino Theme Customization (7)
    • Change the branding:
      • The name of the standard logo file is logo.gif, which is located in qphtml/skins/common/images
      • Two ways to change the branding:
        • Just replace that file with your own
        • In each of the five layout HTML files, replace the line below:
        • <img id=&quot;lotusLogo&quot; alt=&quot;Lotus Software&quot; src=&quot;/qphtml/skins/common/images/logo.gif&quot;/>
        • with this:
        • <img id=&quot;lotusLogo&quot; alt=“Your Company&quot; src=“company_logo.gif&quot;/>
  • Quickr Domino Theme Customization (8)
    • Best Practices for Quickr 8.1 Theme Customization
      • Approach #1: Create a custom theme
        • Steps:
          • Obtain the five 8.1 theme HTML files from the server.
          • If custom CSS is needed, put it in stylesheet.css, upload it, and add one line below to all HTML files:
            • <link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;stylesheet.css&quot; />
          • If custom JavaScript is needed, put it in Quickr81Custom.js, put that file in the same directory as your HTML files, and add the following lines to all of them:
            • <img src=&quot;Quickr81Custom.js&quot; style=&quot;display:none&quot;/>
            • <script type=&quot;text/javascript&quot; src=&quot;$FILE/Quickr81Custom.js&quot;></script>
          • Upload the five HTML files via the Custom Themes UI using IE with Active X
        • Advantages:
          • The customized place can be used as the basis for a template (place type).
          • Any place manager/owner can do this; no access to server's file system needed.
          • Done completely from the client machine, all files uploaded via Web UI.
        • Disadvantages:
          • Customizations affect only the place that’s changed.
          • Universal customizations (e.g., all places having the company look) require the Quickr admin to enforce creation of places from “approved” template(s) only.
  • Quickr Domino Theme Customization (9)
    • Best Practices for Quickr 8.1 Theme Customization (Cont.)
      • Approach #2: Modify and extend the standard theme on the server
        • Requires solid JavaScript and/or CSS skills.
        • Use Quickr81_ext.js to do any or all of the following:
          • Replace the default style sheet
          • Load additional style sheet(s)
          • Extend or modify the behavior of dynamic elements (e.g., menus)
          • Add elements to, manipulate, or remove elements from the page
        • Advantages:
          • Customizations will be applied to all places regardless of creation time.
          • This method can also be used to customize the “Main” (a.k.a. “My Places”) place!
        • Disadvantages:
          • Global customizations may not be acceptable in all places.
          • May be useful only when changes to the page layout HTML are not needed (because this approach does not affect the HTML files).
  • Quickr Domino Theme Customization (10)
    • General Tips and Precautions for Quickr 8.1 Theme Customization
      • The Quickr 8.1 theme is different from older themes, using updated technologies and an updated code base to deliver an enhanced user experience. .
      • Quickr81_ext.js is the JavaScript extension entrance, you can add your code to manipulate all page elements here. It does not exist by default, you need to create one under qphtml/skins/quickr81/scripts.
      • Do not recommend customizing Quickr81.css and Quickr81.js directly, because it will affect all places on the server, and can cause problems after upgrade
  • Agenda
    • Quickr Domino Customization Overview and Basic Customization
    • Quickr Domino Forms Customization
    • Quickr Domino Theme Customization
    • Quickr Domino Customization with PlaceBot
    • Quickr Domino Template Customization
    • Customization Example and Demo
    • Q&A
  • Quickr Domino Customization with PlaceBot (1)
    • A PlaceBot is a Domino agent, written either in Java or LotusScript, that automates a task.
    • Using a PlaceBot, you can access, process, and manage the data in a Place.
    • You can create a PlaceBot that runs when a Form is submitted, or on a scheduled basis. You can also run a PlaceBot manually.
      • Scheduled
        • Monthly, Weekly, Daily or Minutes Interval
        • Act on all docs or new/modified docs
        • Optionally act on docs in specific folder
        • Optionally specify start/end dates, enable/disable
        • Run with the rights of the Quickr Manager.
      • Form
        • Runs when page based on “system” or custom forms is published
        • Processed by the Web Server task
        • Run with the rights of the current user.
  • Quickr Domino Customization with PlaceBot (2)
    • Development is similar to Domino agent development.
    • Need to be familiar with Quickr elements and fields
    • Server does compilation and notifies of compilation errors
    • Agent design doc can be inspected with Designer
    • Quickr may be rendered inoperable by a badly coded PlaceBot.
    • Form PlaceBots do run in offline, but scheduled PlaceBots do not run in offline
    • Quickr Admin controls whether PlaceBots are enabled
  • Quickr Domino Customization with PlaceBot (3)
    • Java PlaceBots
      • Accept files of type .java, .class, .jar
      • A Java PlaceBot file must contain a class that extends the Domino Java agent class AgentBase.
      • The entry point to the functional code must be public void NotesMain().
    • LotusScript PlaceBots
      • Creating PlaceBots using LotusScript is essentially the same as writing an agent for a Domino application.
      • Accept single file of type .lss
  • Quickr Domino Customization with PlaceBot (4)
    • Quickr Admin controls whether PlaceBots are enabled
      • Affects all Quickr places on server
      • Control is in “Server Settings” - “Other Options”, it’s enabled by default
  • Quickr Domino Customization with PlaceBot (5)
    • PlaceBot Log
      • The log displays information from the last time the PlaceBot ran and any statements you may have logged from your PlaceBot.
      • May be used as a debugging tool.
      • Useful to see when a PlaceBot last ran.
    • Performance considerations
      • Scheduled PlaceBots
        • Stay away from short intervals
      • Form PlaceBots
        • Use conservatively as compiled code have to be loaded/verified each time
  • Agenda
    • Quickr Domino Customization Overview and Basic Customization
    • Quickr Domino Forms Customization
    • Quickr Domino Theme Customization
    • Quickr Domino Customization with PlaceBot
    • Quickr Domino Template Customization
    • Customization Example and Demo
    • Q&A
  • Quickr Domino Template Customization (1)
    • Template are blueprints to create Lotus Quickr places from and are like Domino templates. Useful places can be enabled to serve as models for new places.
    • There are two steps to make a place available as a Template:
      • Place owner creates a place and allows it to be a template with options shown below
      • Lotus Quickr administrator creates the template based on the previous place
    • Note – New places are created from templates and can’t be switched to different template.
  • Quickr Domino Template Customization (2)
  • Quickr Domino Template Customization (3)
  • Quickr Domino Template Customization (4)
    • All template files will be placed into <Domino>dataLotusQuickrAreaTypes
    • SNAPPS is the official IBM Design Partner for Lotus Quickr. You can get FREE templates from SNAPPS: http:// www.snapps.com /
      • QActivities: Activities Integration, Web 2.0 Theme
      • QAnnounce: Corporate Communications Management
      • QContacts: Contact Management
      • QProject: Project Management
      • QIdeas: Ideas and Innovation
      • QIssues: Issues Escalation, Workflow and Management
      • QMeeting: Meeting and Agenda Management
      • QPhotos: Image Repository
      • QPresent: Collaborative Presentation Development
      • QSurvey: Dynamic Surveys
      • QSite: All-In-One, plus a Blog and Wiki
    • Note – Look at SNAPPS templates as learning examples and starting points – not recommended for production.
  • Agenda
    • Quickr Domino Customization Overview and Basic Customization
    • Quickr Domino Forms Customization
    • Quickr Domino Theme Customization
    • Quickr Domino Customization with PlaceBot
    • Quickr Domino Template Customization
    • Customization Example – Customer Relationship Template
    • Q&A
  • Customization Example – Customer Relationship Template
  • Reference
    • Lotus Quickr Wiki
      • http://www-10.lotus.com/ldd/lqwiki.nsf
    • Lotus Quickr 8.1 Information Center
      • http://publib.boulder.ibm.com/infocenter/lqkrhelp/v8r0/index.jsp
    • Customizing Quickplace Redbook
      • http://www.redbooks.ibm.com/redbooks/pdfs/sg246000.pdf
    • White Paper on Lotus Quickr 8.1 Theme Customization
      • http://www.ibm.com/developerworks/lotus/documentation/quickr/d-ls-quickrthemes
    • Lotus Quickr Forum
      • http://www-10.lotus.com/ldd/quickplace.nsf
  •