Tải bản đầy đủ - 0 (trang)
Chapter 18. Converting Systems from Previous Versions of FileMaker Pro

Chapter 18. Converting Systems from Previous Versions of FileMaker Pro

Tải bản đầy đủ - 0trang

MigrationChoices

Ifyou'venevertouchedFileMakerPropriortoversion7or8,

thematerialinthischaptermightnotbeofmuchusetoyou.

Ontheotherhand,anyonewhohaseverbuiltorcurrently

maintainssystemsinpreviousversionsofFileMakerProfacesa

significantsetofdecisionsregardingwhetherandhowto

migratethosesystemstoFileMakerPro8.

You'velikelyheard,read,ordiscoveredonyourownthatthe

2004releaseofFileMakerPro7broughttremendouschangesto

theFileMakerproductline.Thelasttimetheproduct

experiencedsuchafundamentalchangewasinmovingfrom

version2.1to3.0.IfyouwereworkingwithFileMakerback

then(waybackin1995),youprobablyrememberthatalotof

unlearning,relearning,converting,andrebuildinghadtotake

place.Forthefirsttime,inFileMakerPro3.0,theproduct

containedsuchimportanttoolsasrelationshipsandportals.It

tookquiteawhilefordevelopersproficientwithFileMaker2.1to

fullyunderstandrelationaldatabaseconceptsandthebenefits

thatportalsandrelatedfieldsofferedoverrepeatingfieldsand

lookups.Itwaspossibletoconvertsolutionsfrom2.1to3.0

withoutlossoffunctionality,buttotakeadvantageofthe

powerfulnewfeaturesrequiredeitherextensiveredevelopment

or,insomecases,rebuildingthefilesfromscratch.Thesame

holdstrueofthemigrationfromFileMaker6.xto7or8.

Thefeaturesintroducedinversions4.x,5.x,and6canperhaps

bedescribedasmoreevolutionarythanrevolutionary.Web

publishing,plug-ins,anddataexchangeviaODBCallwere

importantextensionstoFileMaker,butnoneofthemrequired

fundamentalmind-shifts,norwasthereanyconcernthata

convertedsolutionmightnotfunctionexactlyasithad

previously.

FileMaker7,ontheotherhand,representedarevolutionary



shiftfromitspredecessors.Theabilitytoplacemultipletables

inasinglefile,theadditionofanentirelynewsecuritymodel,

theabilitytocreaterelationshipsbasedonmultiplematch

fields,theabilitytohavemultiplewindowsopeninafile,

server-basedwebpublishingtools,andcustomfunctionsare

someofthebiggestchanges,buttherearemyriadsubtle

changesaswell,rangingfrombeingabletoaddcommentsto

fieldsandcalculationformulastochangesinhowalphabetic

charactersplacedinnumberfieldsareinterpreted.

Becauseofthesweepingchanges,conversionofexisting

solutionsintoFileMakerPro7or8becomesacomplexissue.

Therearecircumstanceswhereitwillbeabetterideatorewrite

asolutioncompletelyratherthanconvertit;evenifyoudo

convert,youmayneedtodoconsiderabledevelopmentwork

andtestingbeforetheconvertedsolutioncanbedeployed.In

theend,theefforttodoeitheriswellworthwhile.Thischapter

helpsyouidentifythemigrationstrategythatmakesthebest

senseforyoursolutionandhowtogoaboutit.



ConversionWhat'sNewin8?

FileMaker8buildsonFileMaker7'sdeeparchitecturalchangeswithmanynew,

powerfulfeatures,buttheconversionpicture,withrespecttosystemswrittenin

FileMaker6andbefore,staysmoreorlessthesame.Convertingasystemto

FileMaker8entailsthesamerangeofconsiderationsasconvertingtoFileMaker

7.Bycontrast,FileMaker7andFileMaker8shareacommonfileformat;filesare

virtuallyinterchangeablebetweenthetwo.FileMaker8clientscanaccessfiles

servedonaFileMaker7server,andviceversa;theonlyprovisionisthata

FileMaker7clientwillnotbeabletousefeaturesspecifictoFileMaker8.

Inanycase,allconsiderationsinthischapterapplyequallywelltofilesbeing

convertedfromFileMaker6andbeforeintoeitherFileMaker7orFileMaker8.

Occasionally,wemightreferto"FileMaker8"asshorthandforthemore

cumbersome"FileMaker7and/or8."Restassuredthatthefundamental

distinctionhereisbetweenFileMaker6orearlier(.fp3,.fp5)andFileMaker7or

later(.fp7).Thischapterdealswithconverting.fp3and.fp5filestoa.fp7

system.

Note,however,thatFileMaker8Advanceddoesofferanumberofusefultools

(suchasthecapabilitytocopyandpastefieldsandtables)thatcanmakepostconversionwork,suchasconsolidatingtables,easier.



FactorsInfluencingYourMigrationStrategy

Bythetermmigration,wemeansimplytheconceptofmoving

asolutionfromversion6ofFileMakerorearliertoversion8.

Youcanemploytwoprimarystrategiestoeffectamigration.

Thefirstistoconvertyoursolutionusingthebuilt-inroutinesin

FileMaker8.Theotheristorewriteyoursolutionasafreshset

ofFileMakerPro8files.

Thedecisionabouthow(andindeedwhether)tomigrateyour

oldersolutionwillbeinformedbyanumberoffactors,including

yourfutureneeds,thebenefitsyouhopetoreapthrough

migration,thecomplexityofyoursolution,andyourtimeline



andavailableresources.Youmaydecidethatsomeofyour

solutionscansimplybeconverted;othersolutionsmaybe

betteroffbeingrewrittenfromscratch.



MigrationBenefits

OfallthenewfeaturesandbenefitsofFileMakerPro7and8,

therewillundoubtedlybesomefeaturesthatmattermoreto

youthanothersinadecisiontoconvert.Forsomepeople,

supportforUnicodemaybeacompellingreasontoupgrade,

whereasothersmaynotfindthisfeaturerelevant.Somepeople

willchoosetomigratetousethenewsecurityfeatures;others

forthenewInstantWebPublishing.Forexistingsolutions,

determinewhatspecificbenefitsyouhopetoachieveby

migratingtoFileMakerPro8;ifyoudecidetomigrate,you'll

thenneedtodeterminewhetherthosebenefitscanbestbe

attainedbyconversionorrewriting.Sometimesthedesired

benefitswillcompletelydrivethemigrationstrategy;other

timestheywillplayalesserroleinthedecision.

Centralizedsecurityisagoodexampleofareasontorewrite

ratherthanconvert.Anyonewho'smaintainedcomplexsecurity

settingsina50-filesolutionwillwelcometheabilitytoassign

accountsandprivilegesforallthetablesinafileatonce.When

youconvertamultifilesolutionfromaneralierversionof

FileMaker,however,eachfileintheexistingsystemsturnsintoa

one-tablefileinthenewsystem,andthere'snoeasywayto

consolidatetablesintothesamefile(althoughFileMakerPro8

Advanceddoesoffersomeusefultoolssuchasthecapabilityto

copyandpastetablesandfieldsthatcanmakeconsolidationa

biteasier).So,afterconvertinga50-filesolution,evenif

everythingworksflawlessly,you'llstillneedtomanageaccounts

andprivilegesin50differentplaces.Ifcentralizedsecurityisa

crucialfeatureforyou,youmayprefertorewriteyoursolution

asasingle-fileapplicationinFileMaker8.



Ifyoudoattempttoconsolidatetables,therearesomepotentialissues

youshouldbeawareof.See"RepointingTableOccurrenceReferences"

inthe"Troubleshooting"sectionattheendofthischapter



Manyotherbenefitswillbejustasachievablethroughstraight

conversionasthrougharewrite.Examplesoftheseinclude

largerfieldandfilesizelimits,theabilitytoputbinarydatainto

containerfields,supportforUnicode,andencrypteddata

transferbetweenFileMakerServerandclientapplications.

Anotherclassofbenefitscanbeachievedbyarewriteor

throughahybridofconversionandsubsequentdevelopment.

Forinstance,yoursolutionmayhavework-aroundstoget

aroundlimitationsofpreviousversionsofFileMaker.After

conversion,thosework-aroundswillstillbeinplace,butthey

maynolongerbenecessary;yourconvertedsolutionmaybe

FileMaker8compatiblebutitmaynotbeFileMaker8optimized.

Examplesoffeaturesthatyouwon'tbenefitfromunlessyou

rewriteordopost-conversiondevelopmentincludecustom

functions,scriptparameters,scriptvariables,textformatting

functions,newlayoutobjectssuchasthetabcontroland

calendarpicker,andrelationshipsbasedoncomplexmatch

criteria.



Complexity

Complexityissuchasubjectiveandnebulousconceptthatit's

hardtopindowntheeffectofsolutioncomplexityonthe

decisiontoconvertorrewrite.Allotherthingsbeingequalwhich

ofcoursetheyneverarewefeelthemorecomplexasolutionis,

themorelikelyitisthatyou'llprefertorewritefromscratch

ratherthanconvert.

Tosomeextent,complexitycanbemeasuredbysheer

numbers:numberofscripts,numberoffiles,numberof



relationships,andnumberoflayouts.Buttherearequalitative

measurementsofcomplexitythatmayoverridethe

quantitative:Havingahundredsimplenavigationscriptsisless

complexthanhavingahundredscriptsthatdo,well...complex

things.Complexityalsomayinvolveinteractionswithexternal

systems,orsimplyverycomplicatedbusinesslogic.

Sowhyisitbettertorewritethantoconvertacomplex

solution?Ifsomefeaturesdon'tworkproperlyinacomplex

systemafterconversion,itcanbeverytimeconsumingtofind

andfixtheproblems.Further,itcanbealmostimpossiblein

complexsystemstosystematicallytesteverybuttonandscript

toensurethatitfunctionsasit'ssupposedto.It'spossiblethat

someconversionissueswon'tbeeasytodiscover,resultingin

problemswelldowntheroad.

Whenyoucreateasystemfromscratch,youtestcomponents

asyougo,soit'slesslikelythattherewillbelingeringissues

afterthesystemisdeployed.Also,inarewrittenFileMaker8

system,it'salmostalwayspossibletoachieveyourprevious

functionalitywithsignificantlyfewerobjectsandglobalfields:

fewerfieldsbecauseyouwon'tneedasmanyunstored

calculations;fewerscriptsbecauseofscriptparametersandthe

capabilitytodefinemultipledifferentfindsandsortswithina

singlescript;fewerrelationshipsbecausethey'reallinherently

bi-directional.

Itwillalsobeeasierandmoreefficienttomaintainacomplex

solutioninFileMaker8ifit'sbeenrewrittenthanifit'sbeen

converted.Figure18.1showstheRelationshipsGraphofavery

large,complexfileafterconversion.Keepinmind,ofcourse,

thatyou'llhavesimilarlyimpenetrablegraphsinmanyifnot

allthefilesinyoursolution.Groomingallthosegraphsinto

somethingthatcanbeefficientlymaintainedistime-consuming.

Arewrite,ontheotherhand,givesyoutheopportunityto

systematicallyplanhowtoarrangetablesinyourgraphs;you

canalsochoosethefilearchitecturethat'sbestforyoursolution

ratherthanpassivelyacceptingtheone-table-per-file



architectureobtainedthroughconversion.



Figure18.1.Afterconversion,eachfileinyour

solutionwillhaveahub-and-spokedesigngraph

withthecurrentfileatthetopcenterofthe

graph.



[Viewfullsizeimage]



Note

Eachrelationshipinthepreviousfileisconverted

intoatableoccurrenceinthenewfile,namedbythe



relationshipnamefromtheoldsystem.



ConditionoftheExistingSystem

Theconditionofyourexistingsystemcanhaveanimpacton

yourmigrationdecision.Plentyofsystemsouttherehave

grownmorelikeweedsthanwell-tendedgardens.Such

systemsexhibitinconsistentnamingconventions,havefields,

scripts,andlayoutsthatarenolongerneeded,useinefficient

and/oridiosyncraticprocesses,andusuallyhavedataintegrity

problemstoboot.

Convertingthesesystemsoftenaccomplisheslittlemorethan

pavingthecowpath:It'susinganewtechnologytodothings

thesame,inefficientwaythey'vealwaysbeendone.Chances

arethatyou'llendupdisappointedinthenewproductbecause

itdoesn'tsolveanyofyourinveterateproblems.Itwillalsobe

verydifficulttodoproperpost-conversiontestingand

developmentonsuchsystems,asyou'llalwaysbeplaguedby

thedetritusfromtheoldsystem.

Ontheotherhand,ifyoursolutionhasbeenwelltendedover

theyears,orhasrecentlybeenoverhauled,there'sagood

chanceitwillconvertwellandbeeasytomaintaingoing

forward.Awell-tendedsolutionwillhaveconsistent,intuitive

namingconventions,willhaveaminimumofunnecessary

objects,andwillhaveampledataprotectioninplace.Ifthat's

notadescriptionofyoursystem,youmaywanttousethe

upgradetoFileMaker8asyourexcusetodotherewritethat

yoursystemneeds.Ratherthanblindlyreplicatingtheexisting

system,takethetimetoredesignandrebuilditcorrectlyfrom

thestart.



FutureNeeds

Yourfutureneedsforaparticularsolutionmayinfluenceyour

decisionwhethertoconvertorrebuild.Ifyouhaveasolution

thatdoesx,y,andz,andallyouneedtohaveitdogoing

forwardisx,y,andz,conversionmightbethebestpathfor

you.Insuchcases,yourprimarymotivationforconversionis

likelysomethinglikethelargerfilesizelimitinFileMaker7or8,

ortheabilitytomakeschemaandprivilegechangeswithout

kickingusersoutofthesystem.Evenifittakeskludgyworkaroundstodox,y,andz,ifyoudon'tforeseealikelyneedto

domuchfuturedevelopmentormaintenanceworkonthe

system,it'sprobablyjustfinetoleavethosekludgyworkaroundsinplace.

Attheotherendofthecontinuumisasolution(andlikelyan

organization)that'sinconstantflux.Youneedasystemthat's

easytomaintainandisnimbleenoughtoadapttochanging

needsandconditions.Ormaybeyourcurrentsolutionisphase

oneofalarger,granderapplication.Iffortheseoranyother

reasonsyouforeseeaneedtodoconsiderablepost-conversion

developmentforasolution,it'slikelythatyou'llbebetteroff

rewritingyoursolution.Ifyoudon't,you'llprobablyendupwith

astratifiedsolution,whereoldfeaturesandobjectsare

noticeably"B.C."(beforeconversion)andnewworkis

noticeably"A.C."(afterconversion).Suchasystemwill

invariablybemoredifficulttobuilduponandmaintainthanone

developedentirelyinFileMaker8.



TimeandCost

There'slittlequestionthatrewritingasolutionfromscratch

requiresmoretimeand/orcostthansimplyconvertinga

solution.Beaware,too,thatconversionitselfcarriestimeand

costrequirements:Youwillalwaysneedtodosignificanttesting



beforedeployingaconvertedsolution,andyou'lloftenneedto

dosomepost-conversionmaintenanceaswell.

Estimatingthetimeandcostrequirementsforeithermigration

strategyisdifficultbecauseyouwon'tknowwhatissuesyou'll

faceuntilafteryou'reunderway.Conversionislikeahome

remodelingjobinmanyways.Afteryouteardownafewwalls

youmaybefacedwithabiggerproblemthanyouanticipated.

Similarlytroublesome,rewritingispronetothe"while-we're-atit"factor(thatis,"aslongaswe'rerewritingthesolution,let's

hireadesignertocreateanewinterfacewhilewe'reatit,"or

"whilewe'reatit,let'sbuildthosehooksintotheaccounting

andshippingsolutionswe'vealwaystalkedaboutadding").

Rewritingasolutionfromscratchcertainlysoundslikeitwill

involvemoresignificanttimeandcostthanconversion.Keepin

mind,though,thatyouhaveyouroriginalsolutionasa

blueprint,andthatyou'llprobablybeabletocopysignificant

portionsofthesystem,includinglayouts,scripts,and

calculationfunctions.Itcertainlywon'trequirethesame

resourcesasitdidtobuildthesystemoriginally.

Whenyouthinkaboutthetimeandcostofmigration,it'salso

importantthatyoutakealongview.Whatmightbemoretimeandcost-efficientintheshorttermmighthavesignificantly

highercostsinthelongrunbecauseofinefficiencyandlost

productivity.Forexample,itmaytakelongertoaddnew

featuresinthefuturetoaconvertedsolution.Or,ifyour

presentsystemhasinefficientprocesses,aninitialtimeand

costoutlaytorewriteyoursystemsmayresultinasteady

streamofcostsavingsinthefuture.

There'sanotherwaythattimeplaysintoyourmigrationplan,

andthat'sthetimelinessofyourneed.Ifyouhaveasolution

that'sonthevergeofsurpassingtheoldfilesizelimit,orifyou

havebeenteeteringalongwithanunstable,crash-prone

solution,youprobablywanttomigrateasquicklyaspossible.

It'scalendartime,notprogrammingtime,thatmattersthe



mosttoyou,andconversionisyourbestcourseofaction.Even

ifyoudecidethatyoursolutionneedstoberewritteninthe

future,youmayopttodeployaconvertedsolutionasastopgap

untilamorepermanentsolutioncanbeachieved.



TheBottomLine

Youmighthavenoticedthatnowhereinthepreceding

discussiondidwespecificallyrecommendconversionor

rewritingasabsolutelypreferable.Weinsteadpointedout

factorsthatmightcauseyoutopreferonemethodtoanother.

Intherealworld,ofcourse,youmustfigureouthowtoweigh

allthesefactorsagainsteachother.Youmighthaveavery

clean,verycomplexsystemthatwon'tneedmuchfuture

development.Oryoumighthaveasimplesolutionthat'sused

byahundredusers,eachwithaseparatepassword.Thereare

nosimplerulesyoucanfollowtodeterminewhichpathisbest,

buttomakeaninformeddecision,itcertainlyhelpstohaveall

theissuesonthetable.







Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Chapter 18. Converting Systems from Previous Versions of FileMaker Pro

Tải bản đầy đủ ngay(0 tr)

×