11 Replies Latest reply on Jan 29, 2010 6:38 PM by user14360

    Users connected by local Filemaker network don't see records in a portal

    user14360

      Title

      Users connected by local Filemaker network don't see records in a portal

      Post

      Hi,

       

      I've encountered what seems to be a very strange problem.  I'll report it in the bug section if no-one is able to offer a solution - hopefully I'm just missing something obvious.

       

      The basic problem is that I have a layout with two portals on it.  In the second portal, there is the record of an invoice number.  I see this fine on my local copy of the database.  However, when I share this database to another user via the local Filemaker network, another user connected, looking at the same layout and the same record, is unable to see the invoice number record in the portal.

       

      I sent the file to this other user to view locally, and he can view the invoice record fine locally.

       

      I then connected to the database with HIM sharing it, and he could see the invoice record fine, but I couldn't.

       

      I went and checked the relationships and IDs, and checked each respective record to make sure the IDs had entered correctly, and they had.

       

      Both of us have exactly the same access privileges, and none of the relationships are based on the username/account either.  (Just to check, I shared the database locally and got him to login to at as me as well, and the same thing happened - he couldn't see the record.)

       

      The relationships are quite complex, so I'll take a bit of time to write them out, but in the meantime, has anyone come across anything like this?

       

      I can't for the life of me think what it could be. 

       

      Filemaker Pro 10 Advanced, Mac OS X. 

       

       

        • 1. Re: Users connected by local Filemaker network don't see records in a portal
          user14360
            

          Relationships:

           

           

          The layout is based on the "Retailer" table occurrence, which has the record of a particular retailer.  

           

          There is a one field portal to a "Purchase Order" table (the table occurence is called rgi_PO and 'allow creation' is checked on the Purchase Order table side).  This relationship is based on:

           

          Retailer::kp_RetailerID = PO::kf_RetailerID

          Retailer::gYear = PO::PO_Year

          Retailer::gQuarter = PO::PO_Quarter

          Retailer::z_gMDF  = PO::PO_Type

           

          (z_gMDF is a calculation to be the text of "MDF")

           

          The user enters a PO number into this one field portal, which creates the PO record in the Purchase Order table.

           

          Then there is another portal extending out from the rgi_PO table occurence called "rgi_pos_INVOICES", which is a table of invoice numbers that are connected to this Retailer and PO number.  This relationship is based on:

           

          rgi_POs::kf_ID_PO = rgi_pos_INVOICES::kf_POIDSerial

          rgi_POs::kf_RetailerID = rgi_pos_INVOICES::kf_RetailerID

          rgi_POs::z_MDFtype  = rgi_pos_INVOICES::Type

           

          kf_ID_PO is an automatically generated serial number, and rgi_pos_INVOICES::kf_POIDSerial has this serial number put into it when the invoice record is created.

           

           

           

          • 2. Re: Users connected by local Filemaker network don't see records in a portal
            davidanders
              

            That is farely intense.

            I would Save as the database.

            Open that that saved as copy on each computer and test on each hosting computers.

            Keeping a good journal for the process. 

            • 3. Re: Users connected by local Filemaker network don't see records in a portal
              user14360
                

              Yes, I did that already.  I zipped the database (which created the copy) and sent that file to the other user, who then opened it up and we tested it that way.  Same thing - the person hosting it can see the invoices but the person connecting can't.

               

              I just went through again and checked that all the data that the relationships are based on is correct, and it is.  Edit: and the connected user CAN see the invoice record when they navigate to a table view of the invoice records, based on the invoice table.

               

              I also made sure a refresh script (commit records, refresh window (flush cached join results)) was being run after an invoice had been created. 

              • 4. Re: Users connected by local Filemaker network don't see records in a portal
                philmodjunk
                   Are you using Instant Web Publishing to see the hosted file or connecting via a Filemaker Client?
                • 5. Re: Users connected by local Filemaker network don't see records in a portal
                  deltatango
                    

                  Hildy, are you setting the global fields with a script when the file opens? Or are they typed in by the user?

                   

                   

                  • 6. Re: Users connected by local Filemaker network don't see records in a portal
                    user14360
                      

                    It is being connected to by a Filemaker client, not IWP.

                     

                    The gYear and gQuarter globals are set by a script at startup to the current quarter and year.  The user then clicks on arrows to move forwards and backwards quarters via scripts.

                     

                    The z_gMDF and z_MDF fields in the Retailer and Purchase Order table USED to be a calculation field returning the word "MDF" as text.  However, once you mentioned that, I played around with making them text fields and setting them on startup.  (This is a field that the user never sees or edits - it's just used to be able to make sure the invoices we see here are of the type "MDF" rather than some other ones in the database.)

                     

                    With this change, I've got someone connected now and it seems to be working!  Good news.  I'll test a bit more, but perhaps the MDF global fields being calculations was the problem.

                     

                    Can anyone think why?  It seems very strange that I could see it but not connected users.

                     

                     

                    • 7. Re: Users connected by local Filemaker network don't see records in a portal
                      deltatango
                        

                      When it was a calculation field, you might have has it set as a number. You have to specify what your calculation returns, i.e., number, text, container, etc.

                       

                      See below the text box where you type your calculation, there is a menu there.

                       

                      Also, use a global field better than a calculation. It will be faster. Just set it at file open. 

                      • 8. Re: Users connected by local Filemaker network don't see records in a portal
                        user14360
                          

                        The calc was set to return text.  But yes, fair point about setting the global field on open.  It seems to have done the trick!

                         

                        (Although I'm still curious to know why the calc field would have caused that particular issue.) 

                        • 9. Re: Users connected by local Filemaker network don't see records in a portal
                          deltatango
                             did you have indexing on? if not, this could be it too.
                          • 10. Re: Users connected by local Filemaker network don't see records in a portal
                            philmodjunk
                              

                            Global fields behave differently when the file is shared over the network instead of on a single user machine (or the host). That's probably why things behaved differently. Your script to set the values is now making sure both guest and host machines have the same values in the global field.

                             

                            See this knowledge base article for more on the subject: http://filemaker.custhelp.com/cgi-bin/filemaker.cfg/php/enduser/std_adp.php?p_faqid=3604

                            • 11. Re: Users connected by local Filemaker network don't see records in a portal
                              user14360
                                

                              Thanks for the link Phil.  Yes, I understand that the global fields can be different in a multi-user session.  This was why I made the field a calculation returning the text I wanted, figuring that it was the easiest way to make sure the global field has in it what I wanted.  I don't understand why the relationship would behave differently with a connected user.  Indeed, I checked to make sure that "mdf" was appearing in the global fields from the connected user point and view when they were still calculations, and it did appear.  So the data was there, but for some reason it meant the relationship wasn't working properly.  

                               

                              Deltatango - I checked an older version of the database, and when the field was a calculation, I did have it set to being a global as well, so there was no option for indexing.  Perhaps this is a conflict, being global and a calculation. 

                               

                              So the problem seems to lie with the field being a calculation, but if that was the problem, and given that for the connected user the word 'mdf' DID appear in the calculation field, then I don't understand why it would work for the person hosting the database - shouldn't it not have worked for them too?

                               

                              I'm happy it's fixed, but I'd like to understand why.

                               

                              Thanks for everyone's input.