Popular Content

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

  1. 1 like
    Not sure I follow entirely, but in your script, just before the "Show Custom Dialog" just do a Set Field [Examples::MASTER CODE ; "" ]
  2. 1 like
    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
  3. 1 like
    to expand on that; you have this isEmpty ( Sub9First_Semester or Sub9Second_Semester) this part: Sub9First_Semester or Sub9Second_Semester will result in a boolean result; 0 or 1, so it will never be empty
  4. 1 like
    You don't. A stored value will never change on its own just because time has passed. But you can - and IMHO should - use a third field, an unstored calculation field, to display the current age, calculated from the stored age and the date the record was created as = Age + Div ( Get (CurrentDate) - DateCreated ; 365.2425 ) or, if you want it more accurately, as = Age + Year ( Get (CurrentDate) ) - Year ( DateCreated ) - ( Get (CurrentDate) < Date ( Month ( DateCreated ) ; Day ( DateCreated ) ; Year ( Get (CurrentDate) ) ) ) I believe this is the best solution for you because (a) it leaves your original data as entered, and (b) it does not modify your records spuriously when no real modification has occurred (this is specially important if you keep track of record modification dates). Keep in my mind that a yearly script has to run every year, and - no less importantly - must not run more than once in the same year. IOW, there should be a record of each run, and the script needs to check it before it acts. I don't think that's a good idea because it requires the script to run every night, with absolutely no exceptions: no weekends, no holidays, no power outages, no floods. If you miss a day, there's no record of that - and your data is skewed forever.
  5. 1 like
    For this to work, you would need to know when you entered it - for example, by having a field auto-enter the record's creation date/timestamp. Then you could have an unstored calculation field showing the current age (approximately, since you don't know the exact birthdate) . Without this, the only way to achieve what you want would be by running a script once a year to increment the stored Age values by 1.
  6. 1 like
    You have a 'parcels' key/node that is not correct. It should immediately start with an array as per their API, you start it as another piece of JSON with another 'parcels' key name
  7. 1 like
    I get exactly where you are at. My first dive into development was taking a system from FMP 4...and reworking the workflow, and adding a ton of features. With the capabilities of the modern versions of FM, there may be some opportunities to consolidate that down into a single UI file that reaches out to the other files and uses there data. Classic separation model use-case. Good luck with whatever you decide to do, and if you need tips or have questions. You know where to find us!! lol
  8. 1 like
    Hi Cable, The FM Forums is not part of FileMaker Inc., and no one here works for FileMaker Inc. Our members are all volunteers donating their time, knowledge and skills to help other members overcome things they run across when developing files. To continue to express your frustration to us about this change isn't going to accomplish anything. You need to take this up with FileMaker Inc. Lee
  9. 1 like
    I spent 8 of my 10 years developing on Windows. So I am familiar with the pain. It may just be a difference in development. I almost never have the user have more than one window open. Unless it's a temporary, comparison driven task, or a customized dialog style window. You open up a lot of record locking issues with so many windows open. Other than that, the I close windows as the user moves to something else. There are some versions of FM that are just a performance hog. If the windows the user has open are from multiple files, FM is obliged to update the cache files on the local machine for as long as they are open. So for any records that FM has touched, or thought about, or needed to calculate something, it was downloaded to the local cache. When another user updates a record you have downloaded to the cache, FMS sends that record to the local cache. That can become a very chatty network, indeed!! In addition to the performance impact. Just some thoughts. Not dismissing that it is a big change. But it is one that most users have been asking for, for a long, long time.
  10. 1 like
    "-H Authorization: ShippoToken " & $token & " -H Content-Type: application/json -d " & $json I believe above should make a valid string.
  11. 1 like
    If you take that piece of your code and put in the data viewer it will tell you what is wrong. Look at the output and compare it to what is required. Some quick ones: - you don't need the ampersand after the first -H - you don't add spaces between the different sections
  12. 1 like
    To address the loss of the bottom toolbar during development, I have created a small toolbar which I am putting on every layout with a hide condition if [ not "Full Access" ]  As a result of reading this thread, I think I will be adding additional buttons/segments to include "Show/Hide menu bar[toggle]" and to access layout Mode
  13. 1 like
    Josh, I would guess that Adduartes issue is similar to my own. Until version 16 I have always run my database windows maximised under Microsoft Windows to avoid the mess that is two sets of window borders and,even worse, the database window half disappearing behind the application window. So the PC users are used to seeing only a single window at a time. Clearly 16 offers a whole new world of options for window management on PCs, but, initially, I would want to reproduce the former behaviour in 16 before assessing how to take best advantage of the new possibilities. One of my clients might end up with close to 20 full screen windows by the end of a day in 16 compared to a single visible window in 15. Hence my script for hiding all but the active window (I will also need to ensure that windows are lo longer maximised but adjusted to fit instead.) When I moved for PC to Mac a few years ago it took some time to get used to having so many more windows to deal with and at first it seemed very 'messy' to have so many windows and more difficult to locate the window I was looking for. My aim is to ensure the migration to FileMaker 16 is a easy as possible for users and then add any additional windows in a considered and controlled manner. Hopefully you can now understand the issues that SDI raises for some of us on PCs
This leaderboard is set to Los Angeles/GMT-07:00