12 Replies Latest reply on Feb 12, 2014 11:53 PM by keywords

    Starter Solutions: Reverse Engineering

    deebol

      Hi there

      Has anyone come across tutorials (or similar) which have taken apart the FileMaker Starter Solutions step-by-step?

      I'm working with the Invoice Starter Solution, and could easily (probably) get away with fudging a modified solution from it. But, to be honest, I like to know exactly what I'm doing, and like to be in control. I also find this approach to be the best way to learn (for myself anyway).

      Anyone have any ideas, or seen this done somewhere in a book or similar? Or would I be better off coming here with questions as I go?

      Best -- Dee

        • 1. Re: Starter Solutions: Reverse Engineering
          Malcolm

          Has anyone come across tutorials (or similar) which have taken apart the FileMaker Starter Solutions step-by-step?

           

          That’s what they are there for. Tear them apart, extend them, improve them and learn from the process.

           

          If you want a more guided tutorial look for the FileMaker Training Series. If you are a paid technet member it should be somewhere amongst the resources that you can download.

           

          Malcolm

          • 2. Re: Starter Solutions: Reverse Engineering
            beverly

            If it helps, you can print (to PDF) the scripts, tables/fields and graph. Then study the value lists, custom functions (if any) and other items under the Manage menu.

             

            That's your basis.

             

            The layouts are also loaded with features: how the fields are formatted (checkbox, etc), how the portals may be sorted and filtered, how tab panels are used (fm13: how sliders and popups are used), how script triggers and conditional formatting are used, how buttons are calling script steps and scripts.

             

            If you feel more comfortable, duplicate a layout before revealing the various objects in Layout Mode.

             

            Dive in! It's a good way to learn.

             

            -- sent from my iPhone4 --

            Beverly Voth

            --

            • 3. Re: Starter Solutions: Reverse Engineering
              Mike Duncan

              Right on, Beverly. Also, 13 introduced a lot of new things, especially concerning how we built layouts... styles and themes, popups, sliders, the ability to hide objects conditionally, backgrounds images, etc...

               

              I'm sure there will be some emerging best practices concerning working with layouts. Like grouping objects in a containing object (slider, tabs) when hiding conditionally, so you reduce load of evaluating objects when loading the layout. Just one example.

               

              The included templates with 13 have some good examples to look at, they make a good starting point to learn.

              • 4. Re: Starter Solutions: Reverse Engineering
                deebol

                Hi Beverly

                 

                Yes, agreed on your approach there. I understand the methods of interrogating solutions, however…I may not have explained myself very well in my original post.

                 

                I've got various e-books, done some training in Lynda.com and nearly gone mad trying to understand everything that FileMaker can do. The starter solution for Invoices is a clever beast, and I've come a long way in understanding how it works.

                 

                It would be good, being someone who has been learning FileMaker over the past few years, to see ERDs for the solutions, plus where are the Primary and Foreign Keys? I see some that could be equivalents, but I'm sure you seasoned users would probably scoff at such things as pk and fk.

                 

                But back to the problem at hand:

                 

                So, the issue I have now come to blows with, is understanding how the portal in Desktop > Invoice Details, can be populated with imported data from an Excel file.

                 

                Can a portal have data imported into it?

                 

                At the moment, all I can do is create a new layout showing Invoice Data (there isn't one in the original solution, probably because it wasn't designed for importing data?), and import to that. For some reason, I'm then expecting the data to show up in the portal, but it remains blank.

                 

                These are the sort of things that are stumping me. Can you give me a pointer?

                 

                Best -- Dee

                • 5. Re: Starter Solutions: Reverse Engineering
                  psijmons

                  Dee,

                  When you do an import, you must be on a layout that is based on the table where you want the data to go to.

                   

                  What I usually do is create a new table based on the first row of your excel file, you will see this option when you open an excel file in FMpro, (and keep that as the template), then do the import.

                  In a next step, you create a script that validates the imported data where possible and move the data to new records in your regular tables.

                   

                  So in this case, each row in your excel should have a field that indicates the invoice number, then the invoice item number etc.

                  • go to invoice layout, check if invoice nr is present, if not create new record

                  • set the invoiceID in a variable $InvoiceID

                  • go to invoice detail table, create new record, set the foreign key with $InvoiceID and add invoice detail data

                  • go back to your import buffer table and move to the next record

                  • loop untill all rows are finished.

                   

                  Also, you will probably connect this to client data, so you include steps to see if the client name is already in the database,

                  • if not create new

                  • set $companyID in variable

                  • add this variable to the invoice when a new invoice needs to be created.

                   

                  You can build in all sorts of error traps, aborts etc e.g. when a date field is not properly entered as a date (which opens a new can of worms when workng from Excel) or an invoice nr is not properly formatted or some field may not be empty, etc. You will stumble upon situations you did not expect so debug debug and debug a bit more.

                  1 of 1 people found this helpful
                  • 6. Re: Starter Solutions: Reverse Engineering
                    MichaelManousos

                    filemaker 13 includes many well written examples to learn and expand

                    • 7. Re: Starter Solutions: Reverse Engineering
                      deebol

                      Hi psijmons

                       

                      Thanks for the reply.

                      psijmons wrote:


                      When you do an import, you must be on a layout that is based on the table where you want the data to go to.

                       

                      Understood, I mentioned the following in my last post…

                      At the moment, all I can do is create a new layout showing Invoice Data (there isn't one in the original solution, probably because it wasn't designed for importing data?), and import to that.

                      Maybe I'm learning some things after all?

                       

                      So, given the rest of your message, and ideas about scripts, I have to be honest and say I wouldn't know where to start!

                       

                      Is there a place in these forums more suited to this type of scripting challenge?

                       

                      Could someone like myself really learn how to script something like what you're proposing? My background is in design and I learned a very long time ago, when it comes to coding, leave it to the experts! And that being said, I'm fast approaching hiring someone to help.

                      • 8. Re: Starter Solutions: Reverse Engineering
                        beverly

                        Hire someone to train you not just do it for you!

                         

                        -- sent from my iPhone4 --

                        Beverly Voth

                        --

                        • 9. Re: Starter Solutions: Reverse Engineering
                          deebol

                          Agreed -- so are you willing and able? Or something not allowed on theses forums?

                           

                          Sent from my iPhone

                          • 10. Re: Starter Solutions: Reverse Engineering
                            beverly

                            While I work worldwide via internet/remote, I thought you may wish to find someone near you. A little face-time often helps.

                            The FMI site lists developers and you may certainly post requests/recommendations to this forum and others.

                            You may post messages privately to the forum users, if you prefer. Many if us work together and/or send potentials clients to each other where we think they might fit.

                             

                            -- sent from my iPhone4 --

                            Beverly Voth

                            --

                            • 11. Re: Starter Solutions: Reverse Engineering
                              deebol

                              Hey -- it's me again! I know you've missed me

                               

                              Anyway -- just dropped in to say I've managed to write myself a script that does what I want it to do.

                              May not be the best way, but it works.

                               

                              The answer for me lay in your help psijmons, so thank you very much for giving me the seed of a solution.

                               

                              I used FileMakers help pages on the web and the document "fmp12_scripts_reference.pdf"

                               

                              Plus, lots of hair pulling and "gentle discussion" with my partner (an IT professional).

                               

                              So, is it forum protocal to post the answer? I don't mind sharing.

                              • 12. Re: Starter Solutions: Reverse Engineering
                                keywords

                                The answer for me lay in your help psijmons, so thank you very much for giving me the seed of a solution.

                                 

                                Good of you to acknowledge help on this forum. There's not enough of that! Apart from the above, what about also tagging his answer as correct, or at least helpful, so that he gets whatever brownie points are on offer.