1 2 Previous Next 16 Replies Latest reply on Oct 1, 2015 5:52 AM by wimdecorte

    Network sharing Container field does not display data.

    MM400

      Hello to all,

       

      I am a new to this forum. I am having problem displaying container fields data (.pdf files) on remote database.

       

      There is a file name in the container field with text "there is no such file". The FM Pro 14 looks for the file on a local computer.

       

      The pdf files are stored while data input in the container as a reference to a file. There was no option specified for the container field to "Store the files externally"

       

      Does anyone can help with the solution.

       

      Regards

        • 1. Re: Network sharing Container field does not display data.
          wimdecorte

          If you store containers "as a reference" then you can not save as external container data.

           

          The reference is strictly from the machine on which the container data was inserted.  So if you insert something from your desktop, nobody else will be able to see it or use because they do not have access to your desktop.

           

          If you want to share container data across multiple users, don't use "as reference".

          • 2. Re: Network sharing Container field does not display data.
            Mike_Mitchell

            Building on Wim's reply, if you're using a network share for the external assets, everyone who might have need of them will also have to have access to the share, and will have to map a drive to the location. It's not really a good idea, but I've had little luck talking people out of doing it.  

             

            External storage works only if the file is hosted on FileMaker Server (which is really the best path to take if you're in a multi-user environment).

            • 3. Re: Network sharing Container field does not display data.
              MM400

              Thank you both for the input.

               

              If the container field uses "external storage" - What is stored in a database, I guess a reference.

              So it is a way how FileMaker access data in the container, I was not aware of that as I am coming from OO programming where is quite common to use a references for large objects (BLOBS)  (reference itself had meaning storing data external to database) - and the business logic (app engine) accesses the data on behalf of client request - Not a client directly - Here in FM I noticed client access the data - it is not served by FM host.

               

              So whatever, I have to come with a solution since there was a large amount of work already done and access to container fields needs to be shared among multiple users.

               

              If I share a drive and map it to the stored documents - client FM still looks on the local computer: - Is there a way to specify for a local computer where to look for a data of remote database?

               

              I was planning to export data - correct options in the container field then import back - the question is whether FM will export corresponding files based on the stored references?

              • 4. Re: Network sharing Container field does not display data.
                MM400

                Mike, If I use a FM Server 14 would that make more efficient and easier to find a way around of the described problem?

                 

                Thanks

                • 5. Re: Network sharing Container field does not display data.
                  Mike_Mitchell

                  FileMaker has two "axes" for asset storage, if you will:

                   

                  Embedded vs. reference

                  External storage vs. internal storage

                   

                  The former choice was pretty much always available in FileMaker. If you store the asset as a reference, FileMaker will store a path to the asset in the container field. That path will be specific to the OS and, for example on Windows, will often require a drive mapping and access by any user who needs it. This makes it a poor choice for a multi-user environment.

                   

                  If you store the asset as embedded, the entire object is stored inside the database. This makes the data available for any user, but carries an annoying cost: Database bloat and, often, instability.

                   

                  To solve these issues, FileMaker introduced external container storage in version 12. This option, as I mentioned, is available only if you host the file using FileMaker Server, but it allows FileMaker Server to take over the chores of storing the asset and defining the file path. It solves the old problems, because no drive mapping or access issues crop up (any user with appropriate permissions, as set in the database security schema, can access the asset), and the database doesn't bloat (because the asset is stored external to the database).

                   

                  Whenever you store the asset externally, you don't have the option to store the asset as a reference. You only store it "in the database", but you use external storage (which can be confusing). So the reference option is essentially off the table when you use the externally managed containers.

                   

                  Hope that helps clear things up.

                   

                  Mike

                  1 of 1 people found this helpful
                  • 6. Re: Network sharing Container field does not display data.
                    MM400

                    Thank you MIke.

                    I am not confused with references - this is just how FM handles requests.

                     

                    As I understood there was 2 options in earlier versions (store a file in a database or store only a reference) - That option existed when you save the reference or a file in the container. (there was the option of two checkboxes (file or a reference) in the dialog for saving)

                     

                    As you said FM added a new option "Store data externally" in FM 12.

                     

                    The database what I am having problem with was originally developed in FM 7. - the container data is external it is not in the same folder where database is. In my opinion this is only a path to a file that needs to be specified - however I did not found where to specify a file location - FM stores information internally. (I will try to export data - possibly I will find in the .csv file a file path.

                     

                    But as a way around I will be quite happy at this moment if I could map network drive as you suggested - that client FM users can open and read .pdf files stored in the container. The files on the client FM are still displayed from Remote Database but the client FM looks for the container files locally. I guess there should be a way how to tell local FM where to look for a container file.

                     

                    I will try, as you suggested to use FM Server too.

                     

                    Thanks again.

                    • 7. Re: Network sharing Container field does not display data.
                      Mike_Mitchell

                      The drive mapping will only work if it points to a shared drive. As Wim mentioned earlier, if it's something local, like the C: drive, then it's going to fail (because C: for the computer where the database lives is different from C: for the client).

                       

                      The same issue will apply if you don't exactly match the mapping on different clients, even if the paths mapped are identical. So if one user points the M: drive to the directory, and someone else uses N:, you've got a mess. This is why "by reference" isn't a good option for a multi-user environment.

                      • 8. Re: Network sharing Container field does not display data.
                        wimdecorte

                        MM400 wrote:

                         

                        Mike, If I use a FM Server 14 would that make more efficient and easier to find a way around of the described problem?

                         

                         

                        No, not fundamentally.  The "external storage/remote container" mechanism is the same in 14 as in 12.

                        13 and 14 allow more flexibility as to where the remote container folder can be on the hard drive.

                        • 9. Re: Network sharing Container field does not display data.
                          wimdecorte

                          MM400 wrote:

                           

                          Thank you both for the input.

                           

                          If the container field uses "external storage" - What is stored in a database, I guess a reference.

                           

                           

                           

                          No.  And Yes.  How filemaker "references" an "externally stored" container is by reference I'm sure but that is irrelevant.  For all intents and purposes it looks like the container data is embedded in the container field.  "External storage" or "Remote Container data" is a feature managed by FMP and FMS, not by you.

                           

                          It does not work like inserting a container field "by reference" and any kind of OS-level network sharing.

                          • 10. Re: Network sharing Container field does not display data.
                            wimdecorte

                            MM400 wrote:

                            coming from OO programming where is quite common to use a references for large objects (BLOBS)  (reference itself had meaning storing data external to database) - and the business logic (app engine) accesses the data on behalf of client request - Not a client directly - Here in FM I noticed client access the data - it is not served by FM host.

                             

                            Your understanding here is not correct.

                             

                            It still is the FMP client / business logic / app engine that makes the request for the container data.

                            The FM file itself is hosted by FMS and if you use the Remote Container data feature it is FMS that retrieves the BLOB from its hard drive and presents it to the user.  Same if the container data is embedded in the FM file.

                             

                            If you insert "by reference" then it is still the FMP client / business logic that retrieves the container data but from the path specified when the container was inserted.   FMS does not come into play here because it does not have the container data stored itself, it has only has the reference path to it and gives that to the client to resolve.  If the path is such that it can not be resolved by the client then you have a problem, as Mike has explained.

                             

                            So it seems to me that you are confusing the "insert by reference" feature of a container with the "remote container" feature.  Two very different things.

                            • 11. Re: Network sharing Container field does not display data.
                              wimdecorte

                              MM400 wrote:

                              I guess there should be a way how to tell local FM where to look for a container file.

                               

                              There is, but you have to choose that when you insert the data.

                               

                              FM will look for the container file where it knows it is stored.

                               

                              - if it is embedded, then that is easy; it's integral part of the data

                              - if it is embedded by stored remotely through the Remote Container data feature; FMS manages the location and will retrieve the file for you

                              - if it is referenced, FMP will try the path from where it was inserted

                               

                              It sound to me that you should get away from referenced container data and switch over to using the remote container data feature.

                               

                              This might help:

                              From References to Embedded Container Data - Soliant Consulting

                              • 12. Re: Network sharing Container field does not display data.
                                MM400

                                wimdecorte wrote:

                                 

                                MM400 wrote:

                                 

                                Thank you both for the input.

                                 

                                If the container field uses "external storage" - What is stored in a database, I guess a reference.

                                 

                                 

                                 

                                No.  And Yes.  How filemaker "references" an "externally stored" container is by reference I'm sure but that is irrelevant.  For all intents and purposes it looks like the container data is embedded in the container field.  "External storage" or "Remote Container data" is a feature managed by FMP and FMS, not by you.

                                 

                                It does not work like inserting a container field "by reference" and any kind of OS-level network sharing.

                                Even if the container data is embedded - the client FMP should access that remotely. It looks like on the client computer is only displayed a snapshot of the front end of the container field. I agree that "remote container data" is managed by FMP - the question is how would I correct a stored wrong path on clients' FMP?

                                • 13. Re: Network sharing Container field does not display data.
                                  Mike_Mitchell

                                  Wim has answered that question at the linked page.

                                  • 14. Re: Network sharing Container field does not display data.
                                    MM400

                                    wimdecorte wrote:

                                     

                                    MM400 wrote:

                                    coming from OO programming where is quite common to use a references for large objects (BLOBS)  (reference itself had meaning storing data external to database) - and the business logic (app engine) accesses the data on behalf of client request - Not a client directly - Here in FM I noticed client access the data - it is not served by FM host.

                                     

                                    Your understanding here is not correct.

                                     

                                    It still is the FMP client / business logic / app engine that makes the request for the container data.

                                    The FM file itself is hosted by FMS and if you use the Remote Container data feature it is FMS that retrieves the BLOB from its hard drive and presents it to the user.  Same if the container data is embedded in the FM file.

                                     

                                    If you insert "by reference" then it is still the FMP client / business logic that retrieves the container data but from the path specified when the container was inserted.   FMS does not come into play here because it does not have the container data stored itself, it has only has the reference path to it and gives that to the client to resolve.  If the path is such that it can not be resolved by the client then you have a problem, as Mike has explained.

                                     

                                    So it seems to me that you are confusing the "insert by reference" feature of a container with the "remote container" feature.  Two very different things.

                                    In your link what you posted FMP admits that until FMP 13 could not serve container data to the client. So the host was not able to retrieve, on behalf of the client request the data from the references which is stored. That problem was solved in FMP 13.

                                     

                                    In the same link there was the answer to my question: How to fix already stored references on host for the network clients.

                                     

                                    Thank you.

                                    1 2 Previous Next