DDive11 - Quickr HowTo

download DDive11 - Quickr HowTo

If you can't read please download the document

Transcript of DDive11 - Quickr HowTo

Diapositiva 1

QUICKR : HOWTO ?!?

Una piccola guida su come fare alcune cose interessanti !

Change with your picture, add a 4pt border color 255,204,0

Cambia con la tua foto, aggiungi un bordo spesso 4pt colore 255,204,0 Please make sure that your slide deck renders fine in Lotus Symphony

Per favore controlla che le tue slide si vedano bene con Lotus Symphony

Vittorio Foschi

Ancora per poco 39 anni

Nato a Cervia (RA)

Mi occupo di progettazione vendita ed assistenza alla vendita

Lavoro per Technacy srl

[email protected]

Skype : vittoriofoschi

Di cosa vi parler ?

L'installazione di quickr

Un po' di settings non guastano mai

Vediamo come fatto dentro quickr

Start : Developing !!!

Live Demo

Optional Speech agenda

agenda della sessione opzionale

Installiamo Quickr

Single server

Cluster

Expanded

Installiamo Quickr

Installiamo Quickr

Utente QPADMIN

Se non vi ricordate l'utente inserito guardate nel notes.ini ( QuickPlaceAdmin = )

Se non vi ricordate la password dell'utente QPADMIN IBM Technote # 1296289

Installiamo Quickr

Check Servlet Engine is enabled

Enable SSO

Custom Login Form ...

Installiamo Quickr

Creare il database domcfg.nsf

Ereditare le impostazioni da domcfg.ntf

Un po' di cose da sapere

Offline settings for notes.iniThese settings are for those who wish for more detailed options for offline users.

$DOLS_TCPIPAddress=1 Used to configure a cluster that uses the IBM Network Dispatcher to workwith Domino Off-Line Services. A value of 0 (zero) disables this setting.

CheckCacheBeforeDSAPI=1Enables authentication to work for offline users. A value of 0 (zero) disables this setting.

EXTMGR_ADDINS=dependent on operating system On Windows: ndolextnOn AIX: libdolextnEnables Domino Off-Line Services to work with Lotus Quickr.

NoWebFileSystemACLS=1If you use Sun Java System Portal Server with IBM Lotus Quickr as a reverse proxy, use this notes.ini setting to prevent users from having to re-authenticate after installing places offline. A value of 0 (zero) disables this setting.

Un po' di cose da sapere

Web page cache settings for notes.iniIf performance tuning is of your interest, these settings will enhance the user experience:

QuickPlaceWebCacheDir==Sets the cache directory where is the full file path name of the directory. If this variable is omitted from your servers notes.ini, the server cache is automatically set to the default directory \\ data\\cache.

QuickPlaceWebCacheEnabled=1 Disables or enables the cache. A value of 0 (zero) disables this setting.

QuickPlaceWebCacheGCIntervalInMIN= Sets the time interval for cache cleaning.

QuickPlaceWebCacheLimitInMB=Sets the cache size limit. This variable sets the cache size limit in megabytes. If you enter a number of zero or less (or omit the variable from your notes. inifile), the cache size limit defaults to 50 MB.

QuickPlaceWebCacheLogging=Sets the cache logging level, which determines how detailed log messages will be. Acceptable values are 1, 2, or 3; where 1 is the least detailed and 3 is the most detailed.

QuickPlaceWebCacheUsers=Defines which users will be affected by caching. By default, server caching applies to all users when the cache is enabled. To set the cache for anonymous users only, enter QuickPlaceWebCacheUsers= Anonymous.

Un po' di cose da sapere

Other settings for notes.iniThese settings can assist with e-mail generation, setup details, and other items of general usage for the Quickr server: $h_MailDomain=mydomain.comSpecifies the domain of the server that hosts the place to which Quickr routes replies to e-mail generated from places. Combined with the next setting "h_Undelivmail" defines the name used for Quickr generated e-mails for newsletters. h_UndelivMail=QuickrPlacenameSpecifies the place to which Lotus Quickr routes replies to e-mail generated from places. Combined with the previous setting $h_MailDomain defines the name used for Quickr place generated e-mails for newsletters. h_ScopeURLinQP=1 Enables image caching in environments that do not use single sign-onauthentication. A value of 0 (zero) disables this setting. NoWebFileSystemACLsPrevents anonymous access to files in the HTML directory and is a part of setting up single sign-on authentication. Also, if you use Sun Java System Portal Server with IBM Lotus Quickr as a reverse proxy, use this notes.ini setting to prevent users from having to re-authenticate after installing places offline. A value of 0 (zero) disables this setting. PLATFORM_CSID=hhh Where hhh is a hex number that represents the codepage. Required on UNIXservers to support names in a user directory that contain accented characters. QuickPlaceExpireCachedUsers= Specifies the length of time user entries remain in the user cache. QuickPlaceExtensionManagerAllowServers=1Gives a Domain Catalog server the access to index the places on a Lotus Quickr server that uses the Search Places feature and Off-Line Services. A value of 0 (zero) disables this setting.

Un po' di cose da sapere

Other settings for notes.iniThese settings can assist with e-mail generation, setup details, and other items of general usage for the Quickr server: QuickPlaceMaxCachedUsers= Specifies the maximum number of users allowed in the user cache. QuickPlaceNestedGroupLimit=Controls how deep LDAP queries are performed to return groups nested in other groups. For example QuickPlaceNestedGroupLimit=1 limits lookups to 1 nested group instead of the default 8. QuickPlaceUpgradeServerOnStartup=1 Controls whether a server is upgraded on startup. A value of 0 (zero)disables this setting. HTTPAllowDecodedUrlPercent=1Ensures that an uploaded document or a page attachment whose name includes a special character can be previewed. A name that includes a special character has to be encoded, which introduces the percent sign (%) in the URL. Special characters that need to be encoded can include but are not limited to:Dollar ("$") Ampersand ("&") Plus ("+") Comma (",") Forward slash/Virgule ("/") Colon (":") Semi-colon (";")

Windows: extmgr_addins=nqpcmextmgr, AIX: extmgr_ addins=libqpcmextmgr_r.a, Linux: extmgr_addins=libqpcmextmgr.soEnables AdminP task to work on the Quickr for Domino server. Needs to be added manually to the notes.ini file

Un po' di cose da sapere

Client logging notes.ini settingsEnhanced troubleshooting and debug code can be set with the following options:

$h_DebugEnables the browser to display detailed messages about JavaScript errors that occur on the client, instead of the general Lotus Quickr message, "Unable to process your request at this time".

$h_ClientDebugConsoleDisplays a console log on all clients that access the Lotus Quickr server. For Internet Explorer, the console log is an additional browser window and for other browsers the console log is the JRE Java log console. Use this setting on a temporary basis to help IBM Support troubleshoot specific client-side problems.

$h_ExceptionDetail=1Adds the source code name and line number from which errors and warnings are generated to the error and warning messages that the server sends to the browser. Use this setting on a temporary basis to help IBM Support troubleshoot a problem.: Document preview generation logging

Un po' di cose da sapere

Server logging settings for notes.iniA Domino server log is the place where you can see everything that happens and track it properly. If so, then you will need to take advantage of the following options.

QuickPlaceArchiveLogging: Archive tool logging.QuickPlaceAuthenticationLogging: Authentication logging for authentication events, failures, successes, group expansion, and names list generation.QuickPlaceCalendarSubscriptionLogging: Calendar event logging. QuickPlaceCompressionLogging: Page compression logging.QuickPlaceDbCommandPerformanceLogging: Server command performance logging.QuickPlaceExtensionManagerIfLogging: Offline place installation logging.QuickPlaceHTTPInterfaceLogging: Lotus Quickr and IBM Lotus Domino HTTP interaction logging. It is useful primarily as a first step toward isolating user authentication problems or problems related to the interaction between Lotus Quickr and Lotus Domino. Use with other logging settings, for example, QuickPlaceAuthenticationLoggingit provides a clearer picture of URL processing.QuickPlaceJavaLogging: Java Debug logging.QuickPlaceJavaServerLogging: Java Server logging.QuickPlaceJniLogging: Java Native Interface (JNI) to C++ layer logging.QuickPlaceJvmLogging: Java Virtual Machine logging.QuickPlaceLargePOSTLogging: Large uploads logging.QuickPlaceLockLogging: Place Lock tool logging.iewLogging: Document preview generation logging

Un po' di cose da sapere

QuickpPlaceLtpaLogging: LTPA logging when Lotus Domino controls directory services.QuickPlaceMailLogging: Lotus Quickr e-mail process logging.QuickPlaceMembershipModelLogging: Expanded membership logging.QuickPlaceMyPlacesLogging: My Places logging.QuickPlaceQOMLogging: Object model logging.QuickPlaceObjectPoolLogging: ObjectPool Memory management for PlaceCatalog logging.QuickPlacePerformanceLogging: Performance data collector logging.QuickPlacePlaceCatalogLogging: Place Catalog logging.QuickPlacePlaceCatalogQueryLogging: Queries into Place Catalog logging; use level 4 to include more details QuickPlacePlaceTypeCentralRefreshLogging: PlaceType refresh logging. QuickPlaceSearchPlacesLogging: Search across places logging. QuickPlaceSpellCheckEngineLogging: Spell checker engine logging. QuickPlaceStyleSheetAttributeCmdLogging: Style sheetprocessing logging.QuickPlaceStubMakerLogging: Stub creator logging for Lotus Quickr cluster support.QuickPlaceToolLogging: Qptool logging.QuickPlaceUpgradeLogging: Upgrade logging (upgrade places).QuickPlaceUserCacheLogging: User cache parameter logging.QuickPlaceUserDirectoryLogging: User directory logging .QuickPlaceWebCacheLogging: Web caching logging (caches pages sent to browser).QuickPlacePlaceStatisticsLogging: Place statistics logging. QuickPlaceNSFLogging: NSF database logging. QuickPlaceDocumentLogging: Document-level logging QuickPlaceLDAPLogging: LDAP loggingQuickPlacePreviewLogging: Document preview generation logging

Un po' di cose da sapere

QPCONFIG.XML

presente un QPCONFIG_SAMPLE.XML da cui prendere spunto

E molto ben documentato

Come installare i fixpack?

Avere nella PATH la directory in cui sono installati i programmi di Lotus Domino

Verificare di avere una versione di Java superiore alla 1.5

Posizionarsi nella directory jvm\lib\ext presente all'interno della directory dei programmi di Lotus Domino

Lanciare il file jar scaricato con il FixPack con il comando java -jar

Come installare i fixpack?

Come fatto Quickr

Quickr nella versione 8.5 ha cambiato radicalmente modalit operative

Tutto si basa su dei Widgets Dojo

I temi di quickr altro non sono che del semplice codice HTML per i Widgets

Quickr usa il framewrok dojo DIJIT

Il server fornisce solo i dati , il client controlla l'aspetto e la logica applicativa

Quickr e i TEMI !

File che compongono un tema quickr :

Stylesheet

Page :

Edit :

Folder :

Quickr e i TEMI !

Switch to live !

view.tocview.checkEntrymisc.dateformatterpeople.name

view.downloadlinkmisc.eventlinkview.dynamicrowgeneratorview.library

actionbar.folderactionbarmisc.footermenu.placeactionsmenuview.controls.itemsperpageview.controls.prevpageview.controls.nextpageUn po' di cose da sapere

I Widgets ...

Esistono in quickr 4 tipologie di widgets

Widgets che leggono dati dal server domino

Widgets che utilizzano fogli XSL per trasformare i dati

I Widgets ...

I Widgets generano i componenti UI di quickr e lo fanno a runtime sul client.

I Widgets sono simili ai compenti Skin della 8.2 ma gli SKIN venivano generati sul server e al client arrivava il javascript o l'html

Page.htm , file che fa parte di una themes , pu utilizzare Widgets e Skin

In Quickr 8.5 sono disponibili solo una parte degli SKIN

I Widgets ...

In principio erano skin ...

Ora ...

Struttura file/directory

Base widgets for most Quickr widgets

Loads q_base data from server into q_BaseLoader object.

Controller widget for all page content (pages and views).

Base model widget for requesting data from server.

Controller widget for all popups and modal dialogs (lightboxes).

Widgets for rendering action button bars (folders, pages)

Utility classes (not widgets), e.g., q_GeneralUtils, q_LocaleUtils

Calendar widget code.

Lists and ECM integration

Member Picker, user name related widgets, etc.

Widget registry configuration.

Menu widgets (context and drop-down).

View (Library, Tabbed, Slide Show, etc.) and view control widgets.

Lightboxes

Page (Page, Upload, Imported, Link, etc.) and page field widgets.

My first widget

widgetRegistryConfig_ext.js\data\domino\html\qphtml\widgets\resources

Posso :Registrare nuovi moduli/widgets

Sostituire un widgets sempre

Sostituire un widget condizionalmente

My first widget

widgetRegistryConfig_ext.js\data\domino\html\qphtml\widgets\resources

{RegisterWidgets:[{type: 'GLOBALREPLACE',source: "quickr.widgets.page.defaultUpload",use: "qext.widgets.inlineAttachments.customUpload"}]}

My first widget

Un consiglio :

Apportate queste aggiunte/modifiche al file qpconfig.xml

Personalizziamo : footer

Creiamo due nuovi file , un .js e un .xslCreiamo la directory skins\qext\widgets\misc e ci inseriamo due file , footer.js e footer.xsl , copiandoli dalla directory widgets\misc

Registriamo opportunamente il widget...e diciamo a quickr di sostituirlo globalmente a quickr.widgets.misc.footer

Personalizziamo : footer

dojo.provide("qext.widgets.misc.footer");dojo.require("quickr.widgets.misc.footer");dojo.declare("qext.widgets.misc.footer", [quickr.widgets.misc._footer],{xslSource: "/qphtml/skins/qext/widgets/misc/footer.xsl"});

Personalizziamo : footer

Our Links

  • IBM Homepage

...

Switch to live !

inlineAttachments

inlineAttachments

L'obiettivo fare in modo che se presente un allegato di un certo tipo questo venga aperto in automatico in preview

Le cose da fare :Registrare un nuovo widgetpersonalizzare una serie di file

InlineAttachments

Modifica widgetRegistryConfig_ext.js

{type: 'GLOBALREPLACE',source: "quickr.widgets.page.defaultUpload",use: "qext.widgets.inlineAttachments.customUpload"}

InlineAttachments

Creiamo la directory skins\qext\widgets\inlineAttachments

Prendiamo i file defaultUpload.js e defaultUpload.xsl che trovate nella directory widgets\page

Prendiamo il file singleAttachment.js

e li copiamo nella directory sopra creata !

Ora li rinominiamo in customUpload.js , customUpload.xsl

e procediamo a modificarli

CustomUpload.js

Lo modifichiamo cosi:

dojo.provide("qext.widgets.inlineAttachments.customUpload");dojo.require("quickr.widgets.page.defaultModalPage");

dojo.require("qext.widgets.inlineAttachments.imageAttachment");dojo.require("qext.widgets.inlineAttachments.defaultAttachment");dojo.require("qext.widgets.inlineAttachments.flashAttachment");dojo.require("qext.widgets.inlineAttachments.pdfAttachment");

dojo.declare("qext.widgets.inlineAttachments.customUpload",[quickr.widgets.page.defaultModalPage],{xslSource: "/qphtml/skins/qext/widgets/inlineAttachments/customUpload.xsl"});

CustomUpload.xsl

Lo modifichiamo in modo che in base all'estensione del file allegato venga utilizzato un widget differente

.

.

SingleAttachment.js

Partendo da singleAttachment.js creiamodefaultAttachment.jspdfAttachment.jscvsAttachment.jsimageAttachment.jsflashAttachment.js

Ora ...

defaultAttachment.js

Personalizziamo il file in questo modo

dojo.provide("qext.widgets.page.defaultAttachment");

dojo.declare("qext.widgets.page.defaultAttachment", null {defaultUpload(){...},getValue(){...},getNode(){...},getSrc(){...});

PdfAttachment.js ...

dojo.provide("qext.widgets.inlineAttachments.imageAttachment");dojo.require("quickr.widgets.page.field.singleAttachment");dojo.require("qext.widgets.inlineAttachments.defaultAttachment");dojo.declare("qext.widgets.inlineAttachments.imageAttachment", [quickr.widgets.page.field.singleAttachment, qext.widgets.inlineAttachments.defaultAttachment], {_isPdf: function(filename){ ... Checks if it is a pdf file}, renderRead: function() {...Displays the pdf and resizes if needed},});

Switch to live !

Widgets ed eventi ...

Per poter eseguire codice personalizzato ad evento viene utilizzata tecnologia dojo

Per poter gestire / personalizzare gli eventi dovete derivare da questa classe quickr.widgets._event

quickr.widgets._event contiene la definizione di tutti gli eventi quickr (widgets/_event.js)

Widgets ed eventi ...

ACTION.OPENLASTVIEWORPAGE is used to return the user to a particular view (such as a folder) after they have performed some action. The common example in Quickr is to return a user to the folder they were looking at after creating a new document. This event typically doesn't take a argument.

Widgets ed eventi ...

ACTION.GENERAL.BASECHANGED This event is fired after the Quickr state has been updated by the user (for example if a folder has been created) . It is useful to subscribe to this event in order to update the state of your customization whenever the underlying state has been changed by the user.

Widgets ed eventi ...

ACTION.MESSAGE.INFO

ACTION.MESSAGE.ERROR

ACTION.MESSAGE.CONFIRM

ACTION.MESSAGE.WARNING

ACTION.LOADING.SHOW

ACTION.LOADING.HIDE

ACTION.DIALOG.OPEN

ACTION.DIALOG.CLOSE

Widgets ed eventi ...

Importiamo un modulo HTML

dojo.require("quickr.widgets.people.picker.memberPicker"); dojo.require("quickr.widgets._event");var eventManage = new quickr.widgets._event();var cntargetid = "h_CN";var dntargetid = "h_DN";var emtargetid = "h_EM";var currentEditor = q_BaseLoader.user.DN;var cfUnid = self.cdUnid;dojo.addOnLoad(function(){ dojo.parser.parse(); });function showDialog() { eventManage.publishEvent(eventManage.ACTION.MEMBERS.PICK,{ pickOne:'false', targetWidgetInstance:'addtionalAuthor', cnTargetId:cntargetid, dnTargetId:dntargetid, emTargetId:emtargetid, includeRoles:'Contributor,Manager,Owner,LocalGroup,ExternalGroup', currentEditor: currentEditor,excludeDNs: "",folderUnid: cfUnid});}

Switch to live !

REST SERVICES ...

Quickr REST ServicesREST = REpresentational State TransferSistema basato sul protocollo HTTP e sull'uso del metodo GET per leggere i dati e del metodo POST per scrivere dati.

L'interfaccia REST verso quickr stata introdotta dalla versione 8.0

Usa l'autenticazione base di Lotus Domino

REST SERVICES ...

Esempio , provate a digitare questa cosa su un browser :https://greenhouse.lotus.com/dm/atom/introspection/

Avrete un risultato tipo questo :

Teamspace DocumentsDragon Boat Racing Team Doc Libraryapplication/*,image/*,*/*.....

Inutile ricordarvi che ...

Posso integrarmi con SAMETIME

Posso integrarmi con iNotes

Posso utilizzare strumenti mobili per interagire con quickr

Link utili

Un po' di link per aiutarvihttp://quickrtemplates.com/Template per quickr di Snapp

http://quickrblog.comopenNTF

http://wiki.urspringer.de/doku.php/qfaq/startElenco di link a siti e doc interessanti

http://www-10.lotus.com/ldd/lqwiki.nsfLotus Quickr WiKi

http://www-10.lotus.com/ldd/lqwiki.nsf/dx/Quickr_8.5_Theme_Customization__list_of_related_Wiki_articlesUna serie di link ad articoli molto utili per capire come personalizzare quickr

e adesso ?

Tocca a VOI !

Your final slide

La tua ultima slide

Grazie agli sponsor per aver reso possibile il DDive 2011!

Main Sponsor

Premium Sponsor

Prime Sponsor

Keep this as last slide

Lascia questa come ultima slide