+ All Categories
Home > Technology > BP214 IBM Lotus Symphony : Finally, A Developer's Friend

BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Date post: 20-May-2015
Category:
Upload: john-head
View: 2,694 times
Download: 1 times
Share this document with a friend
Popular Tags:
62
BP214 IBM Lotus Symphony : Finally, A Developer's Friend John Head PSC Group, LLC http://www.tomjames.com/US/media/in_the_media.asp?set=CC
Transcript
Page 1: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

BP214 IBM Lotus Symphony : Finally, A Developer's FriendJohn HeadPSC Group, LLC

http://www.tomjames.com/US/media/in_the_media.asp?set=CC

Page 2: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Please turn off/set to vibrate/mute allCell PhonesPagersComputers

Please remember to fill out your evaluations

Before we begin

Page 3: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Agenda● Introductions● “Getting Started” with Integration● Advanced Integration

▬ From the Notes Client▬ From Lotus Symphony

● Looking Forward● Q & A

Page 4: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Who am I? John D. Head

Director of Enterprise Collaboration at PSC Group, LLC

Involved in Lotus technology since 1993

OpenNTF.org Steering Committee Member and IP Working Group Chairman

Speaker Over 30 sessions at Lotusphere since 1996 Speaker at Lotus Developer, ILUG, UKLUG, MWLUG, IamLUG, & TriStateLUG conferences

Author Publications on Office and SmartSuite integration with Notes LotusUserGroup.org contributing Author and Forum moderator “Lotus Symphony for Dummies” Technical Editor “Self Assessment and Strategy Guide for Migrating from Domino Document Manager “

Redbook Author

www.johndavidhead.com twitter/johnhead

Page 5: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

PSC Group, LLC

● IBM Premium Business Partner for 19+ Years

● Microsoft Managed Partner● Notes & Domino 8.5.X Design Partner● OpenNTF.org Alliance Member, Steering

Committee Company, & Former Host of OpenNTF.org

● Sponsor of IamLUG and MWLUG in 2009● Winner of 2007 & 2009 Lotus Award!

Host of the following blogs: Ed Brill’s

(www.edbrill.com) Lotus Design Blog(Mary Beth Raven)

(www.notesdesign.com) LotusStaffNotes (Brent Peters)

(www.lotusstaffnotes.com) Lotus Connections Team(synch.rono.us) Domino Server Team

(www.dominoblog.com) Lotus Mashups

(www.mix-and-mash.com) Chris Pepin – IBM CTO’s Office

(www.chrispepin.com)

Page 6: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

The Demo DatabasesPresentation example database

Contains all of the “Getting Started” Demos Works in your Notes Client Configurable for your environment New UI for Rich Client, works in Standard client as well

OpenNTF.org Contacts Experience Customized Notes 8.5.1 Contacts Template Version on server for web and web services demos

Page 7: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

What is Lotus Symphony?What is Lotus Symphony?• IBM branded the Notes 8 Productivity

Tools as Lotus Symphony• Stand-alone Release• Beta 1 was released in Oct 07• IBM is on a 8 week release cycle with

Symphony• Notes 8.0.1 has Symphony Beta 4• Notes 8.5 Beta 1 has Symphony 1.0• Notes 8.5.1 has Symphony 1.3• Symphony 1.3 stand-alone available

Page 8: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Lotus Symphony DetailsLotus Symphony Details• How do they relate to OpenOffice.org?

– They are based on OpenOffice.org 1.1– IBM has made changes since the code branch

• Do they support ODF?– Yes, as well as Microsoft Office 97 through 2003

• Do they have an API?– Yes, an HTML-like document API– Supported in Eclipse.org development and composite applications

• What about LotusScript?– No support for LotusScript or OLE/COM in 8.0.0– 8.0.1 adds basic OLE/COM support– 8.5.1 adds LotusScript and Java API

Page 9: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Agenda● Introductions● “Getting Started” with Integration● Advanced Integration

▬ From the Notes Client▬ From Lotus Symphony

● Looking Forward● Q & A

Page 10: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Lotus Symphony DeploymentLotus Symphony Deployment

• Included with Lotus Notes– 8.0.0 = Productivity Editors– 8.0.1 = Lotus Symphony Beta 4– 8.0.2 = Lotus Symphony 1.0– 8.5.0 = Lotus Symphony 1.1– 8.5.1 = Lotus Symphony 1.3

• Included with Lotus Foundations• Stand-alone

Page 11: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Can we update the embedded tools ourselves?Can we update the embedded tools ourselves?

• NO

• Not Yet

• Coming soon post 8.5.1

• Symphony 3.0 Beta will install on top of Notes

8.5.1

Page 12: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Lotus Symphony – The Developer PerspectiveLotus Symphony – The Developer Perspective

• Symphony has multiple methods for customization– UNO API– Symphony Plug-ins– Composite Applications– 8.5.1 Symphony API for LotusScript and Java

Page 13: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

“Getting Started” Demos● Each demo is the equivlant of a “Hello World” sample● They are self contained and as little code as possible

▬ No error trapping, etc

● This will get you started with Integration

Page 14: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started - ● Symphony Documents (UNO)● Symphony Spreadsheets (UNO)● Symphony Presentations (UNO)● Symphony Documents (LS API)● Symphony Spreadsheets (LS API)● Symphony Presentations (LS API)● Eclipse Project for Symphony Plug-ins

Page 15: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Introduction to UNO DevelopmentIntroduction to UNO Development

• Designed on an interface-based component model called Universal Network Objects (UNO)

• UNO definition– UNO offers interoperability between different programming

languages, different object models, different machine architectures, and different processes; either in a local network or even via the Internet

– UNO components can be implemented in, and accessed from, any programming language for which a UNO languagebinding exists

Page 16: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

What is the ServiceManager?What is the ServiceManager?

• ServiceManager is similar to the NotesSession class• It is a factory class that gets you to other places

Set SM=CreateObject("com.sun.star.ServiceManager")

• Think of the ServiceManager as a back-end class, and we want the front end (like NotesUIWorkspace)

Set Desktop=SM.createInstance("com.sun.star.frame.Desktop")

Page 17: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

What Did That Do?What Did That Do?

• Calling the ServiceManager created an OpenOffice.org window, but we need to do more …

Page 18: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Let’s Start Writer — Word Processing ApplicationLet’s Start Writer — Word Processing Application• So far we have an OpenOffice.Org window, but it doesn’t

know what application it will be — we have to tell it

Dim args()Set WriterApplication=Desktop.loadComponentFromURL

("private:factory/swriter","_blank",0,args)

• Args is a variant array– We don’t want to pass any parameters, but it must be an array

• The “s” in “swriter” stands for “Star”• Now we have a word processor up and running

Page 19: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

The Picture So FarThe Picture So Far

• Now we have an application open• Time to do something!

Page 20: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Let’s Add Some TextLet’s Add Some Text• First, we need to get a handle to the text part of

the document

Set WriterText=WriterApplication.getText()

• Next, we need a cursor position where we can insert the text

Set Cursor=WriterText.createTextCursor()

• Finally, we can make the traditional greeting

Call WriterText.insertString(Cursor,"Hello World!",False)

Page 21: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Hello World!Hello World!

• After executing all of that code, this is the result• Now let’s try it for real

Page 22: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started – Symphony Documents UNO● “Getting Started”

demo #1● Demonstrates how

to use LotusScript to have Notes automate Lotus Symphony Documents via UNO

Page 23: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started – Symphony Spreadsheets UNO● “Getting Started”

demo #2● Demonstrates how

to use LotusScript to have Notes automate Lotus Symphony Spreadsheets via UNO

Page 24: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started – Symphony Presentations UNO● “Getting Started”

demo #3● Demonstrates how

to use LotusScript to have Notes automate Lotus Symphony Presentations via UNO

Page 25: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Notes 8.5.1 and the Symphony API• Included with Notes 8.5.1 is the new Symphony API• Supports LotusScript and Java• Must run from Notes client – does not work with Standalone

Symphony Application (applications or plug-ins)

• API is modeled after Notes Object Model• Symphony Container added to Composite Applications thru the CA

Editor

Page 26: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Step 1: Symphony Application• Create a new SymphonyApplication object• This is a base level object, much like the NotesSession• You will not see anything on screen after setting this

Dim application As SymphonyApplication ● Set application = New SymphonyApplication

Page 27: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Step 2: Symphony Documents• Initialize the Documents Application● You should see the Symphony Application at this point

Dim documents As SymphonyDocuments● Set documents = application.Documents

Page 28: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Step 3: Open a New Document• Create a new document• You can also create a new document based on a Template using the

second property

Dim document As SymphonyDocument ● Set document = documents.AddDocument

("",False,True)

• New Document based on a template●

Set document = documents.AddDocument("D:\FileTypeAssociation\test.ott",True,True)

Page 29: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Step 4: Set the Range• You can set a range based on a paragraph, table, or in this case, the

entire document contents

Dim range As SymphonyTextRange● Set range = document.content.End

Page 30: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Step 5: Insert Text• Using the InsertBefore or InsertAfter methods, you can insert text

based on any range or object

Call range.InsertBefore("Hello World")

Page 31: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Symphony Documents LotusScript API

Page 32: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started – Symphony Documents LotusScript● “Getting Started”

demo #4● Demonstrates how

to use LotusScript to have Notes automate Lotus Symphony Documents via the new LS API

Page 33: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Symphony Spreadsheets LotusScript API

Page 34: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started – Symphony Spreadsheets LotusScript● “Getting Started”

demo #5● Demonstrates how

to use LotusScript to have Notes automate Lotus Symphony Spreadsheets via the new LS API

Page 35: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Symphony Presentations LotusScript API

Page 36: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started – Symphony Presentations LotusScript● “Getting Started”

demo #6● Demonstrates how

to use LotusScript to have Notes automate Lotus Symphony Presentations via the new LS API

Page 37: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Using the Lotus Symphony ToolkitUsing the Lotus Symphony Toolkit

• Documentation and samples for integrating the Lotus Symphony with Notes 8 Standard

• Lotus Symphony Developers API 8.0 Windows.exe• Download this from Lotus Symphony website• Targeted at people who know:

– Java– HTML internals– ODF

• Most of the time you will use this from a Composite Application (CA)

Page 38: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Productivity Tools ArchitectureProductivity Tools Architecture

Page 39: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Lotus Symphony Toolkit• Developer Guide

– Overview, development environment setup, development process, API introduction, Sample code

– How to customize Symphony and make use of UNO API

• Samples– Customize Symphony menu, toolbar, side shelf – API usage (Java, UNO)

• API reference– Javadoc

Page 40: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Lotus Symphony with Eclipse.org Plug-ins• Enable deploying Eclipse plug-ins to Symphony• API for accessing Symphony controls and document content • Enable UI extensions

– Menu (add-ins)

– Toolbar (set of buttons)

– Stack in side shelf

– Another window• Examples

– AutoRecognizer

– Translator

– Backend integration

– Customized editor

Page 41: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Getting Started – Eclipse Project for Symphony Plug-ins● “Getting Started” demo #7● Demonstrates how to create a Lotus

Symphony plug-in using the Lotus Symphony Toolkit

Page 42: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Agenda● Introductions● “Getting Started” with Integration● Advanced Integration

▬ From the Notes Client▬ From Lotus Symphony

● Looking Forward● Q & A

Page 43: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientFrom your Contacts application:● Create Letter ● Create Envelope● Mass Mail Merge● Export● Create Presentation

From the Purchase Orders application:● Advanced Document● Advanced Spreadsheet, with data pilots and charts

This requires that you replace the design of your Contacts application with the OpenNTF.org Contacts Experience template

Page 44: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientCreate Letter – Symphony Documents● From your Contacts,

create a new letter for the selected contact in Lotus Symphony Documents.

● Allow the user to select from custom templates

Page 45: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientCreate Emvelope – Symphony Documents● From your Contacts,

create a new envelpoe for the selected contact in Lotus Symphony Documents.

Page 46: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientMass Mail Merge – Symphony Documents● From your Contacts,

create a mass mail merge for the selected contacts in Lotus Symphony Documents.

● Allow the user to select from custom templates

Page 47: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientExport – Symphony Spreadsheets● From your Contacts,

export selected fields for the selected contacts in Lotus Symphony Spreadsheets.

Page 48: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientCreate Presentation – Symphony Presentations● From your Contacts,

create a presentation for the selected contact in Lotus Symphony Presentations.

● Allow the user to select from custom templates

Page 49: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientCreate Purchase Order – Symphony Documents● From Purchase Orders,

create a new purchase order in Lotus Symphony Documents.

● Allow the user to select from custom templates

Page 50: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced integration from the Notes ClientGenerate Report – Symphony Spreadsheets● From Purchase Orders,

Generate a report with data pilots and charts in Lotus Symphony Spreadsheets

Page 51: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Agenda● Introductions● “Getting Started” with Integration● Advanced Integration

▬ From the Notes Client▬ From Lotus Symphony

● Looking Forward● Q & A

Page 52: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced Integration from other applications● Insert Image● Notes Explorer

Page 53: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced Integration from other ApplicationsInsert Image – Symphony Documents● Using a custom

Symphony Plug-in, add an Insert Image menu item and sidebar that allows for easy image insertion from a Notes repository.

Page 54: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Advanced Integration from other ApplicationsNotes Explorer● A C# and .NET solution that extends Microsoft Explorer to allow

navigation of Domino applications from within Explorer. Notes Explorer is the combination of the Lotus Connectors and DNFS (Domino Network Files Services) from the Notes 5.x time frame.

Page 55: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Agenda● Introductions● “Getting Started” with Integration● Advanced Integration

▬ From the Notes Client▬ From Lotus Symphony

● Looking Forward● Q & A

Page 56: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

2010 and Beyond We finally have great tools

Domino Designer for Eclipse Lotus Symphony API for LotusScript and Java

Great Tools Coming• SymphonyNext (2.0)

• Beta in early 2010• New/Updated APIs for Notes Data

• REST

• DXL

We have multiple options Office, Symphony, OpenOffice.org, Google Docs, etc.

Competition will be good for us … if we can deal with all the changes

Page 57: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Automation vs. Generation● Document Generation is starting to become a viable option

▬ Using the standard formats of OOXML, ODF, and PDF

● Instead of requiring the application to be present, this is done with no interaction of any application

● Tools▬ C# and the OOXML Toolkit for Office▬ Java and the upcoming ODF Toolkit from IBM for Symphony▬ Numerous PDF APIs and Toolkits for both .NET and Java

● Can generate server side in a fraction of the time● Here is a demo of what we are doing with Document Generation …

Page 58: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Don’t want to do the Integration Yourself?● Many third party solutions out there for you to use● Integra4Notes

▬ Reporting and Document Generation for Lotus Symphony

Page 59: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Resources Lotus Symphony Homepage – with community forums and downloads

Symphony.lotus.com

My Symphony Blog Entires

www.johndavidhead.com/symphonythursday

My Symphony Videos

http://www.youtube.com/user/johndavidhead

OpenNTF.org — the open source Web site for Notes www.openntf.org

Integra4Notes Web site www.integra4notes.com

Slides and content available from

http://www.johndavidhead.com http://www.psclistens.com

Page 60: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

Lotus Greenhouse (greenhouse.lotus.com) is a live community website where you can use Lotus Collaboration Products for free!

The Lotus Community Podcasts

Planet Lotus (www.planetlotus.org) is an aggregation of Lotus related blogs and news

IdeaJam (www.ideajam.net) is a place where people can post and share their ideas, and gauge the marketability, popularity and viability with input from others

OpenNTF (www.openntf.org) is a site devoted to getting groups of individuals all over the world to collaborate on Lotus Notes/Domino applications and release them as open source

Bleedyellow.com provides community implementations of Lotus Connections and Sametime

IBM’s Official portal for developers including a dedicated section for Lotus (www.ibm.com/developerworks/lotus)

LotusUserGroup.org is the on-line home of the IBM Lotus community for regional and virtual user groups

Page 61: BP214 IBM Lotus Symphony : Finally, A Developer's Friend
Page 62: BP214 IBM Lotus Symphony : Finally, A Developer's Friend

62

Legal Disclaimer© IBM Corporation 2009. All Rights Reserved.

The inf ormation contained in this publication is prov ided f or inf ormational purposes only. While ef f orts were made to verif y the completeness and accuracy of the inf ormation contained in this publication, it is prov ided AS IS without warranty of any kind, express or implied. In addition, this inf ormation is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible f or any damages arising out of the use of , or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall hav e the ef f ect of , creating any warranties or representations f rom IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement gov erning the use of IBM sof tware.

Ref erences in this presentation to IBM products, programs, or serv ices do not imply that they will be av ailable in all countries in which IBM operates. Product release dates and/or capabilities ref erenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other f actors, and are not intended to be a commitment to f uture product or f eature av ailability in any way. Nothing contained in these materials is intended to, nor shall hav e the ef f ect of , stating or imply ing that any activ ities undertaken by y ou will result in any specif ic sales, rev enue growth or other results.

If the text contains performance statistics or ref erences to benchmarks, insert the f ollowing language; otherwise delete:

Perf ormance is based on measurements and projections using standard IBM benchmarks in a controlled env ironment. The actual throughput or perf ormance that any user will experience will v ary depending upon many f actors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O conf iguration, the storage conf iguration, and the workload processed. Therefore, no assurance can be giv en that an indiv idual user will achieve results similar to those stated here.

If the text includes any customer examples, please conf irm we hav e prior written approval f rom such customer and insert the f ollowing language; otherwise delete:

All customer examples described are presented as illustrations of how those customers hav e used IBM products and the results they may hav e achiev ed. Actual env ironmental costs and perf ormance characteristics may v ary by customer.

Please rev iew text f or proper trademark attribution of IBM products. At f irst use, each product name must be the f ull name and include appropriate trademark sy mbols (e.g., IBM Lotus® Sametime® Uny te™). Subsequent ref erences can drop “IBM” but should include the proper branding (e.g., Lotus Sametime Gateway, or WebSphere Application Server). Please ref er to http://www.ibm.com/legal/copy trade.shtml f or guidance on which trademarks require the ® or ™ sy mbol. Do not use abbrev iations f or IBM product names in your presentation. All product names must be used as adjectiv es rather than nouns. Please list all of the trademarks that y ou use in y our presentation as f ollows; delete any not included in your presentation.

IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Quickr, Sametime, WebSphere, UC2, PartnerWorld and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both. Uny te is a trademark of WebDialogs, Inc., in the United States, other countries, or both.

If you ref erence Adobe® in the text, please mark the f irst use and include the f ollowing; otherwise delete:Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Sy stems Incorporated in the United States, and/or other countries.

If you ref erence Java™ in the text, please mark the f irst use and include the f ollowing; otherwise delete:Java and all Jav a-based trademarks are trademarks of Sun Microsy stems, Inc. in the United States, other countries, or both.

If you ref erence Microsof t® and/or Windows® in the text, please mark the f irst use and include the f ollowing, as applicable; otherwise delete:Microsof t and Windows are trademarks of Microsof t Corporation in the United States, other countries, or both.

If you ref erence Intel® and/or any of the f ollowing Intel products in the text, please mark the f irst use and include those that y ou use as f ollows; otherwise delete:Intel, Intel Centrino, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

If you ref erence UNIX® in the text, please mark the f irst use and include the f ollowing; otherwise delete:UNIX is a registered trademark of The Open Group in the United States and other countries.If you ref erence Linux® in y our presentation, please mark the f irst use and include the f ollowing; otherwise delete:Linux is a registered trademark of Linus Torv alds in the United States, other countries, or both.Other company, product, or serv ice names may be trademarks or serv ice marks of others.

If the text/graphics include screenshots, no actual IBM employ ee names may be used (ev en your own), if y our screenshots include f ictitious company names (e.g., Renovations, Zeta Bank, Acme) please update and insert the f ollowing; otherwise delete:All ref erences to [insert f ictitious company name] ref er to a f ictitious company and are used f or illustration purposes only.


Recommended