Aller au contenu

Soliant Consulting

Membres
  • Compteur de contenus

    147
  • Inscription

  • Dernière visite

    jamais

À propos de Soliant Consulting

  • Rang
    100

Profil général

  • Genre
    Non précisé

Profil FileMaker

  • Certification
    FileMaker 15 Certified Developer

Visiteurs récents du profil

Le bloc de visiteurs récents est désactivé et il n’est pas visible pour les autres utilisateurs.

  1. Did you know you can do more with pdfs in your FileMaker solution with DynaPDF? Download our complimentary resource to learn about capabilities with this product. This file contains a simple table containing pictures and images of different types of fruit. It helps you create a listing of each fruit with clickable links to different pages throughout the PDF, demonstrating the capabilities of DynaPDF within your FileMaker solution. Read the blog post… Complete the form to receive the demo: Trouble with this form? Click here. The post Extending FileMaker PDF Functionality with DynaPDF Demo appeared first on Soliant Consulting. Voir le billet d'origine
  2. Connecting Your WordPress Website and FileMaker Solution In this post, we demonstrate how you can submit a form built with a freely available WordPress plugin, Ninja Forms. This makes building web forms easy while staying compliant with a WordPress theme. This process also supports responsiveness of your WordPress deployment. You do not need access to the backend MySQL database, which is not always easy or available. This makes it very portable and convenient to add as a WordPress administrator. You only need to add a custom action to the Theme Functions ("functions.php") file in WordPress and specify that custom action in your Ninja Forms configuration. Pre-FileMaker Strategy: Custom Web Publishing Previously in FileMaker 16 and prior, you could send data to a CWP (custom web publishing) script that could include the FM API for PHP and use that to insert to your database. This required a web server running PHP, possibly on the same machine where FileMaker Server was running. Simplified Process with the FileMaker Data API That changes in FileMaker 17. Now, you can communicate directly with the newly available Data API to insert a new record in your database with no other pieces needed or external APIs to load. Both methods use a WordPress function, WP_Http(), to make the external requests and submit all form data entered by end users. In WordPress, go to Appearance->Editor, then select the Theme Functions file and insert the following code, with adjustments made to the variables at the top of the function. add_action( 'fm_WordPress_action', 'fm_data_api_form' ); function fm_data_api_form( $form_data ){ // set variables $myServer = 'https://your_server_name/'; // the url of your server $myUser = 'Username'; // your username $myPass = 'password'; // your password $myFile = 'Your_File'; // your file name $myLayout = 'Your_Layout'; // your layout name // authenticate and get token $myEndpoint = 'fmi/data/v1/databases/' . $myFile . '/sessions'; $post_url = $myServer . $myEndpoint; $headers = array('Authorization' => 'Basic '.base64_encode("$myUser:$myPass") , 'Content-Type' => 'application/json'); $request = new WP_Http(); $response = $request->request($post_url, array( 'method' => 'POST', 'body' => $myJSON, 'headers' => $headers )); if($response){ //inspect response $responseObj = json_decode($response['body'], false); $responseCode = $responseObj->messages[0]->code; if($responseCode == '0'){ $responseToken = $responseObj->response->token; // format json from form data $form_array = array('fieldData'=>array()); foreach( $form_data['fields'] as $field ) { // get key/value pairs into an array by themselves if($field['key'] != 'submit_button'){ $form_array['fieldData'][$field['key']] = $field['value']; } } $myJSON_Data = json_encode($form_array); // insert record $myEndpoint = 'fmi/data/v1/databases/' . $myFile . '/layouts/' . $myLayout . '/records'; $post_url = $myServer . $myEndpoint; $headers = array('Authorization' => 'Bearer ' . $responseToken , 'Content-Type' => 'application/json'); $request = new WP_Http(); $response = $request->post( $post_url, array( 'method' => 'POST', 'body' => $myJSON_Data, 'headers' => $headers ) ); if($response){ // ok } else { // insert err } // log out $myEndpoint = 'fmi/data/v1/databases/' . $myFile . '/sessions/' . $responseToken; $post_url = $myServer . $myEndpoint; $headers = array('Content-Length' => '0'); $request = new WP_Http(); $response = $request->post( $post_url, array( 'method' => 'DELETE', 'headers' => $headers ) ); } else { // authentication err } } } Enabling Ninja Forms To use with Ninja Forms, we configure the "Emails & Actions" configuration (see Figure 1) for the form we are working on, enable the "Web Hook," (see Figure 2) and give it a Name and Hook Tag. The Hook Tag here is important, and it needs to match the action name given in the custom action. In the code above, it is the first parameter of the add_action function, where we name it "fm_WordPress_action". Figure 1- Use "Emails & Actions" to configure your form Figure 2- Use the slider to enable the "Web Hook" action. If we break down the above code, we see the performance of two steps. The first is to authenticate to the database and get a token back. Once we have successfully authenticated and have a token, we use that in the header of our HTTP request to submit JSON to the Data API that completes our record creation. There are RESTful endpoints used to perform both authenticating and record creation. You can find these in the Data API documentation. First, we send credentials using a HTTP header and receive a token upon successfully authenticating to the database. Once we have a token, we do a bit of cleanup work to get our data out of the form, where we reference the "Field Key" from the form builder, and correctly format the JSON we will submit as the body of our request to create a new record. We define the Field Key for each field in the form (see Figure 3). Figure 3 - Define the Field Key for each field. Of course, all field keys need to match with the field names in your database. Also, this assumes that you have correctly set up security in your FileMaker file, and have enabled the "fmrest" privilege set for the account used to perform this action (see Figure 4). Figure 4 - Set up security in your FileMaker file to enable the "fmrest" privilege set. You will see the File and Layout specified in the endpoint we reference, so we only then need to include the JSON containing our record data, in addition to passing our authentication token as a header. All this is simple enough, once you have achieved a cursory understanding of REST architecture and how to work with it. Licensing and Costs FileMaker Server includes an amount of data transfer at no additional cost. The good news is that the amount already provided -- 2GB of data, per user each month -- should be more than enough for most every use case. That does not include container data and only counts toward outbound data transfer. Data is also shared for all users. For example, if you have a FileMaker Server with five licensed users, that would be 10 GB/month, or 120 GB for the year. That far exceeds the amount that most solutions see in data transfer even with FileMaker Pro pushing user interface and containers. If you go beyond this very high threshold, you would likely want to pay additionally for the support to handle that kind of traffic. Considering the cost of FileMaker Server effectively includes this licensing, I would not hesitate to recommend using the Data API in any new development. Building on Your FileMaker-WordPress Integration This is just an example showing a basic integration of a WordPress form used to create a record in your database. You could build on this example to add more robust error handling or additional functionality. Integrating with FileMaker is easier than ever! Hopefully this article gives you some insight into how you can extend your FileMaker applications in ways previously not conceived. If you have any questions or need additional help integrating your FileMaker solution with your website, please contact my team. We’d love to see if we’re a good fit for your next project. References FileMaker Data API Guide http://fmhelp.filemaker.com/docs/17/en/dataapi/ FileMaker Licensing FAQ http://www.filemaker.com/purchase/store/faq-teams.html Ninja Forms https://ninjaforms.com Your Guide to Using the FileMaker Data API to Enhance Your Application https://www.soliantconsulting.com/blog/filemaker-data-api The post How to Use FileMaker 17 to Connect the Data API and Your WordPress Website appeared first on Soliant Consulting. Voir le billet d'origine
  3. Soliant Consulting

    Extending FileMaker PDF functionality with DynaPDF

    Generating PDFs in FileMaker FileMaker Pro has had the ability to generate PDF documents since version 8, providing basic functionality that has remained largely unchanged since its introduction. Using FileMaker Pro’s plugin architecture, we can extend this functionality to provide the following enhancements: Search PDF document text Append multiple PDF documents in non-sequential order Add a watermark to a PDF document Password protect a PDF document Delete pages from a PDF document Add clickable “Page Links” to move to different pages throughout a PDF document Compress a PDF file to prepare them for transmission over the internet An intermediate to advanced FileMaker Pro developer can leverage these features to create even more dynamic PDF documents inside FileMaker Pro. Setup and Installation The MBS FileMaker Plugin by MonkeyBread Software has one of the most feature-packed plugins in the FileMaker community with over 5,000 functions to date and developer Christian Schmitz continues to regularly add new features. As a side note, one of my favorite features is a more colorful script syntax coloring but there are many more that can be useful in a variety of situations. Using the MBS plugin, we can extend its functionality even further using the DynaPDF library. DynaPDF is a popular library for working with PDFs that the MBS plugin allows us to access using functions. For DynaPDF alone, you can use 484 custom functions inside FileMaker Pro. To setup this up, first download the MBS plugin. Included in that download is the DynaPDF library in both macOS and Windows formats. Read the installation documentation to know where to install the DynaPDF library on your computer. It is also worth noting DynaPDF and MBS FileMaker Plugin can also run as a server-side plugin, allowing you to leverage the power of server processing and not require an individual license for DynaPDF on every end user computer. Plugin Functions & Scripting All DynaPDF functions use a dot syntax starting with “DynaPDF.” DynaPDF requires some sequential steps to manipulate a PDF document. Using the “Set Variable” step we can increment the DynaPDF library and create a memory space inside FileMaker Pro. Here is an overview of this process using FileMaker script steps: #Initialize new PDF instance Set Variable [$pdf; Value:MBS ( "DynaPDF.New" )] #Convert path to DynaPDF native path Set Variable [$targetPath; Value:MBS( "Path.FileMakerPathToNativePath"; $fruitPath )] #Open Existing PDF into memory Set Variable [$x; Value:MBS ( "DynaPDF.OpenPDFFromFile" ; $pdf ; $targetPath )] After we call these initialize functions, we can perform any number of DynaPDF functions to this PDF we have brought into memory. Check out a complete listing of DynaPDF functions. To complete the PDF manipulation process and save our changes to the PDF document we perform the following steps: #Denote where to save changes to PDF file, could be same path or different path Set Variable [$x; Value:MBS ( "DynaPDF.OpenOutputFile" ; $pdf ; $targetPath )] #Save will commit those changes to that path Set Variable [$x; Value:MBS ( "DynaPDF.Save" ; $pdf )] #Release clears the memory space, allowing a new instance of "DynaPDF.new" to be created. Set Variable [$x; Value:MBS ( "DynaPDF.Release" ; $pdf )] It is important to note that you can redirect the output of your changes to a different file path than the one you started with in the initialization functions earlier. Download Our Demo File Get the demo file You can use our complimentary demo file to demonstrate a few capabilities of DynaPDF. This file contains a simple table containing pictures and images of different types of fruit. The goal is to create a listing of each fruit with clickable links to different pages throughout the PDF. First, DynaPDF allows us to create two PDFs and then combine them in the reverse order. We can parse the text of each page of the PDF to determine the page number of each fruit in the document. After combining the PDFs, we can add “Page Links” into specific locations on each page, allowing us to hyperlink within our combined PDF document. We use this in two ways -- first, by having a table of contents page that allows us to jump to a specific fruit on a page and second, by having a button on each page that allows us to return to the table of contents page. This minimizes the need to scroll through each page of the PDF, creating a more fluid user experience. Enhancing FileMaker Pro with PDF Document Manipulation With some script steps and external plugin functions, we see how powerful we can make FileMaker Pro by manipulating PDF documents. We can link around a PDF document dynamically, combine multiple PDF documents in different order and parse text from specific pages in a PDF, and much more. PDF functionality has remained the same for almost 15 years in FileMaker Pro. By using FileMaker Pro’s plugin architecture we can extend that functionality to build even more powerful custom applications. What kind of apps could you build with this powerful set of PDF tools? Next Steps for Your FileMaker Solution If you have any questions about this functionality or seek a development partner in using it to take your FileMaker solution to the next step, please contact our team. We’re happy to provide additional insights and determine if we’re a good fit for your next project. References MBS FileMaker Plugin http://www.monkeybreadsoftware.de/filemaker/ DynaPDF from MBS https://www.mbsplugins.eu/component_DynaPDF.shtml FileMaker Hacks Blog Post https://filemakerhacks.com/2017/02/21/pdf-with-embedded-links/ The post Extending FileMaker PDF functionality with DynaPDF appeared first on Soliant Consulting. Voir le billet d'origine
  4. Soliant Consulting

    JSONPath in FileMaker Demo

    Leveraging JSON to pull additional information into FileMaker introduces new opportunities for integration with web services and RESTful APIs. The functionality allows you to strengthen your FileMaker solution by querying specific JSON data elements. Learn more about how this functionality can empower your organization by downloading our complimentary demo file on setting up your JSON path. Read the blog post… Complete the form to receive the file: Trouble with this form? Click here. The post JSONPath in FileMaker Demo appeared first on Soliant Consulting. Voir le billet d'origine
  5. Soliant Consulting

    JSONPath in FileMaker via the Web Viewer

    Getting information from JSON opens up FileMaker for more integration with web services and RESTful APIs. With the Data API (beta in 16, v1 in 17) and Admin API (FileMaker Server 17), JSON will likely continue to become more important and more integrated with FileMaker. Querying JSON Data Elements The JSONGetElement function lets us query specific JSON data elements, using either an object name, an array index, or a path. The key is there that these must be known values. We need to either know something about the JSON structure if we want specific elements. We cannot query or search JSON based on certain criteria. Alternatively, we could get everything from the JSON object into a field or variable, and then apply some rules after the fact. Maybe we want to compare information or look for elements that fit certain requirements, such as a price above or below certain thresholds. Maybe we want to look for arrays that are missing certain elements, such as ISBN numbers in an array with book information. In XML there’s a syntax called XPath that uses expressions to find information in nodes or node-sets. There’s a similar concept that allows us to extend JSON, taking advantage of a JavaScript library called JSONPath, and FileMaker’s own Web Viewer to act as the engine for the JavaScript library. This lets us feed in JSON and a JSONPath expression into a Web Viewer, and return the result via the fmpurl protocol. FileMaker and Web Viewer Integrations Web Viewer and JavaScript integration is nothing new. A Google search for FileMaker and JavaScript integration will likely bring up many examples of such integration. Some examples include FileMaker reaching out to external APIs. Other examples use what’s called a “data uri” to render web pages directly in your web viewer. Using a “data uri” you can include CSS and JavaScript in your HTML code. Setting Up Your JSON Path The included demo file has a field for our jsonpath.js library. This is an open source file and our only dependency. When implementing this in a real solution, you’d likely place this in a resource table and only call it as needed. Next, we have a field for our JSON. This can be an object or array. Your own process may store the JSON in a variable, but the demo file uses a field so that we can see the source values as we’re testing our JSONPath expressions. Additionally, we have an “input” field, which is the JSONPath query. Instead of JSONGetURL, JSONPath uses expressions in a text format to search the JSON for matching results. Then, we have a result field so we can see the result of our JSONPath query for certain values from the JSON using the jsonpath.js library. Both the input and result fields also could be turned into variables. Finally, we have an empty Web Viewer object, with a name of “WebViewer” so we can point to the object as needed. Scripting Your JSON Path There are two short scripts, “JSONPathInput” and “JSONPathWrite.” The first script, “JSONPathInput,” builds HTML and sets this HTML into the Web Viewer. As mentioned above, we can use “fmpurl” inside HTML to call FileMaker scripts. The last action in our “JSONPathInput” script does just this, calling the “JSONPathWrite” with a script parameter. That script parameter is the result of the JSONPath query, and all the script does is set our Result field with this value. The process is simple enough, but the complexity and power lie in the HTML that we create. HTML The HTML inside the script takes up only a few lines of code. (Note: The \ characters are there to escape double quotes inside the text.) Substitute ( "data:text/html, <!DOCTYPE html> <html lang=\"en\"> <head> <script type=\"text/javascript\"> **JS_FUNCTION** </script> <script type=\"text/javascript\"> var json = **JSON**; var p = jsonPath(json, \"**INPUT**\" ); var r = JSON.stringify(p); var url = \"fmp://$/" & Get ( FileName ) & "?script=JSONPathWrite&param=\" + r ; window.location = url ; </script> </head> </html>" ; [ "**JS_FUNCTION**" ; zResources::JSONPath ] ; [ "**JSON**" ; zResources::JSON ] ; [ "**INPUT**" ; zResources::Input ] ) Let’s break this apart into smaller chunks. First, the HTML is wrapped inside a FileMaker substitute function. Skipping briefly to the last lines of code, we see three substitutions. Each bit of text bracketed by the double asterisks gets switched out with values from our fields. These three values, such as **INPUT**, appears in the HTML code as placeholders. We’ll tackle each piece separately. Our text starts with “data:text/html,” which means we’re constructing a web page. Next, we have some HTML specific tags at the beginning and end: <!DOCTYPE html> <html lang=\"en\"> <head> . . . </head> </html> Inside this HTML we have two JavaScript functions. The first function, represented by our **JS_FUNCTION** placeholder, represents the jsonpath.js library. This brings the library into our web page. The second function is where we write out how to apply the jsonpath.js library against our JSON and our JSONPath expression. <script type=\"text/javascript\"> var json = **JSON**; var p = jsonPath(json, \"**INPUT**\" ); var r = JSON.stringify(p); var url = \"fmp://$/" & Get ( FileName ) & "?script=JSONPathWrite&param=\" + r ; window.location = url ; </script> We declare our JSON value as a variable inside JavaScript. Then we declare another variable with the result of sending our **INPUT** or query from the field into the JSONPath function. Ordinarily, this might be enough, but sometimes JSONPath returns objects or arrays, and these might not display properly in certain browsers. Instead, you might see a value like “Object object,” so we use the built-in “JSON.stringify” function to convert objects into strings. Finally, we set a variable to the fmpurl address of our “JSONPathWrite” script, with the stringified variable as the script parameter, and then feed this url into the Web Viewer. How does JSONPath work? Let’s assume we have some JSON: { "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } } } With JSONGetElement, to pull out the ISBN we’d need to loop through the “book” array and extract the value using something like: JSONGetElement ( JSON ; "store.book[2]isbn" ) The [2] represents the 3rd index in the book array. The first two indexes contain no value for ISBN, but we’d need to loop through all of them to pull out what we need. With JSONPath, all queries begin with “$” followed by a path with optional operators. The “$” represents the root object or element. Dot and bracket notation is used in ways similar to the JSONGetElement function. The power of JSONPath comes in the ability to traverse JSON and slice out elements, with the logic built into the JSONPath expression. Say you need to know which elements in the above JSON have an ISBN value. You can get the array values with this query. $..book[?(@.isbn)] If you want to find titles of books that don’t have an ISBN, then you flip this around and append the title key: $..book[?(!@.isbn)].title To find books where the price is greater than some value, you can use comparison operators. $..book[?(@.price &gt; 15)] This “stringify” action in our JavaScript function will wrap your result inside a JavaScript array, so some additional manipulation is required. If your result contains a single value, even if this is object, you can use JSONGetElement ( Result ; “[0]” ) to strip off the “[ ]” brackets. For arrays that contain multiple values, you can use JSONListKeys to determine how many values there are in your array and process these with the native JSON functions. This query returns one book object where the book costs more than 15: $..book[?(@.price > 15)] [{"category":"fiction","author":"J.R.R.Tolkien","title":"The Lord of the Rings","isbn":"0-395-19395-8","price":22.99}] In the above example, to get the title, use JSONGetElement ( Result ; “[0]title” ) and this will return “The Lord of the Rings.” For a more complete review of all options and operators available in this JSONPath Javascript library, refer to this article on JSONPath. Get the Demo file Download the JSONPath demo Why Use JSONPath? There is some overlap with JSONPath and JSONGetElement. $.store is the same as JSONGetElement( JSON; “” ) and returns our entire JSON. FileMaker reorders JSON based on the keys, so they might look different, but it’s the same content. JSONPath allows us to extend our applications that use JSON to both analyze and extract information, almost like searching the content, without first pulling apart as we’d need to do with JSONGetElement and additional scripting. Caveats with JSONPath There are a couple of considerations with fmpurl. Security settings will need to be updated to allow the “fmpurlscript” extended privilege set for any accounts that use this process. If you have multiple versions of FileMaker open, running the script with the “wrong” version may fail. If the fmpurl is bound to FileMaker 16, and you try to use it in 17, you might get an error. Leveraging New Features in FileMaker 17 If you have any questions about how to benefit from JSONPath and other new features in FileMaker 17, please contact our team. We’re happy to help your team determine the best way to leverage new functionality for your FileMaker solution. The post JSONPath in FileMaker via the Web Viewer appeared first on Soliant Consulting. Voir le billet d'origine
  6. Soliant Consulting

    FileMaker Server 17 and the Crucial ‘stats.log’

    stats.log on FileMaker Server There is no log file more important on your FileMaker Server then the ‘stats.log’. It delivers invaluable information on how your deployment is behaving across the four traditional bottlenecks of any server: Is the processing power sufficient? Can the disk speed handle the volume? Is there enough memory available? Does the network card give me enough bandwidth? The information in that log will help you troubleshoot performance bottlenecks in your solution. The stats.log also will help you plan and extrapolate whether the current server can handle any new load you have in mind. It will inform you if it is safe to use more PSoS or more server-side schedules or add a few WebDirect users. Without this log, you are, in effect, flying blind. stats.log in FileMaker Server 16 In FileMaker Server 16, the toggle to enable this log was in the Admin Console as shown in Figure 1: Figure 1 - Toggle for stats.log in FileMaker Server 16 Admin Console (click to enlarge) The statistics themselves were visible in the Console too as shown in Figure 2: Figure 2 - Statistics shown in FileMaker Server 16 Admin Console (click to image to enlarge) That is not so anymore in the new FileMaker Server 17 Admin Console. stats.log in FileMaker Server 17 In the FileMaker Server 17 Admin Console, you can only toggle the top call stats log. To view any of the logs, you must download them (see Figure 3): Figure 3 - Download log files in FileMaker Server 17 Admin Console (click image to enlarge) Finding the stats.log in FileMaker 17 As per my previous blog post on missing features in FileMaker 17 illustrates, you may thiink the stats.log is no longer available in FileMaker Server 17. Rest assured: it is still there. However, it is also still turned off by default. (I really wish it wasn’t.) Because we do not get visual reminders of of this in the new Admin Console, you may easily forget about it. Turning on the stats.log in FileMaker 17 The very first thing I do when I install a new FileMaker Server or log into one already running is turn on the stats.log. I do not like flying blind… In FileMaker Server 17, you can only do so from the command line on the server itself – or through a secure tunnel to the command line on the server (see Figure 4): Figure 4 - Turn on the stats.log in FileMaker Server 17 (click image to enlarge) While you are there you can also enable the Client Stats log: fmsadmin enable clientstats Figure 5 - Verifying the logging interval and log size setting (click image to enlarge) That client stats log as well as the top call stats log will turn themselves off on every FileMaker Server restart, but the regular stats.log will remain on after issuing this command. Next, I will verify what the logging interval is and how big the log size setting is: fmsadmin get serverconfig: The default settings of logging every 30 seconds and keeping the log size at 40MB is usually sufficient. If you want to change them, the command would be: fmsadmin set serverconfig statsinterval=15 This, for example, would change the interval to 15 seconds. Accessing Your Data in the stats.log Now that we can sleep easy knowing our server deployment will log valuable performance data, how do we get the data when we need it? You cannot download the stats.log and the ClientStats.log from the Admin Console. You will need to grab them from the FileMaker Server logs folder (see Figure 6). Figure 6 - Get the stats.log and ClientStats.log from the FileMaker Server logs folder (click image to enlarge) Questions About the stats.log As always: post any questions on community.filemaker.com or as a comment on this blog, and we’ll be happy to help out. For a full run-down of the new Admin Console, the configuration options that are available from the command line, the new Admin API and the new Console, and a dedicated Tech Brief on monitoring your FileMaker Server, download comprehensive white papers. Leveraging New Features in FileMaker 17 If you have any questions about how to benefit from the features in FileMaker 17, please contact our team. We’re happy to help your team determine the best way to leverage new functionality for your FileMaker solution. The post FileMaker Server 17 and the Crucial ‘stats.log’ appeared first on Soliant Consulting. Voir le billet d'origine
  7. New FileMaker Server Admin Tools FileMaker Server 17 includes exciting new offerings, including a Data API out of beta and a brand new Admin API. The FileMaker Server 17 Admin Console has been redesigned with a fresh, new look. Now, some features that were available in the Admin Console in previous versions of FileMaker Server are no longer available in it. For instance, “send message” and “verify database” schedules can no longer be created from the console. Setting the maximum number of hosted files, enabling/disabling the stats log, enabling/disabling the XML and the PHP APIs, are no longer available from the Admin Console. Download the tech briefs co-authored by Wim Decorte and Steven H. Blackwell for a comprehensive review of how the FileMaker Admin Console has changed in FileMaker 17. Read the blog posts: FileMaker Server 17 Admin Console, Admin API, and Admin CLI FileMaker Server Monitoring in FileMaker 17 FileMaker Server 17 and SSL Changes You Need to Know As explained in much greater detail in those white papers, most of the functionality in previous versions of the Admin Console has not gone away, but it’s no longer available through the Admin Console; instead, we now need to rely on the Admin CLI and/or the Admin API to use and/or set some of those features and options. Moving Forward in FileMaker 17 At Soliant Consulting we thought it would be nice to have a convenient, web-based means from which to administer more aspects of FileMaker Server than what the stock Admin Console offers. To do so, we are leveraging the new Admin API to simplify tasks that are no longer available via the native Admin Console, but also to do things that were not possible before 17, like visualize and manipulate FileMaker Server schedules in a calendar view. Introducing the FileMaker Server Admin Console Extension We set out to build a web-based extension of the native Admin Console, an app called FMS ACE (FileMaker Server Admin Console Extension). Our team is sharing it with the FileMaker community for free, in an open source form for anyone to modify and extend. This version of FMS ACE provides the following enhancements: Display all schedules on the server in a calendar view Filter the schedule display by schedule type Create "verify database" schedules Create "send message" schedules We do not intend for FMS ACE to replace the native FileMaker Admin Console. Rather, we see it as an easy-to-use complement to the stock Admin Console. You can run both of them side by side in a web browser. FMS ACE is a JavaScript app, just like the native FileMaker Server 17 Admin Console. FMS ACE leverages the new Admin API in FileMaker Server 17 to obtain all schedules in a FileMaker Server, and it displays them in a calendar format for you to see at a glance all schedules defined in your server. You can choose to see them in a “month”, “week”, or “day” view, and you can create and delete schedules right from the calendar in FMS ACE. Your edits are automatically pushed to your FileMaker Server. Sound appealing? Keep on reading! A Few Words on the FMS Admin API The new Admin API in 17 allows us to interact with FileMaker Server via RESTful calls. For a complete list of the calls available, refer to the Admin API documentation installed with FileMaker Server 17 at https://<your_server_here>/fmi/admin/apidoc/ You can also read Anders Monsen's introduction to FileMaker 17's new Admin API. FMS ACE and Schedules Half of the FileMaker Server 17 Admin API calls involve interacting with schedules (backup, script, send message, and verify database schedules). Let’s look at how FMS ACE leverages this new API, and in particular the schedule calls, to work with FileMaker server schedules. When you launch FMS ACE in a web browser, you are prompted for the credentials to connect to your FileMaker Server (the Admin Console credentials). This is very similar to logging into the native Admin Console. Once you log in, FMS ACE automatically pulls the data for all schedules in the FileMaker Server that you connect to, and it displays them in this fashion. Calendar displays "week" view by default (click image to enlarge) Behind the scenes, FMS ACE uses the "schedules" Admin API call to obtain all schedules in the server. It uses the free, open source FullCalendar JavaScript library to visualize data returned by the Admin API in a calendar view. Note that the different schedule types are color-coded, and you can choose to filter by schedule type, displaying only some schedule types at a time. "Month" calendar view filtered to show only Backup and Verify schedules (click image to enlarge) You can also create "verify database" and "send message" schedules from FMS ACE, two schedule types that can no longer be created from the native Admin Console. Popup to add a Verify Database schedule (click image to enlarge) To view the detail for a schedule, click on it. To delete it, click "Delete" in the details popup. Popup showing schedule detail and ability to delete schedule (click image to enlarge) How can you get your hands on this app, you are wondering? Utilizing FMS ACE as an End User Download the latest version of the built JavaScript app from GitHub Copy the "fms-ace" folder to the following location on your FileMaker Server machine: On Windows: C:\Program Files\FileMaker\FileMaker Server\HTTPServer\conf\ On Mac: /Library/FileMaker Server/HTTPServer/htdocs/httpsRoot/ That's it! Now you should be able to access FMS ACE on your FileMaker Server at the /fms-ace route, e.g. https://<your_server_here>/fms-ace Please note that the current version of FMS ACE is only supported on FileMaker Servers with a security certificate signed by a Certificate Authority (not with the self-signed certificate that ships with FMS 17). We have a ticket on our roadmap to try to overcome this limitation. Leveraging the Admin CLI Currently, we are relying entirely on the Admin API to interact with FileMaker Server. In the future, FMS ACE could also leverage the Admin CLI to interact with FileMaker Server. As mentioned earlier, some functionality that previously existed in the native Admin Console is now available in the Admin API and/or Admin CLI. It would be possible to issue Admin CLI commands from FMS ACE, thus making this app a central place from which to interact with FileMaker Server. The future of FMS ACE depends on interest within the FileMaker community, so please let us know what you think. You can even extend FMS ACE yourself, as we are releasing it as an open source project! Contributing to FMS ACE as a Developer The project is available in GitHub Please refer to the Contributing Guidelines if you would like to extend FMS ACE Final thoughts The administrative tools available in FileMaker Server 17 represent a significant departure from previous versions of FileMaker Server. We believe that FMS ACE can grow to be a handy tool for FileMaker Server administrators. Please connect with us on GitHub and let us know what you think about FMS ACE. Could this be a useful tool for you? What new features in FMS ACE would you be most interested in? If you're interested in other ways to integrate web services with your FileMaker solution, contact our team. We can provide insights on the best way to move forward. The post JavaScript App Extension to the FileMaker Server 17 Admin Console appeared first on Soliant Consulting. Voir le billet d'origine
  8. Soliant Consulting

    FileMaker Server 17 – Help with the Helper Tools

    Moving forward with FileMaker 17, the FileMaker Server Command Line Interface (CLI) will play a more prominent role in how we interact with our server. You can only access some settings no longer available through the Admin Console through the CLI or the new Admin API. (Learn more in the tech briefs here.) Helper Tools in the New Admin API We are already exploring plenty of new helper tools to take advantage of the new Admin API and create nice-looking user interfaces to augment the standard Admin Console. You can even expose settings and configuration options that may seem a little hidden. In a pinch though, when you are logged into the FileMaker Server machine and need to check or set some of the options, know that the CLI has a pretty decent built-in help. To get a list of all the available commands for instance type in the folllowing as shown in Figure 1: Note that all of these commands are the same on Windows as on macOS.) Figure 1 - Get a list of the available commands (click image to enlarge) This will give you all of the commands available as shown in Figure 2: Figure 2 - List of available commands (click image to enlarge) To get more help on any of these commands, type in the following: fmsadmin help <the command you are after> As an example, let’s look at the new GET command. This command allows us to see many of the current FileMaker Server settings, including default settings (see Figure 3). Figure 3 - The new GET command (click image to enlarge) Figure 4 shows what this will get us: Figure 4 - Current FIleMaker settings, including default setting (click image to enlarge) Based on what we see in this help section, we can now issue this command as shown in Figure 5: Figure 5 - Using the 'serverconfig' command (click image to enlarge) This allows us to see the settings in the 'serverconfig' area as shown in Figure 6: Figure 6 - Settings shown in the 'serverconfig' area (click image to enlarge) Get Comfortable with the FileMaker 17 CLI with Helper Tools If you are unfamiliar with the CLI, then hopefully these help options will allow you to quickly find what you need. Leveraging New Features in FileMaker 17 As always, post your questions to the FileMaker Community Forum. My team and I are can lend a helping hand. If you have any questions about how to benefit from other new features in FileMaker 17, please contact our team. We’re happy to help your team determine the best way to leverage new functionality for your FileMaker solution. The post FileMaker Server 17 – Help with the Helper Tools appeared first on Soliant Consulting. Voir le billet d'origine
  9. Soliant Consulting

    Is FileMaker 17 Missing Features?

    As Platinum Partners, our team at Soliant has been testing with the FileMaker 17 platform for months prior to the release. While exploring it, one of my biggest fears was related to the new Admin Console - would people conclude that certain features were no longer available? Case in point, this post from the FileMaker Community Forum: Post from the FileMaker Community Forum about the Admin Console in FileMaker 17. This feature in question has not been removed from FileMaker Server 17. However, to use it, you must leverage the updated Admin CLI (command line interface) or the brand new Admin API. You can toggle this particular setting through the following CLI command from Terminal on macOS or the command line box on Windows: fmsadmin set serverconfig securefilesonly=false More on the Admin CLI & Admin API You can learn more about the commands available through the CLI and the new Admin API in whitepapers available on the FileMaker forum. Make sure to download them and keep them handy for when you need to adjust a setting on FileMaker Server but can’t seem to find it in the Admin Console. FileMaker Server Feature Removal A handful of features were removed from FileMaker Server. The online help for FileMaker Server 17, lists them here. Next Steps in FileMaker 17 If you have any questions about how to find missing or moved features in FileMaker 17, please contact our team. We’re happy to help your team determine the best way to move forward with your FileMaker solution. The post Is FileMaker 17 Missing Features? appeared first on Soliant Consulting. Voir le billet d'origine
  10. Soliant Consulting

    FileMaker 17: Introducing Master Detail

    With FileMaker 17 comes a variety of new features and capabilities. Watch our video to learn more about the platform’s new Master Detail functionality. The post FileMaker 17: Introducing Master Detail appeared first on Soliant Consulting. Voir le billet d'origine
  11. Soliant Consulting

    FileMaker 17: Customizing Master Detail

    With FileMaker 17 comes a variety of new features and capabilities. Watch our video to learn more about customizing the platform’s Master Detail functionality. The post FileMaker 17: Customizing Master Detail appeared first on Soliant Consulting. Voir le billet d'origine
  12. Welcome to FileMaker 17 FileMaker 17 has arrived with a full suite of new tools and capabilities for developers and users alike. As users and developers dive into the features, exploring everything the version has to offer, they may have another question on their mind: “What does this mean for my hosting environment and server configuration?” A new release is an excellent time to review your hosting needs and determine if they’re being met. It’s also a great time to consider if your server configuration is evolving with the pace of your business and can scale with you. Leveraging New FileMaker 17 Features and Tools This release includes a variety of new functions to enhance your database storage, security, and cloud capabilities. With this newly available functionality in the platform, we have updated Soliant.cloud services to support the newest version of FileMaker Server available and immediately take advantage of the platform’s new capabilities. Hosting Configured Uniquely for Your FileMaker Needs As we’ve worked with FileMaker for decades, we’re well aware of the common challenges, needs, and opportunities of hosting for the platform’s implementations. Our premium hosting service, Soliant.cloud addresses concerns and leverages unique FileMaker capabilities through our custom configuration for the platform. As a Platinum FileMaker Partner, we received an inside look at FileMaker 17 months before its release and started immediately tailoring Soliant.cloud to leverage the release’s new features and tools. Now’s a great time to transition to consultative hosting services configured specifically for your implementation. Learn more about Soliant.cloud and how easy it is to switch to our comprehensive FileMaker hosting. Evolve! For our existing Soliant.cloud clients, we offer the Evolution Package to transition your existing Soliant.cloud instances to the latest version of FileMaker. Our FileMaker 17 Evolution Package involves the following steps: An evaluation of your current Soliant.cloud server instance to develop a plan and time frame for action. This will include: Database porting Container Data porting Analysis and configuration adjustments to EBS volumes Analysis and configuration adjustments to AWS Snapshots Secure Socket Layer Certificate (SSL) migration Server Side Plug-Ins porting Server Side Scripting porting Current backup and snapshot porting Monitoring and AWS roles & security transfer Instance FTP-SSL accounts and configuration Instance command, batch, and powershell file porting FileMaker Server License transfer and license review Update networking security, roles, permissions and DNS. A review of our findings and recommendations. Our team will: Review costs for evolution based on the analysis. Review licensing considerations. Propose any possible optimizations for cost reduction and performance enhancements. Define a maintenance window to perform the evolution. A full evolution for your solution, paired with ongoing communication with your team Get Started Today To learn more about upgrading your hosting and solution in one joint effort, contact our FileMaker hosting experts at Soliant.cloud today. The post How to Leverage FileMaker 17’s New Capabilities in Your Hosting Environment appeared first on Soliant Consulting. Voir le billet d'origine
  13. Soliant Consulting

    FileMaker Server Monitoring in FileMaker 17

    At first glance, FileMaker Server 17 seems to be making it harder to properly monitor its performance. The Admin Console no longer has live views of the most important statistics across the four traditional bottlenecks (processing power, disk i/o, memory and network throughput). It also dropped the live view into the FileMaker Server event log. However, there are simple ways around these challenges. Steven Blackwell and I put together an overview of how to continue to monitor your FileMaker Servers going forward. Download the Tech Briefs Get the FileMaker 17 Tech Briefs In this tech brief we cover: How to enable the crucial FileMaker Server stats.log, using the Admin Command Line and/or the new Admin API Where to find and how to download all of the FileMaker Server logs How to use the Windows Perfmon tool to collect these statistics and more (includes a template to download and use) Tools the Operating System provides to augment the monitoring effort If you have any questions or feedback then start a thread on community.filemaker.com, and I’ll be sure to chime in. Moving Forward with FileMaker 17 If you have any questions about how to navigate the new FileMaker Server monitoring or any other new features included in FileMaker 17, please contact our team. We’re happy to help your team determine the best way to leverage them within your FileMaker solution. The post FileMaker Server Monitoring in FileMaker 17 appeared first on Soliant Consulting. Voir le billet d'origine
  14. It’s been a while since the FileMaker Server Admin Console received a facelift. We’ve had the same basic UI and functionality for our Admin Consoles since FileMaker Server 13. Visually, the new Admin Console in FileMaker Server 17 is very different. It's now very similar to the one in use for FileMaker Cloud. However, the changes go much deeper than just how it looks. Some features and settings that have been in the Admin Console for a long time are no longer available; some are only available in the brand new Admin API and the upgraded Admin CLI (command line interface). Steven Blackwell and I put together an overview of all changes across the different ways to administer your FileMaker Server. Download the Tech Briefs Get the FileMaker 17 Tech Briefs In addition to the general overview, it also contains: A complete side-by-side comparison of the FileMaker Server 16 Admin Console and the FileMaker Server 17 Admin Console. You will find this helpful if you are already familiar with the previous Admin Console. A matrix of the most common admin actions and information on which of the three Admin touch points (Console, API, CLI) that actions are available in. We cover admin actions such as adjusting the database cache, modifying the progressive backup interval, disabling the new default midnight backup schedule, and many more. With the white paper comes a full set of all the Admin API functions in a Postman collection you can use for testing the new Admin API. It’s a powerful addition to our toolset, allowing us to build our own admin consoles and we will see many community contributions do exactly that. With any questions on the new functionality, head over to community.filemaker.com. Many of us will be there to help guide you through what is new and what has changed. In August, I will also be presenting at the annual FileMaker Developer Conference. My first session covers what is new and different in FileMaker Server 17. My second focuses on using the new Data API Between now and Devcon, keep your eyes peeled for any webinars that FileMaker Inc will put together about these topics as well. Moving Forward with FileMaker 17 If you have any questions about how navigate the Admin Console or any other new features included in FileMaker 17, please contact our team. We’re happy to help your team determine the best way to leverage them within your FileMaker solution. The post FileMaker Server 17 Admin Console, Admin API, and Admin CLI appeared first on Soliant Consulting. Voir le billet d'origine
  15. Soliant Consulting

    FileMaker Server 17 and SSL Changes You Need to Know

    Changes to SSL have arrived with FileMaker 17. To illustrate general background information on SSL, why your strategies around it are so crucial to your FileMaker solution, and how to implement encryption-in-transit in FileMaker 17, I’ve co-authored a white paper. In it, I discuss important changed such as: How the default certificate no longer encrypt data in transit between FileMaker Server and its clients Why the FileMaker Server 16 HSTS feature is no longer there How you now cannot use the Admin Console to generate your Certificate Signing Request any longer Download the Tech Briefs Get the FileMaker 17 Tech Briefs I’ve like to give a shout-out to Steven H. Blackwell for co-authoring this white paper with me as well as Mislav Kos for his DevCon presentation on all things SSL and his follow-up blog posts on these topics. Moving Forward with FileMaker 17 If you have any questions about how to navigate these SSL changes or any other new features included in FileMaker 17, please contact our team. We’re happy to help your team determine the best way to leverage them within your FileMaker solution. The post FileMaker Server 17 and SSL Changes You Need to Know appeared first on Soliant Consulting. Voir le billet d'origine
×