Aller au contenu

Blogs

Nos blogs communautaires

  1. FileMaker Shipping Labels with Shippo

    FileMaker Shipping Labels with Shippo

    The global market for parcels is on pace to be over $300 billion dollars in 2017 according to Apex Insight with sales continuing to rise via e-commerce. There are many carriers across the globe and having nearly all to your disposal from a single company is advantageous.  Many businesses want the ability to ship orders directly out of FileMaker. We commonly recommend Shippo, an all-in-one web API that allows you to pay for and generate shipping labels and tracking numbers on the fly.

    But why do we want to integrate with Shippo in the first place? Can’t we just create shipping labels all online?

    The Problem

    We find that many customers are managing all of their orders inside of FileMaker and all of their shipments in a third-party (sometimes online) solution. This is a very resource intensive workflow and causes a big time waster: double-data entry. Just imagine entering in every single customer’s information into FileMaker and then into a third-party solution. Typing (or copy-pasting) two pairs of shipping and billing addresses just seems barbaric, right? If you are in a similar situation right now, we have a solution (keep reading)!

    The Solution

    In a perfect world, you would be able to create an order and generate a shipping label all from one screen within FileMaker and only type the customer’s information once. Well, we like to think that this perfect world already exists! That’s where Shippo and it’s powerful and robust API comes in. With built-in JSON and cURL functions in FileMaker, we can natively integrate with Shippo. All you need to do to get started is sign up for Shippo, set up your shipping options, grab your API keys, and then integrate with FileMaker. It’s super easy and we will show you how to do it below.

     

    Benefits of using Shippo

     

    Getting Started

    Sign up for Shippo

    Shippo makes it very easy to get started. The first step is to sign up for an account.

    FileMaker Shippo Sign Up Page

     

    Set up Billing

    Once you are in the Dashboard, fill out all of the information on the Account and Billing tabs (otherwise your account will be suspended after generating a few shipping label requests).

    FileMaker Shippo Billing Page

     

    Get API Tokens

    Click on the API tab and take note of the API Live Token and API Test Token.

    FileMaker Shippo API Page

    Also note your API Version. For the purposes of this article, we are using API Version 2017-08-01. From time-to-time, Shippo will update their API, but you will have to click a button on the API tab in order to upgrade to the latest version. Keep in mind that upgrading could break your code, so we recommend that you create a developer account to test with before upgrading in a production environment.

     

    Enable Shipping Carriers

    Click on the Carriers tab and/enable all of the carriers that you want to use.

    FileMaker Shippo Carriers Page

    For this demo, we are using the fully capable and heavily discounted USPS account that is provided by default. Also, we are going to activate test mode for USPS so that we can create a testing environment without being charged.

     

    Set up API Keys in Demo File

    We have provided a demo file at the bottom of this article that will get you started with the basic example to integrate into your custom solutions. Once you open this file, you will notice that the layout consists of two tabs: order and setup. Click on the Setup tab. From here you’ll need to fill out all of fields at the top (Information & Address) as well as paste in your API Live Token and API Test Token into the corresponding fields. There is also a checkbox toggle that will allow you to go from “test mode” to “live mode.” During test mode, your account will be able to generate test shipping labels and tracking codes (that cannot be used for actual shipping), but our account will not be charged.

    FileMaker Shippo Setup Screen

     

    Test

    Once you are ready to test, go ahead and fill out the order form, then click Generate Shipment & Rate. This will populate the portal underneath Shipping Info with multiple rates to choose from. You can select your desired rate and then click Generate Shipping Label. If all goes well, a brand new shipping label and tracking number will appear!

    FileMaker Shippo Order Screen

     

    Breakdown

    Now that you’ve tested with the demo file, let’s breakdown exactly what we did so that you can build it yourself (or use the demo file if you wish).

    Tables and Fields

    • You need to create 5 tables:
      • LOG
        • housekeeping fields (primary key, creation/mod date, account, and timestamp)
        • request (text)
        • response (text)
      • ORDER
        • housekeeping fields (primary key, creation/mod date, account, and timestamp)
        • customer first name (text)
        • customer last name (text)
        • customer email (text)
        • customer phone (text)
        • customer address fields (address 1, address 2, city, state, zip, country)
        • customs declaration id (text)
        • customs declaration toggle (number)
        • shipment object id (text)
        • shipping label (container)
        • shipping label errors (text)
        • shipping dimension fields (height, length, width, and weight)
        • shipping tracking number (text)
        • shipping tracking number url (text)
        • log id (global)
        • constant 1 (global)
      • ORDER_LINE_ITEM
        • housekeeping fields (primary key, creation/mod date, account, and timestamp)
        • order id (text)
        • item name (text)
        • item quantity (number)
        • item weight (number)
        • item price (number)
        • item extended price (auto-enter of quantity x price)
      • PREFERENCES
        • housekeeping fields (primary key, creation/mod date, account, and timestamp)
        • company name (text)
        • company address fields (address 1, address 2, city, state, zip, country)
        • company email (text)
        • company phone (text)
        • Shippo live token (text)
        • Shippo text token (text)
        • Shippo live mode/test mode toggle (number)
      • RATE_OPTION
        • housekeeping fields (primary key, creation/mod date, account, and timestamp)
        • shipping carrier account id (text)
        • order id (text)
        • rate id (text)
        • rate amount (number)
        • chosen rate checkbox (number)
        • duration terms (text)
        • estimated days to delivery (text)
        • shipping provider (text)
        • service level name (text)
        • service level token (text)

    Relationships

    • You need to create 5 relationships off of the ORDER table:
      1. a creation/deletion relationship to ORDER_LINE_ITEM using the ORDER primary key.
      2. a cartesian relationship to PREFERENCES using the primary keys.
      3. a creation relationship to LOG using the global logID field.
      4. a relationship to RATE_OPTION using the ORDER primary key.
      5. a relationship to RATE_OPTION using the ORDER primary key and chosen rate field.

    Scripts

    • You need to create 6 scripts:
      • Startup
        1. You need to create (or modify) a script that runs on startup of the FileMaker database.
        2. Add a script step that goes to a new layout called based on ORDER (we will create the layout later).
        3. After going to the new layout, set the global constant 1 field to the value of 1. You will use this global to make the chosen shipping rate relationship work that you created earlier.
      • Create a Shipment
        1. You need to create a new script that generates a shipment in Shippo.
        2. In this new script, set a variable for the URL we will POST the shipment information to (https://api.goshippo.com/shipments/). Add three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox that determines if the live or test token is used. You’ll need to use the cartesian relationship from ORDER to PREFERENCES for these three variables.
        3. Next, set all the variables for the company that is shipping the product (company name, phone, email, fax, address, city, state, and zip). Again, these fields come from the PREFERENCES table, so you will need to use the cartesian relationship from ORDER to PREFERENCES for these variables.
        4. After that, set all the variables for the customer (full name, company, address 1, address 2, city, state, zip, country, email, and phone). All of this information is on the order screen so there is no need to use a relationship here, just use the ORDER context (and ensure you are on the ORDER context when running the script).
        5. Then, set all the variables for the shipping info (weight, length, height, width, and requires customs declaration checkbox). These fields are also on the order screen, so just use the ORDER context again.
        6. In this step, you can choose to validate that all of the variables you set are present before you run the rest of the script. We recommend doing this so that you aren’t wasting time with the API call if all of the variables are not set correctly.
        7. Next, check to see if the shipment requires a customs declaration. If it does, you will run the “Create a Customs Declaration” script that we will go over in the next script breakdown. Check that the script doesn’t return an error. If there are no errors, expect a customs declaration ID to be returned to be added to the JSON request payload in the next step.
        8. Now that all the variables are set, you need to wrap it all up in a nice JSON variable to be sent as a request payload. You can see exactly how Shippo wants to receive this request payload here. Also, if you need help building the JSON variable, you can read up on JSON functions with FileMaker here.
        9. After you’ve created a request, you can use the Insert from URL script step to send the JSON request payload. A JSON response payload will come back from Shippo. You can take this JSON response payload and parse it out however you wish, but you can check the “status” key-value pair to see if the response is “SUCCESSFUL” or not.
        10. Next, you need to save the “object_id” key-value from the JSON response payload into the shipment object ID field in the ORDER table. You will use this later to create shipping rates.
        11. Last, you need to run the “Create Shipping Rates script that we will go over in a later script breakdown.
      • Create a Customs Declaration
        1. For international shipments, you will need a Customs Declaration. This is basically a piece of paper that tells Customs Officers what is in the package.
        2. To generate a Customs Declaration you need to create a new script with a variable for the URL we POST to (https://api.goshippo.com/customs/declarations/). See three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox for if we are using the live token or not. You will need to use the cartesian relationship from ORDER to PREFERENCES for these three variables.
        3. Next, set a variable for the full name of the customer you are shipping to. Create four more variables that use the List function to group the name, weight, quantity, and extended price from the ORDER_LINE_ITEM relationship off of ORDER.
        4. Now, create a JSON request payload based off of the payload Shippo is expecting (you can see this expected payload here). You’ll see that Shippo is expecting a list of items in the shipment. To do this, you will need to loop through all of the order line items and append them to the JSON request payload.
        5. Last, send the JSON request payload to Shippo and receive the JSON response payload. Check for success or errors. If successful, grab the “object_id” key-value and set it as the customs declaration ID in the ORDER table. Then, pass the “object_id” key-value back to the parent script in the Exit Script script step.
      • Create Shipping Rates
        1. You need a way to generate all possible shipping rates for a particular shipment.
        2. Create a new script and set a variable for the URL we will POST to (https://api.goshippo.com/shipments/[SHIPMENT_OBJECT_ID_GOES_HERE]/rates/[CURRENCY_TYPE_GOES_HERE]). The currency type, in this case, is simply USD. Set three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox for if we are using the live token or not. You will need to use the cartesian relationship from ORDER to PREFERENCES for these three variables.
        3. Next, you need to set a variable for orderID and for shipmentObjectID.
        4. Once again, you can validate that all of the variables are set before running the script.
        5. Now, do an Insert from URL script step using a cURL command on the URL by sending just the Authorization with the live or test Shippo token using a GET method.
        6. This time, you want to check if you received shipping rates from the JSON response payload by checking for a “count” key-value. If you don’t get a count, then check for errors. If you do get a count, then you will go to the RATE_OPTION table, check to see if shipping rates for the current order already exist (if they do, simply delete the found count of records), and then loop over each JSON rate array and parse the information into the following fields: orderID, rateID, carrier account, rate amount, service level name, service level token, provider name, estimated days, and duration terms.
      • Create Shipping Label
        1. You need a way to generate the shipping label and tracking number information based on the rate that was chosen.
        2. First, create a script and set a variable for the URL we will post to (https://api.goshippo.com/transactions/). Set three more variables: one for the Shippo test token, one for the Shippo live token, and one for the checkbox for if we are using the live token or not. You need to use the cartesian relationship from ORDER to PREFERENCES for these three variables. Also, you need to set a variable for the selected shipping rate by using the relationship from ORDER to RATE_OPTION that uses the chosen rate field.
        3. Once more, you can validate that all of the variables are set before proceeding.
        4. Next, create a request payload by using the Insert from URL script step and passing in cURL options for authorization, rate, label file type and async using a POST method.
        5. Now, check to see if you receive a “SUCCESS” status from the JSON response payload, otherwise, check for errors.
        6. Then, set a variable for a shipping label image URL by getting the “label_url” key-value from the JSON response payload. Do an Insert from URL script step onto the shipping label container field with the URL set to the shipping label image URL variable. This will pull the PDF of the shipping label into the shipping label container field.
        7. Last, set the tracking number and tracking URL fields with the “tracking_number” and “tracking_url_provider” key values you get from the response.
      • Select Shipping Method
        1. You need a way to select a shipping rate from the Shipping Info portal. You will have checkboxes in the portal to select a rate, but you don’t want to be able to select multiple (which is the default behavior). This script will run through all of the shipping rates in the portal and only leave the one selected as the one checked off.
        2. Create a script with two variables: orderID and rateID, with orderID being the current order primary key and rateID being the ID of the shipping rate selected from the portal.
        3. Next, write a Go To Layout script step that goes to the base table layout for RATE_OPTION, do a find for all of the records that match the orderID, and loop through them.
        4. Inside the loop, check each record to see if the rateID of the record matches the rateID variable that you set earlier. If it matches, set the “chosen rate” field to 1, otherwise, set the field to “”.

    Layouts

    • Order Layout
      1. Create a layout based on the ORDER table to use as the order data entry screen.
      2. Add all of the fields from the ORDER table to the layout and arrange how you see fit.
      3. Make sure the Customs Declaration field is a checkbox and the value list value of 1.
      4. Create a portal based on ORDER_LINE_ITEM using the relationship from ORDER. Add the item name, weight, quantity, price, and extended price fields. Format the fields how you see fit. You can optionally add a delete portal row button.
      5. Create a portal based on RATE_OPTION using the relationship from ORDER (not the relationship that uses the chosen rate field). Add the chosen rate (checkbox with value list value of 1), provider, service level name, and amount fields. Format the fields how you see fit. Make the chosen rate checkbox a button with the “Select Shipping Method” script attached.
      6. Create a button called “Generate Shipment & Rate” that runs the “Create a Shipment” script.
      7. Create a button called “Generate Shipping Label” that run the “Create Shipping Label” script.
    • Setup Layout
      1. Create a layout based on the PREFERENCES table.
      2. Add to the layout all of the company name and address fields along with the Shippo live token, test token, and live mode/test mode toggle (as a checkbox with the value list value of 1).

     

    Conclusion

    Integrating with an API service like Shippo to generate shipping labels and tracking information inside your FileMaker solution can greatly reduce your workload and increase your bandwidth to do more revenue-generating activities. If you need assistance integrating Shippo into your custom FileMaker solution, feel free to contact us.

    Did you know we are an authorized reseller for FileMaker Licensing?
    Contact us to discuss upgrading your FileMaker software.

     

    DownloadDownload FileMaker Shipping Labels with Shippo Database

    Please complete the form below to download your FREE FileMaker database file.

    • Name*
      First Last
    • Company
    • Phone*
    • Email*
    • Deployment Assistance?
      Please contact us to assist integrating into your FileMaker Database.
      • Yes
    • Terms of Use
      • I agree
      OPT-IN: I agree that I am downloading a completely free FileMaker application file with no strings attached. This database is unlocked, and I may use it for my business or organization as I see fit. Because I am downloading a free database, I agree that I should receive occasional marketing. I understand that I can OPT-OUT of these emails at anytime.

    Afficher la totalité du billet

  2. Wouldn't it be nice to have a button bar that you could place on every layout that handles basic FileMaker navigation and would automatically update itself when you make changes like rearranging, renaming, or adding layouts.

    The appeal of this functionality is that it can be applied to most any FileMaker solution. I’ve seen other approaches over time, although not all have met all requirements that I would want of such a tool. These requirements include:

    • Works in Browse and Find mode
    • Uses Themes and Styles
    • Allows manually navigating to layouts
    • Works in List View
    • Works in Pro (both local and hosted), Go, and WebDirect
    • Works with multiple windows
    • Works natively (no plugins required)
    • Does not require additional schema
    • Handles a reasonable number of layouts
    • Minimal scripts required

    Other nice-to-haves:

    • Does not require custom functions, which is better for portability
    • Retains the last visited sub-section, allowing for navigation of multiple tiers


    Expanding brain image

    Image from: http://knowyourmeme.com/memes/expanding-brain

    This has been something that has been in the back of my mind for a long time. An earlier version I created used a web viewer to display navigation but only supported two tiers. That solution had its drawbacks, notably a "clicking" sound on Windows that happens when a web viewer is loading. That original version was done some 10-plus years ago and was due for an update using modern techniques.

    The newest iteration supports three tiers of navigation and uses only native FileMaker objects. You can also utilize Themes and Styles with current versions of FileMaker, allowing you to easily change the look and feel of your standardized navigation in all layouts that use the same theme. All layouts that use a common Theme will reflect updates across the entire file when you update the Theme.

    Three Tiers Deep

    This solution has three button bars, first introduced in FileMaker 14, that are stacked on top of one another. Your first tier is the top bar. Therefore, the minimum version of FileMaker for this technique is at least 14. Clicking on one of the top tier buttons takes you to the second tier and so on. If you think of the layout names as data, where we define a delimiter to separate the layouts, we can structure a naming convention that works with the navigation framework to build out the navigation scheme. Consider the following:

    Home
    Home__Dashboard
    Home__Reports
    Home__Reports__Additional
    Company
    Company__Details
    Company__Contacts__Info
    Company__Contacts__One
    Company__Contacts__Two
    Prefs

    This is a straightforward list of values, which is easy to understand. If we consider each individual value as having a list of its own, this could be considered a multi-dimensional array. For example, “Company__Contacts__Info” is a list with three values delimited with an underscore.

    In the above list, we have "Home", "Company" and "Prefs" on the first tier, and the second tier would be dynamic, based on the first tier we have selected. Company on the first tier has “Main,” “Details,” and Contacts” that appear on the second tier. Similarly, selecting “Contacts” on the second tier will show “Info” “One” and “Two” on the third tier. If there are no values to display on the second or third tier, that button bar is hidden.

    That also means it is easy to change your navigation by simply rearranging the order of layouts. The next time you run the “Load Nav” script, or just close and open the file again, your FileMaker navigation will update through your entire solution.

    Building the List

    Since we can get all the layout names with a Design function, it is possible to parse through those values to build a series of global variables that will display those values on a button bar. Once we determine which first-tier section we are on – based on the current layout name – we can evaluate which second and third tiers need to display.

    You may optionally set your own list of layout names to use, instead of using the design function. That gives you more control over naming layouts you do not want to appear, or layouts that may physically be out of order. If you want to keep it dynamic, there is a developer definable prefix to use that will omit layouts you do not want included. If you override with a static list, you can simply include only those layouts you wish to appear.

    This solution supports up to three tiers, with each tier being able to support up to ten values. That means 10 x 10 x 10 for a total of 1,000 layouts that can be maintained automatically. That should suffice for most of the solutions that I work on.

    Order is important

    Since we parse through the layouts to build the navigation interface, those layouts need to be in the order you want them to appear. This makes it trivial to update your user interface. Did you want "Prefs" to appear before "Company"? Then simply re-order your layouts and open the file again. Your UI will update to reflect the change.

    To populate all the needed variables, we need to run a script once when the file opens. In this version, all the buttons in the button bar get routed through a centralized “Nav” script, where exceptions can be handled. Alternatively, that script can simply use "Go to layout" by name.

    We also handle support for multiple windows in the “Nav” script if the user holds down a modifier key. The command key on OS X, the “ctrl” key on Windows, or the shift key will open a new window before navigating to the desired layout.

    Dynamically named variables

    The solution makes heavy use of dynamically named variables, so it may limit the characters used in layout names because they are used to name variables. If your layout names follow the naming convention explained above, it all just works. Global variables are all “namespaced” with a "NAV" prefix to avoid collisions with other variables you may set in your solution.

    BONUS 😀

    FileMaker supports Unicode pretty much everywhere, so you can include emojis in layout names.  They will display as icons in the navigation bars. Note: this also means you can have emojis in variable names.

    Under the Hood

    Button bars make it possible to use calculations to specify the active button segment. The calculations that determine which segment should be active for each of the three tiers are dependent on each other. For example, to know what the active segment should be for the second tier, we need to have already calculated the active segment for the first tier.

    So that we can more easily control which active segment is calculated first, the three active segments are determined using a single calculation, which has been placed in the top-most button bar. Layout objects are rendered left-to-right, top-to-bottom, so once the first-tier button bar evaluates its active segment calculation, the next two button bars will be ready to go.

    Second and third tiers with a null value are assigned a default value to display, like "Main." Buttons that are not used are hidden so that they cannot be clicked. The remaining space is filled in with invisible buttons that have no action assigned to them and act as filler, so the buttons stay at even width.

    If there are layouts you do not want automatically included in your navigation, you can exclude them by naming the layout beginning with "//". The notations used for the delimiter and exclude flag are configurable in the script that loads the navigation variables. If you want to use a different convention, you can change it to whatever you want, but the default is double underscore for tier delimiters and double slash to exclude the layout.

    Navigation scheme

    Navigation scheme.

    This screenshot shows what the navigation scheme looks like. You can also see this in my accompanying demo file, which includes some sample layouts. The different tiers have been styled differently to set them apart.

    The next screenshot shows how navigation appears when viewing the "Company__Contacts__Info" layout.

    Navigation bar

    Navigation changes when on the Company layout.

    Because button bars are easy to manage, you can modify their placement and appearance easily. Would you rather display the third tier at the bottom of the layout? Just place the third button bar at the bottom of the layout. Layout size is wider than the sample file? Just resize the button bars to the desired width, setting the anchor points as needed.

    Save Your Place

    In each section, we can retain the last visited sub-section when navigating multiple tiers by setting the variables used to link to different layouts when navigating through the lower tiers. You would not want to keep having to navigate through 2nd and 3rd level tiers every time you go to “Company” for example. If you are drilled down, need to go to “Prefs” and go back to “Company,” you will arrive at the 2nd or 3rd tier you last visited.

    Multi-Window Support

    As we use global variables unapologetically, each window gets its own set of global variables to reference. These are set in the scripts and buttons, so there is nothing for you to update; it is all done for you.

    Is this a little heavy-handed, brute force setting so many variables? YES! But the work is done all up front and only once, so you can benefit from it in lots of places.

    Dynamic FileMaker Navigation Bar Instructions

    To use this in your own solution, follow these steps:

    1. Import the Theme, or create styles for the parts. This can be done later if you already have a Theme in use.
    2. Copy the "Load Nav" and “Nav ( layout )” scripts, paste it in your solution, and configure “Load Nav” to run when the file opens.
    3. Copy the navigation buttons bars and paste them into your layouts.
    4. Configure a script trigger to run when opening a new window (File->File Options…->Script triggers: OnWindowOpen) to include the “Load Nav” script. If you do this, you can disable the script steps to run this script when checking for a modifier key in the “Nav ( layout )” script.

    I will often use this technique on files that I have developed where I do not have time budgeted for layout navigation. With this solution, I have nice looking navigation available that can be implemented in a short amount of time.

    Try it yourself. Download the sample file.

    Need Help?

    If you have any questions about building your own dynamic FileMaker navigation functionality, please don’t hesitate to ask a question below or contact my team and me directly.

    The post How to Build a Dynamic FileMaker Navigation Bar appeared first on Soliant Consulting.


    Voir le billet d'origine

  3. fm-infographicp.jpgLa saga FileMaker en une infographie…

    CoreSolutions Software, Inc. via son blog, nous présente toute l'histoire de FileMaker résumée en une infographie. Pour les nostalgiques comme moi cela permet de nous remémorer les dates clefs de notre logiciel préféré…

    • 1987 - Naissance de Claris
    • 1988 - FileMaker II
      • première version à être éditée par Claris Corp.
    • 1990 - FileMaker Pro
    • 1992 - FileMaker Pro 2
      • signe la première version pour Windows
    • 1994 - FileMaker Pro Server
    • 1995 - FileMaker 3
      • architecture relationnelle
      • protocole réseau TCP/IP
    • 1997 - FileMaker 4
      • ouverture aux plugins
    • 1998 - FileMaker Pro 4 Developer Edition
      • dernière édition par Claris Corp.
      • Claris Corp. devient FileMaker, Inc.
    • 1999 - FileMaker Pro 4.1v2
      • première édition par FileMaker, Inc.
    • 1999 - FileMaker Pro 5
    • 2002 - FileMaker 6
      • dernière version à supporter Mac OS 9 et 8
    • 2004 - FileMaker Pro 7
      • multi-tables
      • multi-fenêtres
      • graphe de liens
      • variables dans les formules de calcul
      • nouvelle sécurité
      • nouveau format de fichier
    • 2005 - FileMaker 8
      • génération PDF scriptable
      • variables dans les scripts
      • panneaux à onglet
    • 2007 - FileMaker 9
      • support des sources de données MS SQL Server, MySQL et Oracle
      • formatage conditionnel
    • 2008 - Bento
    • 2009 - FileMaker 10
      • changement d'orientation de la zone d'état (verticale) qui devient barre d'outils (horizontale)
      • déclencheurs de script
    • 2010 - FileMaker Go 1.0
    • 2010 - FileMaker 11
      • outil Graphique
      • lien snapshot
      • tables externes filtrées
      • importations récurrentes
    • 2012 - FileMaker Pro 12 et FileMaker Pro 12 Advanced
      • thèmes
      • fenêtres de type modale et document
      • fonction ExecuterSQL
      • amélioration des rubriques de type conteneur et des graphiques
    • 2013 - FileMaker 13
      • WebDirect et support du HTML 5
      • développement de solution mobile amélioré
      • conception d'interface graphique améliorée
      • action pour exécuter des scripts par le serveur
      • connexion SSL 256 bit
    • 2015 - FileMaker 14
      • espace de travail de script
      • barre de boutons
      • infobulles pour les badges en mode modèle, et Gestion des solutions
    • 2016 - FileMaker 15

    Retrouver l'infographie en haute résolution directement depuis le billet du blog «Core FileMaker Blog» par Steve Malott.

    Et puisque je suis nostalgique, je ne peux résister à l'envie de vous montrer quelques ouvrages qui trainent encore sur mon bureau... Cela rappellera des bons souvenirs à certaines personnes :rolleyes:

    Fichier 09-06-2016 23 19 57.jpeg

  4. fmi_certif15.png

    FileMaker, Inc. vous propose de valider votre expertise FileMaker.

     

    Démontrez vos capacités FileMaker

    Ce diplôme officiel prouve à vos clients, à vos pairs et à votre direction que vous avez acquis les connaissances, l'expérience et les compétences essentielles en matière de développement sur la plateforme FileMaker.

    Que vous soyez consultant indépendant ou développeur interne, la certification FileMaker vous offre bien des avantages :

    • Vous développez vos connaissances et devenez un développeur aux multiples talents.
    • Vous restez informé des toutes dernières technologies FileMaker.
    • Vous vous dotez d'un avantage concurrentiel sur les autres développeurs.
    • Vous investissez dans votre carrière et augmentez votre rentabilité.
    • Vous offrez plus de crédibilité à votre entreprise.
    • Vous pouvez utiliser le logo de la certification FileMaker sur votre site Web et vos cartes de visite.
    • Vous augmentez votre visibilité sur le site Web de FileMaker (partenaires uniquement).

     

    Préparez l'examen

    Une expérience pratique de la plateforme FileMaker peut augmenter vos chances de réussir l'examen. Nous vous recommandons au moins 6 mois d'expérience en développement sur la plateforme FileMaker avant de passer l'examen.

    1. Spécifications techniques
      • Décrivez les spécifications techniques pour la plateforme FileMaker 15.
         
    2. Définition du schéma de base de données
      • Décrivez et appliquez les options de saisie automatique.
      • Identifiez les mécanismes et les comportements des options de validation, et décrivez les résultats possibles lorsqu'une option est déclenchée.
      • Utilisez une option de stockage pour atteindre un résultat souhaité.
      • Définissez le résultat d'un graphe de liens particulier, selon un scénario donné.
      • Définissez le lien approprié pour atteindre un résultat souhaité, selon un scénario donné.
      • Utilisez les sources de données SQL externes pour intégrer les données d'une source de données externe et concevoir correctement un schéma.
         
    3. Conception de modèles
      • Décrivez les conséquences de la liaison d'un modèle à une occurrence de table spécifique.
      • Identifiez la façon dont une table externe peut afficher les données distantes de plusieurs liens et certains des comportements qui peuvent être attribués à une table externe.
      • Décrivez les comportements des objets de modèle/rubrique qui peuvent être modifiés.
      • Décrivez les types et les attributs des déclencheurs de script.
      • Identifiez les conséquences du choix d'un type de déclencheur particulier, selon un scénario donné.
      • Décrivez l'utilisation d'un objet de graphique.
      • Identifiez les conséquences de la sélection ou de l'utilisation de thèmes.
      • Identifiez les propriétés, l'utilisation et les capacités des thèmes, des styles d'objet et des états.
      • Décrivez le format et le comportement des éléments de modèle.
         
    4. Utilisation de calculs
      • Identifiez la syntaxe d'expression, la logique et l'ordre des opérations.
      • Décrivez le comportement et l'utilisation des fonctions de calcul.
      • Décrivez le comportement et l'utilisation des fonctions personnalisées.
         
    5. Rédaction de scripts
      • Identifiez l'utilisation des principales techniques de conception d'algorithmes, selon un scénario donné.
      • Identifiez l'utilisation des principales fonctions de rédaction de scripts de la plateforme FileMaker.
      • Décrivez la façon dont le contexte (et les changements de contexte) peut affecter le comportement des scripts lors de la récupération ou de la mise à jour des données de tables liées ou non liées, et/ou la navigation entre les tables et les fenêtres.
      • Décrivez les éléments à prendre en compte lors de la rédaction de scripts pour un environnement multi-utilisateur.
         
    6. Sécurisation d'apps FileMaker
      • Décrivez les comptes, les jeux de privilèges et les interactions avec l'authentification.
      • Décrivez le contrôle d'accès et la gestion de la sécurité dans les apps FileMaker via les jeux de privilèges.
      • Décrivez l'utilisation du cryptage et de la protection de fichiers externes pour protéger les données FileMaker.
      • Décrivez l'utilisation de la protection de fichiers externes pour protéger les données FileMaker.
         
    7. Déploiement d'apps personnalisées via FileMaker Server
      • Décrivez les principaux éléments de l'installation, du déploiement, de la configuration, de l'administration, de la résolution des problèmes et de la surveillance de FileMaker Server.
      • Décrivez les meilleures pratiques pour la création de sauvegardes efficaces et sécurisées.
      • Décrivez les principaux éléments de la rédaction de scripts coté serveur.
         
    8. Intégration de données
      • Décrivez les formats et les méthodes d'importation de données dans des fichiers FileMaker.
      • Décrivez les formats et les méthodes d'exportation de données dans des fichiers FileMaker.
      • Décrivez les méthodes d'échange de données entre des fichiers FileMaker et d'autres sources de données.
      • Décrivez les principales sources de données dynamiques prises en charge, leur connexion et leur intégration dans une app FileMaker.
         
    9. Publication de données FileMaker sur le Web
      • Décrivez les options de publication Web disponibles pour FileMaker Server, leurs configurations, l'emplacement des composants et les options d'administration.
      • Décrivez la préparation d'une app FileMaker accessible sur le Web.
         
    10. Outils et processus de développement
      • Décrivez un éventail de techniques de développement, des fondamentales au plus avancées.
      • Décrivez les conséquences de l'utilisation de plusieurs fenêtres.
      • Décrivez les options et les processus utilisés dans la récupération de fichiers.
      • Décrivez les conséquences du contrôle de différentes fonctions visibles de l'utilisateur par le développeur.
         
    11. FileMaker Go
      • Décrivez les options de déploiement d'une app dans FileMaker Go.
      • Identifiez les conséquences uniques du développement et du déploiement d'apps personnalisées pour FileMaker Go.
      • Décrivez les fonctions uniques de FileMaker Go.

     

    icon_register_for_exam.png

    Inscrivez-vous à l'examen

    Disponible en anglais et en japonais, l'examen consiste en des questions à choix multiples.

    Les examens de certification sont proposés dans les centres d'évaluation Pearson Vue du monde entier. Lorsque vous vous inscrivez à l'examen, vous pouvez choisir le site qui vous convient le mieux.

    Inscrivez-vous auprès de Pearson VUE

    Pour plus d'informations sur l'examen, consultez les politiques de certifications.

     

    icon_certification_faqs.png

    Questions / réponses sur la certification

    Si vous avez des questions supplémentaires sur le processus de certification, consultez nos questions/réponses sur la certification.

    Consultez les questions / réponses >

     

    icon_test_dev_process.png

    Processus de développement de l'examen

    Les procédures suivies pour créer l'examen destiné aux développeurs FileMaker est conforme aux normes de l'industrie conçues pour fournir le plus haut niveau de fiabilité et de validité d'examen.

    En savoir plus >

     

    Retrouvez toutes les informations sur le site de l'éditeur :
    http://www.filemaker.com/fr/learning/certification/index.html

  5. ipb_blog_OpenData__dataNOVA_codesPostaux.png

    Pour notre première intégration, nous allons nous intéresser aux codes postaux français, en imaginant que nous souhaitons proposer aux utilisateurs de notre solution FileMaker une liste de communes suivant le code postal saisi. Pour cela nous avons besoin de la liste des codes postaux et des communes françaises associées. En effectuant une recherche sur le site data.gouv.fr nous trouvons le jeu de données souhaité et son producteur dataNOVA.

    dataNOVA est la plateforme officielle des données ouvertes du Groupe La Poste, en nous connectant sur le site dédié nous y trouvons la description du jeu de données de la Base officielle des codes postaux dont voici le résumé :

     

    ipb_blog_OpenData__chapitre_importation.png

    Avant de savoir quel format de fichier nous allons utiliser pour l'intégration par importation du jeu de données, nous devons les étudier, cela fait partie de notre analyse avant de pouvoir prendre notre décision quand à la méthodologie à employer pour effectuer une intégration par importation.

     

    Le format CSV

    Commençons par le premier d'entre eux, le format CSV. À première vue notre choix porterait sur ce format car c'est le plus léger, seulement 1,6 Mo. Cette petite taille permettra d'effectuer un téléchargement rapide et sans gréver la bande passante.

    Le lien pour le télécharger est le suivant :

    http://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/?format=csv&timezone=Europe/Berlin&use_labels_for_header=true

    En effectuant une importation dans FileMaker Pro, on s'aperçoit que ce fichier utilise le point-virgule comme séparateur de données et non la virgule comme le souhaiterai FileMaker. Ce qui ne nous permet pas de l'importer directement. Cela va donc nous demander un petit traitement préalable. Le traitement en question consiste à :

    1. Importer le fichier directement dans une rubrique texte ;
    2. Remplacer le point-virgule par la virgule ;
    3. Exporter le contenu de la rubrique dans un fichier texte.

    Le fichier ainsi obtenu pourra être importé de manière classique dans notre solution FileMaker. Ces opérations ne demande aucun plugin ou fonction personnalisée.

    Vous trouverez un exemple de script pour effectuer cette importation dans le fichier d'exemples.

     

    Le format EXCEL

    Le lien pour télécharger le jeu de données au format EXCEL est le suivant :

    http://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/?format=xls&timezone=Europe/Berlin&use_labels_for_header=true

    Le format EXCEL du jeu de données proposé par dataNOVA est au format Feuille de calcul Excel 2004 XML, format non reconnu par FileMaker Pro. Nous avons donc un format EXCEL qui est en fait un format XML. Pour importer ce jeu de données il nous faudra donc créer une feuille de transformation XSL-T. Pour cela je vous suggère de lire ou relire mes billets sur l'importation de données XML.

     

    Le format JSON

    Le lien pour télécharger le jeu de données au format JSON est le suivant :

    http://datanova.legroupe.laposte.fr/explore/dataset/laposte_hexasmal/download/?format=json&timezone=Europe/Berlin

    La récupération du fichier proprement dit n'est pas difficile, nous suivons la procédure suivante :

    1. Importation du fichier directement dans une rubrique texte ; 
    2. Traitement des données JSON.

    Mais le point n°2 est plus compliqué car FileMaker Pro n'intègre pas de parser (traducteur) JSON. Il nous faut soit faire appel à un plugin tel que BaseElements Plugin (gratuit) ou MBS FileMaker Plugin (payant), soit faire appel à des fonctions personnalisées. Tout cela pour générer par une boucle toutes les données issues du fichier JSON.

     

    En conclusion

    Suite à l'analyse des trois formats de fichier proposés par dataNOVA, mon choix porte sur le format CSV, malgré la petite opération de remplacement de caractères, c'est le plus léger des trois (moins de 2 Mo) et le plus simple à mettre en œuvre via une importation classique.

    Vous trouverez dans le fichier d'exemples un script effectuant ce type d'importation.

    Ce type d'importation peut être effectuée régulièrement dans l'année pour maintenir la liste des communes et des codes postaux français à jour. Et aussi simplement qu'un clic de souris (pour une mise à jour à la demande), ou automatiquement par FileMaker Server, une fois par mois par exemple. Pour ce dernier cas, le script présent dans le fichier d'exemples ne fonctionne pas sous FileMaker Server.

     

     

    ipb_blog_OpenData__chapitre_api.png

    La documentation de l'API est disponible à l'adresse suivante, cette documentation intègre une console pour nous permettre d'effectuer des requêtes et tester ainsi les différentes options.

    L'API proposé par dataNOVA permet d'effectuer des interrogations (requêtes) en ligne pour obtenir diverses informations. L'API fonctionne sous la forme d'une adresse URL, elle est donc simple à mettre en œuvre.

    L'adresse URL de base est :

    Le paramètre dataset avec la valeur laposte_hexasmal indique à l'API que nous effectuons une requête dans le jeu de données des codes postaux.

    D'après la documentation de l'API, on peut effectuer nos interrogations en utilisant le paramètre en lui transmettant soit le nom d'une ville, soit le code postal, etc. La valeur transmise peut-être incomplète. Mais si nous souhaitant avoir un résultat plus précis et plus restreint, nous utiliserons d'autres paramètres.

     

    Rechercher le code postal correspondant à une commune

    Pour rechercher le code postal correspondand à une commune, nous utiliserons le paramètre refine.nom_de_la_commune et en lui adressant comme valeur la commune. Attention, nous utilisons ici un paramètre restrictif, il faudra envoyer le nom de la commune en majuscule, sans accent et sans apostrophe. Dans le fichier d'exemples vous trouverez un script qui effectue ces transformation.

    Nous utiliserons donc une requête comme celle-ci :

    Et nous obtenons en retour le résultat au format JSON

    {
    	"nhits":1,
    	"parameters":{
    		"dataset":[
    			"laposte_hexasmal"
    		],
    		"refine":{
    			"nom_de_la_commune":"CHARTRES"
    		},
    		"timezone":"UTC",
    		"rows":10,
    		"format":"json"
    	},
    	"records":[
    		{
    			"datasetid":"laposte_hexasmal",
    			"recordid":"1f0f84c05e42dbfa1b0d4f6780ae4552d9b9a225",
    			"fields":{
    				"nom_de_la_commune":"CHARTRES",
    				"libell_d_acheminement":"CHARTRES",
    				"code_postal":"28000",
    				"code_commune_insee":"28085"
    			},
    			"record_timestamp":"2016-05-09T13:17:00+00:00"
    		}
    	],
    	"facet_groups":[
    		{
    			"name":"nom_de_la_commune",
    			"facets":[
    				{
    					"name":"CHARTRES",
    					"path":"CHARTRES",
    					"count":1,
    					"state":"refined"
    				}
    			]
    		}
    	]
    }

     

    Le but du jeu c'est de récupérer le contenu de la valeur code_postal dont le chemin JSON est records[0].fields.code_postal.

    Le [0] correspond à la première valeur du tableau records.

    Et s'il y a plusieurs codes postaux trouvés (car il y a plusieurs communes homonymes en France) il faut alors effectuer une boucle pour générer notre liste de codes postaux correspondant à la commune recherchée. Vous trouverez dans le fichier d'exemples un script effectuant cette opération. Pour connaître le nombre d'enregistrements trouvés, nous récupérons la valeur de nhits.

    Et comme nous obtenons du JSON, nous utiliserons le plugin BaseElements pour nous permettre d'effectuer toutes ces opérations. Si vous ne l'avez pas, vous trouverez dans ce billet tous les éléments nécessaires pour le télécharger et l'installer

     

    Rechercher la commune correspondante à un code postal

    Pour rechercher la commune correspondante à un code postal, nous utiliserons le paramètre refine.code_postal et en lui adressant comme valeur le code postal. Attention, pour un code postal pouvons obtenir plus de dix communes, l'API se limite par défaut à 10 enregistrements retournés, et comme nous ne souhaitons pas effectuer plusieurs appels, nous augmenterons la limite par défaut en utilisant le paramètre rows et en lui mettant la valeur 50, qui devrait être largement suffisant.

    Nous utiliserons donc une requête comme celle-ci :

    Et nous obtenons en retour le résultat au format JSON

    {
    	"nhits":1,
    	"parameters":{
    		"dataset":[
    			"laposte_hexasmal"
    		],
    		"refine":{
    			"code_postal":"28000"
    		},
    		"timezone":"UTC",
    		"rows":50,
    		"format":"json"
    	},
    	"records":[
    		{
    			"datasetid":"laposte_hexasmal",
    			"recordid":"1f0f84c05e42dbfa1b0d4f6780ae4552d9b9a225",
    			"fields":{
    				"nom_de_la_commune":"CHARTRES",
    				"libell_d_acheminement":"CHARTRES",
    				"code_postal":"28000",
    				"code_commune_insee":"28085"
    			},
    			"record_timestamp":"2016-05-09T13:17:00+00:00"
    		}
    	],
    	"facet_groups":[
    		{
    			"name":"code_postal",
    			"facets":[
    				{
    					"name":"28000",
    					"path":"28000",
    					"count":1,
    					"state":"refined"
    				}
    			]
    		}
    	]
    }

    Comme précédemment, le but du jeu c'est de récupérer le contenu cette fois-ci de la valeur nom_de_la_commune dont le chemin JSON est records[0].fields.nom_de_la_commune.

    Le [0] correspond à la première valeur du tableau records.

    Et s'il y a plusieures communes trouvées (car il y a plusieurs communes ayant le même bureau distributeur en France) il faut alors effectuer une boucle pour générer notre liste de communes correspondantes au code postal recherché. Vous trouverez dans le fichier d'exemples un script effectuant cette opération. Pour connaître le nombre d'enregistrements trouvés, nous récupérons la valeur de nhits.

    Et comme nous obtenons du JSON, nous utiliserons le plugin BaseElements pour nous permettre d'effectuer toutes ces opérations. Si vous ne l'avez pas, vous trouverez dans ce billet tous les éléments nécessaires pour le télécharger et l'installer

     

    ipb_blog_OpenData__chapitre_base.png

    Voici le fichier d'exemples, vous y trouverez trois scripts :

    • Le premier pour la récupération de la liste des codes postaux et des communes via une importation d'un fichier CVS.
    • Le deuxième pour la récupération de la liste des codes postaux suivant une ville saisie via l'API.
    • Le troisième pour la récupération de la liste des communes suivant un code postal saisi via l'API.

    Bonne découverte !

    :excl: Le fichier est optimisé pour FileMaker Pro 14 et plus. Si vous avez une version antérieure vous perdrez uniquement de l'interface graphique… Ce fichier d'exemples ne comporte pas de fonction personnalisée.

    Fichier d'exemples : dataNOVA.zip

  6. While creating videos on my YouTube channel for my beginner/intermediate series of videos, a viewer asked if I would create a video about migrating from using Serial values as primary/foreign keys to using UUID key values.

    The process is actually quite simple, but not so obvious when you start thinking about all the scripting you might have to do for all the various tables and connections within your solution. The benefits of switching to a UUID key based system is that you no longer have worry about duplicates with disconnected files and you also gain the piece of mind that you don't have to worry about updating the serial value every time you perform an export/import process for updating a database which is not updated directly within production.

    So, in this video, I show the easiest method for moving from using serial key values to using the more modern UUID values. If you have an older FileMaker system and you'd like to update it to UUID keys, then this video should have all the info you need.

    Click the title or link to this article to view the video.


    Afficher la totalité du billet

  7. Previously, I wrote about how to convert your solution away from the Classic theme. In this part, I discuss five FileMaker 14-exclusive changes you might want to make while updating your solution. These interface features will add professionalism, usability, and—dare I say?— “glory” to your solutions.

    Converting From Classic Glory

    Read Part 1

    Now that you’ve decided to update your layouts to a modern theme in FileMaker, there are a few things you might want to do at the same time, that don’t require any major changes to your layouts. Since you’re already touching every layout in your solution, why not take advantage of some of the new features in FileMaker 14? It makes sense to get the most bang for your buck. Here are…drumroll please…Five Things New in FileMaker 14 That Will Improve Your Interfaces (in no particular order):

    1. Hidden Scroll Bars

    Readers of this blog know I like scrollbars! I’ve written about them before, probably because they can be one of the most distinctive elements of a layout, and in FileMaker there is very little about scrollbars that can be styled. So choosing the look of the scrollbars is a major portion of deciding on a new theme. And no other theme’s scrollbar is exactly like the Classic scrollbar style. So finding something to replace it with is a bit of a challenge. Here is the layout after switching from Classic to a custom theme based on Cool:

    Before

    Well, instead of styling the scrollbar, how about hiding it altogether? This new feature is an option on fields and portals, and allows you to only show a scrollbar slider when the user’s cursor is actually scrolling. It’s the same way that scrolling works inside the FileMaker window itself—you only see a scrollbar slider when you activate the scroll wheel or perform a scrolling gesture on the mouse. This is the standard way scrolling is done on the Mac, in fact.

    Limitation: Make sure that users have scrolling capability on their mice, or this feature won’t work.

    2. Button Bar

    The new button bar object is awesome! Buttons are one of the most complex objects to style, with all the different parts and states they can have. The button bar drastically cuts down on the number of objects you need to deal with across potentially many layouts, and can even be conditionally or dynamically populated if you want. (Here’s an article from Digital Fusion describing how to create an abstracted navigation system using the button bar object.)

    Now, rather than managing a row of individual button objects when creating a navigation bar, for instance, you can use a button bar instead. A single object can take the place of five or six separate objects. Be sure to go through all the button bar parts and states and make sure they are set how you want—There are a lot of them and the format painter transfers hardly any styles from a button object to a button bar object. There may be inactive, in focus and hover states inherited from the theme that you probably will want to change to match the previous behaviour, so you’ll have to do some work setting up the first button bar.

    You can also mix a button bar with a regular button. In these examples, the Menu button is its own button, placed beside the button bar.

    Limitation: You can dynamically set a button label, but you can’t conditionally specify an icon. Also, all the buttons in the button bar get the same width, no matter how long or short their label might be. So you have to set the button width to accommodate the longest button label, including some white space on either side. This might mean that short labels (such as the “Print” button below) end up with more space than before. So make sure you are okay with buttons possibly being more spread out, and have the space for them if you switch out individual buttons for the button bar.

    3. Top Navigation Part

    The new top header navigation part keeps the most important objects (like primary navigation) accessible at the top, where users need it most. It helps prevent users from getting lost, and provides them a quick way of getting around with a minimum of window scrolling. Don’t forget to check the style for the top navigation part, it may have a fill or border that you may want to change or remove to match your layout.

    Limitation: Any background colour you set for a top navigation part stretches across the whole layout, even the inactive part (seen when the user stretches the window to the right). However, when objects on it are anchored to the top and left, the body background colour ends at the edge of the active part of the layout. When you pull the body part down with the mouse, a gray (or default layout background-coloured) gap opens up between the top navigation and the body part.

    Top Navigation Gap

    You can mitigate this by anchoring objects in the header to stretch between the left and right edges of the window. Or, create a rectangle the exact size of your top navigation part and send it to the back, and then remove any background fill colour on the top navigation part. This way, your top navigation will appear to end at the edge of the layout when objects are anchored to the top left, just like the body part.

    Neat Edge

    White rectangle is placed at the back of the top navigation part

    One final alternative is to anchor the body objects to the middle. In this case, the white body background fills the screen and no “inactive” colour is seen.

    Centered

    Body objects are anchored to the center of the layout

    4. Placeholder Text

    Who hasn’t wanted to dispense with field labels at times, especially on obvious fields, such as addresses? The user needs a text label to guide them when they’re entering data, but once a record has been filled out, it’s clear where the Street Name, City, Prov/State, and Zip Code should go. You don’t really need to devote layout space to them forever and ever. And yet, creating inline placeholder text has been too much work to maintain in the past, so I often didn’t bother with it, except when really necessary.

    Now, placeholder text is an option on the field itself. You can have field descriptors show up inside an empty field without creating a separate text object. You can even set this text dynamically by calculation if you want.

    Placeholder text

    Placeholder text is also helpful in cases where you want to guide the user to a field, without cluttering the layout with field borders, which can be distracting when there is a lot of data. Placeholder text subtly cues the user to the text entry location, without disrupting the layout once all the data has been entered.

    Limitation: Don’t do away with field labels completely. You’ll still likely need some field labels under certain circumstances, such as multiple phone numbers (e.g. home, office, mobile), or numerical data which needs to be identified to be understood.

    After

    5. Custom Theme Colours

    This is such a useful update to the colour palette! You can now drag a colour to the theme colours grid, located directly below the hex picker colour swatch. FileMaker will store the colour, and automatically create both a lighter and darker shade. This is a super easy way to create a range of hues to represent different button states (e.g. lighter on hover, darker when pressed) with literally the click of a button. You can reorder the colours by dragging the swatches around the colour grid.

    Limitation: You can’t directly remove a colour from the colour grid. You can replace an existing colour by dragging a new colour onto it, or you can drag white onto it to “clear” it (although you’ll get gray as the top colour as a result).

    Custom Theme Palette

    Conclusion

    Using or implementing one or more of these new features will definitely improve your solutions and make them more usable and polished. Whether they’ll make them glorious or not—well, that will be up to you!


    Resources

    New in 14:

    Hidden scroll bar feature
    https://community.filemaker.com/docs/DOC-6266

    Button bar
    https://community.filemaker.com/docs/DOC-6263

    Navigation parts
    https://community.filemaker.com/docs/DOC-6262

    Placeholder text
    https://community.filemaker.com/docs/DOC-6265

    Custom theme colours
    http://help.filemaker.com/app/answers/detail/a_id/14417


    Afficher la totalité du billet

  8. We’re thrilled to announce the official, “integration-ready” version of LOgiCATOR. LOgiCATOR is a modular search interface for FileMaker that can be easily integrated into new or existing solutions. It’s designed to help users locate data with logical precision, via a powerful yet intuitive interface for searching across FileMaker tables. This article includes a download link for the […]


    Afficher la totalité du billet

  9. Over the last few postings we’ve been looking at using JSON with Virtual List… and prior to today, our focus has been on JSON structures using name/value pairs. Well today we’re going to switch our attention to basic JSON array structures. Demo file: json-array-plus-virtual-list.zip (requires FileMaker 16.02 or later) Apart from using JSON arrays instead […]b.gif?host=filemakerhacks.com&blog=62430


    Afficher la totalité du billet

  10. Have you ever been given a huge block of nested JSON, or you are playing around with an API and you would like to see the keys for what is being returned? With the introduction of FileMaker 16’s JSON functions and a single script you can get a list of all the unique paths [...]

    The post JSON Path Parsing Demo in FIleMaker 16 appeared first on The Scarpetta Group, Inc..


    Afficher la totalité du billet

  11. Un québécois dans la gang, ça c’est le fun !! Bon…ce n’était pas tant la volonté d’étendre notre rayonnement francophone, mais plutôt le souhait et l’opportunité de concrétiser une amitié professionnelle de longue date qui ont abouti à l’arrivée de Sylvain dans l’équipe de 1-more-thing. Aficionado de FileMaker, Sylvain a montré entre autres à travers […]

    Cet article Sylvain Lapointe, votre interlocuteur Help Desk est apparu en premier sur 1-more-thing.


    Afficher la totalité du billet

  12. ModularFilemaker
    Dernier billet

    SimpleBackup is a FileMaker module to create backups or snapshots of local files.

     

    • Easy backups of local files
    • Filenames include a timestamp
    • An additional script allows to include several FileMaker files at once
    • Works in Runtime solutions
    • Create snapshots during development
    • Automate backups at the closing of files

     

     

    SimpleBackup-001-1030x786.jpg

     

     

    Download this file:
    fmstarter.com/en/simplebackup/

     

     


    Afficher la totalité du billet

  13. La FM Conférence revient à Rouen du 18 au 20 Octobre 2017… +innovante, +mobile et +connectée !

    Découvrir le programme

    S’inscrire

    Devenir sponsor

    Au programme

    Mercredi 18 Octobre

    Formation JSON, API RESTful et Data API à Seine Innopolis

    API, Kézako ?

    Cette formation vous apprend :

    • comment utiliser une API RESTful,
    • à mettre en œuvre l’API FileMaker DATA,
    • les bases de JSON, cURL et du protocole HTTP.

    Dans des ateliers, vous intégrerez des services Web dans une app FileMaker et communiquerez avec FileMaker Server 16 via l’API FileMaker DATA. Le nombre de places est limité. VITE, découvrez le Programme détaillé (PDF)

    🗓 Ajouter à mon agenda

    Jeudi 19 et Vendredi 20 Octobre

    Conférences & échanges FileMaker au Panorama XXL, Salle h2o

    Comme chaque année et pour la 13ème fois (déjà !), rencontrez des experts FileMaker, la communauté venue des 4 coins du globe et notre équipe.

    Assistez à de nombreuses présentations et profitez-en pour partager vos connaissances et trouver toutes les réponses à vos questions FileMaker !

    🗓 Ajouter à mon agenda

    F.A.Q.

    1. Quel est l’intérêt d’intervenir à la FM Conférence ?

    La FM Conférence est le rendez-vous incontournable des développeurs FileMaker francophones. C’est l’endroit idéal pour faire connaître ses compétences auprès de la communauté.

    Les présentateurs sélectionnés pour les sessions (60 min) se verront remettre un badge gratuit donnant un accès complet aux sessions des 2 journées de la FM Conférence.

    Les présentateurs sélectionnés pour les topos (15 min) se verront offrir une remise de 35% sur le montant du badge des 2 jours de conférence.

    2. Est-il obligatoire de présenter en français ?

    Oui, le public est francophone. La FM Conférence se déroule en français, sauf exception pour quelques keynotes de FileMaker.

    3. Quand ouvrent les inscriptions à la FM Conférence 2017 ?

    Vous pourrez vous inscrire à la mi-Juin quand le programme sera officiellement fixé. Stay tuned!

    Mise à jour : Les inscriptions sont ouvertes. https://fmconf.com

    4. Il est possible que je sois intéressé(e) pour exposer mes produits et/ou services lors de l’événement ou par du sponsoring. Comment procéder ?

    Vous pourrez échanger avec les participants une fois sur place. Ou vous pouvez demander à être sponsor pour augmenter votre visibilité auprès de la communauté > Plus de détails en cliquant sur le menu Sponsors.

    5. Puis-je inscrire plusieurs personnes à la Formation et/ou FM Conférence 2017 ?

    Oui, vous pouvez ajouter autant de personnes que vous le souhaitez. Un tarif promotionnel s’applique au 4ème participant que vous inscrivez (réduction hors Formation, hors intervenant à un topo ou une session).

    6. Je souhaite m’inscrire à la Formation. Comment faire pour qu’elle soit prise en charge par mon OPCA ?

    Seule la journée de formation du 18 Octobre peut éventuellement être prise en charge par votre OPCA. Pour obtenir la convention qui pourra vous permettre de faire une demande auprès de votre OPCA, rendez-vous sur le site FM Universities et complétez le formulaire d’inscription.

    Ces infos administratives nous permettront de vous adresser une convention de formation. Nous ne prendrons pas en charge les délégations de paiements.

    7. Je voudrais être présent à la soirée Jeudi 19 Octobre 2017. Comment faire ?

    Seuls les participants et accompagnants à la journée du Jeudi 19 Octobre 2017 sont autorisées à participer à la soirée.

    8. Que comprend la formule accompagnant ?

    La formule accompagnant (40 € HT) donne accès au dîner et à la soirée du Jeudi 19 Octobre 2017, seulement si son accompagnateur est inscrit à cette date. L’accompagnant n’a en aucun cas accès à la formation à la FM Conférence 2017.

    À bientôt dans la ville aux 100 clochers !

    stat?event=post.clientViewed&referrerSource=full_rss&postId=66343c2b7b1b

    #FMCONF17 Conférence FileMaker was originally published in Lesterius FR on Medium, where people are continuing the conversation by highlighting and responding to this story.


    Afficher la totalité du billet

  14. Octobre est devenu depuis quelques années la période des conférences FileMaker européennes ! Cette année, la conférence francophone se déroule donc à Rouen, comme nous vous l’avions annoncé en début de semaine. Officiellement, la conférence commence en fait demain car cette première journée était une « pure » journée de formation, couplée à la conférence en elle-même. […]


    Afficher la totalité du billet

    • 0
      billet
    • 0
      commentaire
    • 112
      vues

    Aucun billet pour le moment

  15. FileMaker, Inc
    Dernier billet

    I would like to make a script that allows me to do a search as I always do with parameters that decide on the moment and then take me to a specific format. If I go to the find mode, I enter the parameters ... how does the script continue? I should in some way keep it going with "enter" for example.


    Afficher la totalité du billet

  16. 1*B-MFnn3oW1GZmIB5pRsP3Q.png

    Un fichier FileMaker Pro peut être configuré sur un réseau de manière à ce que d’autres utilisateurs puissent accéder à ce fichier en même temps. Cela permet un accès simultané au fichier via l’une des méthodes suivantes :

    • FileMaker Pro pour Microsoft Windows ou Mac OS X
    • FileMaker Go pour iPhone ou iPad
    • Un navigateur Web compatible (sous réserve d’activation de la publication Web instantanée et/ou de la publication Web personnalisée)

    Vous pouvez partager un fichier FileMaker Pro de trois façons.

    Réseau FileMaker : ce type de partage de fichiers dans FileMaker Pro est également appelé « partage de fichiers de poste à poste ». Le recours à ce type de partage de fichiers ne nécessite pas l’emploi d’un serveur. En outre, ce type de partage ne dépend d’aucun système de partage de fichiers pouvant être intégré à votre système d’exploitation. La mise en réseau FileMaker ne nécessite pas non plus de disposer d’un accès au niveau des fichiers. Jusqu’à neuf utilisateurs simultanés (cinq en cas d’utilisation de FileMaker Pro 8.5 ou d’une version antérieure) peuvent se servir de la mise en réseau FileMaker. Ce type de partage de fichiers est également pris en charge pour les utilisateurs se servant de FileMaker Go. Les utilisateurs de FileMaker Go qui accèdent à un fichier grâce à cette méthode sont comptabilisés dans le nombre d’utilisateurs simultanés indiqué précédemment.

    Partage Web : chaque instance de FileMaker Pro inclut un petit serveur Web qui vous permet de partager vos fichiers FileMaker Pro sur Internet afin que quiconque disposant d’un navigateur Web compatible puisse y accéder. Cette technologie a été baptisée « publication Web instantanée ». Elle ne requiert aucune connaissance en codage HTML ou en lien avec d’autres technologies Web. FileMaker Pro convertit automatiquement vos modèles et votre logique opérationnelle en modèles compatibles avec le navigateur.

    FileMaker Server : lorsque plus de neuf utilisateurs simultanés sont nécessaires ou qu’une sécurité accrue ou de meilleures performances constituent une priorité, optez pour FileMaker Server. FileMaker Server fournit également des sauvegardes automatisées et prend en charge d’autres technologies Web comme la publication Web personnalisée et le codage XML. Les utilisateurs de FileMaker Go peuvent se connecter à un fichier hébergé à l’aide de FileMaker Server.

    Quelle que soit la méthode employée pour partager vos fichiers FileMaker Pro, vous devez connaître certains termes :

    Hôte : ce terme désigne le premier utilisateur qui ouvre un fichier dans un environnement de poste à poste via la fonction Réseau FileMaker. Les utilisateurs suivants qui ouvrent le même fichier deviendront automatiquement des « invités » de l’ordinateur hôte. Dans ce type d’environnement, si l’hôte décide de fermer le fichier, tous les clients connectés seront également forcés de fermer le fichier. L’hôte peut également être un ordinateur FileMaker Server. FileMaker Go ne peut pas être utilisé pour héberger un fichier.

    Client : un utilisateur devient le client d’un fichier lorsqu’il ouvre un fichier déjà ouvert par un hôte. En règle générale, un utilisateur devient le client d’un fichier lorsqu’il :

    • clique sur le menu FICHIER > OUVRIR DISTANT dans FileMaker Pro
    • appuie sur OUVRIR NAVIGATEUR FICHIERS > HÔTES RÉSEAU LOCAL sur FileMaker Go pour iPhone
    • appuie sur le bouton HÔTES RÉSEAU LOCAL (une icône de base de données avec une loupe) sur FileMaker Go pour iPad

    En ouvrant un fichier partagé, l’utilisateur peut également être désigné comme « invité » du fichier.

    Dès que le fichier partagé est ouvert, l’hôte et les clients ont accès aux mêmes informations (si leurs privilèges d’accès le leur permettent). Les modifications apportées aux données par n’importe quel utilisateur sont enregistrées dans le fichier partagé. Toute modification apportée aux modèles et aux scripts est également enregistrée dans le fichier partagé. Néanmoins, certaines actions comme les ordres de tri, les requêtes de recherche, les ordres d’importation et d’exportation des rubriques ainsi que les configurations d’impression sont spécifiques à chaque utilisateur du fichier partagé.

    Bien qu’il soit possible pour plusieurs utilisateurs d’effectuer simultanément des modifications dans le même fichier partagé, les modifications simultanées autorisées sont limitées. Le tableau suivant décrit les types de modifications que vous pouvez ou non apporter aux fichiers partagés :

    REMARQUE : FileMaker Go n’autorise pas de modifications au niveau de la base de données, ce qui inclut la création et la modification de modèles, rubriques et scripts.

    1*f0ryqjGctBbmCCK2VqjL0Q.png

    Les privilèges d’accès peuvent également restreindre la capacité des utilisateurs à modifier certains éléments d’un fichier. Pour plus d’informations, consultez la rubrique « Protection des bases de données à l’aide de comptes et d’ensembles de privilèges d’accès » du fichier Aide de FileMaker Pro.

    stat?event=post.clientViewed&referrerSource=full_rss&postId=60710c61007

    Partage de fichiers avec FileMaker Pro was originally published in FileMaker Fr on Medium, where people are continuing the conversation by highlighting and responding to this story.


    Afficher la totalité du billet

×