Tải bản đầy đủ (.pdf) (1,098 trang)

Lotus notes developers toolbox tips for rapid and successful deployment

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (14.49 MB, 1,098 trang )

developerWorks®SeriesLotus®Notes®
Developer'sToolbox:TipsforRapidandSuccessful
Deployment
ByMarkElliott
...............................................
Publisher:IBMPress
PubDate:October10,2006
PrintISBN-10:0-13-221448-2
PrintISBN-13:978-0-13-221448-3
Pages:744

TableofContents|Index

Lotus®Notes®Developer'sToolboxwillhelpyoustreamlineandimproveeveryphaseofNotesdevelopment.
LeadingIBMLotusNotesdeveloperMarkElliottsystematicallyidentifiessolutionsforthekeychallengesNotes
developersface,offeringpowerfuladvicedrawnfromhisextensiveenterpriseexperience.Thisbookpresentsbest
practicesandstep-by-stepcasestudiesforbuildingthefivemostcommontypesofNotesapplications:
collaboration,calendar,workflow,referencelibrary,andWebsite.
ThisbookisforNotesdevelopersatalllevelsofexperience,usingrecentversionsfromV5.0throughV7.0,and
beyond.LikeallIBMdeveloperWorks®Seriesbooks,itisfullyintegratedwithcomprehensiveWebresources,
includingworkingexamplesofeachproject,enhancedversionsthatgobeyondthebook,samplegraphics,andtools
foraddressingreal-worldbusinessscenarios.Coverageincludes
·GettingstartedwithDominoDesigner®,andusingthedesignelementsitprovides
·DevelopingNotesdatabases,step-by-step:considerations,codeinstructions,designtips,andprojectplans
·MasteringandcustomizingLotusFormulaandLotusScript
·Customizingforms,views,agentbehavior,applicationinterfaces,andmore
·Buildingcalendarapplicationswithsimpleandcomplexrecurrentevents
·Developingapplicationsthatdistributeinformationviaemail,responsedocuments,andothermethods
·Creatingreferencelibraryapplications,andgeneratingExcel®spreadsheetsforanalysis
·ConstructingsophisticatedworkflowandWeb-basedNotesapplications
·Securing,deploying,andmaintainingNotesapplications,andmanagingtheirdata


·Enhancingdatabasefunctionality:morethan95ready-to-usecodemodulesandcustomizations
·ExclusiveWebresourcesavailableonlytobookregistrants
TheIBMPressdeveloperWorks®SeriesisauniqueundertakinginwhichprintbooksandtheWebaremutually
supportive.ThepublicationsinthisseriesarecomplementedbyresourcesonthedeveloperWorksWebsiteon
ibm.com.Iconsthroughoutthebookalertthereadertothesevaluableresources.


developerWorks®SeriesLotus®Notes®
Developer'sToolbox:TipsforRapidandSuccessful
Deployment
ByMarkElliott
...............................................
Publisher:IBMPress
PubDate:October10,2006
PrintISBN-10:0-13-221448-2
PrintISBN-13:978-0-13-221448-3
Pages:744

TableofContents|Index























































Copyright
IBMPress:ThedeveloperWorks®Series
IBMPress
Preface
Acknowledgments
AbouttheAuthor
Chapter1.AnIntroductiontotheLotusDominoToolSuite
ProductOverview
LinkstodeveloperWorks
Chapter2.GettingStartedwithDesigner
InstallingtheDesignerClient
LaunchingtheDesignerClient
CreatingMyFirstNotesDatabase
LinkstodeveloperWorks
Chapter3.NavigatingtheDominoDesignerWorkspace
AnIntroductiontoDesigner
TheDesignPane
TheWorkPane

TheObjectPane
TheProgrammer'sPane
TheActionPane
DesignTabs
LanguageSelector
ClientandBrowserSelector
StatusBar
PropertiesDialog
LinkstodeveloperWorks
Chapter4.DominoDesignElements
BuildingBlocksofaNotesDatabase
NamingDesignElements



































































































WorkingwithForms
WorkingwithFields
WorkingwithLayoutRegions
WorkingwithSections
WorkingwithButtons
WorkingwithViews
WorkingwithApplicationMenus
WorkingwithFolders
WorkingwithFramesets
WorkingwithPages
WorkingwithSharedCode
WorkingwithSharedResources

WorkingwithEvents
LinkstodeveloperWorks
Chapter5.AnIntroductiontoFormulaLanguage
WhatIsFormulaLanguage?
WhatIsaFormula?
WorkingwithVariables
FormulaLanguageKeywords
WorkingwithOperators
GeneralSyntaxRules
WhatAreFunctionsandCommands?
WhatAreCommands?
WorkingwithTextStrings
WorkingwithConditionalBranching
WorkingwithIterativeLoops
WorkingwithLookupFunctions
WorkingwithDates
WorkingwithLists
WorkingwithUserPrompts
DebuggingFormulaLanguage
LinkstodeveloperWorks
Chapter6.AnIntroductiontoLotusScript
IntroductiontoObject-OrientedProgramming
LotusScriptClasses
Keywords
Variables
Constants
Operators
Comments
DefiningVariablesandConstants
DefiningObjectReferenceVariables

WorkingwithConditionalBranching
WorkingwithIterativeLoops
CommunicatingwithUsers
WorkingwithArrays
UsingFormulaLanguageinLotusScriptCode






























































































CompilingLotusScriptCode
LinkstodeveloperWorks
Chapter7.FundamentalsofaNotesApplication
TheFivePrimaryApplicationTypes
TheApplicationDevelopmentLifeCycle
ElementsofaProjectPlan
ElementsofaProjectSchedule
QuestionstoAskWhenDesigningaDatabase
DesigningaNotesApplication
Project:BuildaDatabasetoTrackWebSites
LinkstodeveloperWorks
Chapter8.CalendarApplications
ApplicationArchitecture
ManagingRecurringEventsUsingSingleDocuments
ManagingRecurringEventsUsingMultipleDocuments
ProjectA:BuildanEventCalendar
ProjectB:BuildaConferenceRoomReservationSystem
LinkstodeveloperWorks
Chapter9.CollaborativeApplications
CollaborativeApplications
ProjectA:BuildaDiscussionForum
ProjectB:BuildaProjectControlNotebook
LinkstodeveloperWorks
Chapter10.ReferenceLibraryApplications

ReferenceLibraryApplications
ProjectA:BuildaConnectionDocumentDatabase
ProjectB:BuildaSpreadsheetGenerator
Chapter11.WorkflowApplications
DefiningaWorkflowApplication
Project:BuildingaWorkflowDatabase
Architecture
LinkstodeveloperWorks
Chapter12.WebApplications
DefiningaWebApplication
Project:BuildingaDominoWebSite
Security
Troubleshooting
LinkstodeveloperWorks
Chapter13.DesignEnhancementsUsingLotusScript
CustomLotusScriptFunctionsandRoutines
CompareTwoDates
CheckforanElementinanArray
ReplaceanElementinanArray
RemoveaCharacterfromaString
RemoveanElementfromanArray
CompareTwoArrays
WorkingwithDynamicArrays



































































































CreateaCustomPopupDialogBox

RefreshaDocumentfromtheUserInterface
SearchforaDocument
WorkingwithDatesandTimes
ComputetheDayoftheWeek
HowtoReference"$"Fields
HowtoSetthe"ReturnReceipt"forLotusScript-GeneratedEmail
AddFieldValidationtoaForm
Displayan"AreYouSure?"Message
FormataUser'sName
AutomaticallyUpdatea"History"FieldWhenaDocumentChanges
PrompttheUsertoDescribeDocumentChangesandUpdatethe"History"Log
CreateaUniqueDocumentRecordNumber
LimittheAbilitytoCreateDocumentsonaLocalDatabase
HowtoZeroPadaTextNumber
HowtoAddTexttoaRichTextObject
HowtoAttachaFiletoaRichTextObject
HowtoFormatTextinaRichTextObject
ChangeDocumenttoEditMode
ObtaintheCurrentRolesAssignedtoaUser
GenerateaDocumentinAnotherDatabase
GenerateaNewDocumentbyDuplicatinganExistingDocument
PromptinLotusScript
SendingEmailtoMultipleRecipientsUsingLotusScript
AddaViewIconandMoodStamptoanEmail
RetrieveandUpdateNOTES.INIEnvironmentValues
AssignOneRichTextObjecttoAnotherRichTextObject
AddaDocument,View,orDatabaseLinktoaRichTextField
CreateaButtontoAddaCalendarEvent
LinkstodeveloperWorks
Chapter14.DesignEnhancementsUsingFormulaLanguage

FormulaLanguageEnhancements
CompareTwoLists
ExpandandCollapseAllDocumentSections
ExpandandCollapseAllViewCategories
GettheCurrentDayoftheWeek
GettheCurrentMonthoftheYear
CreateaFormattedDateString
CreateanAttachFileButton
DisplaytheWindowsFileFinderDialog
CreateaNewDocument
Createa"LastUpdatedBy"Field
Createa"LastModifiedOn"DateStamp
FormataUser'sName
HideTextandDesignElementsBasedonaUser'sRole
Workingwith@DBColumn
Workingwith@DBLookup
































































































ParseaTextString
HowtoFormatFieldValuesUsing"InputTranslation"
HowtoAddFieldValidation
Displayan"AreYouSure?"WarningMessage
GenerateEmailUsingFormulaLanguage
HowtoSortaListofValues
Chapter15.ViewEnhancements
ViewEnhancements
CreateaNewDocumentbyDouble-ClickingonaCalendarDate
DisplayDocumentsinaViewbyYearandMonth
DisplayanIconinaView

RetrieveAllViewsinaDatabase
RetrieveAllColumnsinaView
RetrieveAllColumnsforEachViewinaDatabase
HowtoManageConflictDocuments
DisplayAllDocumentsbyFormName
DisabletheAbilitytoPasteDocumentsintoaView
LinkstodeveloperWorks
Chapter16.SampleAgents
AgentEnhancements
SimpleActionAgenttoModifyAllDocuments
LotusScriptAgenttoModifyAllDocumentsContainingaSpecificFieldValue
AgenttoManuallyGenerateanEmailReport
ScheduleAgenttoSendaDaily,Weekly,orMonthlyEmailReport
LinkstodeveloperWorks
Chapter17.MiscellaneousEnhancementsandTipsforDominoDatabases
MiscellaneousEnhancements
DisabletheAbilitytoPrint,Copy,Cut,andForwardDocuments
UsingFieldHintsonaForm
UsingStaticPopupstoDisplayHelpMessages
HowtoInheritFieldsBetweenForms
AddanIcontoanActionButton
CreateaCustomApplicationInterface
HowtoSettheFieldTabOrderonaForm
DominoShortcutKeys
Chapter18.DataManagement
ImportingData
ExportingData
MigratingData
CreatingTables
ModifyingDataUsingaLotusScriptAgent

ArchivingDataUsinganAgent
RefreshingAllDocuments
Chapter19.Security
AccessControlListFundamentals
ManagingDatabaseAccess
HowtoEnforceConsistentACLSettingsAcrossReplicas


























































































EncrypttheDatabase
ManagingAccesstoViews
ManagingAccesstoFormsandDocuments
ManagingAccesstoFields
ManagingAccesstoSourceCode
HidingaDatabaseDesign
HidingaLotusScriptLibrary
Howto"Sign"aDatabase
HowtoCrossCertifyDominoServers
LinkstodeveloperWorks
Chapter20.ApplicationDeploymentandMaintenance
WhatAreTemplates?
EstablishingaDevelopmentEnvironment
MigratingaDatabaseDesign
PreserveaCopyoftheDatabaseDesign
DeployingtheProductionDatabase
TheImportanceofDatabaseBackups
ProcessSynopsis
LinkstodeveloperWorks
Chapter21.Troubleshooting
TroubleshootingLotusScript
TroubleshootingAgents
CommonDatabaseProblems
WheretoFindAdditionalAssistance
LinkstodeveloperWorks
AppendixA.OnlineProjectFilesandSampleApplications
AbouttheOnlineMaterials

AbouttheCompanionWebSite
AbouttheDeveloper'sToolbox
Aboutthe"Chapter07FundamentalsProject"Folder
Aboutthe"Chapter08CalendarProject"Folder
Aboutthe"Chapter09CollaborationProject"Folder
Aboutthe"Chapter10ReferenceLibraryProject"Folder
Aboutthe"Chapter11WorkflowProject"Folder
Aboutthe"Chapter12WebSiteProject"Folder
Aboutthe"Chapter18DataManagement"Folder
Aboutthe"DevelopmentToolsandFiles"Folder
InstallingaNotesDatabase
AppendixB.IBM®Lotus®Notes®andDomino®What'sNext?
Developer-SpecificEnhancements
WhatIsaCompositeApplication?
CompositeApplicationDevelopmentTools
AddingValueintotheFuture
Endnotes
Index



Copyright
Theauthorsandpublisherhavetakencareinthepreparationofthisbook,but
makenoexpressedorimpliedwarrantyofanykindandassumenoresponsibility
forerrorsoromissions.Noliabilityisassumedforincidentalorconsequential
damagesinconnectionwithorarisingoutoftheuseoftheinformationor
programscontainedherein.
©Copyright2007byInternationalBusinessMachinesCorporation.Allrights
reserved.
NotetoU.S.GovernmentUsers:Documentationrelatedtorestrictedright.Use,

duplication,ordisclosureissubjecttorestrictionssetforthinGSAADPSchedule
ContractwithIBMCorporation.
IBMPressProgramManagers:TaraWoodman,ElliceUffer
Coverdesign:IBMCorporation
PublishedbyPearsonplc
PublishingasIBMPress
IBMPressoffersexcellentdiscountsonthisbookwhenorderedinquantityfor
bulkpurchasesorspecialsales,whichmayincludeelectronicversionsand/or
customcoversandcontentparticulartoyourbusiness,traininggoals,marketing
focus,andbrandinginterests.Formoreinformation,pleasecontact:
U.S.CorporateandGovernmentSales
1-800-382-3419

ForsalesoutsidetheUnitedStates,pleasecontact:
InternationalSales

ThefollowingtermsaretrademarksorregisteredtrademarksofInternational
BusinessMachinesCorporationintheUnitedStates,othercountries,orboth:
DB2,CICS,IMS,Lotus,Tivoli,WebSphere,Rational,IBM,theIBMlogo,andIBM
Press.JavaandallJava-basedtrademarksaretrademarksofSunMicrosystems,
Inc.intheUnitedStates,othercountries,orboth.Microsoft,Microsoft.NET,.NET,
Windows,WindowsNT,andtheWindowslogoaretrademarksoftheMicrosoft
CorporationintheUnitedStates,othercountries,orboth.Linuxisaregistered


trademarkofLinusTorvalds.Intel,IntelInside(logo),MMX,andPentiumare
trademarksofIntelCorporationintheUnitedStates,othercountries,orboth.
OSF/1andUNIXareregisteredtrademarksandTheOpenGroupisatrademarkof
theTheOpenGroupintheUnitedStatesandothercountries.UMLisaregistered
trademarkoftheObjectManagementGroup(OMG).Othercompany,product,or

servicenamesmentionedhereinmaybetrademarksorservicemarksoftheir
respectiveowners.Anypersons,businesses,governmententities,academic
institutions,localesoreventsusedinthisbookarefictionalandforthepurposeof
illustratingconceptsrelatedtothesubjectmatterofthisbook.Anyresemblance
toactualpersons(livingordead),businesses,governmententities,academic
institutions,localesoreventsisentirelycoincidental.
LibraryofCongressCataloging-in-PublicationData
Elliott,Mark,1968LotusNotesdeveloper'stoolbox:tipsforrapidandsuccessfuldeployment/Mark
p.cm.
ISBN0-13-221448-2(pbk.:alk.paper)
1.LotusNotes.2.Computersoftware-Development.3.Computersecurity.4.Business--Computer
programs.I.Title.
HF5548.4.L692E452006
005.5'7--dc22
2006023492
Allrightsreserved.PrintedintheUnitedStatesofAmerica.Thispublicationis
protectedbycopyright,andpermissionmustbeobtainedfromthepublisherprior
toanyprohibitedreproduction,storageinaretrievalsystem,ortransmissionin
anyformorbyanymeans,electronic,mechanical,photocopying,recording,or
likewise.Forinformationregardingpermissions,writeto:
PearsonEducation,Inc.
RightsandContractsDepartment
75ArlingtonStreet,Suite300
Boston,MA02116
Fax:(617)848-7047
TextprintedintheUnitedStatesonrecycledpaperatRRDonnellyin
Crawfordsville,Indiana.
Firstprinting,October2006




Dedication
ThisbookisdedicatedtomywonderfulsonsRyanandAlex.





IBMPress:ThedeveloperWorks®Series
TheIBMPressdeveloperWorksSeriesrepresentsauniqueundertakinginwhich
printbooksandtheWebaremutuallysupportive.Thepublicationsinthisseries
arecomplementedbytheirassociationwithresourcesavailableatthe
developerWorksWebsiteonibm.com.Theseresourcesincludearticles,tutorials,
forums,software,andmuchmore.
Throughtheuseoficons,readerswillbeabletoimmediatelyidentifyareource
ondeveloperWorkswhichrelatestothatpointofthetext.Asummaryoflinks
appearsattheendofeachchapter.Additionally,youwillbeabletoaccessan
electronicguideofthedeveloperWorkslinksandresourcesthrough
ibm.com/developerworks/dwbooksthatreferencedeveloperWorksSeries
publications,deepeningthereader'sexperience.
AdeveloperWorksbookoffersreaderstheabilitytoquicklyextendtheir
informationbasebeyondthebookbyusingthedeepresourcesofdeveloperWorks
andatthesametimeenablesdeveloperWorksreaderstodeepentheirtechnical
knowledgeandskills.
ForafulllistingofdeveloperWorksSeriespublications,pleasevisit:
ibmpressbooks.com/dwseries.






IBMPress
DB2®Books
DB2®UniversalDatabaseV8forLinux,UNIX,andWindows
DatabaseAdministrationCertificationGuide,FifthEdition
BaklarzandWong
UnderstandingDB2®
Chong,Liu,Qi,andSnow
HighAvailabilityGuideforDB2®
EatonandCialini
DB2®UniversalDatabaseV8HandbookforWindows,UNIX,and
Linux
Gunning
DB2®SQLPL,SecondEdition
Janmohamed,Liu,Bradstock,Chong,Gao,McArthur,andYip
DB2®forz/OS®Version8DBACertificationGuide
Lawson
DB2®UniversalDatabaseV8.1CertificationExam700StudyGuide
Sanders
DB2®UniversalDatabaseV8.1CertificationExam703StudyGuide
Sanders
DB2®UniversalDatabaseV8.1CertificationExams701and706
StudyGuide
Sanders


DB2®UniversalDatabaseforOS/390
SloanandHernandez
TheOfficialIntroductiontoDB2®forz/OS®,SecondEdition
Sloan

AdvancedDBACertificationGuideandReferenceforDB2®Universal
Databasev8forLinux,UNIX,andWindows
SnowandPhan
DB2®Express
Yip,Cheung,Gartner,Liu,andO'Connell
ApacheDerbyOfftotheRaces
Zikopoulos,Baklarz,andScott
DB2®Version8
Zikopoulos,Baklarz,deRoos,andMelnyk

OnDemandComputingBooks
BusinessIntelligencefortheEnterprise
Biere
OnDemandComputing
Fellenstein
GridComputing
JosephandFellenstein
AutonomicComputing
Murch

Rational®SoftwareBooks


SoftwareConfigurationManagementStrategiesandIBMRational®
ClearCase®,SecondEdition
BellagioandMilligan
ImplementingIBM®Rational®ClearQuest®
Buckley,Pulsipher,andScott
ProjectManagementwiththeIBMRationalUnifiedProcess
Gibbs

IBMRational®ClearCase®,Ant,andCruiseControl
Lee
VisualModelingwithRationalSoftwareArchitectandUML
QuatraniandPalistrant

Websphere®Books
IBM®WebSphere®
Barcia,Hines,Alcott,andBotzum
IBM®WebSphere®ApplicationServerforDistributedPlatformsand
z/OS®
Black,Everett,Draeger,Miller,Iyer,McGuinnes,Patel,Herescu,Gissel,
Betancourt,Casile,Tang,andBeaubien
EnterpriseJava™ProgrammingwithIBM®WebSphere®,Second
Edition
Brown,Craig,Hester,Pitt,Stinehour,Weitzel,Amsden,Jakab,andBerg
IBM®WebSphere®andLotus
Lamb,Laskey,andIndurkhya
IBM®WebSphere®SystemAdministration


Williamson,Chan,Cundiff,Lauzon,andMitchell
EnterpriseMessagingUsingJMSandIBM®WebSphere®
Yusuf

MoreBooksFromIBMPress
Irresistible!Markets,Models,andMeta-ValueinConsumer
Electronics
BaileyandWenzek
Service-OrientedArchitectureCompass
Bieberstein,Bose,Fiammante,Jones,andShah

DevelopingQualityTechnicalInformation,SecondEdition
Hargis,Carey,Hernandez,Hughes,Longo,Rouiller,andWilde
PerformanceTuningforLinux®Servers
Johnson,Huizenga,andPulavarty
RFIDSourcebook
Lahiri
BuildingApplicationswiththeLinuxStandardBase
LinuxStandardBaseTeam
AnIntroductiontoIMS™
Meltz,Long,Harrington,Hain,andNicholls
SearchEngineMarketing,Inc.
MoranandHunt
CanTwoRightsMakeaWrong?InsightsfromIBM'sTangibleCulture
Approach


MoultonReger
InescapableData
StakutisandWebster



Preface
AVision
WelcometotheLotus®Notes®Developer'sToolbox.Letmestartbysaying...I've
beeninyourshoes.I'vestoodinalocalbookstoreskimmingthroughpublications
andwonderinghowthisbookisanydifferentfromtheothersontheshelf.Does
thisbookcovertheinformationIneed?WillitgivemetheanswersIneed?Willit
showmestep-by-stepwhattodo?Thesearelegitimatequestionsthatdeservea
forthrightanswer.

Havingspentthelast20yearsdevelopingapplicationsthatspanthespectrumof
technologyfrommainframesoftwaretothosehostedandaccessedfromWeb
serversI'vepurchasednumerous"howto"books.Mostofthemtaughtlanguage
syntax,explainedrules,andprovidedabbreviatedcodeexamplesintendedto
illustrateaparticularprogrammingtechniqueorstructure.Althoughthesebooks
hadbenefits,inmyexperiencetheytendedtoleaveme"holdingthebag,"soto
speak,whenitcametimetodevelopandimplementanapplication.Sowhatwas
missing?
Appliedknowledge.Inotherwords,mostbooksprovidedtheingredientsbutleft
outthemostimportantpart...therecipe.It'swiththisthoughtinmindthatIset
outtowritethisbookforyou.Theapproachissimpletoprovideyouwithboththe
ingredientsandtherecipestobuildthemostcommontypesofLotus®Notes®
applicationsandtoprovideanapproachwherebyyoucanlearn,throughexample,
tobuildandcustomizeanyLotusNotesapplication.Withthisapproach,youwill
findtheexplanationsyouneedtosuccessfullybuildanddeployLotusDomino®
solutions.
Ifyou'reunderpressuretodevelop,enhance,anddeployDominoapplications,
thenthisbookisforyou.

TargetAudience
Corporatemanagementoftenhasanoverlysimplisticviewandunderstandingof
LotusNotesdevelopment.It'snotuncommonforamanagertoaskaprogrammer
whohaslittletonoexposuretoNotestodevelopanapplication.Theyassume
anyonewithatechnologydegreeorprogrammingexperienceisinstantlyaNotes
developmentexpert.
Althoughthe"anyprogrammercandoit"mentalitybearsmerit,therearestill
manyconceptsthatmustbeunderstoodinordertoobtainafundamental
proficiencyinLotusdevelopment.Thisbookprovidesthefundamentalbuilding



blocksandcommonenhancementsthatwillenableyoutosuccessfullydevelop
andsupportLotusNotesapplicationdevelopment.Unlikeanyotherpublicationon
themarket,thisbookstreamlinesthelearningprocessfromtheperspectiveofan
experiencedapplicationdeveloper.
ThisbookisintendedforanyreaderwhosupportsaLotusNotesdatabase
application.Readersshouldhaveageneralunderstandingofandexposureto
applicationdevelopment.However,basedontheuniquedeliveryapproach,this
publicationisbeneficialtonoviceandexperiencedLotusNotesdevelopersalike.It
provideseverythingneededtostreamlinethedesign,development,
customization,andsupportofLotusNotesapplications.

ATouroftheBook
Thisbookfeaturesauniquedeliveryapproachthatwillenableyoutorapidlyand
successfullydevelopanddeployLotusNotesapplications,whichcanbeclassified
intooneoffivecategories:
1. Calendar
2. Collaboration
3. ReferenceLibrary
4. Workflow
5. WebSite
Thisbookexplainshowtodevelopeachoftheseapplicationtypesandwillenable
readerstounderstandandquicklybuildrock-solidapplications.
Thepublicationalsoincludesawidevarietyofready-to-usecustomizationsthat
canbeappliedtooneofthetemplatesorvirtuallyanydatabase.
Chapter1,"AnIntroductiontotheLotusDominoToolSuite,"providesageneral
overviewoftheLotustoolsuite.Thechapterbrieflydescribesandillustratesthe
variousclientandserverapplicationsrequiredforaLotusNotesdatabase.
Chapter2,"GettingStartedwithDesigner,"describeshowtoinstallandlaunch
theLotusDominoDesignerclient.Thechapteralsobrieflyintroducestheconcept
ofusingtemplatestocreateanewNotesdatabase.

Chapter3,"NavigatingtheDominoDesignerWorkspace,"presentsconcise
informationfornavigatingtheLotusDominoDesignerclient.Itexaminesthe
clientlayoutandgeneraldevelopment"panes"usedtomanagethedesignand
developmentofaNotesdatabaseapplication.


Chapter4,"DominoDesignElements,"continuestodescribetheDomino
Designerclientandexplainseachofthedesignelementsincludingframesets,
pages,forms,fields,layoutregions,sections,buttons,views,folders,shared
objects,andlibraries.Thischapterexplainseachdesignelementandwaysto
implementthem.
Chapter5,"AnIntroductiontoFormulaLanguage,"dealswiththerulesand
syntaxoftheLotusFormulaLanguage.Thechapterincludesasynopsisofthe
mostcommonfunctionsandcommands.
Chapter6,"AnIntroductiontoLotusScript,"presentsthefoundationsfor
developingLotusScriptroutines.LotusScriptisastructured,object-oriented
programming(OOP)languagethat'ssimilartoVisualBasic®.UsingLotusScript,
youcancreaterobust,cross-platformapplications.Thischapterprovidesan
introductiontotheprogramminglanguageandreviewsthebasicconceptsof
object-orientedapplicationdevelopment.
Chapter7,"FundamentalsofaNotesApplication,"introducesageneralroadmap
fordevelopingaLotusNotesdatabase.Itexplainseachoftheprimarydatabase
typesandincludesastep-by-stepprojectspecificallydesignedtoteachhowto
integratethevariousdesignelementsintoworkingdatabaseapplications.Aspart
ofthedevelopmentprocess,italsoincludessampleprojectplans,schedules,and
considerationsformanagingtheproject.
Chapter8,"CalendarApplications,"describesthestep-by-stepprocedurefor
creatingacalendarapplication.Thechapterincludestwoprojectsthatillustrate
bothasimpleandacomplexrecurrentcalendarevent.Thecompletedprojectcan
beusedtoscheduleconferencerooms,reserveequipment,andtrackvacation

plansamongotheruses.
Chapter9,"CollaborativeApplications,"containstheprocessforbuildinga
collaborativedatabaseapplication.Usingacollaborativedatabase,teammembers
cancollaborateandshareinformation.Thechapterincludesadiscussionforum
projectandaprojectcontrolnotebook.Theseprojectsillustratehowtodistribute
informationthroughemail,responsedocuments,andcategorizedviewcolumns.
Chapter10,"ReferenceLibraryApplications,"furtherexplainshowtocreatea
LotusNotesdatabasetostorehistoricalinformationandincludestwoprojects.
Thefirstprojectillustratestheconceptofareferencelibrarybycreatinga
databasetomanageconnectiondocuments.Connectiondocumentsareoftenused
tocorrecttheerror"Unabletoconnecttoserver"typicallyencounteredbyusers.
ThesecondprojectexplainshowtogenerateaMicrosoftExcel®spreadsheetfora
Notesdatabase.
Chapter11,"WorkflowApplications,"detailstheprocessforcreatingaworkflow
application.Aworkflowcanbedefinedasaseriesofactivitiesorstepsrequiredto


performaspecificbusinessgoal.Usingaworkflowapplication,youcan
electronicallyroutedocumentsforactionorapproval.Thistypeofapplication
allowsbusinessuserstoelectronicallymonitorandtrackthemovementof
documents.Workflowapplicationsareidealfordocumentsthatrequiremultiple
approvalsoractions.
Chapter12,"WebApplications,"discusseshowtocreateadatabasethatcanbe
accessedbothfromtheLotusNotesclientandfromasupportedInternetbrowser.
Thischapterincludesaprojecttobuildageneral-purposeWebapplicationthatis
accessiblefromabrowser.Forillustrativepurposes,thedatabasetrackscorporate
assets;however,thecontentandformcanbecustomizedtomeetyourindividual
needs.
Chapter13,"DesignEnhancementsUsingLotusScript,"providescommon
LotusScriptcustomizationsthatcanbeincorporatedintomostLotusNotes

databaseapplications.Eachcustomizationmoduleisself-containedandreadyto
run.Thisenablesyoutocopythecodeintoanyexistingapplicationwithlittleto
nomodification.
Chapter14,"DesignEnhancementsUsingFormulaLanguage,"continuesto
describecustomizationsthatcanbeappliedtovirtuallyanyNotesdatabase.This
chapterisfocusedspecificallyontheLotusFormulaLanguage.Eachcustomization
includesadescriptionofthecode,anexplanationofhowthecodeworks,and
instructionsforimplementingit.
Chapter15,"ViewEnhancements,"describesseveralenhancementsthatcanbe
addedtoaLotusNotesview.Readerswilllearnhowtoaddicons,double-clickon
acalendardatetocreateanewdocument,sortandcategorizedocuments,and
severaltechniquestoretrieveviewdesignpropertiesassociatedwithadatabase
application.
Chapter16,"SampleAgents,"providesseveralsampleagentsusedtoautomate
repeatabletasks.Thechapterexplainshowtocreateanagenttoemailweekly
statusreportsormodifyalldocumentsthathaveafieldwithaparticulardata
value.
Chapter17,"MiscellaneousEnhancementsandTipsforDominoDatabases,"
presentsanumberofgeneralcustomizationsthatcanbeincorporatedintoalmost
anyLotusNotesdatabaseapplication.Inthischapter,readerswilllearnhowto
addfieldhintstoaform,useastaticpopuptodisplaytextmessages(orhelp),
inheritfieldsbetweenforms,addanicontoanactionbutton,createacustom
applicationinterface,setthefieldtaborder,anddisabledatabasereplication.
Chapter18,"DataManagement,"providestoolsandtechniquesthatcanbeused
tomanageapplicationdata.Thischapterexplainshowtoimportdata,export
data,copydocuments,createagentstomanipulatedata,andarchiveapplication


documents.
Chapter19,"Security,"providesinformationpertainingtodatabasesecurity,

accesspermissions,androles.
Chapter20,"ApplicationDeploymentandMaintenance,"explainshowtosetupa
LotusNotesdevelopmentenvironmentanddeployanapplication.Chaptertopics
includedatabasetemplates,replacing/refreshingadatabasedesign,creatingan
applicationinstallbutton,andbackupconsiderations.
Chapter21,"Troubleshooting,"providessometipsandstrategiesfor
troubleshootingFormulaLanguage,LotusScript,agents,andgeneralapplication
developmentproblemsanderrors.
AppendA,"OnlineProjectFilesandSampleApplications,"describesthe
developer'stoolbox.Itdetailstheprojectfiles,developmenttools,example
graphics,andready-to-usesampledatabasesprovidedwiththepublication.
AppendixB,"LotusNotes/Domino:What'sNext?,"outlinesthefuturedirectionof
LotusNotes.Hereyouwilllearnaboutthe"Hannover"release,composite
applications,Workplace™tools,andtheWebspherePortletFactory.

BookLayout
Thispublicationisdividedintothreeprimaryareas:introductiontoDomino
architectureanddevelopment,buildingprojects,andapplicationsupport.
Chapters1through7provideanintroductiontotheDominosoftwareaswellas
thegeneralprogrammingsyntaxforLotusScriptandFormulaLanguage.Chapters
8through12teachDominoapplicationdevelopmentthroughstep-by-step
procedures.HereyoulearnhowtodevelopLotusNotesdatabasesthroughhandsonexperience.Readerswhoprefertolearnthroughexperienceandexposureto
thesoftwaremaywanttostartwiththeprojectsandreferbacktotheearlier
chaptersforadditionalinformation.Chapters13through21focusonapplication
enhancementsandsupport.Thesechaptersprovideready-to-rundatabase
enhancements,informationondatabasesecurity,andtroubleshooting.
Throughoutthebookyou'llfindawealthofillustrations,tips,andnotes.These
itemsareintendedtohelpnavigatethesoftware,pointoutpotentialpitfalls,and
helpwiththelearningprocess.Asterminologyisintroduced,thefirstreference
willbehighlightedinitalic.Thiswillsignifyanewterm.

ReadersshouldhaveageneralfamiliaritywiththeLotusNotesclientand
terminology,suchasforms,views,andagents.Althoughnotrequired,readers
shouldhaveageneralunderstandingofapplicationdevelopmentconceptsand
techniques.


×