• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
IBM Connect 2014 - AD204: What's new in the IBM Domino Objects: By Example
 

IBM Connect 2014 - AD204: What's new in the IBM Domino Objects: By Example

on

  • 18,924 views

IBM Connect 2014 - AD204: What's new in the IBM Domino Objects: By Example

IBM Connect 2014 - AD204: What's new in the IBM Domino Objects: By Example
Speakers: James Cooper, Nathan Barry

Statistics

Views

Total Views
18,924
Views on SlideShare
966
Embed Views
17,958

Actions

Likes
2
Downloads
48
Comments
0

50 Embeds 17,958

http://www.openntf.org 15081
http://openntf.org 2547
http://www.idonotes.com 53
http://intrapages.openntf.org 39
http://i.openntf.org 29
http://feedly.com 27
http://localhost 25
http://ehr1 17
http://svrhbg3 15
http://www.studynet1.herts.ac.uk 15
http://extlib.openntf.org 10
http://bootstrap4xpages.openntf.org 6
http://cgu_srv9 6
http://ltr_srv 6
http://ltr_srv9 5
http://www.slideee.com 5
http://wildfire.openntf.org 5
http://dominodefrag.openntf.org 4
http://projectname.openntf.org 4
http://server02.saaz.at 4
http://bob.genis.si 4
http://xpages.demo.grp 4
http://soapgate.openntf.org 4
http://208.85.188.121 3
http://ww.openntf.org 3
http://127.0.0.1 3
http://sbt.openntf.org 3
http://unity-02.indy.flexion.ch 3
http://portal.openntf.org 2
http://www.studynet2.herts.ac.uk 2
http://dev-srv01.labo.ch 2
http://exlib.openntf.org 2
http://www.extlib.openntf.org 2
http://webcache.googleusercontent.com 2
http://ibmsbt.openntf.org 1
http://heracles.intec-pw.co.uk 1
http://soapgateq.openntf.org 1
http://reader.aol.com 1
http://openntf.org. 1
http://sms426-laptop 1
http://essential.openntf.org 1
http://165.71.32.238 1
http://oldblog.openntf.org 1
http://socialenabler.openntf.org 1
http://filenavigator.openntf.org 1
http://domino901.eng.local 1
http://ww.xpagesblog.com 1
https://www.google.co.jp 1
http://essentials.openntf.org 1
http://xblog.openntf.org 1
More...

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

    IBM Connect 2014 - AD204: What's new in the IBM Domino Objects: By Example IBM Connect 2014 - AD204: What's new in the IBM Domino Objects: By Example Presentation Transcript

    • AD204: What's New in the IBM Domino Objects: By Example James Cooper, IBM Nathan Barry, IBM © 2014 IBM Corporation
    • Please Note IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. 2
    • Agenda     Introduction Calendaring & Scheduling Discussion & Examples Advanced View Navigation Discussion & Examples Q&A –      3
    • Calendar and Scheduling APIs  Introduced in Notes and Domino 9.0  Create, read, or modify calendar data – Uses the iCalendar data format – Encapsulates the complex Domino calendar schema – Implicit scheduling takes care of sending out notifications Perform common calendar workflow actions on calendar entries or notices – Accept, decline, cancel, etc   4 Extended in 9.0.1 – Added switches and methods based on demand – will cover changes within – REST calendar service added to Domino out of the box
    • Calendar and Scheduling APIs: Multi-layered IBM API Offering iCal>JSON Design Partners Open Source JavaScript web apps (JSON) Rest Services Web apps using iCalendar JavaScript Java Classes LotusScript Classes C SDK Core N/D Logic 5 OpenNTF projects Notes/Domino Java plugins iCalendar parsers (iCal4J, libical, etc) XPages apps Traditional Domino apps
    • Calendar and Scheduling APIs: What is iCalendar?   6 iCalendar is text-based calendar information that follows the industry-accepted iCalendar data format, defined in RFC 5545. Easily created or interpreted using open source (ie. iCal4J) BEGIN:VCALENDAR PRODID:-//Nate//MySampleApp//EN BEGIN:VEVENT DTSTART:20140308T140000Z DTEND:20140308T150000Z UID:MyUniqueEventIdentifier_0123456_NatesApp TRANSP:OPAQUE SUMMARY:My first event! END:VEVENT END:VCALENDAR »
    • Calendar and Scheduling APIs: Backend classes  NotesCalendar – A representation of a single user's personal calendar  NotesCalendarEntry – A representation of a single entry on a user's calendar  NotesCalendarNotice – A representation of a calendar workflow notice that would arrive from another user (usually in the inbox) 7
    • Calendar and Scheduling APIs: NotesCalendar class  Read view level data as iCalendar  Get lists of entries or notices that meet criteria  Get a specific entry or notice  Create an entry – Implicit scheduling capabilities – New: Create with HTML description – New: Consistent UID->Apptunid mapping  Utility methods – New: String getApptunidFromUID( String UID) 8
    • Create Meeting Demo 9
    • Calendar and Scheduling APIs: NotesCalendarEntry class  Read as iCalendar  Update (with iCalendar) – Implicit scheduling capabilities – New: Update with HTML description – New: Informational series updates to repeating meetings – New: Series updates to repeating appointments – New: “Smart Sequence” updates 10
    • Calendar and Scheduling APIs: NotesCalendarEntry class     11 Take action on a calendar entry or repeating instance/range (without iCalendar): – Accept, decline, delete, cancel, delegate, counter, etc – New: Add and/or remove invitees Open as a document – New: Ability to open the “parent” note Get “unprocessed” notices – Get any outstanding invitations, reschedules, updates, or cancels from organizer
    • Update meeting demo 12
    • Calendar and Scheduling APIs: NotesCalendarNotice class  Read a notice as iCalendar  Take action on a calendar notice: – Accept, decline, delete, cancel, delegate, counter, accept counter, etc Get a notice as a Document Get all unaccepted invitation(s) that correspond to this meeting    13
    • Process notices demo 14
    • NotesCalendar String getApptunidFromUID( String UID) 15
    • NotesCalendarEntry String addInvitees( Vector requirednames, Vector optionalNames, Vector fyiNames, String comments, int flags, int scope, String recurID) 16
    • NotesCalendarEntry String removeInvitees( Vector names, String comments, int flags, int scope, String recurID) 17
    • NotesCalendarEntry String modifyInvitees( Vector requirednames, Vector optionalnames, Vector fyinames, Vector removenames String comments, int flags, int scope, String recurID) 18
    • New Constants NotesCalendarEntry: update() CS_WRITE_SMARTSEQUENCE CS_WRITE_GUARANTEE_NO_RESCHEDULE CS_WRITE_PRESERVE_PERSONAL_DATA 19
    • New Constants NotesCalendarEntry: getAsDocument() CS_DOCUMENT_ALLOW_PARENT 20
    • Related Methods 21
    • Session Vector Session.freeResourceSearch( DateTime start, DateTime end, String site, int type,int maxresult, String user, int mincapacity, String apptUNID, String server, int outputversion) Type constants: CAL_RESOURCE_TYPE_ROOM CAL_RESOURCE_TYPE_OTHER Outputversion constants: AVAILABLERESOURCESLOOKUP_VERSION_0 22
    • Session Session.freeResourceSearch Output format for initial version: AVAILABLERESOURCESLOOKUP_VERSION_0 Java: Vector of strings, each entry is composite, separated by semicolon ResourceName;Capacity;Email; LS: Array of strings, same format ResourceName;Capacity;Email; 23
    • AdministrationProcess String delegateMailFile( String mailfileowner, Vector publicreaders, Vector publicwriters, Vector otherreaders, Vector otherwriters, Vector othereditors, Vector otherdeletors, Vector removefromacl, String mailfilename, String mailserver) 24
    • ViewNavigator Enhancements 25
    • Rapid View Navigation  8.52 –  8.53 –  Cache with Guidance (By Method) 9.01 – 26 Simple Cache Cache with AutoExpand Guidance
    • AutoExpand Guidance       27 Last piece of the Xpage Client display problem Explicit high speed control over View entry expansion Inputs: – NoteIDs – Expand list – Collapse list
    • ViewNavigator AutoExpand Guidance Helper method: View.setEnableNoteIDsForCategories(boolean enable) Normally, NoteIDs are blank for Categories 28
    • ViewNavigator AutoExpand Guidance Helper method: View.setEnableNoteIDsForCategories(boolean enable) false: NoteID Cat 1 Child 1.1 Child 1.2 Cat 2 Child 2.1 Child 2.2 29 “” “8FA” “8FE” “” “8F2” “8F6” true: NoteID Cat 1 “80000004” “8FA” “8FE” “80000008” “8F2” “8F6” Child 1.1 Child 1.2 Cat 2 Child 2.1 Child 2.2
    • AutoExpand Guidance Example: Cat 1 Cat 2 Cat 3 30 Child 1.1 Child 1.2 Child 1.3 Child 1.4 Child 2.1 Child 2.2 Child 2.3 Child 2.4 Child 2.5 Child 3.1
    • AutoExpand Guidance Example: expandlist[0]: 0x800000ac (Cat 2) setMaxLevel(0); setAutoExpandGuidance( 10, expandlist, null) Cat 1 Cat 2 Cat 3 31 Child 1.1 Child 1.2 Child 1.3 Child 1.4 Child 2.1 Child 2.2 Child 2.3 Child 2.4 Child 2.5 Child 3.1
    • AutoExpand Guidance Example: expandlist[0]: 0x800000ac (Cat 2) setMaxLevel(0); setAutoExpandGuidance( 10, null, expandlist) Cat 1 Cat 2 Cat 3 32 Child 1.1 Child 1.2 Child 1.3 Child 1.4 Child 2.1 Child 2.2 Child 2.3 Child 2.4 Child 2.5 Child 3.1 Cat 1 Cat 2 Child 2.1 Child 2.2 Child 2.3 Child 2.4 Child 2.5 Cat 3
    • AutoExpand Guidance – Collapsed List Example: Cat 1 Cat 2 Cat 3 33 Child 1.1 Child 1.2 Child 1.3 Child 1.4 Child 2.1 Child 2.2 Child 2.3 Child 2.4 Child 2.5 Child 3.1
    • AutoExpand Guidance – Collapsed List Example: collapsedlist[0]: 0x800000ac (Cat 2) setMaxLevel(1); setAutoExpandGuidance( 10, collapsedlist, null) Cat 1 Cat 2 Cat 3 34 Child 1.1 Child 1.2 Child 1.3 Child 1.4 Child 2.1 Child 2.2 Child 2.3 Child 2.4 Child 2.5 Child 3.1
    • AutoExpand Guidance Example: collapsedlist[0]: 0x800000ac (Cat 2) setMaxLevel(1); setAutoExpandGuidance( 10, collapsedlist, null) Cat 1 Cat 2 Cat 3 35 Child 1.1 Child 1.2 Child 1.3 Child 1.4 Child 2.1 Child 2.2 Child 2.3 Child 2.4 Child 2.5 Child 3.1 Cat 1 Child 1.1 Child 1.2 Child 1.3 Child 1.4 Cat 2 Cat 3 Child 3.1
    • ViewNavigator Cache Expand/Collapse Guidance The usual cache requirement applies: View.setAutoUpdate( false ); 36
    • ViewNavigator Cache Guidance/Expand & Collapse setAutoExpandGuidance(int maxentries, NotesNoteCollection collapsednc, NotesNoteCollection expandednc); setAutoExpandGuidance(int maxentries, int[ ] collapsednoteids, int[ ] expandednoteids); 37
    • Expand & Collapsed Lists Ways to get them        38 GetAllDocumentsByKey DocumentCollection.getNoteIDs Enumerate ViewNavigator with MaxLevel set Track Entries based on UI Interactions Search for them with FTSearch Formula evaluation in a NoteCollection Logical operations on multiple DocumentCollections
    • Demo: View Navigation using AutoExpand Guidance 39
    • Demo: AutoExpand Guidance in XPages 40
    • Enabling AutoExpand Guidance in XPages Can be enabled for all Xpages OR Per Application OR Per page within an Application 41
    • Enabling AutoExpand Guidance in XPages file: <root_dir>/data/properties/xsp.properties (see example: xsp.properties.sample) legacy: xsp.domino.view.navigator=ByPosition faster:* xsp.domino.view.navigator= ByNoteId * slight behavior change similar to Notes Client 42
    • REST Calendar Service 43
    • Calendar and Scheduling APIs: REST Calendar Service  Included in 9.0.1 (disabled by default)  Exposes calendar functionality over HTTP – De-couples from language and OS requirements – Allows use without a Notes/Domino install Offers both iCalendar and JSON data formatting, for easier JavaScript parsing   44
    • REST demo: Calendar feed 45
    • Q&A 46
    • Engage Online   SocialBiz User Group socialbizug.org – Join the epicenter of Notes and Collaboration user groups Follow us on Twitter Engage – @IBMConnect and @IBMSocialBiz Online  LinkedIn http://bit.ly/SBComm – Participate in the IBM Social Business group on LinkedIn:  Facebook https://www.facebook.com/IBMSocialBiz – Like IBM Social Business on Facebook  Social Business Insights blog ibm.com/blogs/socialbusiness – Read and engage with our bloggers 47
    •  Access Connect Online to complete your session surveys using any: – Web or mobile browser – Connect Online kiosk onsite 48
    • Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. © Copyright IBM Corporation 2014. All rights reserved.  U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  IBM, the IBM logo, ibm.com, and Domino are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml Other company, product, or service names may be trademarks or service marks of others. 49