Techbrief Fm8 Migrtn Found

of 138 /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

Embed Size (px)

Transcript of Techbrief Fm8 Migrtn Found

  • 7/23/2019 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 Foundationsand Methodologies

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    2/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es page

    out s ec no ogy r e

    It is the intent of this technology brief to help the experienced FileMaker developer better understand and

    prepare or migration to t e i e a er pro uct ami y. ea ing t is ocument wi assist you in p anning, preparing

    or, an executing a strategic approac to migration.

    Originally compiled, edited and principally authored by Danny Mack, President of New Millennium Communications

    Inc., a FileMaker Solutions Alliance Partner, this paper is part of a series of technology briefs written by developers

    or eve opers, to assist in migrating existing so utions to t e new i e a er pro uct ami y.

    or a itiona tec nica materia s, p ease re er to printe an e ectronic manua s an on ine e p t at s ip wit

    i e a er ro , i e a er ro vance , i e a er erver , an i e a er erver vance .

    ease ote: This technical brief is relevant to both FileMaker 8 and FileMaker 7 products.

    a e o ontents

    . verview ..................................... ........................................... ........................................... .................................

    . oun ations

    everaging t e a ue roposition o i e a er ro ..................................................................

    e i e a er e ationa o e

    i e e erences in i e a er ro ................................................................................................

    Scripting Issues Encountered When Migrating to FileMaker Pro 8 ....................................... .56

    ecurity an ccess rivi ege ssues

    ecor wners ip in onverte o utions: pening an ommitting ecor s ..........

    Migration and Web Publishing ...................................... ............................................ .......................85

    . et o o ogies

    Conversion Basics ........................................... ............................................ .....................................89

    ing a ew nter ace i e to an xisting o ution, ater onso i ating a es

    ase tu y: igrating sing t e u & po e pproac ....................................................

    e eparation o e : i e a er ro eve opment o e

    ri ging . p an . p ....................................................................................................................

    . ppen ix

    onversion ssues & eso utions ...................................... ........................................... ...............

    orewor

    is ocument assumes t at t e rea er is a rea y ami iar wit t e asic eatures o i e a er ro , an as rea

    t e ec rie entite pgra ing to i e a er ro igrating xisting o utions.

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    3/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    e in ormation in t is compen ium o artic es is t e resu t o a ar -wor ing team o i e a er, nc. emp oyees

    an in epen ent eve opers w o ave esigne , exp ore , an teste i e a er ro an i e a er erver . t

    represents an evo ving o y o now e ge, one t at wi mature over t e next mont s an years as t e app icationis mastered by professional FileMaker developers building solutions.

    t as een a privi ege to wor wit t is team.

    anny ac

    ou er, o ora o

    arc

    2005 FileMaker, Inc. All Rights Reserved. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and

    ot er countries, an t e e o er ogo is a tra emar o i e a er, nc. ot er tra emar s are t e property

    o t eir respective owners. ention o t ir party pro ucts an companies is or in ormationa purposes on y an

    oes not constitute an en orsement nor recommen ation. ro uct speci cations an avai a i ity are su ject toc ange wit out notices. oc

    , ,

    . , , ,

    , ,

    - . , .

    , , ,

    CONSEQUENTIAL, LOSS OF BUSINESS PROFITS, PUNITIVE OR SPECIAL DAMAGES, EVEN IF FILEMAKER,

    . .

    .

    .

    .

    page 2

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    4/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    Overview

    rie ynopses o t e ections o t is ocument

    Overview

    oun at ons

    Leveraging the Value Proposition of FileMaker Pro 8 Michael Thompson

    ic ae iscusses t e a vantages o i e a er ro rom t e point o view o ot eve opers an usiness

    owners, an a resses t e strategic issues associate wit migrating to t is new tec no ogy, inc u ing ow to

    recognize a return on t e investment in migration.

    The FileMaker 8 Relational Model FileMaker, Inc. and Danny Mack

    un amenta artic e o t e new re ationa mo e , inc u ing a comparison to ear ier versions o i e a er ro,

    an intro uction to t e re ations ips grap , an an exp anation o context . t i ustrates t e new eatures ant e new ru es wit easy to o ow examp es.

    File References in FileMaker Pro 8 Corn Walker

    File references are viewable and editable in FileMaker Pro 8 and the issues associated with them are

    un amenta to getting your converte so ution up an running success u y.

    Scripting Issues Encountered When Migrating to FileMaker Pro 8 Darren Terry

    n converte so utions, certain scripts may not unction as t ey i previous y. arren reviews t ese issues in

    etai so t at you un erstan ow t e e avior as c ange , an w at to o a out it.

    Security and Access Privilege Issues Steven Blackwell

    asswor s an groups are converte to accounts an privi ege sets, ut t e ru es ave c ange . n erstan ingt e etai s o access privi ege conversion is essentia to rep icating t e origina e avior or exten ing it.

    Record Ownership in Converted Solutions: Opening and Committing Records Ilyse Kazar

    The script steps and other events that cause records to be opened (locked) and committed (unlocked) have

    c ange signi cant y. is as major imp ications or t e e avior o converte so utions as we as or new

    so ution esign.

    Migration and Web Publishing Bob Bowers

    is is a primer on t e rea m o i e a er we pu is ing, inc u ing ot ustom e u is ing an t e

    entirely new Instant Web Publishing.

    et o o og es

    Conversion Basics Danny Mack

    anny presents a step- y-step orientation to t e conversion process, inc u ing preparation, testing, an t e

    necessary un amenta tas s or getting your so ution restore to its origina unctiona ity.

    page 3

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    5/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    Adding a New Interface File to an Existing Solution, Later Consolidating Tables Todd Geist

    ow oes one migrate a so ution, most re ia y an economica y, to an optima i e a er ro arc itecture

    o ays out a step- y-step migration strategy, inc u ing a rationa e t at may eave you t in ing: w y wouyou do it any other way?

    Case Study: Migrating Using the Hub & Spoke Approach Molly Connolly & Bob Bowers

    n many so utions,t e majority o t e inter ace an ogic is concentrate in one e, t e u , or in a ew u s.

    t may ma e sense to conso i ate t e spo e es into t e u es.

    The Separation Model: A FileMaker Pro 8 Development Model Colleen Hammersley & Wendy

    King

    i e a er ro is a ream come true or t ose w o ave ong a vocate t e separation o ata an inter ace.

    o een an en y present t e new app ication mo e in a its g ory.

    Bridging .fp5 and .fp7 Ernest Koeere are many rea wor scenarios in t at it wi e necessary or i e a er ro es to exc ange ata wit

    FileMaker .fp5 files. There are several technologies that make this possible.

    ppen x

    Conversion Issues & Resolutions Team

    is is t e ocumentation o speci c issues t at can e encountere in so utions t at ave een converte to

    i e a er ro , an suggeste reso utions w at you can o to rep icate t e origina e avior . e issues are

    cross-referenced to the behavior changes in the application documented in the .pdf entitled FM 7 Converting

    ata ases .

    page 4

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    6/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    Overview

    earn e a er ro e ore onvert ng a omp ex o ut on

    s as een state e sew ere, starting to earn i e a er ro y converting a comp ex so ution may e

    confusing. It is highly advisable to build some mastery of the new application by first building a new solution.

    njoy t e ease o creating mu tip e ta es in one e

    xp ore t e e ciency o t e new scripting possi i ities, especia y script parameters

    n erstan t e re ations ips grap an t e importance o managing t e context rom w ic your

    ca cu ations an scripts wi eva uate

    iscover t e power o t e new security mo e

    earn your options or so ution arc itecture wit your inter ace in t e same e as your ata ta es, or

    in an entire y separate e wit no ta es

    Once you have a reasonably good understanding of the new environment, then it becomes appropriate to

    consi er t e approac to ta e to migrating an existing soution.

    trateg c pproac to t e grat on rocess

    s out ine in t e ec rie , pgra ing to i e a er ro : igrating xisting o utions , t ere are severa

    possible approaches to take to migration. Hybrid approaches are possible where one method is used for one

    part o a soution w i e anot er met o is use or anot er part.

    ere is a recap o t e approac es, as iscusse in t e ec rie .

    . onvert an ep oy, t en mo i y i necessary

    . o i y, convert, test, & mo i y

    . a new inter ace e, an t en ater conso i ate ta es

    4. Consolidate multiple files into a single file, starting with an existing file

    . Consolidate multiple files into a single file, starting from scratch

    6. Create new files an interface file and a data file, or multiple interface and data files

    . Co-existence of .fp5 and .fp7 files

    ac o t ese approac es cou e consi ere separatey. evert e ess, t ey can a so occur as part o asequentia process. ome o t e stages or aspects o t e sequence may not appy to your situation, ut t ere

    wi e situations in w ic eac o t ese approac es is re evant. so, or some eve opers w o support mu tip e

    so utions, one approac may app y to one so ution w i e a i erent approac may app y to anot er.

    page

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    7/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    . onvert an ep oy, o y ecessary

    you ave a re ative y simp e so ution or a so ution t at is not usiness-critica , t en you may e a e toconvert and simply deploy your solution without modification. If some features are broken or there are minor

    data problems, you can fix them as you go.

    or more comp ex so utions, i you try to just convert an run, you may air y quic y rea ize t at it is not t e

    i ea approac an start again wit a more met o ica approac . is ocument is inten e to ena e you to

    ta e a sequentia approac to a success u migration o your so ution.

    . onvert an estore to r g na unct ona ty o y, onvert, est, o y

    ui ing on t e in ormation in t e igrating xisting o utions ec rie , an in t e onverting

    ata ases .p t at comes wit i e a er ro an i e a er ro vance , you can systematica y preparees or conversion an o ow an iterative approac . a ing innocuous or even ene cia c anges to your

    solution in FileMaker Pro 6, and then converting, testing, modifying in .fp5 again, re-converting, and testing,

    unti you are satis e t at you ave one as muc as is practica an e cient in t e . p ormat. ou can t en

    o t e remaining tas s in t e new . p es, test, an ep oy. ee t e section on onversion asics or more

    etai e in ormation. e oun ationa in ormation in t e sections on i e e erences in i e a er ro , cr ipting

    ssues ncountere en igrating to i e a er ro , ecurity an ccess rivi ege ssues, an ecor wners ip in

    onverte o utions: pening an ommitting ecor s,are a essentia rea ing.

    ere is a nite set o issues t at wi nee manua attention to ena e converte so utions to operate simi ar y

    to t e way t ey i in i e a er ro . ot a o t ese issues wi a ect a so utions.

    ust as important as t e process o manua mo i cation, is t e met o o ogy use or testing your so ution.

    epen ing on t e sca e o a so ution, it may or may not e easi e to test a permutations o t e eatures

    of a solution. Scripts may work reliably if performed in a certain sequence, but not if performed in a different

    sequence. It will be most efficient and reliable if you, the developer, understand the issues that need to be

    a resse an t en systematica y an comp ete y eva uate, an mo i y i necessary, a instances o an issue in

    your so ution. na ysis too s wi ma e it practica to o t is.

    ome too s are avai a e now or automating t e mo i cation o es, an more too s wi emerge.

    . a ew nter ace e an t en onso ate a es

    ne o t e ey a vantages o i e a er ro is t e a i ity to see an manage your ata ase structure or

    at east arge sections o it at a time , in a grap ica inter ace. our mu ti-ta e usiness processes can e

    represente visua y an , t an s to many en ancements to t e avai a e too s, manage e cient y an re ia y.

    page 6

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 onAdding a New Interface File to an Existing Solution, Later Consolidating Tablesfor 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 Tablesan in Case Study: Migrating Using the Hub & Spoke Approach.

    . reate a ew o ut on nt re y ewr te

    tarting wit new es is most appropriate or a new usiness pro em or an iso ate in ormation omain. t

    could be appropriate if you want to take full advantage of the new FileMaker Pro 8 possibilities and you can

    a or to wait to comp ete your re esigne so ution e ore ep oying. t is a so appropriate i t e eatures o t e

    origina so ution are o so ete or poor y esigne in t e rst p ace. e oremost requirement w en esigning a

    new so ution is to etermine your so ution arc itecture. e artic es on e i e a er e ationa o e an e

    eparation o e : i e a er ro eve opment o e re ot essentia rea ing.

    . e a er ro o-ex st ng w t ar er ers ons o e a er ro

    In organizations with a large number of FileMaker Pro files and multiple solutions (sets of files), it may be

    necessary to convert some es e ore ot ers. t ere are epen encies etween so utions in i erentepartments or usiness omains, it may e necessary to emp oy a tec no ogy t at ena es t e exc ange o

    ata etween i e a er ro es an i e a er ro . es. ee t e ocument on ri ging . p an . p

    or more in ormation.

    page

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    9/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    Database Design and Evolution

    primary i ea expresse t roug out t is ocument is t at it may e cost-e ective an most practica to n

    mu tip e points in t e migration process w en your so ution can e sta e an unctiona . is wi provi e ene ts

    to your organization i you are an in- ouse eve oper, an wi a ow you to more quic y ta e a vantage o

    i e a er ro i you are an in epen ent custom or commercia so ution eve oper.

    When re-writing a solution from scratch, there will still be a conversion component to the process. At a minimum,

    t e o so ution wi most i e y e converte to i e a er ro prior to importing ata into t e new so ution. t

    is possi e to export ata rom an . p or . p e to a text e an t en to import it, ut t at wou not an e t e

    contents o container e s.

    ost i e a er ro soutions ave evo ve over time an ave een en ance ase on wis om gaine a ong t e

    way both from the insights of the developer and based on feedback from users. Developers technical knowledge

    increases over time an t at is o ten re ecte in t e incrementa en ancements to t e eatures o a so ution.

    e evo ution o i e a er ro so utions may e simi ar. n act, t e expertise an now e ge ase w ic exists

    a out i e a er ro is ess mature, an it wi ta e a w i e or est practices an true expertise to eve op, so

    an incrementa approac may prove to e t e most re ia e way to minimize w at wi prove in t e ong run to e

    novice errors.

    ompoun ing t e a vantages o ta ing t is approac is t at nee s c ange over time, so t at y t e time you nis

    a gran esign t e priorities may ave c ange . rue usiness va ue is o ten rea ize y an incrementa strategy to

    eve oping new systems.

    out t e aut or

    anny ac is t e resi ent o ew i ennium ommunications, nc., a i e a er o utions iance artner ase

    in ou er, o ora o. ew i ennium specia izes in i e a er ro consu ting an so ution eve opment, an is t epu is er o numerous p ug-ins an too s t at aci itate t e wor o i e a er ro eve opers, avai a e at

    http://www.newmillennium.com.

    page 8

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    10/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    Foundations

    Leveraging the Value Proposition of FileMaker Pro 8

    i e a er ro represents a new era or t e i e a er ro ami y o pro ucts. it renewe power an

    exi i ity, t e pro uct is poise to emerge as a mar et- ea ing rapi app ication eve opment environment

    applicable to all sizes and types of organizations. More than ever, FileMaker Pro 8 allows users with a broad range of

    expertise to contri ute signi cant y to ata ase so utions t at pro uce tangi e va ue. et er t e o jective is to

    create a pro essiona commercia so tware app ication or a es top ata ase t at can e exten e to t e , t e

    , an eyon , i e a er ro certain y meets t e nee .

    rom a eve opers perspective, t is new version o ers tremen ous a vantages over its pre ecessors an over

    ot er so tware eve opment too s. t is important to remem er, owever, t at suc a vantages are use u on y to

    t e extent t at t ey create va ue in a particu ar context. it out a c ear un erstan ing o t e va ue proposition, t e

    i e a er ro tec nica istinctions may e ost in t e in o tec no ogy o erings, w ic too o ten over-promise

    and under-deliver. As FileMaker Pro is commonly used in the context of a business or professional organization, the

    eve oper an usiness manager are we a vise to un erstan t e pro uct s istinct va ue proposition an earn

    ow est to everage t at proposition wit in t eir particu ar environment.

    at is it a out i e a er ro t at compe s its use y organizations su ject matter experts s an

    eve opers i e maintaining its istoric ease o use, t e i e a er ro ami y o pro uct o ers an entire y

    new wor o innovative an power u eatures un i e any ot er ata ase or so tware eve opment environment.

    rganizations a opting t e new too s wi see imme iate gains rom increase e size imits, virtua y un imite

    number of tables, direct server access, server side processing, robust security, and faster wide area network (WAN)

    access. i e protecting t eir inte ectua property an e ping en ance ata con entia ity an integrity, eve oper

    can now provi e en users or a ministrators wit ar more exi i ity an many more options or managing critica

    usiness processes. ntegrating so utions wit existing assets is muc easier an more exi e. it power u

    new eatures suc as ustom unctions an xten e rivi eges, eve opers can imp ement usiness ogic an

    usiness ru es across a soution simp y y c ic ing a c ec ox. n t ey can more easi y co a orate wit ot erdevelopers and with subject matter experts without the inefficiencies associated with the interruption of workflow

    FileMaker Pro 8, FileMaker Server 8 and FileMaker Server 8 Advanced together make for a compelling best-case

    usiness ecision as a eve opment an ep oyment environment.

    i e it is c ear t at t e new pro uct ine as a ot to o er a most any organizationa environment, its com ination

    o ease-o -use, rapi app ication eve opment, an enterprise eve power must e use appropriate y i its

    u potentia is to e rea ize . e promise o new eatures an unctions oes not remove t e un amenta

    requirements o t e so tware eve opment process nor oes it insu ate t e organizationa ea ers ip, management

    an ot er sta e o ers rom eing materia y invo ve t roug out. ocuse too narrow y on t e tec no ogy, it easy

    to lose sight of the broader organizational objectives. Indeed, if the needs of the organization and market do not

    ea t e process, t en muc o t e va ue an potentia o t e tec no ogy wi e sacri ce .

    et er a su ject matter expert turne ata ase esigner or a seasone veteran esigns a so ution, it is up to

    t e eve oper to manage t e va ue e ivery process an to create an maintain an environment t at is con ucive

    to rea istic expectations. urt ermore, a so ution or to ay s pro em wit itt e to erance or a apting to

    tomorrows nee s, or one t at is i cu t to use or maintain, quic y oses muc o its potentia va ue. is means

    page 9

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    11/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    t at e ivery o va ue must e consi ere t roug out t e i ecyc e o a project, not simpy at so ution e ivery an

    initia imp ementation. ortunate y, i e a er ro is an exceptiona eve opment environment or provi ing va ue

    t roug out t e i ecyc e o a project. n erstan ing ow to get t e most out o t e tec no ogy at eac stage o t e

    process is essentia i a so ution is to rea ize its u potentia . e intention an comp exity o a so ution, as we ast e environment in w ic it wi e use , wi etermine w ere to oo to everage t e va ue o t e new eatures o

    FileMaker Pro 8.

    equ rements at er ng: o v ng t e g t ro em

    rganizationa constraints are o ten revea e t roug secon ary symptoms, an in many cases root causes

    o pro ems are not imme iate y apparent. urt ermore, t e symptoms, as we as t eir un er ying pro ems,

    rarely exist in isolation. Invariably other systems can affect and are affected by newly implemented solutions.

    ina y, t e pro ems we a ress to ay wi a most certain y revea urt er constraints an pro uce uninten e

    consequences. is is w y un erstan ing t e pro ems an t eir contexts is one o t e rst steps in creating

    so utions.

    ra itiona y, so tware eve opers ave re ie upon requirements gat ering an nee s assessment processes

    to define the objectives and to understand the often-complex relationships involved in designing an effective

    so ution. roug interviews wit en users an usiness managers, t ey pro uce a written speci cation t at

    e ps t e eve oper an t e sta e o ers un erstan an communicate a out t e project.

    n most cases, input rom users is gat ere t roug interviews an t en trans ate into text. i e t is process

    can e re ative y e ective, it assumes t at t e users are capa e o escri ing t eir nee s in a manner t at

    is both consistent with the real needs of the project and comprehensible (in all of its detail and nuance) to

    t e interviewer. t a so assumes t at ot t e interviewer an user un erstan t e environment in w ic t e

    pro em an so ution exist we enoug to provi e an accurate an use u trans ation. is can e especia y

    c a enging w en t e eve oper is un ami iar wit t e intricacies o t e environment. i e t e use o rawings

    an moc -ups can narrow t is communication gap, even wit visua ai s, t e nee s gat ering process can

    invove severa iterations o esign an ee ac in or er to accurate y assess t e etai s.

    i e a er ro o ers power u capa i ities to augment an assist in t e requirements gat ering an nee s

    e ning process. i e a er ro s ease o use a ows even non-tec nica users t e a i ity to participate more

    su stantia y in t e e ning stage o t e process. y using i e a er ro as t e environment or creating t e

    visua ai s an training users on t e use o asic ayout too s, t ose most ami iar wit t e organizationa

    processes can exp ore an experiment in rea time. ing an moving ayout e ements on wor ow inter aces

    an oo ing at ata in i erent ways can acce erate t e process t roug w ic un erstan ing o t e signi cant

    issues is developed. More importantly, having the subject matter experts involved at this level of exploration

    o ten revea s unrecognize nee s an re ate issues t at wou ot erwise e revea e muc ater in t eeve opment cyc e.

    i e muc o t is capa i ity as existe in prior versions o i e a er ro, i e a er ro promises muc

    etter per ormance over t e wi e area networ . is means t at su ject matter experts an eve opers can

    page 10

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 SMEs and developers collaborate to understand and define the requirements of a solution. It

    a so opens up t e possi i ity or mu tip e teams to e wor ing simu taneous y wit t e same set o es. is

    rea -time eve opment environment o ere y i e a er ro can ramatica y s orten t e iterative cyc es o

    communication invo ve in t e requirements gat ering process.

    u tip e ta es in a e an t e re ations ips grap are two ot er new eatures avai a e in i e a er ro t at

    can en ance t e requirements e ning process. eve opers can exp ore an emonstrate ata arc itecture

    without the time consuming hassle of creating individual related files. Multiple tables of data are quickly

    create in t e same e ne e s session no nee to go ac an ort rom one e to anot er to a e s

    to i erent ta es . nce roug ta e structures are in p ace, t e re ations ips grap provi es a very e cient

    means or e ning re ations ips etween ta es. e act t at re ations ips are now i irectiona means t att ere is no nee to create reverse re ations ips; urt er re ucing t e time spent in ear y conceptua stages.

    The relationships graph also provides an effective means for communicating the data structure to users and

    ot er esign team mem ers. ets ace it; comp ex re ationa ata ase esign oes not come natura y to

    everyone. et even ata ase neop ytes un erstan t e nee at some eve or organizing ata in a certain

    manner. picture paints a t ousan wor s, an provi ing sur ace eve ata requirements in a grap ica ormat

    can quic y acce erate t e un erstan ing o more comp ex ata structure. we -organize re ations ips grap

    provi es a visua overview o t e arc itecture, w ic can t en e use to exp ain it to tec nica an non-

    tec nica sta e o ers a i e. xpan ing on t e arc itecture in rea time y creating new ta e occurrences an

    re ating t em to t e existing structure is a so a power u orm o communication. emem er too t at w at is

    create in t e re ations ips grap is not simpy a visua ai ecause t e ta e structure it e nes is via e in an

    o itse . amp e ata can e entere or importe into t e ta es in or er to more c ear y emonstrate ow t e

    structure wi actua y wor .

    In prior versions of FileMaker Pro, designing data architecture was something best performed with a flow chart

    or entity-relationship diagram (ERD). While these will still be invaluable1, t e new eatures o i e a er ro

    ma e exp oring ata arc itecture more accessi e. timatey, t e esign o your so ution may require severa

    es, eac containing a num er o ta es. n t e ear y stages o requirements gat ering an nee s assessment,

    owever, exp oring ata structure or t e purposes o earning an communicating can e accomp is e very

    e cient y in a sing e e.

    ann ng: e rt o reat ng xpectat ons

    ne promise o i e a er ro is s orter eve opment cyc es. ere are many timesaving new eatures an

    new ways to esign quic , e ective so utions. onet e ess, p anning w at it wi ta e to success u y comp ete

    any so tware eve opment project is tric y usiness, an t e new an unique nature o i e a er ro a s ye

    anot er varia e to t e p anning equation.

    page

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 mostif not allof a solution him or herself. Thanks to

    some o its new eatures, i e a er ro is a muc etter environment or co a orative eve opment. u tip e

    eve opers or eve opment teams can now access a aspects o a serve e simu taneous y wit on y minima

    inter erence. ere are a so more e ective met o s or mu tip e eve opers or teams to wor on separate sets

    o t e same es, ringing t em toget er at a ater point in time. ina y, i e a er ro is a etter environment

    or mo u ar esign. ne eve oper or team can e wor ing on t e contact management mo u e w i e t e

    ot er team wor s on a separate invoicing mo u e. e two mo u es can e integrate w en t e in epen ent

    mo u es are rea y.

    anning an e ning a eve opment strategy is an essentia step i appropriate expectations are to e create

    an maintaine t roug out t e process. i e a er ros power an exi i ity, a ong wit its ease o use,

    provi e many timesaving new eatures t at wi eventua y s orten eve opment cyc es. y provi ing too s

    page 12

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    14/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    t at ma e incrementa an co a orative eve opment more accessi e, greater un erstan ing o eve opment

    met o o ogies can e acquire t roug out t e eve opment process an a team or mu ti- eve oper approac

    can e emp oye to urt er s orten project comp etion times.

    Design: Where No One Has Gone Before

    i e t e speci cs o esign in i e a er ro are iscusse in greater etai e sew ere in t is ocument

    an in ot er re ate materia s, it is c ear t at one o t e most signi cant c anges in i e a er ro is t at

    o greater esign options. u tip e ta es per e, remova o t e ty- e imit, increase capacity o text an

    container e s, increase e size, mu tip e win ows per ta e, a new security mo e , an a more exi e an

    powerful relational structure are just a few of the enhanced features that will change the way FileMaker Pro

    so utions are esigne .

    i e t e tec nica ene ts o t is new unctionaity may e imme iate y o vious, t e nuances t at t is new

    power rings to t e va ue equation are easi y over oo e . it custom so utions, or instance, t e increasegranu arity o access to t e various ayers o a i e a er ro so ution can a ow t e power-users an su ject

    matter experts to stay connected throughout its lifecycle. Allowing super-users the ability to design entry

    ayouts, reports, an scripte processes t at meet t eir speci c nee s w i e restricting access to areas t at may

    compromise t e integrity o t e so ution is now more managea e.

    it commercia so utions or so utions t at wi require upgra es over time, t e a i ity to separate ata rom

    structure ot inter ace an ogic is muc easier in i e a er ro t an in prior versions. e eve oper

    needs to only replace the structure files as a part of an upgrade process. Separate structure files that continue

    to wor wit t e customers existing ata es wi e iminate t e nee or comp ex an unwie y import

    routines.

    i e a er ro a so en s itse to a mo u ar approac to so ution esign. it t is approac , a e ne

    set o unctions is containe in a e or set o es, constituting a mo u e. ac mo u e is esigne to a ow

    other modules to access its data while safeguarding its functionality. A contact management solution built by

    one developer, for instance, can be designed to allow an invoicing module developed by another developer

    to interact wit its ata. sa es reporting mo u e mig t access ata rom ot t e contact management an

    invoicing systems. e va ue o t is approac is certain y evi ent in commercia app ications as many eve opers

    can everage t eir speci c expertise an so utions in com ination wit t ose o ot er eve opers. urt ermore

    a eve oper can a ow ot er eve opers access to nee e in ormation an unctiona ity wit out a owing access

    to t e entire so ution, protecting ot t e sta i ity o t e mo u e as we as t e inte ectua property.

    t er eve opment environments can a so ene t rom a mo u ar approac . it a we - eve ope set o

    esign princip es, mu tip e s an eve opers wit in an organization can eve op mo u es t at e iver speci

    unctiona ity, wit out compromising ot er eve opment e orts or ive systems. mix o commercia mo u es

    wit custom mo u es or a -ons mig t e t e est way to e iver va ue w en meeting an organizations nee s.

    ese esign met o o ogies an ot ers are covere more extensive y e sew ere in t is an ot er ocuments,

    page 13

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    15/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    an new esign met o o ogies may emerge as t e use o i e a er ro matures. onet e ess, it is c ear t at

    one o t e strongest va ues e ivere y t is new tec no ogy is t at o versati e esign. e way t at so utions

    are esigne in i e a er ro is orever c ange , an commercia eve opers an organizations wi ot reap

    t e rewar s o t e pro uct as t e tec no ogy an its use continue to evo ve.

    eve opment: t s out xecut on

    nce t e esign strategy is in p ace, i e a er ro continues to e iver va ue y provi ing a very exi e

    environment or eve opment. egar ess o t e rigor wit w ic t e requirements, speci cation an esign

    p ases are comp ete , un oreseen opportunities an constraints wi emerge in t e eve opment process.

    e ear ier t ese issues sur ace, t e more e cient y an e ective y t ey can e a resse . e co a orative,

    real-time development environment of FileMaker Pro 8 provides many opportunities for optimizing the

    eve opment process.

    timate y, comp ex so utions consist o components an su -components t at are integrate to wor toget eras a seam ess w o e. n prior versions o i e a er ro it was o ten necessary to ui comp ex co ections o

    su -components a at once suc t at it was a most impossi e to etermine w ere one component en e an

    the next began. FileMaker Pro 8 provides for greater modularity of design, which allows discrete (or semi-

    iscrete components to e constructe an teste or ater integration wit ot er components. time c oc

    mo u e use to capture t e time spent on a project, or instance, can e ui t an teste y ot eve opers

    an users e ore com ining it wit a time s eets mo u e eing simu taneous y constructe . ntegrating t e two

    mo u es can appen t roug a num er o possi e esign scenarios, w ic may invo ve merging unctiona ity

    in t e same e, com ining unctiona ity etween two es, or importing e ements rom one e into anot er.

    In any case, the new features of FileMaker Pro 8 allow the integration of modules to occur in a seamless and

    straig t orwar manner.

    e a i ity to ui an test sma su -components an mo u es represents a signi cant improvement in t e

    way i e a er ro so utions are eve ope . t a ows or un oreseen issues to emerge t roug t e eve opment

    process in a more containe an contro e manner. it a equate testing, t e unctiona ity, usa i ity, an

    appropriateness of each module can be well vetted before the module becomes immersed in the overall

    so ution. atc ing t e pro ems ear y on wi e p acce erate t eir reso ution an eep t e pro ems in one

    mo u e rom etrimenta y a ecting ot er mo u es.

    i e a er ro as een a rea -time eve opment environment or years. e increase a i ity or mu tip e

    eve opers or eve opment teams to access t e u unctiona ity o a so ution wit out inter ering wit ot er

    eve opers, users, an testers p aces i e a er ro in a new eague. ertain y, more comp ex an mission

    critical development activities might best be orchestrated using separate sets of files, but many development

    projects can now peace u y co-exist wit ot er eve opment projects, wit testing, an even wit ive use ot e so ution. n cases w en a secon set o eve opment es is warrante , t e integration o new unctiona ity

    into t e ive e set is more easi y an e ue to a vances in script importing, ata importing, an copying

    ayouts etween es.

    While implicit in the above illustrations, the value and leverage of collaborative development should not be

    page 14

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 environmentt e

    onger t e ee ac cyc e, t e greater t e possi i ity or waste e ort an or aying i - ate oun ations. uc

    o t e new unctiona ity avai a e in i e a er ro provi es or increase co a oration invo ving t e s

    an ot er sta e o ers uring t e eve opment process. uc invo vement ten s to s ortcut ee ac cyc es,

    allowing the development team more insight into the opportunities and constraints that emerge from the

    so ution. timate y, t is saves va ua e resources an pro uces a more e ective en resu t.

    est ng: e ten gnore unce o revent on

    Let us face it; no one wants to test software. Inventing the testing procedures alone is challenging enough,

    and there are rarely adequate resources to complete the solution much less to test all of the variables.

    urt ermore, t ose w o o ta e t e time are o ten quic y is eartene y unexpecte iscrepancies in ata

    an in user interactions, ot o w ic invaria y compromise ot erwise we -conceive an we -written

    so utions. esting commercia app ications is even more eman ing, as many customers in an inconceiva e

    variety o environments wi use t em. ven arge so tware companies use pu ic eta testing cyc es at times

    un e nownst to en users to vet an re ne t eir so utions.

    egar ess o t e resistance to an t e ac o resources or its execution, t ere is itt e ou t t at so tware

    testing pays o , an it is not enoug to ave t e eve opment team o t e testing. ssuring t e sta i ity o t e

    so tware requires testing at a stages o t e process an y a wi e variety o users. n cases w ere t e time,

    resource an expertise is not avai a e or a orma testing process, t e i e a er ro rea -time environment

    page

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    17/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    can provi e tremen ous a vantages y re ucing ee ac cyc es an invo ving en users an su ject matter

    experts t roug out t e testing process. urt ermore, as even extensive testing is vu nera e to un oreseen

    consequences, a ter initia eta testing is comp ete, issues t at arise uring ear y imp ementation can e easi y

    a resse wit out inter ering wit t e ongoing use o t e so ution.

    One of the challenges in testing cycles is that feedback from tester to developer takes too long, and planned

    testing perio s can e interrupte y s ow-stopping pro ems. n orma testing environments, pro essiona

    testers are emp oye to run t roug a series o e ne sequences in or er to test eac eature an unction,

    reporting any issues ac to t e eve oper. it i e a er ro, eve opers wor ing irect y wit users in ear y

    testing cyc es can vet initia issues in rea -time, i enti ying an repairing many on t e spot in or er to eep t e

    testing process moving. n cases w ere more researc is require to reso ve a s ow-stopping issue, t e user ca

    move on to other aspects of testing or return to other work while the developer fixes the problem. The fact

    t at testing an repairs can e one in t e ep oyment environment e iminates t e nee or compi ing cyc es as

    we as issues t at sometime arise rom t e compi ing process.

    ecause a rea -time eve opment environment can ramatica y s orten testing cyc es, en users an su jectmatter experts w o may not ave time or ong testing perio s can e more invo ve . irty-minutes o testing

    in rea -time wit user an eve oper can accomp is quite a it wit respect to eva uating t e usa i ity an

    e cacy o imp emente wor ow. urt ermore, a user may i enti y issues t at a pro essiona tester is una e

    to see ue to t e users ami iarity wit ot wor ow processes an expecte ata. n some situations,

    testing can e incorporate into a user s regu ar jo unction, especia y a ter a so ution is imp emente , w en

    re nements are a resse or new eatures are a e .

    For many developers and organizations, testing is considered a necessary evil and can be ignored all together

    muc to t e etriment o t e imp ementation. e rea -time nature o i e a er ro o ers t e a i ity to

    re rame t e testing project, o ering new opportunities to ma e t e process more e cient an e ective.

    i e a er ro exten s t is capa i ity y a owing access to esign unctions w i e ot ers are accessing

    ata ase unctiona ity. is gives t e eve oper more options an exi i ity in t e testing process as we as

    a owing users an s to e invo ve in a manner t at urt er everages precious resources.

    mp ementat on: e rt o t e o ut

    o ing out new so tware so utions in an organization is tric y usiness. ven w en so utions are we esigne

    an teste , it ta es time to integrate c anges into usiness processes an systems. n a ition to t e tec nica

    c a enges, user uy-in an a option can present signi cant o stac es. e more processes, systems an uman

    beings affected by the software, the more challenging the implementation.

    n or er to minimize t e negative impact an resistance to a option, many organizations p ase in new

    unctiona ity incrementa y an over time. enever possi e, even mo est so tware imp ementations are su -

    ivi e into iscrete imp ementation units. nce a unit is in p ace an wor ing, t e next unit can e ro e out.

    is mo u ar approac a ows or mu tip e sta e points t roug out t e imp ementation process t at e iver

    the full value of the software in a timely manner.

    page 16

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    18/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    i e a er ro is an exceptiona too or an incrementa ro out strategy. it a mo u ar approac to

    esign iscusse previous y, an in more etai e sew ere , so utions can natura y e intro uce mo u e

    y mo u e. itiona y, t e a i ity o i e a er ro to interact an exc ange ata wit ot er so tware

    app ications an so utions via , , , etc. a ows or t e eve opment o ess comp ex so utionsy interacting wit an everaging pre-existing systems. oug t is mig t at rst appear to e more wor , suc

    a methodology provides an organization with the opportunity to focus at each stage on the functionality that is

    most imme iatey necessary an t at wi pro uce t e greatest va ue.

    not er a vantage to an incrementa approac especia y wit a too as new an power u as i e a er ro

    is t at it o ers a earn-as-you-grow environment. aspects o t e process, rom requirements gat ering

    to imp ementation, are oun to mature as eac su sequent p ase is success u y rea ize . e nee s o t e

    environment wi a so e trans orme to some extent as eac aspect o t e so tware is intro uce . now e ge

    garnered from earlier phases in the process will provide better intelligence for use in later phases, ultimately

    pro ucing superior resu ts. reating processes t at a ow new tec nica an esign inte igence to o ac

    into prior p ases wi assure t at ear y wor maintains its re evance an via i ity wit in t e greater so ution.

    ertain y t e timing o t e ro out is a critica part o t e equation. t is not uncommon or an organization to

    recognize t e nee or a so ution ate in a usiness cyc e or to wait unti t e ast minute to move orwar on

    a critical project. Once the decision has been made, it is compelling to think that the solution is required as

    soon as possi e. e speci cs o t e timing, owever, o not un amenta y a ect t e act t at organizationa

    processes are est ro e out incrementa y an over time. e greater t e comp exity an num er o varia es,

    inc u ing tec no ogies invo ve , re ate systems, an personne , t e greater t e nee or an incrementa strategy

    ee ing out mu tip e sta e points a ong t e imp ementation pat provi es t e est c ance or success w en

    ro ing out even mo est so tware so utions.

    a ntenance vo ut on: everag ng t e nvestment

    t as een sai t at so tware re nement is never rea y nis e , ut simpy a an one . i e it is true t at a

    so ution can e engineere ar eyon a point o via e returns, t ere is anot er si e to t is story. o utions

    are created to remove constraints. As each constraint is removed, new constraints are revealed. When new

    constraints are signi cant enoug to matter, new so utions are require . is cyc e o constraint an so ution is

    urt er in uence y t e ynamic nature o ot t e mar etp ace an t e organizationa environments serve

    y so tware app ications. it ew exceptions, so tware so utions t at o not a apt to new constraints an

    c anges in environment o not continue to pro uce va ue over time.

    it t e time an resources require to pro uce e ective so tware so utions, it ma es sense to use a

    design methodology and development environment that support the ongoing maintenance and evolution of

    t e so tware system. gain, t e i e a er ro exi e, rea -time environment aci itates t e intro uction onew eatures an unctiona ity as we as su t e c anges an t e maintenance o existing co e. t is easy to

    un erestimate t e pro uctivity en ancing power o a ing or moving a ata e on a ayout or c anging t e

    e ta or er. it i e a er ro , re nements i e t ese are just a raction o w at is possi e w en it

    page

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    19/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    comes to en ancing existing unctiona ity an exp oring new possi i ities. ecause re nements an a terations

    can e ma e very quic y, a wi e variety o i eas can e easi y teste or va ue an via i ity.

    e new eatures in i e a er ro a ow t e eve oper to provi e access to some or a o t e esign eatureso t at super-users an su ject matter experts can experiment wit new i eas in wor ow, unctiona ity an

    reporting. Because this access is very granular, end users can be given the ability to test their ideas themselves

    wit out compromising t e a ance o t e so ution or t e ata e in it. n some cases, users an su ject

    matter experts wi create new eatures an unctions on t eir own, in ot er cases t eir e orts wi pro uce

    prototypes or t e eve oper to re ne. egar ess, eeping t e users invo ve in t e exp oration an esign

    process can yie tremen ous va ue over t e i ecyc e o a so ution.

    o utions t at o not a apt to t e c anging nee s o t eir environment quic y ose t eir va ue. ose t at can

    adapt quickly and effectively to the needs of an organization and its market will continue to produce value over

    time. i e gui e ines or a aptation an evo ution must e o owe in or er to maintain t e integrity o t e

    so ution, provi ing super-users an su ject matter experts wit t e too s t ey nee to experiment an invent

    can ramatica y increase t e va ue o a so ution. i e a er ro provi es a exi e, rea -time environment t ata ows eve opers to empower t e user w i e protecting t e core arc itecture an ata.

    onc us on: ar y ng t e ropos t on

    ue to t e transparency o muc o t e new power in i e a er ro , many users may continue to esign

    so utions as t ey ave in prior versions. t ers wi go irect y into t e eve opment o arge-sca e, enterprise

    so utions. n eit er case, an regar ess o t e outcome, t e rea va ue proposition o i e a er ro may e

    misse .

    ts true: i e a er ro mar s a new age or t e too an t e so utions it inspires. e power an exi i ity o

    t is new environment, owever, comes wit a earning curve, increase eve s o creativity an insig t, an t e

    requirement o greater i igence an rigor t roug out t e process. n ee , earning ow to eve op e egant an

    e ective soutions in i e a er ro wi appen incrementa y an over time regar ess o t e way in w ic

    it is initially approached. Rather than looking at this process as a hurdle or barrier that must be crossed in

    or er to get to greener pastures, it can e seen as a journey t roug w ic ot un erstan ing an va ue are

    receive . ocusing ony on t e en resu ts an ignoring or avoi ing t e steps a ong t e way wi iminis ot

    t e experience an t e eeper vaue avai a e.

    i e a er ro provi es an outstan ing environment or engaging t e process w i e simu taneous y creating

    va ue or usinesses an organizations o a types an sizes. s t e new eatures an unctions are em race o

    t eir tec nica va ue, it is important to em race t e entire va ue proposition. is inc u es setting an managing

    appropriate expectations an exercising proper restraint an consi eration at eac stage o t e so utioncreat on process.

    ina y, w at t e i e a er amiy o pro ucts represents is a signi cant eap orwar in t e maturity an

    possi i ity o t e so tware so utions it supports. ow ere e se o we n a too so capa e o seam ess y

    integrating the needs of the single-user desktop database and the enterprise-level solution. Being effective in

    page 18

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    20/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    t is new arena wi require t e eve opment o a commensurate eve o maturity in t e way ata ase so utions

    an services are e ivere . ear y t is is a journey wort y o attention.

    out t e aut or

    ic ae ompson is t e irector o o tware a es an mp ementation at ew i ennium ommunications,

    nc., a i e a er o utions iance artner. it more t an a eca es experience using i e a er ro, e as

    e pe an its c ients ui so utions ranging rom sing e e ata ases to u -sca e systems.

    ootnote1 e re ations ips grap is neit er a ow-c arting nor generation too , an s ou not e su stitute or

    one. There are limitations to using the relationships graph for this purpose, which are inherent to its primary

    unction. ee t e ocument on t e i e a er ro e ationa o e or a more etai e un erstan ing o t e

    re ations ips grap .

    page 19

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    21/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    The FileMaker Pro 8 Relational Model

    ummary

    This document introduces the relational model of FileMaker Pro 8 and the rationale behind it.

    re- e a er ro -- at es

    - repeating e s su -recor s or simp e one-to-many re ations

    - oo up e s a ow copying o ata ase on matc ing ey va ues

    - no ability to display data directly from other files

    e a er ro - -- e at ona

    - repeating e s an oo ups sti supporte

    - can e ne re ations ips rom one e to anot er

    - can isp ay an re erence re ate recor s rom a irect y-re ate e

    - must create interme iate ca cu ations to propagate ata rom more t an one re ation away

    FileMaker Pro 8 - Relationships Graph

    - repeating fields and lookups still supported

    - can e ne re ations etween a ta es in a ata ase in a re ations ips grap

    - can isp ay an re erence re ate recor s rom any ta e in t e re ations ips grap

    - re ations ips grap can span mu tip e es; eac e as separate re ations ips grap

    - re ationa operators can e re ative t eta joins ; mu tip e pre icates supporte

    re- e a er ro -- at e o e

    e ore i e a er ro , i e a er was esigne to e use as a at e ata ase wit on y very imite

    re ationa capa i ities. at e is simpy a e or ta e consisting o a set o recor s or rows an a set o e s

    or co umns . ac recor can contain a vaue or any num er o t e e s e ne on t e ta e. or examp e,

    one mig t e ne an nvoices ta e w ere t e e s are t ings i e ustomer ame, ustomer ress, nvoice

    Date, Invoice Total, etc. One record in the Invoices table exists for each invoice.

    ese versions o i e a er ro a imitere ationa capa i ities or re ationa su stitutes:

    repeating e s an oo ups. epeating e sa ow i e a er ro to store more t an one vaue

    or eac e an t us create su -recor s oneac recor . or examp e, to create an nvoices

    ta e, it is necessary or eac invoice recor tohold a set of items ordered on that invoice. To

    accomp is t is, one cou create e s uantity,tem escription, an rice an t en e ne t esefields to have twenty or so repetitions each.

    en t ese e s are ai on a orm si e- y-si ewit t eir repetitions running vertica y, it wou

    then be possible for users to enter up to twentyitems on t e invoice an a ca cu ation cou ee ne to tota up t e items or t e invoice.

    page 20

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    22/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    oo ups a ow esigners to ma e

    i e a er ro oo up a va ue or a erom t e same ta e or anot er ta e

    ase on matc ing va ues. n t is nvoicesexample, this would make it possible fort e esigner to ave a separate arts

    ta e an ave i e a er ro oo up t eprice and description of the item and copy

    it over to t e appropriate e s in t envoices ta e w en t e user enters a partnum er in t e invoice.

    i e repeating e s an oo ups ave

    proven inva ua e in creating interestingata ase so utions in an ot erwise at e

    mo e , a re ationa mo e can provi e a

    great ea more unctiona ity.

    FileMaker Pro 3-6 -- Relational Model

    ne o t e more serious imitations wit t e at e mo e an oo ups is t at it is i cu t to s are common

    ata. s a resu t, t ere is a great ea o ata up ication. e same ata is nee ess y store in many i erent

    recor s. is ma es t e ata ase arger an s ower t an necessary an t is up icate ata is at ris to

    ecoming out-o - ate an inconsistent.

    In the Invoices example above, the customer information (name and address) had to be entered for each

    invoice even i t e same customer in ormation was a rea y entere or a previous invoice. n a ition, t e

    part escription an price a to e oo e up an copie over to t e nvoices ta e or eac item or ere .

    ertainy t ere are times w en t is mig t e a vantageous -- or examp e, it is pro a y est t at t e part

    prices are copie w en t e invoice is create so t at uture price c anges ont a ect o invoices or t at t e

    customer name an a ress are oo e up so t at t e invoice is a re ia e istoric recor o t e transaction.

    However, this is not always the desired behavior. What if you always want the most current data? To produce

    a customer statement a ist o unpai invoices to mai to a customer, it is important to use t e customerscurrent name an a ress. t is possi e to re oo up t e ata perio ica y ut t is is time-consuming, oes not

    guarantee t at t e ata is a ways current, an requires t at t e recor s e mo i e .

    page 21

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    23/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    i e a er ro - a resses t ese issues y

    intro ucing t e a i ity to e ne re ations ipsetween es ta es . re ations ip escri es

    ow recor s in one ta e are re ate to recor sin another table. In FileMaker, these relationshipsare ase on simp e sing e e matc es -- t e

    va ue o one e in a given row is matc e againstthe values of another field across all rows of a

    i erent ta e or t e same ta e in t e case o ase -re ations ip . n ot er wor s, or eac parentrecord, FileMaker finds the set of matching child

    recor s w ere a given e as t e same va ue ast e parent recor . e set o matc ing recor s

    cou e empty, cou e a sing e recor , or coue a sma or arge set o recor s.

    n t e nvoices examp e, it wou e use u tota e a vantage o a re ationa mo e to create aseparate ta e or a t e customer ata. n t e

    ustomers ta e, eac recor wou corresponto a different customer and be identified with aunique ustomer . n eac recor in t e nvoices

    ta e, t e customer s current name an a ress canbe displayed by relationship. This Customer ID can

    e use to e ne a re ations ip etween t e twota es so t at we can isp ay current ata rom t e

    Customers table without having to copy it over tot e nvoices ta e.

    urt er, we can o away wit t e use o repeating e s to o t e in ivi ua invoice items on eac invoice. e

    can create a Line Items table to contain a record for each item by defining a relationship based on the invoice

    num er etween t e nvoices ta e an t e ine tems ta e. en we isp ay a recor in t e nvoices ta e,

    we can use t e i e a er ro re ationa capa i ity to isp ay t e set o ine tems recor s w ic ave t e same

    invoice num er as t is invoice. y oing t is, we e iminate t e imitation o aving a xe num er o repetitions

    or t e item ata an we can generate more comp ex reports an queries invo ving t e set o a ine items or

    a invoices.

    page 22

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    24/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    The FileMaker Pro 3-6s relational model is more flexible and more powerful than its original flat file model.

    owever, it sti as imitations. t is not easy to get a ig picture view o t e ata ase an a o t e re ations

    etween t e ta es since t e esigner must e ne every ta es re ations to eac o its re ate ta es separatey

    rom a o t e ot er ta es. is mo e ma es it i cu t to o queries invo ving ot er ta es in t e ata ase. t

    requires extra wor or ata ase esigners w o want to view, wor wit , an per orm queries across a o t e

    ta es in t e ata ase rat er t an on y t ose irect y accessi e rom eac ta e.

    or examp e, it may e o interest to generate a ist o a customers w o ave purc ase a particu ar pro uct.

    o ac ieve t is, it is necessary to o some air y comp ex scripting using mu tip e o to e ate ecor steps in

    a series o su scripts, ui ing mu ti- eys in g o a e s wit uti ity re ations ips at eac interme iate ta e.

    t is a so a imitation o t is mo e t at you cannot irecty access e s in re ate ta es t at are more t anone table away. It is often necessary to create calculated fields or looked-up fields in order to display data.

    nterme iate e s are necessary or every e t at t e esigner wis es to access rom more t an one ta e away

    .

    page 23

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 were asking for the data from the Invoices

    ta e, t e ata ase engine is a e to etermine t e set o re ations ea ing rom nvoices t roug ine tems to

    arts,per orm t e require join an return t e va ue o t e appropriate row. y simp y re erencing arts:: art

    escription, we get t e va ue o t e e rom t e rst matc ing re ate recor . sing porta s we can access

    t e entire set o reate recor s. is re ations ips grap mo e an t e e name qua i cation syntax ta e

    name :: e name is compara e to ow many ot er ata ase systems an anguages inc u ing wor

    with tables and fields in a database. By adopting this model and syntax, FileMaker has become more accessible

    to eve opers accustome to ot er ata ase systems an tra itiona re ationa ata ases.

    page 24

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    26/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    ote t at t is mo e oes not ave t e imitation o t e previous mo e w ere it was not possi e to irect y

    access e s in ta es t at are more t an one ta e away. ere ore, it is no onger necessary to create

    interme iate ca cuate or oo up e s to copy t e ata rom one ta e to t e next. ac ta e now on y nee s

    e s e ne or t e ata t at e ongs to t at ta e. urt ermore, t is mo e a ows muc more comp exqueries to be performed from any point in the graph involving any number of tables in the graph no matter how

    far apart as long as they are somehow related.

    a es on t e rap

    ne constraint o t e re ations ips grap is t at it must not inc u e any cyc es. not er way to say t is is t at

    there must only be one path between any two tables. If more than one path were available from one table to

    anot er, t en it wou not e possi e to etermine t e esire pat y s imp y re erencing t e esire ta e.

    an a itiona re ations ip is esire rom one ta e to anot er, it is necessary to a an a itiona ta e

    occurrence to t e grap , ase on t e same ta e.

    Each occurrence of the table in the graph must have a unique name. Names can be generated by appending

    sequentia num ers i.e., nvoices , nvoices , etc. or t e eve oper can provi e unique names. ote in t is

    examp e t at t ere are two occurrences o t e ontacts ta e, name ustomers an en ors , an a so

    two occurrences o t e arts ta e, name arts an arts .

    page 25

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 isnt generally necessary to refer to a field occurrence, since it is implicit based on usage when one

    is re erring to t e e itse versus re erring to t e particu ar occurrence o t e e on a ayout.

    e at ons ps re ot recte

    The relationships in the relationships graph are not directed. A relationship defined between any two tables

    wor s in ot irections not in just one irection as in i e a er ro . - . . or examp e, using t e same

    grap , one can s ow t e re ate customer ata on an nvoices ayout an s ow t e re ate invoices ata on a

    ustomers ayout.

    owever, many options e ne on t e re ation are irecte . en you e ne or e it a re ations ip etween

    two tables, you have several additional criteria that can be specified including an optional sort order, whether to

    a ow creation o re ate recor s, an w et er to e ete t e re ate recor s in one ta e i a recor is e ete

    in t e ot er ta e. ese options an ot ers must e speci e or one irection or t e ot er or ot . or

    examp e, you may wis to speci y t at i a recor is e ete in ustomers, t at a o t e re ate recor s in

    nvoices are a so e ete . owever, you pro a y o not want to e ete t e re ate recor in ustomers w en

    a recor in nvoices is e ete .

    xterna a es

    n important eature o t is ata mo e is t at t e ta es in t e re ations ips grap o not nee to exist in

    t e same i e a er ro e as t e grap . ta e t at appears in t e grap may actua y exist in a i erent

    i e a er e. is means t at ayouts an scripts can e create in t e same e as t e grap to wor wit t e

    tables in the graph while the data is pulled from an entirely different FileMaker Pro 8 file.

    u t p e a es, u t p e es, an u t p e rap s

    e ore i e a er ro , eac e containe a s ing e ta e. ere ore a ata ase o mu tip e ta es was necessari y

    made up of multiple files. However, any particular file could be used as part of multiple databases. For example, a

    ip o e osta o e ta e mig t e s are an reerence y severa i erent a ta ases.

    page 26

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    28/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    e ata mo e provi es or t e e nition o many ta es in a sing e e. ere ore, an entire ata ase o many

    ta es can e w o y containe in a singe e on is or can span many es, some o w ic ave mu tip e ta es

    i e a er ro a ows t e user to create an use es wit various num ers o ta es. e cou ave on y

    a sing e ta e an appear muc i e es rom previous versions o i e a er ro, or it cou com ine mu tip eta es into one e an sti access ta es in ot er es.

    e important t ing to note ere is t at, just i e in previous versions o i e a er ro, eac e as its own

    view of the relations of the database. This means that each file has its own relationships graph that may or may

    not correspon to t e re ations ips grap s o ot er es in t e ata ase. or examp e, t e re ations ips grap

    given ear ier o nvoices, ine tems, ustomers, an arts eing a re ate toget er mig t e t e re ations ips

    grap o just t e nvoices e. e arts ta e mig t exist in a separate arts e an ave its own in epen ent

    re ations ips grap invo ving a se re ation to s ow parts ma e up o su parts. e esign an organization o

    t e ata ase is up to t e esigner.

    The first reason that each file has its own relationships graph is to provide backward compatibility withata ases create in previous versions o i e a er ro. n t e re ationa mo e o i e a er ro - eac e

    contains t e set o re ations etween its ta e an t e ta es in t e ot er es. ere was no requirement t at

    a given ta e a to e ne t e same set o re ations to ot er es t at were e ne to it. is is a so true wit

    t e re ations ips grap mo e . ot on y oes t is a i ity ma e conversion o ata ases to i e a er ro

    possi e, it a so is very reasona e. ere is no reason or a e containing a ip o e ta e or mp oyee ist,

    etc.) to be aware of and define reciprocal relations to every other table that has a relation to it.

    e secon reason t at eac e as its own re ations ips grap is t at i e a er ro as a ways a owe

    eac i e a er ro e to e opene an mo i e in epen ent y o a ot er i e a er ro es. i e a er

    ro oes not require t at a es re erence or a es t at re erence a given e e present in or er to

    use or mo i y t at e t oug it wi oo or re erence es w ic are missing, t e eve oper can cance

    and proceed). FileMaker Pro 8 also does not require that one have design access to all files involved in theata ase in or er to ma e esign c anges to one o t e es. is is rea y important w en mo i ying a e t at

    is accesse y many ot er ata ases. t wou e unreasona e to require a t e ot er es to e up ate to

    accommo ate sc ema c anges. ere ore, eac i e a er ro e sti as its own set o re ations in t e orm

    o t e re ations ips grap . e re ations ips grap in eac e can e mo i e in epen ent o w et er any

    page 27

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    29/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    ot er es re erence t is e.

    t is wort noting again t at a re ations ips grap nee not e u y connecte . ere can exist in t e grap

    groups o ta es t at are connecte to eac ot er ut not to ot er ta es in t e grap . ere ore, a singe e

    can act as i it as mutip e reations ips grap s. ac isconnecte su -grap is, in a way, its own in epen ent grap .

    So, to summarize, a database can be built on one or more files. Each file can contain zero or more data tables.

    ac e as its own re ations ips grap t at can contain isconnecte grap s. cripts an ayouts e ne in t e

    same e can a ta e a vantage o t at es re ations ips grap , as can ca cu ations in ta es t at are in t e same

    e as t e grap .

    eparate ew an ata es

    re ations ips grap can inc u e externa ta es ta es in ot er es an its not necessary to ave any ta es

    e ne in a e at a you can e ete t e initia e au t ta e . is means t at it is possi e to create a i e a er

    ro e t at contains no ata ta es at a ut as a re ations ips grap t at re ates a num er o ta es e nein externa es. is e can sti ave a comp ete set o ayouts an scripts t at ma e use o t e ata ta es in

    t e grap . e resu t is t at a t e ata ta es cou e in one e an a t e ayouts an scripts cou e in

    another file.

    is a ows a eve oper to easi y rep ace t e ayouts an scripts e wit out a ecting t e ata es. owever,

    t ere is a imitation ere. e e e nitions are part o t e e nitions o t e ata ta es an are t us part

    of the data file. This means that changes to the data table fields must still be made in the data table files

    t emseves.

    s ng t e e at ons ps rap

    ne imp ication o t is re ations ips grap mo e is t at it is a ways necessary to provi e t e context rom

    which references in the relationships graph should be evaluated. For example, each layout in a database file muste e ne to isp ay recor s rom a particu ar ta e or a particu ar occurrence o a ta e in t e grap . nce

    t is starting point as een esta is e , it is t en possi e to re erence any e in any ta e in t e grap as ong

    as it is re ate even very in irect y to t e starting point.

    page 28

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 layouts 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 calculations field references

    s ou e eva uate rom. n t e case o cacu ations e ne as part o a e s e nition, t e ase ta e is

    a rea y nown -- it is t e ta e t at t e e is e ne in. owever, i t e ta e appears in t e grap more t an

    once, it is sti necessary to speci y w ic occurrence o t e ta e in t e grap s ou e use to evauate t e

    ca cu ation.

    A Complex Example

    e o owing is a more comp ex examp e t at can e use to emonstrate some o t e power an some o

    t e intricacies o using a re ations ips grap . is ata ase is inten e to manage c asses, stu ents, teac ers,

    assignments, an gra es.

    We can start with the basic tables: Classes and Students. Since each class will have many students enrolled in it

    an eac stu ent wi e enro e in mu tip e c asses, we nee an interme iate ta e, nro ment, to provi e t e

    pairings in t is many-to-many re ations ip.

    ow, its wort noting t at someone w o oes not ave a ot o experience wit re ationa ata ase esign

    cou stop ere wit t ese ta es an ave a per ecty reasona e so ution or trac ing enro ment o stu ents

    in c asses. is person mig t a so create a itiona ta es or teac ers an assignments an not even try to

    relate them all together in some meaningful fashion.

    page 29

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    31/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    e grap we ave so ar a ows us to create a ayout ase on t e asses ta e w ere we s ow t e set o

    stu ents enro e or eac c ass. is wou e accomp is e y speci ying t e asses ta e w en creating

    t e ayout. e ta e assignment cou e ater mo i e in t e ayout etup ia og. en, a porta wou e

    create on t e ayout an t is porta wou e e ne to raw its recor s rom t e ta e tu ents. ote t atit is never necessary to speci y any o t e interme iate ta es. y speci ying a ta e in t e re ations ips grap ,

    FileMaker Pro 8 can determine the set of relations between the starting table and the requested table to find

    t e set o re ate recor s. n t is case, t e nro ment ta e is t e on y interme iate ta e in t e set o re ations

    etween asses an tu ents. o comp ete t e creation o t is ayout, a set o e s rom asses i e t e c ass

    name an a set o e s rom tu ents i e t e stu ent name wou e p ace on t e ayout as esire . n t is

    same manner, we can create a ayout ase on t e tu ents ta e t at s ows t e set o c asses eac stu ent is ta ing

    is examp e can e ta en urt er y a ing in a ta e or eac ers t at a so ene t rom a one-to-many

    re ations ip. ac teac er can teac many c asses ut eac c ass as on y one teac er.

    ow t is a ows us to mo i y our ayout ase on t e asses ta e to inc u e t e name o t e teac er

    assigne to t is c ass y mere y p acing t e ame e rom t e eac ers ta e eac ers:: ame on t e ayout.

    ince t e re ations ips grap speci es t e set o re ations etween asses w ic t e ayout is ase on anTeachers, FileMaker Pro 8 can perform the necessary operations to come up with the set of matching records.

    eac ers:: ame is p ace irect y on t e ayout not in a porta , i e a er ro wi isp ay t e ata rom t e

    rst matc ing re ate recor . e e eac ers:: ame cou a so e a e to t e tu ents ayout just as easi y

    to ispay t e teac ers name or eac c ass t at t e stu ent is ta ing.

    page 30

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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

    tables file and create a lot of intermediate fields in each of the tables between Students and Assignments inor er to propagate t e ata a t e way over rom t e ssignments ta e. it a re ations ips grap , we can jus

    re erence t e esire e irect y.

    ontext or e s sp aye n a orta

    owever, isp aying t e ass ames or eac o t e ssignments in t e same porta cannot e accomp is e

    simp y y p acing t e ame e rom t e asses ta e in t e porta . ie vaues rom interme iate ta es

    in t e grap are eva uate ase on t e ayouts ta e, not t e porta s ta e. t e c ass name is p ace in t e

    porta , t en every row wi isp ay t e same vaue, t at is, t e va ue rom t e rst re ate c ass, w ic is not

    w at is inten e .

    page 31

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 portals table or in a table eyondthe portals table

    in the graph (beyond from the perspective of the layouts table). To display the class name that is related to

    t e ssignment, it is necessary to create anot er ta e occurrence o t e asses ta e, an to re ate t at ta e

    occurrence to t e ssignments ta e.

    page 32

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 records table to the fields 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

    portals 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, were going tocreate a cyc e in t e grap .

    cyc e cannot e a owe in a re ations ips grap since it wou mean t at t ere is more t an one pat

    etween any two ta es in t e grap .

    page 33

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    35/138

    Upgrading to FileMaker 8: grat on oun at ons an et o o og es

    or examp e, i t is grap were a owe it wou no onger e possi e to s ow t e set o stu ents enro e in

    a c ass y mere y e ning a ayout to e ase on asses t e starting point an e ning a porta to e ase

    on tu ents t e en point . ere wou e more t an one way to get rom t e starting point to t e en ing

    point and, depending on the data and the relations between the tables, each path may result in a different set of

    recor s.

    ince t ere can e on y one pat etween any two ta es in t e grap , t e attempt to re ate one ta e to

    anot er ta e more t an once must resu t in t e creation o anot er occurrence o t e ta e in t e grap .

    page 34

  • 7/23/2019 Techbrief Fm8 Migrtn Found

    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 organiz