32

AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Embed Size (px)

DESCRIPTION

A Lotusphere 2007 Session I gave in the Application Development Track

Citation preview

Page 1: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition
Page 2: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

®

AD303Extreme Makeover – IBM® Lotus® Domino® Application Edition

Ray BilykCertified InstructorData Planners, Inc.

Page 3: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Ray Bilyk

� IBM Certified Instructor

� IBM® Lotus® Notes® and Domino® 7

� IBM Lotus Notes and Domino 6.x

� Certified Lotus Instructor (CLI) since release 4

� IBM Certified Advanced Developer & Administrator since R4.x

� Certified in IBM AIX, Microsoft, Novell as well

� Instructor and Primary Support at Data Planners, Inc.(Southfield, Michigan)

� Speaker and Member of Detroit Notes Professionals User Group

� Blogger / Podcaster

� http://www.thepridelands.com

� http://thepridelands.podshow.com

Page 4: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

My REAL ‘claims to fame’

� Grappled with (and DEFEATED) two professional wrestlers

� Bowled a perfect game at a tournament in 1998

� Counselor for inner-city youth group since 1988

� Proud father of Kiara Anne!

Page 5: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Session description

� Your once ‘state of the art’ applications are now showing their age, which means it’s time for an ‘extreme makeover’. You'll learn how to take a Lotus Notes and Domino application and apply new features from Notes and Domino releases 6 and 7 that make your old applications look and act like new. Watch not only how an old application can be given a visual makeover, but how to apply newfeatures that will improve application performance.

Page 6: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Agenda

� What is an ‘Extreme Makeover’?

� What it is NOT…

� First Steps

� What’s New in release 6.x and 7

� Where do we go from here?

� Database properties

� Other design properties

� If all else fails…

� Conclusion

Page 7: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

What is an “Extreme Makeover”?

� According to Wikipedia:A television program from ABC in which individuals volunteer to receive an extensive makeover in Hollywood.

� http://en.wikipedia.org/wiki/Extreme_Makeover

� According to me:Taking an IBM Lotus Domino application created in previous versions of Notes/Domino and applying ‘new’ technology and features to improve the look (and possibly the performance) of the application.

Page 8: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

What this “Extreme Makeover” is NOT…

� It is NOT ‘rip and replace’

� ‘Extreme Makeover: Home Edition’ has a tendency to tear the house down and rebuild a new one

� This is usually NOT necessary in Notes/Domino

� It is NOT necessarily ‘Best Practices’

� Sessions like that will be mentioned at the end

� It is NOT a code giveaway

� It is NOT a session on every feature currently available

� It is NOT Ty Pennington’s session!

Page 9: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

First Steps

� Examine existing application

� What works?

� What doesn’t work?

� Find the application audience

� Current audience

� Future audience?

� Look at it with ‘new eyes’

� Have existing audience examine the application

� Let a neutral audience check it out

Page 10: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

What’s new?

� In Release 6

� @ThisName and @ThisValue

� Field hints

� New field type: Rich Text Lite

� Embedded elements

� Goodbye layout regions… Hello Layers!

� Color fields

� Enhancements to tabbed tables

� Changing the twistie image

� Allowing view customizations

� Creating documents at a view level

� View style options

� Adding colors to a view

� @Command([EditRestoreDocument])

Page 11: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

What’s new?

� In Release 7

� RSS feed generation (7.0.2)

� Shared columns

� Autosaving documents

� Tighter Sametime Integration

� Using web services design elements

� Agent profiling

� Store, view and access application data in DB2

� Adding actions to the right mouse click menu

� New @Functions and LotusScript Methods/Properties

Page 12: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Where do we go from here?

� Database Properties

� Form(s)

� Layout

� Field formulas

� Views

� Remember to evaluate for either Notes clients, Web clients, or both

� Database Performance

Page 13: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Our demo application

Page 14: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Database Properties

� If you see this in your Advanced tab, your ODS is version 20

� Upgrade the ODS to 43 by selecting the database from the Files tab of the Domino Administrator. In the Tools pane, selectDatabase -> Compact.

� Verify that the database extension is not .ns4 or .ns5

Page 15: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Advanced Database Properties

� Now that we have the Advanced properties...

� Don’t maintain unread marks

� Document table bitmap optimization

� Don't overwrite free space

� Maintain Last Accessed property

� Disable transaction logging

� Allow soft deletions

� Don't support specialized response hierarchy

� Don't allow headline monitoring

� Allow more fields in database

� Use LZ1 compression for attachments

� Limiting the number of entries in the $UpdatedBy & $Revisions fields

� Check Domino Designer Help – ‘Properties that improve database performance’ for more information

Page 16: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Form - Layout

� Layout will depend on whether it is a Notes-based application or a Web-based application

� Many options are available, but remember that cleaner is better

� One way an application can be modified is through style sheets

Page 17: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Adding CSS to the application

� Cascading style sheets (CSS) is an easy way to give the application a consistant look and feel

� Domino supports many style sheet properties including:

� Background color

� Font

� Border and margin options

� A complete list of properties can be found in Domino Designer Help

� Try it today at HND105 ‘The Ultimate Make-Over of an IBM Lotus Domino Site Using CSS’

� Goes with session BP306 ‘How to Make IBM Lotus Domino Sites That Don't Look (or Act) Like Lotus Domino’

Page 18: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Form – Field formulas

� Review the field formulas

� Many times, code can be reused

� @ThisName

� @ThisValue

� CAUTION – Sometimes it’s okay to NOT share

Page 19: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Views

� Shared Columns… more sharing goodness

� Using views to create documents

� Adding colors to a view

� Soft deletions view

� @Command( [EditRestoreDocument] )

� NOTE: @Command does NOT work from the Web

Page 20: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

More fun with views in Lotus Domino 7.0.2

� RSS feed generator

� Allowing more people to get the information in different ways

Page 21: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Adding Sametime to your application

� For a view:

Page 22: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Adding Sametime to your application

� For a field (for a Name data type):

� You can even assign a Contact List Group label for the field

Page 23: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Database performance

� Besides database properties…

� Required reading: IBM Redbook - Performance Considerations for Domino Applications (IBM Form Number SG24-5602-00)

� nsftools.com – Julian Robichaux‘12 Thoughts About Making Code More Efficient’

� http://www.nsftools.com/blog/blog-09-2003.htm#09-08-03

Best advice from Julian…“Know when to say when.”

Page 24: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

If all else fails

� Remember…

Page 25: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Application Development with Lotus softwareNew Web Site!

Visit today!ibm.com/lotus/appdev

(Enhancements planned throughout 1Q)

Discover how Lotus software helps you develop Productivity Applications for your People

You will learn:�How Lotus software helps address

your application development needs.

�Key technical benefits you can realize through Lotus software.

�The combined Lotus software offerings that deliver these benefits

Page 26: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Other Sessions of Interest

� JMP301 JavaScript and AJAX JumpStartHND104 AJAX for IBM Lotus Domino Hands-On

� Scott Good

� JMP201 IBM Lotus Notes Development for Non-Developers

� Kevin Pettitt

� BP104 Worst Practices in IBM Lotus Domino Environments

� Bill Buchan & Paul Mooney

� AD304 IBM Lotus Domino Web Access Customization

� Vinod Seraphin & Shu Sia Lukito

� AD502 Creating Maintainable IBM Lotus Notes and Domino Applications

� Rocky Oliver

Page 27: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Other Sessions of Interest - continued

� BP306 How to Make IBM Lotus Domino Sites That Don't Look(or Act) Like Lotus DominoHND105 The Ultimate Make-Over of an IBM Lotus Domino Site Using CSS

� Scott Good & Henry Newberry

� BP311 The Great Code Giveaway – Web 2.0 Edition

� Viktor Krantz & Rob Novak

� AD401 Leveraging AJAX Frameworks to Build IBM Lotus Domino Web Applications

� Vinod Seraphin & Akira Sudoh

� AD402 @Formulas Meet AJAX

� Jack Ratcliff

Page 28: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Other Sessions of Interest - continued

� ID109 IBM Lotus Notes Hints, Tips, and Tricks

� Alan Lepofsky

� AD505 DevBlast - 30 LotusScript Tips

� Bill Buchan

� BP101 Designing the User Experience: Why Your Interface Matters

� Chris Blatnick, Nathan Freeman

� BOF507 OpenNTF - An Open Source Community

� Bruce Elgort

� AD305 Application Development with IBM Lotus Domino and IBM DB2 IntegrationHND106 IBM Lotus Domino NSFDB2: Development and Integration Hands-On

� Robert Bertolino, Patrick Mancuso & Giancarlo Giannini

Page 29: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Other Sessions of Interest - continued

� AD510 How to Deploy IBM Lotus Domino Applications to Mobile Phones

� Michael Brung, David Girle

� ID215 IBM Lotus Domino and RSS

� Mac Guidera & Dan Gurney

� BP305 From Retro to Rocket: Retooling R5 apps to IBM Lotus Notesand Domino 7 and Beyond

� Jack Dausman & Allison Pang

Page 30: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Additional Sites and Information

� CodeStore – www.codestore.net

� OpenNTF – www.openntf.org

� Taking Notes Podcast – takingnotes.openntf.org

� Bruce Elgort & Julian Robichaux

� IdoNotes Podcast – idonotes.com

� Chris Miller

Page 31: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Please remember to fill out your evaluation

� Name of Speaker

� Ray Bilyk

� Session:

� AD303

� Session Date:

� January 23 or January 25

� Session slides found athttp://www.thepridelands.com

Page 32: AD303 - Extreme Makeover: IBM Lotus Domino Application Edition

Legal Information

© IBM Corporation 2007. All Rights Reserved.

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.

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. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. 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.

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.

IBM, the IBM logo, Lotus, Lotus Notes, Notes, Domino, Sametime, WebSphere, Workplace and Lotusphere are trademarks of International Business Machines Corporation in the United States, other countries, or both.

Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Microsoft and Windows are trademarks of Microsoft Corporation in the United States, other countries, or both.

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.

UNIX is a registered trademark of The Open Group in the United States and other countries.

Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product, or service names may be trademarks or service marks of others.

All references to Acme Corp. refer to a fictitious company and are used for illustration purposes only.