Aller au contenu

Blogs

 

QR 92 – FileMaker : des en-têtes qui se répètent ? (5)

Simplifier le travail de mise en page d’un modèle, c’est ce que tous, nous recherchons… Et en regardant ce que d’autres font, nous pouvons trouver de bonnes idées 😉 Par exemple celle que nous inspire la question de Stéphane, webdesigner, qui s’interroge : peut-on dans FileMaker comme dans la création de sites web, utiliser un […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

Creating and Using Invisible Window IDs

Editor’s note: I first became aware of Paul Jansen when I licensed his FMTools in the late 1990s, and I finally had the pleasure of meeting him last June at dotFMP after 20 years of online and voice communication. It’s an honor and a privilege to welcome him to FileMaker Hacks as a guest author. […]
Afficher la totalité du billet

FileMaker Hacks

FileMaker Hacks

 

Truc n°90 – Créer un menu conditionnel dans FileMaker (2)

Comment créer un menu dans FileMaker, qui affiche des sous-menus en fonction d’un premier choix ? Autrement dit, comment créer un menu conditionnel ? Depuis la semaine dernière, nous avons le projet de réaliser une interface qui puisse donner le résultat suivant : Avec bien entendu, ouverture progressive des « fenêtres Carte » au fur et à […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

FileMaker Adobe InDesign Integration

FileMaker Adobe InDesign Integration Wouldn’t it be great to save time and money by automating repetitive Adobe InDesign processes and eliminating double data entry? With FileMaker, you can easily create XML which can be imported directly into InDesign. With a bit of additional development, you can even automate the process of placing text and photos directly on the page for designs that rarely need adjustments. We will show you how to use FileMaker and Adobe InDesign to make elegant designs with just a few clicks.  Using XML Adobe InDesign has the ability to directly import XML to create individual parts which can be easily manipulated on your publication. Using FileMaker you can create this XML with a script that loops through the items that you wish to display on your InDesign document and creates opening and closing tags that separate the individual items. <NewsItem SIZE="Half Page Ad - Bottom"TMPL="Half Page Ad - Bottom" TYPE="article">
<Headline>Lorem ipsum</Headline>
<Body>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut feugiat.</Body>
</NewsItem> Each item, when imported into InDesign, will then be able to be dragged and dropped directly onto the page and resized or edited to fit your needs. Using FileMaker Templates Using FileMaker you can create templates to predetermine the position of the items you intend to display. With relatively simple Javascript, you can iterate through the items that you have imported into InDesign and place the items in the publication based on the templates you created in FileMaker. This eliminates the need to do any major rework for repetitive designs, such as magazine pages or basic flyers. Using Third Party Integration Methods There are products that can be purchased which can also make integrating with InDesign even simpler. EasyCatalog by 65bit can be used for cataloging a database. This product links directly to FileMaker and can easily synchronize the information on the page with the information from FileMaker, keeping your document up to date. Photo Courtesy of www.65bit.com InData and Xdata by emSoftware allows you to make templates with bracketed text to use as placeholders for any kind of data. You can then import the data with a single click and InData/Xdata will run through your FileMaker database to create InDesign files populated with the accurate information. Photo Courtesy of www.emsoftware.com Conclusion Adobe InDesign can easily use XML made straight from your FileMaker solution! With a little bit of scripting you can make complex XML which can be imported directly into InDesign to save you time and money by automating the tedious parts. If you need further assistance or are interested in integrating FileMaker with Adobe InDesign, contact us for a free consultation. Download FileMaker Adobe InDesign Integration Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* FileMaker Experience* New to FileMaker Platform Existing User of FileMaker Existing Developer of FileMaker 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

DB Services

DB Services

 

Single Source of Truth

Having worked with FileMaker for well over 20+ years, and experiencing a wide variety of data models, it's always possible to get into a situation where you need to re-evaluate the data decisions you've made with regards to your structure. The data model you may have initially thought would handle all situations may need to be modified. Knowing about the multiple options you may have available for structuring your data makes a big difference when you start to consider simply "adding that new field" to your database. It may be that the workflow or process required would cause duplication of data and therefore increase the complexity of your solution unnecessarily. In this video, I cover the topic of a Single Source of Truth for storing field data. While the topic isn't limited specifically to fields, and should be considered for tables and data overall, it's good to know how to deal with specific cases where storing data becomes a big concern when dealing with additions, updates and deletions. Be prepared to learn more about strategic ways to store data in this video about Single Source of Truth. Click the title or link to this article to view the video.
Afficher la totalité du billet
 

Search as You Type Using ExecuteSQL

FileMaker introduced a very different kind of capability with the ExecuteSQL function. First introduced in FileMaker 12, it allows you to perform “select” queries against your FileMaker data, as opposed to the more familiar “Find” functionality available in FileMaker. SQL (Structured Query Language) is a standard used with other, more traditional, database servers. Using SQL, SELECTS on indexed data is blazing fast and efficient. It allows you to construct relationships in SQL that do not necessarily exist in your application otherwise. There have been many useful techniques that have been demonstrated since its introduction. This post will detail and explain yet another technique of the ExecuteSQL function - Search as You Type. The Search as You Type Technique In this example, we will attach a script trigger to a global field that will fire on every keystroke. The script will then perform an ExecuteSQL to build a list of IDs that relate to the table we want to show results from. Once we have a list of IDs, we can enter those in a global field, where it will act as a multi-key relationship to show related records in a portal. Sound easy? The real trick is dynamically building the SQL we want to use. However, as this is all handled by our script, you do not need to know SQL to use this solution. By getting a dynamic list of fields to search on, our search term entered can search against as many fields as we want. Finally, if we allow for entering multiple search terms, separated by commas, we can build a query that can look across ALL fields for multiple queries and narrow results as you type. An example screenshot is shown below. Figure 1 - Enter multiple search terms separated by commas Expand image Step One: Building the Field List To start, we need a list of fields to search on. Fortunately, you can interrogate the internal FileMaker tables used to reference schema. For example, the following SQL will return results for all the table occurrences that appear in your relationship graph. SELECT * FROM FileMaker_Fields The kind of find we want to perform works best on Text type fields, as we will use the LIKE operator to find results. The equivalent field type in SQL is “varchar”. To return only a list of Text fields in your database, you include the clause “WHERE FieldType = ?” and give it a parameter of “varchar”. We also restrict our search by looking for only fields where the “FieldClass” is equal to “Normal”. That leaves us with a list of text fields that exclude any global fields or summary fields. This technique as shown in the sample file does not handle fields defined with repetitions. You could add support for that, but generally, you should avoid repeating fields in data. In our sample code, we abstract out the table name to make it easily portable. To modify in your own solution, update the table to target by updating the variable named $get.tablename. Step Two: Building the Search Request Now that we have a list of fields we want to search in, we can build the list of corresponding parameters we need for the ExecuteSQL function. By building the expression used for the ExecuteSQL function, it is a little easier to build the SQL statement using variables and then use the Evaluate function to perform it. Then, we define a corresponding search parameter for every field being searched on. As a result, we populate two variables with values: $this.fields and $this.params. Additionally, since queries run in SQL are case sensitive, we will make all search requests lowercase both in SQL, using the LOWER function. We also use the Lower function in FileMaker. By using LOWER in SQL, you also prevent FileMaker from automatically indexing all fields being searched on. The only field we need returned is the ID field, which is the primary key in our table. Once we have a list of primary keys, we can temporarily store those in a global text field and relate it to our target table to create a many-to-many relations and show results in a standard portal. Finally, with the ExecuteSQL expression constructed, we can run it with the Evaluate function. Step Three: Multiple Search Parameters Since we build the SQL expression dynamically, we can also add support for entering multiple search parameters. In technical terms, we want to perform an “AND” query for every search parameter entered. A comma is defined as our search delimiter. For example, if we want to find all records that contain “Chicago” and also contain “IL” in any field, we can type “Chicago, IL.” The query returns all fields that are LIKE %chicago% AND all fields that are LIKE %il%. Get the Search as You Type Using ExecuteSQL Sample File You can use the following sample file to examine the code and modify for use in your own solution. The changes required to point the SQL to a new table in your solution are minimal: simply change the variable that is set for “$get.tablename” to your own table occurrence name and update the relationship and portal. https://github.com/SoliantMike/FM-ExecuteSQLAsYouType Special thanks to Mislav Kos for reviewing and suggesting several improvements. References ExecutSQL documentation If you have any questions or need help with your FileMaker solution, please contact our team. The post Search as You Type Using ExecuteSQL appeared first on Soliant Consulting.
Voir le billet d'origine
 

Se souhaiter une bonne et heureuse année 2019 !

En ce 7 janvier 2019, beaucoup d’entre nous reprenons le travail après une pause festive autour des fêtes de Noël et du Jour de l’An… C’est aussi la période où nous nous souhaitons une bonne année… Qu’est-ce que cela signifie, alors que la date du 7 janvier évoque pour certains le drame qui s’est déroulé […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

Truc n°90 – Créer un menu conditionnel dans FileMaker (1)

À nouvelle année, nouveaux articles et nouveaux sujets 😉 Et ce mois-ci, dans la continuité de ce que nous avons vu au trimestre dernier à propos des listes, j’ai envie de m’intéresser un peu plus à l’interface utilisateur et à son aspect graphique… et mettre en avant toute la créativité que FileMaker autorise grâce aux […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

Time Picker Widget

It's a curious question and the answer may be good or bad depending on your perspective. "Why doesn't FileMaker have a time picker?". It has a calendar widget for working with date fields, why not time values? The solution to the problem, as is often the case, can be managed by simply creating your own picker. In fact, if you don't like FileMaker's desktop based date picker you can create any variation you desire based on being able to create any style of layout you can imagine. While the same applies to a time picker, it may not be obvious how to implement if you've not worked with FileMaker for some extended amount of time. In this video, I showcase a straight-forward time picker which works with both timestamp fields and time fields. It also includes some valuable utility scripts and concepts which can certainly be used in other areas of your FileMaker solutions. If you've ever come across the need for a time specific picker then adding this to your solution should save you a ton of time! Click the title or link to this article to view the video.
Afficher la totalité du billet

FileMaker Magazine

FileMaker Magazine

 

Time Picker Widget

It's a curious question and the answer may be good or bad depending on your perspective. "Why doesn't FileMaker have a time picker?". It has a calendar widget for working with date fields, why not time values? The solution to the problem, as is often the case, can be managed by simply creating your own picker. In fact, if you don't like FileMaker's desktop based date picker you can create any variation you desire based on being able to create any style of layout you can imagine. While the same applies to a time picker, it may not be obvious how to implement if you've not worked with FileMaker for some extended amount of time. In this video, I showcase a straight-forward time picker which works with both timestamp fields and time fields. It also includes some valuable utility scripts and concepts which can certainly be used in other areas of your FileMaker solutions. If you've ever come across the need for a time specific picker then adding this to your solution should save you a ton of time! Click the title or link to this article to view the video.
Afficher la totalité du billet

FileMaker Magazine

FileMaker Magazine

 

À la charnière d’une nouvelle année…

Bilan et bonnes résolutions… Telles pourraient être les caractéristiques d’un 31 décembre… Un regard en arrière… Faire un bilan, c’est facile, il suffit de regarder l’année écoulée… et de constater que beaucoup de choses se sont passées… Comme nous fonctionnons beaucoup à partir du rythme scolaire et qu’une année pour nous, a plus de signification […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

Tips ’n’ Tricks, part 3

It’s been a few years since we last had a tips ‘n’ tricks article here at FileMaker Hacks… long enough for some new items to accumulate in the old developer bag of tricks. (If you like this sort of thing, you may also want to check out part 1 and part 2.) Some of these […]
Afficher la totalité du billet

FileMaker Hacks

FileMaker Hacks

 

A Ruby-ish Xmas

Ruby-ish, rubbish… Get it? Anyways, not like Ruby-ish means bad! Quite the opposite! It’s the day after Xmas and because Ruby is awesome and delivered 2.6.0, we’ll get to play with some of our new X-mas gifts: Kernel#then, Proc#>> and Proc#<<. This is a very Ruby-specific post, but hopefully everyone can get something out of […]
Afficher la totalité du billet

vincenzo

vincenzo

 

FileMaker et le Colibri…

Même si le blog est actuellement en repos, trêve des confiseurs oblige (et pas seulement 😉 ). Même si vous êtes vraisemblablement peu nombreux devant votre écran, avec d’autres préoccupations que FileMaker… je ne résiste pas au désir de vous écrire en cette veille de Noël, qui plus est, est un lundi 😉 Le rôle […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

Fiche Astuce n°134 – Lorsque scripts et liens travaillent ensemble dans FileMaker…

Convoquer une, plusieurs, ou toutes les personnes de votre table Personne ! Si vous lisez nos articles ou nos fiches Astuces depuis quelques temps, vous avez pu sans doute le constater, il existe souvent plusieurs manières de faire pour obtenir le même résultat dans FileMaker… Comme il existe plusieurs chemins pour aller à Rome… Même si […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

ePubber – generating ePub files with Ruby

ePub is a digital book format which is pretty common nowadays. It’s supported natively by Windows and Android and it’s one of the official formats for digital books in the Apple Books store. In this post I’ll talk about generating ePub files with Ruby and how to painlessly integrate this feature to your application. I’ll […]
Afficher la totalité du billet

vincenzo

vincenzo

 

Quelques nouvelles de FileMaker…

L’actualité de FileMaker de ces dernières semaines est à nouveau riche et elle vous intéresse certainement… 1) La promotion 2 FileMaker Pro Advanced 17 pour le prix d’un seul prend fin le 20 décembre, soit ce jeudi. Si vous hésitez encore, c’est le moment de vous décider. Sachez que nous pouvons vous fournir ces licences […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

FileMaker®-based vs. Salesforce vs. Hubspot — Which CRM is Best?

A CRM is an important tool that can help you streamline your processes and boost profitability. A good CRM is flexible enough to adapt to whatever you need it to do: track which leads are converting to customers, automate tasks, learn which activities are driving sales, deliver better customer service, etc. All in an [...] The post FileMaker®-based vs. Salesforce vs. Hubspot — Which CRM is Best? appeared first on The Scarpetta Group, Inc..
Afficher la totalité du billet

The Scarpetta Group

The Scarpetta Group

 

Google Maps APIs

Unless you've got a billion dollars to send out tens of thousands of cars with specially fitted technology mounted on their roofs; and, you can send them all across the planet, then you'll likely need to rely on mapping data from a third party. So, here we go with learning how we can leverage Google Maps APIs within FileMaker. This video will cover the essential knowledge you need in order to make the requests about geolocations whether they be latitude longitude coordinates or an address. As you've likely used Google Maps within the web browser, it's great to know you can access that same data directly within FileMaker; even the traffic data. It's just a simple matter of creating the right url. Making a request for what you want, and then parsing the data right back into your FileMaker table. Let's learn about the process and wire up the technology! Click the title or link to this article to view the video.
Afficher la totalité du billet

FileMaker Magazine

FileMaker Magazine

 

FileMaker Outlook Calendar Integration

FileMaker Outlook Calendar Integration Outlook and Microsoft Office are one of the most popular business software packages and services on the planet, with Outlook.com alone boasting over 400 million users in 2018. And with the Microsoft Graph API, integrating with Outlook and its calendar has never been easier. In this article we will walk through how to use the Microsoft Graph API to automatically create events in Outlook Calendar using FileMaker, streamlining event and scheduling management in your FileMaker solution by eliminating double data entry.  What You Need You must have Office 365 to use this article’s integration, as the Microsoft Graph API does not support Outlook hosted on Exchange Server. Also make sure you have admin access to your Office 365 subscription if you have a business or school user account. Creating a Microsoft Graph Application Similar to other API integrations, you need to create an app first. Go to the application registration portal and add an app. You will be given an application ID and a new key pair that you can use to make API calls from FileMaker to Outlook Calendar. Managing App Permissions Microsoft Graph requires that each user give the app permissions to be able to push and pull data to and from their Outlook Calendar. Before users can give permissions, you need to set up the default permissions on the application registration page. There are two types of Microsoft Graph permissions: delegated permissions and application permissions. For purpose of this article, we will be using delegated permissions to talk to Outlook Calendar as a user instead of as an application. For this Outlook Calendar Integration you will need to add the following delegated permissions: Calendars.ReadWrite Calendars.ReadWrite.Shared User.Read Authenticating with Microsoft Graph Once you have your API information, you will need to authenticate your solution with the Microsoft Graph API to connect to Outlook Calendar. The sample file at the end of the article has the calls & web viewers that you can reference to set up initial authentication between Outlook and your new Graph application. When the user clicks Connect button, they will be asked to log in to their Outlook account and approve delegated permissions for the application. After the user logs in, a FileMaker script parses the redirected page’s URL for the client ID and auth codes that will be used for requests to Outlook. Making Requests and Parsing the Response Microsoft Graph API supports multiple types of requests such as HTTP POST, GET and DELETE. You can perform all actions by using native the Insert from URL[] script step and giving it a valid URL and cURL options including required fields within the JSON body specified by the documentation. Here’s a sample request body to create a calendar event. Note how the DateTime element is formatted. For more details, refer to Microsoft Graph’s properties under the event page. { "End" : { "DateTime" : "2018-12-12T11:00:00", "TimeZone" : "Eastern Standard Time" }, "Start" : { "DateTime" : "2018-12-12T10:00:00", "TimeZone" : "Eastern Standard Time" }, "Subject" : "Test 123" } If you make a successful request, the API will return a JSON-encoded body. You can check if you encountered any errors by looking at the following function after the Insert from URL[ ] step: Get ( LastExternalErrorDetail ) This function will return 200 on success; otherwise the API encountered an error. If your call was successful, you’ll get response a JSON-encoded response body like below with event ID and change key that you will need to use when updating events: { "@odata.context" : "https://graph.microsoft.com/v1.0/$metadata#users('gmoon%40dbservices.com')/calendar/events/$entity", "@odata.etag" : "W/\"eyoqZr4V6UOE23scd9kKdQABYJFSxw==\"", "attendees" : [], "body" : { "content" : "", "contentType" : "text" }, "bodyPreview" : "", "categories" : [], "changeKey" : "eyoqZr4V6UOE23scd9kKdQABYJFSxw==", "createdDateTime" : "2018-12-11T18:26:21.48905Z", "end" : { "dateTime" : "2018-12-12T17:00:00.0000000", "timeZone" : "Eastern Standard Time" }, "hasAttachments" : false, "iCalUId" : "040000008200E00074C5B7101A82E00800000000525905047F91D4010000000000000000100000002EF55A9CBBF9F8429AA5DF86AE8FB2CF", "id" : "AQMkADAwATM3ZmYAZS0wYTI1LWI1N2ItMDACLTAwCgBGAAADVUTIWkB8vk_xO5-ko1YImAcAeyoqAGa_FelDhNt7HHfZCnUAAAIBDQAAAHsqKgBmvhXpQ4Tbexx32Qp1AAFghoJ2AAAA", "importance" : "normal", "isAllDay" : false, "isCancelled" : false, "isOrganizer" : true, "isReminderOn" : true, "lastModifiedDateTime" : "2018-12-11T18:46:23.4155607Z", "location" : { "address" : {}, "coordinates" : {}, "displayName" : "", "locationType" : "default", "uniqueIdType" : "unknown" }, "locations" : [], "onlineMeetingUrl" : null, "organizer" : { "emailAddress" : { "address" : "example@outlook.com", "name" : "Gayoung Moon" } }, "originalEndTimeZone" : "Eastern Standard Time", "originalStartTimeZone" : "Eastern Standard Time", "recurrence" : null, "reminderMinutesBeforeStart" : 15, "responseRequested" : true, "responseStatus" : { "response" : "organizer", "time" : "0001-01-01T00:00:00Z" }, "sensitivity" : "normal", "seriesMasterId" : null, "showAs" : "busy", "start" : { "dateTime" : "2018-12-12T16:00:00.0000000", "timeZone" : "Eastern Standard Time" }, "subject" : "4 PM Test", "type" : "singleInstance", "webLink" : "https://outlook.live.com/owa/?itemid=AQMkADAwATM3ZmYAZS0wYTI1LWI1N2ItMDACLTAwCgBGAAADVUTIWkB8vk%2BxO5%2Fko1YImAcAeyoqAGa%2BFelDhNt7HHfZCnUAAAIBDQAAAHsqKgBmvhXpQ4Tbexx32Qp1AAFghoJ2AAAA&exvsurl=1&path=/calendar/item" } Things to Think About It’s important to note that if you change permissions on the application registration page, users will have to reauthenticate and give the application those new permissions. Same thing needs to happen if you delete and regenerate your application password for whatever reason. Some users won’t have permission to allow application access to their Outlook calendar. Make sure your 365 administrator gives this to each of them before trying to sync calendar events. If you want to display a personal calendar in FileMaker via a web viewer, users will need to log in each time that specific layout refreshes. We recommend that you use a public calendar that anyone can see to avoid the need to constantly relog in. You will need to refresh your access token at least once every hour, as the token expires after 60 minutes. We recommend that you error trap for HTTP code 401 after a request, refresh the token if there’s a 401, and then retry the original request. Conclusion The Microsoft Graph API can help streamline your event and scheduling workflow by giving you the ability to sync your Outlook calendar flawlessly with your FileMaker solution. Contact us if you need help integrating your FileMaker solution with your Outlook Calendar! Download FileMaker Outlook Calendar Integration Database Please complete the form below to download your FREE FileMaker database file. Name* First Last Company Phone* Email* FileMaker Experience* New to FileMaker Platform Existing User of FileMaker Existing Developer of FileMaker 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

DB Services

DB Services

 

QR 92 – FileMaker : des en-têtes qui se répètent ? (4)

Peut-on, dans FileMaker, utiliser un unique en-tête, avec boutons, objets de modèles etc., pour plusieurs modèles ? C’est la question que Stéphane, webdesigner, nous pose, s’inspirant par là de son expérience de créateur de sites web. Dans cet article, nous continuons notre exploration d’un exemple que nous donne une des solutions de démarrage de FileMaker, de […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

FA 133 Script FileMaker Convoquer d’un clic toutes les personnes (2)

En un seul clic… Avec la fiche Astuce 133, nous jouons les prolongations puisque depuis la semaine dernière, nous mettons en place un nouveau script qui, d’un seul clic, permet de convoquer toutes les personnes de votre table Personne à une date donnée quelle que soit la situation, et ce, sans créer de doublon… Rappelons que […]
Afficher la totalité du billet

MagalieJ

MagalieJ

 

QR 92 – FileMaker : des en-têtes qui se répètent ? (3)

Les questions de Stéphane à propos des possibilités de mise en page de FileMaker, prennent pour référence le WebDesign… Nous avons vu la semaine dernière qu’il nous faut quelques fois simplement changer de regard… pour constater que l’utilisation d’un panneau à onglets peut nous tirer d’affaire… Oui, mais un panneau à onglets offre peu de possibilités […]
Afficher la totalité du billet

MagalieJ

MagalieJ

×