Techbrief Fm8 Migrtn Found

138
Upgrading to FileMaker 8:  grat on oun at ons an et o oog es  T echnolog y Brief  Upgrading to FileMaker 8: igration Foundations and Methodologies

Transcript of Techbrief Fm8 Migrtn Found

Page 1: 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

Page 2: Techbrief Fm8 Migrtn Found

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.

Page 3: Techbrief Fm8 Migrtn Found

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

Page 4: Techbrief Fm8 Migrtn Found

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

Page 5: Techbrief Fm8 Migrtn Found

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

Page 6: Techbrief Fm8 Migrtn Found

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

Page 7: Techbrief Fm8 Migrtn Found

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

Page 8: Techbrief Fm8 Migrtn Found

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

Page 9: Techbrief Fm8 Migrtn Found

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

Page 10: Techbrief Fm8 Migrtn Found

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

Page 11: Techbrief Fm8 Migrtn Found

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

Page 12: Techbrief Fm8 Migrtn Found

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

Page 13: Techbrief Fm8 Migrtn Found

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

Page 14: Techbrief Fm8 Migrtn Found

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

Page 15: Techbrief Fm8 Migrtn Found

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

Page 16: Techbrief Fm8 Migrtn Found

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

Page 17: Techbrief Fm8 Migrtn Found

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

Page 18: Techbrief Fm8 Migrtn Found

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

Page 19: Techbrief Fm8 Migrtn Found

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

Page 20: Techbrief Fm8 Migrtn Found

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

Page 21: Techbrief Fm8 Migrtn Found

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

Page 22: Techbrief Fm8 Migrtn Found

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

Page 23: Techbrief Fm8 Migrtn Found

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

Page 24: Techbrief Fm8 Migrtn Found

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

Page 25: Techbrief Fm8 Migrtn Found

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

Page 26: Techbrief Fm8 Migrtn Found

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

Page 27: Techbrief Fm8 Migrtn Found

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

Page 28: Techbrief Fm8 Migrtn Found

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

Page 29: Techbrief Fm8 Migrtn Found

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

Page 30: Techbrief Fm8 Migrtn Found

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

Page 31: Techbrief Fm8 Migrtn Found

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

Page 32: Techbrief Fm8 Migrtn Found

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

Page 33: Techbrief Fm8 Migrtn Found

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

Page 34: Techbrief Fm8 Migrtn Found

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

Page 35: Techbrief Fm8 Migrtn Found

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

Page 36: Techbrief Fm8 Migrtn Found

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

Page 37: Techbrief Fm8 Migrtn Found

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

Page 38: Techbrief Fm8 Migrtn Found

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

Page 39: Techbrief Fm8 Migrtn Found

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

Page 40: Techbrief Fm8 Migrtn Found

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

Page 41: Techbrief Fm8 Migrtn Found

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

Page 42: Techbrief Fm8 Migrtn Found

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

Page 43: Techbrief Fm8 Migrtn Found

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

Page 44: Techbrief Fm8 Migrtn Found

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

Page 45: Techbrief Fm8 Migrtn Found

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

Page 46: Techbrief Fm8 Migrtn Found

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

Page 47: Techbrief Fm8 Migrtn Found

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

Page 48: Techbrief Fm8 Migrtn Found

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

Page 49: Techbrief Fm8 Migrtn Found

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

Page 50: Techbrief Fm8 Migrtn Found

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

Page 51: Techbrief Fm8 Migrtn Found

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

Page 52: Techbrief Fm8 Migrtn Found

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

Page 53: Techbrief Fm8 Migrtn Found

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

Page 54: Techbrief Fm8 Migrtn Found

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

Page 55: Techbrief Fm8 Migrtn Found

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

Page 56: Techbrief Fm8 Migrtn Found

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

Page 57: Techbrief Fm8 Migrtn Found

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

Page 58: Techbrief Fm8 Migrtn Found

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

Page 59: Techbrief Fm8 Migrtn Found

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

Page 60: Techbrief Fm8 Migrtn Found

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

Page 61: Techbrief Fm8 Migrtn Found

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

Page 62: Techbrief Fm8 Migrtn Found

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

Page 63: Techbrief Fm8 Migrtn Found

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

Page 64: Techbrief Fm8 Migrtn Found

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

Page 65: Techbrief Fm8 Migrtn Found

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

Page 66: Techbrief Fm8 Migrtn Found

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

Page 67: Techbrief Fm8 Migrtn Found

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

Page 68: Techbrief Fm8 Migrtn Found

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

Page 69: Techbrief Fm8 Migrtn Found

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

Page 70: Techbrief Fm8 Migrtn Found

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

Page 71: Techbrief Fm8 Migrtn Found

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

Page 72: Techbrief Fm8 Migrtn Found

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

Page 73: Techbrief Fm8 Migrtn Found

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

Page 74: Techbrief Fm8 Migrtn Found

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

Page 75: Techbrief Fm8 Migrtn Found

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

Page 76: Techbrief Fm8 Migrtn Found

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

Page 77: Techbrief Fm8 Migrtn Found

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

Page 78: Techbrief Fm8 Migrtn Found

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

Page 79: Techbrief Fm8 Migrtn Found

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

Page 80: Techbrief Fm8 Migrtn Found

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

Page 81: Techbrief Fm8 Migrtn Found

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

Page 82: Techbrief Fm8 Migrtn Found

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 .

Page 83: Techbrief Fm8 Migrtn Found

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

Page 84: Techbrief Fm8 Migrtn Found

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

Page 85: Techbrief Fm8 Migrtn Found

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

Page 86: Techbrief Fm8 Migrtn Found

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

Page 87: Techbrief Fm8 Migrtn Found

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

Page 88: Techbrief Fm8 Migrtn Found

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

Page 89: Techbrief Fm8 Migrtn Found

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

Page 90: Techbrief Fm8 Migrtn Found

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

Page 91: Techbrief Fm8 Migrtn Found

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

Page 92: Techbrief Fm8 Migrtn Found

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

Page 93: Techbrief Fm8 Migrtn Found

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

Page 94: Techbrief Fm8 Migrtn Found

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

Page 95: Techbrief Fm8 Migrtn Found

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

Page 96: Techbrief Fm8 Migrtn Found

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

Page 97: Techbrief Fm8 Migrtn Found

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

Page 98: Techbrief Fm8 Migrtn Found

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

Page 99: Techbrief Fm8 Migrtn Found

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

Page 100: Techbrief Fm8 Migrtn Found

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

Page 101: Techbrief Fm8 Migrtn Found

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

Page 102: Techbrief Fm8 Migrtn Found

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

Page 103: Techbrief Fm8 Migrtn Found

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

Page 104: Techbrief Fm8 Migrtn Found

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

Page 105: Techbrief Fm8 Migrtn Found

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

Page 106: Techbrief Fm8 Migrtn Found

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

Page 107: Techbrief Fm8 Migrtn Found

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

Page 108: Techbrief Fm8 Migrtn Found

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

Page 109: Techbrief Fm8 Migrtn Found

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

Page 110: Techbrief Fm8 Migrtn Found

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

Page 111: Techbrief Fm8 Migrtn Found

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

Page 112: Techbrief Fm8 Migrtn Found

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

Page 113: Techbrief Fm8 Migrtn Found

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

Page 114: Techbrief Fm8 Migrtn Found

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

Page 115: Techbrief Fm8 Migrtn Found

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

Page 116: Techbrief Fm8 Migrtn Found

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

Page 117: Techbrief Fm8 Migrtn Found

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

Page 118: Techbrief Fm8 Migrtn Found

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

Page 119: Techbrief Fm8 Migrtn Found

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

Page 120: Techbrief Fm8 Migrtn Found

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

Page 121: Techbrief Fm8 Migrtn Found

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

Page 122: Techbrief Fm8 Migrtn Found

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

Page 123: Techbrief Fm8 Migrtn Found

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

Page 124: Techbrief Fm8 Migrtn Found

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

Page 125: Techbrief Fm8 Migrtn Found

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

Page 126: Techbrief Fm8 Migrtn Found

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

Page 127: Techbrief Fm8 Migrtn Found

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

Page 128: Techbrief Fm8 Migrtn Found

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

Page 129: Techbrief Fm8 Migrtn Found

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

Page 130: Techbrief Fm8 Migrtn Found

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

Page 131: Techbrief Fm8 Migrtn Found

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

Page 132: Techbrief Fm8 Migrtn Found

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

Page 133: Techbrief Fm8 Migrtn Found

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

Page 134: Techbrief Fm8 Migrtn Found

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

Page 135: Techbrief Fm8 Migrtn Found

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

Page 136: Techbrief Fm8 Migrtn Found

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

Page 137: Techbrief Fm8 Migrtn Found

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

Page 138: Techbrief Fm8 Migrtn Found

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.