Jump to content

Leaderboard


Popular Content

Showing most liked content since 05/15/2017 in all areas

  1. 3 points
    Let's all get along? It's been rare for our forums, but on occasions I have had to step in to keep the peace and harmony of the site. At times personalities clash - and the typed repsonses are often done in haste - and the sort of thing that wouldn't be said if we were all in same room together. I am encouraging everyone to re-read https://fmforums.com/guidelines/ our guidelines. Let's please keep threads on topic. - and not abuse the "reporting" system. Please be courteous of others and if you have offended someone please extend a sincere apology. The least thing I enjoy doing is to put people in 'timeout' or ban them from the site. Thank you.
  2. 3 points
    Aleesha, another thing which fits for you right now is making it easy on yourself in future to know specifically which table occurrences have Allow Creation turned on. It looks obvious here but as your solution grows, it won't always be obvious and we can forget as well. What many developers do is use the text tool to create reminders such as the A or a - if 'deletion' or S for sort.
  3. 3 points

    Version 1.0.0

    61 downloads

    This technique was inspired by @Claus Lavendt in a tweet. Now with offset new card style mode you can now create a tool pallet to interact with a document in preview mode

    Free

  4. 2 points
    I don't understand the question. It seems to me like you've already identified what needs to be done. I would recommend breaking it down and getting one portion working at a time, doing whatever research/experimenting you need to figure out each step. If you searched through the help file, I think you'd find you can piece this together. For your first step "Open Find" for example, you might want to read this: https://fmhelp.filemaker.com/help/16/fmp/en/#page/FMP_Help%2Ffind-request.html. The reference section of the help is useful for exploring what script steps are available: https://fmhelp.filemaker.com/help/16/fmp/en/#page/FMP_Help%2Fscript-steps-category.html%23 Here is some more general help on writing a script: https://fmhelp.filemaker.com/help/16/fmp/en/#page/FMP_Help%2Fscripts.html%23
  5. 2 points
    I think you want to use a Loop Script. http://www.filemaker.com/help/15/fmp/en/#page/FMP_Help%2Floop.html%23wwconnect_header # Do a find to Isolate Records to be changed # This will replace field contents with nothing. # Go to Record/Request/Page [ First ] # Loop # Set Field [zz_DeleteWarning__lxn ; "" ] Go to Record/Request/Page [ Next ; Exit after last: On ] # End Loop Lee
  6. 2 points
    Hi riadh2002 Thanks fo posting this mod. I love it, when someone can extend on what I start. Really glad that my tool seems to have been helpful to you and others. In case someone has only had their hands on the first version, I released, the most recent version of the tool, let's you both import, "make FM ready" SVG - but the most useful feature of the newest version, is that you can take a found set, press the button to "copy" all found icons and paste them into your solution all at once. So say you have a standard collection of SVG icons, that you normally want to use. Find these icons in the tool. Copy them. And then you use the paste shortcut, which will insert a button bar object, that you can delete immediately after you pasted it. Now, all your icons appear in the tools palette of your file. Newest version can be found here: http://thebrainbasket.com/?p=404 (completely free and open)
  7. 2 points
    For anyone who have pale icons in filemaker after importing here is how to change the colour to red Many thanks to Claus Lavendt, of DataMani for providing the tool for free Using SVG icon Helper, can be downloaded here for free: http://www.filemakervideos.com/filemaker-14-svg-icon-helper-tool-filemaker-14-training/ And this code takes into account all shape elements of SVG such as circle, rectangle, polygon,,,etc. and Works Great with IonIcons.com Library It removes existing fills and fm_fill class and substitutes with new values so it works with SVG with or without fill attribute. You can also change the color at the top of the code 1. Open SVG icon Helper FM database and open Script Workspace 2. Go to Script “Edit SVG files - mini icons….” 3. Go to the comment “#make changes” 4. Open the Set variable script step just below 5. replace the existing code by the following: 6. save and go back to the main layout and click the button with the blue pen, select folder and validate You’re done :-), now you can re import the icons into filemaker Let ( [ ~content = $content; ~color = "#FF0000"; // We need to search for all existing fills and remove them ~content=If ( PatternCount ( ~content ; "fill=\"" ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "fill=\"" ; 1 ; 1 ) ; 14 ) ; "" ) ; ~content ); // We need to search for all existing fm_fill and remove them class=\"fm_fill\" ~content=If ( PatternCount ( ~content ; "class=\"fm_fill\"" ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "class=\"fm_fill\"" ; 1 ; 1 ) ; 15 ) ; "" ) ; ~content ); // Then add the fills in the appropriate positions covering all possible SVG elements //<path ~content=If (PatternCount ( ~content ; "<path " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<path " ; 1 ; 1 ) ; 6 ) ; "<path fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<rect ~content=If (PatternCount ( ~content ; "<rect " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<rect " ; 1 ; 1 ) ; 6 ) ; "<rect fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<circle ~content=If (PatternCount ( ~content ; "<circle " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<circle " ; 1 ; 1 ) ; 8 ) ; "<circle fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<ellipse ~content=If (PatternCount ( ~content ; "<ellipse " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<ellipse " ; 1 ; 1 ) ; 9 ) ; "<ellipse fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<line ~content=If (PatternCount ( ~content ; "<line " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<line " ; 1 ; 1 ) ; 6 ) ; "<line fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<polygon ~content=If (PatternCount ( ~content ; "<polygon " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<polygon " ; 1 ; 1 ) ; 9 ) ; "<polygon fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<polyline ~content=If (PatternCount ( ~content ; "<polyline " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<polyline " ; 1 ; 1 ) ; 10 ) ; "<polyline fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ); //<text ~content=If (PatternCount ( ~content ; "<text " ) > 0 ; Substitute ( ~content ; Middle ( ~content ; Position ( ~content ; "<text " ; 1 ; 1 ) ; 6 ) ; "<text fill=\""&~color&"\" class=\"fm_fill\" " ) ; ~content ) ]; ~content )
  8. 2 points
    There is a file called permittedlist.txt. It is located in the /Users/{username}/Library/Application Support/FileMaker/Shared folder. This Library folder is normally hidden. To view it, go to Finder and open the Go menu while holding down the option key. The option key allows you to select the Library folder. Drill down to this file, permittedlist.txt and delete it. Or, to be ultra-cautious, just rename it. Now, when you try to upload a database to FM Server, it will alert you to any SSL certificate issues. When you choose to connect anyway, it will generate a new permittedlist.txt and it will allow you to freshly enter your FM Server admin name and password and upload the file.
  9. 2 points
    I'll counter that. One of our standards is to always an explicit "Exit Script" and to explicitly pass an empty string "" when no real value needs to be passed out of the script. The main reason is that the Get(ScriptResult) will remember the last explicit returned result. If you don't use Exit Script in the sub script but expect Get(ScriptResult) to be empty because you didn't pass anything back then you may be surprised to see a value if a previous script did use Exist Script with a return.
  10. 2 points
    Just to let anyone know that may have the same issue, I have submitted this to 360works support and they replied that this is a confirmed bug and recommend to go back to ver 1.67 until a fix has been issued. -Sydney
  11. 2 points
    Come to think of it, that's not entirely true. Suppose you add a field that cannot be empty (such as ClientID) into the portal and give it an object name. You could then use the GetLayoutObjectAttribute() function to get the object's content - and hide the portal when it's empty.
  12. 2 points
    I don't think playing 20 questions is a good method to get to the bottom of this. No one can tell why something fails without being able to reproduce the problem on their own first. The proper way to present this would be to attach the two files - preferably reduced to the absolute minimum that still shows the problem. Without this, all we can do is generalize and/or guess. In general, I can think of two possible reasons why records will not be imported: 1. There are no records to import; 2. There are records to import, but they do not pass validation. Now for the guess part: First, I don't know what you mean by "the autocomplete box on import". I am going to guess it's actually the "Perform auto-enter options while importing" option. And I am going to guess further that one or more of your fields is defined to auto-enter a value and validated as Not empty, Validate always. And I am going to guess that the source file contains no data to import into this field.
  13. 2 points
    Apparently, the issue is fixed in FileMaker 16.0.2!
  14. 2 points
    I'm not sure which topic this belongs in but... I really just wanted to let everyone on these forums know how thankful I am for your support, advice and guidance. Over the past few years as my small business has grown into a bigger business I've needed filemaker to do more advanced things and as I am not a developer and simply a business owner, I've turned to these forums and to you all and I couldn't have built my database without your help. From the bottom of my heart thank you so much!! Matt
  15. 2 points
    Extra step: yes. Hassle: after a while it doesn't feel that way because that new Layout Object inspector brings so much goodness that you'll use it all the time anyway and it won' feel like a hassle to have to move over to it. It'll become a very natural flow of your layout design. But it definitely is a change and requires a bit of mental retraining and so there is a bit of 'who moved my cheese'. I certainly scoffed at it in the beginning, now I can think of all the bigger hassles I had to go through before having this.
  16. 2 points
    Not sure if "master list" = client cache. I've not heard that term. However, I've read that some are seeing bad data (outdated) because of cache! Several desperate posts on TechNet. https://community.filemaker.com/thread/168254 But good reviews here: https://blog.beezwax.net/2016/06/15/performance-optimizations-make-compelling-case-for-filemaker-15-upgrade/
  17. 2 points
    I doubt very much you need or want to do that. What would be the purpose of this? You will end up with several numbered Category fields. Numbered fields are a prime example of poor database structure. You won't be able to find a record by its category, unless you search all the fields. You won't be able to define a relationship matching on category. You won't be able to produce a report of records grouped by category. I suggest you either split the field into individual records in a related table or just substitute the > character with a carriage return, so that your field contains a list of the relevant categories (same as a checkbox field would).
  18. 2 points
    Not sure I follow entirely, but in your script, just before the "Show Custom Dialog" just do a Set Field [Examples::MASTER CODE ; "" ]
  19. 2 points
    OK - I did it myself. Over a couple weekends of spare time, I wrote a few dozen scripts that interface between Filemaker and the Amazon Marketplace Web Service API. Sad to say, this is non-trivial. Amazon's documentation is poor: there are a surprising number of mistakes, misspellings, and obsolete/outdated sections. The one bright spot is the Amazon MWS Scratchpad, which provides a direct sandbox to allow testing different calls. Most of the documentation and online help is aimed at PHP & Java & Python developers; it's not too difficult to map this into Filemaker land. I wrote scripts to gather my orders from Amazon Market Place, and to send confirmations to buyers. Like most API's, there are many gotcha's. Here's a few hints, mainly to save time for others in my position. 1) A simple Filemaker WebViewer is *not* going to work, unless you do screen-scrapes from the Amazon MWS Scratchpad. 2) I used cURL to communicate with Amazon Web Service via POST. The information to be POSTed is the Amazon parameter string (which includes the hashed signature). The Monkeybread Software Filemaker functions (www.mbsplugins.eu) are just the ticket. 3) The outgoing information must be signed with a SHA256 hash. Again, this is available in the Monkeybread software functions. Use MBS("Hash.SHA256HMAC"; g_AWS_Secret_Key; g_AWS_Text_to_Sign_With_NewLines_Replaced; 1) 4) Getting the correct SHA256 signature requires very strict observance of line-feeds ... carriage return / linefeeds in OS X and Filemaker will cause a bad signature. Before making the SHA256 hash, do a complete replace so as to generate only Unix-style line-feeds. Within the "canonical parameter list" there aren't any linefeeds (but there are linefeeds before that list) 5) The Amazon API demands ISO-8601 timestamps, based on UTC. Filemaker timestamps are not ISO-8601, but there are several custom functions to generate these. The Filemaker function, get(CurrentTimeUTCMilliseconds), is very useful, but its result must be converted into ISO-8601. Notice that Amazon UTC Timestamps have a trailing "Z" ... when I did not include this, the signatures failed. 6) The Amazon API must have url encoded strings (UTF-8). So the output from the SHA256 hash must be converted to URL encoding -- again, the Monkeybread software comes through (use MBS function Text.EncodeToURL) 7) The Amazon "canonical parameter list" must be in alphabetical order, and must include all of the items listed in the documentation. 8) Errors from Amazon throttling show up in the stock XML return, but check for other errors returned by the cURL debug response. At minimum, search through both responses by doing a filemaker PatternCount (g_returned_data; "ERROR") 9) When you're notified of a new Amazon order, you must make two (or more) cURL calls to Amazon MWS: 1) first, do cURL request to "list orders", which will return all the Amazon Order Numbers (and some other info) for each order since a given date/time. 2) Then, knowing an order number, you do another cURL to get all the details for a given order. Repeat this step for every new Amazon order number. Each of these calls requires your Amazon Seller_ID, Marketplace_ID, Developer_Account_Number,_Access_Key_ID, and your AWS_Secret_Key. Each also requires a SHA-256 hash of all this information along with the "canonical parameter list" If anyone wants my actual scripts, drop a note to me (At this moment, my scripts do the all-important /orders /list orders and /get order. I'm almost finished writing a /feeds filemaker API to send confirmations. I probably won't build scripts to manage inventory or subscriptions, but once you've built a framework for the scripts, it's not difficult to expand to more functionality) Best of luck all around, -Cliff Stoll
  20. 2 points
    Here's one way. RowCalc.fp7.zip
  21. 1 point
    You will have to script record creation. You can either place a portal on the layout and go to that object or you can go to the native layout and create a records there. I recommend learning about ERDs. You can use Google, there are tons of examples out there.
  22. 1 point
    It appears you're looking to do a simple sub-summary report. If you are not familiar with sub summary reports, searching this sight or googling something like 'FileMaker subsummary reports' will provide you with plenty of resources.
  23. 1 point
    After an import, the found set is always just the imported records.
  24. 1 point
    I can't say for certain when we will be pushing new versions of the plugins to our website. We have been holding off while we wrapped up the last few issues we had. We have finished those so we may be pushing new versions within the next week or two.
  25. 1 point
    Hi all Users are more frequently than ever requesting that custom reports be made. Up till now this has involved me creating layouts and scripts that can produce the data/reports in the form they want. I'm wondering if now it might be possible to let them take control of reporting in a way that is separate from the current database (which is heavy on GUI and disabling of features for ordinary users). I'm thinking of creating a totally new database which users would be able to completely edit from a design perspective, which would point to the main database as an external data source. However I would like it so that they would NOT be able to edit/create/delete those external records. I've had a play with it and can't seem to get it to work (we're using external authentication via windows server active directory). Is such a thing possible? Many thanks
  26. 1 point
    With the advent of a new Fiscal Year for the FileMaker Developer Community, we will experience five emerging trends in FileMaker Information Security. Each of these will likely have specific impact on developers, on our clients, on the Platform, and on the larger business environment in which we operate. Cumulatively and symbiotically, the magnified impact of the five will have the potential to alter many long-standing practices and conventions. What are these five trends? How will they impact the developer community? Read more and download article here: https://fmforums.com/files/file/94-five-emerging-trends-to-impact-filemaker-platform-security/ Steven H. Blackwell
  27. 1 point
    Try the Middle() function: Middle ( full_ticket_number ; 3 ; Length ( full_ticket_number ) - 3 ) If all ticket numbers have the same length, you can shorten it to: Middle ( full_ticket_number ; 3 ; 13 )
  28. 1 point
    Even better = BE_RegularExpression ( "AlphaBravoÇharlie" ; "(\p{Ll})(\p{Lu})" ; "g" ; "$1 $2” ) returns: "Alpha Bravo Çharlie" Basically, this looks for a lowercase character (excluding punctuation and digits) followed by an uppercase one, and inserts a space between them.
  29. 1 point
    Readme.txt: * Use '360deploy' as the username and password to open the included database You then immediately get prompted to change the password.
  30. 1 point
    make a new Dates table occurrence and attach it to enrollment by the program ID from there you can create a drop down list once you choose the program you can select the corresponding dates. - however that wouldn't prevent users from picking dates that had already passed. Ideally instead of a drop down picker use a popup with a portal or a card window where you are presented a list of Dates sorted by Program and omitting past dates then when selecting it would set all the needed fields.
  31. 1 point
    Hey everyone, I love how open the Filemaker Community is, and how much is shared freely, so I wanted to contribute. I created a database to manage SVG icons. The icons are all royalty free provided by Syncfusion and there are about 4,000 icons, all with search tags to make finding them super easy. You can find out more about the file, and download it here: http://www.indats.com/2015/06/15/indats-icon-manager/ Please let me know any feedback you have on the file, thanks!
  32. 1 point
    Would this work for you: Let ( postcall = Leave - timesheets::wrap - ( Camera + 2700 ) ; If ( Leave and postcall > 0 ; Ceiling ( postcall / 1800 ) * 1800 ) ) Note: you must be careful not to name your variables with a name already used as a field name - otherwise you might get unexpected results.
  33. 1 point
  34. 1 point
    Actually, I do know a couple, though they may not be as easy to work with as EZXslt or Scribe claim to be (I haven't worked with either, so I can't say for sure). But you can use XML export, with a custom XSLT stylesheet, to produce a document that Word can read. I presume you would want a fomatted document conforming to some template. The most convenient format for this would be the Microsoft Word 2003 XML format (a.k.a WordProcessingML or WordML), which is just an XML document that Word considers as one of its native formats. The process can be something like this: Create a template in Word, with some placeholders and save it as Microsoft Word 2003 XML; Open it in a text editor and use it as a basis for your XSLT stylesheet; Script your export to use the stylesheet. Step 2 is manual and requires knowledge of the XSLT language. And you will need to repeat it any time you want to modify your template. But once it's done, it's just a matter of pressing a button and getting your document - just like exporting in one of the built-in formats. It's also possible to use a similar process to produce a .docx document - but the format is more complicated, and you would also need a plugin to zip the result (I believe the free Base Element plugin could do this even in v.11). And of course there 's AppleScript/VBA as you mentioned in the opening post.
  35. 1 point
    There are several ways this could be accomplished. A simple one would be to add a calculation field to the Participants table, along the lines of = If ( not Inactive ; NumberOfChildren ) then change your existing calculation to sum this field instead of the NumberOfChildren field. I don't see why you need the summary field; you could do simply: Count ( Participants::ClassID ) - Count ( Participants::Inactive )
  36. 1 point
    That a Girl. Let us know what you find. Lee
  37. 1 point
    You can calculate the date of last Wednesday using = Get ( CurrentDate ) - Mod ( Get ( CurrentDate ) - 3 ; 7 ) Note that this will return the current date when the calculation is performed on a Wednesday. I am afraid I did not get this part: The calculation looks only at the weekly cycle and ignores year boundaries. If you like, you can use = Get ( CurrentDate ) - Mod ( Get ( CurrentDate ) - Weekday + 1 ; 7 ) where Weekday is a number between 1 (Sunday) and 7 (Saturday).
  38. 1 point
    Sometimes it's better to just recognize and accept current limitations, proceed to do a few minutes work, and get a clear, scripted solution. Which provides the result you need and provides a script that you can adapt, monitor in debugger, print, review, etc. See attached mod to your file. Sort_by_field_object_name_MODBFR.fmp12
  39. 1 point
    Cross-post with https://community.filemaker.com/thread/175457 (It's ok to cross-post but it is good form to indicate your post as such since a lot of the people on both forums are the same)
  40. 1 point
    Numbered RAIDs are obsolete. Do yourself a favour and read up on: O3X: https://openzfsonosx.org ) AFPS may work well for a workstation, for a server you will still benefit from running ZFS. I would say the correct setup is to move as much of your solution as possible to RAM. If you move your filmmaker files to the SSD RAID in essence you have moved them to RAM. The single most effective way to improve speed of any server service on a mac regardless of drive spec is to turn off spotlight; I see from your profile that you use Yosemite: sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist According to this link: http://recomhub.com/blog/how-to-disable-or-enable-spotlight-in-mac-os-x-yosemite-mavericks-mountain-lion/
  41. 1 point
    Hi Kalle, Just a few thoughts. The E-utility Web Service (SOAP) was terminated on July 1, 2015. See https://www.ncbi.nlm.nih.gov/books/NBK43082/?report=reader. The new syntax is provided here: https://www.ncbi.nlm.nih.gov/books/NBK25499/?report=reader#chapter4.Eutility_DTDs Please check this page regarding the NCBI migration to https on September 30, 2016: https://www.ncbi.nlm.nih.gov/home/develop/https-guidance/ If you are interested in fleshing out the complete xsl for FileMaker using the PubMed DTD, let me know. It's close to 3000 options and I've managed to write the main 500 or so. Best, Daniel
  42. 1 point
    I'm not so worried about things like window names. The audit log approach I showed at Devcon relies on Code() calls on field names for instance and those will fail now. Many data collection routines where I use strings like Project Manager names, project names, as buckets for reporting will now fail too. Unless I take Ron's approach to use Evaluate() calls on Let() to set my variables. Played around with HexEncoode on Md5 Digests but even then only a portion of the string gets converted to a number and while it reduces to likelihood of generating the same number for similar strings it's still too close to be comfortable. Obviously with 16 my approach would be to use JSON or Arrays and not repeating vars but this not bode well for the upgrade process of many solutions.
  43. 1 point
    Use Set Field[] if within a loop. Step through debugger to watch how this all works when you run it. You use Replace Field Contents[] when you want it to automatically run through all records. Why did I provide you with both? To confuse you, ROFLMAO! No, I provided all methods as a way for you to learn and choose the best for your situation. For instance, if this is an on-going need while Users are in the system, you would want to error trap using the looping method in case a User has one of those records locked and it didn't set. Using the loop also allows you to do other things at the same time to those records if you wish. The reason Replace Field Contents[] worked is because it did it all records and then moved to the next and again did it to all records - MAJOR overkill BIGLY. Use debugger and watch it working. So use either a loop OR Replace Field Contents. Replace Field Contents[] also throws an error but does so only at the end so you don't know WHICH record failed so it is never good to use RFC when Users are in the system.
  44. 1 point
    I neglected to answer this portion of your question. Downloading from server and fetching are same thing.
  45. 1 point
    I don't see an opinion in Josh's reply. so mine doesn't differ From the little I know from your description of your setup, I would think that the 2nd paragraph may apply.
  46. 1 point
    Looking for instructions for Windows? Click here! Let’s Encrypt is a non-profit certificate authority with the mission of spreading the SSL love across the internet. Though they’re not officially supported, we can use Let’s Encrypt to get free SSL certificates to use with FileMaker Server. We will use a Bash script and a LaunchDaemon to retrieve and automatically renew SSL certificates through Let’s Encrypt to make sure our connections to FileMaker Server are secure. With this, there’s no reason anyone should have an invalid SSL certificate on their FileMaker Server deployment! Requirements: FileMaker Server deployed on a Mac server – Tested with OSX 10.11 but may work with other versions. The “FileMaker Database Server Website” page must be reachable through the public internet using a web browser at the address you wish to get an SSL certificate for, such as http://myserver.mycompany.com. This means opening or forwarding port 80 in your router, firewall, or security groups. We use the Let’s Encrypt HTTP verification challenge, so we must make sure that Let’s Encrypt is able to reach our FileMaker server through HTTP. Warning: FileMaker does not list Let’s Encrypt as a supported SSL vendor and usually alerts the community that non-supported SSL vendors’ certificates won’t be able to be validated by FileMaker Pro and Go. I believe we’ve solved this issue with this solution. We’ve had no problems with validating these SSL certificates with FileMaker Pro 13-16 but of course can’t make any guarantees. FileMaker Go 15/16 also seem to validate everything correctly, though FileMaker Go 14 can’t connect. Please post in the comments section below if you have any issues using these SSL certificates. This is an experimental script and procedure. Please proceed with the use of this Bash script and Let’s Encrypt SSL certificates at your own risk. Here’s a summary of what we’re going to need to do: Install Homebrew Install Certbot Edit the GetSSL.sh file Run the Bash script Change the FileMaker Server SSL Connections settings Set up a schedule to renew the SSL certificate 1. Download the GetSSL.sh Bash script First, you’ll need a copy of the GetSSL Bash script. Download the file using the link below and save it on your server where you’ll want to get the SSL certificate. Warning: This is an experimental script and procedure, and SSL certificates from Let’s Encrypt are not officially supported by FileMaker, Inc. Please download and use this script with the understanding that it comes with no guarantees or warranties, and that you are doing so at your own risk. Blue Feather, Let’s Encrypt, nor anyone else are responsible for what happens to your server or systems when using this script. Download the GetSSL Bash script 2. Install Homebrew Homebrew is a package manager for Mac. It’s used to install tools and applications for your system. You can read more about Homebrew at the Homebrew website. We’re going to follow the instrucitions on there to install Homebrew on our Mac server. Run the following command in Terminal: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 3. Edit the GetSSL.sh file The script file needs to be edited so that it know the address you wish to get an SSL certificate for. Open the script in a text editor like TextEdit, TextWrangler, Sublime Text, or through Terminal using an editor like Vim. Change the address, email address, and (if necessary) the FileMaker Server install path variables to reflect your server’s information and your contact information. Let’s Encrypt will use this contact information to reach out to you if there is a problem with the SSL certificate that they have issued to you. 4. Run the Bash Script WARNING: Running this Bash script will safely restart your FileMaker Server service, abruptly disconnecting any active users. Make sure that nobody is connected to your server before you run this script. With Certbot installed, we’re now ready to run the Bash script. Make sure nobody is connected or using your FileMaker server and then run the GetSSL.sh Bash script by navigating to the directory you have it copied to in your Terminal window and entering: sudo ./GetSSL.sh A bunch of text will scroll by in the Terminal window as the script requests, fetches, and installs your SSL certificate. Your FileMaker Server service will then be stopped and started again automatically. Your SSL certificate should now be installed! Go to your FileMaker Server admin console to make sure you’re seeing the new SSL certificate. You may need to close and re-open your browser if you had the page open already. 5. Change the FileMaker Server SSL Connections settings The SSL certificate is installed, but we want to force FileMaker Pro and Go clients to connect securely to our server. Log in to your newly secured FileMaker Server admin console. Select the Database Server options from the list on the left and then the Security tab at the top of the page. Check the “Use SSL for database connections” option (as well as “Use SSL for progressive downloading” if you would like) to force FileMaker Pro and Go clients to use a secure connection when connecting to this server. Save your changes and then restart your whole FileMaker Server machine or just the FileMaker Server background service. Your FileMaker Pro clients should now show the green lock icon when logging in to this server, indicating that the connection is secure. 8. Set up a schedule to renew the SSL certificate SSL Certificates from Let’s Encrypt are only valid for 90 days and must be renewed before that time. Let’s Encrypt does this purposefully to encourage automation and increase security. In that spirit, we should set up an automatic renewal for our SSL certificates so that we don’t need to manually re-run this every couple of months. This process is similar to setting up a scheduled script in FileMaker Server. Move the GetSSL.sh file to a relatively permanent location on your server. An example place for this might be /usr/local/bin/. You’ll need to create a LaunchDaemon schedule to run the script at the dates and times you want to do it. A LaunchDaemon will run your scheduled program or task at the dates and times, or at the interval, that you specify. These certificates are good for 90 days at a time, and the Certbot tool we’re using will only renew them once they’re at least 30 days out from renewal. You will want to create a .plist file to schedule this in a way which makes the most sense for you. You can have it run once per week, for example, and it will renew your certificate when it becomes eligible for renewal (It will still restart your FM Server at your scheduled time, even if there isn’t a new certificate – I’d like to update this in the future to only restart if there’s a new certificate.). You can use the example .plist file available at the download link below. You can download and edit this example file to run your GetSSL.sh script at the location you stored it at and on the days you want. This example one is scheduled to run once per week, on Saturdays at 6:21 pm. You can read more about writing your own LaunchDaemons from the Apple Developer site. Download example .plist As an alternative, there’s a great app called Lingon X which give you a really nice GUI for creating, editing, and installing LaunchDaemons. A demo is available, and a single-user license is $9.99, which may be worthwhile as it makes creating and scheduling LaunchDaemons very easy. Once you’ve finished setting your schedule, place your .plist file in /Library/LaunchDaemons/. With your LaunchDaemon installed you can tell your server to start the schedule by ( substituting your .plist file name and then ) running : sudo launchctl load /Library/LaunchDaeomns/my-script.plist Done! That’s all that you need to do! Your script should run automatically at your scheduled time to renew your SSL certificate with Let’s Encrypt. Do a test to make sure that it’s all working properly, that it gets a new certificate for you, and that your FileMaker Server service restarts after it has retrieved the certificate. If there is an issue, you may want to run the script manually in PowerShell or debug with the PowerShell ISE to locate any issues. Keep in mind that your FileMaker Server service will be restarted after getting the new SSL certificate, so be sure to schedule it for a time when people will not be active in your system. This is an early version of this script and there is quite surely room for improvement. Please let me know if you have any suggestions or run into any issues using this scripting. Let’s make the FileMaker community a secure one! View the full article
  47. 1 point
    No. Try the Open URL[] script step to open a non-Filemaker file in its native application. I don't know of a way to do that natively from Filemaker. Perhaps with a plugin.
  48. 1 point
    Hello, I think you just need to use the Get (TemporaryPath) function, see the post at ... This gives you an example of a script that sends a PDF and the resulting PDF does not clutter the iOS, since it is saved in the TemporaryPath location, which is purged by FileMaker Go regularly.
  49. 1 point
    You need a path, and I don't see why you're changing layouts. In fact, that might change your record. User is on Contact form. Clicks "Mail PDF of Record" 1. set var $filename; patients::lastname & ".pdf" ( I might also add id) 2. set var $path ; get (temporarypath) 3. set var $fullpath; $path & $filename 4. Save as PDF; create email, current record only $fullpath
  50. 1 point
    Robot "machine" is also misleading, in that it's perfectly fine to have the robot user be another account on the same machine as the server - we've been doing this with great results for years on our OS X servers. We set up the robot user to have very limited permissions, so it can't do any harm to the administrator account that is in control. YMMV of course, but it's a technique that's worth a consideration if you only have one machine.
This leaderboard is set to Los Angeles/GMT-08:00
×

Important Information

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