1 2 Previous Next 17 Replies Latest reply on Sep 14, 2016 8:50 AM by Johan Hedman

    Get(accountName) for Web Direct login & Subscription-based connection?

    ezeitgeist

      I am venturing into Web Direct momentarily, and trying to figure out the best route to redirect Users to their records only. I'm assuming it is an onLoad script that includes Get(AccountName) and Go To Related Records. Is it as simple as that or is there a best practices route?

       

      Also, if I am using Web Direct, temporarily, as a subscription-based site for Users, is there a recommended 3rd-party site/intermediary, that is recommended? And, if so, is there any specific change to the above login scripting to integrate it in smoothly for Users? I have heard that if the site is just a check-in style site that 5 concurrent users equals about 100 site users with only minimal potential lag. Does that hold for multiples of 5 or is there an accepted approx concurrent user to overall users possible algorithm?

        • 1. Re: Get(accountName) for Web Direct login & Subscription-based connection?
          Johan Hedman

          You should do the same way as you do in FileMaker Pro. In each table have a field for AccountCreator. When creating a record save Get(AccountName) to that field. Have script triggers on each layout/search that adds a search into that field and user will only see there records.

           

          There is no third party for logging in at FileMaker WebDirect. They need to go through the login part. The only other choice is to have a Guest account but then you loose all security for your solution and anyone can enter/delete information to your database.

           

          Have a look at my DevCon session from this year and learn more

          WEB002 - Prepare Your Custom App for FileMaker WebDirect - Johan Hedman

          • 2. Re: Get(accountName) for Web Direct login & Subscription-based connection?
            ezeitgeist

            Thanks for the session link, read through and am checking out the fmp projects associated as well!

             

            I have my project setup so that the landing page is a Dashboard and every window or layout opened from the Dashboard is a related record. Since they will already be in a related record scenario, do I need the Get(AccountName) in anything other than navigating them to their singular Dashboard on signing in? [Each table does have the User_ID that is associated. If I understand correctly, if they are already in their related records in a table, when a new record is created it will already use their User_ID. Let me know if I am wrong about that, though.

             

            If that is the case, I think all I need is to get them to their specific User_ID-associated Dashboard. If I follow, the AccountName should be the same as their User_ID. Then I just use the Get(AccountName) on load of the project (which they have to sign in using the WebDirect login, as you mentioned) and have the onLoad (or  On First Window Open) go to the related record in the Dashboard layout associated with that AccountName/User_ID.

             

            Is that right? I have been building my project but have never used WebDirect, and I believe my next step is getting a Developer license and testing out my project and seeing where any bugs may be.

             

            Also, do you recommend, even if I am focused on the WebDirect side, still having the WindowSize recognizer that you highlight in your session? Ie. If I understand, it is to recognize how users are logging into the WebDirect (Desktop vs tablet vs phone)?

            • 3. Re: Get(accountName) for Web Direct login & Subscription-based connection?
              Johan Hedman

              I have a virtual table for exact same Dashboard that you have built. In that table i use FileMaker Server Scheduled Script to run once every hour to delete all records and create new records for each user. They will then have a up to date Dashboard every hour based on User ID. Get(AccountName) will work in the same way too, I just like to use IDs better then text.

               

              In your script OnFirstWindowOpen you then set a global field User ID or UserAccountName (it have to be global field). Build relationships from your Dashboard based from that global field to your related tables and your data in either portals or charts will appear for only that user.  Don't forget to Sort records if you like to show charts on your Dashboard.

               

              You should definitely buy FileMaker Pro Advanced. It is so much easier to develop with the software, especially finding all triggers.

               

              I would always use the WindowSize Custom Function in all my solutions to make sure I end up on the right layout in my solution.

              • 4. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                ezeitgeist

                I have FMP 15 Advanced, so I'm up to date, for sure!

                 

                In my project (which is essentially complete except for figuring out the right initial login scripting), Users will likely only be on for 5 min intervals. It is more a check in, do a task, and check out. Frequent logins, but only for short times, so will likely not need the hourly scheduled update. That said, I do not have User_ID as a global field. Is it necessary? I have the User_ID table and was thinking they login via WebDirect login, I Get (AccountName) from that login and then the script goes to Related Records in the Dashboard which is a User table-based layout so would show just their individualized records. Will that work or do I need to convert to a global field?

                 

                I have not done any WebDirect work so do not know if a 2nd login is needed for redirection or if pulling from the WebDirect login is possible.

                • 5. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                  ezeitgeist

                  Oh, do I need a Global User field to temp put the Get(AccountName) so I can redirect to the correct Dashboard initially?

                  • 7. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                    ezeitgeist

                    Just checking, was the "Exactly" for:

                     

                    (1) A 2nd login is needed for redirection or if pulling from the WebDirect login is possible.

                     

                    or

                     

                    (2) Do I need a Global User field to temp put the Get(AccountName) so I can redirect to the correct Dashboard initially?

                     

                    or Both?

                    • 8. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                      Johan Hedman

                      2) You need that for you Dashboard

                       

                      For 1) if you dont want to use FileMaker WebDirect login you can always have users get in directly through Guest account if you set that in File Settings. But that is very insecure so nothing I would recommend

                      • 9. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                        ezeitgeist

                        Nope, nope, I like secure. So 2 logins it is!

                        To make sure I am following what you said, you recommend the UserID be their serial ID # so their login is a number rather than a username (which is associated with that number)?

                        That login would then utilize that global field ...

                         

                        Would you possibly elaborate more on the use of the global User field as relates to the login and the Dashboard. I'm getting a little lost on it.

                         

                        A global User login ID field and PW field in a window that opens on start, I am assuming. That logs the UserID into the gUserID. Do I then setup a relationship between the gUserID (in a Globals table) and regular UserID in my User table, or is the UserID in my User table need to be changed to a/the global field?

                         

                        Also, once logged in, do I need a Get(AccountName) at all or do I somehow use the new gUserID to go to related record of the Dashboard?

                         

                        Sorry for the numerous questions. I like 85% follow and am just trying to understand the last 15% of the trick.

                        • 10. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                          Johan Hedman

                          To be able to make it work with UserID you need to have that field in each of your table. Not everyone have that, but many developers have CreatedBy field made out of Get(AccountName) . If that is your case, create a field called UserAccountName as global field and use as match field in your relationships to your Dashboard

                          • 11. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                            ezeitgeist

                            Yes, in each of my tables I have a User_ID field that when in a layout with that table as a base, via related records (linked to the User_ID in the Users table), and a new record gets created the User_ID is thusly associated.

                             

                            I currently have the Dashboard based out of the Users table. Below are the fields in the User table:

                             

                            Screen Shot 2016-09-13 at 3.16.06 PM.png

                             

                            At present, the Username and Password fields don't do anything, I just assumed I may need them for a login initially.

                             

                            I should create a UserAccountName global field (in a globals table) and match field relationship with the User_ID in the Users table. ON WebDirect connection I should have the User enter their UserID (number). Can I add a PW or is that too much complication? I want to make sure someone does not by accident enter into the wrong User Account data. Without a PW, if someone enters their User_ID into the global UAN field, hits enter, I can have it go to related records in the Dashboard, is my understanding of what you are saying.

                             

                            Also, I found this: http://www.modularfilemaker.org/module/accounts-modular-user-account-management/

                            Is that helpful or way overly complicates?

                             

                            PS Thank you. I greatly appreciate all your advice, and all the advice this amazing community gives in support to others. It has made figuring out/learning all this coding/creating so much easier than it could have been.

                            • 12. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                              Johan Hedman

                              I always have a Global table in my solution where i store different types of Global fields that I need. Have a layout based on that Global table. Store the User ID in OnFirstWindowOpen script for that table and then create relationships for your dashboard from Global Table to your other tables.

                               

                              That FM module might work for you, but I would stay with FileMakers own security

                              • 13. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                                ezeitgeist

                                [I will not complicate with the module then.] I got a login working, setup simply with the UserID enter in a global table layout as the first window and an Enter button (scripted to go to related record in the Dashboard, opened in a new window, and closing the login window).

                                 

                                PS OnFirstWindowOpen runs before the login window pops up, so I cannot store the User ID yet, unless you are saying that the User ID should be the same as the WebDirect login and I can just pull that from the WebDirect login directly? [I was assuming the 2 login discussion meant the User logs in on WebDirect and then I have an initial login window come up as the first window that then directs to the Dashboard on this 2nd login.]

                                 

                                (1) Do I need to clear the global UserAccountName field on OnFirstWindowOpen [in the login window as first window scenario]?

                                 

                                (2) Is there a script step that takes focus out of a specific field? I found that I can enter the UserID, but if I do not click outside of the global UserID field before clicking the "Enter" button, the field is not fully entered.

                                 

                                (3) How do I integrate in a PW on this login so Users cannot go to the wrong UserID records by accident? Is there a script sequence that says unless the UserID matches with the associated PW, do not run said script?

                                • 14. Re: Get(accountName) for Web Direct login & Subscription-based connection?
                                  ezeitgeist

                                  Just checking ... Can I:

                                   

                                  (1) Use the FMP login (which gives the Access Privileges, etc, which I'm assuming is the WebDirect login). And assign the AccountName for this login the User_ID number of the User,

                                   

                                  and then:

                                   

                                  (2) Use Get(AccountName) onFirstWindowLoad and have that Set Field into the gUserAccountName,

                                   

                                  which then directs to the related record of the correct Dashboard?

                                   

                                  And thus skipping over the idea of a 2nd login window?

                                   

                                  [This could have been what you have been saying from the start and I did not understand/am momentarily daft. Or, I could be tripping on lack of sleep and be making up all of the above as being possible.]

                                   

                                  I am creating a "My Account" menu on the Dashboard and adding in a Logout, a Change Password, and a Re-Login, and realizing they would only apply to the specific FMP User and PW.

                                   

                                  This would potentially simplify things greatly. I don't mind assigning a User a number as their Account Name.

                                  1 2 Previous Next