Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×

This topic is 7202 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

Hello,

My apologies if I should post this general question to another forum. Please let me know and I'll do so....

Let me preface this with I don't consider myself a Filemaker guru, but my employer does...

We are looking for a platform independent solution (i.e. Windows and Mac) to incorporate into an existing Filemaker application that was acquired. We want to add a script call to the action of clicking on a button. It would call a URL or possibly a command line Perl script that will return a data value. The data value needs to be stored in a record's data field, i.e. the process is bi-directional.

First, I'm wanting to confirm that it would be possible to do something platform independent and bi-directional. Can someone respond to that?

I did some searching and found references to Open URL and Send Event... When I test working with the Scriptmaker feature in Filemaker, Open URL appears to work one way. And when I use the Send Event feature, it appears to be platform dependent, i.e. the dialog box shows "Specify Apple Event" in my window title.

I really appreciate any thoughts that can be provided.

Thanks,

Jack

Posted

Hello,

My apologies if I should post this general question to another forum. Please let me know and I'll do so....

Let me preface this with I don't consider myself a Filemaker guru, but my employer does...

We are looking for a platform independent solution (i.e. Windows and Mac) to incorporate into an existing Filemaker application that was acquired. We want to add a script call to the action of clicking on a button. It would call a URL or possibly a command line Perl script that will return a data value. The data value needs to be stored in a record's data field, i.e. the process is bi-directional.

First, I'm wanting to confirm that it would be possible to do something platform independent and bi-directional. Can someone respond to that?

I did some searching and found references to Open URL and Send Event... When I test working with the Scriptmaker feature in Filemaker, Open URL appears to work one way. And when I use the Send Event feature, it appears to be platform dependent, i.e. the dialog box shows "Specify Apple Event" in my window title.

I really appreciate any thoughts that can be provided.

Thanks,

Jack

Posted

Hello,

My apologies if I should post this general question to another forum. Please let me know and I'll do so....

Let me preface this with I don't consider myself a Filemaker guru, but my employer does...

We are looking for a platform independent solution (i.e. Windows and Mac) to incorporate into an existing Filemaker application that was acquired. We want to add a script call to the action of clicking on a button. It would call a URL or possibly a command line Perl script that will return a data value. The data value needs to be stored in a record's data field, i.e. the process is bi-directional.

First, I'm wanting to confirm that it would be possible to do something platform independent and bi-directional. Can someone respond to that?

I did some searching and found references to Open URL and Send Event... When I test working with the Scriptmaker feature in Filemaker, Open URL appears to work one way. And when I use the Send Event feature, it appears to be platform dependent, i.e. the dialog box shows "Specify Apple Event" in my window title.

I really appreciate any thoughts that can be provided.

Thanks,

Jack

Posted

Let's see what I can offer to sort this out: first, you did not specify if this was a Web Application or Client/Server, or both, so here is the poop on Send Event and Open URL:

First, Send Event is not Web Compatable; however, Open URL is, obviously. But, Open URL does not open anything other than web pages and email when used from IWP (Don't know about Custom), and for reasons no one seems to have a definitive answer for even though the documentation says that it will. You will notice that anything you try with OpenURL in IWP, other than mailto will append an http:// to the address.

However, in a ClientServer, Open URL works just fine, and so does send event.

For the platform dependant part of you question, let me try this: Filemaker works on both Mac and Windows, so send event will work accordingly depending on what OS the solution is installed under. You may need to have a Windows and Mac version of your solution (I am not 100% sure about this), but it makes sense since the file-level command syntax and calls are very different. So the short answer is that your solution may be platform dependant, however, Filemaker as a development environment is not.

Lastly, two-way data communication might be better accomplished using an ODBC connection to your original tables. I don't know enough about PERL to even begin an answer here.

I am not en expert by any means, and am largely full of crap usually, but hope this is of some help. If for no other reason than to start some dialog with real experts!

Good Luck!

Posted

Let's see what I can offer to sort this out: first, you did not specify if this was a Web Application or Client/Server, or both, so here is the poop on Send Event and Open URL:

First, Send Event is not Web Compatable; however, Open URL is, obviously. But, Open URL does not open anything other than web pages and email when used from IWP (Don't know about Custom), and for reasons no one seems to have a definitive answer for even though the documentation says that it will. You will notice that anything you try with OpenURL in IWP, other than mailto will append an http:// to the address.

However, in a ClientServer, Open URL works just fine, and so does send event.

For the platform dependant part of you question, let me try this: Filemaker works on both Mac and Windows, so send event will work accordingly depending on what OS the solution is installed under. You may need to have a Windows and Mac version of your solution (I am not 100% sure about this), but it makes sense since the file-level command syntax and calls are very different. So the short answer is that your solution may be platform dependant, however, Filemaker as a development environment is not.

Lastly, two-way data communication might be better accomplished using an ODBC connection to your original tables. I don't know enough about PERL to even begin an answer here.

I am not en expert by any means, and am largely full of crap usually, but hope this is of some help. If for no other reason than to start some dialog with real experts!

Good Luck!

Posted

Let's see what I can offer to sort this out: first, you did not specify if this was a Web Application or Client/Server, or both, so here is the poop on Send Event and Open URL:

First, Send Event is not Web Compatable; however, Open URL is, obviously. But, Open URL does not open anything other than web pages and email when used from IWP (Don't know about Custom), and for reasons no one seems to have a definitive answer for even though the documentation says that it will. You will notice that anything you try with OpenURL in IWP, other than mailto will append an http:// to the address.

However, in a ClientServer, Open URL works just fine, and so does send event.

For the platform dependant part of you question, let me try this: Filemaker works on both Mac and Windows, so send event will work accordingly depending on what OS the solution is installed under. You may need to have a Windows and Mac version of your solution (I am not 100% sure about this), but it makes sense since the file-level command syntax and calls are very different. So the short answer is that your solution may be platform dependant, however, Filemaker as a development environment is not.

Lastly, two-way data communication might be better accomplished using an ODBC connection to your original tables. I don't know enough about PERL to even begin an answer here.

I am not en expert by any means, and am largely full of crap usually, but hope this is of some help. If for no other reason than to start some dialog with real experts!

Good Luck!

Posted

There are two "applications" that need to play together.

One is a client/server application: everyone has Filemaker and the database/application resides on a single server. Maybe I don't understand how the application would work when it runs in Filemaker. I'm concerned that any external scripts called need to reside on each workstation. Or will the application be expecting the external script to reside on the server? Anyone have any experience with this? If it's just on the server, then I'm making a mountain out of a mole hill...

The second can be accessed one of two ways. Either through an authenticated URL. Or through a Perl script that accesses the authenticated URL. This script returns an unique ID (i.e. primary key). At this point it would be best if it was run through the Perl script as I don't think they want users to have to authenticate. They want this to happen without anyone having to do anything but click on a button.

The ODBC would not be a feasible option at this point. I wont bore you folks with the beaurocratic and technical reasons why...

Thanks so far for the input,

Jack

Posted

There are two "applications" that need to play together.

One is a client/server application: everyone has Filemaker and the database/application resides on a single server. Maybe I don't understand how the application would work when it runs in Filemaker. I'm concerned that any external scripts called need to reside on each workstation. Or will the application be expecting the external script to reside on the server? Anyone have any experience with this? If it's just on the server, then I'm making a mountain out of a mole hill...

The second can be accessed one of two ways. Either through an authenticated URL. Or through a Perl script that accesses the authenticated URL. This script returns an unique ID (i.e. primary key). At this point it would be best if it was run through the Perl script as I don't think they want users to have to authenticate. They want this to happen without anyone having to do anything but click on a button.

The ODBC would not be a feasible option at this point. I wont bore you folks with the beaurocratic and technical reasons why...

Thanks so far for the input,

Jack

Posted

There are two "applications" that need to play together.

One is a client/server application: everyone has Filemaker and the database/application resides on a single server. Maybe I don't understand how the application would work when it runs in Filemaker. I'm concerned that any external scripts called need to reside on each workstation. Or will the application be expecting the external script to reside on the server? Anyone have any experience with this? If it's just on the server, then I'm making a mountain out of a mole hill...

The second can be accessed one of two ways. Either through an authenticated URL. Or through a Perl script that accesses the authenticated URL. This script returns an unique ID (i.e. primary key). At this point it would be best if it was run through the Perl script as I don't think they want users to have to authenticate. They want this to happen without anyone having to do anything but click on a button.

The ODBC would not be a feasible option at this point. I wont bore you folks with the beaurocratic and technical reasons why...

Thanks so far for the input,

Jack

Posted

There are a couple of ways to do this:

The Send Event command on windows allows you to call any windows program by name. I have set this up to call a Perl script like this:

D:Perlbinscriptname.pl -parametersOnTheCommandLine

The preceding line can be generated in a calculation field which will be used by the send event script step.

On a mac you can use the Perform Applescript script step to call the "do shell script" applescript command. The shell script (a Perl script in your case) would be called from a calculated text field.

My calculated text field looks like this:




Case(Get ( UserName ) = "login";

              "E:PerlbinPerl E:Perlbinelves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule &":"& sample_rdb;

         Get ( UserName ) = "BioTOF";

              "D:PerlbinPerl D:Perlbinelves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule &":"& sample_rdb;

         Get ( UserName ) = "PowerMacG5";    

               "/Users/danareed/bin/elves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule & ":" & sample_rdb;

               "echo perl not found"

         )



My perl script is set to direct the output to a file. (In my case a tab-delimited text file with results) Then I import that file into another table with the result records related to record that called the script.

You can use the abstrakt shell plugin to return shell script results from stdout into a field, but that site isn't online anymore. They were giving the plugin away, and I think there are some threads on this website that may have links to download the plugin file.

Let me know if this helps, and if you need me to clarify anything,

Dana

Posted

There are a couple of ways to do this:

The Send Event command on windows allows you to call any windows program by name. I have set this up to call a Perl script like this:

D:Perlbinscriptname.pl -parametersOnTheCommandLine

The preceding line can be generated in a calculation field which will be used by the send event script step.

On a mac you can use the Perform Applescript script step to call the "do shell script" applescript command. The shell script (a Perl script in your case) would be called from a calculated text field.

My calculated text field looks like this:




Case(Get ( UserName ) = "login";

              "E:PerlbinPerl E:Perlbinelves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule &":"& sample_rdb;

         Get ( UserName ) = "BioTOF";

              "D:PerlbinPerl D:Perlbinelves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule &":"& sample_rdb;

         Get ( UserName ) = "PowerMacG5";    

               "/Users/danareed/bin/elves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule & ":" & sample_rdb;

               "echo perl not found"

         )



My perl script is set to direct the output to a file. (In my case a tab-delimited text file with results) Then I import that file into another table with the result records related to record that called the script.

You can use the abstrakt shell plugin to return shell script results from stdout into a field, but that site isn't online anymore. They were giving the plugin away, and I think there are some threads on this website that may have links to download the plugin file.

Let me know if this helps, and if you need me to clarify anything,

Dana

Posted

There are a couple of ways to do this:

The Send Event command on windows allows you to call any windows program by name. I have set this up to call a Perl script like this:

D:Perlbinscriptname.pl -parametersOnTheCommandLine

The preceding line can be generated in a calculation field which will be used by the send event script step.

On a mac you can use the Perform Applescript script step to call the "do shell script" applescript command. The shell script (a Perl script in your case) would be called from a calculated text field.

My calculated text field looks like this:




Case(Get ( UserName ) = "login";

              "E:PerlbinPerl E:Perlbinelves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule &":"& sample_rdb;

         Get ( UserName ) = "BioTOF";

              "D:PerlbinPerl D:Perlbinelves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule &":"& sample_rdb;

         Get ( UserName ) = "PowerMacG5";    

               "/Users/danareed/bin/elves " & sample_log_number &":"& sample_comp_limits &":"& Round(sample_average_exact_mass;4) &":"& sample_tol &":"& sample_nrule & ":" & sample_rdb;

               "echo perl not found"

         )



My perl script is set to direct the output to a file. (In my case a tab-delimited text file with results) Then I import that file into another table with the result records related to record that called the script.

You can use the abstrakt shell plugin to return shell script results from stdout into a field, but that site isn't online anymore. They were giving the plugin away, and I think there are some threads on this website that may have links to download the plugin file.

Let me know if this helps, and if you need me to clarify anything,

Dana

Posted

I'm going to move my questions over to the Filemaker Server forum since I've identified that the application is running on a Windows 2K server running Filemaker 5.5 Server

Posted

I'm going to move my questions over to the Filemaker Server forum since I've identified that the application is running on a Windows 2K server running Filemaker 5.5 Server

Posted

I'm going to move my questions over to the Filemaker Server forum since I've identified that the application is running on a Windows 2K server running Filemaker 5.5 Server

This topic is 7202 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

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