---------------------------------------------------------------------------------------------------------------
Application design
A major new enhancement in Lotus Notes 8 is the support for composite applications, a key element within IBM's service oriented architecture (SOA) and contextual collaboration strategy. By creating composite applications, you can loosely couple IBM® Lotus® Notes applications NSF components, Eclipse components, and Lotus Component Designer components in context as part of one user experience. The ability to combine multiple technologies into a single application provides significant business value: It enables companies to protect and extend their existing assets with increasing degrees of flexibility, and to respond quickly and cost effectively to their emerging business requirements, with applications that are significantly easier to assemble than alternative application development environments.
New with Release 8, a wide range of metadata about the Notes database previously only accessible via Notes formula language are available to the DB2 Access View (DAV). Metadata about the DAV itself is also available. These fields include the previous advanced options UNID, OID, and modified time, and new fields listing the date when the document was added to the database, when the document was created, NSF name, full path and NSF name, $Ref, ReplicaID, parent note id, child count, child note ids, OID sequence number, and server CN. Another special field enables Public Access Notes behavior.Notes 8 standard configuration offers the ability to display narrow views, which have a vertical orientation rather than a horizontal orientation, as well as tiled views, where each document in the view is formatted and displayed as a discrete object (a tile). These views are only available in composite applications. Additional options on the column properties allow you to control how a view is handled in a narrow or tiled display.With Release 8, Notes adds the ability to change the HTML generated at both the form and individual field level. New form-level HTML options include disabling passthru HTML and treating the HTML as plain text, forcing all sections to be expanded regardless of their expansion in the Notes rich text fields, forcing all outlines to be expanded regardless of their expansion in the Notes rich text, and forcing alternate formatting of tables with tabbed sections.A view in a Domino application may contain more than one index, created for each possible user-sorted column when the view is built. With Release 8, Notes offers an option to reduce overhead and processing loads by deferring the creation of these sort indices until they are needed.The following feature documentation is new in the Application Design section of online help.Planning an applicationPlanning a composite application This short introduction of composite applications links to more detailed information in the composite applications section.Table of Notes and Domino known limits The known limits for characters used in names has increased for view names, form names, and agent names, also incorporating cascaded names, and the limit for field names now allows for 32 characters regardless of character set. A new length limit of 2048 bytes has been added for a macro language string literal.Designing formsControlling HTML options for a form New HTML options allow generated HTML to be controlled at the form level as well as the individual field level. Field-level HTML options will override form-level HTML options.Creating an embedded scheduler Embedded schedulers can now be created with an option to show check boxes.Designing fieldsUsing rich text lite fields There is a new rich text lite field type of Thumbnail. Also, rich text lite fields are not available on the Web.Controlling HTML options for a field New HTML options allow generated HTML to be controlled at the individual field level as well as the form level. Field-level HTML options will override form-level HTML options. Specific instructions are given for Disabling passthru HTML in a field.Creating fields that inherit values The description of field inheritance has been completely revised, to avoid confusing inheritance of values from parent document to child document with populating a field with a default value based upon a field value from within the existing document.Designing viewsDisplaying numbers in columns A new display type of Bytes can display numbers as bytes, kilobytes, megabytes, and terabytes.Advanced options for columns When extending the columns of a view to fill the available space, Notes now offers the ability to select which column is extended. Views can be optimized for vertical layouts, by designating individual columns as wrapping to a second row or hidden when viewed vertically. Views can be optimized for tiled layouts, by designating individual columns as belonging to the top, header section of the tile, belonging to the bottom, attributes section of the tile, or hidden when viewed as tiles. New column options are also available to specify composite application properties used for communication between application components.Deferred sort index creation The creation of additional indices for each possible user-sorted column within a view can now be deferred until used. Display options for views in composite applications New options to control the behavior of views incorporated in composite applications offer the ability to hide column headers, create missing roots of partial threads to display response trees for all messages, enable inline thread expansion, allow switching between message and conversation mode of threads, show icons to switch between horizontal and vertical preview layouts, show the tab navigator, and select between Table (Vertical or Narrow), Calendar, Tile, and third party viewers.Navigating an applicationSelecting outline entry properties A new option will display a horizontal separator line between selected entries when viewed in Notes Standard configuration.Adding automation to applicationsCreating a form, subform, page, or view action A new option allows actions to be created as split buttons that can either show an entire menu of actions or invoke the topmost action on the menu with a single click.Action bar A new option allows actions to be included in the right-mouse context menuCreating and inserting shared actions Shared actions can also be created as split buttons or included in the right-mouse context menu.Triggering an agent on an event Agents can now be triggered when the server starts.Optimizing and troubleshooting databasesProperties that improve database performance Two new options have been added to improve database performance. Support Response Thread History adds information fields allowing new documents to be sorted into a document response hierarchy. Don't allow simple search disables the DbSearch function for the database.Working with Data in DB2 Enabled Notes DatabasesSpecial Fields for the DAV A wide range of metadata about the Notes database previously only accessible via Notes formula language is now available to the DB2 Access View via special fields.Composite applications - design and managementThere is a new subsection of application design, devoted entirely to the design and management of composite applications.Composite applications in IBM Lotus Domino DesignerComposite application creation processDesigning your application componentsBuilding your componentsGenerating portlets and deploying to Websphere PortalAssembling and wiring your composite applicationDeploying and testing your composite applicationWorking with composite applications in Domino DesignerReference documentation for composite applicationsExample: Simple composite application creationUsing the Notes 8 mail template in a composite application---------------------------------------------------------------------------------------------------------------
Programming
A major new enhancement in Lotus Notes Release 8 is the support for composite applications, a key element within IBM's service oriented architecture (SOA) and contextual collaboration strategy. By creating composite applications, you can loosely couple IBM® Lotus® Notes applications NSF components, Eclipse components, and Lotus Component Designer components in context as part of one user experience. Two new Notes classes were created to allow this coupling, NotesProperty and NotesPropertyBroker. Additionally, the new event OnSelect was added to the NotesUIView class to allow the selecting of documents within one component to affect the information displayed within the other components.
Building on the concept of script libraries, new with Release 8, Domino Web services can be made available to applications through Web service enabled script libraries. Each Web service enabled LotusScript or Java script library contains a single Web service. Once a Web service enabled script library is created, it can be used in many different contexts, such as agents and event handling code, within Domino applications. Also known as Web service consumers, they let an agent or other code call Web services hosted elsewhere by Using the Web service consumer script library. A Web service consumer does not use a Web Service design element, which is still used only for publishing.Two new classes in Release 8, NotesDirectory and NotesDirectoryNavigator, allow you to perform Lookups and navigate the database files of a server programmatically from within LotusScript. Many new methods and properties have also been added, to make it easier to work with document and view entry collections.The following documentation is new in the Programming section of online help.Programming overview and user interfaceWeb service enabled script libraries or Web service consumers Web services can be made available to applications through Web service enabled script libraries, known as Web service consumers, each of which calls a single Web service hosted elsewhere. Once created, a Web service enabled script library can be used in many different contexts within Domino applications.Programming Domino for Web applicationsWeb services in Domino Designer Web services can be made available to applications through Web service enabled script libraries. The "Warn if the WSDL interface is modified" option is automatically selected when an Import WSDL action is performed. The option "Include operation name in SOAP action" is enabled by default.Previewing Web services Web services can now be previewed locally before they are released, in the same way that forms and views can be previewed locally.RSS feeds A new database template, rss_generator.ntf, contains a collection of agents and script libraries designed to produce RSS feeds for views in Domino databasesDomino Web logs (blogs) A new Domino blog template, dominoblog.ntf, can be used to create personal Web logs with Notes. Content can be added using either Lotus Notes or a Web browser.Managing blog HTML templates HTML templates for blogs control how the blog looks and feels. The Page, Item, Block, and Web client templates combine HTML with special system tags to display the end result in a browser.LotusScript languageLotus Domino Designer 8 adds the following:Date statement -- not valid on UNIX or Macintosh OS X operating systemsTime statement -- not valid on UNIX or Macintosh OS X operating systemsLimits on file operations in LotusScript -- no limit to the line length of a Write statementSpaces in LotusScript file names -- which file handling routines preserve leading spaces and which remove themFormula languageLotus Domino Designer 8 adds the following:@GetViewInfo -- added new attribute IsViewFiltered@PasswordQuality examples -- added examples using @PasswordQuality with password encryption@URLQueryString -- now allows dynamic DB2 Query Views@UserRoles -- no database location limit@Version -- added new version numbersCalendarFormat @Command -- added two work week and one work month formatsCopySelectedAsTable @Command -- new commandOpenInNewWindow @Command -- new commandLotusScript/COM/OLE classesLotus Domino Designer 8 adds the following:NotesAdministrationProcess.AddInternetCertificateToUser method -- now available for use with the CA processNotesDatabase.GetAllReadDocuments method -- new methodNotesDatabase.GetAllUnreadDocuments method -- new methodNotesDatabase.GetProfileDocCollection method -- profilename parameter is now optionalNotesDatabase.UnprocessedDocuments property -- can now run Before New Mail Arrives and After New Mail ArrivesNotesDirectory -- new classNotesDirectoryNavigator -- new classNotesDocument.MarkRead method -- new methodNotesDocument.MarkUnread method -- new methodNotesDocumentCollection.Clone method -- new methodNotesDocumentCollection.Contains method -- new methodNotesDocumentCollection.Intersect method -- new methodNotesDocumentCollection.MarkAllRead method -- new methodNotesDocumentCollection.MarkAllUnread method -- new methodNotesDocumentCollection.Merge method -- new methodNotesDocumentCollection.Subtract method -- new methodNotesDXLExporter. AttachmentOmittedText property -- new propertyNotesDXLExporter.MIMEOption property -- new propertyNotesDXLExporter.OLEObjectOmittedText property -- new propertyNotesDXLExporter.OmitItemNames property -- new propertyNotesDXLExporter.OmitMiscFileObject property -- new propertyNotesDXLExporter.OmitOLEObjects property -- new propertyNotesDXLExporter.OmitRichtextAttachments property -- new propertyNotesDXLExporter.OmitRichtextPictures property -- new propertyNotesDXLExporter.PictureOmittedText property -- new propertyNotesDXLExporter.RestrictToItemNames property -- new propertyNotesDXLExporter.RichTextOption property -- new propertyNotesDXLExporter.UncompressAttachments property -- new propertyNotesDXLImporter.CompileLotusScript property -- new propertyNotesProperty -- new classNotesPropertyBroker -- new classNotesSession.GetDirectory method -- new methodNotesSession.GetPropertyBroker method -- new methodNotesUIScheduler.DisplayCheckboxes property -- new propertyNotesUIView.Onselect event -- new eventNotesUIWorkspace.OutlineReload method -- new methodNotesView.CreateViewNavFromAllRead method -- new methodNotesView.CreateViewNavFromAllUnread method -- new methodNotesView.GetAllReadEntries method -- new methodNotesView.GetAllUnreadEntries method -- new methodNotesView.MarkAllRead method -- new methodNotesView.MarkAllUnread method -- new methodNotesViewEntryCollection.Clone method -- new methodNotesViewEntryCollection.Contains method -- new methodNotesViewEntryCollection.Intersect method -- new methodNotesViewEntryCollection.MarkAllRead method -- new methodNotesViewEntryCollection.MarkAllUnread method -- new methodNotesViewEntryCollection.Merge method -- new methodNotesViewEntryCollection.Subtract method -- new methodNotesViewNavigator.MarkAllRead method -- new methodNotesViewNavigator.MarkAllUnread method -- new methodJava/CORBA classesLotus Domino Designer 8 adds the following:Running a Java program -- Release 8 supports the Sun Java 2 Platform, Technology Edition, v 1.4.2.AdministrationProcess.addInternetCertificateToUser method -- now available for use with the CA processAgentContext.unprocessedDocuments property -- can now run Before New Mail Arrives and After New Mail ArrivesDatabase.getAllReadDocuments method -- new methodDatabase.getAllUnreadDocuments method -- new methodDocument.markRead method -- new methodDocument.markUnread method -- new methodDocumentCollection.markAllRead method -- new methodDocumentCollection.markAllUnread method -- new methodDXLExporter.attachmentOmittedText property -- new propertyDXLExporter.MIMEOption property -- new propertyDXLExporter.OLEObjectOmittedText property -- new propertyDXLExporter.omitItemNames property -- new propertyDXLExporter.omitMiscFileObjects property -- new propertyDXLExporter.omitOLEObjects property -- new propertyDXLExporter.omitRichtextAttachments property -- new propertyDXLExporter.omitRichtextPictures property -- new propertyDXLExporter.pictureOmittedText property -- new propertyDXLExporter.restrictToItemNames property -- new propertyDXLExporter.richTextOption property -- new propertyDXLImporter.compileLotusScript property -- new propertyView.createViewNavFromAllRead method -- new methodView.createViewNavFromAllUnread method -- new methodView.getAllReadEntries method -- new methodView.getAllUnreadEntries method -- new methodView.markAllRead method -- new methodView.markAllUnread method -- new method