SkarBje Posted March 27, 2002 Share Posted March 27, 2002 How do I make from FileMaker files one Demo-version that can work for let say 30 days? thanks! Quote Link to comment Share on other sites More sharing options...
dj Posted March 27, 2002 Share Posted March 27, 2002 Originally posted by SkarBje:[qb]How do I make from FileMaker files one Demo-version that can work for let say 30 days? thanks! [/qb] If you need seriuos protection you might try lockpoint from: http://www.braddockstreet.com/lock.html otherwise, your protection could be easilly cracked. HTH Dj Quote Link to comment Share on other sites More sharing options...
blackcat Posted March 27, 2002 Share Posted March 27, 2002 One easy way I have used in the past is by use of a global date field to compare against current date. The first time the app is opened, use a startup script that checks if the global filed is empty, if it is( it will be the first time only) then set it to todays date. Each time the app is now opened get your startup script to check the global date against todays date, if the difference is greater or equal to 30 then close the app. Sample Start up If ["IsEmpty(gDate)"] Set Fiels[gDate", Today"] Else If["Status(CurrentDate)- gDate>=30"] Show Message[" Your 30 Day Demo period has expired!"] Close[filename.fp5"] End If EndIf The only problem here is that if a user changes the date on the PC the App will continue to work, However, this can also be over come by adding one further global field so that the first time the 30 day priod has been met then set the new field to a 1, now get the startup script to check this also, if a 1 is found also then changing the date will have no effect. This last bit is only an add on, trust me users will get bored having to keep changing the date. Hope this hepls Steve Quote Link to comment Share on other sites More sharing options...
SkarBje Posted March 27, 2002 Author Share Posted March 27, 2002 Thanks!! Quote Link to comment Share on other sites More sharing options...
SkarBje Posted March 27, 2002 Author Share Posted March 27, 2002 It works en it's simple, thanks!! Quote Link to comment Share on other sites More sharing options...
blackcat Posted March 27, 2002 Share Posted March 27, 2002 Happy I could help! Steve Quote Link to comment Share on other sites More sharing options...
dj Posted March 27, 2002 Share Posted March 27, 2002 Originally posted by blackcat:[qb]One easy way I have used in the past is by use of a global date field to compare against current date. The first time the app is opened, use a startup script that checks if the global filed is empty, if it is( it will be the first time only) then set it to todays date. Each time the app is now opened get your startup script to check the global date against todays date, if the difference is greater or equal to 30 then close the app. Sample Start up If ["IsEmpty(gDate)"] Set Fiels[gDate", Today"] Else If["Status(CurrentDate)- gDate>=30"] Show Message[" Your 30 Day Demo period has expired!"] Close[filename.fp5"] End If EndIf The only problem here is that if a user changes the date on the PC the App will continue to work, However, this can also be over come by adding one further global field so that the first time the 30 day priod has been met then set the new field to a 1, now get the startup script to check this also, if a 1 is found also then changing the date will have no effect. This last bit is only an add on, trust me users will get bored having to keep changing the date. Hope this hepls Steve[/qb] To bad that anybody can set your global date field to what ever date in future he/she wants, so your protection will never work. Also who said that your startup script would ever execute? Dj Quote Link to comment Share on other sites More sharing options...
blackcat Posted March 27, 2002 Share Posted March 27, 2002 If you dont have the global field on the layout then nobody can change the date can they! Also I have never had a problem with starup script never executing. Steve Quote Link to comment Share on other sites More sharing options...
dj Posted March 27, 2002 Share Posted March 27, 2002 Originally posted by blackcat:[qb]If you dont have the global field on the layout then nobody can change the date can they! Also I have never had a problem with starup script never executing. Steve[/qb] 1.You don't have to have any field on layout for making changes (trust me)2. Create an empty file, than go to script editor. Create an script , create PerformScript step Choose your file (you don't have to select a script) click cancel Close script editor. Whoops, your file is there opened and you'll find opened also the status area. I didn't explain the point 1, but trust me it's only metter of creating an simple relationship whit your file, and again trust me it can be done. If you like so , send me an file off list and I'll write something in some of it's fields Dj Quote Link to comment Share on other sites More sharing options...
SkarBje Posted March 27, 2002 Author Share Posted March 27, 2002 Gorane u pravu si! Before you start the file you can set CurrentDate of your computer to every date in the future you want. So this wil not work: If["Status(CurrentDate)- gDate>=30"] Quote Link to comment Share on other sites More sharing options...
SkarBje Posted March 27, 2002 Author Share Posted March 27, 2002 Another problem: I have two layouts (a) and (b) in the same record. In every layout I have one validation field. If I make a new record and I am in layout (a) and I want to switch to layout (b) I am gettig error before I open layout (b). "The validation field in layout (b) may not be epmty". This means that FileMaker is closing a current record before I can switch to another layout? why? Quote Link to comment Share on other sites More sharing options...
Anatoli Posted March 27, 2002 Share Posted March 27, 2002 It looks like it is not closing, but writing (flushing to disk) and because of that it is validating all fields... Quote Link to comment Share on other sites More sharing options...
SkarBje Posted March 28, 2002 Author Share Posted March 28, 2002 Maybe it's writing and not closing, I realy don't know!. But I can not switch to another layout! What can I do about this? Quote Link to comment Share on other sites More sharing options...
dj Posted March 28, 2002 Share Posted March 28, 2002 Originally posted by SkarBje:[qb]Gorane u pravu si! Before you start the file you can set CurrentDate of your computer to every date in the future you want. So this wil not work: If["Status(CurrentDate)- gDate>=30"][/qb] Hvala. However I didn't mean to change my computer date. Whoever could change your global field gDate to an date in far future so StatusCurrentDate()-gDate30 HTH Dj Quote Link to comment Share on other sites More sharing options...
SkarBje Posted March 28, 2002 Author Share Posted March 28, 2002 But in FileMaker Developer tool, you can make "Permanently prevent modification of database structure" so that nobody can modify your scripts or fields in your layout! Quote Link to comment Share on other sites More sharing options...
dj Posted March 28, 2002 Share Posted March 28, 2002 Originally posted by SkarBje:[qb]But in FileMaker Developer tool, you can make "Permanently prevent modification of database structure" so that nobody can modify your scripts or fields in your layout![/qb] I'm talking about editing and not modifying the field. you still can do anything that is permitted by privileges assigned to the user's password. If you're telling me that user can't edit record than you are 100% right, but on tghe other hand what is the purpouse of the data base that can't be modified, and if so remember that neither your scripts can't modify the fields. I'm sorry but it's not the case to reveal how to create relationship with an protected file, 'cause it might compromise the security of mine owne solutions. But I'll give you a hint. Did this ever happened to you: you have an script in an external file which is triggered by script in other file (ie an external subscript) Than for some reasons the external file has become unavailable (corrupted, deleted whatever you want) If you give a look (or analyze) now at your caller script you'll see PerformScript (unknown) But as soon as the file become again visible(recovered or from backup) everything is back to normal again. But IMPORTANT if you didn't catch the error and have let the user see the dialog telling to find missing file ( as happened to us) and than user hitted ok selecting the first available file. you'll see that your script is ponting now to "some" (or unknown if you are lucky) script in the file user selected. This association is ***not *** random, but is based on script ID which is unique inside file but not among different files. Same thing with relations. Dj Quote Link to comment Share on other sites More sharing options...
SkarBje Posted March 28, 2002 Author Share Posted March 28, 2002 I am new in FileMaker, your'e right! Quote Link to comment Share on other sites More sharing options...
dj Posted March 28, 2002 Share Posted March 28, 2002 Originally posted by SkarBje:[qb]I am new in FileMaker, your'e right![/qb] Sorry to tell you, but this is an problem that consider my solutions to.I have found some ways to make it difficult for braking the protection, like script that make signatures so that I can tell if the value that I'm seeing has been set by my script or it was someone else that has made manual changes. Or scripts that prevent non authorized relationships. But the biggest problem is that you can't be sure at 100% that your startup script would be ever launched. And that one is not an back door for hackers but main entry. I'm exagerating a little bit, you don't have to be hacker to break that kind protection of your DB. Hacking would be breaking master password what since FM 5 is not possible( I hope so) unless you don't make convertion back to FM4 but that's another storry. So I'm really really disaponted whit FMI that they don't find important resolving a problem arrised from incorrect use of "open document" event when indirectally triggered. I'm aware of problems for developers arrising from fact that if you create an startup script that might prevent you from accessing the file but this is a kind of things that I will be ready to accept (my error my consequences) Dj Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.