Jump to content

Bioasys

Members
  • Content count

    19
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Bioasys

  • Rank
    newbie
  1. Hello, I called FileMaker support to ask them for help with this problem and they were able to find the solution. It turns out I have a 360 Works plugin installed on my system that was causing the permission denied error message to occur. What I did to resolve the issue was go into the extensions folder of my fmpa10 application and copy the 360 works plugin to a different folder. Then I deleted the 360 Works plugin from the extensions folder. Then I opened (successfully) the file in fmpa10. Then I closed the file went to the folder that I had copied the 360 Works plugin into and copied it back into the fmpa10 extensions folder. Then I reopened the file in fmpa10 and everything worked fine. Sincerely, George
  2. Hello, I have a very large database that I have built over the past 5 years or so that I am running on a MacPro. I using the Lion OS/X 10.7.4 operating system. I originally built the database on fmpa10 and so am running the database on fmpa10. I tried upgrading to fmpa11 and running the database on fmpa11 but the database kept hanging when I would use the pause/resume script step within a script. So I switched back to fmpa10 and the problem went away. My database program gets run every weekday and takes about 10 hours to complete. By and large the program has run without problem however about a month ago the database started crashing and I would get a message saying Filemaker Quit Unexpectedly. Then upon opening the file an internal consistency check would be run the result of which would be a message saying that the file was damaged and to attempt a recover. The recover command also came back saying the file was unrecoverable. Fortunately I make a backup copy of my database every day and have always been able to continue my data collection efforts using my backup. But the problem keeps recurring. I'm wondering if anybody else is experiencing this problem or if anybody has any suggestions on how to get these unexpected quit errors to stop. Any thoughts / help would be appreciated. Sincerely, George
  3. Hello, I just upgraded my MacBook Pro to Mountain Lion. I am using fmpa10. When I tried to open a database file I received an error message saying: "BioASys.fp7" could not be opened. (Permission Denied) I tried opening other files in fmpa10 and got the same error. I also have fmpa11 on my system and the files opened ok in fmpa11. Does anybody know how to set the correct permission so that I can open my file. Thanks, George
  4. Bioasys

    Calculated AppleScript Question

    Hello, Excellent, Thank you, that worked beautifully. Sincerely, George
  5. Bioasys

    Calculated AppleScript Question

    Hi Thanks for your reply. I ended up having to change the calculated AppleScript to: tell application "BioasysSendMail" to update(theTime, true) where theTime is the value in field: BioasysScriptProgressMonitor::FourSDMin Using your code as an example I got as far as: Let([ template = "tell application "BioasysSendMail" to update(time, true)"; sec = GetAsNumber(BioasysScriptProgressMonitor::FourSDMin); shell = Substitute ( template ; "time"; sec) ]; But from here I'm not sure what to do. Thanks again, Sincerely, George
  6. Hello, I am trying to write a calculated AppleScript. The AppleScript I am using is as follows: set theTime to 5 do shell script "osascript /Applications/BioasysSendMail.scpt " & theTime & " &> /dev/null &" If I run this as a native AppleScript in a PerformApplescript script step it runs just as expected. However I want to be able to calculate the number (in this example 5) in the first line from a time field on one of my layouts. I am essentially converting the time into total seconds. Here is the code I am using which converts the time into seconds: Let([ totTime = BioasysScriptProgressMonitor::OneSD; hourSec = Hour(totTime) * 3600; minSec = Minute(totTime) * 60; sec = Seconds(totTime); totSec = hourSec + minSec + sec]; totSec ) So, basically I want to replace 5 in the "set theTime to 5" with the totSec value I calculate in the Let Calculation. The syntax to accomplish this is eluding me. Does anybody know how to accomplish this. Sincerely, George
  7. Hi Moderator, I basically have a database that collects data from the internet, the first script, and then performs lots and lots of calculations looking for patterns and then correlating those patterns to various outputs. I am a chemical engineer with a background in statistical analysis and biochemistry. The primary goal of my database is to monitor clinical trial test results and other reported scientific results so that I can maintain a current knowledge base of the state of the biotech industry. I am not a spammer who is collecting hugh databases of say, I don't know, facebook data scrapes or anything like that. I'm retired but am trying to stay abreast of a very active and complicated discipline. Sincerely, George Hi Consultant, Thanks again for all your help. You have really helped me clarify my thoughts on what needs to be done and given me some excellent insight on how to proceed. I hope I haven't been too thick headed as I tried to understand your code. Thanks again, George
  8. Hello, thank you for your response. I believe I am beginning to understand you. I still don't think this approach will address my concerns. Any solution that checks to see if the completed script field has been completed must be timed in order to determine if the script has not taken longer than expected to complete. So it is not clear to me how the AppleScript knows when to check the gCompleted field to determine if an error exists. I am also concerned that the external AppleScript may not be able to access to appropriate script monitoring layout. Every day when I run the database I start with a fresh script progress monitor layout, how would the external AppleScript know which layout record to check the gCompleted field on? Also if the filemaker script did complete on time and was then running the next filemaker script then the layouts associated with that particular script would be visible rather than the script progress monitor layout, what would then happen if the AppleScript tried to read the state of gCompleted, how would it gain access to the value of gCompleted? I really would rather just have an AppleScript that can read the value of the progress monitor layout field that contains the estimated length the script will run, then using that estimated time send an email accordingly, that would alleviate any of the concerns I previously cited. This I why I am trying to figure out how to get the AppleScript to be able to read the value of the field when the AppleScript is generated in the PerformApplescript step. Here is the information flow that I believe would address all the field access problems and script error types I can envision: 1) script 1 completes 2) the script progress monitor layout comes to the front 3) the script 1 completed field is time stamped 4) the estimated completion time of script 2 and the estimated length of time for script 2 to complete are calculated 5) an AppleScript within a PerformApplescript script step acquires the estimated length of time for script 2 to complete 6) this filemaker internal AppleScript is performed using the PerformApplescript script step. 7) the internal AppleScript passes the script 2 estimated time to an external AppleScript 8) the external AppleScript begins a delay corresponding to the estimated script 2 run time 9 the internal AppleScript has completed and passes control back to filemaker so that script 2 can run while the external AppleScript is processing it's delay 10) script 2 does not completes within the allotted time so the external AppleScript sends the email 11) or script 2 completes within the allotted time and the progress monitor layout comes to the front 12) the script 2 complete field is time stamped 13) an AppleScript is sent from within filemaker using the PerformApplescript step which cancels the currently running external AppleScript for filemaker script 2 14) the process begins anew with step 4) for filemaker script 3 This process would always insure that the appropriate scripts would have access to the estimated script run time information at the appropriate juncture in the script sequence. This requires that there be an internal AppleScript that can pass the value of the estimated script run time to the external AppleScript either directly or by telling the external AppleScript that it is now time to read the estimated script run time from within filemaker. It is because I believe that this sequence of events is needed to insure that all possible script error types are accounted for that I am trying to figure out how to pass the estimated script run time value from within the filemaker script progress monitor layout field to the external AppleScript. Again thank you for your help it has without doubt helped me to clarify all the issues I am facing. Sincerely, George
  9. Hello, Thanks again for your response. I'm still very confused. If I understand you correctly you are saying that I should have an external AppleScript that controls the flow of my filemaker scripts. Since I already have a good amount of effort into having the control of my scripts occur within filemaker I am reluctant to switch the control to an external AppleScript. Even if I were to make the change I believe the AppleScript code controlling the sending of the email would have to wait for an error condition to occur before an email would be sent to me. I envision situations where the script could hang without generating an error and so no email would be sent. What I would prefer is to find a way to generate an AppleScript within filemaker that includes either the estimated completion time of the script which is about to be run or the estimated length of time the script will run. Essentially I would like to be able to insert a specified field value into an AppleScript which would then be run from inside filemaker using the PerformApplescript script step. Then once this filemaker run AppleScript is executed it serves to pass the field value to a second AppleScript that resides outside of filemaker and it is then this second script which then sends the email at the appropriate time. The script you suggested gave me the idea that instead of trying to write a second external AppleScript that schedules an email using the estimated completion time value, the second script could just begin with a delay that is equal to the length of time the script is estimated to run and unless the second script is cancelled by the condition of the filemaker script completion then it sends the email. So I guess I should ask you do you know of any way to have an AppleScript that is generated within filemaker that can read the value of a field when the PerformApplescript step is invoked? Again thanks for all the help, I really appreciate it. Sincerely, George
  10. Hello, thanks for your response. I must admit I don't understand your AppleScript. Since I need to have the email sent via an AppleScript not from filemaker why am I telling filemaker to run either script 1 or script 2? Is the delay of 500 seconds supposed to correspond to the time the script is estimated to take to complete? Is the script 2 within the If condition the script that is sent from AppleScript rather than from inside filemaker? Inside the if cell "gCompleted" = "1" statement is the AppleScript reading the value of "gCompleted"? Is that how I pass the estimated completion time into the AppleScript? Or is "gCompleted" = "1" a test to show that if the script completes then run the external AppleScript which sends the email, if that is the case then the send email script doesn't run if the script never completes(crashes). I'm assuming I need to have an AppleScript that exists outside of filemaker that is activated when it receives the estimated completion time of the filemaker script which is just about to begin. With the estimated completion time being sent to the "outside" AppleScript via an AppleScript coming from within filemaker. Once the "outside" AppleScript has the correct send time then it schedules the email to be sent at the correct send time. Thanks for your help, I wish I understood it better. Sincerely, George
  11. Hello, Thank you for your response. The problem I see with the approach you suggest is that the script would have to complete before the send email step was used. This would mean that in the event of a script crash the send email step would never be reached and I would never get the email alerting me to the problem. Or in the event that the script does not complete within it's estimated completion time I would not receive the email notifying me of the problem until after completion time had passed. I envision writing an AppleScript that is initiated in filemaker that accesses the estimated completion time before the script in question is even begun. This way if the script crashes or just takes a long time, the email notifying me of the problem still gets sent. This initial AppleScript could then initiate another AppleScript that is resident on my system outside of filemaker, the second script would accept as input the time from the first filemaker AppleScript. That way control of the filemaker script would then return to filemaker without having to wait for the AppleScript which completes the send email to complete. What this means, I believe, is that the first real issue I have to address is how do I pass a value from a field within filemaker to a variable within an AppleScript. Thanks again, George
  12. Hello, Yes, I have just spent the last three months optimizing the code to get it down to 14 hours. What I am looking for is a way to get the database to send me an email when a given script does not complete within its estimated completion time. My current script progress layout does provide me with checkpoints that allow me to monitor the progress of the database as it works it's way through the scripts.That is all fine when I am in the same location as my database but I am trying to create a system that alerts me to a problem if I am away from my system, for instance if I'm traveling. Sincerely, George
  13. Hello, I have a database that runs every weekday which takes about 14 hours to run. I have a layout that monitors the progress of each of the multiple scripts (38 in total) in my database. This progress monitor layout has a field for each script in the database so that when each of the 38 scripts is completed the corresponding field is marked with a timestamp. In addition to the completion timestamp field each script also has a field that that upon completion of the previous script an estimated completion time of the current script is calculated and placed in the estimated completion time field. The purpose of this is to be able to monitor the progress of the multiple scripts and to determine if the program has encountered an error that is causing the script to hang. What I would like to be able to do is set up the database so that if a script does not complete by the time indicated in its estimated completion time field then I am sent an email. I believe that the way to handle this is to write an applescript that is performed at the completion of a script which uses the information from the estimated completion time field of the upcoming script and then tells my Mac to send me an email at that time, unless the script completes on time in which case the send email script is cancelled. The problem with this is that I don't know how to insert the time from the estimated completion time field into an applescript that will be run using the PerformApplescript script step. I also do not know how to get an applescript to send an email at a certain time. So just to iterate. 1) a script completes 2) the upcoming script estimated completion time is calculated 3) an applescript is performed which tells my mac to send me an email at the estimated completion time saying the script did not complete. 4) Either the script completes within the allotted time and the send email applescript is canceled or the the script does not complete on time and the email is sent. I have a fair understanding of Applescript, so writing a script to send an email should not be too difficult: tell application "Mail" set theNewMessage to make new outgoing message with properties {subject:"Subject text", content:"Content text", visible:true} tell theNewMessage make new to recipient at end of to recipients with properties {address:"email address"} send end tell end tell However, how to make this send the email at a designated time is beyond my skill level. Perhaps Automator could be used in some fashion. If anybody has any thoughts on how to accomplish my goal I would appreciate any help you could provide. Sincerely, George
  14. Hi, Thanks for the link but unfortunately it didn't work. I tried putting my AppleScript script in a "Tell application "Finder"" block but instead of compiling it opened the AppleScript Dictionary and then locked up my system. Thanks, George
  15. Hello, I am trying to write an AppleScript script that takes the contents of my clipboard and creates a text(.txt) document from it. I have tried using the built in "Save a Copy As" filemaker script step but it converts the text document into some type of Unicode format that the Python script I am running the .txt document on doesn't recognize. So I have written an AppleScript script which compiles and runs correctly when run from the AppleScript Editor but gives an error message if I try to compile it within the "Perform AppleScript" Script step in FileMaker. Here is the AppleScript: set theText to (get the clipboard as text) set theFile to (open for access file (("Users:georgeorton:Documents:") & "nlpexportfile.txt") with write permission) set eof theFile to 0 -- reset file contents (if any) write theText to theFile close access theFile This script runs correctly from the AppleScript editor but gives the following error message if compiled within FileMaker: Expected end of line, etc. but found identifier. with the "theText" portion of the "write theText to theFile" line highlighted. Does anybody have any idea how to solve this problem? Sincerely, George
×

Important Information

By using this site, you agree to our Terms of Use.