My.ADVISOR.com Sign-In
ID
Password

Member Center / Sign-Up
Go to Article
Advanced Search 

BOOK EXCERPT

What's New in IBM Lotus Notes/Domino 8 Development: @Formula Language and LotusScript

In this book excerpt, learn about additions to the @Formula language and LotusScript in Lotus Notes/Domino 8, as well as what's ahead.

By Tim Speed, Dick McCarrick, Barry Rosen, Bennie Gibson, Brad Schauf, David Byrd, and Joseph Anderson


Domino Designer 8 includes several enhancements to formula language and LotusScript.

Formula Language Additions

The following are some selected new commands that are available within Notes/Domino 8.

@Command([CopySelectedAsTable]): This new command performs the same action as its menu command counterpart, Edit | Copy As | Table, which copies one or more selected view entries into a table. It places the table of the selected view entries on the clipboard. It also includes a link to each of the documents in the table. This is very useful when sending co-workers links to documents from a database in a pre-formatted table.

@Command([OpenInNewWindow]): This new command allows your formula language code to open a document from a view, folder, or calendar in a new window instead of opening it within a new tab within Lotus Notes.

LotusScript Additions

The following are some selected new classes, methods, and events available within Notes/Domino 8. The NotesProperty and NotesProperyBroker classes, and the Onselect event were added to support the new composite application-programming model.

MarkAllRead and MarkAllUnread methods: Finally, within the NotesView, NotesViewEntryCollection, and NotesViewNavigator classes, two new methods dealing with read/unread marks are available. Using these classes, you can mark documents as having been read or unread using the MarkAllRead or MarkAllUnread methods. These methods will affect the documents within the collection or navigator. There are, of course, Java counterparts available.

NotesDirectory class: Objects created with this new class correspond to the directories on a specific Domino server or Notes client. The objects are contained within a NotesSession object, and they contains one or more NotesDirectoryNavigator objects. The properties in table 2 are available in the NotesDirectory class. Unless otherwise specified, these properties are read-only.

The methods in table 3 are available for the NotesDirectory class.

NotesDirectoryNavigator class: NotesDirectoryNavigator objects are returned by methods of the NotesDirectory class and allow the developer to navigate the items returned by a directory search. The properties in table 4 are available for the NotesDirectoryNavigator class. Unless otherwise specified, these properties are read-only.

The methods in table 5 are available for the NotesDirectoryNavigator class.

NotesProperty class: This class represents a single component property within the composite application. Component properties are data items that a given component produces and the NotesProperty class allows your application to manage the publishing of the defined properties within an application.

The methods for the NotesProperty class are only active when used within the Notes 8 Standard configuration. They are not available when used by applications running on Domino server or from within the Notes 8 Basic configuration.
The properties in table 6 are available for the NotesProperty class. Unless otherwise specified, the properties are read-only.

Table 2: Properties in the NotesDirectory class.

PropertyTypeDescription
AvailableItemsVariant arrayThis property is set by the methods LookupNames and LookupAllNames. If a NotesDirectory object has been created but no lookups have been performed with it, this property will be null.
AvailableNamesVariant arrayThis property will contain the names returned from the most recent LookupAllNames or LookupNames call. If a NotesDirectory object has been created but no lookups have been performed with it, this property will be null.
AvailableViewStringThis property contains the name of the view specified in the most recent LookupAllNames or LookupNames call. If a NotesDirectory object has been created but no lookups have been performed with it, this property will be null.
GroupAuthorizationOnlyBooleanRead/write property. This property controls which directories will be used during lookups. If the property is True, only directories marked "Enable for Group Authorization" will be searched. If set to False, the default, lookups performed will search all directories available.
LimitMatchesBooleanRead/write property. If True, directory lookups will be limited to fifty entries. If False then lookups performed will return all matches.
PartialMatchesBooleanControls whether or not lookups will match on partial names. If True, partial names will match. If False, the default, lookups will not match on partial names.
SearchAllDirectoriesBooleanRead/write property. If True, the default, all directories will be searched during lookups. If False, lookups will cease after the first directory containing the view name specified.
ServerStringThis property contains the name of the server represented by the instance of NotesDirectory.
TrustedOnlyBooleanRead/write property. This property controls which directories will be used during lookups. If True, lookups will search only directories which contain trust information. If False, the default, the lookups will search all directories.
UseContextServerBooleanRead/write property. This property controls whether the server of the context database or the server specified in the lookup methods will be used. If True, the server context database will be used. If False, the default, and then the server specified in the lookup method will be used.


Table 3: Methods for the NotesDirectory class.
MethodReturnsDescription
CreateNavigatorNotesDirectoryNavigatorUse to create additional DirectoryNavigators to allow multiple DirectoryNavigators to be used.
FreeLookupBufferN/ASince the resultant name lookup buffers can be quite large, this method can be used to free memory in the current lookup buffer, in effect resetting all navigators. Used for memory management.
LookupAllNamesNotesDirectoryNavigatorPerforms a lookup of designated items contained within the specified view.
LookupNamesNotesDirectoryNavigatorPerforms a lookup of designated items contained within the specified view for the specified items.


Table 4: Properties for the NotesDirectoryNavigator class.
PropertyTypeDescription
CurrentItemStringThis property will contain the current item for the NotesDirectoryNavigator and is updated with subsequent calls of GetNextItemValue and GetNthItemValue methods.
CurrentMatchLongAn index to the current match for the NotesDirectoryNavigator and is updated by subsequent calls to FindFirstMatch, FindNextMatch and FindNthMatch methods.
CurrentNameStringThe name of the current match indicated by the CurrentMatch property index for NotesDirectoryNavigators created with the LookupNames method.
CurrentViewStringContains the name of the directory view used to create the NotesDirectoryNavigator object. This property is updated when directory lookups are performed.
MatchLocatedBooleanIf True, a match was successful. If False, the match was not successful.
NameLocatedBooleanIf True, a name was located. If False, the name was not located.


Table 5: Methods for the NotesDirectoryNavigator class.

MethodReturnsDescription
FindFirstMatchBooleanMoves the navigator of the first match of the current name in the NotesDirectoryNavigator. Returns True if a match was found otherwise returns False indicating no match was found.
FindNextMatchBooleanMoves the navigator of the next match of the current name in the NotesDirectoryNavigator. Returns True if a match was found otherwise returns False indicating no match was found.
FindNthMatchBooleanMoves the navigator of the nth match of the current name in the NotesDirectoryNavigator. Returns True if a match was found, otherwise returns False indicating no match was found.
FindFirstNameLongMoves the navigator to the first name in the NotesDirectoryNavigator returning the number of matches found.
FindNextNameLongMoves the navigator to the next name in the NotesDirectoryNavigator returning the number of matches found
FindNthNameLongMoves the navigator to the nth name in the NotesDirectoryNavigator returning the number of matches found.
GetFirstItemValueVariantReturns the value of the first item of the current match.
GetNextItemValueVariantMoves the navigator to the next item within the current match and returns the value of that match.
GetNthItemValueVariantMoves the navigator to the nth item within the current match and returns the value of that match.

Table 6: Properties for the NotesProperty class.
Property TypeDescription
DescriptionStringThis class property returns the description for the NotesProperty object.
IsInputBooleanIf True, the property is an input property. If False, the property is an output property.
NameString This class property returns the name of the NotesProperty.
NameSpaceStringThis class property returns the namespace for the NotesProperties data-type.
TitleString This class property returns the title of the NotesProperty.
TypeNameStringThis class property returns the type name of the NotesProperty. When combined with the NameSpace property, it provides a unique identifier for the NotesProperty type.
Values Variant array of Strings, Integer, Real, or NotesDateTimeThis read/write class property sets or returns the array of values for the NotesProperty. The array items must be of all the same data type and input properties by definition cannot be set using this property. The Publish method must be called after using this property to set values or the values will not persist.

What's New in IBM Lotus Notes/Domino 8 Development: @Formula Language and LotusScript

No reader comments ... yet.

    What do YOU think about this topic? Share your advice and thoughts using this form.

    Your Name

    REQUIRED : PUBLIC

    Your E-Mail

    REQUIRED : PRIVATE

    Job, Company

    OPTIONAL : PUBLIC

    City, State, Country

    OPTIONAL : PUBLIC

    Your Web Site

    OPTIONAL : PUBLIC

    Your Comment

    Please help everyone by keeping your comments on-topic, using clean language, and not defaming or making personal attacks.


    Your e-mail address is required, but it will not be displayed to the public or given to anyone. See our Privacy Policy. Comments become visible after they pass our spam filter, and spammers and abusers are permanently blocked. Please report spam or abuse.

    Tim Speed is an IBM Certified Systems Architect with IBM Software Services for Lotus. In that capacity, he's responsible for designing, implementing, and supporting various engagements with its clients. Mr. Speed lives in Denton, Texas, and has been an IBM/Lotus employee for more than 12 years in a variety of networking, technical, hardware and software support and consulting positions. He has been working with Notes for more than 15 years focusing on administration roles and infrastructure. He also has international experience with working on infrastructure engagements in Spain, Japan, Hong Kong, Singapore, Malaysia, the UK, and Indonesia. Dick McCarrick is a freelance writer who has worked extensively with Lotus Notes and Domino over the years. Dick spent more than 15 years with the Lotus Notes and Domino team, initially as a documentation writer, then later with developerWorks: Lotus. Since leaving IBM, he continues to be involved with Notes/Domino, co-authoring three previous books on this product. Barry Rosen is an Advisory IT Specialist with IBM Software Services for Lotus. During the last two years, Mr. Rosen has worked on several large messaging and migration projects as well as performed Domino upgrades and messaging assessments. Before that he was a Software Engineer in Lotus Support for more than five years. While in support Mr. Rosen was on several teams specializing in mail routing, Lotus Notes Client, calendaring and scheduling, and server core. He focused on clustering, Lotus Notes for the Macintosh, and rooms and resources. Currently Mr. Rosen resides in Houston. Having graduated from the University of Texas at Austin, Mr. Rosen enjoys following Longhorn sports. Bennie Gibson is an IBM Certified Systems Architect with IBM Software Services for Lotus. In that capacity, he is responsible for managing various engagements with its clients. Mr. Gibson lives in Wake Forest, NC and has been an IBM/Lotus employee for more than 24 years in a variety of sales, consulting, and management roles. He has been working with Notes for more than 10 years focusing on architecture and infrastructure. He also has international experience with working on infrastructure engagements in Malaysia. Brad Schauf is an IBM Executive I/T Architect with more than 20 years of experience in the computer services and consulting industry. He has experience with enterprise-wide software and messaging and portal deployments, with a concentration on Lotus Notes/Domino messaging infrastructure architecture, application development, and integration as well as WebSphere portal architecture design and deployments. His experience includes API-level application development and lead programmer, enterprise lead for messaging and portal deployments to General Manager including P&L commitments. He was a founder of a successful IBM business partner before joining IBM in 1999. David Byrd is an IBM Senior Certified Executive IT Architect with IBM Software Services for Lotus from Fayetteville, GA. He has been an IBM/Lotus employee for more than 9 years in a number of consulting positions covering various technology areas. David has a deep background in virtually all areas of Lotus products and technologies covering areas ranging from low-level API development and collaborative application architectures, to security architectures and messaging architectures. His current focus is on Lotus Quickr as well as other team collaboration technologies and its deployment in enterprise customers. He has worked with Lotus Notes and Domino for more than 15 years. Joseph Anderson is an IBM Certified Senior Managing Consultant from the IBM Software Services for Lotus team. Joseph has worked with Lotus Notes/Domino, Lotus Sametime, and Lotus QuickPlace since the early 1990s, primarily as a consultant. He is currently working with the Competitive Software team focusing on Domino/Notes administration, migration/upgrade, and security. Prior to working in the consulting industry, Joseph worked in the legal industry as a Director of Operations, where he leveraged his Master of Science in Legal Administration from the University of Denver College of Law.

    Printer-friendly
    page layout

    Keyword Tags: IBM, IBM DB2, IBM Lotus, IBM Lotus Domino, IBM Lotus Notes, Lotus @Formula Language, LotusScript

    ADVISORAMA
    Pigeons are just rats with wings.
    -- Alfred Small

    ARTICLE INFO

    DataBased Advisor

    Web Edition: 2008 Week 20, Doc #19464

    FREE ACCESS FREE ACCESS

    SUBSCRIPTION STATUS
    You are not signed-in. If you are a subscriber to this publication, sign-in above to access locked articles. To subscribe or renew go to www.AdvisorStore.com.

    Subscribe to FileMaker Advisor Magazine

    Read the advanced guide to creating custom business database solutions with FileMaker software. Subscribe now to gain access to all the archives and downloads.

    FileMaker.Advisor.com

    Subscribe to Advisor Basics of FileMaker Pro

    Learn the fundamentals of using FileMaker Pro software. Every issue gives you step-by-step instructions on creating the databases you need. Subscribe now!

    FileMaker.AdvisorBasics.com

    Showcase Your Smarts

    Submit your tips, techniques and advice and let Advisor promote your business and build your career. Show the world what you know!

    AdvisorTips.com

    Use of this or any other site, content, product or service of Advisor Media constitutes acceptance of Terms of Use.
    Portions copyright ©1983-2008 Advisor Media, Inc. All Rights Reserved.
    Reuse or reproduction of any portion or quantity of Advisor Media's copyrighted content, in any form, for any purpose, requires written permission.
    ADVISOR®, the ADVISOR logo, and other names and logos that incorporate ADVISOR are registered trademarks, trademarks or service marks of Advisor Media, Inc. in the United States and/or other countries.
    Other trademarks are used for identification, editorial or descriptive purposes and are the property of their owners.
    Hosted by Prominic.NET Website powered by
    LOTUS SOFTWARE
    speet001-06 posted 05/12/2008 modified 11/21/2008 04:20:28 AM ztdbms/ztdbms
    domino-144.advisor.com my.advisor.com 11/21/2008 09:44:21 PM