Jump to content

Welcome the ORIGINAL FileMaker Community

Take a moment to join us, no noise, all FileMaker...We Promise

Blogs

Featured Entries

  • Joe Scarpetta

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

    By Joe Scarpetta

    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..
    View the full article
    • 0 comments
    • 196 views
 

Celebration & Collaboration: Soliant’s 2019 Offsite

The Ideas and Insights Get Bigger in Texas! In January Soliant Consulting’s entire team descended onto the City of the Violet Crown for our annual offsite. Our 2019 retreat was our first time in Texas, and Austin did not disappoint. We spent the week trading insights, sharing ideas, and learning more about our fellow team members. Of course, we also had quite a bit of fun together, as we always do. Connection Because our team comprises four offices and dozens of remote employees across the globe, a primary goal for our annual offsite is for team members to meet new colleagues and reconnect with old friends. Each of our offices conducts a session on their past year’s achievements, major projects, key clients, and goals for the upcoming year. While most of our projects loop in team members from various locations, the offsite allows us to celebrate the specific accomplishments of each office. This helps everyone understand others’ work better as well as the growth and planned direction for each office. Technical Advances Leaders for each of our service areas – FileMaker, Salesforce, and custom business solutions – also have their own presentation over the course of the week. We discuss new strategies, certifications team members earned, advances in projects, and industry changes. Our technical team shows off their work, and the rest of us learn how to take their work even further in the months to come. Strategy Development And, of course, we spend a significant chunk of our time outlining the year ahead. During our days in Austin, we reflected on the tremendous progress we made in 2018 and brainstormed how to continue the momentum into the year ahead. Stay tuned for our rollout of many new initiatives in 2019! Celebration What really makes Soliant special is our people. Over the last 15 years, our team has grown by leaps and bounds. Every new addition adds more convivial creativity, versatility, and adventurous thought to the company. We aim to celebrate one another and our differences through a variety of team activities at our offsite. Soliant Olympics Sure, team-building is a crucial component of our annual retreat. But you won’t find any trust falls at our offsite. This year the team held Soliant Olympics. This event featured a push-up race, taste-testing, archery, trivia, mathletics, and more. Our team spent the afternoon in friendly competition, learning more about one another and cheering each other on. Click to view slideshow. Talent Show To further celebrate our team members and recognize their many strengths outside of work, we host an annual talent show. Due to the diverse genius sprinkled across the company, we have quite an eclectic show.  Music tends to dominate the night – from banjo, guitar, and piccolo players to incredible vocal performances, both solo and cross-office duets. We even had a powerful opera performance. Many of our acts are also infused with humor. This year we had a sketch with an airline-themed spin full of team members (showcasing talent in coordination alone!) and two droll and bespoke songs about experiences at Soliant. We also enjoyed a tribute to the experience of moving from much-loved hardware to the cloud. Click to view slideshow. We also watched impressive dancing, listened to a brilliant story, and experienced rappelling from a helicopter through a colleague’s eyes. All the while, we ate delicious treats from several culinary geniuses on the team. Our talent show is a wonderful way for our team members to learn about colleagues' strengths outside of the 9-to-5. All of us look forward to it every year. Awards Ceremony We always wrap up the last official night of the offsite with an awards ceremony. During this time, we honor team members for extraordinary achievements over the last year and anniversaries of their time at Soliant. (We have many veterans, as we have very low turnover!) This is a great way to recognize individuals’ contributions. Volunteer Day Our unofficial last day includes a team-wide volunteering activity, and this year, half the company extended their trip to participate. The team worked with the Jeremiah Program, an organization that works to transform families from poverty to prosperity through education and employment. We spent several hours cleaning their Child Development Center and enjoyed giving back to the local community that had given us such a wonderful week. 2019 Volunteers at the Jeremiah Program in Austin, TX. Into 2019 and Beyond Our annual offsite is much more than an annual planning meeting. It empowers our team with new insights and allows us to connect with one another outside of the typical office setting. We are excited for the year ahead and are already looking forward to the 2020 retreat. The post Celebration & Collaboration: Soliant’s 2019 Offsite appeared first on Soliant Consulting.
View the full article

Soliant Consulting

Soliant Consulting

 

Carafe: The Fast & Free Tool to Implementing JavaScript In FileMaker

Adding JavaScript to your FileMaker solution allows you to customize your functionality and do more on the platform. The opportunities are endless. While these capabilities have only recently started to become mainstream, it's evident FileMaker, Inc., has aligned behind the programming language. The company has launched native JSON functions, two robust JSON APIs, a Node.js server that ships with the product, and a pure JavaScript Admin Console. As a result, interest in JavaScript within the FileMaker developer community is growing. Unfortunately, working with JavaScript in FileMaker isn’t exactly straightforward. It takes a lot of time and effort to implement and maintain required specialized techniques. This deters many developers on the platform. After implementing JavaScript for our FileMaker clients, we quickly realized we had to find a better method. That’s why we built Carafe, a free, open-source project that streamlines the process of integrating and working with JavaScript in FileMaker. Announcing Carafe Carafe provides built-in package management, versioning of your implementation, simplified debugging, round-trip integration with JavaScript code editors. You can easily integrate and configure JavaScript libraries such as Datatables.js, Google Maps, rich text editors, an image gallery, calendar, charting, and so much more. A Free, Open-source Solution We want to share Carafe to help other developers customize their FileMaker implementations with JavaScript, so we’ve decided to make the solution publicly-available. It’s open-source, so you can download the files and make it your own. In fact, we encourage you to add to it and share your upgrades with others. Launching Soon Carafe is coming soon! Get the files first by signing up for alerts here. The post Carafe: The Fast & Free Tool to Implementing JavaScript In FileMaker appeared first on Soliant Consulting.
View the full article

Soliant Consulting

Soliant Consulting

 

Daylite vs. FileMaker®-based CRMs — Which is the Better CRM?

With so many high-quality CRMs on the market, choosing the one that’s the best fit for your business can be difficult. In this post, we’ll be taking a look at two types: Daylite by Market Circle and FileMaker-based CRMs. Each offers a range of capabilities and the ability to scale for growth. But there [...] The post Daylite vs. FileMaker®-based CRMs — Which is the Better CRM? appeared first on The Scarpetta Group, Inc..
View the full article

Joe Scarpetta

Joe Scarpetta

 

Otto Webinar

Join us for a free webinar about Otto, our Automated Deployment and Dev-Ops utility for FileMaker Server. Otto handles the tedious, and error-prone tasks of transferring files to servers and performing data migrations.  If you regularly have to perform data imports and data migrations on your FileMaker systems, you will want to attend this webinar. In this webinar, […] The post Otto Webinar appeared first on Geist Interactive.
View the full article

todd geist

todd geist

 

Boolean Algebra and De Morgan’s Laws

Not ( Having a Computer Science Background ) The FileMaker developer community seems to consist of people with quite a wide range of backgrounds, much more so than is the case with developers from other programming languages and software development platforms. I suspect this is a consequence of the rapid application development (RAD) nature of the platform and its lower learning curve. This makes it possible for individuals to change course in their careers once they serendipitously encounter FileMaker and see how easy and fun software development can be. This diversity of backgrounds is a strength of the FileMaker platform, but one of the consequences is that many of the developers come to FileMaker without much formal computer science training. Boolean Algebra This blog post is intended to provide one small, tiny lesson that I recall from one of my computer science classes (taken long ago). The "lesson" has to do with Boolean algebra which describes the rules for how Boolean operators (AND, OR, NOT) are evaluated. One of my colleagues, someone who has taken up FileMaker development just a few months ago, recently asked me the following question: Can a long chain of Boolean operations like the one below be simplified somehow by extracting the negations (the "not's") out of the expression: not A and not B and not C and not D De Morgan's Laws To find out the answer, we have to learn about De Morgan's laws. There are two of them: not (A or B) = not A and not B not (A and B) = not A or not B With this knowledge under our belt, we can now rewrite the original expression as: not ( A or B or C or D ) The "Hide object when" calculation There are occasions when it's easier to think about when something should be false instead of when it should be true. An example of this is the "Hide object when" FileMaker calculation. For me, it's much easier to think about when an object should be displayed instead of when it should be hidden. The De Morgan's laws are very useful in these situations. For instance, suppose we have the following expression for when an object should be shown: ( not A or not B ) and ( not C or not D )   // display object I can negate this so that it can be used in the "Hide object when" calculation. not ( ( not A or not B ) and ( not C or not D ) ) // hide object = not ( not A or not B ) or not ( not C or not D ) = ( A and B ) or ( C and D ) Of course, we could have just kept it as this: not ( ( not A or not B ) and ( not C or not D ) )   // hide object I tend to go with whichever one I think will be easier to understand later on, in case I (or some other developer) have to return to this calculation down the road. References Boolean Algebra De Morgan's Laws If you have any questions or need help with your FileMaker solution, please contact our team. The post Boolean Algebra and De Morgan’s Laws appeared first on Soliant Consulting.
View the full article

Soliant Consulting

Soliant Consulting

 

Soliant Consulting Honored as One of the Best & Brightest Companies to Work for in the Nation

Chicago, IL. – February 11, 2019 – Soliant Consulting is proud to have earned recognition as one of the Best and Brightest Companies to Work For® in the nation. The competition honors companies dedicated to their employees, identified by confidential employee survey responses. Award winners are selected based on exceptional leadership, employee engagement, and human resources efforts to champion and support team members. 512 organizations were awarded out of 2,400 nominees. At Soliant, we focus particularly on a healthy work-life balance, employee recognition, professional development opportunities, and long-term retention practices. We place a high value on communication and team-wide interaction, especially for our remote employees. One example of how we do this is our annual company-wide offsite retreat. Here, our employees from all over the country converge to discuss strategy, learn more deeply about one another’s capabilities, and engage in team-building activities in a face-to-face environment. Our team members treasure this time together and look forward to the offsite all year. This offsite theme carries throughout the entire year – how can we achieve more as a team? How can we deliver even more excellence to our clients? How can we push ourselves to learn more? How can we better support one another? “Being selected as one of the Best and Brightest is a testament to the great work our team does every day,” emphasizes Bob Bowers, Soliant Consulting CEO. “By any standard, we truly have a remarkably gifted and talented team, and their spirit and dedication are key factors in our success.” Soliant Consulting will be honored at the Best and Brightest National Summit – Illuminate 2019. The event, attended by nationwide industry leaders, celebrates and encourages collaborative leadership, innovation in human resources, and employee engagement. In addition to this achievement, Soliant Consulting’s Chicago and San Francisco offices were named as Best Places to Work in their respective cities. Learn more about what sets Soliant Consulting apart from other software consulting and development firms. The post Soliant Consulting Honored as One of the Best & Brightest Companies to Work for in the Nation appeared first on Soliant Consulting.
View the full article

Soliant Consulting

Soliant Consulting

 

iOS Shortcuts to the FileMaker Data API

Shortcuts, on iOS, are a new way to automate tasks by mixing together apps, content on your iOS device and web APIs into custom workflows. Now, via the FileMaker Data API, you can use shortcuts as a way to interact with your FileMaker solutions. Here’s an example of automatically uploading a photo from your iPhone […]
View the full article

Beezwax Buzz

Beezwax Buzz

 

FileMaker OneDrive Integration

FileMaker OneDrive Integration OneDrive and Microsoft Office 365 is one of the most popular business software packages and services on the planet. Its reach has expanded 238% since 2014 and 81% since 2016.  And with the Microsoft OneDrive API, integrating has never been easier. OneDrive is excellent for sharing documents with other people without giving them access to your FileMaker system and allows for editing files without the hassle of downloading, editing, then re-uploading. We will walk through how to use the Microsoft OneDrive API to upload documents, list documents in a folder, and download documents, allowing your documents to be stored and shared easily in the cloud to keep your FileMaker database lean and mean.  What You Need You must have a OneDrive account to use this article’s integration which is included in the Office 365 package. 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 Make sure you a create Azure AD Tenant first if you are using a personal account and not work school account. 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 OneDrive. Managing App Permissions Microsoft OneDrive requires that each user give the app permissions to be able to read/write data from their OneDrive. Before users can give permissions, you need to set up the default permissions on the application registration page. You’ll need one delegated permission for this OneDrive Integration: Files.ReadWrite Authenticating With Microsoft Graph Once you have your API information, you will need to authenticate your solution with the OneDrive API. The sample file at the end of the article has the calls & web viewers that you can reference to authenticate FileMaker with OneDrive. When the user clicks the Connect button, they will be asked to log in to their Microsoft 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 OneDrive. Making Requests And Parsing The Response Microsoft OneDrive API supports multiple types of requests such as HTTP POST, GET and DELETE. You can perform all actions by using the native 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 download files from a folder. Note how the DateTime element is formatted. For more details, refer to Microsoft OneDrive documentation under the List Children Page. -X GET https://graph.microsoft.com/v1.0/me/drive/items/E9953196A1CE2F19!28596/children?$expand=thumbnails
--header "Authorization: Bearer EwBwA8l6BAAURSN/FHlDW5xN74t6GzbtsBBeBUYAAROJk..." The response will have an array of documents from the selected folder and will include URLs to the thumbnails so we can download those in a bit. You’ll also notice that some of the object names are prefixed by “@odata.” which will not work with FileMaker’s built-in JSON functions, because FileMaker does not allow periods in an objects name. If you need to read one of these properties, you can simply substitute the entire object to remove the prefix. Substitute ( $response ; "@odata." ; "" ) Downloading Files Downloading a file is relatively easy once you know a quirk of the FileMaker cURL library. By default when you try to download a file it first authenticates your call, and then redirects you to download the file. FileMaker will not follow the redirect and won’t return anything unless you include the -L or –location flag in your cURL command. Another tip is that you can pass the –output flag with a URL encoded file name when downloading, to ensure the downloaded file has the correct name. -X GET https://onedrive.live.com/?id=E9953196A1CE2F19%2129992 --header "Authorization: Bearer EwBwA8l6BAAURSN/FHlDW5xN74t6GzbtsBBe..." -L --output Screen%20Shot%202019%2D01%2D14%20at%204%2E54%2E41%20PM%2Epng Uploading Documents Uploading files to OneDrive is a bit more difficult. OneDrive provides 2 API methods for uploading docs, one for files under 4MB and another resumable upload method for larger files. We will strictly be using the resumable upload method as it is more flexible. The first thing you need to do is to create an upload session. The documentation is not very clear on how to do this. You’ll need the folder ID you want to upload to and the filename URL encoded. When constructing the URL you’ll need colons after the folder and filename, though the documentation makes no mention of this. -X POST  https://graph.microsoft.com/v1.0/me/drive/items/E9953196A1CE2F19!29992:/picture%2Epng:/createUploadSession --header "Authorization: Bearer EwBwA8l6BAAURSN/FHlDW5xN74t6GzbtsBBeBUYAAQScvI1+tUkC1GcS1z+E6..." --header "Content-Type: application/json" -d {    "@microsoft.graph.conflictBehavior": "rename",    "description": "description",    "fileSystemInfo": {       "@odata.type": "microsoft.graph.fileSystemInfo"    },    "name": "Screen Shot 2019-01-14 at 4.54.41 PM.png" } This will return an uploadUrl that you’ll use to actually upload the data to. {   "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.uploadSession",   "uploadUrl":"https://api.onedrive.com/rup/e9953196a...",   "expirationDateTime":"2019-01-31T18:16:08.186Z",   "nextExpectedRanges":["0-"] } After you have the uploadUrl you need to calculate the content range of the file so we can tell the API what bytes we are uploading. You can use GetContainerAttribute ( TABLE::container ; “fileSize” ) to get the size of the file in bytes. From there you just can determine the content range. The range starts at zero, while the total starts at one, meaning a 25-byte file will have a content range of 0-24 and a total byte size of 25, thus setting the content range to 0-24/25 is telling the API that we are uploading the entire file. To actually upload the contents of a container you’ll first set a variable with the contents of the container and then you’ll use that variable with the -T or –upload-file flag. -X PUT https://api.onedrive.com/rup/e9953196a... --header "Content-Range: bytes 0-24/25" -T $data Displaying Files and Folders in FileMaker One thing you’ll want to keep in mind when working with the API is that you’ll need to store a representation of all the files and folders as records in your FileMaker solution. In the sample file, I have a file table to store the document names, OneDrive ID, size, etc. You might also want to include a container field to store a thumbnail of your files as well, which are quite small at around 100px by 100px. OneDrive will also generate thumbnails of file types FileMaker doesn’t natively support such as Word and PowerPoint. Conclusion The Microsoft OneDrive API can help keep your database size down, make sharing files easier, and allowing you to edit files without downloading and re-uploading to FileMaker. Contact us if you need help integrating your FileMaker solution with OneDrive! Download FileMaker OneDrive 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.  
View the full article

dbservices

dbservices

 

Otto v1.6.1 Released

We are releasing a major upgrade to Otto, our powerful Data Migration and Developer Operations tool. Otto automates the complex and error-prone process of migrating and upgrading FileMaker solutions, making it a key component of your Workplace Innovation Platform. The post Otto v1.6.1 Released appeared first on Geist Interactive.
View the full article

todd geist

todd geist

 

Cloud Availability and Price Changes for Award-Winning Jarvis CRM

Cloud Availability and Price Changes for Award-Winning Jarvis CRM™ Simpsonville, South Carolina - February 1, 2019 – The Scarpetta Group, Inc. is pleased to announce that their flagship product Jarvis CRM is now available as Jarvis Cloud™ as another option to get started with Jarvis CRM.  Pricing has changed to per user to be [...] The post Cloud Availability and Price Changes for Award-Winning Jarvis CRM appeared first on The Scarpetta Group, Inc..
View the full article

Joe Scarpetta

Joe Scarpetta

 

FileMaker Templates: Are They Right for You?

FileMaker Templates are out! Our team here at Soliant was lucky enough to help build the files and tutorials, and I wanted to share our hopes for how you can make use of them. Three templates are available so far, and each one targets a different business model: Job Tracking, Event Management, and Memberships. Each template comprises a few parts: A core file Tutorials for how to add Build-On features A final file that includes all Build-ons The idea is that you begin with a core file and take it in the direction that suits your needs. This is a new effort that has a lot of different uses, depending on who you are. It’s like a Choose Your Own Adventure book, but with fewer deadly caves. For the Beginning Developer Templates are absolutely for you! You can poke around the core files to see what you can pick up about how they were developed. At the right of each layout, in Layout mode, you’ll see notes about the layout if we did something interesting or less-than-obvious. When you’re ready to add on to the core files, choose one of the Build-Ons your business needs. Then follow the tutorial for that Build-On, step by step. The tutorials look long, but don’t let that slow you down! They were written with enough detail for a beginner to be able to follow the steps and construct complete features in a FileMaker app. Begin by scanning the list of lessons in the tutorial, seen in the left-hand menu below. Some Build-Ons can be completed in one lesson, while others build up more complex functionality lesson by lesson. We broke out each piece of user functionality (AKA user story) into its own lesson, so that with each one you end up with something useful.For example, in the iPad Attachments Build-On for the Job Tracking Template, the complete work takes four lessons. First you give users iPad layouts, then let them add attachments, then view other attachments, and finally loop it all back to your FMPA users. Figure 1. iPad Attachments Lessons The tutorial Overview (always the first lesson in a tutorial) tells you what the Build-On will do, so you’ll know whether it does what you need, and can decide whether to build it. Figure 2. iPad Attachments Lessons Overview Once you’re in a lesson, take a moment to scan the Lesson Overview. This is a table of contents listing each major step in the lesson, and it’ll give you the big picture of what you’ll be doing. (“First I’ll add a table and some fields, then I’ll work on a layout, then I write a script…”). Figure 3. Lesson Steps When you’re ready, walk through each step closely. Before you know it you’ll be at the Review your work section watching your skills in action. For the Intermediate Developer The Templates offerings should be right in your wheelhouse. Consider the core file a solid jumping-off point: each core file was developed to the extent that it is usable as-is for basic functionality. However, it leaves room for additional work so you can customize it yourself. (The core files are more robust than Starter Apps, but less complex than Sample Apps.) Think of your own needs and get creative with the modules you add on! We wrote and commented on the scripts, so they’d be transparent enough for an intermediate developer to expand on without a ton of investigation. Have at it! If you want to add functionality described in one of the Build-On tutorials, you could follow that tutorial explicitly. Or, you could just scan it and follow the broad strokes. The tutorials are quite granular. However, we designed them so that if you don’t need that level of detail, you can scan them quickly to see the overarching steps within each one. Check out the Lesson Overview, scan through the screenshots for a quick view of the development, and then use your skills to quickly build the new functionality. If your build doesn’t work the way we describe the end result in the Review your work section, you can always go back through the instructions to see what we did differently. For the Advanced Developer Check out the files to see the development standards we used and consider adopting them for your own solution. These standards include passing parameters using custom functions, semi-modular scripting, and naming conventions. The theme itself went through a few rounds of vetting; you may find that useful for your own work. For more on the design choices the team made, check out Alycia McGuire's post. Whatever your skill level: you’ve got this! If you have any questions, please feel free to comment below or contact our team directly. We’re happy to help! The post FileMaker Templates: Are They Right for You? appeared first on Soliant Consulting.
View the full article
 

FIleMaker Script Steps Reference: Worth the look

The Script Step reference pages in FileMaker's help is a useful source for all developers, new and experienced alike. It's worth our look once in awhile. There's a lot to learn and to be reminded of on each page. The post FIleMaker Script Steps Reference: Worth the look appeared first on Geist Interactive.
View the full article

todd geist

todd geist

 

FileMaker Help Functions: Always more to learn

The FileMaker help functions pages are a worthy set of documents to review many times in a developer's career. There's a lot of information about each function. Here we take a look at the pages and see how their set up. The post FileMaker Help Functions: Always more to learn appeared first on Geist Interactive.
View the full article

todd geist

todd geist

 

FileMaker Templates: Give Your Users a Better Experience

Our team worked with FileMaker to build several template files to help businesses launch specific functionality. These files encourage workplace innovation without requiring extensive development experience. File Foundation Built for You At the core of these templates, you’ll find a solid, consistent design, clean look, and strategic user interface and user experience. Look under the hood and you’ll find much of the same. That wasn’t by accident. Our team spent a great deal of time determining how these apps should look, how they should flow, and most importantly, how to develop them. Unlike starter solutions, these files are meant to be dissected, understood, learned from, and actually built upon. I’d like to go into some detail about some of the best practices we hit on as we worked through our design and development process for them. User Interface & User Experience Best Practices User experience depicts how the user perceives certain features of an app. Consider usability, efficiency, and the overall flow of the app. User interface describes the overall look and style of the app. We made our goal to build these solutions to feel and operate much like the apps we enjoy every day. Strategic Navigation For example, see how navigation between different layouts moves throughout the app. Rather than have a navigation bar on each layout, we took advantage of one of FileMaker’s newer features, card windows. We created a navigation layout that displays as a card window. Card windows, introduced in FileMaker 16, allow you to layer windows within the same window, a great feature to take advantage of when designing file navigation. It gives the user more space on each layout and eliminates layout clutter. It also allows for easier manipulation of the navigation menu. You only have to make changes to a single layout versus changing every layout that includes the navigation menu. We used a small button with the hamburger icon in the upper right corner of each layout with a script attached that opens the navigation layout in a card window. Because you have control over the size and position of card windows, you have the power to display the navigation layout anywhere within the window. We chose a slender window that appears on the far left on the screen. Using the Get (WindowHeight) script step, we are able to allow the navigation widow to always keep the same height as the active window. Using the Get (WindowWidth) and subtracting the navigation menu’s layout width (in this case 320pt), the navigation window will always open to the leftmost side of the window. The finished product is a clean, functional navigation window that only displays when the user needs, giving the main layouts a sleeker look and feel. Color Consistency Another important aspect of user experience we focused on when designing these custom solutions is the use of consistent colors throughout the app. We aimed for the workflow process to come as naturally as possible to the user, without confusion or hesitation. One way of doing is to guide the user through the workflow with specific colors. This means selecting colors for each different type of call-to-action, whether a button or clickable text. We kept the colors simple for these files and selected a single color for “positive” or next action steps, and then muted colors for “negative” or canceling action steps. For example, a user creating a new time entry in the Job Tracking file has two options for the user once they finish entering in time, “Close” and “Delete”. The natural action , “Close”, displays a brighter color for that button (in this case, blue). The user may still need the option of “Delete”, but it shouldn’t be called out to their immediate attention. Therefore we built a more muted color (for this case, gray). This part of the user experience carries throughout each of the core files and their additional build-ons. For any action we wanted to guide the user through or call an action to, we used blue for buttons and hover states. Any buttons or text we wanted to keep as an option but steer the user away from as the unnatural next action, we used a shade of gray. Design Themes Setting a design theme at the beginning of the development process allows you to easily apply a consistent design throughout the entire solution. You can use a custom theme, one of your own design. or an inherent FileMaker theme. It should include consistent colors, fonts, and styles set for each type of object.
Setting a design theme at the beginning of the development process allows you to easily apply a consistent design throughtout the entire solution. We recommend choosing a single theme at the beginning of your design process and avoid making changes. This eliminates design inconsistency during development. For our team, this process took a few iterations, but we landed on a custom theme, with styles for all layout parts, shapes, buttons, portals, edit boxes, and more. Although this required a bit more work in the beginning, this saved time and stress as we worked through designing each layout. Every added object had a style, so we didn’t need to think about how to style each object or worry about ensuring we kept things consistent layout to layout. Scripts and Coding Consistency We also recommend setting scripting and coding standards at the beginning of a project. Define and name scripts, fields, tables, variables, etc. We spent significant time on this for the template files as well. Our team defined a set of standards and naming conventions before development started. Consistency tremendously helps testing, QA, and future rework needs. Similarly, you should strive for consistency in the organization of scripts and scripting itself. Folders organize your scripts and make them easy to find. Each script within the core files has a header section providing details for each script. This includes the purpose of the script, the context, parameters passed to the script, what the script returns, and any notes that might be useful for future users. This helps keep scripts clean and easy to read. It also gives anyone wanting to manipulate the script information to help them understand the script and its purpose. Commenting throughout the script also helps others understand the logic put behind each step or set of steps. When developing larger solutions or working with multiple developers, it’s easy to forget the thought process put into the script at the time. Having comments eliminates that “What was I doing here, again?” thought. The result is an end product that not only looks and operates professionally but is clean and well-laid-out under the hood as well. Global Variables We also consistently used the native FileMaker feature of global variables for manipulating layouts throughout our design. As I mentioned before, we used card windows throughout the files, not only for navigation but also for a way to quickly input or manipulate data for different records. For instance, in the Job Tracking template, we used a card window to input new and existing time entries. Instead of creating two near-identical layouts with only slight differences, for example, in the header name, we used global variables set in the calling script that are then used on the layouts as merge variables that display the appropriate header text for that action. The header for the two actions displays as, “Edit Time Entry” and “New Time Entry”, which in layout mode shows as “<<$$globalField>> Time Entry”. When the user triggers the script to add a new time entry, the global variable, <<$$globalField>> is set to the word “New”. The user then sees the card window displaying the layout with the header “New Time Entry”. This allows the use of a single layout for multiple actions. The same concept is used for each call to action button on these layouts. Buttons used to create new records will have different actions than buttons used to edit or delete records. Following this same Job Tracking example, the case would be editing existing time entries versus creating a new time entry. Each of these different actions requires different buttons. By using global variables, hiding conditions, and layering the buttons on the layout, you can continue to use the same layout for multiple actions. This keeps the design process simple and the number of layouts to a minimum. Master-detail Layouts The last native FileMaker feature great for enhancing both user interface and user experience that I’d like to share is the use of Master-detail layouts. This is new to FileMaker 17. You can now create portals that work with the a found set of the current table. This saves time as you no longer need to create self-join relationships and additional scripting to accomplish this. The resulting layout allows users to click through a list of records and see a record’s details all in one layout. This works great for displaying things like staff or client details. Using Master-detail layouts became standard for the core files. This takes them to the next level, both visually and functionally. Ensuring a Strategic User Experience in All FileMaker Solutions Taking time in the beginning to focus on consistent design and organization pays off in the end. It reduces your development time and ensures a professional looking final product. Our team follows these best practices in all of our development. If you would like our insights in taking your FileMaker solution to the next level, contact our team to learn more. The post FileMaker Templates: Give Your Users a Better Experience appeared first on Soliant Consulting.
View the full article
 

8 of the Best CRM Features That Will Grow Your Business

No matter the complexity of your business operations, it takes a lot to convert new prospects, deliver your products or services, and keep customers happy. A CRM will help you automate and streamline the tasks that are required to grow your business. But not all CRMs are created equal. A CRM that’s up to [...] The post 8 of the Best CRM Features That Will Grow Your Business appeared first on The Scarpetta Group, Inc..
View the full article

Joe Scarpetta

Joe Scarpetta

 

Geist Interactive Hosts Local CIO/CTO Focus

Geist Interactive is sponsoring the CIO/CTO Focus event series. The next event will be Feb 19, 2019, and will feature a discussion with leading Chief Information & Chief Technology Officers (CIO & CTOs) from the area. Todd Geist, CEO of Geist Interactive will be moderating the event. Register using the link below. The post Geist Interactive Hosts Local CIO/CTO Focus appeared first on Geist Interactive.
View the full article

todd geist

todd geist

 

FileMaker Help: A Worthwhile Read

The FileMaker help guide is a useful set of documents, and we can use the context-sensitive help feature to get to the relevant help pages quickly. It is worth our time to review what is written. The post FileMaker Help: A Worthwhile Read appeared first on Geist Interactive.
View the full article

todd geist

todd geist

 

Using Perfmon to View Live FileMaker Server Stats

Do you miss the statistics chart? Figure 1. FileMaker 16 Admin Console with Statistics live view The admin console was rewritten in FileMaker Server 17, and the Statistics section was not carried over to the new version. And when you are dealing with server performance issues, having a live view of the FileMaker Server statistics can be critical. If your FileMaker Server runs on Windows, you can regain most of this lost functionality using the Performance Monitor tool ("Perfmon"). Perfmon Set Up Step 1. Add Performance Monitor snap-in to the Microsoft Management Console. Launch the Microsoft Management Console (mmc.exe). One way to do this is to click the Windows Start menu and type "mmc.exe". Go to the File menu, and select Add/Remove Snap-ins. Select "Performance Monitor", select "Add >", select OK, and select OK again. Step 2. Set up Performance Monitor with your desired counters. In the left pane of the Console window, go to Performance (Local) > Monitoring Tools > Performance Monitor. Figure 2. Left pane in the Microsoft Management Console Right-click in the blank space of the pane on the right side and select “Add Counters”. Figure 3. Select “Add counters” in the popup menu Add your desired counters.
The Performance Monitor tool gives you access to all of the stats that were available in the Statistics section of the FileMaker Server 16 admin console and to a whole new set of Windows OS stats (called "counters"). If you're not sure which ones to add, try these: FileMaker Server 16 > FileMaker Clients FileMaker Server 16 > Remote Calls In Progress FileMaker Server 16 > Remote Calls/sec FileMaker Server 16 > Elapsed Time/call FileMaker Server 16 > Wait Time/call Processor > % Processor Time > _Total Process > % Processor Time > fmserver — The fmserver process is the main one, but also pay attention to the other ones starting with "fm", especially fmsase (server script engine). To see which counters FileMaker recommends tracking, see the "FileMaker Server for Windows Performance Monitoring" article. As an example of how to add a counter, to add the "FileMaker Server 17 > Elapsed Time/call" counter, find "FileMaker Server 17" in the list, click the down arrow to show the counters for FileMaker Server 17, select "Elapsed Time/call", and click Add. Figure 4. Adding elapsed time per call Fine tune how the counters are displayed. Make sure that the “highlight” option is enabled. This will make it easier to see the currently-selected counter.
Figure 5. Ensure “Highlight Option” is enabled Set up the counters so that the ones you check most frequently are shown on the chart and the others are hidden (unchecked in the "Show" column). Pay attention to the scale. When the counters were added, the tool guessed at what the scale should be for each counter, but you may prefer a different scale setting. Here's how the scale setting works: If the % Processor Time chart shows that the value is mostly between 10 and 30, but the scale is set to 10, then the value is actually between 1 and 3. To change the scale, double-click on it or right-click and select Properties (or press control-Q). Here's how I set my counters up the last time I did this: Figure 6. Counter setup Step 3. Save Console configuration Go to the File menu and select "Save As..." Save to a folder that is accessible to everyone who will need access to this. For instance, I saved mine here: C:\PerfLogs\FMS 17 Perfmon Live View.msc Close the Microsoft Management Console. Accessing the "Live" View Double-click on the saved file to open the perfmon console. It will retain your last settings, including selected counters and their scale settings. Figure 7. Perfmon console in FileMaker 17 Perfmon Constraints, Limitations, and other Notes Last minute's data only: This "live view" will only show the last minute's worth of data. To see the previous history, you can set up Perfmon to save the data. See the "FileMaker Server for Windows Performance Monitoring" article for instructions on how to do this. Admin rights required: You will need to log into the server with an admin account to access Perfmon. Concurrent views Because accessing Perfmon requires you to connect to the server via RDP, having multiple people viewing Perfmon at the same time will require the server to maintain multiple Windows RDP sessions. It's best to avoid this, especially during times when the server is experiencing performance issues. So coordinate amongst your team to pick just one person who will have the Perfmon view open during times like that. Interpreting "% Processor Time" The percent value has a different meaning depending on which counter (processor or process) you are looking at: For the "Processor" counter: 100% means that all cores are completely utilized. If your server has 32 logical processors, then 3.1% (1 divided by 32) would be the equivalent of one fully-utilized processor. For the "Process" counter: 100% means that the process being monitored (for example, the "fmserver" process) is fully utilizing the equivalent of one logical processor (i.e. one core). 200% means that the process is utilizing the equivalent of two logical processors, etc. If you have any questions or need help with your FileMaker solution, please contact our team. The post Using Perfmon to View Live FileMaker Server Stats appeared first on Soliant Consulting.
View the full article
 

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. […]
View the full article

Kevin Frank

Kevin Frank

 

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.  
View the full article

dbservices

dbservices

 

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.
View the full article
 

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 […]
View the full article

Kevin Frank

Kevin Frank

×

Important Information

Terms of Use