3 Replies Latest reply on Apr 16, 2012 6:00 AM by digital-carpentry

    Subscription database accessibility


      Hi, a client wants to provide a database I developed to other users in his industry. I was going to allow this as long as the new user buys a single Filemaker Pro licence and then make it that other users in their network can access it via iPads and Filemaker Go.


      This is going to be avialable to other users on a subscription basis and my client wants to be able to render their databases inactive if they don't pay up on a monthly basis


      My question is what is the best way to set this up given that few will be operating from fixed IP addresses?


      Any help would be appreciated.


      Many thanks



        • 1. Re: Subscription database accessibility

          I have never done this before but I would write a script that altered the subscribers permissions to only allow them to see a dialogue box telling them that their subscription has lapsed etc as well as an email that is sent to the subscriber.


          You would then need a reinstatement script as well

          • 2. Re: Subscription database accessibility

            I don't have any subscription based systems myself, but I always thought the best way to do it would be to include hosting as part of the service. That way you have all the files on a server that you control. They stop paying you close their file.


            Another option that might work is to have a web based service that validates their subscription at startup. This would be easier in FileMaker 12 with the Insert From URL script step.


            - In the FileMaker database, set an identifier such as "SubscriberID"

            - Have a web page that returns true or false based on looking up their ID in a Subscribers database. (You could do this via a database and the PHP API or keep it basic*)


            When the system starts up set an "Active Subscription" field by using Insert From URL e.g. Insert From URL ( http://yourdomain.com/validate.php?SubscriberID=" & Table::SubscriberID )

            If the returned value is true, then keep going. If it is false then get mad at them.


            The only issues with this method are that A) Your page will need really good uptime and B) They need internet access to open the system


            *Basic version of web code:


            if( $_GET['SubscriberID'] == "Client1"){

                 return "True";



            //repeat for each client. Change to False when they don't pay...


            • 3. Re: Subscription database accessibility

              Couldn't you just have a global field that contains a subscription date, after that date, the file locks down (go to a layout with update information and give no access to other layouts).


              Have another field on the update layout that will allow for a new "code" to be entered, the script can check the code and update the date and a new code.  It would require keeping track of codes for each account and sending them the new code when they pay, but that's not too bad.