DDive11 - Quickr HowTo


Published on

Una piccola guida su come fare alcune cose interessanti!

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

DDive11 - Quickr HowTo

  1. 1. QUICKR : HOWTO ?!? Una piccola guida su come fare alcune cose interessanti !
  2. 2. Vittorio Foschi <ul><li>Ancora per poco … 39 anni
  3. 3. Nato a Cervia (RA)
  4. 4. Mi occupo di progettazione vendita ed assistenza alla vendita
  5. 5. Lavoro per Technacy srl
  6. 6. [email_address]
  7. 7. Skype : vittoriofoschi </li></ul>
  8. 8. Di cosa vi parlerò ? <ul><li>L'installazione di quickr
  9. 9. Un po' di settings non guastano mai
  10. 10. Vediamo come è “fatto” dentro quickr
  11. 11. Start : Developing !!!
  12. 12. Live Demo </li></ul>
  13. 13. Installiamo Quickr Single server Cluster Expanded
  14. 14. Installiamo Quickr
  15. 15. Installiamo Quickr <ul><li>Utente QPADMIN
  16. 16. Se non vi ricordate l'utente inserito guardate nel notes.ini ( QuickPlaceAdmin = … )
  17. 17. Se non vi ricordate la password dell'utente QPADMIN IBM Technote # 1296289 </li></ul>
  18. 18. Installiamo Quickr <ul><li>Check Servlet Engine is enabled
  19. 19. Enable SSO
  20. 20. Custom Login Form ... </li></ul>
  21. 21. Installiamo Quickr <ul><li>Creare il database domcfg.nsf
  22. 22. Ereditare le impostazioni da domcfg.ntf </li></ul>
  23. 23. Un po' di cose da sapere Offline settings for notes.ini These 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 work with Domino Off-Line Services. A value of 0 (zero) disables this setting. • CheckCacheBeforeDSAPI=1 Enables authentication to work for offline users. A value of 0 (zero) disables this setting. • EXTMGR_ADDINS= dependent on operating system On Windows®: ndolextn On AIX®: libdolextn Enables Domino Off-Line Services to work with Lotus Quickr. • NoWebFileSystemACLS=1 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.
  24. 24. Un po' di cose da sapere Web page cache settings for notes.ini If performance tuning is of your interest, these settings will enhance the user experience: • QuickPlaceWebCacheDir==<pathname> Sets the cache directory where <pathname> is the full file path name of the directory. If this variable is omitted from your server’s notes.ini, the server cache is automatically set to the default directory <NOTESPROGRAM> datacache. • QuickPlaceWebCacheEnabled=1 Disables or enables the cache. A value of 0 (zero) disables this setting. • QuickPlaceWebCacheGCIntervalInMIN=<minutes> Sets the time interval for cache cleaning. • QuickPlaceWebCacheLimitInMB=<MB> 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. ini file), the cache size limit defaults to 50 M B. • QuickPlaceWebCacheLogging=<n> 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=<value> 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.
  25. 25. Un po' di cose da sapere Other settings for notes.ini These settings can assist with e-mail generation, setup details, and other items of general usage for the Quickr server: • $h_MailDomain=mydomain.com Specifies 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 &quot;h_Undelivmail&quot; defines the name used for Quickr generated e-mails for newsletters. • h_UndelivMail=QuickrPlacename Specifies 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-on authentication. A value of 0 (zero) disables this setting. • NoWebFileSystemACLs Prevents 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 UNIX servers to support names in a user directory that contain accented characters. • QuickPlaceExpireCachedUsers=<time interval in seconds> Specifies the length of time user entries remain in the user cache. • QuickPlaceExtensionManagerAllowServers=1 Gives 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.
  26. 26. Un po' di cose da sapere Other settings for notes.ini These settings can assist with e-mail generation, setup details, and other items of general usage for the Quickr server: • QuickPlaceMaxCachedUsers=<n> Specifies the maximum number of users allowed in the user cache. • QuickPlaceNestedGroupLimit=<n> 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=1 Ensures 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 (&quot;$&quot;) ° Ampersand (&quot;&&quot;) ° Plus (&quot;+&quot;) ° Comma (&quot;,&quot;) ° Forward slash/Virgule (&quot;/&quot;) ° Colon (&quot;:&quot;) ° Semi-colon (&quot;;&quot;) • Windows: extmgr_addins=nqpcmextmgr, AIX: extmgr_ addins=libqpcmextmgr_r.a, Linux: extmgr_addins=libqpcmextmgr.so Enables AdminP task to work on the Quickr for Domino server. Needs to be added manually to the notes.ini file
  27. 27. Un po' di cose da sapere Client logging notes.ini settings Enhanced troubleshooting and debug code can be set with the following options: • $h_Debug Enables the browser to display detailed messages about JavaScript errors that occur on the client, instead of the general Lotus Quickr message, &quot;Unable to process your request at this time&quot;. • $h_ClientDebugConsole Displays 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=1 Adds 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 generatio n logging
  28. 28. Un po' di cose da sapere Server logging settings for notes.ini A 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, QuickPlaceAuthenticationLogging—it 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 generatio n logging
  29. 29. 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 logging • QuickPlacePreviewLogging: Document preview generatio n logging
  30. 30. Un po' di cose da sapere <ul><li>QPCONFIG.XML
  31. 31. È presente un QPCONFIG_SAMPLE.XML da cui prendere spunto
  32. 32. E molto ben documentato </li></ul>
  33. 33. Come installare i fixpack? <ul><li>Avere nella PATH la directory in cui sono installati i programmi di Lotus Domino
  34. 34. Verificare di avere una versione di Java superiore alla 1.5
  35. 35. Posizionarsi nella directory jvmlibext presente all'interno della directory dei programmi di Lotus Domino
  36. 36. Lanciare il file jar scaricato con il FixPack con il comando java -jar <installer.jar> </li></ul>
  37. 37. Come installare i fixpack?
  38. 38. Come “è” fatto Quickr <ul><li>Quickr nella versione 8.5 ha cambiato radicalmente modalità “operative”
  39. 39. Tutto si basa su dei Widgets Dojo
  40. 40. I temi di quickr altro non sono che del semplice codice HTML per i Widgets
  41. 41. Quickr usa il framewrok dojo DIJIT
  42. 42. Il server fornisce solo i dati , il client controlla l'aspetto e la logica applicativa </li></ul>
  43. 43. Quickr e i TEMI ! <ul><li>File che compongono un tema quickr :
  44. 44. Stylesheet
  45. 45. Page :
  46. 46. Edit :
  47. 47. Folder : </li></ul>
  48. 48. Quickr e i TEMI !
  49. 49. Switch to live !
  50. 50. Un po' di cose da sapere view.toc view.checkEntry misc.dateformatter people.name view.downloadlink misc.eventlink view.dynamicrowgenerator view.library actionbar.folderactionbar misc.footer menu.placeactionsmenu view.controls.itemsperpage view.controls.prevpage view.controls.nextpage
  51. 51. I Widgets ... <ul><li>Esistono in quickr 4 tipologie di widgets
  52. 52. Widgets che leggono dati dal server domino
  53. 53. Widgets che utilizzano fogli XSL per trasformare i dati </li></ul>
  54. 54. I Widgets ... <ul><li>I Widgets generano i componenti UI di quickr e lo fanno a runtime sul client .
  55. 55. 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
  56. 56. Page.htm , file che fa parte di una themes , può utilizzare Widgets e Skin
  57. 57. In Quickr 8.5 sono disponibili solo una parte degli SKIN </li></ul>
  58. 58. I Widgets ... <ul><li>In principio erano skin ...
  59. 59. Ora ... </li></ul>
  60. 60. 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.
  61. 61. My first widget <ul><li>widgetRegistryConfig_ext.js
  62. 62. <domino install>datadominohtmlqphtmlwidgetsresources
  63. 63. Posso : </li><ul><li>Registrare nuovi moduli/widgets
  64. 64. Sostituire un widgets sempre
  65. 65. Sostituire un widget condizionalmente </li></ul></ul>
  66. 66. My first widget <ul><li>widgetRegistryConfig_ext.js
  67. 67. <domino install>datadominohtmlqphtmlwidgetsresources </li></ul>{ RegisterWidgets: [ { type: 'GLOBALREPLACE', source: &quot;quickr.widgets.page.defaultUpload&quot;, use: &quot;qext.widgets.inlineAttachments.customUpload&quot; } ] }
  68. 68. My first widget <ul><li>Un consiglio :
  69. 69. Apportate queste aggiunte/modifiche al file qpconfig.xml
  70. 70. <qxsl enabled=”false”/>
  71. 71. <qwidgets enabled=”false”/>
  72. 72. <qdojo enabled=”false”/> </li></ul>
  73. 73. Personalizziamo : footer <ul><li>Creiamo due nuovi file , un .js e un .xsl
  74. 74. Creiamo la directory “skinsqextwidgetsmisc” e ci inseriamo due file , footer.js e footer.xsl , copiandoli dalla directory “widgetsmisc” </li></ul><ul><li>Registriamo opportunamente il widget...
  75. 75. e diciamo a quickr di sostituirlo globalmente a quickr.widgets.misc.footer </li></ul>
  76. 76. Personalizziamo : footer dojo.provide(&quot;qext.widgets.misc.footer&quot;); dojo.require(&quot;quickr.widgets.misc.footer&quot;); dojo.declare(&quot;qext.widgets.misc.footer&quot;, [quickr.widgets.misc._footer], { xslSource: &quot;/qphtml/skins/qext/widgets/misc/footer.xsl&quot; } );
  77. 77. Personalizziamo : footer <div class=&quot;lotusFooter&quot;> <table cellspacing=&quot;0&quot; width=&quot;100%&quot;> <tr><th><div>Our Links</div></th> <th><div dojoType=&quot;quickr.widgets.misc.textlocalizer&quot; key=&quot;FOOTER.LOTUSQUICKR&quot;></div></th> <th><div dojoType=&quot;quickr.widgets.misc.textlocalizer&quot; key=&quot;BANNER.HELP&quot;></div></th> <th class=&quot;ConnectorSection&quot;><div dojoType=&quot;quickr.widgets.misc.textlocalizer&quot; key=&quot;FOOTER.CONNECTORS&quot;></div></th> <th class=&quot;lotusLast&quot;><div dojoType=&quot;quickr.widgets.misc.textlocalizer&quot; key=&quot;FOOTER.ABOUT&quot;></div></th> </tr> <tr> <td><ul><li><a href=&quot;http://www.ibm.com&quot;><div style=&quot;color:red;&quot;>IBM Homepage</div></a></li> </ul></td> . . .
  78. 78. Switch to live !
  79. 79. inlineAttachments
  80. 80. inlineAttachments <ul><li>L'obiettivo è fare in modo che se è presente un allegato di un certo tipo questo venga aperto in automatico in “preview”
  81. 81. Le cose da fare :
  82. 82. Registrare un nuovo widget
  83. 83. personalizzare una serie di file </li></ul>
  84. 84. InlineAttachments <ul>Modifica widgetRegistryConfig_ext.js </ul>{ type: 'GLOBALREPLACE', source: &quot;quickr.widgets.page.defaultUpload&quot;, use: &quot;qext.widgets.inlineAttachments.customUpload&quot; }
  85. 85. InlineAttachments <ul><li>Creiamo la directory skinsqextwidgetsinlineAttachments
  86. 86. Prendiamo i file defaultUpload.js e defaultUpload.xsl che trovate nella directory widgetspage
  87. 87. Prendiamo il file singleAttachment.js
  88. 88. … e li copiamo nella directory sopra creata !
  89. 89. Ora li rinominiamo in customUpload.js , customUpload.xsl
  90. 90. … e procediamo a modificarli </li></ul>
  91. 91. CustomUpload.js <ul>Lo modifichiamo cosi: </ul>dojo.provide(&quot;qext.widgets.inlineAttachments.customUpload&quot;); dojo.require(&quot;quickr.widgets.page.defaultModalPage&quot;); dojo.require(&quot;qext.widgets.inlineAttachments.imageAttachment&quot;); dojo.require(&quot;qext.widgets.inlineAttachments.defaultAttachment&quot;); dojo.require(&quot;qext.widgets.inlineAttachments.flashAttachment&quot;); dojo.require(&quot;qext.widgets.inlineAttachments.pdfAttachment&quot;); dojo.declare(&quot;qext.widgets.inlineAttachments.customUpload&quot;, [quickr.widgets.page.defaultModalPage], { xslSource: &quot;/qphtml/skins/qext/widgets/inlineAttachments/customUpload.xsl&quot; } );
  92. 92. CustomUpload.xsl <ul><li>Lo modifichiamo in modo che in base all'estensione del file allegato venga utilizzato un widget differente </li></ul>. <!--attachments --> <xsl:variable name=&quot;AttNames&quot; select=&quot;child::*[attribute::fid='h_AttachmentNames']&quot;/> <xsl:variable name=&quot;AttNumber&quot; select=&quot;count($AttNames)&quot;></xsl:variable> <xsl:choose> <xsl:when test=&quot;$AttNumber=1&quot;> <xsl:variable name=&quot;xslAttNames&quot;><xsl:value-of select=&quot;$AttNames&quot; /></xsl:variable> <xsl:choose> <!-- Check for PDF files --> <xsl:when test=&quot;contains($AttNames, ' .pdf ')&quot;> <span dojoType=&quot; qext.widgets.inlineAttachments.pdfAttachment &quot; state=&quot;read&quot; value=&quot;{$xslAttNames}&quot; label=&quot;PAGE.CREATE.FIELDS.ATTACHMENTS.LABEL&quot; unid=&quot;{$UNID}&quot; description=&quot;{summary}&quot; ></span> </xsl:when> .
  93. 93. SingleAttachment.js <ul><li>Partendo da singleAttachment.js creiamo
  94. 94. defaultAttachment.js
  95. 95. pdfAttachment.js
  96. 96. cvsAttachment.js
  97. 97. imageAttachment.js
  98. 98. flashAttachment.js
  99. 99. Ora ... </li></ul>
  100. 100. defaultAttachment.js <ul><li>Personalizziamo il file in questo modo </li></ul>dojo.provide(&quot;qext.widgets.page.defaultAttachment&quot;); dojo.declare(&quot;qext.widgets.page.defaultAttachment&quot;, null { defaultUpload(){...}, getValue(){...}, getNode(){...}, getSrc(){...} );
  101. 101. PdfAttachment.js ... dojo.provide(&quot;qext.widgets.inlineAttachments.imageAttachment&quot;); dojo.require(&quot;quickr.widgets.page.field.singleAttachment&quot;); dojo.require(&quot;qext.widgets.inlineAttachments.defaultAttachment&quot;); dojo.declare(&quot;qext.widgets.inlineAttachments.imageAttachment&quot;, [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 }, });
  102. 102. Switch to live !
  103. 103. Widgets ed eventi ... <ul><li>Per poter eseguire codice personalizzato ad evento viene utilizzata tecnologia dojo
  104. 104. Per poter gestire / personalizzare gli eventi dovete derivare da questa classe quickr.widgets._event
  105. 105. quickr.widgets._event contiene la definizione di tutti gli eventi quickr (
  106. 106. widgets/_event.js) </li></ul>
  107. 107. Widgets ed eventi ... <ul><li>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. </li></ul>
  108. 108. Widgets ed eventi ... <ul><li>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. </li></ul>
  109. 109. Widgets ed eventi ... <ul><li>ACTION.MESSAGE.INFO
  116. 116. ACTION.DIALOG.CLOSE </li></ul>
  117. 117. Widgets ed eventi ... <ul><li>Importiamo un modulo HTML </li></ul>dojo.require(&quot;quickr.widgets.people.picker.memberPicker&quot;);   dojo.require(&quot;quickr.widgets._event&quot;);        var eventManage = new quickr.widgets._event();   var cntargetid = &quot;h_CN&quot;;   var dntargetid = &quot;h_DN&quot;;   var emtargetid = &quot;h_EM&quot;;   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: &quot;&quot;,folderUnid: cfUnid}); }
  118. 118. Switch to live !
  119. 119. REST SERVICES ... <ul><li>Quickr REST Services
  120. 120. REST = REpresentational State Transfer
  121. 121. Sistema basato sul protocollo HTTP e sull'uso del metodo GET per leggere i dati e del metodo POST per scrivere dati.
  122. 122. L'interfaccia REST verso quickr è stata introdotta dalla versione 8.0
  123. 123. Usa l'autenticazione base di Lotus Domino </li></ul>
  124. 124. REST SERVICES ... Esempio , provate a digitare questa cosa su un browser : https://greenhouse.lotus.com/dm/atom/introspection/ Avrete un risultato tipo questo : <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <service xmlns=&quot;http://purl.org/atom/app#&quot; xmlns:atom=&quot;http://www.w3.org/2005/Atom&quot;> <workspace> <atom:title type=&quot;text&quot;>Teamspace Documents</atom:title> <collection href=&quot;https://greenhouse.lotus.com/dm/atom/library/cd37750046746704b84dbcd0fb7257fd/feed&quot; xmlns=&quot;http://purl.org/atom/app#&quot;><atom:title type=&quot;text&quot; xmlns:atom=&quot;http://www.w3.org/2005/Atom&quot;>Dragon Boat Racing Team Doc Library</atom:title><accept>application/*,image/*,*/*</accept></collection> ..... </workspace> </service>
  125. 125. Inutile ricordarvi che ... <ul><li>Posso integrarmi con SAMETIME
  126. 126. Posso integrarmi con iNotes
  127. 127. Posso utilizzare strumenti mobili per interagire con quickr </li></ul>
  128. 128. Link utili <ul><li>Un po' di link per aiutarvi
  129. 129. http://quickrtemplates.com/
  130. 130. Template per quickr di Snapp
  131. 131. http://quickrblog.com
  132. 132. openNTF
  133. 133. http://wiki.urspringer.de/doku.php/qfaq/start
  134. 134. Elenco di link a siti e doc interessanti
  135. 135. http://www-10.lotus.com/ldd/lqwiki.nsf
  136. 136. Lotus Quickr WiKi
  137. 137. http://www-10.lotus.com/ldd/lqwiki.nsf/dx/Quickr_8.5_Theme_Customization__list_of_related_Wiki_articles
  138. 138. Una serie di link ad articoli molto utili per capire come personalizzare quickr </li></ul>
  139. 139. … e adesso ? … Tocca a VOI !
  140. 140. Grazie agli sponsor per aver reso possibile il DDive 2011! <ul><li>Main Sponsor
  141. 141. Premium Sponsor
  142. 142. Prime Sponsor </li></ul>