Aller au contenu

Blogs

Nos blogs communautaires

  1. Ou comment une agence de communication transforme sa façon de travailler grâce une solution de gestion de projets.

    “Chez Alfred, tout commence autour d’une table et finit avec un verre de champagne”.
    1*pMwd3AVkbP3h4tzaovKCog.png

    C’est ainsi que l’agence de communication Montréalaise présente la manière dont elle conçoit la relation client et la conduite de ses projets. Des services de création publicitaire, planification stratégique ou encore d’identité de marque, les équipes d’Alfred recherchent toujours l’échange et la compréhension des besoins afin de faire naître des idées innovantes et porteuses. Cette approche de travail a d’ailleurs porté ses fruits, puisque l’agence, créée en 2003, a doublé ses effectifs au cours des dernières années, comptant aujourd’hui une vingtaine de collaborateurs.

    1*21VsFrKaf73rMGPJjrxscA.pngRetrouvez les réalisations d’Alfred ici.

    Au vu de cette croissance, Antoine Bernier, directeur financier d’Alfred, a ainsi décidé de doter l’agence d’une solution pour gérer plus efficacement les projets et le système de facturations. C’est ainsi que ce “gardien des facturations”, tel qu’il se définit, va initier un processus de changement au sein de l’organisation.

    Vers une solution intégrée… 📈

    Auparavant, Alfred utilisait une solution Web-based pour les feuilles de temps, effectuait les devis sous Excel et avait également son propre système de comptabilité interne.

    “Avec la croissance de nos activités, nous avions besoin d’une solution plus aguerrie, intégrée. Aussi, avec le doublement de nos effectifs, il était essentiel de se doter d’un système permettant d’intégrer les feuilles de temps.”

    Antoine, intéressé par les nouvelles technologies et l’informatique, va ainsi commencer à se renseigner sur les solutions qui pourraient convenir à l’agence. Il repère premièrement une solution Web-based mais non disponible en français. “Pour notre activité, il est essentiel d’avoir un logiciel bilingue. L’ensemble de nos documentations et facturations doit en effet pouvoir être envoyé en français”. Rapidement, Antoine réalise qu’une solution basée sur FileMaker serait la plus adaptée aux besoins de l’agence.

    “Le caractère évolutif des applications développées sur FileMaker est intéressant. C’est un outil qu’il est constamment possible d’améliorer en fonction de nos besoins, les efforts requis pour apporter une modification étant moindres, par rapport à d’autres plateformes. Cela me plaisait aussi de pouvoir déployer une solution sur le Web.”
    1*t1DqZIwelzN6ByxvYSaaZw.pngwww.casserolenova.com

    Antoine assiste ainsi à une présentation de Casserole Nova, une solution développée par Fin Finaud, partenaire officiel et membre de FileMaker Business Alliance. Cette application, utilisée par 125 entreprises dans la seule région de Montréal, comporte une suite complète d’outils, adaptée pour des organisations comme Alfred : de la planification des projets, au suivi des budgets, à l’allocation des tâches et la création des devis et factures. Antoine commence ainsi à travailler avec les équipes de Fin Finaud pour l’implémentation de cette application au sein de l’agence.

    “Avec Fin Finaud, nous avons une très belle relation d’affaire. J’apprécie beaucoup travailler avec eux : ils sont à l’écoute et très réactifs.”
    1*My7rfDiqPG_SymcA_yCcVw.pngwww.finfinaud.com

    …aux bénéfices nombreux 👌

    1*0_JJ-q4yK2YmGJsj_zfsjQ.png

    Casserole Nova est aujourd’hui utilisée par l’ensemble des collaborateurs d’Alfred. En fonction des missions de chacun, l’application offre la possibilité de définir des niveaux d’accès utilisateurs. Cela permet ainsi à l’agence d’ajuster ses coûts d’une part, et de proposer une solution adaptée à chacun des membres d’autre part, qu’ils soient de l’équipe création ou du service clientèle par exemple. Ces derniers apprécient en outre la possibilité de partager des informations plus aisément, facilitant ainsi la collaboration entre les équipes. L’outil de communication interne à Casserole Nova, “Bla Bla”, permet, par exemple, de conserver un historique pour l’ensemble des projets de l’agence en matière de suivi des échanges, facturations ou temps passé.

    C’est un outil très utile qui nous permet de conserver les informations dans le temps, même si une personne en charge d’un projet quitte l’entreprise.”

    Aussi, les collaborateurs ont à présent la possibilité d’inscrire le temps qu’ils consacrent à chaque projet directement dans Casserole Nova. Il est par ailleurs plus aisé pour Antoine d’exporter des données de l’application et d’effectuer les rapports qu’il souhaite. Pour chaque projet, ce dernier dispose en effet d’un tableau de bord lui permettant d’en contrôler l’état d’avancement, la rentabilité, d’en analyser le coût et de suivre le budget.

    “C’est un vrai gain de temps ! En quelques clics, il est maintenant possible d’obtenir rapidement les informations pertinentes dont nous avons besoin. Lors des renégociations de contrat, par exemple, cela nous permet souvent d’obtenir gain de cause.”
    1*IzqP_cvQ1kN5Eh3GGX9Njw.png

    … et aux possibilités multiples ⚡️

    Avec la version mobile de Casserole Nova disponible prochainement, les membres de l’agence pourront remplir leurs feuilles de temps directement sur iPhones ou iPads, sans avoir besoin d’être au bureau. Les entrées de temps pourront ainsi être effectuées de manière quotidienne. Cette flexibilité offerte aux salariés permettra en outre au service comptable de disposer d’informations plus précises et à jour.

    “C’est un super produit qui est en train de transformer notre façon de travailler”

    Et le Champagne dans tout cela… ? Savouré, avec modération bien sûr 🍾

    Pour plus d’informations sur la plateforme FileMaker, RDV sur notre site Internet.

    Découvrez l’ensemble des fonctionnalités de Casserole Nova ici.

    stat?event=post.clientViewed&referrerSource=full_rss&postId=63c9d88a67c2

    Une Nova pour Alfred 💫 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

  2. Des préférences sur l’interface utilisateur Des préférences pour l’applicatif ? Cette fois-ci, nous abordons les préférences qui portent sur l’applicatif, c’est-à-dire sur l’app que vous avez développée et qui contient les données à partir desquelles votre client travaille quotidiennement. Pallier à une carence du logiciel FileMaker ? Précisons qu’au niveau des Préférences, le logiciel FileMaker lui-même […]


    Afficher la totalité du billet

  3. Representational State Transfer (REST) defines a set of standards and principals commonly used to provide web and application developers an Application Programming Interface (API). Built atop the HyperText Transfer Protocol (HTTP), REST is commonly used for viewing web pages. You are currently reading this blog post using HTTP.

    FileMaker and REST

    In every HTTP request, there is a specified method. If you type in a URL and press enter, the Method used is GET. If you submit a form on the web, you most likely use the POST Method. The difference is that a POST request can include a payload that is not part of the URL.

    GET requests, if they include data, will include a question mark at the end of a URL and path. This is followed by data that usually appears in key-value pairs. RESTful services may or may not use key-value pairs and instead include all needed data in the URL path. Usually, data is transferred in XML or JSON as part of a POST payload in the HTTP request.

    In general, following REST methodology, a GET request is used to read data, whereas a POST request is used to create a resource. These correlate to database interaction known as CRUD, or Create, Read, Update, and Delete. Modern versions of HTTP also support PUT and DELETE methods, which REST then commonly translates to Update and Delete database operations. PUT and DELETE are functionally identical to POST requests, the only difference being that the method specified is different.

    This also includes encrypted in-transit information if you are using SSL and specify "https" in your URL.

    FilerMaker "Insert from URL" Script Step

    With me so far? Good. So how does FileMaker work with RESTful APIs and web services? With FileMaker 16, there was a lot of changes to the Insert from URL script step that allows you to use cURL functions. This also works across the entire FileMaker platform, so this includes server-side scripts as well as WebDirect and FM Go.

    Anatomy of the script step:

    Congifure the script step

    Figure 1: Configure the script step

    Figure 2: Specify Target

    Figure 2: Specify target

    The script step is configurable with several options. You can specify a Target, which can either be a field or a variable (see Figure 2). To specify a variable, select that option and give the variable a name you can reference it with, so you can use it later. Whether you use a global variable or not depends on where you need to use it.

    Then specify the URL, which is the base URL and usually the complete path to the resource you are working with.

    Specify cURL Options

    Then there are the cURL options, which give you access to an entire library of functions for handling web requests. FileMaker supports quite a bit, but not all, cURL functionality. I recommend checking that documentation.

    There are a couple points of interest when working with cURL options in FileMaker, specifically. The syntax for specifying variables can be confusing. You create a variable like you normally would, with a single or double dollar sign. However, when specifying the calculation to result in your desired cURL options, the variable name is INSIDE the quote marks, like so:

    "--data @$myVariable"

    This makes more sense if you are familiar with using the curl application with command line in a terminal window. For example, to upload a file with a command line, you use the atmark (@) and then the path to the file you want to include. Similarly, an atmark tells the cURL options in FileMaker where the variable you want to include resides. Referencing variables this way will also take care of any needed quoting, so your data does not break during transit.

    When you send any kind of payload in the HTTP body using "--data" or "-d", then POST is used by default as the method. If you need another method, you can specify it with the "--request" or "-X" flag in your cURL options.

    Another point of note: using the "-D" or "--dump-header" option that allows you to get any returned HTTP headers and store them in a variable. This is especially important, as many RESTful services will return error codes as part of the HTTP header returned.

    By the way, most cURL options are specified with flags, like "-D" above, but most also have the option to use a more verbose variant, which can be more readable, like "--dump-header". They both work the same.

    One more...since most RESTful services expect the payload to be JSON, you will also want to specify that as an HTTP header, like so:

    " --header \"Content-Type: application/json\""

    If the payload is XML, for example, you would change the content-type to match what you are sending, like text/xml. This will depend on the web service you are integrating with.

    Troubleshooting "Insert from URL" Scripts

    Trying to debug and troubleshoot when working with Insert from URL results can present challenges. It's a little like working blind, where you construct a request and send it off without seeing how the request is being received on the other side. There are a couple websites that allow you to create endpoints that log requests and then view them. In my experience, however, they can be unreliable or slow.

    To that end, I have written my own debugging tool that helps return information about requests sent with FileMaker. You can use it for free and put it on any web server that can serve PHP:

    If you already have FileMaker Server, you can simply enable the web server with PHP and use it from there.

    Once hosted, simply point your Insert from URL script to that PHP scripts URL and test any cURL options you need. Results are returned in plain text instead of HTML, since you would view the output in a FileMaker field or variable anyway.

    Other Factors Concerning FileMaker and REST

    You can encounter a host of other factors involved when working with APIs and web services. Those can include oAuth or information in your HTTP headers, such as signed requests or size information. It all depends on the service with which you integrate. This guide should help you start with the basics.

    Resources

    The post Getting Started with FileMaker and REST appeared first on Soliant Consulting.


    Voir le billet d'origine

  4. FileMaker EDI Integration

    Electronic data interchange (EDI) is used by businesses to electronically exchange standard business documents. EDI standards help reduce cost of processing email or mail-in orders and can speed up business by simplifying communication between two companies. Amazon, Walmart and many other companies use established EDI standards to process their orders securely.

    Supply Chain Insights published a study showing that 55% of customer orders are received via EDI, placing EDI on the #1 spot of multi-party business exchanges. Integrating EDI with your FileMaker solution can automate your order processing and allow you to connect to large retail partners using this technology.

    EDI Standards

    Handling EDI can be tricky when there’s multiple standards in play and with retailers having different sets of fields they require in order to process requests. EDI platforms like SPS Commerce can help you figure out the required fields for a particular document and industry, and translate a simpler XML format provided by the platform to the actual standard’s format.

    To illustrate how complex a standard’s format can be, and why platforms like SPS Commerce provide XML versions of these complex formats, below is an example of a purchase order written in EDIFACT EDI standard.

    UNB+UNOA:1+US::US+50138::THEM+140531:0305+001934++ORDERS'
    UNH+1+ORDERS:91:2:UN'
    BGM+220+A761902+4:20140530:102+9'
    RFF+CT:EUA01349'
    RFF+AAV::C'
    TXT+THIS IS WHAT AN EDI MESSAGE WOULD LOOK LIKE... '
    NAD+BY++OUR NAME PLC::::+++++EW4 34J'
    CTA+PD'
    COM+01752 253939:TE+01752 253939:FX+0:TL'
    CTA+OC+:A.SURNAME'
    COM+2407:EX'
    CTA+TI+:B.BROWN'
    COM+0:EX'
    CTA+SU'
    COM+0161 4297476:TE+01752 670633:FX'
    UNT+15+1'
    UNZ+1+001934'

    And below a purchase order document like above but written in XML format:

    <PurchaseOrders> 
    <PO> 
    <ID>123</ID> 
    <date>4/3/2018</date> 
    <customer>DB Services</customer> 
    <firstName>Gayoung</firstName> 
    <lastName>Moon</lastName> 
    <email>gmoon@dbservices.com</email> 
    <item>Sunglasses</item> 
    <price>200</price> 
    <quantity>1</quantity> 
    </PO> 
    <PO> 
    <ID>234</ID> 
    <date>4/4/2018</date> 
    <customer>DB Services</customer> 
    <firstName>Test</firstName> 
    <lastName>Customer</lastName> 
    <email>gmoon@dbservices.com</email> 
    <item>Desk</item> 
    <price>400</price> 
    <quantity>3</quantity> 
    </PO> 
    </PurchaseOrders>

    Not only is the XML version easier to read and follow, it’s much easy to program, especially considering that one EDI document can have thousands of possible fields to pick from, as EDI is used across almost every industry.

    General Approach to EDI Integration as a Vendor

    EDI platforms like SPS will require that you read or write XML files from an FTP server they provide. In the case of handling purchase orders from a retailer like Target, your FileMaker system will need to periodically scrape the FTP server’s purchase orders folder for all new PO documents, import them into your FileMaker system, and delete them from the folder. Then you will parse each PO XML document in FileMaker and create or update purchase orders in your database. For example, you could use the xmlGetElement function from the demo file to parse the purchase order XML.

    Set Variable [ $ID ; Value: xmlGetElement ( $eachPO ; "ID" ) ]
    Set Variable [ $date ; Value: xmlGetElement ( $eachPO ; "date" ) ]
    Set Variable [ $customer ; Value: xmlGetElement ( $eachPO ; "customer" ) ]

    If your retailer requires it, you will also create an purchase order acknowledgement notice XML file and upload it to the FTP server in a different folder. The insert from URL cURL options would look something like this:

    "--user " & $user & ":" & $pwd & " --ftp-ssl" & 
    " --upload-file $xmlfile --header \"Content-type: application/xml\""

    As your employees process new purchase orders, statuses of each purchase order will change and your FileMaker system will need to create another type of EDI XML document with all active purchase order status and shipping information. This document will then be uploaded to the corresponding location on the FTP server.

    In addition some retailers require frequent updates on your inventory levels, which is another type of EDI document, called an inventory query document, that you will need to create create and upload to the FTPS server.

    Check out the demo file below to see simple EDI examples. The file uses the native FileMaker Insert from URL script step to connect to FTP and BaseElements plugin to parse XML documents.

    Conclusion

    If you want to work with retailer giants like Walmart, Target, etc, you will be required to process orders using EDI. And handling orders this way can allow your company to work on them real time and cut down on time spent manually communicating your inventory and order status. Contact us if you need help with integrating your FileMaker system with an EDI platform.

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

    DownloadDownload FileMaker EDI Integration

    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

  5. FileMaker Pro has some very simple and straight-forward validation options. For example, if you only want one field named email to only ever have a single copy of a given email, you choose the Unique option in the Validations section of the field's options.

    But, what if you want to allow a given contact record to have multiple email addresses. How do you check for uniqueness across multiple fields? The same email could appear within one field and then would be perfectly valid in a second field which doesn't contain the original email.

    Well, here's the solution. Watch this video and use the provided technique file to simply copy the solution into your own FileMaker database. We'll use some creative tricks in order to make the process both robust and very powerful!

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


    Afficher la totalité du billet

  6. In addition to the more typical external authentication methods, FileMaker supports client authentication using OAuth accounts from Google, Amazon, and Microsoft. In this instance, I needed to set up a FileMaker Cloud server to use a company’s directory accounts, which were hosted at Azure. In order to set this up I hit a couple of […]


    Afficher la totalité du billet

  7. MainSpring
    Dernier billet

    GrowingEfficiently-600x295.png
    My favorite aspect of my job at MainSpring is discussing the myriad of great ideas that our clients have, and helping them turn those ideas into a solution. One of the biggest challenges in this process is helping people understand the value of starting off small—and that starting small is the first step toward achieving the ultimate goal. It’s easy to be entranced by your ideas and want to do everything immediately, but there are a number of definite advantages to starting off with the Minimum Viable Product (MVP). 

    The beginning is not the end 

    You’ve probably heard the term MVP used a lot in the technology space, and this largely stems from modern application development methodologies that stress early delivery and flexibility as the keys to delivering great results. The basic premise of an MVP is to deliver the smallest possible feature set while fulfilling the core requirements of the users. Building an MVP comes with the understanding that there will be more work required to achieve the ultimate goal, and that the ultimate goal is best achived through confident organizational buy-in and informed decision making.  

    Planning through evaluation 

    Choosing to develop an MVP can seem antithetical to the motivation to build a custom app—you know you want everything, so why not plan for everything from the beginning? The truth is, it’s inevitable that, once the users get their hands on a custom app, the requirements change. 

    Perhaps the most important reason for building an MVP is to get users involved in the feedback cycle that fuels the requirements for further development. Shifting the focus to requirements for further development is incredibly valuable; therefore, planning based upon the evaluation of what you’ve already built delivers the most valuable features. 

    Gain adoption through delivering value 

    Developing an MVP first verifies that the custom app is a viable solution because it only requires a small initial investment, yet it delivers value right away and builds stakeholder buy-in. 

    Seeing that value upfront is crucial to helping an organization determine three things… 

    1. How much they should build 
    2. How fast they should build 
    3. How they should prioritize what to build 

    The value produced from the MVP defines the case for further investment and drives the engagement of users who will operate the tool. 

    Learning how to achieve together 

    Many of our clients have never worked on a custom app development project, or even used an interactive process to accomplish a project—and it’s definitely a learning experience. One of the overlooked advantages to the MVP approach is that clients are able to learn about the development process through hands-on experience working with developers. At the same time, our consultants get to learn about your team, your company and your industry. 

    The post-deployment evaluation of the MVP generally serves as a sort of “shakedown cruise” for the whole team. Essentially, we get to evaluate our interactions with our clients and discuss how we can achieve better results together, which allows us to deliver more value in future development. 


    Afficher la totalité du billet

  8. Introduction Does this sound familiar? You’ve rolled out a solution that includes a single-record Settings table where authorized users can enter/update various system-wide settings, including one or more fields where the items will appear in popup menus… and then comes the inevitable question: Why don’t items in popup menus appear in the order I entered […]


    Afficher la totalité du billet

  9. Qui dit nouvelle année, dit nouvelles opportunités ! Mais dit aussi de nouveaux challenges en matière de sécurité. Pour faire court, 2018 démarre en trombe avec deux énormes failles informatiques, Meltdown et Spectre, qui ont été découvertes dans les processeurs de plusieurs marques.

    1*2BVSQgkwZwD8mAzhRd5FbA.png

    De quoi s’agit-il ?

    Meltdown est une faille de sécurité qui pourrait permettre aux hackers de contourner la barrière matérielle entre les applications exécutées par les utilisateurs et la mémoire centrale de l’ordinateur, qui est normalement hautement protégée.

    Spectre est légèrement différent. Il peut permettre aux pirates informatiques de tromper des applications en leur soutirant des informations secrètes. Spectre est une menace pour votre smartphone ou votre tablette.

    Et qu’est-ce que cela signifie réellement ? Chacune de ces vulnérabilités pourrait théoriquement être exploitée pour voler des données sensibles, comme des mots de passe et des données personnelles.

    Quelles actions menons-nous ?

    La sécurité et la protection de vos données sont pour FM Connection une grande préoccupation. Une chose est claire, les bugs ne peuvent pas être corrigés avec une seule mise à jour logicielle. Plusieurs actions doivent être prises.

    Les correctifs matériels doivent être fournis par plusieurs fournisseurs de matériel, le matériel informatique doit être mis à jour par nos partenaires d’hébergement et les systèmes d’exploitation doivent être mis à jour. Nous surveillons les différents rapports Meltdown et Spectre et prenons les mesures appropriées pour atténuer les risques.

    Que pouvez-vous faire ?

    Les serveurs ne sont pas les seuls à risque, d’autres de vos appareils sont aussi impactés et vous pouvez prendre les mesures nécessaires pour vous protéger des failles sur la plupart d’entre eux.

    Vous devez mettre à jour votre système d’exploitation, le firmware de la puce à l’intérieur de votre ordinateur, ainsi que votre navigateur Web. Nous vous conseillons de contacter votre partenaire informatique si vous avez des questions additionnelles et un besoin de support.

    Si vous planifiez une mise à jour du système d’exploitation et que vous possédez une ancienne version de FileMaker, si vous n’êtes pas sûr de pouvoir résoudre votre problème ou si vous avez des questions à propos de ce message, n’hésitez pas à nous contacter à news (at) lesterius.com.

    Ensemble, faisons de 2018 une année plus sûre.

    Merci de votre compréhension.

    L’équipe Support de FM Connection

    1*w2Q4J1qyF5p1rIXSCCEX_g.pngFM Connection est une division du groupe Lesterius.stat?event=post.clientViewed&referrerSource=full_rss&postId=414a0318bfaa

    Vulnérabilités Meltdown et Spectre 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

  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. 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

  12. 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

  13. 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

  14. 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

  15. 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

    • 0
      billet
    • 0
      commentaire
    • 424
      vues

    Aucun billet pour le moment

  16. Michel

    • 0
      billet
    • 0
      commentaire
    • 98
      vues

    Aucun billet pour le moment

  17. Michel

    • 0
      billet
    • 0
      commentaire
    • 112
      vues

    Aucun billet pour le moment

×