Techbrief Fm8 Migrtn Found
-
Upload
brian-jones -
Category
Documents
-
view
217 -
download
0
Transcript of Techbrief Fm8 Migrtn Found
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 1/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Technolog y Brief
Upgrading to
FileMaker 8:igration Foundations
and Methodologies
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 2/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es page
out s ec no ogy r e
It is the intent of this technology brief to help the experienced FileMaker® developer better understand and
prepare or migration to t e i e a er pro uct ami y. ea ing t is ocument wi assist you in p anning, preparing
or, an executing a strategic approac to migration.
Originally compiled, edited and principally authored by Danny Mack, President of New Millennium Communications
Inc., a FileMaker Solutions Alliance Partner, this paper is part of a series of technology briefs written by developers
or eve opers, to assist in migrating existing so utions to t e new i e a er pro uct ami y.
or a itiona tec nica materia s, p ease re er to printe an e ectronic manua s an on ine e p t at s ip wit
i e a er ro , i e a er ro vance , i e a er erver , an i e a er erver vance .
ease ote: This technical brief is relevant to both FileMaker 8 and FileMaker 7 products.
a e o ontents
. verview ..................................... ........................................... ........................................... .................................
. oun ations
• everaging t e a ue roposition o i e a er ro ..................................................................
• e i e a er e ationa o e
• i e e erences in i e a er ro ................................................................................................
• Scripting Issues Encountered When Migrating to FileMaker Pro 8 ....................................... .56
• ecurity an ccess rivi ege ssues
• ecor wners ip in onverte o utions: pening an ommitting ecor s ..........
• Migration and Web Publishing ...................................... ............................................ .......................85
. et o o ogies
• Conversion Basics ........................................... ............................................ .....................................89
• ing a ew nter ace i e to an xisting o ution, ater onso i ating a es
• ase tu y: igrating sing t e u & po e pproac ....................................................
• e eparation o e : i e a er ro eve opment o e
• ri ging . p an . p ....................................................................................................................
. ppen ix
• onversion ssues & eso utions ...................................... ........................................... ...............
orewor
is ocument assumes t at t e rea er is a rea y ami iar wit t e asic eatures o i e a er ro , an as rea
t e ec rie entite pgra ing to i e a er ro – igrating xisting o utions.
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 3/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e in ormation in t is compen ium o artic es is t e resu t o a ar -wor ing team o i e a er, nc. emp oyees
an in epen ent eve opers w o ave esigne , exp ore , an teste i e a er ro an i e a er erver . t
represents an evo ving o y o now e ge, one t at wi mature over t e next mont s an years as t e app icationis mastered by professional FileMaker developers building solutions.
t as een a privi ege to wor wit t is team.
anny ac
ou er, o ora o
arc
© 2005 FileMaker, Inc. All Rights Reserved. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and
ot er countries, an t e e o er ogo is a tra emar o i e a er, nc. ot er tra emar s are t e property
o t eir respective owners. ention o t ir party pro ucts an companies is or in ormationa purposes on y an
oes not constitute an en orsement nor recommen ation. ro uct speci cations an avai a i ity are su ject toc ange wit out notices. oc
, ,
. , , ,
, ,
- . , .
, , ,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, PUNITIVE OR SPECIAL DAMAGES, EVEN IF FILEMAKER,
. .
.
.
.
page 2
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 4/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Overview
rie ynopses o t e ections o t is ocument
Overview
oun at ons
Leveraging the Value Proposition of FileMaker Pro 8 – Michael Thompson
ic ae iscusses t e a vantages o i e a er ro rom t e point o view o ot eve opers an usiness
owners, an a resses t e strategic issues associate wit migrating to t is new tec no ogy, inc u ing ow to
recognize a return on t e investment in migration.
The FileMaker 8 Relational Model – FileMaker, Inc. and Danny Mack
un amenta artic e o t e new re ationa mo e , inc u ing a comparison to ear ier versions o i e a er ro,
an intro uction to t e re ations ips grap , an an exp anation o context . t i ustrates t e new eatures ant e new ru es wit easy to o ow examp es.
File References in FileMaker Pro 8 – Corn Walker
File references are viewable and editable in FileMaker Pro 8 and the issues associated with them are
un amenta to getting your converte so ution up an running success u y.
Scripting Issues Encountered When Migrating to FileMaker Pro 8 – Darren Terry
n converte so utions, certain scripts may not unction as t ey i previous y. arren reviews t ese issues in
etai so t at you un erstan ow t e e avior as c ange , an w at to o a out it.
Security and Access Privilege Issues – Steven Blackwell
asswor s an groups are converte to accounts an privi ege sets, ut t e ru es ave c ange . n erstan ingt e etai s o access privi ege conversion is essentia to rep icating t e origina e avior or exten ing it.
“Record Ownership” in Converted Solutions: Opening and Committing Records – Ilyse Kazar
The script steps and other events that cause records to be opened (locked) and committed (unlocked) have
c ange signi cant y. is as major imp ications or t e e avior o converte so utions as we as or new
so ution esign.
Migration and Web Publishing – Bob Bowers
is is a primer on t e rea m o i e a er we pu is ing, inc u ing ot ustom e u is ing an t e
entirely new Instant Web Publishing.
et o o og es
Conversion Basics – Danny Mack
anny presents a step- y-step orientation to t e conversion process, inc u ing preparation, testing, an t e
necessary un amenta tas s or getting your so ution restore to its origina unctiona ity.
page 3
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 5/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Adding a New Interface File to an Existing Solution, Later Consolidating Tables – Todd Geist
ow oes one migrate a so ution, most re ia y an economica y, to an optima i e a er ro arc itecture
o ays out a step- y-step migration strategy, inc u ing a rationa e t at may eave you t in ing: w y wouyou do it any other way?”
Case Study: Migrating Using the Hub & Spoke Approach – Molly Connolly & Bob Bowers
n many so utions, t e majority o t e inter ace an ogic is concentrate in one e, t e u , or in a ew u s.
t may ma e sense to conso i ate t e spo e es into t e u es.
The Separation Model: A FileMaker Pro 8 Development Model – Colleen Hammersley & Wendy
King
i e a er ro is a ream come true or t ose w o ave ong a vocate t e separation o ata an inter ace.
o een an en y present t e new app ication mo e in a its g ory.
Bridging .fp5 and .fp7 – Ernest Koeere are many rea wor scenarios in t at it wi e necessary or i e a er ro es to exc ange ata wit
FileMaker .fp5 files. There are several technologies that make this possible.
ppen x
Conversion Issues & Resolutions – Team
is is t e ocumentation o speci c issues t at can e encountere in so utions t at ave een converte to
i e a er ro , an suggeste reso utions w at you can o to rep icate t e origina e avior . e issues are
cross-referenced to the behavior changes in the application documented in the .pdf entitled “FM 7 Converting
ata ases .
page 4
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 6/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Overview
earn e a er ro e ore onvert ng a omp ex o ut on
s as een state e sew ere, starting to earn i e a er ro y converting a comp ex so ution may e
confusing. It is highly advisable to build some mastery of the new application by first building a new solution.
• njoy t e ease o creating mu tip e ta es in one e
• xp ore t e e ciency o t e new scripting possi i ities, especia y script parameters
• n erstan t e re ations ips grap an t e importance o managing t e context rom w ic your
ca cu ations an scripts wi eva uate
• iscover t e power o t e new security mo e
• earn your options or so ution arc itecture – wit your inter ace in t e same e as your ata ta es, or
in an entire y separate e wit no ta es
Once you have a reasonably good understanding of the new environment, then it becomes appropriate to
consi er t e approac to ta e to migrating an existing soution.
trateg c pproac to t e grat on rocess
s out ine in t e ec rie , pgra ing to i e a er ro : igrating xisting o utions , t ere are severa
possible approaches to take to migration. Hybrid approaches are possible where one method is used for one
part o a soution w i e anot er met o is use or anot er part.
ere is a recap o t e approac es, as iscusse in t e ec rie .
. onvert an ep oy, t en mo i y i necessary
. o i y, convert, test, & mo i y
. a new inter ace e, an t en ater conso i ate ta es
4. Consolidate multiple files into a single file, starting with an existing file
. Consolidate multiple files into a single file, starting from scratch
6. Create new files – an interface file and a data file, or multiple interface and data files
. Co-existence of .fp5 and .fp7 files
ac o t ese approac es cou e consi ere separatey. evert e ess, t ey can a so occur as part o asequentia process. ome o t e stages or aspects o t e sequence may not appy to your situation, ut t ere
wi e situations in w ic eac o t ese approac es is re evant. so, or some eve opers w o support mu tip e
so utions, one approac may app y to one so ution w i e a i erent approac may app y to anot er.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 7/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
. onvert an ep oy, o y ecessary
you ave a re ative y simp e so ution or a so ution t at is not usiness-critica , t en you may e a e toconvert and simply deploy your solution without modification. If some features are broken or there are minor
data problems, you can fix them as you go.
or more comp ex so utions, i you try to just convert an run, you may air y quic y rea ize t at it is not t e
i ea approac an start again wit a more met o ica approac . is ocument is inten e to ena e you to
ta e a sequentia approac to a success u migration o your so ution.
. onvert an estore to r g na unct ona ty o y, onvert, est, o y
ui ing on t e in ormation in t e igrating xisting o utions ec rie , an in t e onverting
ata ases .p t at comes wit i e a er ro an i e a er ro vance , you can systematica y preparees or conversion an o ow an iterative approac . a ing innocuous or even ene cia c anges to your
solution in FileMaker Pro 6, and then converting, testing, modifying in .fp5 again, re-converting, and testing,
unti you are satis e t at you ave one as muc as is practica an e cient in t e . p ormat. ou can t en
o t e remaining tas s in t e new . p es, test, an ep oy. ee t e section on onversion asics or more
etai e in ormation. e oun ationa in ormation in t e sections on i e e erences in i e a er ro , cr ipting
ssues ncountere en igrating to i e a er ro , ecurity an ccess rivi ege ssues, an ecor wners ip in
onverte o utions: pening an ommitting ecor s, are a essentia rea ing.
ere is a nite set o issues t at wi nee manua attention to ena e converte so utions to operate simi ar y
to t e way t ey i in i e a er ro . ot a o t ese issues wi a ect a so utions.
ust as important as t e process o manua mo i cation, is t e met o o ogy use or testing your so ution.
epen ing on t e sca e o a so ution, it may or may not e easi e to test a permutations o t e eatures
of a solution. Scripts may work reliably if performed in a certain sequence, but not if performed in a different
sequence. It will be most efficient and reliable if you, the developer, understand the issues that need to be
a resse an t en systematica y an comp ete y eva uate, an mo i y i necessary, a instances o an issue in
your so ution. na ysis too s wi ma e it practica to o t is.
ome too s are avai a e now or automating t e mo i cation o es, an more too s wi emerge.
. a ew nter ace e an t en onso ate a es
ne o t e ey a vantages o i e a er ro is t e a i ity to see an manage your ata ase structure or
at east arge sections o it at a time , in a grap ica inter ace. our mu ti-ta e usiness processes can e
represente visua y an , t an s to many en ancements to t e avai a e too s, manage e cient y an re ia y.
page 6
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 8/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
new inter ace e can e a e to an existing so ution, pointing at t e ata ta es in t e o so ution,
t ere y provi ing a unctiona an appropriate environment or en ancing your so ution, everaging t e power
an optima so ution arc itecture o i e a er ro . ou can ater conso i ate your ata ta es into one e
or a ew es an re-point your inter ace e. is met o as t e a e ene t o not rea ing t e existingunctionaity o converte so utions w i e a owing t e eve oper to exp ore t e power o i e a er ro in a
separate file. See the section on “Adding a New Interface File to an Existing Solution, Later Consolidating Tables” for a
etai e treatment o t is met o .
. . onso at ng es
you are a so utey sure t at you wi e conso i ating t e ata ta es an can a or to wait unti you ave
revised both the table structure and the interface before using the new solution, then you may want to start by
ui ing a new e wit mu tip e ta es, ut e warne t at or a comp ex so ution it may not e very e cient
un ess you ave a rea y mastere i e a er ro .
ere are a vantages to aving ewer es, or simp icity an managea i ity. ou may want to optimize your
ca cu ations or t e way t at you access re ate ata. epen ing on your so ution, you may want to conso i ate
your data tables and fields into a single file or into a few files, either by starting from a single existing file, or by
starting rom scratc , ringing over just t e ata e s, an se ective y ringing over ot er e s, t en copying
ayouts an importing scripts, or writing new scripts.
ere are a num er o tec nica etai s t at are necessary to un erstan to ac ieve t is migration strategy
success u y. ere is goo in ormation a out t ese issues in t e sections on ing a ew nter ace i e to an
Existing Solution, Later Consolidating Tables” an in “Case Study: Migrating Using the Hub & Spoke Approach.”
. reate a ew o ut on nt re y ewr te
tarting wit new es is most appropriate or a new usiness pro em or an iso ate in ormation omain. t
could be appropriate if you want to take full advantage of the new FileMaker Pro 8 possibilities and you can
a or to wait to comp ete your re esigne so ution e ore ep oying. t is a so appropriate i t e eatures o t e
origina so ution are o so ete or poor y esigne in t e rst p ace. e oremost requirement w en esigning a
new so ution is to etermine your so ution arc itecture. e artic es on e i e a er e ationa o e an e
eparation o e : i e a er ro eve opment o e re ot essentia rea ing.
. e a er ro o-ex st ng w t ar er ers ons o e a er ro
In organizations with a large number of FileMaker Pro files and multiple solutions (sets of files), it may be
necessary to convert some es e ore ot ers. t ere are epen encies etween so utions in i erentepartments or usiness omains, it may e necessary to emp oy a tec no ogy t at ena es t e exc ange o
ata etween i e a er ro es an i e a er ro . es. ee t e ocument on ri ging . p an . p
or more in ormation.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 9/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Database Design and Evolution
primary i ea expresse t roug out t is ocument is t at it may e cost-e ective an most practica to n
mu tip e points in t e migration process w en your so ution can e sta e an unctiona . is wi provi e ene ts
to your organization i you are an in- ouse eve oper, an wi a ow you to more quic y ta e a vantage o
i e a er ro i you are an in epen ent custom or commercia so ution eve oper.
When re-writing a solution from scratch, there will still be a conversion component to the process. At a minimum,
t e o so ution wi most i e y e converte to i e a er ro prior to importing ata into t e new so ution. t
is possi e to export ata rom an . p or . p e to a text e an t en to import it, ut t at wou not an e t e
contents o container e s.
ost i e a er ro soutions ave evo ve over time an ave een en ance ase on wis om gaine a ong t e
way – both from the insights of the developer and based on feedback from users. Developers’ technical knowledge
increases over time an t at is o ten re ecte in t e incrementa en ancements to t e eatures o a so ution.
e evo ution o i e a er ro so utions may e simi ar. n act, t e expertise an now e ge ase w ic exists
a out i e a er ro is ess mature, an it wi ta e a w i e or est practices an true expertise to eve op, so
an incrementa approac may prove to e t e most re ia e way to minimize w at wi prove in t e ong run to e
novice errors.
ompoun ing t e a vantages o ta ing t is approac is t at nee s c ange over time, so t at y t e time you nis
a gran esign t e priorities may ave c ange . rue usiness va ue is o ten rea ize y an incrementa strategy to
eve oping new systems.
out t e aut or
anny ac is t e resi ent o ew i ennium ommunications, nc., a i e a er o utions iance artner ase
in ou er, o ora o. ew i ennium specia izes in i e a er ro consu ting an so ution eve opment, an is t epu is er o numerous p ug-ins an too s t at aci itate t e wor o i e a er ro eve opers, avai a e at
http://www.newmillennium.com.
page 8
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 10/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Foundations
Leveraging the Value Proposition of FileMaker Pro 8
i e a er ro represents a new era or t e i e a er ro ami y o pro ucts. it renewe power an
exi i ity, t e pro uct is poise to emerge as a mar et- ea ing rapi app ication eve opment environment—
applicable to all sizes and types of organizations. More than ever, FileMaker Pro 8 allows users with a broad range of
expertise to contri ute signi cant y to ata ase so utions t at pro uce tangi e va ue. et er t e o jective is to
create a pro essiona commercia so tware app ication or a es top ata ase t at can e exten e to t e , t e
, an eyon , i e a er ro certain y meets t e nee .
rom a eve opers perspective, t is new version o ers tremen ous a vantages over its pre ecessors an over
ot er so tware eve opment too s. t is important to remem er, owever, t at suc a vantages are use u on y to
t e extent t at t ey create va ue in a particu ar context. it out a c ear un erstan ing o t e va ue proposition, t e
i e a er ro tec nica istinctions may e ost in t e in o tec no ogy o erings, w ic too o ten over-promise
and under-deliver. As FileMaker Pro is commonly used in the context of a business or professional organization, the
eve oper an usiness manager are we a vise to un erstan t e pro uct s istinct va ue proposition an earn
ow est to everage t at proposition wit in t eir particu ar environment.
at is it a out i e a er ro t at compe s its use y organizations su ject matter experts s an
eve opers i e maintaining its istoric ease o use, t e i e a er ro ami y o pro uct o ers an entire y
new wor o innovative an power u eatures un i e any ot er ata ase or so tware eve opment environment.
rganizations a opting t e new too s wi see imme iate gains rom increase e size imits, virtua y un imite
number of tables, direct server access, server side processing, robust security, and faster wide area network (WAN)
access. i e protecting t eir inte ectua property an e ping en ance ata con entia ity an integrity, eve oper
can now provi e en users or a ministrators wit ar more exi i ity an many more options or managing critica
usiness processes. ntegrating so utions wit existing assets is muc easier an more exi e. it power u
new eatures suc as ustom unctions an xten e rivi eges, eve opers can imp ement usiness ogic an
usiness ru es across a soution simp y y c ic ing a c ec ox. n t ey can more easi y co a orate wit ot erdevelopers and with subject matter experts without the inefficiencies associated with the interruption of workflow
FileMaker Pro 8, FileMaker Server 8 and FileMaker Server 8 Advanced together make for a compelling best-case
usiness ecision as a eve opment an ep oyment environment.
i e it is c ear t at t e new pro uct ine as a ot to o er a most any organizationa environment, its com ination
o ease-o -use, rapi app ication eve opment, an enterprise eve power must e use appropriate y i its
u potentia is to e rea ize . e promise o new eatures an unctions oes not remove t e un amenta
requirements o t e so tware eve opment process nor oes it insu ate t e organizationa ea ers ip, management
an ot er sta e o ers rom eing materia y invo ve t roug out. ocuse too narrow y on t e tec no ogy, it easy
to lose sight of the broader organizational objectives. Indeed, if the needs of the organization and market do not
ea t e process, t en muc o t e va ue an potentia o t e tec no ogy wi e sacri ce .
et er a su ject matter expert turne ata ase esigner or a seasone veteran esigns a so ution, it is up to
t e eve oper to manage t e va ue e ivery process an to create an maintain an environment t at is con ucive
to rea istic expectations. urt ermore, a so ution or to ay s pro em wit itt e to erance or a apting to
tomorrows nee s, or one t at is i cu t to use or maintain, quic y oses muc o its potentia va ue. is means
page 9
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 11/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t at e ivery o va ue must e consi ere t roug out t e i ecyc e o a project, not simpy at so ution e ivery an
initia imp ementation. ortunate y, i e a er ro is an exceptiona eve opment environment or provi ing va ue
t roug out t e i ecyc e o a project. n erstan ing ow to get t e most out o t e tec no ogy at eac stage o t e
process is essentia i a so ution is to rea ize its u potentia . e intention an comp exity o a so ution, as we ast e environment in w ic it wi e use , wi etermine w ere to oo to everage t e va ue o t e new eatures o
FileMaker Pro 8.
equ rements at er ng: o v ng t e g t ro em
rganizationa constraints are o ten revea e t roug secon ary symptoms, an in many cases root causes
o pro ems are not imme iate y apparent. urt ermore, t e symptoms, as we as t eir un er ying pro ems,
rarely exist in isolation. Invariably other systems can affect and are affected by newly implemented solutions.
ina y, t e pro ems we a ress to ay wi a most certain y revea urt er constraints an pro uce uninten e
consequences. is is w y un erstan ing t e pro ems an t eir contexts is one o t e rst steps in creating
so utions.
ra itiona y, so tware eve opers ave re ie upon requirements gat ering an nee s assessment processes
to define the objectives and to understand the often-complex relationships involved in designing an effective
so ution. roug interviews wit en users an usiness managers, t ey pro uce a written speci cation t at
e ps t e eve oper an t e sta e o ers un erstan an communicate a out t e project.
n most cases, input rom users is gat ere t roug interviews an t en trans ate into text. i e t is process
can e re ative y e ective, it assumes t at t e users are capa e o escri ing t eir nee s in a manner t at
is both consistent with the real needs of the project and comprehensible (in all of its detail and nuance) to
t e interviewer. t a so assumes t at ot t e interviewer an user un erstan t e environment in w ic t e
pro em an so ution exist we enoug to provi e an accurate an use u trans ation. is can e especia y
c a enging w en t e eve oper is un ami iar wit t e intricacies o t e environment. i e t e use o rawings
an moc -ups can narrow t is communication gap, even wit visua ai s, t e nee s gat ering process can
invove severa iterations o esign an ee ac in or er to accurate y assess t e etai s.
i e a er ro o ers power u capa i ities to augment an assist in t e requirements gat ering an nee s
e ning process. i e a er ro s ease o use a ows even non-tec nica users t e a i ity to participate more
su stantia y in t e e ning stage o t e process. y using i e a er ro as t e environment or creating t e
visua ai s an training users on t e use o asic ayout too s, t ose most ami iar wit t e organizationa
processes can exp ore an experiment in rea time. ing an moving ayout e ements on wor ow inter aces
an oo ing at ata in i erent ways can acce erate t e process t roug w ic un erstan ing o t e signi cant
issues is developed. More importantly, having the subject matter experts involved at this level of exploration
o ten revea s unrecognize nee s an re ate issues t at wou ot erwise e revea e muc ater in t eeve opment cyc e.
i e muc o t is capa i ity as existe in prior versions o i e a er ro, i e a er ro promises muc
etter per ormance over t e wi e area networ . is means t at su ject matter experts an eve opers can
page 10
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 12/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
wor toget er rom i erent ocations wit out t e use o t ir -party remote access so tware. anges ma e
y t e eve oper on a serve set o es wi appear to t e imme iate y upon committing t ose c anges to
t e server upon returning to rowse mo e rom ayout mo e an vice versa. itiona y, many o t e new
eatures an capa i ities o i e a er ro provi e improve support or co a oration. e ning new e s,or instance, no onger requires enying ot er users access to t e ata ase. is minimizes t e isruption to
other users as SME’s and developers collaborate to understand and define the requirements of a solution. It
a so opens up t e possi i ity or mu tip e teams to e wor ing simu taneous y wit t e same set o es. is
rea -time eve opment environment o ere y i e a er ro can ramatica y s orten t e iterative cyc es o
communication invo ve in t e requirements gat ering process.
u tip e ta es in a e an t e re ations ips grap are two ot er new eatures avai a e in i e a er ro t at
can en ance t e requirements e ning process. eve opers can exp ore an emonstrate ata arc itecture
without the time consuming hassle of creating individual related files. Multiple tables of data are quickly
create in t e same e ne e s session no nee to go ac an ort rom one e to anot er to a e s
to i erent ta es . nce roug ta e structures are in p ace, t e re ations ips grap provi es a very e cient
means or e ning re ations ips etween ta es. e act t at re ations ips are now i irectiona means t att ere is no nee to create reverse re ations ips; urt er re ucing t e time spent in ear y conceptua stages.
The relationships graph also provides an effective means for communicating the data structure to users and
ot er esign team mem ers. ets ace it; comp ex re ationa ata ase esign oes not come natura y to
everyone. et even ata ase neop ytes un erstan t e nee at some eve or organizing ata in a certain
manner. picture paints a t ousan wor s, an provi ing sur ace eve ata requirements in a grap ica ormat
can quic y acce erate t e un erstan ing o more comp ex ata structure. we -organize re ations ips grap
provi es a visua overview o t e arc itecture, w ic can t en e use to exp ain it to tec nica an non-
tec nica sta e o ers a i e. xpan ing on t e arc itecture in rea time y creating new ta e occurrences an
re ating t em to t e existing structure is a so a power u orm o communication. emem er too t at w at is
create in t e re ations ips grap is not simpy a visua ai ecause t e ta e structure it e nes is via e in an
o itse . amp e ata can e entere or importe into t e ta es in or er to more c ear y emonstrate ow t e
structure wi actua y wor .
In prior versions of FileMaker Pro, designing data architecture was something best performed with a flow chart
or entity-relationship diagram (ERD). While these will still be invaluable1, t e new eatures o i e a er ro
ma e exp oring ata arc itecture more accessi e. timatey, t e esign o your so ution may require severa
es, eac containing a num er o ta es. n t e ear y stages o requirements gat ering an nee s assessment,
owever, exp oring ata structure or t e purposes o earning an communicating can e accomp is e very
e cient y in a sing e e.
ann ng: e rt o reat ng xpectat ons
ne promise o i e a er ro is s orter eve opment cyc es. ere are many timesaving new eatures an
new ways to esign quic , e ective so utions. onet e ess, p anning w at it wi ta e to success u y comp ete
any so tware eve opment project is tric y usiness, an t e new an unique nature o i e a er ro a s ye
anot er varia e to t e p anning equation.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 13/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
n t e initia use o i e a er ro , not a assumpt ons er ve rom pr or vers ons or ot er
eve opment env ronments may app y. i e i e a er ro can e use in t e same manner as prior
versions, to o so wou e to ignore its potentia . ecause i e a er ro is unique in many ways rom ot er
so tware eve opment environments, i erent strategies an tec niques wi e use to pro uce inten eresu ts. t s easy to t n t at t e uses o t e new e a er ro eatures are o v ous, ut
effective design methodologies and best practices will emerge only through an experiential
un erstan ng o t ese eatures an ow t ey re ate to o eatures an ot er new eatures. t wi
e necessary to exp ore new possi i ities in ata structure, navigationa met o o ogy, ata integrity, transaction
management, security, wor ow contro , an many ot er aspects o so ution creation e ore acquiring a goo
an e on t e actors t at in uence t e p anning process. i e eventua y i e a er ro wi ecome as
ami iar as ear ier versions an ot er too s, it is est to approac its initia use wit caution an respect w en it
comes to creating an managing expectations or ear y eve opment projects.
ne way to exp ore t e new eatures an possi i ities in i e a er ro an earn ow to etter estimate
time an resource requirements is to su ivi e more comp ex so utions into sma er su -projects. a e t e
quintessentia ata ase so ution, t e contact manager, or instance. nstea o jumping in wit ot eet on y toiscover ate in t e game t at t ere is a etter way to o most o w at is a rea y one , egin wit t e asics.
at oes it ta e to manage a ist o names ow wi users enter new names an n existing names at
is the best way to manage the navigation between list views and entry views? Once you have a functional and
e ective name managing so ution t en a p one num ers. i eac name ave a imite or un imite num er
o p one num ers associate wit it at is t e est ata structure to manage t is a itiona entity
i e t is examp e may e over y simp istic an t e approac may seem ru imentary an ine cient given t e
experience o many eve opers, it is surprising w at can e gaine t roug suc a step- y-step met o o ogy.
In addition many of the new features in FileMaker Pro 8 make an incremental process more manageable. Being
a e to e ne mu tip e ta es per e, i- irectiona re ations ips, seeing a wor ing re ations ip iagram in t e
re ations ips grap , t e a i ity to pass parameters rom uttons to scripts an rom scripts to su -scripts, a
p ay a part in ma ing an incrementa , earn as you go, approac e ective.
not er actor t at must e a resse in t e p anning p ase is t at o eve opment strategy. e i e a er
Pro developer of past versions was often programming most–if not all–of a solution him or herself. Thanks to
some o its new eatures, i e a er ro is a muc etter environment or co a orative eve opment. u tip e
eve opers or eve opment teams can now access a aspects o a serve e simu taneous y wit on y minima
inter erence. ere are a so more e ective met o s or mu tip e eve opers or teams to wor on separate sets
o t e same es, ringing t em toget er at a ater point in time. ina y, i e a er ro is a etter environment
or mo u ar esign. ne eve oper or team can e wor ing on t e contact management mo u e w i e t e
ot er team wor s on a separate invoicing mo u e. e two mo u es can e integrate w en t e in epen ent
mo u es are rea y.
anning an e ning a eve opment strategy is an essentia step i appropriate expectations are to e create
an maintaine t roug out t e process. i e a er ros power an exi i ity, a ong wit its ease o use,
provi e many timesaving new eatures t at wi eventua y s orten eve opment cyc es. y provi ing too s
page 12
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 14/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t at ma e incrementa an co a orative eve opment more accessi e, greater un erstan ing o eve opment
met o o ogies can e acquire t roug out t e eve opment process an a team or mu ti- eve oper approac
can e emp oye to urt er s orten project comp etion times.
Design: Where No One Has Gone Before
i e t e speci cs o esign in i e a er ro are iscusse in greater etai e sew ere in t is ocument
an in ot er re ate materia s, it is c ear t at one o t e most signi cant c anges in i e a er ro is t at
o greater esign options. u tip e ta es per e, remova o t e ty- e imit, increase capacity o text an
container e s, increase e size, mu tip e win ows per ta e, a new security mo e , an a more exi e an
powerful relational structure are just a few of the enhanced features that will change the way FileMaker Pro
so utions are esigne .
i e t e tec nica ene ts o t is new unctionaity may e imme iate y o vious, t e nuances t at t is new
power rings to t e va ue equation are easi y over oo e . it custom so utions, or instance, t e increasegranu arity o access to t e various ayers o a i e a er ro so ution can a ow t e power-users an su ject
matter experts to stay connected throughout its lifecycle. Allowing super-users the ability to design entry
ayouts, reports, an scripte processes t at meet t eir speci c nee s w i e restricting access to areas t at may
compromise t e integrity o t e so ution is now more managea e.
it commercia so utions or so utions t at wi require upgra es over time, t e a i ity to separate ata rom
structure ot inter ace an ogic is muc easier in i e a er ro t an in prior versions. e eve oper
needs to only replace the structure files as a part of an upgrade process. Separate structure files that continue
to wor wit t e customers existing ata es wi e iminate t e nee or comp ex an unwie y import
routines.
i e a er ro a so en s itse to a mo u ar approac to so ution esign. it t is approac , a e ne
set o unctions is containe in a e or set o es, constituting a mo u e. ac mo u e is esigne to a ow
other modules to access its data while safeguarding its functionality. A contact management solution built by
one developer, for instance, can be designed to allow an invoicing module developed by another developer
to interact wit its ata. sa es reporting mo u e mig t access ata rom ot t e contact management an
invoicing systems. e va ue o t is approac is certain y evi ent in commercia app ications as many eve opers
can everage t eir speci c expertise an so utions in com ination wit t ose o ot er eve opers. urt ermore
a eve oper can a ow ot er eve opers access to nee e in ormation an unctiona ity wit out a owing access
to t e entire so ution, protecting ot t e sta i ity o t e mo u e as we as t e inte ectua property.
t er eve opment environments can a so ene t rom a mo u ar approac . it a we - eve ope set o
esign princip es, mu tip e s an eve opers wit in an organization can eve op mo u es t at e iver speci
unctiona ity, wit out compromising ot er eve opment e orts or ive systems. mix o commercia mo u es
wit custom mo u es or a -ons mig t e t e est way to e iver va ue w en meeting an organizations nee s.
ese esign met o o ogies an ot ers are covere more extensive y e sew ere in t is an ot er ocuments,
page 13
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 15/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
an new esign met o o ogies may emerge as t e use o i e a er ro matures. onet e ess, it is c ear t at
one o t e strongest va ues e ivere y t is new tec no ogy is t at o versati e esign. e way t at so utions
are esigne in i e a er ro is orever c ange , an commercia eve opers an organizations wi ot reap
t e rewar s o t e pro uct as t e tec no ogy an its use continue to evo ve.
eve opment: t s out xecut on
nce t e esign strategy is in p ace, i e a er ro continues to e iver va ue y provi ing a very exi e
environment or eve opment. egar ess o t e rigor wit w ic t e requirements, speci cation an esign
p ases are comp ete , un oreseen opportunities an constraints wi emerge in t e eve opment process.
e ear ier t ese issues sur ace, t e more e cient y an e ective y t ey can e a resse . e co a orative,
real-time development environment of FileMaker Pro 8 provides many opportunities for optimizing the
eve opment process.
timate y, comp ex so utions consist o components an su -components t at are integrate to wor toget eras a seam ess w o e. n prior versions o i e a er ro it was o ten necessary to ui comp ex co ections o
su -components a at once suc t at it was a most impossi e to etermine w ere one component en e an
the next began. FileMaker Pro 8 provides for greater modularity of design, which allows discrete (or semi-
iscrete components to e constructe an teste or ater integration wit ot er components. time c oc
mo u e use to capture t e time spent on a project, or instance, can e ui t an teste y ot eve opers
an users e ore com ining it wit a time s eets mo u e eing simu taneous y constructe . ntegrating t e two
mo u es can appen t roug a num er o possi e esign scenarios, w ic may invo ve merging unctiona ity
in t e same e, com ining unctiona ity etween two es, or importing e ements rom one e into anot er.
In any case, the new features of FileMaker Pro 8 allow the integration of modules to occur in a seamless and
straig t orwar manner.
e a i ity to ui an test sma su -components an mo u es represents a signi cant improvement in t e
way i e a er ro so utions are eve ope . t a ows or un oreseen issues to emerge t roug t e eve opment
process in a more containe an contro e manner. it a equate testing, t e unctiona ity, usa i ity, an
appropriateness of each module can be well vetted before the module becomes immersed in the overall
so ution. atc ing t e pro ems ear y on wi e p acce erate t eir reso ution an eep t e pro ems in one
mo u e rom etrimenta y a ecting ot er mo u es.
i e a er ro as een a rea -time eve opment environment or years. e increase a i ity or mu tip e
eve opers or eve opment teams to access t e u unctiona ity o a so ution wit out inter ering wit ot er
eve opers, users, an testers p aces i e a er ro in a new eague. ertain y, more comp ex an mission
critical development activities might best be orchestrated using separate sets of files, but many development
projects can now peace u y co-exist wit ot er eve opment projects, wit testing, an even wit ive use ot e so ution. n cases w en a secon set o eve opment es is warrante , t e integration o new unctiona ity
into t e ive e set is more easi y an e ue to a vances in script importing, ata importing, an copying
ayouts etween es.
While implicit in the above illustrations, the value and leverage of collaborative development should not be
page 14
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 16/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
un erestimate . ncreasing y, t ere is a strong sentiment in programming communities t at team oriente
eve opment pro uces signi cant a vantages over t e sing e eve oper approac . om ining eve opers
wit ot er eve opers or eve opers wit s in t e co e writing process can en ance t e qua ity o t e
eve opment in many ways. wo participants ocuse on t e same pro em an ringing i erent perspectivesare more likely to uncover issues early on and to see a wider variety of possibilities than a single developer. If
one partner in a pair is also intimately familiar with the needs of the organization, the demands of the workflow
an t e expectations o t e users, so muc t e etter.
ina y, t e spee o eve opment in i e a er ro promises to e outstan ing in comparison ot to its
pre ecessors an to ot er eve opment environments. any operations, w ic use to ta e severa es, e s,
re ations ips, an scripts, can now e manage wit a sma an u o t ese e ements. n t ere are more
robust tools available to simplify much of the repetitive and laborious programming with respect to navigation,
inter ace contro , an ata management. nce t e un erstan ing o t e new eature set is more mature,
eve oping so utions in i e a er ro cou ta e ess time t an in previous versions o t e pro uct.
or t e most part, eve oping so tware so utions is a process o iscovery an a aptation. t is not unti we putt e pieces o our p ans an strategy toget er to ma e t em unction as a armonious an we -orc estrate
whole that we understand how the design of a solution will come together. Integral to this process is feedback
rom s, users, usiness ea ers, eve opers an t e so ution itse as eac unction is create , teste ,
revea e , an integrate into t e arger context o ot er systems an t e organizationa environment—t e
onger t e ee ac cyc e, t e greater t e possi i ity or waste e ort an or aying i - ate oun ations. uc
o t e new unctiona ity avai a e in i e a er ro provi es or increase co a oration invo ving t e s
an ot er sta e o ers uring t e eve opment process. uc invo vement ten s to s ortcut ee ac cyc es,
allowing the development team more insight into the opportunities and constraints that emerge from the
so ution. timate y, t is saves va ua e resources an pro uces a more e ective en resu t.
est ng: e ten gnore unce o revent on
Let us face it; no one wants to test software. Inventing the testing procedures alone is challenging enough,
and there are rarely adequate resources to complete the solution much less to test all of the variables.
urt ermore, t ose w o o ta e t e time are o ten quic y is eartene y unexpecte iscrepancies in ata
an in user interactions, ot o w ic invaria y compromise ot erwise we -conceive an we -written
so utions. esting commercia app ications is even more eman ing, as many customers in an inconceiva e
variety o environments wi use t em. ven arge so tware companies use pu ic eta testing cyc es at times
un e nownst to en users to vet an re ne t eir so utions.
egar ess o t e resistance to an t e ac o resources or its execution, t ere is itt e ou t t at so tware
testing pays o , an it is not enoug to ave t e eve opment team o t e testing. ssuring t e sta i ity o t e
so tware requires testing at a stages o t e process an y a wi e variety o users. n cases w ere t e time,
resource an expertise is not avai a e or a orma testing process, t e i e a er ro rea -time environment
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 17/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
can provi e tremen ous a vantages y re ucing ee ac cyc es an invo ving en users an su ject matter
experts t roug out t e testing process. urt ermore, as even extensive testing is vu nera e to un oreseen
consequences, a ter initia eta testing is comp ete, issues t at arise uring ear y imp ementation can e easi y
a resse wit out inter ering wit t e ongoing use o t e so ution.
One of the challenges in testing cycles is that feedback from tester to developer takes too long, and planned
testing perio s can e interrupte y s ow-stopping pro ems. n orma testing environments, pro essiona
testers are emp oye to run t roug a series o e ne sequences in or er to test eac eature an unction,
reporting any issues ac to t e eve oper. it i e a er ro, eve opers wor ing irect y wit users in ear y
testing cyc es can vet initia issues in rea -time, i enti ying an repairing many on t e spot in or er to eep t e
testing process moving. n cases w ere more researc is require to reso ve a s ow-stopping issue, t e user ca
move on to other aspects of testing or return to other work while the developer fixes the problem. The fact
t at testing an repairs can e one in t e ep oyment environment e iminates t e nee or compi ing cyc es as
we as issues t at sometime arise rom t e compi ing process.
ecause a rea -time eve opment environment can ramatica y s orten testing cyc es, en users an su jectmatter experts w o may not ave time or ong testing perio s can e more invo ve . irty-minutes o testing
in rea -time wit user an eve oper can accomp is quite a it wit respect to eva uating t e usa i ity an
e cacy o imp emente wor ow. urt ermore, a user may i enti y issues t at a pro essiona tester is una e
to see ue to t e users ami iarity wit ot wor ow processes an expecte ata. n some situations,
testing can e incorporate into a user s regu ar jo unction, especia y a ter a so ution is imp emente , w en
re nements are a resse or new eatures are a e .
For many developers and organizations, testing is considered a necessary evil and can be ignored all together
muc to t e etriment o t e imp ementation. e rea -time nature o i e a er ro o ers t e a i ity to
re rame t e testing project, o ering new opportunities to ma e t e process more e cient an e ective.
i e a er ro exten s t is capa i ity y a owing access to esign unctions w i e ot ers are accessing
ata ase unctiona ity. is gives t e eve oper more options an exi i ity in t e testing process as we as
a owing users an s to e invo ve in a manner t at urt er everages precious resources.
mp ementat on: e rt o t e o ut
o ing out new so tware so utions in an organization is tric y usiness. ven w en so utions are we esigne
an teste , it ta es time to integrate c anges into usiness processes an systems. n a ition to t e tec nica
c a enges, user uy-in an a option can present signi cant o stac es. e more processes, systems an uman
beings affected by the software, the more challenging the implementation.
n or er to minimize t e negative impact an resistance to a option, many organizations p ase in new
unctiona ity incrementa y an over time. enever possi e, even mo est so tware imp ementations are su -
ivi e into iscrete imp ementation units. nce a unit is in p ace an wor ing, t e next unit can e ro e out.
is mo u ar approac a ows or mu tip e sta e points t roug out t e imp ementation process t at e iver
the full value of the software in a timely manner.
page 16
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 18/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
i e a er ro is an exceptiona too or an incrementa ro out strategy. it a mo u ar approac to
esign iscusse previous y, an in more etai e sew ere , so utions can natura y e intro uce mo u e
y mo u e. itiona y, t e a i ity o i e a er ro to interact an exc ange ata wit ot er so tware
app ications an so utions via , , , etc. a ows or t e eve opment o ess comp ex so utionsy interacting wit an everaging pre-existing systems. oug t is mig t at rst appear to e more wor , suc
a methodology provides an organization with the opportunity to focus at each stage on the functionality that is
most imme iatey necessary an t at wi pro uce t e greatest va ue.
not er a vantage to an incrementa approac especia y wit a too as new an power u as i e a er ro
is t at it o ers a earn-as-you-grow environment. aspects o t e process, rom requirements gat ering
to imp ementation, are oun to mature as eac su sequent p ase is success u y rea ize . e nee s o t e
environment wi a so e trans orme to some extent as eac aspect o t e so tware is intro uce . now e ge
garnered from earlier phases in the process will provide better intelligence for use in later phases, ultimately
pro ucing superior resu ts. reating processes t at a ow new tec nica an esign inte igence to o ac
into prior p ases wi assure t at ear y wor maintains its re evance an via i ity wit in t e greater so ution.
ertain y t e timing o t e ro out is a critica part o t e equation. t is not uncommon or an organization to
recognize t e nee or a so ution ate in a usiness cyc e or to wait unti t e ast minute to move orwar on
a critical project. Once the decision has been made, it is compelling to think that the solution is required as
soon as possi e. e speci cs o t e timing, owever, o not un amenta y a ect t e act t at organizationa
processes are est ro e out incrementa y an over time. e greater t e comp exity an num er o varia es,
inc u ing tec no ogies invo ve , re ate systems, an personne , t e greater t e nee or an incrementa strategy
ee ing out mu tip e sta e points a ong t e imp ementation pat provi es t e est c ance or success w en
ro ing out even mo est so tware so utions.
a ntenance vo ut on: everag ng t e nvestment
t as een sai t at so tware re nement is never rea y nis e , ut simpy a an one . i e it is true t at a
so ution can e engineere ar eyon a point o via e returns, t ere is anot er si e to t is story. o utions
are created to remove constraints. As each constraint is removed, new constraints are revealed. When new
constraints are signi cant enoug to matter, new so utions are require . is cyc e o constraint an so ution is
urt er in uence y t e ynamic nature o ot t e mar etp ace an t e organizationa environments serve
y so tware app ications. it ew exceptions, so tware so utions t at o not a apt to new constraints an
c anges in environment o not continue to pro uce va ue over time.
it t e time an resources require to pro uce e ective so tware so utions, it ma es sense to use a
design methodology and development environment that support the ongoing maintenance and evolution of
t e so tware system. gain, t e i e a er ro exi e, rea -time environment aci itates t e intro uction onew eatures an unctiona ity as we as su t e c anges an t e maintenance o existing co e. t is easy to
un erestimate t e pro uctivity en ancing power o a ing or moving a ata e on a ayout or c anging t e
e ta or er. it i e a er ro , re nements i e t ese are just a raction o w at is possi e w en it
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 19/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
comes to en ancing existing unctiona ity an exp oring new possi i ities. ecause re nements an a terations
can e ma e very quic y, a wi e variety o i eas can e easi y teste or va ue an via i ity.
e new eatures in i e a er ro a ow t e eve oper to provi e access to some or a o t e esign eatureso t at super-users an su ject matter experts can experiment wit new i eas in wor ow, unctiona ity an
reporting. Because this access is very granular, end users can be given the ability to test their ideas themselves
wit out compromising t e a ance o t e so ution or t e ata e in it. n some cases, users an su ject
matter experts wi create new eatures an unctions on t eir own, in ot er cases t eir e orts wi pro uce
prototypes or t e eve oper to re ne. egar ess, eeping t e users invo ve in t e exp oration an esign
process can yie tremen ous va ue over t e i ecyc e o a so ution.
o utions t at o not a apt to t e c anging nee s o t eir environment quic y ose t eir va ue. ose t at can
adapt quickly and effectively to the needs of an organization and its market will continue to produce value over
time. i e gui e ines or a aptation an evo ution must e o owe in or er to maintain t e integrity o t e
so ution, provi ing super-users an su ject matter experts wit t e too s t ey nee to experiment an invent
can ramatica y increase t e va ue o a so ution. i e a er ro provi es a exi e, rea -time environment t ata ows eve opers to empower t e user w i e protecting t e core arc itecture an ata.
onc us on: ar y ng t e ropos t on
ue to t e transparency o muc o t e new power in i e a er ro , many users may continue to esign
so utions as t ey ave in prior versions. t ers wi go irect y into t e eve opment o arge-sca e, enterprise
so utions. n eit er case, an regar ess o t e outcome, t e rea va ue proposition o i e a er ro may e
misse .
ts true: i e a er ro mar s a new age or t e too an t e so utions it inspires. e power an exi i ity o
t is new environment, owever, comes wit a earning curve, increase eve s o creativity an insig t, an t e
requirement o greater i igence an rigor t roug out t e process. n ee , earning ow to eve op e egant an
e ective soutions in i e a er ro wi appen incrementa y an over time regar ess o t e way in w ic
it is initially approached. Rather than looking at this process as a hurdle or barrier that must be crossed in
or er to get to greener pastures, it can e seen as a journey t roug w ic ot un erstan ing an va ue are
receive . ocusing ony on t e en resu ts an ignoring or avoi ing t e steps a ong t e way wi iminis ot
t e experience an t e eeper vaue avai a e.
i e a er ro provi es an outstan ing environment or engaging t e process w i e simu taneous y creating
va ue or usinesses an organizations o a types an sizes. s t e new eatures an unctions are em race o
t eir tec nica va ue, it is important to em race t e entire va ue proposition. is inc u es setting an managing
appropriate expectations an exercising proper restraint an consi eration at eac stage o t e so utioncreat on process.
ina y, w at t e i e a er amiy o pro ucts represents is a signi cant eap orwar in t e maturity an
possi i ity o t e so tware so utions it supports. ow ere e se o we n a too so capa e o seam ess y
integrating the needs of the single-user desktop database and the enterprise-level solution. Being effective in
page 18
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 20/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t is new arena wi require t e eve opment o a commensurate eve o maturity in t e way ata ase so utions
an services are e ivere . ear y t is is a journey wort y o attention.
out t e aut or
ic ae ompson is t e irector o o tware a es an mp ementation at ew i ennium ommunications,
nc., a i e a er o utions iance artner. it more t an a eca es experience using i e a er ro, e as
e pe an its c ients ui so utions ranging rom sing e e ata ases to u -sca e systems.
ootnote1 e re ations ips grap is neit er a ow-c arting nor generation too , an s ou not e su stitute or
one. There are limitations to using the relationships graph for this purpose, which are inherent to its primary
unction. ee t e ocument on t e i e a er ro e ationa o e or a more etai e un erstan ing o t e
re ations ips grap .
page 19
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 21/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
The FileMaker Pro 8 Relational Model
ummary
This document introduces the relational model of FileMaker® Pro 8 and the rationale behind it.
• re- e a er ro -- at es
- repeating e s – su -recor s or simp e one-to-many re ations
- oo up e s a ow copying o ata ase on matc ing ey va ues
- no ability to display data directly from other files
• e a er ro - -- e at ona
- repeating e s an oo ups sti supporte
- can e ne re ations ips rom one e to anot er
- can isp ay an re erence re ate recor s rom a irect y-re ate e
- must create interme iate ca cu ations to propagate ata rom more t an one re ation away
• FileMaker Pro 8 - Relationships Graph
- repeating fields and lookups still supported
- can e ne re ations etween a ta es in a ata ase in a re ations ips grap
- can isp ay an re erence re ate recor s rom any ta e in t e re ations ips grap
- re ations ips grap can span mu tip e es; eac e as separate re ations ips grap
- re ationa operators can e re ative t eta joins ; mu tip e pre icates supporte
re- e a er ro -- at e o e
e ore i e a er ro , i e a er was esigne to e use as a at e ata ase wit on y very imite
re ationa capa i ities. at e is simpy a e or ta e consisting o a set o recor s or rows an a set o e s
or co umns . ac recor can contain a vaue or any num er o t e e s e ne on t e ta e. or examp e,
one mig t e ne an nvoices ta e w ere t e e s are t ings i e ustomer ame, ustomer ress, nvoice
Date, Invoice Total, etc. One record in the Invoices table exists for each invoice.
ese versions o i e a er ro a imitere ationa capa i ities or re ationa su stitutes:
repeating e s an oo ups. epeating e sa ow i e a er ro to store more t an one vaue
or eac e an t us create su -recor s oneac recor . or examp e, to create an nvoices
ta e, it is necessary or eac invoice recor tohold a set of items ordered on that invoice. To
accomp is t is, one cou create e s uantity,tem escription, an rice an t en e ne t esefields to have twenty or so repetitions each.
en t ese e s are ai on a orm si e- y-si ewit t eir repetitions running vertica y, it wou
then be possible for users to enter up to twentyitems on t e invoice an a ca cu ation cou ee ne to tota up t e items or t e invoice.
page 20
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 22/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
oo ups a ow esigners to ma e
i e a er ro oo up a va ue or a erom t e same ta e or anot er ta e
ase on matc ing va ues. n t is nvoicesexample, this would make it possible fort e esigner to ave a separate arts
ta e an ave i e a er ro oo up t eprice and description of the item and copy
it over to t e appropriate e s in t envoices ta e w en t e user enters a partnum er in t e invoice.
i e repeating e s an oo ups ave
proven inva ua e in creating interestingata ase so utions in an ot erwise at e
mo e , a re ationa mo e can provi e a
great ea more unctiona ity.
FileMaker Pro 3-6 -- Relational Model
ne o t e more serious imitations wit t e at e mo e an oo ups is t at it is i cu t to s are common
ata. s a resu t, t ere is a great ea o ata up ication. e same ata is nee ess y store in many i erent
recor s. is ma es t e ata ase arger an s ower t an necessary an t is up icate ata is at ris to
ecoming out-o - ate an inconsistent.
In the Invoices example above, the customer information (name and address) had to be entered for each
invoice even i t e same customer in ormation was a rea y entere or a previous invoice. n a ition, t e
part escription an price a to e oo e up an copie over to t e nvoices ta e or eac item or ere .
ertainy t ere are times w en t is mig t e a vantageous -- or examp e, it is pro a y est t at t e part
prices are copie w en t e invoice is create so t at uture price c anges ont a ect o invoices or t at t e
customer name an a ress are oo e up so t at t e invoice is a re ia e istoric recor o t e transaction.
However, this is not always the desired behavior. What if you always want the most current data? To produce
a customer statement a ist o unpai invoices to mai to a customer, it is important to use t e customerscurrent name an a ress. t is possi e to re oo up t e ata perio ica y ut t is is time-consuming, oes not
guarantee t at t e ata is a ways current, an requires t at t e recor s e mo i e .
page 21
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 23/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
i e a er ro - a resses t ese issues y
intro ucing t e a i ity to e ne re ations ipsetween es ta es . re ations ip escri es
ow recor s in one ta e are re ate to recor sin another table. In FileMaker, these relationshipsare ase on simp e sing e e matc es -- t e
va ue o one e in a given row is matc e againstthe values of another field across all rows of a
i erent ta e or t e same ta e in t e case o ase -re ations ip . n ot er wor s, or eac parentrecord, FileMaker finds the set of matching “child”
recor s w ere a given e as t e same va ue ast e parent recor . e set o matc ing recor s
cou e empty, cou e a sing e recor , or coue a sma or arge set o recor s.
n t e nvoices examp e, it wou e use u tota e a vantage o a re ationa mo e to create aseparate ta e or a t e customer ata. n t e
ustomers ta e, eac recor wou corresponto a different customer and be identified with aunique ustomer . n eac recor in t e nvoices
ta e, t e customer s current name an a ress canbe displayed by relationship. This Customer ID can
e use to e ne a re ations ip etween t e twota es so t at we can isp ay current ata rom t e
Customers table without having to copy it over tot e nvoices ta e.
urt er, we can o away wit t e use o repeating e s to o t e in ivi ua invoice items on eac invoice. e
can create a Line Items table to contain a record for each item by defining a relationship based on the invoice
num er etween t e nvoices ta e an t e ine tems ta e. en we isp ay a recor in t e nvoices ta e,
we can use t e i e a er ro re ationa capa i ity to isp ay t e set o ine tems recor s w ic ave t e same
invoice num er as t is invoice. y oing t is, we e iminate t e imitation o aving a xe num er o repetitions
or t e item ata an we can generate more comp ex reports an queries invo ving t e set o a ine items or
a invoices.
page 22
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 24/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
The FileMaker Pro 3-6’s relational model is more flexible and more powerful than its original flat file model.
owever, it sti as imitations. t is not easy to get a ig picture view o t e ata ase an a o t e re ations
etween t e ta es since t e esigner must e ne every ta es re ations to eac o its re ate ta es separatey
rom a o t e ot er ta es. is mo e ma es it i cu t to o queries invo ving ot er ta es in t e ata ase. t
requires extra wor or ata ase esigners w o want to view, wor wit , an per orm queries across a o t e
ta es in t e ata ase rat er t an on y t ose irect y accessi e rom eac ta e.
or examp e, it may e o interest to generate a ist o a customers w o ave purc ase a particu ar pro uct.
o ac ieve t is, it is necessary to o some air y comp ex scripting using mu tip e o to e ate ecor steps in
a series o su scripts, ui ing mu ti- eys in g o a e s wit uti ity re ations ips at eac interme iate ta e.
t is a so a imitation o t is mo e t at you cannot irecty access e s in re ate ta es t at are more t anone table away. It is often necessary to create calculated fields or looked-up fields in order to display data.
nterme iate e s are necessary or every e t at t e esigner wis es to access rom more t an one ta e away
.
page 23
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 25/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e view o t e ata ase is i erent or eac ta e in t e ata ase. ac ta e is on y aware o t ose ta es t at
it is irect y re ate to an eac ta e is aware o ta es t at are irect y re ate to it. or examp e, t e
ine tems ta e is not aware o t e re ation rom nvoices to ine tems. e re ations in t is mo e are one-way.
FileMaker Pro 8 -- Relationships Graph Relational Model
e i e a er pro uct ami y intro uces a more comp ete re ationa mo e to i e a er ro. is mo e is
ase on t e inter ace o a re ations ips grap w ere t e ta es an re ations etween t e ta es orm a visua
grap o no es an connections. is grap a ows t e esigner to see a t e ta es an a o t e re ations at
once i esire . or compex ata ases, t e esigner may c oose to rea up t e grap into more managea e pieces
epresentations o ta es in t e ata ase are s own in t e grap an re ations are e ne etween t e ta es
an s own as connections etween t e ta es. e connections are rawn etween t e matc e s t at e ne
t e re ation. y requiring t at every ta e occurrence in t e grap ave a unique name, it ecomes possi e to
escri e very comp ex re ations ips invoving many interme iate ta es wit very simp e qua i e names. s asimp e examp e, to re er to an isp ay t e re ate part escription or a particu ar ine item in t e invoice, it
would only be necessary to reference “Parts::Part Description”. If we’re asking for the data from the Invoices
ta e, t e ata ase engine is a e to etermine t e set o re ations ea ing rom nvoices t roug ine tems to
arts, per orm t e require join an return t e va ue o t e appropriate row. y simp y re erencing arts:: art
escription, we get t e va ue o t e e rom t e rst matc ing re ate recor . sing porta s we can access
t e entire set o reate recor s. is re ations ips grap mo e an t e e name qua i cation syntax ta e
name :: e name is compara e to ow many ot er ata ase systems an anguages inc u ing wor
with tables and fields in a database. By adopting this model and syntax, FileMaker has become more accessible
to eve opers accustome to ot er ata ase systems an tra itiona re ationa ata ases.
page 24
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 26/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ote t at t is mo e oes not ave t e imitation o t e previous mo e w ere it was not possi e to irect y
access e s in ta es t at are more t an one ta e away. ere ore, it is no onger necessary to create
interme iate ca cuate or oo up e s to copy t e ata rom one ta e to t e next. ac ta e now on y nee s
e s e ne or t e ata t at e ongs to t at ta e. urt ermore, t is mo e a ows muc more comp exqueries to be performed from any point in the graph involving any number of tables in the graph no matter how
far apart as long as they are somehow related.
a es on t e rap
ne constraint o t e re ations ips grap is t at it must not inc u e any cyc es. not er way to say t is is t at
there must only be one path between any two tables. If more than one path were available from one table to
anot er, t en it wou not e possi e to etermine t e esire pat y s imp y re erencing t e esire ta e.
an a itiona re ations ip is esire rom one ta e to anot er, it is necessary to a an a itiona ta e
occurrence to t e grap , ase on t e same ta e.
Each occurrence of the table in the graph must have a unique name. Names can be generated by appending
sequentia num ers i.e., nvoices , nvoices , etc. or t e eve oper can provi e unique names. ote in t is
examp e t at t ere are two occurrences o t e ontacts ta e, name ustomers an en ors , an a so
two occurrences o t e arts ta e, name arts an arts .
page 25
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 27/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ote t at t ere is not any requirement t at t e ta es in t e grap ave to e connecte to eac ot er. a es
can e present in t e grap t at is not connecte to any ot er ta e in t e grap . ere can a so e sets o
ta es in t e grap t at are connecte to eac ot er ut not to ot er ta es in t e grap .
“Tables” and “Table Occurrences”
e re er to ta es in t e grap as ta e occurrences an to t e un er ying ta es as ase ta es .
evert e ess, in common usage, w en re erring to ta e occurrences on t e grap we o ten re er to t em
simp y as ta es . t rst, t is can e con using, ecause t e concepts o t e ta e as we as t e ta e
occurrence are new. t is simi ar, owever, to t e common usage o t e wor e to re er to a e on a
layout. It isn’t generally necessary to refer to a “field occurrence”, since it is implicit based on usage when one
is re erring to t e e itse versus re erring to t e particu ar occurrence o t e e on a ayout.
e at ons ps re ot recte
The relationships in the relationships graph are not directed. A relationship defined between any two tables
wor s in ot irections not in just one irection as in i e a er ro . - . . or examp e, using t e same
grap , one can s ow t e re ate customer ata on an nvoices ayout an s ow t e re ate invoices ata on a
ustomers ayout.
owever, many options e ne on t e re ation are irecte . en you e ne or e it a re ations ip etween
two tables, you have several additional criteria that can be specified including an optional sort order, whether to
a ow creation o re ate recor s, an w et er to e ete t e re ate recor s in one ta e i a recor is e ete
in t e ot er ta e. ese options an ot ers must e speci e or one irection or t e ot er or ot . or
examp e, you may wis to speci y t at i a recor is e ete in ustomers, t at a o t e re ate recor s in
nvoices are a so e ete . owever, you pro a y o not want to e ete t e re ate recor in ustomers w en
a recor in nvoices is e ete .
xterna a es
n important eature o t is ata mo e is t at t e ta es in t e re ations ips grap o not nee to exist in
t e same i e a er ro e as t e grap . ta e t at appears in t e grap may actua y exist in a i erent
i e a er e. is means t at ayouts an scripts can e create in t e same e as t e grap to wor wit t e
tables in the graph while the data is pulled from an entirely different FileMaker Pro 8 file.
u t p e a es, u t p e es, an u t p e rap s
e ore i e a er ro , eac e containe a s ing e ta e. ere ore a ata ase o mu tip e ta es was necessari y
made up of multiple files. However, any particular file could be used as part of multiple databases. For example, a
ip o e osta o e ta e mig t e s are an reerence y severa i erent a ta ases.
page 26
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 28/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e ata mo e provi es or t e e nition o many ta es in a sing e e. ere ore, an entire ata ase o many
ta es can e w o y containe in a singe e on is or can span many es, some o w ic ave mu tip e ta es
i e a er ro a ows t e user to create an use es wit various num ers o ta es. e cou ave on y
a sing e ta e an appear muc i e es rom previous versions o i e a er ro, or it cou com ine mu tip eta es into one e an sti access ta es in ot er es.
e important t ing to note ere is t at, just i e in previous versions o i e a er ro, eac e as its own
view of the relations of the database. This means that each file has its own relationships graph that may or may
not correspon to t e re ations ips grap s o ot er es in t e ata ase. or examp e, t e re ations ips grap
given ear ier o nvoices, ine tems, ustomers, an arts eing a re ate toget er mig t e t e re ations ips
grap o just t e nvoices e. e arts ta e mig t exist in a separate arts e an ave its own in epen ent
re ations ips grap invo ving a se re ation to s ow parts ma e up o su parts. e esign an organization o
t e ata ase is up to t e esigner.
The first reason that each file has its own relationships graph is to provide backward compatibility withata ases create in previous versions o i e a er ro. n t e re ationa mo e o i e a er ro - eac e
contains t e set o re ations etween its ta e an t e ta es in t e ot er es. ere was no requirement t at
a given ta e a to e ne t e same set o re ations to ot er es t at were e ne to it. is is a so true wit
t e re ations ips grap mo e . ot on y oes t is a i ity ma e conversion o ata ases to i e a er ro
possi e, it a so is very reasona e. ere is no reason or a e containing a ip o e ta e or mp oyee ist,
etc.) to be aware of and define reciprocal relations to every other table that has a relation to it.
e secon reason t at eac e as its own re ations ips grap is t at i e a er ro as a ways a owe
eac i e a er ro e to e opene an mo i e in epen ent y o a ot er i e a er ro es. i e a er
ro oes not require t at a es re erence or a es t at re erence a given e e present in or er to
use or mo i y t at e t oug it wi oo or re erence es w ic are missing, t e eve oper can cance
and proceed). FileMaker Pro 8 also does not require that one have design access to all files involved in theata ase in or er to ma e esign c anges to one o t e es. is is rea y important w en mo i ying a e t at
is accesse y many ot er ata ases. t wou e unreasona e to require a t e ot er es to e up ate to
accommo ate sc ema c anges. ere ore, eac i e a er ro e sti as its own set o re ations in t e orm
o t e re ations ips grap . e re ations ips grap in eac e can e mo i e in epen ent o w et er any
page 27
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 29/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ot er es re erence t is e.
t is wort noting again t at a re ations ips grap nee not e u y connecte . ere can exist in t e grap
groups o ta es t at are connecte to eac ot er ut not to ot er ta es in t e grap . ere ore, a singe e
can act as i it as mutip e reations ips grap s. ac isconnecte su -grap is, in a way, its own in epen ent grap .
So, to summarize, a database can be built on one or more files. Each file can contain zero or more data tables.
ac e as its own re ations ips grap t at can contain isconnecte grap s. cripts an ayouts e ne in t e
same e can a ta e a vantage o t at es re ations ips grap , as can ca cu ations in ta es t at are in t e same
e as t e grap .
eparate ew an ata es
re ations ips grap can inc u e externa ta es ta es in ot er es an its not necessary to ave any ta es
e ne in a e at a you can e ete t e initia e au t ta e . is means t at it is possi e to create a i e a er
ro e t at contains no ata ta es at a ut as a re ations ips grap t at re ates a num er o ta es e nein externa es. is e can sti ave a comp ete set o ayouts an scripts t at ma e use o t e ata ta es in
t e grap . e resu t is t at a t e ata ta es cou e in one e an a t e ayouts an scripts cou e in
another file.
is a ows a eve oper to easi y rep ace t e ayouts an scripts e wit out a ecting t e ata es. owever,
t ere is a imitation ere. e e e nitions are part o t e e nitions o t e ata ta es an are t us part
of the data file. This means that changes to the data table fields must still be made in the data table files
t emseves.
s ng t e e at ons ps rap
ne imp ication o t is re ations ips grap mo e is t at it is a ways necessary to provi e t e context rom
which references in the relationships graph should be evaluated. For example, each layout in a database file muste e ne to isp ay recor s rom a particu ar ta e or a particu ar occurrence o a ta e in t e grap . nce
t is starting point as een esta is e , it is t en possi e to re erence any e in any ta e in t e grap as ong
as it is re ate even very in irect y to t e starting point.
page 28
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 30/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
is is true or a e re erences in t e ata ase regar ess o w et er t at e is on a ayout, in a script, via
a ca cu ation, part o an export or er, etc. ere must a ways e some way to esta is t e context a particu ar
ta e in t e grap rom w ic a re erences to ot er e s in t e grap are to e interprete .
or ayouts t is requirement is straig t orwar in t at part o t e e nition o t e ayout is t e ta e t at t elayout is displaying data from. (This is necessary anyway to support multiple tables per file.) Afterwards, any
reference on the layout to any field from any table in the graph is interpreted relative to that layout’s defined
ta e. is e nition can e c ange a ter t e ayout is create as we since i e a er ro wi sti e a e to
interpret a t e e s on t e ayout rom t e new ta e as we . , at any time, a e is re erence w ic is not
re ate to t e ayouts ta e, t en an < a e issing> message is isp aye in p ace o t e e s ata, muc i e
t e messages in i e a er ro - to report t at a e is missing, a e is missing, or t e user oes not ave access.
For calculations, it is necessary to specify where in the relationships graph the calculation’s field references
s ou e eva uate rom. n t e case o cacu ations e ne as part o a e s e nition, t e ase ta e is
a rea y nown -- it is t e ta e t at t e e is e ne in. owever, i t e ta e appears in t e grap more t an
once, it is sti necessary to speci y w ic occurrence o t e ta e in t e grap s ou e use to evauate t e
ca cu ation.
A Complex Example
e o owing is a more comp ex examp e t at can e use to emonstrate some o t e power an some o
t e intricacies o using a re ations ips grap . is ata ase is inten e to manage c asses, stu ents, teac ers,
assignments, an gra es.
We can start with the basic tables: Classes and Students. Since each class will have many students enrolled in it
an eac stu ent wi e enro e in mu tip e c asses, we nee an interme iate ta e, nro ment, to provi e t e
pairings in t is many-to-many re ations ip.
ow, its wort noting t at someone w o oes not ave a ot o experience wit re ationa ata ase esign
cou stop ere wit t ese ta es an ave a per ecty reasona e so ution or trac ing enro ment o stu ents
in c asses. is person mig t a so create a itiona ta es or teac ers an assignments an not even try to
relate them all together in some meaningful fashion.
page 29
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 31/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e grap we ave so ar a ows us to create a ayout ase on t e asses ta e w ere we s ow t e set o
stu ents enro e or eac c ass. is wou e accomp is e y speci ying t e asses ta e w en creating
t e ayout. e ta e assignment cou e ater mo i e in t e ayout etup ia og. en, a porta wou e
create on t e ayout an t is porta wou e e ne to raw its recor s rom t e ta e tu ents. ote t atit is never necessary to speci y any o t e interme iate ta es. y speci ying a ta e in t e re ations ips grap ,
FileMaker Pro 8 can determine the set of relations between the starting table and the requested table to find
t e set o re ate recor s. n t is case, t e nro ment ta e is t e on y interme iate ta e in t e set o re ations
etween asses an tu ents. o comp ete t e creation o t is ayout, a set o e s rom asses i e t e c ass
name an a set o e s rom tu ents i e t e stu ent name wou e p ace on t e ayout as esire . n t is
same manner, we can create a ayout ase on t e tu ents ta e t at s ows t e set o c asses eac stu ent is ta ing
is examp e can e ta en urt er y a ing in a ta e or eac ers t at a so ene t rom a one-to-many
re ations ip. ac teac er can teac many c asses ut eac c ass as on y one teac er.
ow t is a ows us to mo i y our ayout ase on t e asses ta e to inc u e t e name o t e teac er
assigne to t is c ass y mere y p acing t e ame e rom t e eac ers ta e eac ers:: ame on t e ayout.
ince t e re ations ips grap speci es t e set o re ations etween asses w ic t e ayout is ase on anTeachers, FileMaker Pro 8 can perform the necessary operations to come up with the set of matching records.
eac ers:: ame is p ace irect y on t e ayout not in a porta , i e a er ro wi isp ay t e ata rom t e
rst matc ing re ate recor . e e eac ers:: ame cou a so e a e to t e tu ents ayout just as easi y
to ispay t e teac ers name or eac c ass t at t e stu ent is ta ing.
page 30
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 32/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ayout ase on tu ents isp aying porta to asses, inc u ing e rom eac ers
ow a a ta e o assignments an re ate t ese to t e asses ta e wit a one-to-many re ations ip.
ow we can create anot er ayout ase on t e tu ents ta e or mo i y t e existing one to s ow a t e
assignments or eac stu ent. ote t e comp exity o t is re ations ip etween tu ents an ssignments
ut t at it is not necessary to ea wit t is exp icit y once t e re ations ips grap is provi e . ust as in
t e previous examp es, we can create a porta o assignments in t e tu ents ayout an a e s rom
ssignments irect y. n t e previous i e a er ro re ationa mo e , we wou ave to create re ations in eac
table’s file and create a lot of intermediate fields in each of the tables between Students and Assignments inor er to propagate t e ata a t e way over rom t e ssignments ta e. it a re ations ips grap , we can jus
re erence t e esire e irect y.
ontext or e s sp aye n a orta
owever, isp aying t e ass ames or eac o t e ssignments in t e same porta cannot e accomp is e
simp y y p acing t e ame e rom t e asses ta e in t e porta . ie vaues rom interme iate ta es
in t e grap are eva uate ase on t e ayouts ta e, not t e porta s ta e. t e c ass name is p ace in t e
porta , t en every row wi isp ay t e same vaue, t at is, t e va ue rom t e rst re ate c ass, w ic is not
w at is inten e .
page 31
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 33/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ayout ase on tu ents isp aying porta to ssignments, inc u ing e rom eac ers
ote t e incorrect va ue in a rows in t e ass ame an eac er ame co umns.
To display fields in a portal correctly, the field must be in the portal’s table or in a table eyond the portal’s table
in the graph (“beyond” from the perspective of the layout’s table). To display the class name that is related to
t e ssignment, it is necessary to create anot er ta e occurrence o t e asses ta e, an to re ate t at ta e
occurrence to t e ssignments ta e.
page 32
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 34/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ayout ase on tu ents isp aying porta to ssignments, inc u ing e rom eac ers
e o owing ru e is use to etermine w at recor an t us ta e to use as t e starting point or re erencing
e s in t e context o a porta :
If the first relationship in the path used to get from the portal record’s table to the field’s table is the same as
t e one use to get to t e ayouts ta e, t e win ows current recor an t us t e ayouts ta e wi e use
as t e starting point or eva uating t at e s re erences. t erwise, t e porta rows recor an t us t e
porta s ta e wi e use to eva uate t at e s re erences.
not er way to say t is is t at t e pat to t e isp aye e must inc u e t e same u pat as t at to t e
portal’s table, or else only the first related value will be displayed.
ote t at t is issue oes not app y to ot er uses o t e grap , suc as isp aying in ivi ua reate e s not in
a porta , eva uating re ate e s in ca cu ations, or using re ate e s in a n request, since in t ose instances
t ere is on y one starting point an one en ing point one u pat t at is invo ve . t is an issue unique to
porta s ecause o t e a i ity to isp ay e s rom a ta e occurrence ot er t an t e one t at it represents.
ontext n t e rap
ow we want to trac eac stu ent s scores on eac o t e assignments. is is going to require anot er ta e
cores t at is going to i enti y ot t e assignment an t e stu ent y t eir respective s or eac score
va ue. is is w ere it gets a it more comp ex. we connect t e cores ta e to t e ssignments ta e ase
on the Assignment ID and we connect the Scores table to the Students table via the Student ID, we’re going tocreate a cyc e in t e grap .
cyc e cannot e a owe in a re ations ips grap since it wou mean t at t ere is more t an one pat
etween any two ta es in t e grap .
page 33
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 35/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
or examp e, i t is grap were a owe it wou no onger e possi e to s ow t e set o stu ents enro e in
a c ass y mere y e ning a ayout to e ase on asses t e starting point an e ning a porta to e ase
on tu ents t e en point . ere wou e more t an one way to get rom t e starting point to t e en ing
point and, depending on the data and the relations between the tables, each path may result in a different set of
recor s.
ince t ere can e on y one pat etween any two ta es in t e grap , t e attempt to re ate one ta e to
anot er ta e more t an once must resu t in t e creation o anot er occurrence o t e ta e in t e grap .
page 34
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 36/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
n t is picture o t e grap , we ave ma e t e rea in t e cyc e at t e tu ents ta e so t at t ere are now
two occurrences of the Students table in the graph. There is still only one underlying Students table, but
t e tu ents ta e appears in t e grap more t an once an a ayout or ca cu ation can ma e use o eit er
occurrence y re erring to t at occurrence y name.
ere is no reason t at t e rea in t e cyc e cou not ave een ma e e sew ere in t e grap . t wou
e just as easy to ave t e cores ta e appear more t an once so t at one version was re ate to t e sing e
Students table occurrence and the other was related to the Assignments table. Other organizations are possible
as we . e esigner is ree to c oose w ic ever ma es t e most sense or t eir so ution or ow t e ta es
are accesse . n act, i t ere is some reason to o so, t e esigner cou rea t e cyc e in severa p aces or
a a itiona occurrences o severa ta es. or examp e, ot tu ents an cores cou e a e to t e
grap a secon time i esire so t at cores an tu ents wou appear in t e grap as in t e iagram
a ove an cores cou e a e to t e grap in a re ation wit tu ents. is wou a ow t e esigner
to take advantage of the relation between Students and Scores 2 or that between Scores and Assignments as
appropriate in i erent p aces in t eir so ution.
it t e cores ta e integrate in t e grap , it is possi e to see once again ow ata rom any ta e in t e
grap can e use anyw ere e se in t e grap . or examp e, a ayout ase on t e tu ents ta e can s ow
a scores t at t e stu ent as receive , an , in t e same porta , isp ay t e assignment names, c ass names, an
teac er names rom t eir respective ta es.
page 35
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 37/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ayout ase on tu ents isp aying porta to cores.
ow t at a ta e is present in t e grap more t an once, notice ow t e c oice o t e starting point matters.
o isp ay ata or a stu ent, we can c oose to ase t e ayout on eit er tu ents or tu ents . you create
a ayout on tu ents an t en create a porta s owing recor s rom asses you wou get t e set o c asses
that the student is enrolled in since that is what the relationships between Students, Enrollment, and Classes
e nes. ow i you were to c ange t e ayout to e ase on tu ents an eave t e porta isp aying asses
you wi get somet ing i erent. ou wi get t e set o c asses or assignments or w ic t is stu ent as a
score. tu ents --> cores --> ssignments --> asses ince t is stu ent may not ave comp ete a o t e
assignments or a o t e c asses or not a o t e c asses even ave assignments, t is set o c asses may not e
t e entire set o c asses t at t e stu ent is enro e in. you as a i erent question, you may get a i erent answer.
ow et us intro uce a ist o prerequisite c asses or eac c ass an a one-on-one u y system or t e
stu ents. or t e prerequisite c asses, we nee yet anot er many-to-many re ations ip ut t is time etween
asses an itse w ic intro uces anot er occurrence o t e asses ta e. or t e one-on-one u y system
we nee a one-to-one re ations ip etween tu ents an itse -- a one-to-one re ations ip oes not require an
interme iate ta e.
page 36
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 38/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e user inter ace o a porta ma es it possi e to isp ay t e power o t e re ationa mo e very irect y, ut
note t at t ese same reations ips can e everage in scripts an ca cu ations wit out ever isp aying t e resu ts.
s ng e at ons ps or uer es
e re ations ips grap mo e en s itse we to queries. s escri e ear ier, any num er o ta es in t e
relationships graph can be referenced directly. By simply referencing a field in a table on the relationships graph,
i e a er ro can eva uate t e re ations ip etween t e ta es to pro uce t e appropriate query resu ts as
requeste .
e context o a n operation is epen ent on t e current ayout at t e time t e n is per orme . is is
true in a scripte er orm in step as we as in a manua n . o to ayout step may e necessary, even i
t e ayout is not isp aye , to set t e correct context or a scripte n .
e re ationa mo e a so supports t e a i ity to e ne re ations ips t at are ase on matc ing rows on a
re ationa operator ot er t an equa ity i.e., greater t an, greater t an or equa , ess t an, ess t an or equa , or
not equa . i e a er ro a so supports re ations ips wit mu tip e matc e s.
e ations ips ase on mu tip e e s, or mu tip e pre icates , a ong wit re ative operators, a extraor inary
power to t e re ations ips grap .
or examp e, you can p ace a porta on a ayout ase on a ta e occurrence tit e . ustomers w ic
is ase on t e ontacts ta e , isp aying a invoices to t at customer or a certain ate range. n i e a er
- , t is type o re ations ip wou require comp ex cacu ate eys an or arge in exe mu ti- eys. owever,
in i e a er ro , it can e one wit one re ations ip, two g o a ter e s in t e ontacts ta e, an no
a itiona in exe e s.
page 37
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 39/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e re ations ip wi appear in t e grap i e t is:
- oc uer es
e re ations ips grap escri e so ar represents t e set o re ations t at t e esigner o t e ata ase
e nes as part o t e construction o t e ata ase. ese re ations ips are invo e w en re erences are ma e
rom one ta e in t e grap to anot er. owever, t ere can e times w en it may e esira e to per orm a
query w ic e nes an entirey i erent set o re ations ips -- a set o re ations ips not represente in t e
re ations ips grap . is is an a - oc query an t e re ations ips grap mo e supports it. uc a query can e
specified using a query language like SQL. The query includes the specification of the relations between various
ta es, as in t is simp e examp e:
ustomers. ame, nvoices. nvoice um ustomers, nvoices
ustomers. ustomer = nvoices. ustomer ;
One method by which ad hoc queries can be posed to FileMaker Pro 8 is through the FileMaker Pro 8 ODBC
interface.
t s ou e note t at t e ata ases re ations ips grap can sti p ay a part in a oc queries. n i e most
tra itiona ata ases, i e a er ro supports t e e nition o ca cu ate e s as part o t e ta e. ese
ca cu ate e s can re erence e s in re ate ta es as e ne y t e re ations ips grap . ere ore, an
a oc query t at e nes its own re ations etween ta es ma es use o t e ata ases re ations ips grap
inadvertently if the query references a calculated field that references a related field. However, this dependency
on t e re ations ips grap is entire y transparent an is mere y part o t e e nition o t e ca cu ate e s.
page 38
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 40/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e onvers on
e automate conversion o i e a er ro - es t at ave re ations ips e ne is possi e since eac
re ations ip in t e o e correspon s to a re ation in t e re ations ips grap o t e new e. e names o t ere ations ips in t e o es s imp y ecome t e names o t e ta e occurrences in t e re ations ips grap .
rior to conversion, t e our i e a er ro - es ma e up an nvoices ata ase. e nvoices e is re ate
to t e ustomers an ine tems es an t e ine tems e is re ate to t e arts e.
e resu t o automatic conversion o our es in a i e a er ro - ata ase to t e re ations ips grap : eac
e sti as one ta e an eac e sti as a set o reations ips to t e ta es in t e ot er es, on y now t e
re ations appear in t e re ations ips grap . n t e es t at i not ave any re ations ips e ne , on y eac
es own ta e appears in t e grap .
n t is examp e, eac o t e our i e a er - es were automatica y converte an a re ations ips grap was
generate or eac e t at correspon s to t e set o re ations ips in t e origina es. e conversion process
oes not try to e iminate a t e interme iate ca cu ations t at t e esigner create in t e previous re ationa
mo e an it oesnt try to coa esce t e re ations ips grap s o eac o t e es. e conversion process just
rings t e es orwar an t ey continue to unction as e ore. ac e sti as on y its view o its irect y
related tables. Those files that had no relationships to the other files in the database are left with graphs
containing mere y t e one ta e in t at e.
page 39
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 41/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ter conversion, t e esigner may eci e to rewor t eir ata ase to ta e a vantage o t e new re ationa
mo e . or examp e, t ey may wis to a t e arts ta e to t e re ations ips grap o t e nvoices e so t at
t ey can s ow part in ormation on t e invoice wit out t e nee or t e interme iate ca cu ations in t e ine
tems ta e. ey may a so c oose to a a new inter ace e to etter everage t e power o t e new mo e ,or to consolidate data files to eliminate other files and take advantage of the ability to have many tables in a
single file.
ince t e re ationa mo e in i e a er ro -
on y permits irect re ations ips to e e ne ,the relationships graph that results from theconversion process is a ways a very simp e grap
wit t e es ta e appearing wit a set o irectrelationships to it (including self-relationships).
gain, t e names o t e o re ations ips ecomet e names o t e ta e occurrences in t e grap .
After conversion, the designer can immediatelyta e a vantage o t e re ationa mo e an createayouts ase on t e ot er ta es to s ow ata
rom i erent perspectives. or examp e, ycreating a ayout ase on t e ustomers ta e,
one can easi y create a report s owing a t einvoices or a given customer or a t e parts a
given customer as or ere . is is ma e possi ey t e re ations ips grap ecause t ere is no
xe perspective. ayouts an ca cu ations can ecreated from any point in the graph.
ote t at it may not e a visa e to create ayouts ase on t e ot er ta e occurrences in a converte e
until one has a good understanding of how to manage context in scripts.)
page 40
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 42/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
File References in FileMaker Pro 8
ntro uct on
What are “File references”?
A file reference is the mechanism FileMaker® Pro 6 and FileMaker Pro 8 use to store the locations of external
es, inc u ing ot i e a er ro an in some cases ot er es.
en a so ution re ers to an externa e, i e a er ro stores a re erence to t at e. e re erence
consists o an interna num er an one or more p aces pat s to use to oo or t e e w en it is nee e
again. External files might be located on your local hard drive, on a shared network drive (although this is not
recommended), hosted via FileMaker Pro peer to peer hosting, or hosted using FileMaker Server.
n i e a er ro t e eve oper never speci es t e e re erence irect y. nstea t e eve oper ocates es
using t e eve e rowser or t e i e a er ro osts networ rowser. i e a er ro t en stores one
or more pat s to t e e epen ing on t e con guration o t e c ient mac ine, t e ocation o t e es, an
whether the “Save relative path only” box has been selected.
en se ecting a e in one o t ese iaogs i e a er ro ma es a etermination as to w et er t is
constitutes a new e re erence or w et er it can reuse an existing e re erence. is etermination is ase
on t e e name an t e pat to t e e.
n i e a er ro t ere are our common pat types store wit in a e re erence: e ative, so ute,
Windows Network, and FileMaker Network. A single file reference can store multiple different paths to a file,
eac storage ocation correspon ing to t e our i erent types o e re erences store a t oug in practice
t ere is i e y a maximum o t ree store .
at as c ange
ne area o c ange invo ves ow i e a er ro i enti es an ocates es necessary in t e operation o t e
ata ase so ution. i e a er ro reveas t e concept o a e re erence to t e eve oper an converts t e
previous y i en e re erences o . p es into now-visi e e pat s or . p es on conversion. t oroug
un erstan ing o t e mec anisms invo ve in t e conversion o t ese e re erences wi ai t e eve oper in
ensuring t eir so utions n t e correct es an are operating e cient y.
n i e a er ro t e our asic pat types remain, owever i e a er ro intro uces a new met o y
w ic to speci y eac pat type. e imits in i e a er ro are i te an t e eve oper is a e to store
mu tip e e pat s wit in a sing e re erence, inc u ing more t an one pat o t e same type. oreover, t eeve oper is a e to speci y t e searc or er wit in t e i e e erence or ocating es. is ena es t e
eve oper to ensure correct operation o t e so ution in sing e-user an mu ti-user settings as we as in
development and deployment scenarios.
page 41
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 43/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Testing conditions
xcept w en speci e , t e term i e a er ro wi e use to re er to t e e avior o versions . an o
t e pro uct. e extension . p wi e use to re er to es create wit i e a er ro . or .
Topics not covered
There is another type of file reference that is not covered in this document. FileMaker Pro may also store
re erences to images, o jects, an ot er es in recor s e.g. an image in a container e or on ayouts
an xce ta e on a report . ese e re erences are store in a i erent ocation an in a i erent manner
rom t ose use y t e app ication or re ations ips an scripts an t ere ore are not covere y t is
ocument. num er o p ug-in ven ors ave so utions or extracting t e e pat s store in t ese re erences.
onsu t t e i e a er we site, or ttp: www. ema erp ugins.com, or a ist o p ug-in ven ors an so utions.
e e erences verv ew
When are file references stored?i e e erences are store or t ree primary uses. e most common times are w en creating re ations ips
to other files and when creating scripts that reference external files (e.g. Perform Script [External], Open File,
ose i e, mport ecor s . ey are a so use w en e ning va ue ists t at are erive rom anot er e.
ere are t e i e a er ro ia ogs t at appear e ore a e re erence is create w en creating a re ations ip
or an externa script ca on in ows.
t is important to note t e istinction, owever, etween manua actions an scripte steps; t e ormer oes
not use a e re erence w i e t e atter oes e.g. se ecting mport ecor s rom t e i e menu compare
wit t e mport ecor s script step .
ac o t ese operations as t e potentia to store a new e re erence or use an existing one epen ing on
t e situation in w ic t ey were create . or exampe, i a re ations ip an va ue ist are create re erencing t e
same e in a i e i oo t ey wi s are a e re erence. , owever, a re ations ip is e ne to a secon e,
page 42
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 44/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t e es are move rom a oca eve opment environment to a oste ep oyment environment, an t en a
va ue ist is create t at re erences t at secon e t en a new e re erence may e create epen ing on t e
re ative ocation o t e es, t e s aring status o t e es, an w et er t e ave re ative pat on y c ec ox is
c ec e or not.
What types of files do file references refer to?
i e re erences are primari y use or i e a er ro es. e must rst e converte to i e a er ro ormat
e ore you are a e to create a re ations ip to it.
imi ar y, a a ue ist cannot e e ne to retrieve its va ues rom a non- i e a er ro e. i ewise t e pen
an ose script steps on y app y to i e a er ro es.
n some cases i e e erences can a so store in ormation a out ot er types o es t at are avai a e. n i e
t e pen an ose script steps, t e mport ecor s an en essage script steps a ow t e speci cation o
ot er es. ese e re erences cannot e use y items requiring a re erence to a i e a er ro e.
is is not oo proo owever. ecause o t e extensive e ocation mec anism it is possi e or i e a er ro
to confuse files and file references. One of the mechanisms it uses when failing to locate a file is to search for a
e o t e same name ut wit no extension.
Why might I have multiple references to the same file?
en i e a er ro is as e to use an externa e it tries to etermine w et er a suita e e re erence
exists a rea y. sua y, i t e es are in t e same p ace as w en a prior e re erence was initia y create , it is
able to reuse the existing file reference.
owever t ere are a num er o cases w ere i e a er ro is not a e to etermine t at it can use an existing
e re erence an instea creates a new one. ecause t is appens e in t e scenes it genera y oes not
cause pro ems. owever it is not uncommon uring eve opment to move t e so ution aroun on t e oca
mac ine or on t e server. t oug not recommen e , sometimes uring active eve opment a eve oper mig t
have multiple versions of a solution on a hard drive or a copy on the local machine and a copy on the server.
With multiple copies of files located in various places it is easy for FileMaker Pro to become confused about
w ic is t e correct copy o t e e. n a typica scenario es are rst eve ope oca y an t en oste wit
i e a er erver wit urt er eve opment occurring remote y. e erences to t e es were initia y create
on t e oca computer so w en oo ing or a particu ar e it is possi e t at i e a er ro wi n t e oca
copy rat er t an t e oste copy. is genera y mani ests itse y t e e eing iste twice in t e in ow
menu, e c anges isappearing , or t e perennia comp aint rom en users t at t e ata t ey i igent y
entere as gone missing.
t is a so possi e, uring eve opment, to em e t e name or a ress o t e eve opment mac ine
in a e re erence. uring eve opment i e a er ro is a e to ocate t e es. owever, uring ep oyment
t ese es may no onger e avai a e an per ormance may su er w i e i e a er ro attempts to ocate t e
e across t e networ . orse yet is t e situation w ere i e a er ro is actua y a e to n t e e on t e
network rather than the locally hosted file. When “correcting” this behavior a new file reference may or may
not e create storing t e true ocation o t e e.
page 43
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 45/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e re erences n e a er ro .
Path Types
e ore ta ing a out ow i e a er ro actua y searc es or es it is important to note t e types o pat s t amig t e store in a e an ow t ey i er rom one anot er. e our common pat types store in . p es
are relative, absolute, Windows networking and FileMaker networking. On Mac OS, a file “alias record” was also
store in some cases.
Relative
e ative pat s in icate w ere a e is ocate wit respect to t e current e. two es . p
an . p are ocate in t e same o er t en t e pat o t e e re ative to t e
TEACHERS file includes only the file’s name (e.g. “STUDENTS.fp5”). If the STUDENTS file was located in a
su o er o t e o er containing t e e t en t e re ative pat wou inc u e t e su o er name
as we as t e e name e.g. : u o er: . p , u o er . p . re ations ip rom
to un er t is structure wou in icate a simi ar pat ormat e.g. :: . p , ..
. p . e ative pat s app y to oste environments as we . t e es anare ot oste y t e same i e a er erver mac ine t ey wi ave a simi ar re ative pat as i t ey were ot
located in the same folder. This is independent of the actual folder structure on FileMaker Server itself.
Full (sometimes called absolute path)
e u pat to a e in icates w ere t e e was ocate on a oca wor station. n i e t e re ative pat , t e
u pat stores t e entire ocation o t e e inc u ing t e vo ume name or rive etter on w ic t e e is
ocate e.g. acintos : sers: min: es top: eystone: . p . u pat may e store in
a ition to t e re ative pat un ess t e tore re ative pat on y c ec ox is c ec e , in w ic case it is not
stored unless the target file is located on a different volume/drive than the current file. It may also be stored in
conjunction wit a networ pat .
a u pat is store in a e re erence it is p at orm speci c. i e a er ro creates a new e re erence w en
targeting t e same e on a i erent p at orm t an t e one on w ic t e origina e re erence was create .
Windows Networking
e in ows pat is s ig t y i erent rom t e u pat . e in ows pat contains syntax t at is speci c
to in ows operating systems e.g. : ocuments an ettings ser eystone . p . s can e
expecte , in ows pat s are not va i on ac an e re erences t at contain on y a in ows etwor
pat wi not reso ve on ac . t e e cannot e oun using anot er store pat , i e a er ro wi
prompt t e user to ocate t e e un ess error messages are eing suppresse .
FileMaker Networking
etwor pat s are store in e re erences un er two situations. e rst occurs w en t e e eing
re erence is ocate on t e networ an is se ecte t roug t e osts ia og. e secon occurs w en t e
re erencing e as its s aring options set to mu ti-user an t e ave re ative pat on y c ec ox is not c ec e
page 44
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 46/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ere are two types o networ e re erence. e rst type is t e oca networ pat an is in icate y an
asterisk (*). The other is the full network address that is either the DNS name of the workstation or the TCP/IP
a ress. u networ a ress is common y visi e in t e er orm cript: xterna script step w ere t e
name o t e e is o owe y t e networ pat .
Note: While FileMaker Server on Mac OS 9 supports AppleTalk networking and FileMaker Server on Windows
supports networ s t e scope o t is conversion ocument re ers on y to networ ing since
t e ot ers are no onger supporte in i e a er ro .
e oca networ pat in icates t at t e e was avai a e in t e osts ia og wit t e oca osts option
c osen. e u networ pat in icates t e e was ocate y c oosing t e peci y ost... option w en
locating the file or that the file had its sharing status set to multi-user when the file reference was stored. While
t e oca networ pat is t e more exi e o t e two, a u networ pat ea s to t e est per ormance an is
require in certain scenarios inc u ing muti-server partitioning o t e ata ase, or ost an c ient in i erent su nets
Aliasn ac , an a ias recor was a so store un er some con itions. e a ias recor cou e use to ave
the operating system locate the file. In typical use, this would have similar behavior to using the relative and full
pat s, owever ac a so as ways o reso ving a iases w en a e i as een rename ut not move , or
move ut not rename .
FileMaker Pro 5 “searching” behavior
i e a er ro e re erences sometimes wou ocate es ot er t an t e ones t e eve oper was expecting.
One of the chief reasons for the “wrong file” being chosen is user error. It is possible that a developer, with
mu tip e copies o t e so ution on t eir mac ine or t e networ , speci e t e wrong e w en creating t e
e re erence. n t is scenario it is possi e some operations wi re erence t e correct es w i e ot ers
re erence t e incorrect e. e est way to avoi suc a scenario is to a ways zip or stu or ot erwise ma e
inaccessi e up icate copies o a so ution. i es s ou on y e avai a e on t e networ rom one ost an
oste es s ou never e avai a e t roug eve e s aring or on a oca mac ine.
Another reason for the “wrong file” behavior in FileMaker Pro 5 was that when locating a file, FileMaker Pro
assume t e e re erence it use was incorrect. at is, i a e eing re erence was sai to e ocate at :
y ocuments eystone . p an it was not oun at t at ocation, i e a er ro wou c ec
a num er o ot er ocations or t e e a ong wit a ing an removing t e extension rom t e speci e e
name. owever ai ing to ocate t e target e in t e ocation speci e y t e e re erence i e a er ro
may sti n es y oo ing in various ot er ocations inc u ing t e e au t o ers an t e oca networ
(the “default” folders include the location in the “Open File” and “Save File” file pickers as well as the folder
containing t e current e an t e pp ication o er . una e to ocate t e e in t e ocation speci e y
t e e re erence i e a er ro wou c ec t e e au t o ers or t e e. is e avior is s ig t y i erent
etween t e ac an in ows. n a networ situation i e a er ro may n t e target e on t e
oca vo ume or rive or in one o t e e au t o ers i it is una e to ocate t e e on t e same server as t e
current e or t e server speci e in t e e re erence.
page 45
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 47/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
n t e ac , it was possi e or i e a er ro to n t e e even a ter it a een move to t e ras . is
was ue to t e a ias recor or t e e w ic ena e i e a er ro to ocate es t at a een move rom
t eir origina ocations. i e a er ro no onger stores an a ias to a recor w en speci ying t e e on ac
FileMaker Pro 5.5/6 Save Relative Path Only behavior
eginning wit i e a er ro . a new option was intro uce ca e ave e ative at n y . is
c ec ox was a e to t e pen i e ia ogs to instruct i e a er ro . , w en creating an storing pat s
in e re erences, to on y save t e re ative pat .
is option is t e e au t e avior or a new e re erences; in most cases to store t e a so ute an networ
paths one must manually un-check the SRPO checkbox when specifying the file. This option is generally useful
ecause un er most eve opment an ep oyment situations a o t e requisite es are ocate on t e same
ost computer. y on y storing t e re ative pat it instructs i e a er ro . an i e a er ro to on y
oo or target es in ocations re ative to t e current e. i e t e use o t e re ative pat is app ica e to
i e a er ro assuming t e e re erence was create wit i e a er ro . o r i e a er ro an t ec ec ox was not unc ec e t e searc ing e avior oes not e ave as in i e a er ro . an
FileMaker Pro 6 if the file is not located in its relative location.
e actua pat store w en t e c ec ox is c ec e varies y p at orm. n er ac i e a er
ro was o serve to on y store t e re ative pat i t e c ec ox was c ec e as is t e e au t . n er
in ows i e a er ro was o serve to store ot t e e ative pat an t e in ows pat w en
t e ox was c ec e . owever, w en searc ing or a missing e t e in ows pat was ignore an
the SRPO checkbox (and modified search behaviors) were preserved. Note that when creating a file reference
t e c ec ox is ignore w en c oosing a e t at ocate on a ost t at is not on t e oca networ .
n t is case on y t e etwor at wi e save in t e i e e erence. e c ec ox is a so ignore
w en c oosing a e ocate on a i erent vo ume or rive t an t at o t e current e. n t is case t e u or
in ows pat wi e save in t e e re erence an , i t e current e is set to mu ti-user, t e networ
pat to t e ost.
The SRPO checkbox not only affects what paths are stored but also how FileMaker Pro 5.5 and FileMaker
ro wi searc or es w en reso ving e re erences. n i e i e a er ro , w en a e is not oun in t e
ocation speci e y t e e re erence an t e ag is set, i e a er ro . an i e a er ro wi
not oo e sew ere or t e e. n t is case t e searc ing e avior is s ort-circuite an t e target e is
presume missing.
page 46
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 48/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
File references in FileMaker Pro 8
e n ng e re erences
n i e a er ro , some e re erences are no onger i en e in t e curtain ut instea are expose to t e
eve oper or viewing an e iting. new centra area, accesse t roug t e e ne i e e erences inter ace, is
w ere most re erences or i e a er ro es are store .
e e re erences ocate in t is area are re erre to as name e re erences. n i e i e a er ro –
w ere an existing e re erence may e use y script steps, va ue ists, an re ations ips t roug conso i ation
– in FileMaker Pro 8 file references for script steps are stored separately from file references used by the
re ations ip grap s an va ue ists wit t ree exceptions . ere are severa entry points or t is ia og an it is
possi e to a name e re erences wit out ever aving visite t e e ne i e e erences... iaog.
pon conversion o a so ution most o t e e re erences you wi e ea ing wit wi e ocate in t is centra
area. e unname e re erences wi e store wit t e script steps an can e ocate using t e ata ase
Design Report or some of the forthcoming 3rd party tools.
page 47
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 49/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
at ypes
Relative path
e re ative pat in i e a er ro is very simi ar to t at in i e a er ro wit one i erence. n i e a erPro 6 the relative path to the target file is always “relative” to the current file. If the target file is on a different
volume, drive, or server than the current file then the relative path is not stored.
i e a er ro e aves in a simi ar as ion. t e target e is ocate on t e same vo ume, server, or ar
rive t en t e re erence to t at e wi e store as a re ative pat . t e e is on a i erent vo ume, server, o
ar rive t en t e appropriate non-re ative pat is store .
However, unlike FileMaker Pro 6 the developer has the ability to edit the “relative” path and specify a “full”
pat using t e re ative pat syntax e.g. e: acintos sers arin es top ename. p or e: :
ocuments an ettings arin es top ename. p . i e t is pat wi reso ve correct y or t e p at orm
speci e in t e pat it is not a cross-p at orm u pat . i e you cou speci y ot re ative cum u pat s
i e a er ro wi attempt to reso ve suc a pat regar ess o t e p at orm t at cou cause an openinge ay. t is est to use t e p at orm-speci c u pat rat er t an e iting a re ative pat to ma e it e ave i e a
full path.
converte e re erences consist o at east a re ative e pat .
Full path (absolute)
e u pat in i e a er ro is ana ogous to t e u an in ows pat s in i e a er ro ; t e u pat or
a file reference takes two different forms depending on whether the target file is on Mac OS X or Windows.
en trans erring a e rom in ows to ac or vice versa t e u pat is not automatica y up ate ,
t is must e per orme manua y. i ewise, i a e is to e istri ute to ot ac an in ows c ients
it may e necessary to inc u e ot t e ac an in ows pat variants to ocate a e. i e t is soun
i e more wor on t e sur ace its actua y a goo t ing. n i e a er ro ep oying soutions wit es ocate
on a central server was difficult to do in a cross-platform environment. With FileMaker Pro 8 it is now possible
to specify both the Mac OS X and Windows paths separately and they will resolve correctly on each platform.
Windows Network
e in ows etwor pat is a variant on t e u pat . enera y it is ina visa e to ocate es on networ
s ares, owever i e a er ro provi es a mec anism or storing t ose pat s. e syntax is simi ar to t e
win ows u pat an is speci e as ewin: omputer ame are irectory e ame. p .
Note that there is no “Mac OS X Network” path type as shared volumes are browsed the same as local
vo umes; in t is scenario you wou use t e ac u pat .
FileMaker Network
e i e a er etwor pat is ana ogous to t e etwor pat in i e a er ro . ey i er primari y in
two ways, t e rst inconsequentia an t e ot er wit a arger impact. e rst i erence, as wit t e ot er
file reference types, is in the syntax. FileMaker Network paths must start with “fmnet:/” and include either the
a ress o t e ost or t e asteris in icating i e a er ro is to searc t e oca networ or t e e.
owever t e more important i erence is t at un i e i e a er ro , in i e a er ro you can e ne more
page 48
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 50/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t an one networ pat to a e. is inc u es com inations o pat s to c ec a speci e server an t en t e
oca networ as in t e o owing examp e.
mnet: mserver.company.net . pmnet: . p
e exi i ity t is a or s t e eve oper s ou ma e ep oyment o so utions muc easier t an was previous y
possi e wit i e a er ro or ony avai a e t roug t ir -party too s.
s ng e re erences
Named file references
ost e re erences o interest are now e ite in a centra ocation an accessi e t roug t e e ne i e
e erences... unction o i e a er ro . ese e re erences are re erre to as t e name e re erences
to enote ow t eir storage an access i ers rom t e unname e re erences. it t e exception o a ewscript steps, a e re erences t at can on y point to i e a er ro es are store as name re erences. ese
inc u e t ose use y t e re ations ips grap , va ue ists, an t e pen i e, ose i e, an er orm cript
script steps.
ame e re erences can e e ne an mo i e centra y using t e e ne i e e erences.. . is presents
a c a enge to t e eve oper wis ing to conso i ate an remove e re erences, as t ey must manua y erret ou
eac usage o a particu ar e re erence. t t is time t e on y met o o oing so post-conversion is y cross-
re erencing t e e re erences wit t e output o t e i e a er ro vance ata ase esign eport or
through manual inspection of each table occurrence on the graph, each value list, and each script containing one
o t e t ree script steps mentione a ove.
Script step references
si e rom t e pen, ose, an er orm cript script steps, e re erences are store wit t e in ivi ua
script step an are re erre to as unname e re erences. n genera , t e e re erences or script steps t at
might target a file that is not a FileMaker Pro 8 file are only modifiable by editing the applicable script/script
step. ose script steps inc u e:
mport ecor s
xport ecor s
onvert i e
ave a opy as
ecover i e
en aien vent
ere name an unname re erences target t e same e it is incum ent upon t e eve oper to eep t em
in sync manua y w en eve oping an ep oying so utions. is inc u es e re erences t at were conso i ate
pre-conversion by File Reference Fixer, as they will be split into named and unnamed file references upon
conversion to i e a er ro .
page 49
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 51/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
enera y t e est option wi e to store t ese as re ative e pat s as t is wi a ow porta i ity o t e so ution
wit out nee to revisit scripts to re e ne re erences. nti too s are create to e p centra y manage t ese
unname e re erences t e eve oper wi nee to manua y inspect scripts an cross re erence wit t e
ata ase esign eport pro uce y i e a er ro vance .
Other File references
it i e a er ro container e s can now store any type o e, inc u ing ot er i e a er ro es. ere
are t ree script steps t at use i e e erences t at are speci c to recor s rat er t an t e e itse . ese
inc u e t e o owing:
nsert icture
nsert uic ime
nsert i e
e syntax or t e e re erence or nsert i e is simi ar to t at o t e name e re erences, t e exception
eing t at t ere is no i e a er etwor syntax. e syntax or t e nsert icture an nsert uic imescript steps i ers in t at t ey use t e wor s image an movie respective y in p ace o e or eac pat type
e.g. moviemac: acintos es top o er .mov .
e option to ony save a re erence to t e e rat er t an em e ing t e e in t e ata ase is speci c to
a particu ar e wit in a particu ar recor an is t ere ore not e ita e wit in t e e-speci c areas t at
re erences are store . s suc , t is type o e re erence is eyon t e scope o t is paper.
Search order
The search order of the paths within a file reference is very straightforward and user-definable. Each path for a
particu ar e re erence is separate wit carriage returns. n examp e mig t e:
e: . p
mnet: . . . . p
mnet: . p
filemac:/Macintosh HD/Users/Admin/Desktop/MySchool/TEACHERS.fp7
e searc or er or t ese e re erences is simpy top to ottom. n t e examp e, i e a er ro wi rst
oo or t e target e in t e same o er or on t e same ost as t e current e. ai ing to n it wit t e
re ative pat , i e a er ro t en searc e t e networ or a i e a er erver or ost at t e
a ress . . . wit t e e. ai ing to n it t ere, ie a er ro t en oo s or any i e a er erver
or ost on t e oca networ or t e e. n y a ter aving ai e to n it t ere wi i e a er ro oo
for the file on the volume named “Macintosh HD” but only if the system is Mac OS X. If that hard drive is not
avai a e or t e e is not at t e speci e ocation, i e a er ro wi stop searc ing or t e e an , un esserror messages are eing suppresse , wi isp ay a ia og as ing t e user to ocate t e e. owever, t e e
re erence wi not e automatica y up ate wit t e new ocation w en speci e y t e user in t is manner.
page 50
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 52/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Broken File references
i e re erences t at are ro en are not automatica y xe in i e a er ro w en you are prompte to ocate
t e missing e. e eve oper, or a user wit appropriate privi eges, wi e require to x t e ro en e
re erences eit er y e iting t e script or y e iting t e name e re erence.
e e erences on onvers on
Pre-conversion steps
e ore conversion it is sometimes appropriate to create re ative on y e re erences or your scripts,
re ations ips, an va ue ists. owever, t is process can e time consuming an genera y creates a new e
reference, leaving the developer with the task of cleaning them up if the FileMaker Pro 8 conversion utility does not.
ne option a eve oper as o conso i ating an removing e re erences e ore conversion is t roug t e
use o t e t ir -party too s suc as t e i e e erence ixer uti ity t at is a part o t e eta ata agic so ution
rom ew i ennium ommunications < ttp: www.newmi ennium.com >. is too wi a ow you to a ter,x, conso i ate, an remove e re erences rom your so ution e ore running it t roug t e i e a er ro
conversion engine. Consult the documentation available with the product for more information.
File References in Converted solutions
pon conversion, i e a er ro converts t e e re erences in a so ution, naming t em wit t e target
e name p us a seria num er t at increments ase on ow many re erences target a simi ar y name e.
i e re erences t at are nown to not e in use are remove , owever up icates t at are in use are not
conso i ate . e resu ts o t is process are written to t e conversion og e.
n examination o t e conversion og wi yie a num er o e re erences t at ave een converte an
ot ers t at ave een e ete . e rst mention o e re erences is a count o t e num er t at may ave
een converte . ater in t e og you wi n re erences to speci c e re erences t at ave een e ete .
ese items wi e iste as, e eting unnee e e re erence: i ename. p . mong t is ist one mig t n
e re erences t at appear to e or es t at are not an purporte y ave never een part o t e so ution.
reasonable question might be, “where did these file references come from?”
uring t e i e cyc e o a so ution, a e may re erence many i erent es. ten times w en creating a new
so ution a eve oper wi c oose to reuse es rom an existing so ution to everage wor a rea y per orme .
i e a er ro oes not e ete e re erences w en t ey are no onger in use an , ecause t ey are i en
rom t e eve opers view, t is genera y oes not pose a pro em. t er e re erences, w ic may sti e in
use in some obscure and never visited script step, will also be present in the file although never accessed in the
ay to ay use o t e system.
pon conversion, i e a er ro e etes e re erences t at it consi ers to no onger e in use. is means a
script, re ations ip, va ue ist, or ot er o ject is not accessing t e e re erence. a e re erence is sti in use y
a script step it may sti exist in t e converte i e a er ro e a t oug un ess it is one o t e pen i e,
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 53/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ose i e, or er orm cript steps t ose re erences wi not e iste wit t e name e re erences an
wi instea e store wit t e re evant script step.
t is possi e, i a e as een c ose improper y or ot erwise s ows signs o corruption t at i e a er rowi ina vertent y e ete a e re erence t at is sti in use or not e ete a e re erence t at is no onger in use.
FileMaker Pro 8 does a very good job of converting databases, even those with some structural corruption. The
resu tant i e a er ro es s ou e corruption ree owever as wit most issues o e corruption, t e
conversion engine may not satis actori y convert un ea t y es. n t is situation it is i e y est t at t e es e
re ui t in i e a er ro i a nown goo ac up is ot erwise unavai a e.
i e pat s converte in i e a er ro pre er t e re ative pat over t e u pat w ic is p at orm speci c .
en i e a er ro encounters a u pat in an . p e it converts t e pat using t e syntax or t e re ative
path rather than the platform specific syntax for the full path. FileMaker Pro 8 adds relative paths to converted
es e re erences. is is genera y per orme w en t e pat to t e e is store as a networ pat ut t e e
is ocate in t e same o er as ot er es eing converte .
i e conversion oes not conso i ate e re erences. ecause a e can re erence two i erent es wit exact y
t e same name, i e a er ro as no way o nowing w et er two e re erences t at are ot in use
actually refer to the same file. There is no harm in having duplicate file references upon conversion although for
c arity an per ormance it is etter to e it an consoi ate t em e ore an .
n conversion, extensions are remove rom e names in t e e re erences, yet in new y create . p es t e
e re erences, y e au t, inc u e t e e extension.
Converted references search algorithm:
e erence wi oo or e wit out extension.
e erence wi oo or e wit extension.
e erence wi prompt or e.
Conversion and Runtime files
If .fp5 files converted to .fp7 are then bound to a Runtime application with a custom extension (e.g. “. USR”) the
in ing engine oes a t at extension to t e e re erences w ic ave no extensions on conversion.
ustom extensions are mitigate .
en e re erences in new y minte . p es are create t ey, y e au t, contain t e e extension. en
in ing t ese es, i e a er ro vance orces a c ange o t e extension o t e es rom . p to a user-
specified value (e.g. “. USR”), removes the “. fp7” extension from the file reference paths, and does not add the
eve oper-speci e extension.
Why should I edit my file references?
ou may n , upon opening a converte so ution in i e a er ro , t at t ere are some per ormance
raw ac s, especia y w en wor ing wit re ate es an ayouts. uc o t is potentia per ormance
degradation can be attributed to multiple file references and, in a network environment, using the wild-card (*)
networ a ress to speci y a oste e.
page 52
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 54/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e rst time i e a er ro requests a e, it nee s to reso ve t e e re erence to ocate t e e. or eac
su sequent request or t e e t roug t at re erence, as ong as t e e remains open, i e a er ro wi
not nee to reso ve t e e re erence again an wi e a e to access t e e muc aster. ptimizing yourfile references therefore has a direct impact on solution performance. By consolidating your file references
you ensure that FileMaker Pro 8 will only need to resolve the reference once. However, there are further
per ormance imp ications to e re erences. n i e a er ro it is common, w en creating re erences to
networ es, to a ow i e a er ro to use t e oca networ re erence or t e e as in icate y t e
asteris . is met o is quanti a y s ower t an irect y re erencing t e server a ress or name an
a s time to t e reso ution p ase. or unconso i ate e re erences, t is creates a e ay severa times over.
earc or er is a so important. you ave mu tip e pat s in your searc or er p acing t e u pat s e ore
the relative and network paths may cause performance degradation for files which are deployed on FileMaker
erver or ot erwise are accessi e via t e re ative pat .
iven t e nature o e re erences in i e a er ro an i e a er ro t e eve oper must e concerne
a out t eir state in ot ep oyment an eve opment scenarios. ere i e a er ro improves on t is ist at t e eve oper now as exp icit contro over t e searc or er use w en ocating es. onso i ating e
references makes the process of modifying these references easier. To avoid the problems of FileMaker Pro 8
not eing a e to ocate es or ocating t e wrong copies o es it is pre era e t at t e eve oper exp icit y
speci es w ere to ocate t e necessary es. is can e in t e orm o setting on y t e re ative pat in cases
w ere t e es wi e ep oye toget er in one o er or on one server or an a so ute pat in cases w ere
t e es wi e ep oye across mu tip e servers or w ere t ere may e ot oca an oste es as part o
t e so ution.
e c oice o e pat to use is ase on t e i e y eve opment an ep oyment scenarios or t e es.
pon conversion you may n t at you want to mo i y your e pat s or consistent operation an etter
per ormance. ere are a ew gui e ines or mo i ying e re erences t at s ou e p you c oose t e correct
pat . or so utions w ere a o t e es are ocate in t e same o er or on t e same server using ony t e
re ative pat wi provi e you wit t e most consistent, accurate e avior an t e est per ormance. or
solutions that have some local files and some hosted files there will need to be more ‘nuanced’ references.
Where the hosted files reference each other those references should be relative paths. References from the
oca es to t e oste es s ou contain t e networ a ress i possi e, ot erwise use t e wi -car
networ . e erences rom t e oste es to t e oca es wi nee p at orm speci c u pat s. is atter
scenario is t e most i cu t to speci y as t ere is no guarantee w at t e oca pat wi e or t e es. ere is
no mec anism to speci y a ynamic pat programmatica y. en speci ying a u pat it is pre era e to use
t e emac: an ewin: syntax rat er t an t e e: syntax to avoi per ormance egra ation as i e a er
Pro 8 attempts to resolve a path that is not valid for the current platform.
How can I consolidate my file references?
ecause i e a er ro now exposes t e e re erences to t e eve oper, it is possi e to conso i ate most o
t e e re erences wit in a so ution manua y.
Depending on the size, complexity, and number of files in the solution this can be a daunting task. The
e ne i e e erences... ia og oes not in icate w ere a particu ar e re erence is eing use . nstea t e
page 53
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 55/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
eve oper wi nee to create a ata ase esign eport o t e so ution an manua y examine eac area or
e re erences. is can e ai e y renaming o so ete e re erences wit a unique name e.g.
an searc ing t e output o t e or occurrences o t e e re erence name. e eve oper wi t en
nee to mo i y t e sections o t e soution t at ma e re erence to t e o so ete e re erence an re-point itto the “correct” file reference. Note, however, that unnamed file references (e.g. Import Records) cannot be
consolidated with named file references.
ne suggestion is to rst e ne a master e re erence an t en ave a t e mo i e e ite re erences poin
to t e new re erence.
eta ata agic, rom ew i ennium ommunications, provi es as part o its unctiona ity, a uti ity ca e
File Reference Fixer. This tool exposes the existing file references in an .fp5 solution along with where the file
re erences are eing use .
i e e erence ixer inc u es eatures to conso i ate re un ant e re erences, e it networ a resses, an
set e re erences to re ative-on y, a ong wit a s ing e-c ic asy o e w ic ena es conso i ating a ere erences an setting t em to re ative-on y or use w en a es in a so ution resi e in t e same o er or on
t e same server.
onso i ating e re erences e ore conversion ta es a ot o t e guesswor an usywor out o t e process
o ensuring e re erences are correct t roug out a so ution. n a ition, t e ocumentation inc u e wit i e
e erence ixer exp ains some o t e specia scenarios regar ing e iting an conso i ating e re erences t at
are eyon t e scope o t is ocument.
page 54
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 56/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
onversion a ter a so ution as een processe wit i e e erence ixer wi ea to a ot ewer pro em areas
an , wit most so utions, wi o viate t e nee to manua y re-speci y e re erences a ter t e act entire y.
Moving forward
s you mo i y your converte so ution it wi ecome increasing y easier to maintain your e re erences in a
consistent manner. ame e re erences a ow t e eve oper u contro over w ere an ow to ocate es
in a so ution. ey a so ma e it more i cu t or t e eve oper to up icate e re erences as t e eve oper
ma es t e c oice w et er to reuse an existing e re erence or create a new one. e e re erence system
in FileMaker Pro 8 also makes it easier to deploy your solutions in various scenarios. Partitioning a database
across mu tip e servers is now accomp is e y mo i ying one or two e re erences in eac e an genera y
oes not require t at t ey e mo i e w i e ep oye as is necessary in i e a er ro . is a s up to create
so utions t at are more consistent, re ia e, an are easier to ocument or t e eve oper an en user.
out t e aut or
wor s at in , nc., a i e a er o utions iance artner ase in ort ampton,
assac usetts. in is a strategy an tec no ogy consu ting rm serving sc oo s an non-pro t
organizations. i provi es customiza e i e a er ro so utions, i e a er ro training, an we - esign an
integration services to c ients wor wi e. isit ttp: www. nresonance.com or more in ormation.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 57/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Scripting Issues Encountered When Migrating to FileMaker Pro 8
is paper exp ores some o t e scripting issues invo ve wit converting ata ase so utions rom i e a er ro
to i e a er ro . t iscusses areas t at wi require particu ar attention rom t e eve oper to e p ensure asmooth migration, including the issues of “focus” and “context”, and the behavior of Startup Scripts and Closing
cripts.
ocus an ontext
or our purposes, context is e ne as t e starting point or any given operation. t inc u es t e e, win ow,
layout and found set that are current at the moment when a script (or other operation) begins. Focus is a
simi ar concept, an re ers to t e current y active win ow e ayout oun set, etc. us, as a script egins, it
wi e a ecting t e current context, ut t e ocus may we s i t as t e script progresses say, i o o e ate
ecor , er orm cript xterna , or e ect in ow are ca e .
i e a er ro intro uces many new eatures t at i e a er eve opers ave not encountere e ore, an
these changes will likely pose a learning challenge. In particular, FileMaker Pro 8 allows for multiple tables
per file, and for multiple windows to be displayed per file. These two basic concepts change the established
eve opers un erstan ing o i e a er ro e avior wit regar to ocus context an script e avior, ecause
i e a er eve opers ave never a to put muc t oug t into t e current context or ocus in previous
versions o i e a er ro.
n previous versions o i e a er ro, t e ocus or context o a given operation was imp icit in t e esign, since
FileMaker Pro has supported only one table per file and only one window per file. These facts, coupled with the
i e a er ro singe-t rea e arc itecture, ensure t at t e eve oper was a ways aware o t e precise contex
o w ere a script was unctioning. script wou on y operate on one win ow o a given e ecause t at was
t e ony win ow t at cou exist. e script wou a so operate on t e currenty isp aye ayout wit in t e
active win ow e, on t e current oun et in t at e. us, a eve oper a ways new w at t e context was
ase on t e on y win ow o a given e.
i e a er ro o ers a signi cant y i erent eve opment environment to t e eve oper y a owing or
mu tip e ta es per e, an or mu tip e win ows to isp ay or t e same e. cripts o not e ong to a speci c
ta e, ut to t e e as a w o e. us, i a script in i e nee s to operate upon severa i erent ta es wit in
i e , t ere is no nee to per orm externa script ca s to ot er es. e same scr pt can operate on
severa ta es, s nce many ta es may e conta ne w t n t e same e. n a ition, since a given e
can have Table Occurrences for tables that exist in external files, a single script can affect the data residing in
separate es wit out per orming any externa script ca s. eve opers may no onger t in o a e as a ta e;
t ese are two very istinct concepts in i e a er ro .
i e a er ro a ows mu tip e win ows to e open or t e same e. sing e script can c ange t e ocus
etween severa win ows or t e same e wit out ca ing any ot er scripts. ere y ringing anot er win ow
to the foreground does not imply a change in focus to another file or another table, unlike earlier versions
page 56
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 58/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
o i e a er ro. us, it oes not imp y a nee to ca anot er script. urt ermore, previous versions o
i e a er ro wou per orm an imp icit e res in ow w en a scripte operation was comp ete t at
is, w en t e ast script in a c ain o scripts was nis e running . is wou a ways ring t e ast e in t e
c ain to t e ront. cr pts no onger per orm an mp c t e res n ow w en t ey comp ete ne a er ro .
mp cat ons
s a consequence o t ese c anges, t e ormer e avior o severa ey script steps are not maintaine in
i e a er ro . cript steps t at wou automatica y c ange ocus or context in previous versions o t e
pro uct no onger e ave as t ey use to. or instance, in previous versions o i e a er ro, t e er orm
Script [External] script step at the end of a script would make the external file active. In most cases, this would
ring t e win ow o t at externa e to t e ront, e ective y c anging t e ocus to t e new e. is e avior
is no onger supporte .
imi ar y, t e o to e ate ecor script step itse no onger necessari y c anges win ow ocus,
t oug it oes c ange t e context y c anging t e current ayout an oun set o recor s. n i e a er ro ,
the related table may be in the same file as the current table and thus the layout and the displayed records can
c ange wit out a new win ow. n ear ier versions, simi ar e avior was ony possi e in t e specia case o a
se -join re ations ip.
i e a er ro as a new script step, e ect in ow, w ic can e use to exp icit y activate a given win ow.
uring conversion o an existing system, i e a er ro wi insert a e ect in ow script step a ter er orm
Script [External] or Go to Related Record steps under certain circumstances (see below) in an attempt to
approximate t e e avior o previous versions. owever, it may e necessary to mo i y or e ete t is a e
script step in t e converte e to o tain t e esire e avior.
or more in ormation, rea t e ocumentation in t e onverting i e a er ata ases rom revious ersions
.p t at is inc u e wit i e a er ro an i e a er ro vance .
cripts t at wou exp icit y open anot er e in i e a er ro may e ave i erent y in i e a er ro .
n previous versions, i a script inc u e an pen i e script step o owe y more script steps, t e ot er e
wou open an t en t e win ow o t e ca ing e wou return to t e ront w i e t e remain er o t e script
ran. n i e a er ro , i a script opens anot er e an t en continues, t at ot er es win ow wi remain
active w i e t e ca ing script continues to run in t e ac groun e. t may e necessary to insert e ect
in ow urrent in ow script steps a ter eac pen i e script step in a converte so ution to emu ate
prior behavior. FileMaker Pro 8 will not automatically insert these Select Window script steps for you.
t s ou e note t at t ere is a ig i erence etween t e pen i e script step an t e ew in ow script
step. en a script per orms a ew in ow step, y e au t t at new win ow wi isp ay t e same ayout an
oun set as t e previous y active win ow. e new win ow, t ere ore, isp ays t e same ta e, an ecomes
t e active win ow. e script wi continue to operate in t is new win ow un ess t e eve oper exp icit y
returns focus to the original window by using Select Window.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 59/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
The Open script step (which becomes the Open File script step after conversion) has changed behavior in
anot er signi cant way. n previous versions o i e a er ro, you cou create a script to open a remote e
y using eit er pen or pen emote script steps. i e a er ro can on y open a remote e via pen
i e i t e e was speci e using t e ormat mnet: ost : i e ame. p . ince t is ormat was notavai a e in previous versions, it means t at any script t at opens a oste e via t e pen script step nee s
to be modified post-conversion. Either the file needs to be re-specified using FMNET syntax, or else the Open
emote script step nee s to e use in p ace o pen i e. t wou pro a y e easiest to simp y mo i y a
suc scripts to su stitute pen emote or pen steps e ore converting t e e, rat er t an trying to c ange
t em a ter conversion.
s previous y state , eve opers wi nee to ta e a more proactive ro e in managing t e context o t eir
so utions t an t ey i in previous versions. eve opers wi n t emse ves re ying eavi y upon t e e ect
Window script step. In previous versions of FileMaker Pro, developers could use the Open script step to bring
anot er win ow to t e ront, even i t at e was a rea y open. n i e a er ro , t is is est accomp is e
wit t e e ect in ow script step.
cr pt mo cat on ur ng convers on
uring conversion o existing ata ases, i e a er ro wi insert t e e ect in ow script step a ter certain
speci c script steps t at use to c ange win ow ocus in previous versions. ne o t ose script steps is o
o e ate ecor . t e step re erences an externa e, an is not imme iatey o owe y anot er
or a er orm cript xterna step, t en i e a er ro wi insert a e ect in ow step. e e ect
in ow step wi eit er se ect t e current win ow e ective y returning ocus to t e ca ing scripts ta e or
else will specify the external file’s window (if the related table resides in an external file).
imi ar y, i e a er ro wi insert a e ect in ow step a ter certain er orm cript xterna steps.
i e a er ro wi insert a e ect in ow step, speci ying t e win ow name o t e externa e, i t e er orm
cript xterna step is t e ast step in t e script not inc u ing n , n oop, or omment or i it is
o owe y an se step an t e correspon ing n as no ot er steps a ter it. i e a er ro wi insert
a Select Window [Current Window] after a Perform Script [External] or a GTRR step if the step is not the
last step in the script (other than the steps above) and is not followed immediately by another Perform Script
xterna or step.
is can ave many un oreseen consequences, an cause t e ocus to remain on t e wrong e post-
conversion. or instance, consi er t e o owing scenarios:
cenar o : asca ng cr pts
uppose you ave t ree es: i e , i e , an i e . i e runs a script t at as a sing e step, to per orm an
externa script in i e . e script in i e as a singe step to run a script in i e , w ic switc es to a ayout in .
page 58
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 60/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
n i e a er ro an ear ier, t e scripts wou en up wit i e as t e active e. ut w en t ese es are
converte to i e a er ro , t e scripts wi en up wit i e in t e oregroun . y
uring conversion, i e a er ro wi insert a e ect in ow xterna i es in ow step a ter eacer orm cript xterna step. us, a ter i e ca s t e script in i e , it runs a e ect in ow script t at
brings File B’s window back to the foreground (after running File B’s script).
e eve oper can x t is a mitte y simp e examp e rat er easi y, y e eting t e e ect in ow steps.
owever, wit more comp ex scripts, it can e more i cu t to etermine w ere t ose steps are, an remove
t em appropriate y.
Scenario 2: Halting Scripts
magine you ave es: i e an i e . i e ca s a script in i e , w ic en s wit a a t cript step. n
i e a er ro an ear ier, t e scripts wou en wit i e active, ecause t e a t cript step imp ie a ocuc ange to t e e t at execute it. ut a t cript no onger orces a c ange o ocus in i e a er ro . e
resu t is t at ocus wi remain on i e a ter conversion. ote t at i e a er ro wi a a eect in ow
[File B] after the Perform Script [External] in File A’s script, but this will not change the focus from File A to File
in t is examp e. ince i e s script runs a a t cript step at t e en , t e e ect in ow in i e s script
wi never e per orme . n ess i e s script exp icit y per orms a e ect in ow urrent in ow to orce
i e s win ow to t e ront, t en i e s script wi run entire y in t e ac groun , an ocus wi never eave i e .
Scenario 3: Hidden Windows
uppose you ave es: i e an i e . e script in i e en s wit a ca to a script in i e , w ic
en s wit a ogg e in ow i e step. n i e a er ro , t is construction wou en wit i e in t e
oregroun , ecause w en i e s script is one, it wi i e itse . ut a ter conversion, t is wi resu t in i e
remaining in t e oregroun . y
uring conversion, i e a er ro wi a a e ect in ow xterna i es in ow step a ter t e er orm
cript xterna step. n our examp e, t is e ect in ow step wi ring i e ac to t e oregroun a ter it
i es itse , e ective y un i ing i e .
sce aneous ssues
e issue o context an ocus in i e a er ro wi give rise to ot er asic issues wit converte es. erewe wi attempt to out ine some o t ese issues an suggest possi e approac es to so ving t em.
page 59
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 61/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
u t p e a es per e an ayouts
n i e a er ro , it was o vious w ic ta e a given ayout was associate wit , ecause t ere was on y
one ta e per e, an a given ayout was intimate y tie to t e e in w ic it was e ne . us, t ere was noambiguity about which table was currently active.
is as c ange in i e a er ro , as we ave seen, ecause eac e can ave mu tip e ta es. ince a given
e can ave mu tip e ayouts as we as as a ways een t e case , am iguity arises regar ing t e context o
eac ayout in a given e. ic ta e occurrence oes a given ayout e ong to
n t e ayout etup ia og ox in i e a er ro , you can speci y w ic ta e occurrence t e current ayout
shows records from. Thus, each layout is intimately tied to a specific table occurrence in FileMaker Pro 8. This
is a un amenta part o t e ayouts e nition. ut w en you are wor ing wit t e ayout outsi e o t e ayout
etup ia og, t ere is no o vious in ication o w ic ta e occurrence eac ayout is associate wit . is
as an impact on ow scripts unction, ecause un ess a script exp icit y c anges t e context to anot er e,
win ow, or ayout, t at script wi run in t e current win ow, on t e current ayout an t us a ect t e currentta e an oun et in t at e .
is situation can e reso ve y a com ination o severa tec niques. irst, it wi e essentia to eve op a
goo , consistent naming convention or ayouts t at c ear y i enti es w ic ta e eac ayout is associate
wit . t wi a so e important to incorporate exp icit c anges o context in eac script, rat er t an re ying on
i e a er ro to c ange context or you. ven w en t e context oes not nee to c ange t at is, w en t e
script nee s to run on t e current ta e, wit t e current oun set, on t e current ayout an in t e current
window), it will be advisable to include Select Window [Current Window] steps, for consistency and reliability.
e issue o a ayout naming convention ecomes even more important w en you un erstan t at i e a er
ro a ows or up icate ayout names wit in t e same e. magine a users con usion w en t ey egin
wor ing wit a soution t at as t ree separate ayouts a name nvoices an eac associate wit a
i erent ta e occurrence
u t p e n ows per e
n i e a er ro , it was o vious w ic e a win ow was ispaying, ecause eac e cou ave one an on y
one win ow open. en you saw a win ow tit e nvoices. p , you new t at it was isp aying t e nvoices e.
This has changed in FileMaker Pro 8. Now, a given file can have many different windows open, and the
eve oper contro s eac win ow name. us, t ere is now no o vious way to etermine w ic e a given
win ow e ongs to. en com ine wit t e act t at a e can contain many ta es, t e potentia or
con usion can seem overw e ming.
n t e same way t at a consistent naming convention can e p wit t e issue o ayouts in a e, a simi ar naming
convention can help when dealing with windows. By default, FileMaker Pro 8 will try to name each window
page 60
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 62/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
after the file that it is displaying. (Note that this has nothing to do with the table or layout being displayed!)
ut t e eve oper can rename any win ow via scripting, an i e y s ou . n t is way, t e eve oper can avoi
t e con usion t at mig t ot erwise arise.
e naming convention e ne y t e eve oper wi , y necessity, ave to e app ie a ter conversion, since
there is no way in FileMaker Pro 6 to either generate new windows for existing files, nor to rename windows.
pener cr pts
i e previous versions, i e a er ro wi a ow you to speci y a script to activate w en t e e is opene .
uc scripts are o ten re erre to as tartup cripts, ut a etter name wou e pener cripts ecause t e
behavior of the function has changed. In previous versions, an opener script would fire when a file was first
opene , except un er certain speci c circumstances i e i t e e were opene y a re ations ip . is is sti
genera y t e case in i e a er ro , ut t ere are some circumstances w ere an opener script cou re
unexpecte y.
or instance, i a e was opene in a i en state ue to a re ations ip or va ue ist, an you open t e rst
new window for that file, its opener script will fire when the new window is drawn. This could not happen in
previous versions ecause eac e cou ave on y a sing e win ow. ote t at t is circumstance on y occurs
w en you are creating t e rst new win ow or a e t at was a rea y opene via script or re ations ip.
ou can avoi t is y con itiona y running your opener scripts ase upon g o a ata. t t e start o eac
opener script, c ec to see w et er a g o a as een set, an a ort t e script i it a rea y as. t t e en o
the opener routine, set the global to prevent the opener script from running a second time. In addition to this,
o not re y upon i e a er ro to imp icit y open your es. nstea , ave t e opener script or your primary
e exp icity open eac e in t e so ution, an set t e g o a ags so t at eac es opener script wi not re
a ter its opene . any eve opers ave a rea y a opte t is in o approac , ut in i e a er ro , it wi
ecome even more important.
os ng cr pts
imi ar y, t e unctiona ity o c osing scripts as c ange somew at in i e a er ro . n previous versions, it
was o vious w en a c osing script was going to re: it appene w en you c ose t e e. ut i e a er ro
supports mutip e win ows per e. urt ermore, it is possi e or a e to e open wit out any open win ows at a
The behavior of FileMaker Pro 8 works this way: when you close the last open window for a given file, that
e s c osing script wi run. is wi appen even i t e e itse remains open say, ue to re ate e s eingisp aye on a ayout in anot er win ow . es, its possi e to c ose a t e win ows or a e wit out c osing
t e e itse . e ru es y w ic i e a er pu s open es ave c ange , an it may not e a e to c ose a e
once it as een re erence uring a session y ot er es w ic are open, even wit a ose i e script step.
t is important to note t at i you c ose t e ast open win ow or a given e t us causing t e c osing script
page 61
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 63/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
to re , t en reopen a new win ow or t at e an c ose it again, t e c osing script wi re again. e c osing
script or a given e wi execute eac time t at t e ast open win ow is c ose or t at e. so, eep in min
t at w en a c osing script oes re, it wi e running rom t e context o t e c osing win ow. us, it wi
operate on w atever oun set an ayout are current y active in t at win ow.
The concept of opening or closing a window should not be confused with opening or closing a file, and also
s ou not e con use wit t e i ea o accessing a ta e. ese are a istinct concepts in i e a er ro .
out t e aut or
Darren Terry is Director of FileMaker Development for Pacific Data Management Inc. He is a four-year veteran
o i e a er ec nica upport, an was ormer y t e ec nica iaison or eve oper e ations at i e a er,
nc., w ere e wor e c ose y wit t e i e a er o utions iance an was responsi e or representing
t e eve oper community in ey team meetings. arren as een a eature spea er at t e annua i e a er
eve oper on erence, an as written artic es or i e a er ro visor agazine an i e a eragazine. arren can e contacte at at - or at arren p m- nc.com
page 62
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 64/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Security and Access Privilege Issues
art ne: rst xam nat on o onverte es
en a eve oper, an manager, or a user converts a i e a er ro e rom an ear ier version
to i e a er ro , t e security eatures containe in t e ear ier versions wi a so e converte . ow t ese
features convert and how they can be used post–conversion depend on a number of variables:
• Whether the security schema in the old files was well–formed;
• et er t e roups eature was emp oye , an i so, w et er it was emp oye as expecte y t e
onversion too ;
• et er t e roups structure, speci ca y t e unction tatus urrent roups was emp oye or any
type o con itiona testing or access contro ; an ,
• et er t e o es use t e ui t–in i e a er ro security system or w et er t ey emp oye some
t er system suc as a og–on e.
A password in an older version FileMaker Pro file will convert to an Account with the Account Name the
same as the old password and with the Account Password the same as the old password. This is a fundamental
conceptua point to remem er. t as imp ications or on–going e security, inc u ing initia access to t e
converte e.
rrespective o any o t ese consi erations, w en initia y opening a converte e t at inc u es passwor s, t e
pen i e ia og proposes as t e ccount ame t e ser ame peci e in t e i e a er ro pp ication
Preferences1. This name in the Preferences most likely comes from the name supplied during the installation
process. t is most i e y not t e correct ccount ame. o, as a rst step, i t ere is a va ue a rea y supp ie in
t e ccount ame ia og, it s ou e overwritten wit t e correct ccount ame, t e name t at is t e same
as t e passwor .
ince t at ccount ame is s own in t e c ear w en entere , potentia y compromising t e passwor ,
FileMaker Pro 8 allows you to leave the Account Name an , an t en just enter t e passwor . n ear y
rst post–conversion step may e to c ange t e ccount ame to somet ing t er t an t e passwor or,
a ternative y, to c ange t e passwor itse . it er wi protect t e con entia ity o t e in ormation; one or t e
ot er s ou e one. e o owing i ustrates t e og–on ia og ox:
page 63
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 65/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
you eave t e ccount ame an an t en enter w at was t e master passwor into t e passwor
e o t is ia og ox, t e e s ou open wit comp ete access. is wi a ow a eve oper to examine t e
converte security sc ema an ccess rivi eges. n er t e i e enu, se ect e ne ccounts & rivi eges
to revea a t ree-ta inter ace, one o w ic ists t e ccounts an anot er o w ic ists t e rivi ege ets in
t e new e. e t ir ta is or xten e rivi eges, a new eature ut one wit some ami iar options inFileMaker Pro 8. The tabs look something like this:
When exiting the Define Accounts & Privileges area, you may be prompted for an Account Name and Account
asswor . n t at instance enter t e passwor into ot e s un ess you c ange t e ccount ame.
e rivi ege ets are w ere t e ru es are ma e t at en orce t e security sc ema o t e es. i e a er ro
attempts as ait u y as possi e to up icate t e security eatures rom t e o es. owever t e new version
oes ma e some c anges epen ing on t ose our con itions out ine a ove.
In order to understand what happened during conversion and in order to be able to deal with the
consequences of conversion, developers, IS/IT/DBA managers, and other users need to understand how securit
wor s in t e new version o i e a er ro . e security sc ema consists o t ree main parts: cre entia s,
aut entication, n rivi ege ets. users cre entia s are t e ccount ame an t e ccount asswor . en
t e users cre entia s are eeme aut entic, t e user is a owe access to t e ata ase wit a set o privi eges
e ne y t e rivi ege et attac e to t e ccount. ere is ne an on y one rivi ege et per account. is
gure i ustrates t e entire process:
page 64
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 66/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e conversion process attempts to map t e privi eges associate wit t e passwor in t e o e to t e
new y create rivi ege et in i e a er ro . n oing so it ta es into account ot t e passwor e ne
privileges and the Groups defined privileges from the older version file. It consolidates identical instances of
passwor s an roup access privi eges into a sing e rivi ege et wit mu tip e accounts attac e . is as
imp ications or any o er version e t at as passwor s in e to roups. t a so as imp ications or w at
was ormer y ca e t e master passwor in i e a er ro an ear ier versions.
n i e a er ro , t e passwor s are not store in t e e. eit er are t ey visi e in t e ser nter ace.en entere t ey are o scure ; t ey remain o scure . itiona y, t ere is an intentiona mismatc etween
t e num er o c aracters in t e passwor an t e num er o c aracters seen in t e o scure isp ay in t e
ser nter ace.
mportant note: e a er ro passwor s, un e t ose n ear er vers ons, are not retr eva e,
y e a er, nc. or t r -party too s. o not orget your passwor , part cu ar y t e one attac e
to u ccess accounts.
master passwor s are converte into ccounts wit t e ccount ame an t e ccount asswor t e
same as t e o master passwor . , an t at means a , suc ccounts are t en attac e to t e e au t u
ccess rivi ege et. eve oper cannot create a u ccess rivi ege et; you must use t e e au t one.
eit er can you e ete or up icate t e u ccess rivi ege et. e e au t u ccess rivi ege et can
have some additions to it however through the Extended Privileges options. There are also two other default
su or inate rivi ege ets: ata ntry n y an ea – n y ccess . e recommen t at neit er o t ese ever
e use ; eve opers s ou create t eir own custom rivi ege ets or t ese unctions. e e au t su or inate
rivi ege ets contain privi eges t at may e ot inappropriate an surprising or t eir respective rivi ege ets
name, suc as granting export privi eges to ea – n y users.
It is in the conversion of subordinate passwords from the old files to accounts attached to subordinate Privilege
Sets in the new ones that developers will engage in pre–conversion and post–conversion adjustment and
ame ioration.
art wo: onvers on u e nes
There are several core scenarios for describing the security schema of an older version FileMaker Pro file:
o passwor s
aster passwor on y
page 65
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 67/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
aster an su or inate passwor s wit o groups
aster an su or inate passwor s wit one or more roups
aster an su or inate passwor s wit one or more roups, an ma – orme sc ema2
Examine your older version files to see where your solution fits in this broad division. It is possible that one
file in a multi–file solution will fall into a category and another file in the same solution will fall into a different
category. n t at case, you may wis to consi er improving t at con ition e ore converting, or you can
wait unti a ter converting. ere are twe ve speci c, more etai e scenarios t at escri e a wi e range o
possi i ities, a t oug not every possi e one:
o passwor s; o roups
o passwor s; ne or more roups somew at un i e y, ut possi e
aster passwor on y
Master password; subordinate passwords; auto–enter; No Groupsaster passwor s; su or inate passwor s; o roups
aster passwor s; su or inate passwor s; roups assigne
Master passwords; subordinate passwords; Groups unassigned
aster passwor s; su or inate passwor s; aster passwor s ave unique roup; ot ers unassigne
aster passwor s; su or inate passwor s; aster passwor s ave unique roup; ot ers assigne to roups
aster passwor s; u or inate passwor s; roups assigne one or more passwor s. ome roups avei entica privi eges an t e passwor s assigne to t em ave i entica privi eges.
aster passwor s; u or inate passwor s; roups assigne one or more passwor s. ome roups ave
different privileges. Passwords assigned to a specific Group all have the same privileges.aster passwor s; u or inate passwor s; roups assigne one or more passwor s. ome roups avei erent privi eges. asswor s assigne to a speci c roup a ave t e same privi eges. owever t eecur ty system s ma orme .
ere is w at to expect on conversion. e want to emp asize t at c ose post–conversion c ec ing o rivi ege
Sets is required, because the possibility does exist for both conversion errors and unpredictable results.
i e a er ro ta es t e ie a er ro passwor s an t e ie a er ro roups, attempts to com ine
t eir privi eges, an creates a rivi ege et t at represents t e union o t ose privi eges. e name t at
new i e a er ro rivi ege et may or may not e consistent or i entica to t e name o t e i e a er ro
roup. is as t e potentia , post–conversion, to isrupt t e inten e resu t o any ca cuation test ase on t at
specific Group Name.
page 66
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 68/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e privi eges i enti e y t e new i e a er ro rivi ege e t come rom ot t e i e a er ro
passwor an t e i e a er ro roup. i e a er ro wi attempt to map t e access its or ey
va ues into a new rivi ege et an create a escriptive name. s state , t ese access its come ot rom
t e asswor itse an rom t e roup. rom asswor s t ey are t e various c ec oxes, t e popup istor vai a e menu comman s , an t e t ree ecor eve ccess cacu ations. rom roups t ey are t e
privileges associated with layouts and fields (Accessible, Not Accessible, or Read Only).
e o owing is a pseu o–co e sequence or t e process y w ic t is conversion occurs i enti e y rnest
oe, in esonance :
For each password:Figure out all the access bits for this passwordDoes this set of privileges already exist?If Yes Use itElse Create the set Name the set
Are there fp5 groups associated with this password? If Yes Name the set using all groups…(group1/group2/.../group[n])
Else Name the set “Privilege set [n]”End if
End if
n a nuts e , i e a er ro names t e rivi ege et using t e roup names associate wit t e passwor iapp ica e an moves on. it runs into a passwor t at as t e same set ut i erent group name , it wi use
t at set regar ess o w et er it was actua y assigne to a i erent roup in t e origina i e a er ro e.
en mu tip e passwor s were assigne to a sing e roup an a t ose passwor s a i entica privi eges, t e
multiple Groups are consolidated in FileMaker Pro 8 to a single Privilege Set named for the first Group of the
i e a er ro e .
eve opers o i e a er ro so utions requent y assigne passwor s wit issimi ar privi eges to a sing e roup
i e a er ro , on conversion, wi create mu tip e rivi ege ets an assign ccounts to t em ase on t e
i e a er ro passwor names. onsi er t ree passwor s wit issimi ar privi eges: e , w ite, n ue. t e
FileMaker Pro 6 Group was named, for example, Users, then there will be instances in the fashion of Users, Users
, sers , an so ort , or t e rivi ege et names. two passwor s a i entica privi eges, t ey wi ot eassigne to t e same rivi ege et in eeping wit t e genera i e a er ro attempt to re uce e etritus.
page 67
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 69/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Developers of FileMaker Pro 6 solutions also frequently assigned passwords to multiple Groups. en t e o
roups a issimi ar privi eges, t e resu tant i e a er ro rivi ege ets wi a so ave issimi ar privi eges.
is cou cause issues in t e i e a er ro environment; owever in i e a er ro most o t ese issues
ave een recti e .
or simp icitys sa e, assume on y roups ave access its5
Group 1 - {-bcd-f}
Group 2 - {ab--e-}
Group 3 - {a-c-e-}
ssume a so two passwor s, oo an ar. asswor oo is mappe to roup an roup . asswor ar
is mappe to roup an roup . rom oos point-o -view, t e union o privi eges are a c e . rom ars
point-of-view, the union of privileges are {abc-e-}. FileMaker Pro 8 then produces two accounts, foo and bar. Foo
is assigned a Privilege Set with the bits {abcdef} and bar is assigned to a Privilege Set with the bits{abc-e-f}. The
rivi ege et or oo is name roup roup an t e r ivi ege et or a r is name roup roup .
page 68
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 70/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
art ree: mp cat ons ese anges
If there are Groups with identical privileges but different passwords with identical privileges in FileMaker
ro , t e conversion process, in eeping wit t e anti– etritus ru e, wi conso i ate t ese into a sing e
new riviege et wit a t e accounts converte rom i e a er ro passwor s attac e to t at sing e,
conso i ate new rivi ege et. is can ea to some unexpecte resu ts in instances w ere roup
names were use in various con itiona tests in i e a er ro , tatus urrent roups ecomes ET
RIVILEGE ET AME . irst, an oremost, a master passwor s rom i e a er ro are now accounts attac e
to the [Full Access] Privilege Set. Second, multiple Group names may now have been consolidated into a single
rivi ege et. us, or examp e, a cript a er script step syntax ase on t e master passwor t at sai :
[If (PatternCount, Status(CurrentGroups), “developer_only”))]
t at eva uate to rue in i e a er ro wi a in i e a er ro ecause it now rea s attern ount
(GET(PRIVILEGESETNAME ; “developer_only”)] and the Privilege Set name is [Full Access]. Similarly, in a situation
w ere passwor s wit i entica privi eges ave een in ivi ua y mappe to i erent, i entica roups, a test
t at rea , or examp e:
[If (PatternCount, Status(CurrentGroups), “SalesMgr”))]
that evaluated to True in FileMaker Pro 6 may now fail in FileMaker Pro 8 because the Group “SalesMgr” has
een conso i ate a ong wit suc roups as ar eting gr an perations gr into a s ing e rivi ege et
name , or examp e, ar eting gr.
eve opers must c ec converte es to i enti y an to correct t ese potentia anoma ies. e o owing ta e
ists severa p aces w ere suc tests mig t e oun , a t oug not necessari y a suc instances.
page 69
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 71/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
on itiona cripting … a cu ation e ormu a
ecor eve ccess tests uto–entere ca cu ate va ues
ie va i ations y ca cu ations on itiona va ue istset Field and Insert Calculated Results ScriptMakercript steps
AppleScript or VB Script generated wholly orpartia y rom ca cu ate e s
ep ace unction ow ustom ia og unction
itiona y, t e tatus urrent ser ame unction use in ear ier versions in scripts, ca cu ations, an
Creator/Modifier Name in Field Definitions options tab should be replaced for greater accuracy and security
wit t e new ccount ame. is oes not appen automatica y uring t e conversion process. ote owever
t at i t e tatus urrent ser ame construct was use or certain ecor eve ccess tests or in
ot er itera strings, eve opers wi nee to sync ronize t e ser ame wit t e ccount ame, eit er y
ma ing t e ccount ames t e exact same as t e ser ame, or y going t roug t e reator an o i er
e s an c anging t e prior ser ame to t e new ccount ame. ote a so t at i t e ccount ame issu sequent y c ange , t at wi ai .
re–conversion correction can a ress some o t ese issues as we , especia y t ose associate wit any unique
roup t at was assigne to an ear ier version s master passwor . e ore conversion an y using a too suc
as ew i enniums eta ata agic or t e i e a er ro eve oper ata ase esign eport, or possi y
t e na yzer too rom aves in otion, i enti y a instances in scripts an ot er ocations w ere t at unique
roup name was emp oye . ou are searc ing speci ca y or literal text strings. n t e roups e nition
area change the name of the “master password” only Group to u ccess. Then after having located instances
w ere t e test ase on t at name is emp oye , c ange t e itera string to rea u ccess.
s a resu t, w en converte , t e new y correcte o syntax o attern ount, tatus urrent roups , u
ccess wi e converte to attern ount ET RIVILEGE ET AME ; u ccess . e test wi t en
eva uate correct y, ecause t e i e a er ro rivi ege et name is u ccess. nci enta y, t e rac ets
used in the FileMaker Pro 8 naming convention for this Privilege Set, viz. [Full Access] are not evaluated in the
con itiona test. ou can inc u e t em, or eave t em out.
en i e a er ro as create t e new rivi ege ets in t e converte es, eve opers wi want to
care u y review t e privi ege its set in eac one. n most instances, eve opers wi i e y want to c ange t e
privi ege ru es oun in t e o es to ta e a vantage o t e greater power an granu arity oun in i e a er
Pro 8. This could entail simply removing all the converted Privilege Sets and starting over according to role-
ase access ru es.
art our: a – orme e a er ro ecur ty c ema
I have referred in several instances to al–formed schema when talking about earlier versions’ security systems.
There are several areas where developers may need to clean up their security schema before conversion.
page 70
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 72/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
i e a er ro passwor s in ear ier versions must e unique ut are not case sensitive, an t is resu ts in mixe
cases o t e same passwor eing in iscriminate. or examp e aster an master an as r an
a are viewe as i entica . i e a er ro an ear ier versions o not istinguis among t ese
options; a are viewe as i entica . us eac wi open es esigne to use t e same passwor s w et erdirectly or through “inheritance” of the password when the files are called by relationships, “open file”
ScriptMaker™ steps, value lists, etc.
t e passwor is master , t en w erever it appears it s ou e precise y i entica . ar ier versions o
i e a er ro orgave t is e avior. owever i e a er ro ccount asswor s are case sens t ve.
e same issue app ie to o er version roup names, ut ere t e situation ecomes more comp ex. roups
names were not require to e unique. or were t ey case sensitive.
roup name creation in previous versions o i e a er ro cou ave resu te in t e creation o up icate
or case nsensitive roup names wit unexpecte an etrimenta resu ts in i e a er ro . you expect
an action to occur ase on t e passwor s eing assigne to t e roup managers, an t ere are up icateinstances o t at roup, t en users may enjoy ig er privi eges t an you anticipate or, converse y, t ey may
lack sufficient privileges. Suppose that the first instance of “managers” is associated with a password that has
e ete recor s privi ege; suppose urt er t at t e secon instance o managers is associate wit a passwor
t at ac s t at privi ege. ou see rat er c ear y w at t e potentia or error is. equiring t at roup names e
unique wit in a given i e a er ro e an e exacty i entica among a es in a mu ti- e so ution ot
ma es testing o con itions muc easier.
Here are several specific pre–conversion correction steps for mal–formed security schema:
• Assure that all instances of a given password throughout a multi–file solution are xact y t e same,
respecting case sensitivity;
• ssure t at eac roup name is a so exact y t e same, respecting case sensitivity, an t at group namesre unique; an ,
• xamine es or instances o passwor s eing assigne to mu tip e roups in a given e, especia y i suc
roups a issimi ar privi eges.
s an asi e, in i e a er ro , ccount ames an rivi ege et ames are case insensitive an must e nique.
ccount asswor s are case ensitive an o not ave to e unique. ee t e in ormation in t e ec n o rie
on t e i e a er, nc. we site entit e Upgrading to FileMaker Pro 8: How to employ the new, advanced Security
system or a urt er iscussion o t ese items.
out t e aut or
Steven H. Blackwell is a Partner Member of the FileMaker Solutions Alliance and President and CEO of
Management Counseling Services [http://www.FMP-Power.com]. A two–time winner of the FileMaker
xce ence war , e specia izes in custom i e a er ro eve opment, i e a er ro security consu ting, an
i e a er erver ep oyment.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 73/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
it a itiona researc an tec nica review y ar ara . evine o icro erv, , rnest oe an
orneius a er or in esonance; artner em ers, i e a er o utions iance.
ootnotes1 Scenarios developed by Barbara R. Levine.2 See Part Four for more information on mal–formed schema characteristics.3 ase on t e interna o t e roup.4 e erence ec n o etter .5 cenarios eve ope y rnest oe an orne ius a er.
page 72
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 74/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
“Record Ownership” in Converted Solutions: Opening andCommitting Records
u tip e users can create, e it an e ete recor s in a i e a er ro ata ase a at t e same time. o prevencon icts, t e ata ase environment must negotiate recor owners ip among its guests. e o not want two
ata ase guests revising ata in t e same recor at t e same time, or one person e eting a recor t at anot e
person is e iting.
n previous versions o i e a er ro, recor owners ip issues were an e in a very epen a e an straig t orwar
way requiring no intervention y t e eve oper, ut not o ering muc contro to t e eve oper eit er. n i e a e
ro , t ere are some important i erences in t e actions an cript a er comman s t at cause a recor to e
locked and “released” (committed to the server). On the one hand, much more power over record ownership is now
in t e an s o t e eve oper. ut, on t e ot er an , w en you eve op a new so ution or convert a so ution rom
a previous version o i e a er ro, it is important to ave a c ear un erstan ing o ow opening an committing
recor s wor s. n particu ar wit converte ata ases, it may e necessary to mo i y scripts an to ret in you
esign in or er to ensure optima an ing o recor owners ip.
pen an omm t
at oes it mean to open a recor an commit a recor
ac recor in a i e a er ro ata ase as an interna unique num er as you may ave seen i you ever
e ne a tatus urrent ecor ca cu ation in previous versions . en certain manua or scripte
actions are performed on a guest computer, FileMaker Pro sends a message to the server to say, “This record
is now in use an is owne y t is guest. e guest as now opene t e recor , an it is oc e against
e iting y ot ers.
anot er ata ase guest attempts to e it t e same recor , a message i e t is wi appear:
Figure 1: The “record is in use” alert.
en t e rst person is nis e e iting an exits t e recor , t e c anges t ey ave ma e are sent ac —
committe — to t e server, an t e recor once again ecomes avai a e or e iting y ot er users.
page 73
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 75/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
you ave seen t e a ove recor is in use a ert in previous versions o i e a er ro, your attention may
ave een rawn to t e new en essage utton. a manua action, or scripte action wit rror apture
turne o , con icts wit anot er ata ase guest w o is a rea y e iting t e recor , you can now sen a message
to t at ot er guests screen t at oo s i e t is:
igure : ew eature — as anot er user to re ease t e recor
pen ng a ecor
When writing scripts, designing an interface, or even just using a database, a full understanding of exactly how
recor s are opene wi e p you ma e optima esign ecisions.
at ct ons pen a ecor
arious manua an scripte actions wi cause a recor to e opene , an t ere y oc e against e iting
y ot ers. e e aviors o some actions an certain cript a er comman s ave c ange signi canty ini e a er ro . ere are some ig ig ts o t e c anges:
very asic i erence, t at app ies across a possi e manua an scripte actions t at can e ta en on a
recor , is t at c ic ing or ta ing into a e or scripting a o to e comman no onger opens a recor .
In FileMaker Pro 8, only when the contents of a field are edited (in other words, typing or deletion takes place)
is t e recor opene . n t e one an , t is is ene cia in t at a user can no onger oc a recor against
e iting y ot ers y mere y entering a e . n t e ot er an , scripts t at ensure recor -owners ip in
ear ier versions y means o using t e o to e comman wi not wor epen a y in i e a er ro .
ee t e anges ou ay ee to a e in our onverte ata ase section o t is ocument, e ow, or
t e suggeste x .
not er c ange t at wi o away wit recor - oc ing pro ems seen in ear ier versions is t at a user wi noonger open a recor y c ic ing into a g o a e . so, t ose o you w o may ave a to n wor -aroun s
to conten wit porta scro - ars oc ing a recor wi e p ease to earn t at t is is no onger an issue.
page 74
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 76/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
In FileMaker Pro 8, the “New Record” command now not only leaves the record open (until a record-
committing action is ta en , ut t e new recor cannot e seen on ot er wor stations unti it is committe .
ince it was intro uce in i e a er ro , t e et ie comman on y momentari y oc e t e target recorto ma e t e e it, an t en re ease committe t e recor again. n i e a er ro , owever, t e et ie
command opens the record, and does not then automatically commit it. A record on which a Set Field command has
acte wi remain open unti it is committe y manua or scripte action.
ee a es , an or a etai e ana ysis o recor - oc ing e aviors an comparison to ear ier versions
o i e a er ro.
Who Can Open a Record?
s as a ways een t e case, on y ata ase guests w ose account privi eges a ow t em to e it recor s can put
a oc on t em. owever, t ere is a new un script wit u access privi eges c ec ox option in t e scripte itor t at, i c ec e , wi temporari y ena e a wor station to e it — an t ere y p ace a temporary oc
on — recor s via cript a er comman s.
! e ore you c ec t e new un script wit u access privi eges ox in t e script e itor, t in t roug t e recor -
oc ing rami cations. oes your recor -owners ip strategy epen upon certain users not eing a e to p ace a oc on a
recor so, use t is script option wit care.
The ability to have open records in more than one window may cause “Self-Locking”
ere is a signi cant new recor oc ing issue t at cou not exist in i e a er , se - oc ing. user can
now e it a recor in one win ow an t at recor wi remain open w en t e user switc es win ows eit er
manua y or via script . an attempt is ma e to e it t e same recor rom anot er win ow eit er on a oca
ayout or via a re ations ip rom anot er ta e , t e user can e oc e out o t e recor in t at win ow. is
can occur during a script, with potentially serious consequences for data integrity given that edits may not
occur as anticipate .
ew n ow enu tem
e new i e a er ro ew in ow comman ma es it easy or a user to initiate a se - oc ing situation.
a user has opened a record and then chooses the New Window command (or the “New Window” ScriptMaker
comman is run , t e recor in t e origina win ow remains oc e . is is t e a ert t at t e user wi see w ent is situation arises:
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 77/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
igure : e se - oc ing recor a ert.
! If a database guest’s available menus allow them to use the “New Window” command, or if you decide to add
t is comman to a script, eep t e prospect o se - oc ing in min . e - oc ing can e cause wit out ew in ow as
we , an can even put t e wor station into an en ess oop situation i a script attempts to e it a se - oc e recor
anticipating t at it wou e avai a e. e sure to test car e u y
Self-Locking in Converted Scripts
n a converte so ution, a script sequence t at e ite recor s in more t an one e can now eave recor s
oc e w en it eaves a win ow ormer y a e . or examp e, a script can encounter a se - oc initiate y a
su script ca e ear ier in t e same script. rror apture is on, it may e i cu t to gure out w at is appening.
e reso ution to t is sort o issue is to a a ommit ecor s script step e ore eaving a win ow. t may o ten
be advisable to add the Commit Records step after a Set Field step or at the end of a series of Set Field steps.
page 76
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 78/138
Upgrading to FileMaker 8:
a e : ser ct ons t at pen a ecor
: en t e in ormation e ow notes t at a recor is opene t is a so means it is oc e against e iting y ot er users,
and also is locked against editing by the same user in another window.) a e .
e a er ro
c or ta nto a oca e pens t e recor . ecor is not opene .
eg n typ ng n a non-g o a
e .
ecor was a rea y opene just y
ic ing in it.
pens t e recor .
c or ta e a er ro
or e t e a er ro nto are ate e on t e ayout, w ent e current oca recor a not
yet een opene .
ic ing or ta ing into t e re ate e
pens ot t e current recor an t ere ate recor .
iting in a re ate e opens ot t e
urrent recor an t e re ate recor .
c , ta or type n a g o a e pens t e recor . ecor is not opene .
e ect an opy text equires recor owners ip; just enteringt e e opens t e recor .
e ection o text oes not open t eecor ; possi e to opy va ues rom
recor t at is open on anot eromputer.
ep ace e oo up eontents enu omman s
ese actions momentari y open eacrecor as t ey move t roug t e
found set. Each record is immediatelyommitte a ter it is e ite , except or
t e recor t at is current w en t e
action is comp ete: t e cursor is e tin ing in t e rep ace re oo e -up e
an t at recor remains open.
e avior is t e same, except t att e recor t at is current w en t e
ction is comp ete is a so imme iate yommitte . e cursor is e t in ing
in t e e ut t e recor is not oc e
gainst e iting y ot ers.
ew ecor an up cateRecord” Menu Commands
. en t e current ayout as at east
ne entera e e in t e a r er
. en t e current ayout as no
ntera e e s in t e a r er
. new recor is opene on t eworkstation that created it, and it isimme iatey visi e upon a screen re res
n ot er wor stations.
. e recor is not opene ; ot er users
an imme iate y egin to e it it.
n e t er o t ese twosituations:
new recor is create an a recor
is o taine rom t e server, ut it
emains open on the user’s workstation
unti an action or comman commitst e recor see gure . so, t e
ecord cannot be seen (nor, of course,
ite on ot er wor stations.
ange recor s us ng a
keyboard combination or theoo
t e cursor was in a e e ore
the record-change, the record that isnavigate to wi e opene .
e cursor wi remain in a e a ter
the record-change, but the new recordis not opene un ess e iting egins.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 79/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
able 2: Record-Opening Behaviors of the Portal
: en t e in ormation e ow notes t at a recor is opene t is a so means it is oc e against e iting y ot er
users, and also is locked against editing by the same user in another window.)
ACTION EARLIER VERSIONS e a er ro
c on a porta scro ar pens t e current recor ,
prevents others from usingt e porta scro ar, e iting int e porta , or using porta -row
buttons; also opens the firstre ate recor so t at it cannote e ite y anyone wor ing in
t e c i e.
eit er t e current recor nor any c i recor s
are opened; portal scrollbar, fields and portal-rowuttons remain accessi e to ot ers.
c or ta nto a porta -row e , or se ect t e
porta -row ac groun
pens t e current recor ,prevents ot ers rom using
t e porta scro ar, e iting int e porta , or using porta -row
uttons; a so opens t e re aterecord whose field has beenntere in t e porta , so t at
it cannot e e ite y anyoneworking in the “child” file.
eit er t e current recor nor any c i recor sare opene ; porta scro ar, e s an porta -row
uttons remain accessi e to ot ers.
eg n typ ng n a porta -row field
ecor was area y opene justby clicking in it.
pens t e current recor an t e c i recorwhose field is being edited. Does not lock the portal
cro ar, ut oes prevent ot ers rom e iting in anyporta row a t oug t ey can e it any non-openerecord “from the child side”).
c a porta -row utton whose action goes to
t e re ate recor n aerent w n ow
n ear ier versions, moving awin ow to t e ac groun
ways commits t e currentrecor in t at win ow.
t e parent recor was a rea y opene e oret e porta -row utton was c ic e , it wi remain open
ven a ter its win ow is move to t e ac groun .
page 78
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 80/138
Upgrading to FileMaker 8:
able 3: Scripted Commands that Open a Record
: en t e in ormation e ow notes t at a recor is opene t is a so means it is oc e against e iting y ot erusers, and also is locked against editing by the same user in another window.)
s per t e e aviors escri e in a e , i a re ate e is entere ear ier versions or e ite i e a er ro , o t t e
urrent record and the related record will also be opened, with the exception of the “Set Field” command (see below). Allt e orta e aviors escri e in a e a so app y or scripte e iting actions.
e a er ro
av gat on omman sGo to field, Go to next field, Go to
previous e ; o to porta row; or oto ecor w en use rom a ayout t at
has at least one enterable field in thea r er.
t ese comman s wi open t e recor . ese comman s no onger open arecor .
t ng omman sAll commands in the “Editing” category
t ese comman s require recorwners ip an wi open t e recor .
e avior remains t e same orommands that truly edit field
ontents. ut opy, et e ection
n e ect o not opent e recor nor require recorwners ip.
e omman s
et ie n a oca e
a recor was a rea y open, et ie
eaves it open, ot erwise it momentari ypens t e recor an t en imme iate y
ommits it again, y passing ea i ations.
et ie opens t e recor an
eaves it open . ny su sequentction t at commits t e recor wi
trigger va i ations un ess exp icit yypasse wit t e option in t e
Commit Records step.
et ie n a re ate e pens an commits, i recor s were notprevious y opene ot t e current an t e
re ate recor .
i not open t e current recori not previous y opene ; opens
related record (and leaves it open).
nsert comman s nsert comman s open t e recor s e avior remains t e sameinc u es new nsert comman s .
ep ace e oo up ie ontents
ormer y in t e ecor s category
cripte e aviors are t e same as w en
invo e manua y. ee notes or i e a erro 6 in Table 1.
cripte e aviors are t e same as
w en invo e manua y. ee notesor i e a er ro in a e .
ecor s omman s
ew ecor equest an
uplicate Record/Request
cripte e aviors are t e same as w eninvo e manua y. ee notes or i e a er
ro in a e .
cripte e aviors are t e same asw en invo e manua y. ee notes
or i e a er ro in a e .
pen ecor equest ew command in FileMaker Pro 8. pens t e recor even i t e user
is not e iting a e unti an actionr script comman commits it.
ption c ec e , opens eac recor as itmoves t roug t e oun set, an t en
imme iate y re ease it
.
page 79
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 81/138
Upgrading to FileMaker 8:
en a ata ase is eing accesse y mu tip e guests, we ont want recor s eing e t open onger t an
necessary, nor o we want a recor to e committe to t e server w en su sequent actions epen onpersistent recor owners ip. ome o t e ru es or committing recor s ave c ange , an t ese c anges ot
offer some interesting new possibilities and present some potential pitfalls to keep in mind.
er aps t e most ramatic c ange is t at a recor s e ite in a porta wi remain open unti t e oca parent recor
is committe . ecause o t is new approac to opening an committing recor s in i e a er ro , i t e oca
recor is reverte , a e ite porta recor s wi revert, too.
Particular attention should be paid in your converted solution to the fact that when a record in a background
win ow is opene y a scripte action, or i a user opens a recor an t en manua y rings a i erent win ow
to t e oregroun , t e recor in t e ac groun wi remain open unti it is exp icity committe y manua or scripte
action. is app ies on y to win ows t at e ong to an externa e — in i e a er ro you cannot run a scrip
in a i en win ow i t e ispaye oregroun win ow e ongs to t e same e. t is converte soutions t atwi most e a ecte y t is, since a ter conversion t ey wi remain in t e previous one- e-per-ta e structure
Every “Set Field”, for example, that takes place in an external file will leave the record in that background file open
ee a e on t e next page or a etai e comparison o t e recor -committing e aviors o i e a er
ro vis-à-vis ear ier versions.
wo ew eatures ve ou ore ontro
i e t is in ormation oes not pertain to converte so utions, once you start en ancing your ata ase wit
i e a er ro two new eatures can o er increase exi i ity w en it is time to commit or revert a recor .
en you e ne a e as an auto-entere seria , you can now speci y t at t e seria va ue wi e generate
n creation as in ear ier versions , or n commit . you c oose t e atter option, w en a new recor is
create t e seria ize e wi remain empty so ong as t e recor remains open.
gure : ontro w en a ser a num er s ass gne .
t t e moment t e recor is committe , t e server t en assigns to it t e next avai a e seria va ue. us, it is
now possi e to e ete an uncommitte new recor wit out creating a gap in t e seria num ers.
not er new eature so ves an o i emma: ow to prevent c anges to a recor rom eing committe y
mere y c ic ing on t e ayout ac groun or navigating out o t e recor n t e past, in or er to provi e u
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 82/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es page 81
reverting o c anges to a recor it was necessary to ui an arti cia e it mo e invo ving separate ayouts,
g o a e s, ots o scripting an tig t y contro e navigation. e eve opers jo an t e user inter ace was
even more comp icate i e its in porta rows mig t nee to e reverte .
Now, simply by unchecking a new “Save changes automatically” option in the Layout Setup dialog, you can
provide a way to back out of changes. If edits are made to data when working in that layout, before the record
is committe a prompt o ers t e options to ave t e c anges, iscar t e c anges ont ave , or to ance
committing t e recor a toget er.
gure : new opportun ty to ac out o e ts ma e to a recor .
Because any edited portal row now remains open until the parent record is committed (see Table 4 for more
detail), the “Save changes?” prompt makes it possible to completely revert the changes in the related records as
we as in t e oca recor .
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 83/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
a e :User Actions and Scripted Commands that Commit a Record*
or t at wi trigger t e ave c anges to t is recor prompt i t e recor is e ite rom a ayout w ose avec anges automatica y ox as een unc ec e in t e ayout etup ia og
e a er ro
ic on t e ayout ac groun , c ic on
t e oo in t e status area to c angerecor s, use t e ayout menu to c angeayouts, c ange mo es, switc t e iew
as option, or run a script w ose actioncauses a c ange o recor s
ommits t e recor an any
opene re a te recor .
ommits t e recor an any
re ate recor s t at ave eenpene -- see next row o t isart .
ove cursor ocus rom one porta rowto anot er
ommits t e porta -row recort at is exite an opens t e
new y entere porta -row recor .
porta -row recor s t at areite remain open unti t e parent
recor is exp icit y committe .
inimize t e win ow n ac : t e recor remainsopen unti a recor -committing
action is ta en.
n in ows : commits t erecord.
n ac : e avior unc ange ,t e recor remains open.
n in ows : e inimize
in ow menu comman anAdjust Window (Minimize) scripttep wi eave t e recor open; ut
ic ing on t e win ow wi getto minimize t e win ow wi cause
t e recor to e committe , as wiusing t e menu in t e upper e t
orner of the window.
i e t e win ow ommits t e recor . e avior remains t e same: i ingt e win ow commits t e recor ,
owever a recor can e oc e ysu script in a i en win ow
unning a script in a ac groun
win ow
ocus remains on t e
oregroun win ow w enscript is comp ete, recor s
in ac groun win ow arecommitte .
recor -opening action is ta en on
recor s in a ac groun win owbelonging to an external file, those
recor s remain open unti exp icit yommitte .
Switch to another window either byscript o to e ate ecor , er ormcript xterna , pen i e or y
c ic ing on a ac groun win ow orusing t e in ow menu
Commits the record.ote t at in i e a er ro ,
in t e inter ace, a win ow issynonymous with a file)
e recor remains open in t ewin ow e t at is now in t eac groun , unti it is exp icity
ommitte .
page 82
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 84/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ose e w n ow omm ts t e recor . e av or rema ns t e same: t e
record is committed.
SCRIPT COMMANDS — Commands that automate the above actions follow the same rules as noted
when the action is performed manually by the user. There is one important change:
Exit Record/Request Commits the record. Renamed “Commit Records/
Requests.” Commits any open
re ate recor s as we as
t e current recor . nc u es
new option: “Skip data entry
va at on
anges ou ay ee to a e n our onverte ata ase
Do not rely on entering a “global field” to lock a record
FileMaker Pro 8 does not put a lock on a record when a database guest clicks into or edits a global field. So if
your so ution epen s in any way upon oc ing a recor , or epen a e per ormance a ter conversion e sure
you o not re y on entering or e iting a g o a e to gain recor owners ip. o i y your script so t at it e its
a non-g o a e , or simp y uses t e pen ecor comman , in or er to put a oc on t e recor against
e iting y ot ers.
Use an “Insert” command rather than “Go to field” to test for locked records and/or to
obtain record ownership
common y use tec nique or ensuring t at a guest mac ine o tains owners ip o a recor , an to prevent
ot er guests rom e iting it, as een to use t e o to e comman . n previous versions o i e a er ro,t is comman , i it succee e wit out error, wou open t e recor ; or it wou generate t e error co e ,
ecor is in use, i t e recor a a rea y een opene on anot er computer.
The “Go to field” command no longer opens the record in FileMaker Pro 8. In order to test for locked records
or to o tain owners ip o un oc e recor s, you wi nee to revise any script t at uses o to ie or t is
purpose. o i y t e script to use an nsert or et ie comman instea . n a vantage o using an nsert
comman suc as nsert a cu ate esu t is t at it wi ac ieve t e recor oc in ot i e a er ro an
i e a er ro , so t e c ange can e ma e in a wor ing so ution in i e a er ro , prior to conversion.
You may need to add a “Commit Records” command after using “Set Field”
recor t at as een e ite y t e et ie comman is no onger automatica y committe . xamine yourscripts or a instances w ere t e et ie comman ta es action on a non-g o a e , an consi er w et er
you mig t nee to a a ommit ecor comman to ma e t e c ange vis i e to ot er guests, or to simp y
re ease t e recor oc .
page 83
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 85/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
a script uses et ie to e it a va ue in a re ate ta e, t e re ate recor wi remain open unti t e parent
recor is committe . t e re ate recor appens to e in an externa e very i e y to e t e case in a
converte so ution , ca ing an externa ommit ecor s comman in t e re ate e wi not commit its open
recor . e ommit ecor s comman or action must e run irect y rom t e win ow rom w ic e itswere made in order to commit all records that were opened.
You may need to add a “Commit Records” command before navigating to a different file
emem er t at switc ing win ows in i e a er ro oes not serve to commit an open recor in t e
win ow you are putting in t e ac groun . xamine a your scripte navigation wit t is in min , an a t e
ommit ecor s comman anyw ere you want to ensure a recor is committe e ore a i erent win ow is
brought to the front.
Prevent the New Window menu item from being available to users
o prevent se - oc ing w ic cou compromise scripte as we as manua ata entry, it is a visa e to isa et e ew in ow menu item. is can e accomp is e eit er y setting t e vai a e menu comman s to
“Editing only” or “Minimal” for all Privilege Sets.
Use SecureFM to disable the New Window and the Show Window menu items
o protect against se - oc ing wit a mu ti- e so ution, you can se ective y prevent user access to ot
t e ew in ow an t e ow in ow menu items using t e ecure p ug-in rom ew i ennium
Communications (www.nmci.com).
Test, Test Again, and Test Some More!
e in ormation an suggestions in t is artic e are ase on a goo ea o testing, ut s ou e consi ere
ear y researc . et er you wi e ep oying a converte ata ase or ui ing res in i e a er ro ,
test the database thoroughly. Only after much more testing by the community of FileMaker developers and
users, in a variety of environments and on a variety of database solutions, can we collectively evolve complete
in ormation an a set o recommen e est practices.
out t e aut or
yse azar, o atatu e t . in ew or , is a ea ing i e a er ro ata ase consu tant an eve oper.
Since 1995, she has engineered and managed numerous successful custom development projects for clients in
a roa variety o in ustries. yse as a specia interest in t e esign issues invo ve in creating muti-user so utions.
page 84
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 86/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Migration and Web Publishing
The web publishing capabilities of FileMaker® 8 are among the most compelling features of the product. Instant
e u is ing as een great y expan e , yet as retaine its unpara e e ease o use. ustom eu is ing , w ic now consists exc usive y o , is tie irect y to i e a er erver vance
, t ere y o ering muc greater sta i ity an per ormance t an were previous y possi e.
When migrating existing solutions to FileMaker Pro 8, there are special issues that must be considered if those
so utions are we -ena e . ose issues are arge y epen ent on t e particu ar too t at was use to we -ena e
t e so ution. e ore converting any we -ena e so ution, it is important or you to e ami iar wit ot t e new
we -pu is ing in rastructure an t e speci c programming c anges ma e to ot an . t oroug
iscussion o eit er o t ese topics is we eyon t e scope o t is paper. ere, wi simp y present an overview
o t e new arc itecture an t e conversion issues acing users o various too s.
verv ew o t e new we pu s ng arc tecture
you are consi ering migrating existing we -ena e so utions to i e a er , it is important t at you
un erstan t e ene ts o ere y t e new we arc itecture. irtua y a o t e we too s rom previous
versions o i e a er ro ave een ren ere o soete. n i e a er ro , t ere is no e ompanion, no
Web Security Database, no FileMaker Unlimited, and no Web Server Connector.
ere are, owever, sti t e same two asic met o s o we -ena ing ie a er ro ata, an ; ot
too s ave ecome muc more sop isticate an power u . ne o t e most signi cant arc itectura c anges
is t at i e a er erver vance can act as t e ost or ot an so utions. i e a er ro can
itse sti ost so utions as we up to es or up to users , ut server- ase osting wi provi e t e
most power and stability.
nstant e u is ing is a quic an easy way o exten ing your i e a er ro so ution to a set o remote
users. ren ers your i e a er ro ayouts as we pages, an we -compati e scripts wi unction t e
same as t ey o or i e a er ro users. ere are nonet e ess some important i erences etween t e
experience an t e i e a er ro experience, inc u ing t e o owing:
• ere is no review mo e in . unctions t at require review mo e, suc as s i ing, co umnar reports,
an su summary reports, are t ere ore not possi e via .
• as no too s or e iting t e ata ase sc ema; you can on y wor wit ata t roug t e too s
constructe in i e a er ro .
• On the web, there is a distinction between Edit mode and Browse mode that does not exist in FileMaker
ro . ome i e a er ro routines, suc as tere porta s an auto-entering oo e up va ues, o not
trans ate we to t e we .
page 85
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 87/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
• n , ist views a ways contain a maximum o recor s an ta e views a ways contain recor s.
e status area as next an previous contro s or paging t roug ata t at o not ave ana ogs in
i e a er ro .
• n y a su set o t e avai a e script steps is we compati e. ou can see w ic ones are y c ec ing t e
“Indicate web compatibility” checkbox when viewing scripts; more than 70 scripts steps are web compatible.
Scripts that require user interaction (such as Show Custom Dialog) or that interact with the operating
system suc as printing, importing, an exporting are genera y not supporte y .
espite t ese restrictions, is i ea y suite or exten ing a i e a er ro so ution to a set o nown
remote users. ere are some rowser restrictions an connection imits, so it may not e appropriate or
most pu ic y accessi e we sites.
e centerpiece o t e new server- ase we arc itecture is t e i e a er erver vance e u is ing
ngine . e is con gure to wor wit ot a we server running eit er pac e on ac
or icroso ts nternet n ormation erver an a copy o i e a er erver vance . t an s o werequests to i e a er erver , t en conveys t e resu ts ac to t e we server. ese t ree pieces ,
, pac e can e ep oye in a one-, two-, or t ree-mac ine con guration. t er pieces o t e we
infrastructure include the Web Server Module, which is a plug-in for either Apache or IIS, and the FileMaker
erver ministration onso e, a we - ase app ication or ena ing an con guring unctions.
ome o t e particu ar ene ts o t e new we pu is ing too s in i e a er ro inc u e t e o owing:
n e ecur ty
Regardless of what method of web publishing you use, all security is controlled by the same accounts and
passwor s t at govern a ot er access to a e. ou can grant users we access to a e y a ing one
or more particu ar exten e privi eges to t eir privi ege set. or access, ena e t e miwp exten e
privi ege; or ustom e u is ing, you nee to create two new exten e privi eges, mxm an mxs t, an
attac t ese to one or more privi ege sets.
Whatever actions are permitted or denied by a user’s privilege set will apply to their web interactions. You
can prevent we c ients rom a ing, mo i ying, viewing, or e eting recor s just t e same as you wou or
i e a er ro c ients.
• ess on- ase
en a we user connects to a ata ase, t ey initiate a virtua session on t e ost. at session persists
unti t e we user ogs out or unti a timeout t res o as een excee e . e virtua session nows
such thing as the values that a web user has assigned to global fields, what windows, found sets, and records
are avai a e an active, an w at recor a we user is mo i ying. e users wi e noti e i a recor aseen oc e y anot er user an t ere ore cannot e e ite . imi ar y, w en a we user is mo i ying a
recor , t e virtua session ensures t at ot er users on t e networ wi not e a e to e it t at recor unti
t e recor as een committe . n sum, t e act t at t e new we arc itecture is session ase ma es or a
muc more i e a er ro - i e experience or users.
page 86
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 88/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
• r eater sta ty an per ormance
ne o t e imitations o t e previous generation o i e a er ro we too s was t at a we tra c owe
t roug t e e ompanion, w ic is sing e-t rea e app ication. is e to t e possi i ity o per ormance
an sta i ity issues. or instance, i one we user initiate a sort o a arge set o recor s, ot er requestsfrom web users would be queued up and would not start until the sort was complete. Additionally, if any
action caused a modal dialog box to appear on the Web Companion machine, until the dialog box was
c eare , t e e ompanion cou not respon to queries. e new server- ase osting is muc more
sta e an power u . n an o itse , t is is a compe ing reason to migrate existing soutions to i e a er ro
an i e a er erver vance .
Current IWP solutions
one o t e nstant e u is ing setup options rom previous versions are retaine uring conversion to
i e a er ro . n ee , t is is ecause t ere is no nee or t em in t e new version. e t emes an views
t at comprise t e setup options in previous versions are now o so ete. e new status area, previous yspeci e as a t eme, now resem es in ot oo an unctiona ity t e status area o i e a er ro . ts ayout
pop-up menu allows users to navigate to any layout permitted by their privilege set, obviating the need for “views”
e ui ing your existing capa i ities o owing migration to i e a er ro wi ta e on y a sma e ort.
ou wi rst nee to con gure t e ost eit er i e a er ro or i e a er erver vance to a ow
access. en, simp y assign t e miwp exten e privi ege to t e privi ege set o users or w om you want
to grant we access. you want to restrict users to t e ayouts t at you a previous y esignate or
access, modify the privilege sets used for IWP to only allow access to those layouts.
iven t e muc en ance script support o t e new , you wi n t at most i e a er ro unctiona ity
trans ates we to t e we ; you wi e a e to accomp is muc more wit t an you ever cou previous y.
Current CDML solutions
s mentione a ove, i e a er ro oes not support so utions. you ave an existing
so ution t at you want to migrate to i e a er , you can use t e to conversion too w ic
comes wit i e a er erver vance to convert your ormat es into sty e s eets.
ou s ou earn t e asics o an e ore ep oying a converte so ution. i e t e
conversion tool attempts to retain as much functionality as possible from your format files, you should
t oroug y test t e converte es an e prepare to mo i y t em i necessary.
urrent t r -party so ut ons
There are several other popular methods for web-enabling FileMaker Pro databases, such as Blue World’s Lasso
pro uct ine an . ec ue or s we site www. uewor .com or in ormation on using asso wit
i e a er ro . or so utions using t e popu ar .p p c ass, see t e we site at www.ivi ing.org.
page 87
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 89/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
out t e aut or
o owers, presi ent o t e oyer roup, is t e co-aut or o t ree oo s on i e a er ro, inc u ing pecia
ition sing i e a er ro . n a ition, es a co umnist an contri uting e itor or i e a er visormagazine, an is one o ony a an u o trainers aut orize to teac t e i e a er ro essiona oun ation
Training Series.
page 88
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 90/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Methodologies
Conversion Basics
onvert an estore
This document discusses the process of converting a FileMaker® .fp3 or .fp5 solution and making the
mo i cations necessary to ep oy it success u y as a i e a er ro so ution. is met o o ogy wi get you
up an running re ia y in i e a er ro , wit out en ancements, an wit a soution arc itecture w ic is
identical to your original solution. Read subsequent sections of this document for strategies for extending the
eatures o your so ution, or re esigning your so ution entire y, to ta e a vantage o t e new capa i ities o
i e a er ro .
e a ternative to o owing t is process is to rewrite your so ution entire y. ere are at east t ree possi e
motivations or ta ing t e onvert an estore pat .
. ou may want to rea ize some o t e imme iate ene ts o i e a er ro wit out investing in t e earning
time or t e eve opment time require to re esign your so ution1.
. ou may e ep oying a new i e a er ro so ution, or a part o an existing i e a er ro , yet t ere is
anot er part o your so ution, or an associate set o es, w ic exist in i e a er ro an w ic nee to
be integrated with the new files. Since FileMaker .fp5 and .fp7 files cannot be directly related to each other,
it may e esira e to convert t e associate es so you can integrate t em wit t e new i e a er ro
so ution. ou may not ave t e time or esire to rewrite a o a so ution, an t ere ore one part o t e
so ution wi nee to e upgra e using t e onvert an estore met o .
. uc as c ange in i e a er ro rom previous versions. ere is no etter way to earn t e nuances
of the changes than working to identify the instances of the changed behavior and learning how to integrate
the changed functionality. You will become intimately familiar with the new behavior and will master it, with
ene ts to your expertise or uture projects in i e a er ro .
ere are i erent scenarios t at a ect t e exact met o o ogy you o ow. ou may e reezing a urt er
eve opment in i e a er ro , an converting your so ution to i e a er ro in a s ort perio o time.
ternate y, you may ave a arge so ution t at you p an to migrate, an you may want to egin preparing t at
solution for future conversion while continuing to enhance it in FileMaker Pro 6. In the latter scenario, there
are a num er o t ings t at you may nee to mo i y in your i e a er ro so ution to ena e it to convert
e cient y an success u y to i e a er ro , w i e continuing to wor re ia y in i e a er ro .
egar ess o your scenario except or very simp e so utions , it is wise to anticipate converting t e so ution
numerous times. t is most e cient to o pre-conversion ana ysis, ry-run conversion, an post-conversion
page 89
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 91/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
testing. en go ac to t e pre-converte so ution, re-ana yze, ma e more mo i cations, an reconvert. epeat
t is process unti t e e ciency o pre-conversion tas s as een ex auste , an t en o a na conversion an
ma e necessary c anges t at can on y e ma e in i e a er .
an we , an o ow t e p an. e met o ica . xpect to c ange course or iscover t ings uring t e process
that you did not anticipate. Do not begin to add features to your converted solution before finishing your
mo i cations to existing eatures, inc u ing testing an con rming t at t ey are wor ing correct y. ou o not
nee to e trying to istinguis w et er you are ea ing wit a conversion pro em or a new ug t at you ave
intro uce y your en ancements. in i e an engineer – iso ate an so ve one issue at a time.
e ost ommon ssues
e issues t at mani est most requent y as pro ems in converte so utions are in t e o owing areas:
a. onversion o access privi eges i. ase sensitivity o passwor s
ii. tatus urrent roups - c anges to group names
. cripting an ca cu ation c anges
i. avigation scripts
ii. n pen an n ose scripts
iii. Several specific calculation result changes
c. ro ems wit e re erences
i. er ormance issues
ii. i es cant e oun
. anaging ata integrity
i. anges in w en an ow recor s are oc e an committe ii. anges to ew ecor , et ie , a i ations
iii. onsequences o mu tip e win ows – scripts can eave recor s oc e in more t an one win ow at a
time, so scripts can fail due to record locking even in a s ingle user environment
iv. anges in e in exing, especia y wor separators
e. ug-in compati i ity an interaction wit t ir party pro ucts
ee t e in- ept ocumentation o t ese issues in ot er areas o t is arger ocument, in t e onverting
ata ases .p ocument, an in t e onversion ssues an eso utions appen ix to t is arger ocument.
et o o ogy verv ew
The process will look like this (with the pre-conversion stage being considerably longer than the post-
conversion stage :
page 90
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 92/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Preparation
etting e ucate
etting experienceRequired tools
Pre-conversion
na ysis
Pre-conversion modifications
ry-run conversion
esting
epeat
Post-conversion
ost-conversion mo i cations
esting
epeatDeploy over t e course o a ew ays, wee s, or mont s – as app ica e
se ec sts
ere is a very e p u c ec ist t at is part o t e onverting ata ases .p t at covers many
conversion issues. ere is a so a c ec ist o t e issues t at are inc u e in t e onversion ssues an
eso utions appen ix o t is arger ocument an avai a e in ata ase orm in t e eta ata agic
onversion ssues eport . reate your own c ec ists as you ecome ami iar wit t e issues an t e tas s
require .
ere are a ew i erent c asses o c ec ists t at are require :
- ec ists o nown conversion issues to ma e sure t at a potentia pro ems ave een consi ere an
atten e to i necessary.
- ec ists o processes in your so ution w ic you inten to veri y or accuracy an re ia e e avior post-
convers on.
- ec ists erive rom t e meta ata o your so ution o a instances o a particu ar issue in your so ution,
w ic you can use to met o ica y reme y t e issue eit er pre-conversion or post-conversion.
ett ng ucate
. ea t e onverting ata ases .p inc u e wit i e a er ro an i e a er ro vance .
ee i a more recent version o t is ocument is avai a e rom t e i e a er we site.
page 91
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 93/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
. ea t e ec rie on igrating xisting o utions to i e a er .
. ea ot er ec rie s on pgra ing to ie a er – ecurity, erver, an e u is ing.
4. Read this larger document – all of it!
. ir party oo s an trainings – ere are or wi e many oo s an ot er w ite papers a out i e a er
ro . ere wi a so e exce ent training programs avai a e rom severa sources.
Getting Experience
. earn i e a er ro . or ing on a converte so ution is a very i cu t way to earn t e new app ication.
t is i ea to wor on a new so ution, even a mo erate y simp e one, prior to converting an existing so ution.
i e a er ro is more i erent rom prior versions o i e a er ro t an it may rst appear to e.
7. Collaborate with others who are familiar with FileMaker Pro 8. Participate in online discussion lists. Ask
questions. o not ma e too many assumptions.
oo s
. The only required tool is FileMaker Pro 8. However, it is strongly recommended that you use FileMaker
ro vance so t at you can use t e cript e ugger to n pro ems, as we as eing a e to use t e
ata ase esign eport or ana ysis.
. eta ata agic – avai a e rom ew i ennium ommunications – inc u es i e e erence ixer, w ic
is an essentia pre-conversion uti ity, as we as a onversion ssues eport w ic wi e p to i enti y
potential problems in your solution.
10. Conversion Log Analysis Tool™ – available from New Millennium Communications – this utility will import
t e onversion. og e t at is create w en i e a er ro converts a so ution, an wi ena e you to
e cient y ana yze it to i enti y pro ems.
. ro ot – avai a e rom ew i ennium ommunications – t is app ication wi a ow you to automate
the creation of tables and fields in a FileMaker Pro 8 file, based on field definitions in an existing FileMaker
ro . p or i e a er ro . p e.
. ease visit t e i e a er we site www. ema er.com perio ica y or in ormation a out new t ir -
party too s t at may e re ease to assist you in your conversion rom previous versions o i e a er ro
to i e a er ro .
* Please Note: FileMaker Pro 8 and FileMaker Pro 8 Advanced now provide the ability to import tables. FileMaker Pro 8 Advanced
also includes the ability to copy/paste scripts, fields, and tables.
page 92
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 94/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
repar ng or terat ve onvers on est ng n your e a er ro so ut on
. you ave not a rea y, create a script in eac e, an a centra ca ing script w ic wi create c ones o a
o your es so you can test wit out aving to convert ata. ou may nee to a at east one recor toeac e to ma e sure t at it wor s correct y. is can a so e one via a script in eac e t at is ca e
from a central file. If you have any files that contain required data (reference tables), then make copies
rat er t an c ones o t ose es.
. ut ranc es , se , ase on tatus urrent pp ersion , into a appropriate scripts o a so ution.
e ranc es or i e a er ro may ypass certain steps in a script, or simp y ca an xit cript step,
or t ey may ca a su script t at wi per orm certain script steps on y in i e a er ro . e statement
ca c to use is: ext o um tatus urrent pp ersion < or < .
. ut p ace o er su scripts into a appropriate ocations in a so ution. ese p ace o ers wi ater contain
steps t at can on y e a e in i e a er ro ecause t ey o not exist in i e a er ro . y using
a p ace o er su script, it wi e possi e to a t e step or steps quic y a ter conversion an t ey wie imme iate y unctiona in a esire ocations. n some instances you can put steps into scripts w ic
are innocuous in i e a er ro es ut w ic wi ena e a script to convert an e ave per ect y in
FileMaker Pro 8.
. n pen an n ose scripts ave c ange t eir e avior su t y ut wit potentia y signi cant
consequences. it out reme iation you can even e prevente rom opening your converte so ution
at a , an you can get stuc in en ess oops w en c osing es. ut a ranc into your n pen an n
ose scripts so t ey can e turne on or o y re erencing a eve oper togg e a ag e w ic you can
set to make the action conditional). The developer toggle can be a global field in a central file, referenced
t roug a constant re ations ip or a non-matc ing re ations ip. e ore conversion, put a con itiona step
at t e top o t ese scripts so t at t ey can e exite wit out executing t e remaining steps. ou may want
to ma e t e con itiona test ranc on t e version o i e a er ro t at you are running. ternate y,
you may want to turn o t ese scripts a toget er in ocument re erences in i e a er ro or i e
ptions in i e a er ro . ea t e section o t e arger ocument on cripting ssues or more
information with the issue.
. ny epen encies on p ug-ins may nee to e isa e unti t ose p ug-ins are avai a e or i e a er ro .
. urn every instance o et rror apture n into a su -script so t at you can contro it wit a
eve oper togg e. is ena es you to see certain errors as t ey occur in your scripts ecause t ey wi no
e suppresse .
. a ommit ecor s script, wit one script step xit ecor , to every e. ter conversion, c ect e c ec ox s ip ata entry vai ations . ou may nee to ca t is script a ter ew ecor steps or et
ie steps in your so ution to restore egacy e avior. ou may a so want to put t is script into t e cripts
menu, so t at i you get ung up w en a script is executing you can get past it. is recommen ation
a resses issues associate wit t e c anges to recor s oc ing an recor commitment. ese c anges
have far-reaching consequences.
page 93
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 95/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
. i e you are at it, you may want to a a a t cript script wit just one step an put it in t e menu
o every e. gain, you can ma e t is eature con itiona on a eve oper ag.
1. After conversion, the behavior of navigation between files can change, depending on the exact script step
sequence. By adding steps in advance of conversion after certain instances of Perform Script [External] or
o to e ate ecor , it is possi e to cause t e script e avior to convert re ia y.
. tan ar ize your passwor s so t at a given passwor in a es is t e same case owercase, uppercase,
mixe case . ou can o t is manua y or wit t e asswor tan ar izer eature o asswor
ministrator. is wi prevent passwor s rom ai ing to open es w en t ey wou ave in i e a er
Pro 6. See the section of this larger document on conversion of Access Privileges for more information.
na ys s – s ng eta ata ag c
. un eta ata agic avai a e rom ew i ennium ommunications on your so ution. t ere are any
processing errors, see w ic items are causing t e pro em. ey may represent some corruption t at
cou cause a pro em in t e conversion to i e a er ro . ix t e pro em, usua y y rep acing t e
o ject, an t en re-process your so ution unti it processes c ean y.
. ix e re erences e ore conversion y using t e i e e erence ixer eature o eta ata agic. t can
e a quic automate pre-conversion process an a very a orious manua process i per orme a ter
conversion – with significant consequences for solution performance, reliability, extensibility, and ease
of ongoing development. Make sure you include all files that are part of the solution (or which are ever
re erence y t e so ution in t e o er w en processing. your so ution is a ways run wit a es in t e
same o er or on t e same server, t en you can use t e uto- ix eature. you sometimes re erence es
t at are in a i erent o er or on a i erent server, t en care u y rea t e instructions regar ing pecia
ituations in t e i e e erence ixer ocumentation. mong ot er consequences, pro ems associate
with file references include very slow opening of converted solutions, or the potential of the application
“not responding” during opening of files.
. se t is opportunity to c ean up o so ete scripts, e s, an ayouts in your so ution. ou can use t e
unre erence items ags in eta ata agic to n a suc items. t is a so a goo time to x any errors.
ere is a e icate rrors report e in eta ata agic.
terat ve onvers on
. n rare cases, you may ave some ai ures in t e conversion. at is, i e a er ro may not e a e to
success u y convert a e. ometimes t is is cause y corrupt ayout o jects, w ic you may e a e to
n wit eta ata agic. t erwise t ey can e oun y a process o e imination, y e eting ayouts
selectively and reconverting. Another known cause of files occasionally failing to convert successfully is
t at t ere may e i ega c aracters in e names or re ations ip names. ometimes t ese c aracters
page 94
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 96/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
are visible on one platform and not on another (Macintosh/Windows). Try clearing the old name, and re-
creating it. necessary e ete t e o ject an rep ace it. ometimes a ayout o ject cannot e accesse
wit out causing a cras , w ic e ective y prevents t e o ject rom eing e ete . n t is scenario, try
accessing it on a i erent p at orm. t at oes not wor , t e on y a ternative is to e ete t e entire ayoutan recreate it an reconnect a re erences to it . o e ete a ayout wit t is pro em, go to an a jacent
layout in layout mode, scroll way down so that the layout contents are out of sight, then switch to the
ayout t at as t e corruption pro em an e ete it. y not isp aying t e pro em e ement, t e
cras is prevente .
. na yze t e onversion og, using t e ew i ennium onversion og na ysis oo . ou can scan it
visua y, ut it is very ong an e wit non-essentia in ormation, so it is easy to miss t e ew important
its o in ormation. oo especia y or items i enti e as amage , errors , or inva i . ry to a ter
or re-create these items in FileMaker Pro 6, and then re-convert. In rare cases, FileMaker Pro 8 may not
e a e to i enti y t e name o a amage item, so t at t e og wi simp y say t at an un nown item
was not converte . or instance, a amage e may not e roug t over. n t is case you wi nee to
care u y compare t e names o t e e s rom t e pre-converte e wit t e post-converte e.
. eview t e onverting ata ases .p ocument an i enti y t e conversion issues t at are
relevant to your solution. It is also essential to become familiar with the appendix of this document,
entit e onversion ssues an eso utions .
. e onversion ssues eport in eta ata agic may e e p u or n ing a instances o a speci c
pro em in your es.
30. Fix all instances of issues that are most efficiently fixed pre-conversion, and then convert and test. Repeat
as necessary. e onversion ssues an eso utions items inc u e a istinction o w ic items are most
e cient y xe pre-conversion.
. ix ata t at wi e a ecte y conversion. ere are c anges to ow certain c aracters are eva uate in
certain e types or instance wit ate an time separators, an wit text in num er e s . ere are
also significant changes to indexing – including to values that are used in keys, or from which keys could
e erive . or instance, as es ave c ange e avior as a wor separator. is cou ave signi cant
consequences or ata integrity.
. va uate your ayouts a ter conversion. ou may want to o some cosmetic twea ing etween conversion
attempts -- rep ace onts, rep ace resize images, c ange air ines to pixe , etc. t ere is an issue wit
certain onts or grap ics or ot er ayout items, iso ate t e optima way to prep ayout e ements or
conversion by using a dedicated file with no scripts or fields, so that you can test iterative conversion
e cient y. ome grap ics may ren er i erent y epen ing on t e p at orm on w ic t e es areconverte . you are aving a pro em, try converting on t e ot er p at orm. ave t e converte es rom
ot p at orms. ou may ater come across a ayout e ement t at you want rom t e ot er converte set
. t is important, a ter conversion, to test script e avior an ca cu ation resu ts or re ia i ity an
consistency with prior behavior. Note, however, that comprehensive testing is very difficult. You may not
page 95
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 97/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t in to test eatures in a certain sequence t at cou cause a pro ematic resu t. e on y su stantive
reme y is to ave a goo ami iarity wit t e possi e issues so t at you now w at to test, an or now
w at to x in t e rst p ace.
See the Conversion Issues documentation in this larger document for the specific
issues and for advice on which ones are best addressed pre-conversion and which
post-convers on.
. nc u e users in t e testing process. nc u e t e peop e w o are most ami iar wit t e use o t e system
in testing an eva uating t at t e eatures are wor ing re ia y. ey wi inevita y catc t ings t at a
eve oper wi miss.
ost- onvers on as s – ter t e na terat ve onvers on est ng
. ange account names. i e a er ro passwor s ecome ot t e account name an t e passworin i e a er ro . urt ermore, consi er c anging your security structure more extensive y post-
conversion. The access privilege architecture is very different, and much more powerful, in FileMaker Pro
. n i e a er ro so utions, it was commonp ace or mu tip e users to s are passwor s. ue to t e
en ance access privi ege management eatures o i e a er ro , it is practica or eac user to ave
t eir own account, an it is strong y recommen e t at eve opers imp ement t eir security structure
accor ing y.
36. Populate the placeholder scripts, described above, implementing any features which can only be added in
i e a er ro . or examp e, c ec t e c ec ox in t e ommit ecor s script step, ip ata ntry
a i ations . t is possi e t at you wi ave a rea y one t is in eac roun o iterative conversion
an testing.
. rganize t e re ations ips grap . ter conversion, a re ations ips in i e a er ro ecome ta e
occurrences on the relationships graph in FileMaker Pro 8. They are arranged neatly, grouped by common
primary keys. However, they are arranged in two columns, potentially very long columns if there are many
re ations ips. t is ar to n particu ar re ations ips an manage t em wit out organizing t em etter.
onsi er using t e too s at your isposa to manage t e re ations ips grap – t e primary too s eing
space, co or, an naming conventions.
mporting Data
. t is i e y t at in any comp ex so ution it wi e most e cient to practice conversion on c one es.
ere ore, it wi e necessary to import ata post-conversion. e export import process wor s simi ar y
to t e way it i in previous versions, wit just a coup e o exceptions. ea t e ocumentation on
conversion issues associate wit import an export or more in ormation in ot t e onverting
Databases” .pdf and in the “Conversion Issues and Resolutions” appendix to this larger document. Notably
page 96
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 98/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
importing rom c ose es wi now import a recor s rom a given ta e, so, i you want to import just a
oun set, t e source e must e open.
. ere are mu tip e approac es to consi er or trans erring ata rom previous es to new es. or somescenarios it will be appropriate to use an interim file as part of the process. You can export your data to a
tab-delimited text file, a merge file (.mer format) which allows you to import using “matching names”, an
e w ic you wi e a e to trans orm wit an to c ange e names or restructure t e ata,
or you can export in i e a er ro ormat w ic as t e ene t o preserving container e contents.
ere is no nee to export ca cu ation or summary e s un ess you inten to import t ose va ues into
non-ca cu ation e s .
40. For certain situations, especially commercial solutions for which the conversion is intended to be
automate , it may e use u to pu t e ata rat er t an pus it. ou can create an interim i e a er ro
. e t at is esigne to import t e ata rom t e previous version es, an t en t at is t e e to
convert. mong t e ene ts o t is approac is t at t e interim es ave no on open scripts to ea
wit in act, no scripts at a , no e re erences, nor any in exes, so t e process can e muc aster ansimp er.
anag ng our n t a ep oyment nv ronment
. ry to rep icate t e previous i e a er ro environment as muc as possi e. se eit er iting n y
menus, or ecure rom ew i ennium ommunications , to isa e t e ew in ow menu item.
Use SecureFM to disable the Show Window menu item.
. a new ayouts to your converte e t at use any o t e externa ta e occurrences generate
y t e conversion. our scripts were written wit out t e nee to manage t eir context. or instance, i
you a a ayout to your nvoices e, using t e ta e occurrence t at was create or your re ations ip
to ontacts , an t en run your ew ecor script, it wi create a new contact, not a new invoice.
Similarly, but more seriously, delete record will delete records from the table of the current layout.
. ar ware an issues – i e a er erver requires a muc more su stantia mac ine t an i
i e a er erver . an ear ier. i e a er erver is supporte on y on in ows erver, in ows
erver, an acintos erver. e requirements o i e a er ro ave c ange .
. s wit any tec no ogy ep oyment, it is important to iso ate components o t e system an to ma e sure
that they are working reliably before aggregating them.
page 97
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 99/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
out t e aut or
anny ac is t e resi ent o ew i ennium ommunications, nc., a i e a er o utions iance artner
ase in ou er, o ora o. ew i ennium specia izes in i e a er ro consu ting an so ution eve opment,an is t e pu is er o numerous p ug-ins an too s t at aci itate t e wor o i e a er ro eve opers,
avai a e at http://www.newmilennium.com.
ootnote1 ese instant ene ts inc u e: no e size imit or a practica purposes ; no e count imit; container
e s t at can store any type o e, text e s t at can o up to o ata; ca cu ations ont ose text
ormatting; per ormance improvement; erver ase encryption o networ tra c; nico e support
in text fields; robust, nearly incorruptible, file format; greater security of the file format; precise math; sticky
porta s; an many new eatures or going orwar – inc u ing t e new re ationa mo e ; access privi eges; nstant
e u is ing; an an extraor inary num er o arge an sma e ciency improvements.
page 98
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 100/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Adding a New Interface File To An Existing Solution, Later ConsolidatingTables
i e a er ro users w o want to egin everaging t e power u new eatures o i e a er ro ut ave asigni cant investment in a i e a er ro so ution may ace a i cu t i emma, especia y i t e i e a er ro
solution is in use every day providing value for their organization.
ey may e tempte to rewrite t e so ution rom scratc . t oug t is may e t e appropriate so ution or
some scenarios, it oes ave some signi cant raw ac s. mong ot er pro ems, t e time an resources require
may e signi cant.
Alternatively, they may decide that they need to get some return on investment (ROI) as early as possible and
t ere ore it ma es sense to convert an restore t e so ution to its origina i e a er ro e avior. e pro em
wit t is approac is t at at t e en you ave a so ution t at is i e a er ro compati e ut not i e a er ro
optimize . is may ma e it i cu t to exten t e so ution in t e uture.
at is nee e is t e a i ity to ring a so ution rom t e converte an restore stage i.e., i e a er ro
compatible) to a fully optimized for FileMaker Pro 8 stage that is better suited for continuing development and
extension. is wou a ow ot a quic return on investment an t e a i ity to continue to use t e system as a
re ia e ase or uture eve opment. ortunate y t e new exi e app ication mo e o i e a er ro ma es it
possi e to o just t at.
is section o t e ocument iscusses a met o o ogy t at eve opers can use to move t eir converte an
restore i e a er ro soutions a ong a pat o mu tip e sta e points to a stage t at is suita e or ongoing
development, i.e., FileMaker Pro 8 optimized. Important features are pointed out and a step-by-step guide for the
met o o ogy is out ine .
y rewr t ng oesn t a ways ma es sense
The decision to rewrite should not be made lightly. Costs and benefits have to be weighed very carefully. The
ene ts o moving to i e a er ro are quite c ear ut t e cost o rewriting may not e. mong t e costs
t at nee to e consi ere are: time an resources require to re ui , e ect on current operations, potentia
or serious esign aws ue to ac o experience, an engt o time to egin to rea ize a return on t e
nvestment.
End users will be left using the current solution until the new one is ready to go into production. Depending
on t e comp exity o t e soution t is cou ta e many mont s. uring t is perio , eve opment e orts wi
ave to e sp it etween ui ing t e new so ution an maintaining t e existing one.
onverting t e so ution to i e a er ro an restoring t e origina unctiona ity may e t e astest way to ge
some . ere are some signi cant ene ts to e rea ize rom simp y running in i e a er ro . ee t e
tech brief on “Upgrading to FileMaker 8: Migrating Existing Solutions” for more specifics.)
page 99
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 101/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
y onvert an estore sn t goo enoug
e onvert an estore option oes ave some raw ac s, owever. t oug t e so ution is now i e a er
ro compati e, it can ar y e sai to e using an optima esign or i e a er ro . t as more es t annecessary an is pro a y u o tec niques t at are now o so ete in i e a er ro . t oug t is may not
affect the usability of the system, it probably does affect the maintenance and extension of the system.
e great strengt o i e a er ro is its exi i ity. eve opers can quic y a new eatures an ma e c anges
to ive systems a most at wi . ven i t ey are not wor ing in t e ive es, t ere are ew app ications, i any, t at
can matc i e a er ro as a api pp ication eve opment too . converte an restore so ution
may compromise some o t ese ene ts, i it is e t in a su t y ragi e state. e so ution wi wor , ut un ess
the developer is careful it may be difficult to extend.
ne o t e most important t ings to un erstan a out t e state o a converte an restore so ution is t at it
was esigne or an environment t at was constraine to one ta e an one win ow per e. emoving t ose
constraints may cause pro ems wit context . reasona e approac mig t e to a t ose constraints acto t e system.
The “New Window” feature can cause issues for scripts that were not designed to handle multiple windows
wit t eir i erent oun sets an potentia y mu tip e oc e recor s. n or er to ensure t at a so ution wor s
as it i in ie a er ro , t e ew in ow menu item s ou e isa e . is can e one eit er wit
t e i e a er ro access privi eges y e ning a privi ege sets menus as iting n y or inima .
onverte an restore so utions o not ave pro ems associate wit aving many ta es per e ecause
they only have one table in every file. The constraint of one file per table is sti in p ace as ong as t e eve oper
oes not a new ayouts ase on ot er ta es.
en you a anot er ta e to t e e, ta e context is no onger guarantee , an script ogic can ai . n
act, it is a it su t er t an it at rst appears. i es wi a rea y ave a e ccurrences rom ot er es in
t em. en a . p or . p e is converte to i e a er ro ormat, a re ations ips are converte to ta e
occurrences in the new file. The developer may be tempted to create interfaces and logic based on those
oreign ta e occurrences. is seeming y innocuous action can a so rea ta e context, since t ere is now
script ogic an inter aces in p ace t at may s i t ta e context away rom t e main ta e in t e e.
onsi er somet ing as simp e as t is: n a converte nvoices e t ere is t e nvoices a e ccurrence .
is is t e on y in t e e t at is not rom a oreign e. o t e ot ers come rom ot er es. e ot er
TOs are there to show relationships to other files. Therefore an Invoice Items TO will be there to describe the
re ations ip etween t e nvoices an nvoice tems.
t mig t seem re ative y arm ess to create a new ayout in t e nvoices e ase on t e nvoice tems an
use o to e ate ecor to isp ay a ist view o nvoice tems re ate to t e invoice. ut un ess you are
care u , you run t e ris o eaving t e e wit t e ta e context set to nvoice tems. is wi appen simp y
page 100
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 102/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
i t e user eaves t at win ow open on t e nvoice tems ayout. is may cause pro ems t e next time a user
runs t e ew nvoice script an it creates a new recor in t e nvoice tems ta e instea o t e nvoices
ta e. is is more i e y to e a pro em i scripts t at manipu ate recor s or e it ata are initiate rom
anot er e.
Although convert and restore has the potential to provide some early return on investment (ROI) and
experience in using t e new app ication t ere may e i cu ties invo ve wit exten ing or optimizing it.
uc i y t is is not t e case. e new app ication mo e ma es it possi e to egin to imme iatey exten your
so ution wit out rea ing ogic t at t e organization is re ying on every ay to o its usiness.
Extend: Add a New Interface File
ne o t e most important c anges to t e i e a er ro mo e is t e a i ity to access ata rom a i erent
e as t oug it were in t e same e. cripts an ayouts can e esigne in one e ut get t eir ata rom
ta es in anot er e. is very exi e eature is w at ma es it possi e to egin to exten a converte anrestore so ution imme iate y.
s was pointe out a ove, it is i cu t to a eatures to an existing e wit out potentia y a ecting t e co e
t at was a rea y t ere rom pre-conversion. o ont eave t e o es unctioning as t ey are. nstea create
a new empty e an access t e ata in t e o es. is new e as no egacy ogic to get in t e way.
onsi er t e a vantages: e ogic in t e new inter ace e can e comp ete y iso ate rom t e rest o t e
system. Scripts and layouts that are designed in this new file won’t affect the logic in the old files. In a sense, the
eve oper as a c ean s ate. ew eatures can e esigne t at use optima i e a er ro esigns wit out
concern or rea ing t e context o o ogic.
so consi er t at a ter some initia testing on an o ine set o es, t e eve oper can ro out t is new e
wit new eatures to users y simp y inc u ing it wit t e rest o t e es on t e server. ew versions wit
new features can be rolled out to users whenever necessary. There is no need to have to take the files off the
server and import data from the data tables, since there is no data, just interface, in this new file.
nstea o esigning new eatures, t e eve oper can rewrite pre-existing eatures in t is new inter ace e.
is approac may e t e est i t ere is no urgency or new eatures or i some eatures rea y cry out to e
re one using t e i e a er ro optimize esign. s eac rewritten eature is comp ete t e o version can
e retire an t e etritus c eane up. sing t is met o t e eve oper can ro out eatures one y one as
they become ready for use.
ote t at it is possi e to a temporary or permanent navigation scripts etween t e new inter ace an t e
o inter ace as esire . ome minor en ancements new scripts, se ecte cacu ations may e a e to t e o
es, ut it wi e possi e to eep t ese to a minimum.
Another variation on this theme is that the developer can bring over some old interfaces and logic from the
origina es ecause t ere is no nee nor esire nor u get to rewrite t em rom scratc . i e a er ro
page 101
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 103/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ma es it muc easier to port co e rom one e to anot er ecause i e a er ro e ements now map y
name instea o y w en importing scripts or pasting ayouts. e exact steps nee e to accomp is porting
co e wi e out ine ater in t is ocument.
e eve oper can eci e ow muc o t e o inter ace an ogic is roug t over rom t e origina es. t
might make sense to bring over all of the interfaces, or just a few scripts and layouts.
ere is an important caveat to ringing over inter ace an ogic rom converte es. e ogic in t e
converte es was ase on t e ta e context o one e per ta e. oving it over into an inter ace e w ere
t at context is not en orce wi require some mo i cation. n s ort, some retro tting o ta e context wi e
require , ut s ince it can e one on an as nee e asis, t e scope o t e pro em s ou e ess t an w en
aving to retro t context across t e entire so ution.
onsi er t e ene ts o t is approac : e eve oper as t e time to ecome ami iar wit esigning so utions
in i e a er ro . ey ave an active rea wor environment in w ic t ey can ep oy so ution components
at regu ar interva s an t at can provi e t e vaua e ee ac t at is necessary or t e success o a so ution.e users egin to ene t rom improve esign very ear y on in t e process, an t e organization ene ts
rom p ase ep oyment o new tec no ogy an ear ier .
ventua y a o t e inter ace can e consoi ate into a s ing e e or a ew es i esire . ut ate an
o so ete ogic in ca cu ation e s an scripts can e remove . e o inter ace is no onger use . e
so ution is now in a state o aving a i e a er ro optimize inter ace ut its ata ta es are sti containe in
t e origina converte es.
Although the solution is closer to being FileMaker Pro 8 optimized, it isn’t there yet. There is much to be
gaine rom conso i ating t e ata ta es to ewer es. nce again t e improve porta i ity o i e a er ro
e ements can e p t e eve oper o just t at.
onso at ng ata a es
e a i ity to irect y e it e re erences ma es it possi e to c ange t e ata es rom w ic t e new
inter ace e is pu ing t e ata. e eve oper can re-point t e e re erences o t e new inter ace e at a
new conso i ate ata e t at contains t e exact same ta es an re ations ips as t e separate ata es.
e process is re ative y straig t orwar . irst a new conso i ate ata e or es is prepare wit exact y
t e same ta es as t e origina ata es a . en a simp e process can e o owe t at re-points t e new
inter ace e at t is new ata e.
is new conso i ate ata e cou e t e same e as t e inter ace e, t oug t ere are signi cant ene tin t e i e a er ro app ication mo e to eeping t e inter ace in a separate e rom t e ata ta es.
e ata ta es are conso i ate into a sing e e y o owing a simp e step- y-step proce ure out ine e ow.
ata e s text, num er, ate, time, container an a necessary ca cu ation or summary e s, inc u ing
page 102
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 104/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t ose t at are re erence on ayouts or in scripts, nee to e recreate wit t e i entica name. ome rd
party tools are available to help automate the procedure. Most specifically, FMrobot™ from New Millennium
ommunications can automate t e process o creating new ta es an e s, inc u ing e e nitions, ase on
t e e s in an existing i e a er ro . or . e.
There are a couple of techniques to getting the new interface file to correctly map to the new data tables,
ut t ey are very simp e. irst, t e inter ace e is up icate an a script an ayout contents not t e actua
ayouts are e ete rom t e copy. e origina inter ace e is save or a ater step. ext, t e e re erences
are re-pointe at t e new ata e. is wi rea t e s an re ations ips on t e grap ut t ey can e xe
y re erring to t e grap in t e origina inter ace e.
Once the graph has been restored, the scripts can be re-imported into the file from the original interface file.
ina y, a t e ayouts can e re-paste ac into t e new inter ace e rom t e origina inter ace e an t eir
ta or er re-create . ince importing an pasting maps i e a er ro e ements y name, a re erences wi
reso ve. is new inter ace e wi now unction as it i , ut it wi now access ata in t e conso i ate ata
e, instea o t e o separate ata es. e on y step e t is to import t e ata into t e new ata e.
The solution has now been completely migrated to an optimized FileMaker Pro 8 design. It has a new interface
e an a new ata e. e o es are now gone. e eve oper as a time to earn ow to use i e a er
ro . e users ave een a e to ene t rom improve wor ow an inter aces. e organization as a rea y
experience some . e so ution arc itecture is suc t at it can e use as a re ia e ase or ongoing
eve opment.
Following is the step by step methodology for migrating existing solutions to FileMaker Pro 8, affectionately
nown as eit er , stan ing or onvert, estore, xten , onso i ate .
ease ote: i e a er ro an i e a er ro vance now inc u e t e a i ity to import ta es.
i e a er ro vance a so inc u es t e a i ity to copy paste scripts, e s, an ta es.
tep y tep
1) Convert and Restore original behavior
) Modify, Convert, Test, Modify
i ee t e ocumentation in t e onversion asics an onversion ssues sections or etai e
in ormation
ep oy – ta e oint
2) Extend
) Add new features to a new interface file
i reate a new empty inter ace eii reate i e e erences to eac o t e o es
ote t at i e a er ro wi create a sing e ta e an ayout in t e e, w ic you can ignore
iii reate a e ccurrences on t e re ations ips grap or eac ta e e you want to access
iv reate e ations ips as nee e
page 103
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 105/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ote t at to e a e to isp ay a porta or to go to re ate recor in your inter ace e, you wi
nee to create a re ations ip w ic may e i entica to one w ic exists in t e o e
v ow you can a new eatures – you ave comp ete exi i ity to create new re ations ips using t e
possi i ities o i e a er ro an to everage t e new re ationa mo e(1) New Relationships
(2) New Layouts
ew cripts
reate temporary or permanent navigation etween t e new inter ace e an t e o es
ep oy – table Point
onso ate
ser nter ace
i e-create t e entire o inter ace in t e new e or ring over pieces o your o inter ace an
recreate ot er pieces using a new esign
(1) This can be done all at once or in phases. Retire old interfaces as new ones become available to
rep ace t em
ii ring over inter ace rom t e o es – step y step
n t e o es
(a) If any old files have only one Table Occurrence then create an extra one. This will allow “Go
o ayout script steps to import correct y.
a e-speci c pre x o your own c oosing to script names. is wi ma e t em easier
to un erstan once t ey are a in t e same e.
c a e-speci c pre x to ayout names, or t e same reason as or scripts.
n t e ew nter ace e
a reate e re erences to o ata es
reate a e ccurrences wit exact y t e same names as in t e o es
c reate t e same re ations ips as in t e o es reate ayouts wit t e same names as in t e o es wit pre x . o not ring over t e
ayout contents yet.
e mport scripts rom o es into t e new nter ace i e rename a to remove importe
opy an paste ayout contents rom t e o es into t e new es. uttons an e s
ou reso ve correct y. cripts t at re erre to externa es in t e o system wi sti go
to t e o es.
g oint any er orm cript xterna script steps at t e new oca importe versions o t em
nd add a preceding “Go to Layout” step to appropriately change table context.
(h) Retrofit Context – Make sure that scripts are always acting on the appropriate table
i xamine any o to e ate ecor script steps an ma e sure t at t e esire target
ayout is se ecte
ii ome scripts may nee to ave a o to ayout step a e at t e top to ensure t e
correct context
iii) Clean Up
iv) Deploy – ta e oint
ata a es
page 104
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 106/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
i eci e ow many es are require .
ii reate a ran new empty e.
reate ta es
a reate e s(i) Field Names should be exactly the same as in the original tables.
(ii) Calculation fields need to be defined as empty (“”) calculations temporarily, since
epen encies may not e in p ace yet.
is can e automate to a great extent using ro ot, avai a e rom ew i ennium
Communications, or by using the new table import features available in FileMaker Pro 8 and
i e a er ro vance .
c reate s an e ations ips to support e ca cu ations.
i ese must e name exact y t e same as t ey are in t e origina es.
ii ometimes it may e necessary to c ange t e names o t e re ations ips in t e origina
es as we , ecause re ations ips an or s rom ot er es may ave t e same names
It may be desirable to change the names just for clarity as well.
aste cacu ations rom t e origina ta es into t e new ta es. ince t e e names an
re ations ip names matc , ca cu ations wi reso ve.
e et any ot er e e nitions t at epen e on t e s an e ations ips – oo ups,
va i ations, etc.
reate any ot er re ations ips nee e to support re erentia integrity an unctiona
epen encies
e-point t e inter ace e at t e new ata e
(a) Make a copy of the Interface File (IF 1). The copy will be referred to as IF 2. Put IF 1 away for
ater use.
o i y
i e ete a t e scripts
ii e ete a t e ayout contents, not t e ayouts t emse ves.iii e-point t e e re erences at t e new conso i ate ata i e
(iv) Remap Table Occurrences to the correct tables.
v epair re ations ips. se t e grap in or comparison.
c mport a t e scripts ac into rom
(d) Paste all layout contents from IF 1 to IF 2.
(i) Re-create the tab order
ean up remove importe rom script names, etc.
ep oy – ta e oint
ppen x: e a er ro e ement mapp ng ru es.
en you move i e a er ro e ements suc as ayouts, scripts, or ca cu ations rom e to e or even in t e
same e , i e a er ro tries to reso ve any epen encies y name, not y as was sometimes t e case in
FileMaker Pro 6. This only applies to the process of bringing elements in. Once the elements are in place, IDs are
use to maintain t e in s.
page 105
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 107/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
is is simi ar to t e process o oo ing up a ontact y using ontact ame in an nvoice. e ontact ame
is use to n t e ontact w en t e recor is eing e ite , ut it is t e ontact t at is use to maintain t e
re ations ip.
For example, when a script is imported it finds all the fields, layouts, and table occurrences it needs by name. Once
it n s t em it uses t e i e a er ro interna o eac e ement to in t em toget er. t ere are two ayouts
or scripts wit t e require name, t en t e rst one is use . e same ru es app y to copying an pasting ayout
contents an copying an pasting e ca cu ations.
ne exception in t e i e a er ro e ement mapping ru es is w en importing scripts t at contain t e er orm
Script script step. From FileMaker Pro 8 Help:
en importing scripts t at contain t e er orm cript script step, t e in etween scripts wi e retaine
ony i t e in e scripts are importe at t e same time. a script wit t e same name is a rea y present in t e
target e, no attempt wi e ma e to in etween t e two scripts. t e er orm cript script step re erences anexterna script, t e importe script wi a so re erence t e externa script.
e consequence o t is is t at re erences to pre-existing scripts in t e same e wi nee to e reconnecte
manua y.
out t e aut or
i e oing enetics researc in , o eist got oo e on ata ase esign. e e t aca emics to orm a
i e a er eve opment company in . n arc , e joine ew i ennium ommunications w ere e
is now the senior software architect. Todd was the lead designer of Genesis Business Operating Environment®
. . o was a so t e ea esigner o two o t e most popu ar eve oper too s: asswor ministrator an
cript rganizer.
page 106
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 108/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Case Study: Migrating Using the Hub & Spoke Approach
verv ew
e purpose o t is paper is to provi e an overview met o o ogy t at wi e p current i e a er ro users
upgrade their system to FileMaker Pro 8 using the Hub & Spoke Approach (HSA). This paper does not provide a
step- y-step instructions ut rat er a concept overview or t is approac .
any o t e ene ts o i e a er ro cannot e ac ieve t roug conversion a one. n a ition, maintaining
severa comp ex re ations ips grap s in many es can e i cu t. ince many companies o not ave t e time
or resources to invest in re ui ing a so ution rom scratc , t is paper wi provi e gui ance on ow current
users can convert their files and then implement a series of changes in order to take advantage of the FileMake
ro new e structure on an as nee e asis.
et o o ogy: e u po e pproac
In many solutions there is one file that contains the bulk of fields, layouts, and scripts. We call this file the “Hub”.
The hub presumably contains 75% of the programming logic, interface, scripts, etc. The other files may contain a
great ea o ata, ut a esser eve o comp exity in terms o e s, scripts, an ayouts an are consi ere t e
po e es. n comp ex so utions, t ere may e many natura u s wit in a system.
e goa o t e u an po e pproac is to convert a t e es, an t en wor to recreate t e po e es
as new ta es in t e u . ome a vantages o t is approac are t at your system wi e easier to maintain,
that you have fewer files in which to manage accounts and privileges, and you can take advantage of modular
scripting an ayout tec niques in i e a er ro .
n a ition to ac ieving t e ene ts o aving a many ta es per e arc itecture, we expect t e step- y-step
nature o t e approac wi provi e a via e an sca ea e met o or companies to imp ement c anges over
t me.
ase tu y: ontact anagement ata ase
e ave se ecte a simp e t ree- e contact management system or our examp e. is system inc u es a
ompany e, a re ate ontact e an a re ate og e.
page 107
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 109/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
or users w o just o a straig t conversion to i e a er ro t eir arc itecture wou oo i e t is:
ompany. p ompany. pontact. p ontact. p
og. p og. p
or users w o convert using t e u & po e pproac t eir converte so ution wou resu t in one e wit
mu tip e ta es an oo i e t is:
BEFORE CONVERSION AFTER CONVERSION
ompany. p ompany. p- a e u : ompany
-Table 2 (Spoke): Contact- a e po e : og
ontact. p
og. p
re-convers on act v t es:
s wit any conversion, t ere are a num er o steps you s ou ta e e ore converting your es. ou wi
also need a copy of FileMaker Pro 8 Advanced and New Millennium’s MetadataMagic. Some pre-conversion
suggestions inc u e:
. a e a ac up o your origina es.
. Make sure the passwords in each file are consistent and case sensitive (i.e. make sure there are no instances
o aster passwor an master passwor as i e a er ro wou recognize t em as two unique
passwor s.
3. Remove unnecessary field definitions, scripts and buttons (layout #125, layout copy 2 etc.). This is a small
solution so cleanup is easy. In the case of extremely complicated solutions, or solutions where you are not
sure i certain e s or ayouts are sti in use, o not e ete t em.
. un t e using i e a er eve oper .
. un eta ata agic
6. Run MetadataMagic’s File Reference Fixer to clean up relationships.
page 108
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 110/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
onvers on:
nce you ave o owe any pre-conversion activities, we suggest you per orm an a p a conversion.
you ave a ot o ata in t e es, ma e a c one an convert t e c one. ssentia y, run your system t rougthe converter first, review the conversion log file, and then run the DDR. Your goal is to identify any issues
that should be handled before conversion such as unnecessary relationships. For example, you may have
re ations ips pointing to es you no onger use, or unnecessary up icate re ations ips.
nce you ave c eane up your es, convert t e es wit a t e ata in t em. is may ta e onger t an t e
initia conversion. is is an important step since you wi nee to import ata rom externa es into your new
interna spo e ta es.
om n ng a es nto t e u
e asic process o recreating ta es in t e u e invo ves creating t e ta es an e e nitions, resettingt e re ations ips an va ue ists, recreating ayouts an re oing scripts an uttons. e sure to ma e ac ups at
every stage of the conversion. That way you can roll back to prior changes if you make a mistake.
e o owing is an exampe o t e steps ta en to com ine t e ontact an og ta e into t e ompany e. e
wi e provi ing up ates an more etai s to t is approac via our we site www.moyergroup.com .
. e ore converting our es, we i enti e t e ompany e as t e u . e i enti e t e ompany e
because it had the most fields, layouts, and more complicated scripting than the Contact or Log file.
. nce we i enti e t e u e, we printe out t e e e nitions or t e spo e es. n t is case we
printe e e nitions or t e ontact e an t e og e.
. ext we ma e a unctiona re erence ist o ey eatures t at t is system must inc u e. is ist wie use to up ate an test t e converte system an inc u e items i e create new contact, searc or
up icates, create a e s, etc. epen ing on t e num er o users an t e overa comp exity o t e system, t i
ist cou e quite ong. n ot er so utions, i e our contact manager, t e ey is to ma e sure you ave a ist o
objectives to test at the end of your conversion.
reate new ta es
sing your printe e e nitions, create a t e e names rom t e ontact e eing sure to use t e exact
same naming conventions. t t is time, t e goa is to create a t e e names text, ate, num er ut not
e ne any ca cu ations, oo ups or auto-enter va ues. ese e nitions wi epen on re ations ips t at we wi
ui in t e next step.
page 109
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 111/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
eset ta e re erences
ow t at you ave create new ta e occurrences s , you nee to repoint t e existing externa ta e
re erences to t e new interna s. en you create t e new es, new s were create on t e re ations ipgrap . o not e ete t ese s at t is time.
. e ect externa .
. opy t e name.
. e irect t e to use t e interna ta e.
. aste t e origina name t is wi e p you in accurate y recreating your ca cu ations an scripts .
. necessary, reset t e matc e or t e re ations ip un ess e s ave een create wit t e exact same
interna i e a er s t e e s wi not matc
. s to re ect re ations ips in t e spo e es i.e. t e ontact e points irect y to t e og e.
omp ete e e n t ons
ow t at t e re ations ips are create , you nee to comp ete a t e auto-entry unctions an ca cu ations so
t ey are ase on t e appropriate interna e re erence. se your e print out i you ma e a .p you can
copy an paste e e nitions into t e new e . e care u to se ect t e proper w en writing ca cu ations.
mport ata
e next step is importing ata rom t e externa es into t e new interna es. n or er to import ata you
nee to e on t e ayout wit t e proper context i.e., you must e on a ontact ayout to import contactin ormation .
or arger so utions, an or so utions t at are ive, you wi want to eve op t e new version in c ones, convert
t e ata w en t e new system is rea y, an import t e ive ata into t e new so ution.
opy an p ate ayouts
en copying an pasting ayouts etween externa an interna es e sure to set t e context or t e ayout. n
important tip is t at w en copying an pasting ayouts, t e ta e re erence names in t e externa e must matc t e
interna re erence names. at way you wi not ave to reset t e e names w en t ey come over, it is important
t at as you copy an paste ayouts etween ta es, you nee to c ec a e re erences on eac ayouts.
If everything is named identically, copy and paste should resolve everything. Also note that if the scripts are in
p ace wit t e same names e ore pasting t e ayouts, t en t e uttons wi reso ve to t e correct scripts.
page 110
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 112/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e suggest t e est way to up ate unctiona ity is to go t roug eac o t e ayouts in a systematic way, an
ma e sure uttons are wor ing. is wi require mo i ying an creating new scripts. s you mo i y or ma e
a new script, we suggest you segregate t e scripts t at ave een reviewe so you can istinguis scripts t at
ave een teste . ou wi n t at t e new structure wi ren er many o t ese scripts o so ete. or examp e,you only need one “Print Portrait” for all three tables. For complicated scripts you can still import them, but we
do not advise importing all scripts as many of the scripts will be rendered obsolete by the new structure.
ou wi a so nee to review an up ate va ue ists in eac o t e new ayouts.
onc us on
s a na step you wi want to review your unctiona re erence ist to ma e sure a t e ey components o
your system are wor ing correct y. unning t e using i e a er ro vance is a so an exce ent way
to review t e new system structure.
i e t e met o ta es time t is t ree e so ution too a out t ree ours to convert an mo i y , we
e ieve t is met o wi a ow peop e to ma e c anges to t eir systems over time. e a so expect t ere to e
t ir party too s to assist in unctions suc as importing e e nitions t at wi re uce t e amount o time
nee e to create new es.
out t e aut ors
o y onno y is t e irector o usiness eve opment or e oyer roup in icago. e joine t e rm
a ter running orsen onsu ting, a consu ting rm s e starte in . ere s e eve ope i e a er ro
so utions or a variety o e ucation, a vertising, an not- or-pro t organizations. rior to starting er company,
o y was a senior consu tant or rnst & oung w ere s e gaine cross-in ustry experience in nancia an
wor ow management processes. e as spo en at t e i e a er eve opers on erence an was t e
technical editor for the book Advanced FileMaker Pro 5.5 Techniques for Developers.
o owers, presi ent o t e oyer roup, is t e co-aut or o t ree oo s on i e a er ro, inc u ing pecia
ition sing i e a er ro . n a ition, es a co umnist an contri uting e itor or i e a er visor
magazine, an is one o ony a an u o trainers aut orize to teac t e i e a er ro essiona oun ation
raining eries.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 113/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
The Separation Model: A FileMaker Pro 8 Development Method
verv ew
The definition of the Separation Model is an architecture that separates the data layer from the presentation
an usiness ayer s . eve opers uti ize t e eparation o e to ac ieve a variety o goa s, inc u ing;
aci itate so ution upgra es i.e. up ates wit out ata imports , impose comp ex usiness ogic an ru es,
emu ate a transactiona mo e an create mo u ar re-purposea e so utions. e new re ationa mo e in
i e a er ro , a ong wit a ost o new eatures, supports an encourages t is eve opment mo e more
t an ever e ore.
If you have a FileMaker® Pro solution prior to FileMaker Pro 8 that you plan to upgrade we recommend you
un- itc t e i e a er ro t in ing an engage in new i e a er ro so utions rom t e groun up. ere
are numerous ene ts in erent in creating t at so ution in i e a er ro using t e separation mo e , a
o w ic are est ac ieve y ta ing a groun up approac . t t e en o t e process you ave a i e a er
ro so ution optimize or your usiness an eve opment nee s; w et er t at e a mo u ar system to e
rolled out by department, or a complex system agile enough to keep pace with today’s ever-changing business
environments.
is paper presents not so muc a recipe or migrating your previous i e a er ro so utions as an in- ept
overview o a eve opment mo e t at is en ance great y y i e a er ro . variety o eve opers ave
een imp ementing t e separation mo e using previous versions o i e a er ro or a num er o years. ey
ave een creating so utions t at attempt to c assi y t e purpose o a e an assign it to eit er t e ata ayer,
interface layer, or business logic layer. The structure of files belonging to a typical SM solution created in earlier
versions o i e a er ro is out ine e ow.
page 112
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 114/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
s you can see rom t e iagram, w i e separation is t e goa , it was not comp ete y attaine . ey eatures in
i e a er ro , most nota y externa ta e occurrences an t e new re ationa mo e , a ow eve opers to
come ramatica y c oser to sai goa .
External table occurrences, new to FileMaker Pro 8, allow one file to access the contents of another file as
t oug containe wit in t e current e. is means t at we can e ne a ata ta es in one e an , t roug
externa ta e occurrences, access t ose ta es in a separate inter ace e. xterna ta e occurrences o notrequire t e eve oper to esta is a re ations ip etween t e oca e an t e externa e in or er to gain
access to t e externa es ta es an ata. at er, once a e re erence is esta is e , t e oca e as t e
a i ity to uti ize any ta e wit in t e externa e in exacty t e same manner as a oca y e ne ta e wit t e
exception of defining fields, this can only be done in the local file.) So now a local file can contain a list view, not
on y a porta , o ata rom an externa e.
ecause externa e re erences o not require a re ations ip t ere is no nee to create any ta es or e s in
t e oca inter ace e. e i ustration e ow is an examp e o w at an so ution, w ic meets t e same nee
an soves t e same pro ems as t e typica soution esigne in ear ier i e a er ro versions, mig t oo
like when created in FileMaker Pro 8.
page 113
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 115/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es page 114
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 116/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
s we come c oser to a comp ete separation o t e ata, inter ace an usiness app ication ayers, we reap
more o t e ene ts mentione ear ier an are a e to everage our eve opment e orts over more projects.
Prior to beginning an explanation of solution modeling using the new FileMaker Pro 8 new relational model it is
critica t at t e rea er ave a un amenta un erstan ing o t at mo e . ease ta e time to rea an ecome
ami iar wit t e i e a er e ationa o e oun in t e secon c apter o t is ocument. e strong y
encourage a eve opers to earn an un erstan t e new app ication prior to aunc ing any new eve opment
pro ects.
e rocess
Phase 1: Analyze the solution
ti izing your eve opment ocumentation, t e i e a er eve oper ata ase esign eport, or t ir -party
pro ucts suc as eta ata agic, rus ire, or na yzer review t e entire structure o your so ution. or
additional information regarding third-party products visit http://www.filemaker.com/products/third_party.html
Preliminary Review
eview t e so ution wit ey users or ot er eve opers in or er to i enti y e s, ayouts, scripts, an ot er
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 117/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
unctiona ity t at are no onger require y t e so ution. e re er speci ca y to t ose e ements no onger
use ; ayouts create or a speci c purpose or person w ic no onger exist, a an one e s an scripts.
an one unctiona ity is c utter an may resu t in migration o more eatures t an necessary.
Create a Data Dictionary
The goal in your data layer is to slim the files down to the extent possible to contain pure data. Therefore, to
egin, stu y your es e e nition ists i enti e as containing ata. enti y an categorize your e s as
note e ow. it t e exception o retaining t e ogic e in reporting summaries, w ic wi e migrate to a
reporting e in t e usiness ayer most o t e i e a er ro centric t in ing e s wi e e iminate .
ata
• pure ata – text, ate, num er, etc
ear in min t at you may ave p ain text or num er e s t at are o ing erive ata; ata t at
was ca cu ate in a usiness ayer an store in a text or num er e .
• eys
usiness ogic
• erive ata – ca cu ate resu ts suc as exten e price
• summary
• session contro s
nter ace
• any e s use or t e so e purpose o presenting ata status current recor , status current oun
count)
i e a er ro centric t in ing e s
• ey e s use to pipe ata t oug t ere may sti e a nee to pipe ata
• e s use to isp ay or searc ata rom anot er e unstore ca cs, oo ups
• re un ant ata entry e s or trac ing mo i cations an contro ing recor commits
• parameter passing
is process is more quic y accomp is e i you a ere to a naming convention. urt er in ormation regar ing
naming conventions is o ere y ore o utions: ttp: www.coreso ut ons.ca
Security
eview an un erstan t e security structure in t e so ution es. eassess t e security requirements or
the solution in order to determine if this structure forms an appropriate base to utilize in your FileMaker 8
es. e security mo e in i e a er ro is vast y improve an ictates t at you re-engineer your security
imp ementation. ee pgra ing to i e a er ro : ow to emp oy t e new, a vance ecurity system y
teven . ac we or an in- ept iscussion.
Functional Specification
Refer to the original ‘needs analysis’ documentation or review the solution with key users in order to re-
esta is your un erstan ing o t e usiness requirements or purpose t is so ution is esigne to a ress. oo
page 116
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 118/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
o ten we, as eve opers, a into t e a it o ui ing a etter mouse trap w en in act t e mice are ong gone
an t e purpose o t e trap to ay is to support t e wo y ta e eg. econnect wit t e pro ems t is so ution
was origina y esigne to so ve so t at, moving orwar , you can app y i e a er ro in t e most appropriate
manner– eaving e in t e wor -aroun s.
Phase 2: Select Data Model and Design Entity Relationship Diagram
it our ata e s i enti e in ase you can more easi y egin to esta is a ata mo e or your so ution.
e recommen you start y arranging ata e s into ta es, our goa is to ac ieve a norma ize ata structure
w ere ta es contain on y ata e s wit re ate attri utes. e c a enge ere wi e to approac t is tas
wit out imposing constraints an assumptions require y ear ier versions o i e a er ro ut no onger va i
n t e past, ata mo e s nee e to e coerce into a re ative y ow, xe num er o ta es. or a practica
purposes those constraints have now been eliminated and our architecture should reflect this.
nce we ave esta is e our ta e structure we can a ress t e p acement o ta es into es ata ases. is
step was unnecessary in previous versions as es were, y e nition, equate to ta es. n i e a er ro weave t e possi i ity to create one e, or ata ase, w ic contains a o t e ata ta es our so ution requires.
e actua imit o ta es a owe in a e is , , .
a ing t e approac o p acing a ta es in one ata ase wi simp i y great y t e creation o our so ution. ne
a vantage is t e security sc ema or our ata mo e wi nee ony to e create an maintaine in t is one
ata ase. not er a vantage is t e creation an maintenance o our re ations ips grap s . e ations ips grap s
wi e necessary in t e ata e s to provi e context or any require ca cu ate e s. e ations ips grap s
are a so require to en orce re erentia integrity, t oug as we wi see ater in t is ocument, t ere is no
requirement that this graph be placed in the same file/database as the tables themselves.
owever, t ere are severa actors w ic may recommen more t an one e ata ase e use in a ata mo e
or examp e, i you inten to ep oy a mo u ar so ution in w ic your c ients ave t e option o purc asing
certain mo u es, t e so ution mig t e etter serve to mo u arize t e ata es as we .
If a solution will be shared by multiple users and employ the features available in FileMaker Server 8 or
i e a er erver vance e aware t at ac ups are per orme on a e- y- e asis. o, i your so ution
contains ig y vo ati e ata t at requires requent ac ups, as we as re ative y static ata t at may suggest a
perio ic ac up, it may e pre era e to ivi e t ese ta es into i erent ata ases in or er to meet t e nee s
o t e so ution more appropriate y. so, a time may come w en we wis to up ate t is e y rep acing it wit
a new version. at up ate process wi require t at a ata ta es e importe into t e new e.
Understanding that it is possible, but not necessarily preferable, to have all data tables in one file we are
presente wit t e c a enge o etermining t e appropriate num er o es or our so ution. i e ourinc ination is t at it wi ma e sense or our ata es to inc u e groups o ta es, t ere is a so a sc oo o
t oug t w ic suggests we may, in t e en , pre er to assign eac ta e to its own e. ime an experience
s ape est practices in t is area. e imit o es oste on a sing e i e a er erver may e a actor
in some circumstances. egar ess o t e num er o es in t e mo e we se ect, ata ousing is t e primary
purpose of the files.
page
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 119/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
nce we ave etermine t e appropriate ta e an e ata ase structure or our so ution we must
etermine t e appropriate ocation o t e re ations ips grap s t at wi en orce re erentia integrity. is is t e
grap s t at imposes t e e ete ru es or your ata structure. s t ese ru es an associate grap s are a ey
component o your so ution, care u t oug t an consi eration s ou e given to p acement. urrent y t ere isno ‘best practice’ recommendation however, we encourage you to consider the following:
• re ations ips grap can e compose o ta e occurrences s rom oca ta es, externa ta es, or any
com ination o t e two.
• Regardless of the location of relationships graphs that contain the delete rules for your solution, these rules
wi e impose i t at e is open.
• ne way to require t at t e e containing t e ru es or re erentia integrity e open is to p ace a o a
ta e rom t at externa e into eac o your inter ace es an re erence t at wit a an ayout.
This table need not have any defined fields).
earing in min t ese points, we i e t e i ea o p acing a groupings s t at en orcereferential integrity in one location so that we can get the ‘big picture’ and review and
maintain t is in one p ace.
Phase 3: Select Interface Model
t is possi e to create a i e a er ro ata ase t at contains no oca y e ne ta es. e re ations ip grap
in t is e can e popu ate wit ta es ase in externa es. e s on t is grap unction just as s ase
on locally defined tables. (The only indication that a TO is attached to an external file rather than the local file
is t e ont sty e o t e name o t e ; regu ar = oca, ita icize = externa . e ations ips can e esta is e
etween t ese s t at en orce unctiona epen ency an re erentia integrity as we as speci ying a sort or er.
en ayouts are create you are require to speci y a w ic wi provi e t e context or t e ayout.ontext e nes t e ta es t at wi e avai a e to t at ayout or e an porta p acement, as we as t e pat
that will be used in order to view related data. It is important to note that layouts (and layout elements such
as e s, porta s an uttons attac e to s associate wit an externa e wi e ave in exacty t e same
manner as s associate wit a oca y e ne ta e. is means ist view, ta e view an n mo e, in a ition
to a menu comman s suc as new, e ete, up icate, sort etc. o now we can ave a e t at contains a o t e
user inter ace e ements native to i e a er ro es wit out t e e containing any ata.
In the past it was common in a SM solution to keep all interface interaction in one file. This decision was driven
in arge part y constraints in previous versions o i e a er ro t at are no onger app ica e. revious y it was
extreme y time intensive an te ious or a eve oper to port unctiona ity rom one e to anot er. n i e a er
ro imports o scripts an pastes o ayout o jects are now reso ve y name, simp i ying t e process o
trans erring comp ex ayouts an scripts rom one e to anot er.
What does this mean to our interface model? It is now feasible to consider using multiple interface files
which interact with the same data file(s). One might choose to create separate interface files for different
epartments, i.e. accounting, sa es, an s ipping mig t eac ave t eir own unique e s . r a eve oper may
page 118
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 120/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
c oose to imp ement i erent versions or eature sets in various inter ace es, or examp e emo, ig t, u , an
we . ac o t ese options represents a i erent inter ace mo e . e common t eme among t ese mo e s is
t at in every case ata is store in e s outsi e t e e s provi e or user interaction.
It will be up to the developer and the business requirements to dictate how many interface files should be
used for any given solution. There are pros and cons associated with using multiple interface files or attempting
to constrain a user interaction to one e. or examp e t e re ations ips grap create in one e is not
accessi e y anot er e. o, i you ave severa inter ace es t at require t e same ta e occurrence groupings
you wi nee to create an maintain t ese in ot es. n t e ot er an , i you ave a comp ex so ution you
may n your re ations ips grap exten ing eyon your organizationa t res o . reating a itiona inter ace
e s to a ress speci c areas o your so ution may provi e you wit a greater a i ity to manage an contro
your solution. Therefore it is imperative that the developer considers carefully the advantages that multiple
inter ace es mig t o er.
Phase 4: Select Business Logic Modelicroso t s e nition o t e usiness ayer, or usiness ogic, seems quite simp e to grasp upon rst us ;
“The business layer implements business rules by checking limits, validating data, and providing calculated
or summarize ata, etc. 1 owever, t ose new to imp ementing t e wit i e a er ro o ten n it
c a enging to un erstan t is ayer. is is ecause muc o w at wou e c assi e as e onging to t is ayer
in a tra itiona is part o t e unctiona ity ui t in to i e a er ro. ecause many o t ese eatures are
simp y t ere, we as i e a er eve opers o ten ten to menta y group e ements rom t is ayer into eit er t e
ata or inter ace ayer.
ou may not t in o it as suc , ut usiness ogic a rea y exists in your ata ase so utions. ie va i ation,
va ue ists, summaries an summarize reports are e ements o t e usiness ayer. a cu ations use to
erive use u ata as we as t e ru es governing ow users wi access an view ata are a usiness ogic. e
i e a er ro n mo e is anot er examp e o usiness ogic wit in t e app ication. eve opers may en ance
t is ogic y app ying usiness ru es to ayout o jects, e e avior options or examp e.
If we understand that the business logic layer includes those elements that will enforce the structure, rules and
or er require y organization, an t at many o t e eatures we ove a out i e a er ro ro t ese e ements
into t e e structure, w y wou we want to even consi er t is as a separate ayer
e separate usiness ogic in or er to re-purpose co e, en ance mo u arity, provi e a more uni e
un erstan ing o a process, an to ease maintenance an uture eve opment e orts. usiness ogic e ements
inherent in FileMaker Pro features that provide no true benefits if separated are not candidates for
exp icit separation.
e extent o separation o usiness ogic rom t e ata ayer an presentation ayer epen s upon many
actors. irst, t ere are certain in erent i e a er ro provisions t at typica y are not separate . ie
va i ation eing t e topmost eature an wou on y e separate or t e most regu ate environments.
Calculated data may well reside in the data layer, even though it is more appropriately separated. Calculated, or
erive ata, e s are an examp e o w ere exp icit separation may not e recommen e , ut we can imp y
page 119
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 121/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
separation y uti izing naming conventions an e ea ings in our ta e structure. ee t e na section o t is
ocument or an a vance treatment o separating erive ata.
ome va ue ists are more appropriate y e ne in t e presentation ayer w i e ot ers mig t ene t yseparation into the business logic layer. For example, the value list for a contact salutation (Mr., Mrs., Ms,
Dr) is not a list that changes or requires frequent modification. As such, it is a safe bet to define this list in
t e presentation ayer. va ue ist or epartments wit in a company, on t e ot er an , is in constant ux.
epartments are p ase out, rename an com ine . is ist wi e etter manage as a ta e o in ormation
separate in t e usiness ayer.
oving va ue ists rom t e i e a er ro app ication eature into a ta e is one examp e o usiness ogic
stored in table format. There are many others such as: user preferences, graphic resources used by interface
e ements, oca ize text or ia ogs store in ta es, an text strings use y p ug-ins. t is important t at
we egin to recognize an categorize t ese types o ta es as part o t e usiness ayer rat er t an o jects
e onging to t e ata ayer.
e va uate unction in i e a er ro a ows a ca cu ation to re erence a textua representation o t e
formula that resides in a text field in a table. Using this feature it is possible for a table to store some of your
ca cu ation ogic. is ormu a wou e avai a e to e s using auto-entere ca cu ations, ca cu ation e s an
script steps. y p acing a ormu a in t e usiness ogic ayer you can programmatica y mo i y it or a ow users
access to e ne or mo i y t is e un er very contro e con itions.
i e a er ro provi es convenient met o s or searc ing on any ayout. ince t e eve oper as t e a i ity
to lock fields down for entry or for searching, the rules of business are embedded in the presentation layer.
our so ution may ene t y eeping t e searc process in t e presentation ayer. n t e ot er an , t e
usiness ru es o searc ing may e more easi y manage w en separate rom t e presentation ayer.
ow o we eci e w en to exp icit y separate usiness ogic e ements o ution upgra es an maintenance
rive t e most o ten-separate usiness ogic e ements. ou can re uce t e amount o eve opment time an
impact on the user by separating functions that are prone to frequent development changes.
e usiness ayer e ement most o ten separate is t e reporting e. eporting es are popu ar or
eve opers as we as more tra itiona i e a er eve opers. eporting es eep comp ex ayout structure
out o your ata es. ou can up ate a reporting e an easi y swap it out wit out isrupting t e use o t e
ata ase system. ou can provi e a reporting e or a oc reporting w ic a ows users to create t eir own
reports wit out giving t em access to your more sensitive es.
isp ay e ements are o ten containe in separate es. or examp e, t e m pro uction company mig t create
a ges t at isp ay a ue or er or t e internationa crew, a re or er or t e oca crew, an a green or er
or t e company sta . ese are inter ace e ements t at o ow gui e ines o t e usiness an typica y are
separate rom t e presentation ayer or ease o maintenance.
Even searching is becoming a more popular function to separate from the data and presentation layer. Providing
t e user wit a convenient one-stop s op or searc ing a ist o e s over a comp ete set o ta es is on y one
reason to separate t e query process. t a so re uces t e amount o ogic you nee to maintain t roug out
page 120
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 122/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
t e presentation ayer. ou o not ave to ensure t at va ue ists are accessi e on every ayout in w ic a e
mig t e searc e or t at certain e s are s ut own or searc ing. ou can create more easi y maintaine
ru es or personne access. searc es are create rom a sing e screen, searc es can e save , e ite an
viewe in a more rea a e ormat. e query engine can port rom one so ution to t e next. n mostimportantly, the query process is available for modular solutions.
n or er to create mo u ar so utions or a so ution t at is re-purposea e, t e usiness ogic must e separate
to a greater egree t an t e sing e-use custom so ution. magine creating a so ution or a c ot ing manu acturer
an y c anging a an u o e vaues in a usiness ogic e t e so ution is on its way to ecoming use u
or an interior esigner. is is t e concept e in re-purposing a so ution. contact manager project
management invoicing system is a prime examp e o a so ution t at oug t to e re-purposea e. e asic
functions are the same but the names and rules change. By isolating categories of contacts, discount rules, and
project types in a usiness ogic e, you can itera y c ange t e names to re-purpose a so ution. is is a it o
oversimp i cation, as t ere is a ways a eve o customization require in re-purposing a so ution, ut your core
wor evo ves to ene t a so utions. is is especia y attractive or t e upgra e pat o your existing customers.
mo u ar so ution uti izes an arc itecture t at is ig y separate . num er o presentation es access
the same core set of data files and similarly a core set of business logic files. Modular solutions are attractive
or t e arge wor group situation in w ic mu tip e epartments, eac wit its own require unctiona ity,
access an manipu ate ata, ut or w ic t e ata ru es are not c ange across epartments. aintenance is
simp i e , upgra e pat s are more easi y manage an u gete , user oa s are eve e an teams o eve opers
can wor more in epen enty.
There are also special cases in which business logic will be separated to a great extent. Consider the regulated
industries that answer to the U.S. Environmental Protection Agency (EPA). The EPA puts out regular updates
or ru es an regu ations regar ing, among ot er t ings, po ution contro imits. e ru es or va i ation o e
input are c anging a t e time. e ru es wi never app y across t e oar or every recor in t e ata ase. o
put a t at ogic in t e e va i ation area o i e a er ro is unwie y. n t is case, t e usiness rues or
va i ation wou e etter manage outsi e t e in erent i e a er ro e va i ation area.
A careful review of the needs for field validation, value lists, reporting, calculation, and the flexibility within
eac o t ose areas over time, as we as pre icting t e nee or upgra e an en ancement, a actor into your
ecision as to ow muc usiness ogic separation you wi emp oy in your so ution. o ast an ar ru es
app y an t e eve o usiness ogic separation you emp oy in a so ution to ay may i er signi cant y rom t e
eve o t e next so ution you ep oy.
Phase 5: Create your Data file(s) and tables
ou wi uti ize your up ate ata ictionary, prepare in ase , to create t e requisite ta es an e s.
t rst, w en mo e ing an initia y imp ementing t e so ution arc itecture, ony t ose ey e s necessary
or re erentia integrity s ou e create . n t e e s in w ic you ave eci e to ocate t e unctiona
epen ency re ations ips, imp ement t e re ations ips grap , a ing a necessary e re erences, ta e
occurrences, an re ations ips.
page 121
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 123/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Phase 6: Create Interface and Business Logic Elements
is is t e su stantia p ase w en we create e s, ta e occurrences, re ations, ayouts, an scripts t at wi e
use y t e in ivi ua s in t e organization to interact wit t e system.
Phase 7: Import Data and Test
nce you ave migrate a e ements o your existing so ution into t e new i e a er ro ormat you wi
want to import your existing ata into your new so ution an t oroug y test unctiona ity.
eatures t at upport t e o e
ome o t e ey concepts in erent in t e new arc itecture an unctiona ity are:
a visi e an e ita e e re erences
externa ta e occurrences
c mu ti-ta e re ations ip joins – mu tip e pre icates, re ative operators script parameters
e) security / privilege set features
f) locking and committing records
g porta ranges
t e va uate unction an custom unctions
i mu tip e win ows
n erstan ing an uti izing t ese new i e a er ro eatures e ective y wi pro uce soutions t at come
much closer to meeting the goals of separation and with less development time than in previous versions of
i e a er ro.
s we ave seen in t e previous section, externa ta e occurrences, a new concept intro uce in i e a er ro
provi e a uge step orwar in supporting t e separation mo e .
The features of the new relational model eliminate a myriad of previously necessary FileMaker Pro elements
suc as ca cu ate matc eys, mu ti- eys, an externa ca s to t e ata e to searc an return resu ts. is
is a uge step orwar or eve opers w o ave use t e in t e past an so ves some o t e stic iest issues
encountere y t ose eve opers.
n t e past eve opers ave create ig y contro e an scripte so utions. i e some o t is may no
longer be required, many scenarios will persist that necessitate solutions to rely on a heavily controlled and
scripte environment. cript parameters, a new eature in i e a er ro , a ow more script re-use an i
use e ective y, wi re uce t e num er o scripts in your so ution. e script parameter eature a ows you to
pass a ca cu ate parameter to any er orm cript step – eit er irect y rom a utton or wit in a script. or
examp e, i you ave a string o uttons, eac in ing to a etter in t e a p a et, instea o creating scripts,
you can create one script an ave eac utton pass t e appropriate etter o t e a p a et to t at script.
page 122
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 124/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e new account ase security mo e an increase granu arity provi e y t e new mo e wi a ow
eve opers o ig y contro e so utions to re y on ui t-in i e a er ro security to contro many actions
w ic previous y wou ave require comp icate scripting an eve opment.
n i e a er ro recor oc ing an committing as move c oser to a transactiona mo e . user can now
enter a field (for example to copy a name to the clipboard) without establishing a record lock. Record locks
are not esta is e unti ata as een e ite . e process o committing recor s as a so een mo i e an
re uces t e nee to use g o a s an a itiona ayouts or ata entry in ig y contro e environments.
it t e a i ity to set ot t e initia porta row to e rawn an t e num er o su sequent porta rows,
eve opers s ou e a e to e iminate muc o t e wrang ing one in ear ier versions wit matc eys in or er
to ac ieve certain e ements. goo examp e w ere t is eature simp i es t e inter ace is t e ca en aring
interface, where the user wants to quickly page down to the next day/week/month.
e new eva uate unction as we as t e a i ity to create custom unctions using i e a er ro vance wi
exten t e possi i ities or separating usiness ogic rom t e ata an presentation ayers. ese eatures area so ey p ayers in separating erive ata t at is iscusse at t e en o t is ocument or t ose w o want to
ta e separation a step urt er.
e a i ity to ave mu tip e open win ows or a e is t e crowning g ory or e iminating t e passing o oun
set resu ts, ata entry, an a universe o possi i ities upon w ic we may not ave a comp ete grasp.
e ore you can i enti y ow t ese e ements est en ance t e structure an unctiona ity o your so ution a
care u review o t e arc itecture an presentation nee s o your system is necessary.
urt er oug t: er ve ata
or ing in i e a er ro, eve opers are o ten u e into e ieving t at t e est o ten ony p ace to store
erive ata is wit in t e same e ta e as t e ata upon w ic t e ata is ase . or examp e a ine tems
table might contain the fields ‘quantity’ and ‘selling price’; the question of where to place the ‘extended price’
e is rare y ma e. e i e a er ro app ication inter ace imp ies t at t e est soution is a ca cu ate e in
t e ine tems e. owever, t ere are various situations t at suggest t at a more appropriate storage space or
t is type o ata is a separate ta e. is concept existe in t e i e a er ro eve opment arena or severa
years, most nota y represente as a reporting e.
e new re ationa mo e in i e a er ro a ows us to separate erive ata rom ata ta es more
effectively. So when we discuss selecting a data and business logic model we need to bear in mind that we are
ma ing a etermination a out p acement o erive ata e s.
easons or separating t e in erent i e a er ro usiness ogic rom t e ata ayer e.g. ca cu ations,
summaries, auto-enter eatures, an e va i ation wi epen on so ution requirements an may inc u e
any o t e o owing; ta e an ogic up ates, maintenance, mo u arity, so ution re-purposing, per ormance an
page 123
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 125/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
security. e can t imagine a so ution t at oesn t use e va i ation an ca cu ation to some extent ut t ere
are compe ing cases w ere separation proves use u .
wo examp es are presente e ow, t ese are neit er ex austive nor in ivi uate . at er t ey are presente inor er to i ustrate an escri e various met o s w ic i e a er ro ena es eve opers to consi er w en
architecting new solutions. We will discuss some of the pros and cons inherent to each method. It is assumed
t e rea er wi se ect t ose e ements rom eac w ic appy most appropriatey to t eir speci c situations.
om ne ata an er ve ata
is structure wi e most ami iar to eve opers an p aces ata an erive ata e s in t e same ta e
within the data file(s). Derived data is achieved using calculation fields or posted to fields (text/number/date/
time etc. , in w ic case, it is presume t at t e usiness ogic ayer is per orming t e requisite ca cu ations an
posting t e resu ts in t e ata ta e.
i e t is is t e most straig t orwar mo e , an or t at reason may e t e most common y emp oye , we
suggest t at t e appropriate type o erive ata to e inc u e in t is met o are t ose o an en uring nature
If the business rules applied in the calculation are not likely to be modified throughout the use of the solution,
u name or examp e, we wou categorize t is as en uring. ease note in t e i ustration e ow t at even
t oug we ave com ine e ements o t e usiness ayer erive ata into t e ata ayer we are imposing
imp ie separation on t e e s y uti izing e ea ers an naming conventions.
PROS:
is met o is most easi y an quic y un erstoo .
CONS:
n or er to a ow someone to e it a ca cu ation e , access must e given to t e e ne ata ase ia og.
page 124
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 126/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
eparat on o er ve ata
is structure p aces ata an erive ata in separate ta es t at exist in separate es ata ases . e
i ustration e ow s ows an examp e o erive ata t at mig t e cacu ate an store in a separate ta e, int is case t e nv tem pt ta e t at is ocate in anot er ata ase e.
is mo e a so as two variations; one t at uses tra itiona ca cu ation, or auto-entere ca cu ation, e s tostore t e erive ata, an one t at re ies on unctiona ity avai a e in i e a er ro to store t e ca cu ation
equation as ata in a i e a er ro ata ase. is secon met o ma es extensive use o t e vauate
unction to store ca cu ation equations in a ta e o usiness ogic.
Utilizing the “Evaluate” function to store calculation equations will certainly carry with it restrictions and
imitations. t is sti too ear y to ma e speci c recommen ations wit regar to w en t is eature wi e most
appropriate y use ; owever, it appears to e a very va ua e eature.
PROS:
average users wi ave access to sort an export ata e s, t is structure cou simp i y t ese ia ogs.
Separation of business layer elements from data layer.
i ity to programmatica y c ange usiness ogic.
CONS:
ore t oug t require to set up.
Further Thought: Data Modeling for Modularity and Re-Purposing
e concept o re-purposing a so ution ranges rom t e re-use o core es an co e rom one project to
anot er to a comp ex so ution t at is so incre i y exi e in its esign t at y c anging content, it can e
ep oye or a variety o c ients. is is not t e same as a vertica mar et so ution, ut reaps some o t e same
ene ts – upgra e pat , increase pro ts. e more usiness ogic is iso ate into its own ayer, t e c oser t esolution becomes to becoming re-purpose able. Modular solutions also employ a core set of data and business
ogic es va ue ists, searc engines, erive ata an navigation pointers t at are accesse y mo u ar
presentation usiness ogic e ements.
page 125
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 127/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ne examp e o t is structure iso ates a core grouping o ata e s t at orm t e ac one o ot er so utions
t e eve oper inten s to create. y iso ating t ese e s in eac so ution t e eve oper can easi y an quic y
re-purpose t em or a variety o i erent so utions or i erent c ients.
PROS:
ig y re-purposea e.
Upgrade path across client base.
i ity to create emos quic y.
ore rapi eve opment.
CONS:
ot as easi y un erstoo at a g ance , more comp ex re ations grap .
onc us on
e new re ationa mo e in i e a er ro a ong wit a ost o new eatures, contri ute to new iscussions
an possi i ities or ac ieving separation in i e a er ro so utions. e eparation o e , an arc itecture
t at iso ates t e ata ayer rom t e usiness an presentation ayers provi es eve opers wit t e a i ity to
create mo u ar an re-purposea e so utions t at re uce eve opment time an ypot etica y increase our
pro ts. eparation can a so provi e t e ata ase a ministrator wit a more exi e environment in w ic to
maintain so utions.
page 126
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 128/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
out t e aut ors
o een ammers ey is t e oun er an irector o ata aves, a i e a er o utions iance artner em er
ata aves is ocate in uttons ay, ic igan, w ere o een specia izes in using i e a er ro to provi epractica so utions to every ay c aos.
en y . ing, presi ent o ata ase ec anic in an rancisco, as eve ope custom i e a er so utions
since t e ays o i e a er . e variety o er c ients inc u es wastewater treatment aci ities, cosmetics an
c ot ing manu acturers, event p anners, an truc ing companies. en y is a ong time mem er o t e an a
contri utor to i e a er visor agazine.
(Footnote)1 Microsoft SQL Server 7.0 Server System Administration Training Kit (Microsoft Press, 1999).
page 127
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 129/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Bridging .fp5 and .fp7
or s part
FileMaker® Pro 8 is a revolutionary step forward, but it is a different piece of software than its previous
versions. i e a er ro ata ases are not compati e wit i e a er ro , i e a er ro . or i e a er
Pro 6 databases. They have different file formats. FileMaker Pro 8 cannot open .fp5 files directly nor can earlier
version open FileMaker Pro 8 files directly. You can still host FileMaker Pro 5, FileMaker Pro 5.5 and FileMaker
ro an i e a er ro ata ases on t e same networ , ut you won t see t e oste . p es in
i e a er ro , nor wi you e a e to see . p es t roug ear ier versions.
is artic e is a ig - eve iscussion o ow we mig t ri ge . p an . p ata ases. y ig - eve , mean
t at wi provi e some ac groun now e ge an ta a out concepts an strategies, ut won t go into t e
details of how you would implement these strategies. My goal is to provide information that might be helpful
towar s t e arger tas o t in ing an p anning or conversion or migration.
y ri ge n anot er context, it mig t e simp er to say s are instea o ri ge, ut t in t at t e wor
ri ge is use u ecause it rein orces t e point t at . p an . p ata ases ive in separate wor s. t its most
asic eve , ri ging means s aring ata y exporting an importing ata in a ormat t at is compre ensi e to
FileMaker Pro. At a more advanced level, bridging refers to the process of reading and writing to FileMaker Pro
ata ases in a contro e as ion to avoi up ication an error.
e ore you go a out ui ing ri ges etween . p an . p , wou encourage you u y to exp ore migration
an conversion options out ine in ot er artic es. at sai , can see some possi e scenarios w ere ri ging
mig t e a consi eration. or examp e, you mig t want to continue to use a egacy i e a er ro ata ase
solution that is being phased out even as you phase in its replacement in FileMaker Pro 8; or you might have a
i e a er ro so ution t at is current y serving a mission-critica unction suc as a ata ase ac en or awe - orm t at nee s to stay in-p ace unti it can e migrate .
timate y, w et er you want to ave . p an . p ata ases coexist is a usiness ecision. is is an important
ecision, ut ow we arrive at t is ecision is eyon t e scope o t is artic e. owever, encourage you
to consult the various articles on methodology and cost-benefit assessments if you are interested in these
iscussions.
e n t ons
page 128
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 130/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
Distributed database…
u tip e copies o a ata ase in w o e or in part insta e at various ocations
Synchronization…e process y w ic two i erent copies o t e ata ase are ma e to con orm to eac ot er
Replication…
e process o creating an exact copy o ata or a ata ase in its entirety
Reconciliation…
ecision-ma ing process in w ic two i erent copies o ata or a ata ase in its entirety are ma e to
conform or allowed to be non-conforming to each other
Race condition…
con ition w ere two or more e its are eing ma e simu taneous y to t e same ata wit t e possi i ity o
one or more e its eing ost
Data collision…
The loss of data due to a race condition
rreconc a e erences
o egin, ets ay out t e principa c a enges in s aring ata etween . p an . p ata ases:
. ncompati e e ormats. e i e a er ro e- ormat is i erent rom its pre ecessors. i e a er ro
cannot rea i e a er ro or i e a er ro e- ormats native y an vice-versa. ou can convert a
i e a er ro or i e a er ro e to i e a er ro , ut you cannot go t e ot er way.
. o irect connectivity via re ations ips. ou can ost i e a er ro an i e a er ro - ata ases on t e
same networ , ut you cannot create re ations ips etween t e two. ey can coexist, ut t ey cannot s are
ata irect y.
. o cross-version imports. t t e time o t is writing, you cannot irect y import a . p e into a . p ata ase.
you try to import a . p e into a . p ata ase, i e a er ro wi te you t e . p e nee s to e
converte rst. itiona y, you cannot import . p ata into an ear ier version s ata ase.
. anges to in i e a er ro . n i e a er ro or i e a er ro , you set up your i e a er
ata ase as an ata source t roug t e i e a er ro c ient. t er app ications t at want to
access i e a er ro ata via must go t roug a i e a er ro wor station wit t e proper
ata-access companion p ug-ins insta e . n i e a er ro , you can import ata wit i e a er ro ut
you cannot set it up to e an ata source. i e a er erver vance can e set up as an
ODBC/JDBC data source. Note: as of the publication of this document, FileMaker Pro 8 and FileMaker Server
8 Advanced can not be used as an ODBC or JDBC data source on Mac OS X.
page 129
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 131/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
. anges to we connectivity wit i e a er ro . n i e a er ro , i e a er ro . , or i e a er ro , you
can use t e we -companion p ug-in wit i e a er ro t e c ient to ma e your ata ases we -accessi e.
at is, you can pu is ata using or export ata via over t e we . n i e a er ro ,
is no onger avai a e. urt ermore, a ot er custom we -pu is ing a i ities are now supporte ony ini e a er erver vance ut not y t e i e a er ro c ient. ottom ine: i e a er ro is no onger
a data source that is accessible by plug-ins and APIs using the Web Companion. You can import XML data
wit i e a er ro via t e we ut you cannot export ata. ote t at am stricty ta ing a out using
i e a er ro to export a ta via t e we . nstant e u is ing t roug i e a er ro is very muc
a i ve an we . n act, in i e a er ro is vasty improve an signi canty more power u t at it was in
prev ous vers ons.
Bridging Strategies
we cannot connect . p an . p es irect y, w at can we o n a sense, since . p an . p es are not
entire y incompati e wit eac ot er, we ave to approac t e pro em as i t ey were i erent ata asesp at orms. n genera, t ere are t ree ways to ri ge . p an . p ata ases. ou can export an import sets o
ata etween t e two. econ , you can esta is some in o irect ata ase connection t at wi a ow you to
push bits of data between them. Finally, you can choose to synchronize or replicate your different data sources.
iscuss t ese e ow roug y in t e or er o increasing sop istication.
onvert to e a er ro an mport
The simplest way to get data from FileMaker Pro 5, FileMaker Pro 5.5, or FileMaker Pro 6 databases to
i e a er ro ata ases is to convert existing . p es to . p e ore importing t an into i e a er ro .
ince you cannot open a . p e in i e a er ro or ear ier t is isn t an i ea approac or anyt ing ut t e
most asic tas s o up oa ing ata to i e a er ro ata ases rom . p es. t t e time o t is writing, it
oesn t appear as i you can programmatica y wit a script convert . p es an save t em, so i tota -manua
operation isn t su cient, eep on rea ing.
ote
ctua y, t is isn t quite true. ou can create a script in i e a er ro to convert an existing p e ut t ere
oesn t seem to e a way to contro w ere t e converte es are save . ou sti e prompte wit a ia og
to save t e converte e to some ocation an t ere oesn t seem to e a way as o t is writing to save
wit out a ia og ox.
xport ng an mport ng v a a compat e e ormat
ata rom . p an . p ata ases can e exporte in t e o owing compati e e ormats: ta separate ,
comma-separated, SYLK, DBF, WKS, BASIC, Merge, HTML and XML. In the simplest scenario, data that need to
page 130
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 132/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e s are etween a . p an . p ata ase can e exporte rom one ata ase in one o t ose ormats an
t en importe on t e ot er en . nee e , t is process can e automate y scripts an sc e u e to
run perio ica y.
Import and export via XML/XSLT
e strengt o t e stan ar import an export approac is its simp icity. t e ata you wis to s are ave
i entica structures t at is i t ey ave same ta es an e s, imports an exports can e an e ective way o
exc anging ata. ere s a typica case:
Table 1. Students.fp5 file
Field ype
tu ent ext
ame extex ext
ra e um
ass um
a e . tu ents ta e n y c oo . p ata ase
e ype
tu ent ext
ame ext
en er ext
ra e ext
ear ra uation ext
n t e scenario a ove, importing an exporting etween t e tu ents. p ata ase an t e tu ents ta e in
t e i e a er ro ata ase, y c oo . p , is a re ative y straig t orwar matter. ey ave i entica ta e
structures even i t ey ont ave exact y t e same ata types. e cou run imports manua y in ot . p an
. p , ine up t e e s, se ect t e appropriate import or er an save our imports as scripts t at can e reuse .
owever, it is anot er matter a toget er i we are trying to exc ange ata etween i erent re ationa
structures. onsi er an import etween t ese two re ationa structures:
Structure 1. Flat file in .fp5
Table 3. Students.fp5
e ype
tu ent ext
page 131
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 133/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ame ext
ex ext
ra e um
ass um
ass ext
ass ext
ass ext
Structure 2. Relational database in .fp7
a e . tu ents ta e n y c oo . p ata ase
e ype
tu ent p ext
ame extex ext
ra e um
an
a e . tu ent asses ta e n y c oo . p ata ase
e ype
ourse um er ext
ere, simp y saving our exports in a compati e merge e or ta -separate e isnt su cient. e nee a way
to trans orm t e structure o t e exporte ata rom one ata ase to anot er. is is w ere ancome into play.
you are new to , recommen visiting entra at www. ema er.com xm . is a mar up
anguage t at escri es ata an its structure. ou can save exporte ata rom . p es an . p es as
es. i e a er creates t ese es in a ormat t at is rea a e y ot i e a er ro an
i e a er ro .
ote
you are ami iar wit t e concept o grammars, note t at i e a er ro can export ata in eit er
or . owever, i e a er ro - wi ony import ata t at as eenormatte wit . as een eprecate in i e a er ro . t exists to support
legacy functionality, but you should avoid using FMPDSORESULT when possible.
page 132
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 134/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
e eauty o t e i e a er ro import eature is t at we can te i e a er ro to trans orm a particu ar
ata e e ore importing it. e can te i e a er ro to rename e s or even to restructure t e
ata wit trans ormation sty es eets, ot erwise nown as . is usiness o trans orming ata wit
sty es eets is a so ca e .
Using XML and XSLT, we can take data from one database structure and coerce it into a suitable structure on
import. us, to so ve t e pro em a ove o importing ata etween i erent ata ase structures, we mig t
write a sty es eet to atten t e exporte ata into t e tu ent ourses so t at it can e importe nicey
into t e tu ents. p ata ase e. e catc is t at t ese trans ormation scenarios are i e y to e unique to
your . p -. p ri ging nee s. ou, or someone w o un erstan s w at you want to o as to write t ese
sty es eets or your particu ar trans ormation scenarios.
is an app ication programming inter ace or executing statements. stan s or structurequery anguage an is t e common anguage or communicating wit most re ationa ata ases. e
approach to bridging .fp5 and .fp7 databases offers a little more power over file-based import/exports at the
cost o some a e comp exity.
ou can n a itiona instructions on setting up i e a er or s aring in i e a er ro t roug t e
app ication e p system.
In FileMaker Pro 6, you must configure a copy of FileMaker Pro (not FileMaker Server) to be the ODBC data
source y insta ing t e i e a er river an t e ata ccess ompanion p ug-ins on t e computer
running i e a er ro . ou cannot con gure i e a er erver irect y to e t e ata source. ere
is a su t e i erence etween t e concept o setting up i e a er ro to access ot er ata sources
an t at o setting up a i e a er ro ata ase to e accesse as an ata source. o connect i e a er
ro to ot er ata sources, you nee to ma e sure you ave t e proper ata ase rivers an a proper y
configured data source name (DSN). DSNs are typically configured using your operating system’s ODBC
control panel or driver manager. Here is table to illustrate the ODBC capabilities among FileMaker Pro 6,
i e a er erver . , i e a er ro an i e a er erver :
a e . apa t es
FMP 6 FMS 5.5 FMP 8 FMS 8
Can be configured to be an ODBC Data Source? Y N N Y
an connect to remote ata sources via
ne a vantage o using as a ri ge etween . p an . p is t at you can import irecty rom t eFileMaker data source without first going through the intermediate step of exporting the data to an external
file. This eliminates the need for maintaining a shared file location between the two as well as the additional
scripts require to export t e ata.
page 133
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 135/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ssuming t at you ave con gure your . p an . p to e proper ata sources, you can use t e
i e> mport> ource... comman to aunc t e import ia og ox. n i e stan ar imports
etween i e a er ro ata ases, you on t ave to n t e correct set o recor s in t e remote i e a er
source e ore per orming t e import. ou can issue a statement to return t e proper recor s or importentire y wit in t e import e itse . oreover, you can write ata to an externa ata ase in an incrementa
fashion and with more granular control. With ODBC, it is possible to create a script to execute SQL statement
to save ata to anot er i e a er ro ata ase. oreover, t e anticipate improvements to services in
i e a er ro promises to ma e t is approac practica in a rea wor setting.
JDBC stands for Java Database Connectivity. Like ODBC, it is an API that provides connectivity between many
ata ases. n i e, , i e a er ro oesn t et you import ata rom a source rom
wit in i e a er ro itse --t ere is no mport...> comman . not er potentia impe iment is t at
connections to i e a er ro are ma e using t e protoco via t e e ompanion p ug-in. ou ave toturn on s aring via e ompanion in i e a er ro .
FileMaker Pro 8 lets you import data via JDBC, but it can’t export data via JDBC. To do that, you need FileMaker
erver vance . ou can execute statements in i e a er ro , ut t ese are rea y ca s,
not ca s.
t t is time, as ar as ri ging . p an . p ata ases is concerne , appears to e a use u ig -en
tec no ogy, i you want to write your own rep ication or sync ronization engine.
nterc ange etween . p -. p v a t e we
en i e a er intro uce in version . , it o ere a compe ing way o creating ig tweig t ase
we -services t roug t e we -companion p ug-in. e i ea is t at one cou set up a . p ata ase using t e
web-companion plug-in to listen for instructions sent to it over the web (HTTP). FileMaker Pro could then
process t ose instructions an return t e resu ts in nice y ormatte . us, instea o saving an pic ing-
up export es rom some s are ocation, we cou , in t eory, script two i erent i e a er ro ata ases to
import as we as write ata to one anot er over t e we .
i e a er ro can query ot er we services an import ata. o get ata out o i e a er ro
ata ases, you nee to use i e a er erver vance . at sai , t ere are some ene ts to t is approac .
Unlike ODBC, XML over HTTP is supported on both Mac OS X and Windows. As of this writing, ODBC
connectivity support wi on y e avai a e in i e a er erver or in ows erver an in owserver
ore important y, wit interc ange over t e we , it is a so possi e to esta is sma er, ut more requent
exc anges etween two i erent ata ases an to o so over t e wi e-area-networ . ou can write ata
directly to specific records and in a more incremental fashion. For example, it would be possible to write your
page 134
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 136/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
i e a er ro app ication to seective y copy ata to a remote i e a er ro ata ase w en t e user c ic s
an up ate remote utton.
e actua mec anics o oing ata interc ange over eserve muc greater consi eration t anam a e to give in t is artic e. ere are a so ot er consi erations, suc as recor oc ing, size imitations o
the HTTP request, HTTP GET vs. POST, and SSL, that aren’t covered here. Just because it is possible, doesn’t
mean it is necessari y a goo i ea. is approac requires t at you ave su cient un erstan ing o querying
various versions o i e a er ro ata ases over t e we , a soi grasp o , t e a i ity to app y w ere
necessary, an t e now e ge to manage we - ase security as we as a c ear un erstan ing o t e imitations
o ata privacy an aut enticity in i e a er ro or i e a er ro .
ere are caveats to t e import-export strategies a ove. or one, in a scenarios t e contents o
container fields are not supported. This can be overcome with the ExportFM plug-in from New Millennium
www.newm enn um.com w ic supports scripte export an import o container e contents.
igger issue as to o wit merging c anges etween ata ases t at are eing use simu taneous y. n a one-way import scenario, t e import-export strategies out ine a ove mig t e su cient to s are ata etween
. p an . p ata ases. e pro em gets tric ier i t ese ata ases nee to e sync ronize . ets say you ave
a Students database in .fp5 and another in .fp7. Both co-exist peacefully in your school, but both databases
are eing use y i erent groups o peop e, an recor s in ot ata ases can e mo i e in epen ent y
o eac ot er. u in e epartment o tu ent ecor s up ates a stu ent, o n mit s a ress in is
. p tu ents ta e ut omer in ccounts up ates t e p one num er in t e o n mit s recor in is . p
ata ase, we now ave a situation w ere c anges rom ot mig t nee to e merge . o ns mit recor in
ot u s . p ata ase an omers p ata ase mig t nee to ave t e atest p one num er an a ress
info. As such, the import/update approach alone may not be sufficient to reconcile these changes.
is is a c assic sync ronization issue wit ew easy so utions. e crux o t e issue is t at i t e same recor
t at is store in two ata stores as een mo i e separate y we want to e a e to reconci e t e c anges.
ere are two possi i ities. ou can write your own sync ronization reconci iation app ication or your speci c
ata ase nee s or you cou a opt a t ir -party so ution suc as ync e www. ync e .com.
ep cat on w t ync e
ync e is not a i e a er ro app ication. t is currenty a ava- ase so ution t at a ows users to rep icate
ata etween i erent ata ase no es. t supports i e a er ro versions t roug an wi wor over
near y a stan ar networ protoco s suc as emai an we . ync e i s a cross-p at orm
set of databases and FileMaker Pro plug-ins that allows different copies of databases to be synchronized via
automate emai messages or t e we , a rom wit in a i e a er ro so ution.
ne o t e most important eatures o ync e is t at it oes not require an a ways-on nternet connection,
a owing o ces nown as no es in ync e par ance to sync ronize at t eir own convenience. ecause t e
sync ronization exc ange is u y automate , t e on y interactions require rom t e user are initiation o t e
synchronization and reconciliation in the case of race conditions.
page 135
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 137/138
Upgrading to FileMaker 8: grat on oun at ons an et o o og es
ync e uses in ustry stan ar encryption, so ata trans erre over t e nternet is secure rom casua
o servers an ot er orms o ata interception. ync e provi es a met o o capturing not ony recor
creation an e its, ut a so recor e etion, an a met o o propagating t ose c anges to ot er ata ases.
n i e t e tra itiona up ate import in i e a er ro, ync e a ows ata to e merge toget er, capturingfield-level changes and combining them in the record. While it will not prevent race conditions, it provides field-
level reconciliation. This allows the individual node to decide whether or not to accept a particular edit if a race
con ition as occurre in or ere to avoi t e ata co is ion si e e ect.
ync e intro uces t e concept o recor owners ip to eac no e o t e ata ase. or examp e, recor s
create y u w o is using a i e a er ro ata ase are owne y u . or suc recor s, u can
eci e to w om mo i cations are propagate an rom w om an or w ic e s it wi accept mo i cation
of those records. This gives the Abdul the ability to prevent accidental modification or deletion of key data while
a owing ot er o ces access to t e recor s an t e a i ity to c ange t ose recor s. e no es t at on t own
t e recor are ree to mo i y an or e ete t e recor as t ey see t, owever t ose mo i cations wi not
necessari y propagate ac to u s ata ase or to ot er no es.
ecor s can e create in any no e, w et er in i e a er ro or i e a er ro . ose recor s are owne
by their originating nodes. As the owner node, Abdul has the ability to determine whether those records are
propagate out to ot er no es, an in turn, w at c anges it wi accept - i any. n t e e au t con guration,
recor s t at are e ete y t e owner no e are e ete rom ot er no es. a no e e etes a recor it
oes not own an propagates t at e etion ac to t e owner, t e owner as t e option to accept, ec ine,
or e er t e ecision. t e owner ec ines t e e etion, any uture mo i cation to t at recor an ensuing
sync ronization wi cause t at recor to e recreate at t e no e t at initia y e ete it.
e eauty o ync e is t at t e actua mec anics o exporting an importing etween i e a er ro
an i e a er ro can e ma e transparent to t e user. owever, t is interc ange is not ive . en a user
mo i es a recor in one ync e no e, t e same recor in ot er copies is not oc e automatica y. n ot er
wor s, in erent in a istri ute ata ase system is t e possi i ity o a race con ition. ync e is not a e to
prevent a race con ition.
However, it provides a way of dealing with it through its conflict resolution process. When a record is edited at
mu tip e no es an su sequent y sync ronize , ync e wi provi e eac no e wit t e option to accept or
ec ine t e con icting c anges on a e - y- e asis. is process wi a ow t e various copies o t e ata ase
to remain out o sync owever on y at t e exp icit esire o eac ocation.
Choosing the right strategy
oosing t e rig t ri ge epen s on severa actors. ere are no easy answers. ou s ou rst consi er
your overa ata ase nee s an eci e w et er it ma es sense or you an your users to e using . p an . p
ata ases at t e same time. at are your overa goa s o you ave to maintain two i e a er ro p at orms
s it possi e to convert a o your existing ata ase so utions to . p you ave to migrate incrementa y, w a
is your migration time frame? What is your budget?
page 136
7/23/2019 Techbrief Fm8 Migrtn Found
http://slidepdf.com/reader/full/techbrief-fm8-migrtn-found 138/138
you eci e t at ri ging is necessary, it is wort t in ing t roug your ri ging strategies in t e context o
your overa migration p an. ic app ications an ata ases are mission-critica ow are t ese ata ases
connecte to ot er systems ow tig t y are t ey connecte s it possi e to re y on imports an exportsto exchange data? Do you need these exchanges to be automated or is it sufficient for them to be relatively
manual. What sort of technical expertise can you count on to maintain these bridges?
o er t ese questions as starting points or iscussion an p anning. y persona opinion is t at you s ou
turn to ri ging as a ast resort. t may u timate y e necessary, ut i e a er ro promises to open a w o e
new imension o ata ase experience to users an eve opers a i e an rom t is vantage point, t e sooner
we a cross t e ri ge, t e etter.
out t e aut or
rnest oe is t e executive an ie et o o ogist at in , nc. a i e a er o utions ianceartner ase in ort ampton, assac usetts. in is a strategy an tec no ogy consu ting rm
serving schools and non-profit organizations; iR provides customizable FileMaker Pro solutions, FileMaker Pro
training as we as we - esign an integration services to c ients wor wi e. ee www. nresonance.com or
more in ormation a out in .
ease ote: e o owing ppen ix was create to capture i e a er conversion issues an as not een
up ate to re ect any minor i e a er i erences. ease re er to t e onverting i e a er ata ases rom
Previous Versions” pdf document included on the CD with FileMaker Pro 8 or FileMaker Pro 8 Advanced for
up ates.