Copy + Paste a Group of Functionality (Tables, Fields, TOs, Scripts, etc. ) together

Idea created by mrwatson-gbs on Jan 6, 2016



    New functionality usually comprises several types of filemaker objects, tables, fields, TOs, CFs, Scripts, layouts or layout objects, etc.


    When transferring a single new functionality one has to copy and paste each of these different objects one after the other, which often leads to broken links (or very complicated process)




    We need a method to bring all the various bits and pieces of a function together under one title, so that they can be copied and pasted as one object (a "Functionality" or maybe a "Module").


    When pasting such a "Functionality" into a database,


    • ALL the objects are pasted in TOGETHER
    • the objects should RETAIN their references to each other! <= important
    • it must be implemented in a way which makes it possible to add the bits to the right places bit by bit whilst retaining their internal references.
    • it may be necessary / useful to be able to decide if an object be inserted/created or REPLACE an existing object


    The details of HOW this group of objects is inserted into the destination database needs to be thought through, but here is a first idea...


    For example:


    • Let's say a new function "Show Last Error" is developed in File A comprising a Field, a Button and a Script.
    • Having created the field + button and script in file A the user then creates a new Functionality "Show Last Error" object in File A, and adds the 3 objects to it (also by copy + paste?)
    • Functionality "Show Last Error" is then copied out of File A and pasted into File B, where it appears in the list of functionalities.
    • The user is then prompted to insert the bits into the correct place
      • The field into the destination table
      • The script into the scripts list (could be automatic as there is only one list?)
      • The button into a destination layout
    • Where there is a match between pasted objects and existing objects, the user can be given the option to
      • use the existing object
      • create a new object (Script "Show Last Error 2")
      • overwrite the object (changing it's CONTENTS whilst maintaining the original internal ID)




    • Simplified deployment of functionality / GROUPS of objects
    • Deploy functionality error free to files where some of the objects already exist
    • Less errors
    • More productive developers


    Use Cases


    • Deployment of new functionality to deployed solutions
    • Duplication of similar functions across files in a multiple solution
    • Transfer of developed and tested new functionality from a duplicated BRANCH database to the master TRUNK database.


    This Idea is an extension to the idea Make Copy + Paste just work and a possible alternative or step on the way to the Update Deployed Solutions Idea