Jump to content

eXcelisys

Members
  • Posts

    133
  • Joined

  • Last visited

About eXcelisys

  • Birthday 09/01/2001

Profile Information

  • Title
    Founder/President
  • Industry
    Custom Database/Web Application Development
  • Gender
    Not Telling
  • Location
    IN

Contact Methods

  • Website URL
    http://www.excelisys.com

FileMaker Experience

  • Skill Level
    Expert
  • FM Application
    18

Platform Environment

  • OS Platform
    Mac
  • OS Version
    Mojave - Catalina

FileMaker Partner

  • Certification
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
  • Membership
    FileMaker TechNet
    FileMaker Business Alliance
    FIleMaker Platinum Member

Recent Profile Visitors

7,141 profile views

eXcelisys's Achievements

Community Regular

Community Regular (8/14)

  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter
  • First Post

Recent Badges

4

Reputation

  1. The Power of Three – Linking FileMaker, WordPress & WooCommerce to Manage Product Listings for Print Catalog & Webstore Sales How eXcelisys is helping a large-scale K-12 curriculum distributor close the book on its content management misery The Client: A leading developer, publisher and distributor of K-12 learning materials with annual revenue exceeding $27+ million (according to Dun & Bradstreet). The client distributes 15,000+ titles from 1,000+ publishers and produces its own materials through imprints. The Task: Upgrade client’s FileMaker databases (v. 6 & 12). The company used two databases – one by the editorial/art department to manage product descriptions and layout information for a physical catalog, the other to populate the website. The goal: streamline to eliminate task redundancy (i.e., copying, pasting & re-typing information). Earlier, the client had hired a separate web developer to re-do its website and needed the new FileMaker database ASAP to allow time for the web developer to integrate the systems. The Hiccup: Several months and development dollars later, the other web developer tanked the project. The client hired eXcelisys to fix the flawed website, integrate the new Claris FileMaker database, and sync the FileMaker and WooCommerce data fields. “We became their go-to development team. We didn’t just build a solution. We built a whole ecosystem of solutions.” ~ eXcelisys Project Manager Kurt Knippel Task 1: Build a FileMaker Database to Populate the Website Catalog The old system. To make a long, labyrinthine story short, let’s just say the process involved running Word-created product descriptions through a macro for conversion to a .TXT file that could be copy/pasted into FileMaker. After a little dance with the ERP to grab pricing information, the resulting file was eXported to FileZilla, then pushed to website folders before making a grand entrance onto the website catalog. Drawbacks to the old system: Multi-step Time-consuming All-or-nothing: There was no way to simply update 1 product; everything in the FileMaker database was pushed to the website and updated each time the update process was launched The new system. Product description and related details are keyed in FileMaker (v. 17). When complete, the user hits a “Go live” button to update the product on the website. As before, the system is connected to the client’s ERP to grab inventory information like pricing, ISBN, etc. Web catalog details are coded directly in FileMaker, eliminating the need for macro conversions. “Now, they have a whole pallet of HTML format options available right in FileMaker,” said eXcelisys developer Joe Cellino, the mastermind behind the new database. “They can insert HTML code to make it bold, change the text color, and so forth. When it exports to the website, it’s all set.” Above: Notice the menu of HTML Tags in the upper-right corner. Users can select these while writing product descriptions so when the data eXports to the website catalog, it displays correctly. Benefits of new system: No more macro conversions. Control over website updates. Updates are no longer an automatic, all-or-nothing proposition. “They wanted to push updates at their own will,” said Cellino, who devised a workflow that allows the client to conduct a search to find everything that’s been updated, then test it, and go live. This gives the client the ability to update an entire product line without worrying that half-completed updates will be pushed to the website before they are ready. Easy product linking. With a complex product structure (many products have supplemental texts, workbooks, maps, DVDs, etc.) the client needed the ability to connect products for web searches. The new FileMaker database allows the client to set workflows to link products as needed. Super responsive. Keeping the product updates in FileMaker instead of making them directly in WooCommerce eliminates latency issues with loading web pages. “They can zip through products, updating data quickly in FileMaker,” said Cellino. Task 2: Rescue Website / Sync FileMaker & WooCommerce Data Fields eXcelisys delivered the FileMaker web catalog system (described above) in ample time to allow the other developer to integrate the solution with the new website before the scheduled launch. However, six months after eXcelisys completed its portion of the project, the website remained unfinished and the frustrated client asked eXcelisys to take over. eXcelisys web app developer Michael Suhrbier dove in, tidying up the dysfunctional build to get the new site launched. One of the main issues involved syncing the FileMaker and WooCommerce data fields — a task the other developer struggled to complete. Website Issues that Needed Fixing Data syncing. Suhrbier tinkered with the API to create flawless linking between FileMaker and WooCommerce. As he explained it, there are many custom/specialty fields available only in FileMaker and the same for WooCommerce. The trick to FileMaker/WooCommerce integration is getting those specialty FileMaker fields to show up in the WooCommerce shopping experience in a usable fashion. “We use Advanced Custom Fields to fill in the blanks – the missing holes – for fields that exist in FileMaker but not WooCommerce. This is the missing link for a lot of people when they decide they want to get their FileMaker to WooCommerce. Sure, there’s an API that will do it, but only stuff that matches — like the title and quantity — will work. Lots of data gets dropped off. That’s where developers get stuck and give up.” By using WordPress’ Advanced Custom Fields function to load and display the custom field values, Suhrbier did not have to write any .php code to configure the data fields for the client’s eCommerce site, thus saving development time. A plethora of messy plugins & customizations. Suhrbier found that the previous web developer had used some 50 plugins and heavily modified the WordPress parent theme to get the site to look right on the front end. Suhrbier said the developer should have created a child theme to make the customizations instead of editing the actual theme. This setup meant that the client would never be able to update the WordPress theme to the latest version (as needed for security) because it would overwrite all customizations and wreck the site. Suhrbier fixed this issue, parsed unneeded plugins, and devised a system to make plugin updates quickly to reduce downtime in maintenance mode and keep the staging and production sites synced to ensure web orders are not missed. “We got it across the line to where it could launch.” ~ eXcelisys web app developer Michael Suhrbier Task 3: Rework FileMaker Database that Populates Print Catalog Along with the eCommerce web catalog, the client offers its products through print catalogs distributed to school districts. To facilitate the catalog-production process, eXcelisys took the client’s eXisting FileMaker solution (v. 6) and added the features necessary for print catalog production. This involved removing unneeded fields and ensuring the data would eXport into InDesign to speed print production. The physical catalog shares much of the same core information as the web catalog, so the systems were linked to share data. The team that deals with the web catalog listings is separate from the editorial/art team that produces the physical catalog so having separate customized FileMaker modules allows each team to see the data logged in the way that fits their specific workflow. Task 4: Streamline Auxiliary eCommerce Sites Aside from its flagship eCommerce website, the client operates a half-dozen other websites that offer the same products broken down into narrower curriculum categories. Each has its own domain, its own look, and its own shopping cart. Currently, eXcelisys is working to bring those auxiliary sites under the umbrella of the main site’s WordPress platform to allow the sites to share underlying functionality. The current setup is a nightmare for the client’s IT team, which has to oversee maintenance on each site, including seven shopping carts. In addition, every product update must be made separately on each site. eXcelisys is working to fix this. Who is the super-satisfied client? The client prefers to fly under the radar and did not want to get involved with our case study, but we can tell you this – the client gave us a 5-star review and called us eXcellent and accommodating in meeting their needs. If you need a little help syncing those tricky FileMaker/WooCommerce data fields, or care to discuss some other type of customization to automate workflows, contact us today. Our solution consultants will be happy to discuss the possibilities. To read more web tips and tricks from our web app developers, check out eX-Cetera, our blog where we offer WordPress Tips and Tricks and Web Tips and Tricks. The post Linking FileMaker, WordPress & WooCommerce to manage product listings appeared first on eXcelisys. View the full article
  2. Custom Web Module Helps Hagen/Sinclair Zoom in on Market Research Candidates MailChimp Web Form Development Simplifies Candidate Selection Process & Emails Hagen/Sinclair Research Recruiting is in the business of rounding up articulate, qualified respondents for online studies and in-person focus groups. Seeking a MailChimp web form developer, the market research firm contracted with eXcelisys for a custom web app and MailChimp integration to streamline its candidate selection and email processes. Lacking a Magic 8-Ball to consult for answers to burning questions, many entrepreneurs, health-care enterprises and NGOs turn to market research to assist with decisions about new products and services. But the key to acquiring key qualitative data lies in finding the right respondents. That’s where Hagen/Sinclair Research Recruiting comes in. Since 2001, Hagen/Sinclair has been tracking down target audiences for market research projects. Say a client needs 150 people with diabetes for a focus group, or a start-up wants to interview married males who earn more than $75,000/year and who reside in metro areas of 250,000 people or less. Hagen/Sinclair will find them–no matter the niche or quirky demographic desired. Monkeying Around with MailChimp For years, Hagen/Sinclair relied on a FileMaker database to store and sort its ever-expanding participant pool. When someone filled out the participant intake and consent form on the website, the demographic data was captured by FileMaker. The recruitment process looked like this: Hagen/Sinclair recruiters would scour the FileMaker database to locate potential candidates for a project. The recruiter would create a “project list” in MailChimp to communicate with the candidates. But MailChimp got wary of the ever-evolving Hagen/Sinclair subscriber lists. The campaigns began triggering Omnivore warnings for suspicious activity and getting shut down (i.e., MailChimp thought Hagen/Sinclair was sending spam). At her wits’ end, Hagen/Sinclair Chico President Cynthia Hagen Cross contacted eXcelisys for help. As far back as 2009, eXcelisys had been taking care of Hagen/Sinclair’s FileMaker needs. Satisfied with eXcelisys’ FileMaker development work, Cross decided to give their web app developers a try. After discussing her needs with Project Manager Kurt Knippel, they came up with a plan — build a custom web app that would integrate the website intake form with MailChimp so all data and contacts would be captured in one master “respondent” database (or audience) in MailChimp, which would be custom-coded with tags for searching and segmenting populations. Instead of transferring emails in and out of FileMaker, the emails would be stored in MailChimp, thereby complying with MailChimp’s terms of use and subscriber opt-in requirements. One of the biggest benefits Cross received from the project was relief in “feeling like I am clean in my email operation.” With the new system built by eXcelisys, the market research recruitment process looks like this: To launch a new project, Hagen/Sinclair recruiters open the new web app (hosted by Amazon Web Services). The recruiter sets up the new project by entering the search parameters (say “women” in their “40s” who like “wine”). The web app connects to the MailChimp API and queries the MailChimp database to compile a list of candidates who meet the criteria. Using this list, the recruiter creates a new “segment” audience in MailChimp to communicate about the specific market research project. Putting it All Together As eXcelisys delved into the project, Mailchimp web form developer Michael Suhrbier initiated several upgrades to Hagen/Sinclair’s web technologies, including migrating the site to a new, responsive WordPress design; implementing SSL to ensure data transfers would be encrypted; and securing access points for Hagen/Sinclair recruiters working from virtual offices. The project included many moving pieces. Here are some highlights: New Intake Form with MailChimp Integration: eXcelisys created a new participant sign-up form for the website. Data captured on the form auto-populates the master MailChimp database Sign-up form now conforms with MailChimp’s consent and privacy policies Migration to WP Engine for hosting with setup for nightly backups Left: Old intake form; right, new intake form, complete with privacy and consent statements to meet MailChimp guidelines. That’s a Wrap One of the things Hagen/Sinclair co-founder Cynthia Hagen Cross liked about the engagement with eXcelisys was the help Kurt and Michael provided with decision-making and project management. “They supported me through all of the platform changes we needed to make,” said Cross, who admitted her eyes have a tendency to “glaze over” when she has to delve into the technical nuances of running her business. “As a small business owner, you have all of this critical infrastructure to handle by yourself. Having eXcelisys there to recommend how best to do things, the steps needed, and reviewing and taking it forward … their being there helped. They chaperoned me through picking the technology and putting it all together.” ~ Cynthia Hagen Cross At a Glance: Hagen/Sinclair Research Recruiting, Inc. What: Recruits participants for paid research studies across the U.S. (consumer & B2B — in-person, online, phone interviews, focus groups) Where: Northern CA – with offices in Chico (run by Cynthia Hagen Cross) & Oakland (run by Anita Sinclair) Fun Fact: Hagen/Sinclair Chico President & CEO Cynthia Hagen Cross studied humanities at UC Berkeley, then grabbed a master’s in literature, dreaming of a future filled with dialogues on Lord Byron. “By the time I got out, I was like, ‘Ugh, give me something real that happens.’ I wanted to be engaged in commerce or something.” Cross discovered market research recruiting and found she loved talking to the movers and shakers in different spheres of industry. In 2001, she co-founded Hagen/Sinclair with Anita Sinclair, President & CEO of Hagen/Sinclair Oakland. Tech Specs: the eXcelisys Web Module Solution Challenge: The client used a FileMaker database to store demographics on its participant pool (people who signed up to take part in studies). To recruit for a new study, Hagen/Sinclair searched the FileMaker database, then created a MailChimp campaign to contact participants who matched the criteria—but the practice did not meet MailChimp’s terms of use standards and the campaigns got shut down. Solution: web app module with MailChimp integration How it works: To start a new project, Hagen/Sinclair recruiters enter search parameters into the new web app, which connects to the MailChimp API and queries the MailChimp database looking for candidates who match the criteria. Taking this list, the recruiter creates a new segment audience in MailChimp to communicate about the project. Because the emails originate from segments within the MailChimp database, no warnings are triggered. Snazzy Sides: – New intake form with MailChimp integration: Data captured on the new web sign-up form auto-populates the MailChimp database – WordPress website conversion from an old and now defunct CMS Technologies: WordPress, WP Engine, AWS, Contact Form 7, Updraft, WordFence, Yoast SEO & MailChimp Results: The owner feels relief that the company’s email operations are clean and the infrastructure is taken care of. “I get to focus on the craft of recruiting,” said Cynthia Hagen Cross. Contributing Editors: Lisa Frick Kurt Knippel The post Custom Web Module Helps Hagen/Sinclair Round Up Candidates for Market Research appeared first on eXcelisys. View the full article
  3. Reduce AWS Bill: Delete Snapshots with Python Lambda Script When old snapshots pile up, so do costs – try these slick tricks to trim the bloat By Leif Hanson, Full Stack Developer So the billing department calls to inquire about eXtra eXpenses from AWS due to 14,000 32GB snapshots having piled up. Unbeknownst to you, some backup script has gotten away from your team and started backing up repeatedly. Maybe you’re intentionally keeping around petabytes of backup data? Or maybe you need a pruning script? Even worse, when you try to select and delete 50 snapshots at a time in the AWS Console manually, you get random cryptic warnings and failures to delete. When this happened to me, I considered calling AWS support at this point before eXhaling through my nose heartily at the indignation and deciding to do it myself. Why not use the power of AWS Lambda to work around one of Amazon Web Service’s own bugs? Well, script kiddies, grab a coffee and dust off your Python skills because, like Leeroy Jenkins, we’re going in! “Oh no, Leeroy, STOP!!!” one of your edge devs yells. Why? Because like most things AWS, we can’t just go around writing Python scripts all willy-nilly. First, we need an IAM user role and some permission policies. “Jeez Leeroy, you’re gonna get us killed here,” mumbles upper management. How to Delete Snapshots to Reduce AWS Bill Head to IAM -> Roles and make yourself a new role. Add the AWSLambdaBasicExecutionRole and AWSXRayDaemonWriteAccess permission policies as usual for a Lambda role. Because we’re working with EC2, add the AmazonEC2FullAccess permission policy. There may be some lesser access level worth investigating if your company’s policies are tight surrounding IAM permissions, but I’ll leave that to a future episode. For now, these three Permission policies should be enough to run the Lambda script and your IAM Role summary should look about like so: With our IAM Role set, we can catch back up to Leeroy over in AWS Lambda. 4. Create a standard Python 3.7 script. Attach the IAM Role. For your “Test” scenario just choose the “Hello World” settings; they are irrelevant to this script as it will be returning void. 5. In lambda_function.py add the following script: import boto3 import datetime import getopt ############################################################ # leifCleanAwsEc2Snapshots # Script will delete all snapshots created before dateLimit. # ALL SNAPSHOTS OLDER THAN THIS DATE WILL BE DELETED!!! dateLimit = datetime.datetime(2018, 1, 1) # yyyy, mm, dd ############################################################ #AWS Settings client = boto3.client('ec2',region_name='us-east-1') snapshots = client.describe_snapshots(OwnerIds=['1111111111111']) def lambda_handler(event, context): # Calculate the number of days ago the date limit is. dateToday = datetime.datetime.now() dateDiff=dateToday-dateLimit # Could base this clean-up on the number of snapshots too. #snapshotCount=len(snapshots['Snapshots']) for snapshot in snapshots['Snapshots']: a=snapshot['StartTime'] b=a.date() c=datetime.datetime.now().date() d=c-b try: if d.days>dateDiff.days: id = snapshot['SnapshotId'] started = snapshot['StartTime'] print(id + "********************") print(started) #Uncomment below line for "live run" #client.delete_snapshot(SnapshotId=id) print("DELETED^^^^^^^^^^^^^^^^^^") except getopt.GetoptError as e: if 'InvalidSnapshot.InUse' in e.message: print("skipping this snapshot") continue 6. Once you’ve saved the script, you could click the “Test” button to run it, as Leeroy is over in the corner currently doing. However, it’s not going to run yet. 7. Enter your AWS details for Region and OwnerID. In my case, the OwnerID was our main IAM Role, but your mileage may vary depending on your EC2 setup. Anyway, find the owner IAM of those snapshots and enter that for the OwnerID. No, Leeroy, not yet, stop pressing that Test button. 8. We still need to set our date. The core purpose of this script is to delete all EC2 snapshots before a certain date, so we have to make sure we set the “dateLimit” variable to whichever date we want. I recommend starting long ago, and working your way forward. Now, since we’ve got our dateLimit set, and we’ve got the right AWS Region and OwnerID, and because Leeroy is still hammering that Test button over there, our script finally produces a “dry run.” What you should eXpect to see is a list of snapshot names (and the dates they were created) in the console. Should look about like so: leifCleanAwsEc2Snapshots July 28, 2020 Run 1: Set date limit: 1-1-2019 Perform dry run. OK Set execution time: 5 minutes SUCCESS: Removed 1308 snapshots. Log: snap-073d12f68267c9178******************** 2018-07-08 15:36:21+00:00 DELETED^^^^^^^^^^^^^^^^^^ snap-0bfef6b0debd78d6a******************** 2018-07-08 15:37:21+00:00 DELETED^^^^^^^^^^^^^^^^^^ snap-0432066f851a8b197******************** 2018-07-08 15:36:21+00:00 DELETED^^^^^^^^^^^^^^^^^^ snap-00b67e45a0a84ec32******************** 2018-07-08 14:02:08+00:00 DELETED^^^^^^^^^^^^^^^^^^ snap-0554604daa7202a4b******************** 2018-07-07 15:37:21+00:00 DELETED^^^^^^^^^^^^^^^^^^ snap-07b7d235e82414dda******************** 2018-07-07 15:36:21+00:00 DELETED^^^^^^^^^^^^^^^^^^ Number Deleted: 19 9. While Leeroy celebrates his victory, you head back to EC2 and check and note that no snapshots have been deleted. That’s because in order to run this script in a “live run” you must uncomment the line: client.delete_snapshot(SnapshotId=id) 10. Assuming the above console output does list only snapshots you want deleted, and assuming Leeroy hasn’t broken anything, you can uncomment that line, save, and then walk over to the corner and slap Leeroy’s hand before finally pressing the “Test” button like the responsible Dev Ops engineer you are. Depending how many snapshots meeting the delete criteria are found, this script can take a long time to run. I estimate about 300 – 350 snapshots can be deleted every 5-minute run. Using the 15-minute max Lambda eXecution time, you can wipe out about 1,000 snapshots in a single run. Conclusion: This script could be easily adapted to be fired when an EC2 or other kind of snapshot are created, and in such a way, one could tie their pruning script to the creation of new snapshots automatically (if one were so inclined). Disclaimer: Use at your own risk. Once the “live run” line above has been uncommented, this script can and will delete hundreds of snapshots without further warning. With great power comes great responsibility and I recommend you play with the script in “dry run” mode without uncommenting that line for several Tests to understand eXactly how the script will work before running a live run. Indeed, the word “Test” on the button to start this script is a misnomer here since we’re hand-firing a script that will do much more than simply “Test.” It will lay waste to potentially petabytes of snapshot data. Avoid Snapshot Pileups with Amazon Data Lifecycle Manager Unlike Leeroy, you may prefer to engage in meaningful planning and strategizing so those snapshots don’t pile up again. One tool for this task is the Amazon Data Lifecycle Manager, which allows users to configure settings to automate the creation, retention and deletion of snapshots. Using the Data Lifecycle Manager you can create a policy that stipulates eXactly when snapshots are taken and how long they are retained before deletion. Amazon Data Lifecycle Manager: The Basics Step 1 – Open the Data Lifecycle Manager. Look in the Amazon EC2 console, under Elastic Block Store. Step 2 – Tags. Create and assign tags to the EBS volumes (instances) slated for backup since lifecycle policies identify which instances to snapshot based on tags. Step 2 – Create Snapshot Lifecycle Policy. Choose how often to run the policy (such as every 2 hours), select the starting time (such as 0700 UTC), and retention type (by number or age, such as retain only the 5 most recent snapshots). Step 3 – Enable policy. Sounds simple enough, but beware that you could still end up with way too many images being stored, depending on how the policy is configured. After setup, you’ll want to monitor your snapshots to ensure they are being created and deleted as planned. If you need help setting up the Data Lifecycle Manager or pruning AWS snapshots, we’re here for you. Or maybe you need some other tweaking with your AWS Console or website configuration? Check out our website tech support & maintenance services for more information. To read more web tips and tricks from our web app developers, check out eX-Cetera, our blog where we offer WordPress Tips and Tricks and Web Tips and Tricks. **This article is provided for free and as-is; use, enjoy, learn, and eXperiment at your own risk – but have fun! eXcelisys does not offer free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ website maintenance and support services. About eXcelisys, Inc.: Founded in 2001, eXcelisys (www.excelisys.com) is an FBA Platinum Partner and FileMaker Certified developer organization. eXcelisys specializes in designing, developing, customizing, supporting, consulting, migrating, upgrading, fixing and integrating database solutions for Desktop, Mobile, and Web applications. Our core technology competencies are FileMaker Pro, FileMaker Go, and MySQL for database frameworks, along with FileMaker WebDirect, WordPress, MySQL, PHP, CodeIgniter, PostgreSQL, Joomla, Drupal, Magento, CSS, HTML5, and Javascript for websites and web applications. Aside from providing eXcellent customer service, our goals are to use these technologies to intuitively automate your organization’s data solution needs seamlessly and flawlessly across the web, mobile, and desktop platforms. Contact eXcelisys today for a free estimate and consultation about making your business more efficient through intuitive and effective software automation. 866-592-9235. The post Delete AWS Snapshots with Python Lambda Script appeared first on eXcelisys. View the full article
  4. .fusion-gallery-1 .fusion-gallery-image {border:0px solid #f6f6f6;}One of these things is not like the others … One of these things is in a class of its ownThe Excelsior. It’s a tank, a rugby club, a Federation starship, a brewing company … and now, a digital “get-out-of-jail” card for New Yorkers. Launched this week, the Excelsior Pass is a mobile app that allows gate-keepers to verify a customer’s COVID-19 vaccination status prior to entering a people-populated place. Flash the pass and you, too, can re-enter society from the fringes of sci-fi-solation. Excelsior. Excelsior. Oft-uttered by the super-hoaxer P.T. Barnum and serving as New York State’s official motto, Latin for “ever upward.” Here, at eXcelisys, we provide our customers with database solutions and web app fusions that take their businesses ever upward. By now, you’re probably scratching your head and figuring out that you’ve landed in the wrong place. Excelsior. eXcelisys. Tomato. Tomahto. No, we’re not related to the Excelsior Software Company or the Excelsior Pass. Type “excelsior” into the search bar and you get 57,500,000 results. So many excelsiors, but only one eXcelisys. We get the confusion. We’ve got mad development skills. We coulda built an application called the “eXcelisys Pass” to eXtract data on a user’s vaccination status or recent PCR/antigen test, but no one bothered to ask. But we coulda. That’s the kind of thing we do. We help our customers take data from here and send it there (securely!). Just as the Excelsior Pass Wallet App queries a database to retrieve the user’s vaccination status and return the results, we’ve built tons of apps and databases that do the same thing. (Check out our blog to learn more.) We’re also into phone apps, like the Milcarb App we built to send CO2 tank data right to the phones of beverage-gas distributors so they don’t have to drive all over the earth to physically check the tanks at the restaurants they service. Oh, we build iPad apps, too. We could go on and on, but you get the picture. Databases, web apps, websites, WordPress, FileMaker, PHP, AWS IoT, we’ve got it! As tech companies across the globe scramble to cash in on the digital vaccine passport craze, building apps with Frankensteinian abilities, we’re here for you – the real guys, running real businesses in need of real software solutions. Contact us today! Our Solution Services Consultants offer no-charge consultations, complete with a needs analysis & estimate. The post The Meaning of “Excelsior” appeared first on eXcelisys. View the full article
  5. Need a PHP Wrapper to Connect to the FileMaker Data API? Try FMXData! by Duane Weller, eXcelisys FileMaker/Web Developer I’ve built a number of FileMaker Custom Web Publishing (CWP) websites using the FileMaker Data API. With this eXperience I have learned that writing the PHP code to connect to the FileMaker Data API can be tedious and time-consuming. In order to eXpedite development, you need a library of simple, pre-built functions that give you easy access to the features of the FileMaker Data API. Fortunately, Claris publishes such a list and it includes not only PHP libraries, but libraries for many other programming languages. Check it out: Data API/Admin API Packages/Wrappers For FM 17+ I reviewed the four PHP libraries included in the list — FMDataAPI, fmPDA, fmREST and fmRESTor — but I wasn’t sold on any particular one. They are all fine libraries, perfectly acceptable for including in many PHP projects; however, I found them all a little awkward to integrate and some of them just wouldn’t work as a library for larger projects. What I discovered is that they are not structured well for use in PHP frameworks where webpage logic and database queries are often coded independently. In the end, I got tired of playing around and wondered, Can I build a better mousetrap? I got to work and developed my own open source PHP library: introducing the FMXData PHP Library for the FileMaker Data API. It is specifically designed for use in PHP frameworks but will work well in most PHP applications. It features a single file design that’s easy to include in a framework or any other PHP project. It includes a PDF manual covering all of the supported functions. It supports connecting to and disconnecting from the FileMaker Data API. You can get FileMaker Server information; list available databases; list scripts and layouts; add, edit and delete FileMaker records; perform finds and sort the results; run scripts; set global fields and even upload container field files. FMXData Features: Singe File Design PDF Manual Included Separate Functions for Connecting and Disconnecting Get FileMaker Server Info List Available Databases List Layouts & Scripts Add, Edit and Delete FileMaker Records Perform Finds and Sort the Results Run Scripts Set Global Fields Upload Container Field Files Guess what? The source code, eXample files and documentation for FMXData are available as a free download from GitHub: FMXData: A PHP Library for the FileMaker Data API Download it and try it out. I’ve posted it on Github as a beta release. Everyone is welcome to review it. You can post any bug reports or feature requests right on Github. So far, it has worked well for me but I’d love for it to be put through the paces to ensure it’s a comprehensive solution for every developer in every situation! To read more FileMaker/web tips from our developers, check out eX-Cetera, our blog where we offer FileMaker Tips and Tricks and other general Web Tips and Tricks. **This article is provided for free and as-is; use, enjoy, learn, and experiment at your own risk – but have fun! eXcelisys does not offer free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ database and website support/maintenance services. The post PHP Wrappers for the FileMaker Data API appeared first on eXcelisys. View the full article
  6. Gospel-Inspired Web Community Sees Light of Day eXcelisys Sets Up Video-Sharing Platform for Christian Musicians Imagine a cozy, happy space on the internet dedicated to positivity, to encouraging people to be the best versions of themselves. Imagine a platform devoted entirely to providing Christian musicians and writers with a place to share their work. Imagine “Massive Miracle” – a new Gospel-inspired web community launched by brothers Bedcy and Rops Previl. Born in Haiti, Bedcy came to the United States at 14 and got into the entertainment business. He worked as a club promoter and music eXecutive before being called to ministry. Currently, Bedcy leads the youth ministry at the Tabernacle Evangelique de Louange in Lynn, Massachusetts. A few years ago, Bedcy was promoting a gospel music event and thought, “Wouldn’t it be nice to have a place where people could watch this concert?” That thought quickly moved from whisper to nudge, becoming the genesis of Massive Miracle. To turn the idea into a reality, Bedcy hired eXcelisys to help him get the website up and running. Bedcy took care of the content and vision for the site, while eXcelisys took care of the form and function, setting up a site that allows users to integrate and embed videos. “They are very professional and able to bring my ideas to life eXactly how I wanted.” ~ Bedcy Previl on working with eXcelisys Above: Massive Miracle home page as seen during the end stages of testing. Below: A video plays on the now-live website. In the future, the site plans to sell ads to generate funds to give back to the musicians and writers who contribute content. As such, the place-holders for the ads have been built in. What is Massive Miracle? Massive Miracle is intended to be a digital “Garden of Eden” – a place where the faithful can flock to find music, articles and inspiration to keep them on the path of positivity and enlightenment, while also providing an outlet for Christian musicians. “YouTube is oversaturated,” said Bedcy, noting gospel artists can get lost on the platform. “The idea is to create a space for them.” In addition, Bedcy sees Massive Miracle as a safe space for spiritual seekers to find uplifting content without getting bogged down by the negativity plastered across the web. “We are looking for anything that reflects positivity, or brings positive things into people’s lives. Anything that helps people connect with their creator, with loving one another and sharing that connection with the people you share the planet with. This is what we strongly believe in – promoting positivity into people’s lives.” Who Can Contribute Content? “People who take their art seriously,” says Bedcy. To contribute music and articles, the user must register for an account. Items posted to the site can be viewed by anyone. Bedcy’s goal is to generate an income from the site through advertising. He plans to divvy up the earnings amongst site contributors, with the largest share going to those who have the most followers and views. A Bit About the Website Development of the video-sharing platform began with the client selecting the VidoRev WordPress theme. This provided a solid foundation for eXcelisys Web App Developer Michael Suhrbier to build upon. As with many non-profit organizations, the budget was tight, requiring Suhrbier to work strategically, weaving desired features in with the necessities. “Bedcy had a long list of wants and needs. As we built it, we tried to get as many wants while completing the needs.” A few development maneuvers: Increasing WP Engine’s maximum file upload size. Multimedia-rich sites like Massive Miracle frequently bump up against upload limits. WP Engine, the selected host for the site, has a default of 50MB (as do many other hosts). The client wanted to increase the size to 250MG, as 50MB provides only about 30 seconds of video. Suhrbier accomplished this feat by calling WP Engine to get the limit raised and then reconfiguring the code on the back end to allow uploads of that size. Integrating & Wrapping YouTube videos. The website integrates with YouTube. A user can submit an embedded URL link from YouTube and it will play inside the Massive Miracle website overlaying the ad content from Massive Miracle’s paid ads (in other words, the video won’t play from the YouTube interface and the viewer won’t even know that’s where the content originated). Painting over WordPress. Suhrbier spent development time turning Massive Miracle into a membership site. As part of this process, he customized the WordPress login page to give the client the look and feel he wanted site contributors to see. (Note: anyone can view the site, but content providers must become members to get a login to upload content). Above: The site’s mission is eXplained on the “About” page. Massive Miracle co-founder Bedcy Previl says, “Massive Miracle is a way to spread positivity and love in a bulky way.” Into the Future Long-term, Bedcy has more development goals. As funds permit, he would like to add the ability for users to upload audio files. Bedcy said working with eXcelisys was a “good eXperience” and he thought the back-and-forth communication went well. He says he also appreciated never hearing the word “can’t” when he had an idea, suggestion or desire for the site. “I hate the word ‘can’t.’ Once I hear the word can’t, I don’t feel comfortable working with you.” For now, Bedcy is happy to see the site go live, to see what will come of it. He doesn’t think of Massive Miracle as his website, but more like humanity’s website. “This is their website,” says Bedcy, referring to users and contributors. “We can work together to make it something everyone can use. We can make a difference in the world. I’m not the owner of the website, just the manager.” If you need a little help configuring your multimedia-rich website to skirt those upload limits or desire some customizations beyond your skill-set, hire an eXcelisys developer today. Our solution consultants will be happy to discuss the possibilities. To read more web tips and tricks from our web app developers, check out eX-Cetera, our blog where we offer WordPress Tips and Tricks and Web Tips and Tricks. The post Video-sharing Website Lights Up Web appeared first on eXcelisys. View the full article
  7. FileMaker Developer & Problem-Solving eXpert IMMEDIATE OPENING – USA Based 1099 Remote Independent Subcontractor We are looking for a disciplined, self-motivated, talented, eXperienced, independent FileMaker sub-contractor who can tackle poorly developed and designed eXisting solutions and whip them back to good working order. Also create beautiful new FileMaker applications too! PLEASE NOTE: We are specifically looking for an independent individual sub-contractor who is USA-based and wants to be part of a team, but wants to remain a freelancer. Not interested in outsourcing to any white-label companies offering similar services. For more info and how to apply - https://excelisys.com/team/employment-opportunities/
  8. Data Destruction Done Right! eXcelisys Builds Monitoring Tool to Track & Audit Disk-Wiping Process When banks, insurance companies, and health-care systems get the urge to purge, they call Archive Data Solutions. With a home base in Westerville, Ohio, Archive Data Solutions dispatches techs nationwide to wipe sensitive data from decommissioned hard drives and SSDs when they reach end-of-life. “It’s not rocket science,” said Andy Haenszel of Archive Data Solutions, “but it can be overwhelming.” Haenszel said the issue is the sheer number of drives a company may have coming offline from servers and workstations, combined with the increasing capacities of those drives, making it a laborious process. Haenszel said many IT teams simply don’t have time to deal with it — plus, having an independent, third-party firm wipe the data helps with compliance. How Does Data-Wiping Work? To sanitize data, Archive Data Solutions uses a popular disk-wipe software program that runs on Linux. The software makes multiple passes over each disk, overwriting the data with zeros and ones until the “prior state,” or echo, can no longer be recovered. Think of it like removing graffiti. If you wash it off the wall, remnants remain faintly readable underneath. A better solution is to “paint” over the wall until the graffiti is undecipherable. That’s essentially what data-sanitization software does. The Quest for a Better Wipe For years, Haenszel has been trying to make peace with the imperfect, off-the-shelf data-wiping software. “It functions very well for the average user trying to wipe a couple of drives at a time, but to use it at scale was just painful.” The problem was a lack of feedback, and lack of an end-to-end audit process. Haenszel said Archive Data Solutions needed a better way to track every drive that entered the wiping process, view the progress along the way, and have a clear audit trail of the results. As Haenszel pointed out, many issues that can derail the process are out of their control — such as an onsite power failure, an OS that hangs, or a drive with power connectors that are bent. “If 100 drives were hooked up to wipe and the entire system went down for one of those reasons, we were not able to see eXactly where each drive stopped in the process.” The only option was to be safe and start the hours-long wiping process over again on every disk in the job. A wipe cycle can easily take 16 hours, so these “do-over” errors added up. “I’m going to send someone halfway across the country and I don’t know what I’m walking into,” said Haenszel. “If I can’t track eXactly what’s going on in every drive in that system and have to repeat drives to be sure, I lose days and the project might not be profitable any longer.” Seeking a data sanitization tool to help monitor the process, Haenszel contacted eXcelisys. He eXplained his pain points to web app developer Michael Suhrbier, who utilized the LEMP stack (Linux, NginX, MySQL & PHP) to create a wipe-monitoring tool. The stand-alone system runs on a Linux machine, isolating each drive in a job. When the drives are plugged in and the wiping starts, the monitoring tool displays the drives, models and serial numbers in the job, along with a color-coded process bar for each one. Techs use the color coding to make a quick, accurate assessment of the destruction in process. Red indicates the process has been terminated, yellow indicates there is an issue needing attention, and green means all is well, the disk-wiping has completed successfully. “Michael’s framework allows me to see which need to be reprocessed and which finished,” said Haenszel. “Having full, 360-degree visibility is a night and day improvement over the software’s out-of-the-box functionality.” Other features: Remote monitoring. With the new data sanitization tool, techs can monitor a job off-site from a laptop or phone. When the project started, Haenszel was not even thinking about remote tracking. “It’s a nice add,” he said, “because it allows us to stay out of our customer’s way as much as possible. We can leave the site and return back hours later when it’s time to swap out the next round of drives.” Certificate of Destruction. Once the cycle has finished, the tech can click one button to generate a PDF “Certificate of Destruction” that lists the serial numbers of the drives destroyed in that job. The PDF can then be filed away for compliance. Wiping out the Competition The new data-wipe monitoring tool helps Archive Data Solutions complete jobs efficiently and accurately. Now, when a job finishes, the tech knows eXactly what happened with each disk and can even perform a cross-check audit of serial numbers in the run to ensure accuracy. Haenszel said the monitoring and auditing tool helps Archive Data Solutions outshine the competition because of the transparency and peace-of-mind it offers clients in knowing the job will get done right. “It definitely makes us stand out among the competition.” Likewise, Haenszel thinks eXcelisys stands out among the competition. Before hiring eXcelisys, Haenszel worked with a couple other developers who “failed miserably” in figuring out a way to build a monitoring tool. Then, he remembered eXcelisys. Since 2008, Archive Data Solutions has used eXcelisy for FileMaker support. “I thought, ‘Hey, the FileMaker community is quirky and they tend to know Linux.’ ” A phone call later and the job was under way. “You guys have been really great,” he said. “eXcelisys took this four steps past what I would have even asked about.” Archive Data Solutions What: Helps companies manage data storage — tape/disk/cloud Specialty: Data destruction (tape, hard drives, SSD); on-site or off-site Where: Based in Westerville, Ohio; deploys across the United States Other offerings: Tape Services (auditing, sanitization, redeployment); Disk Services (sanitization, end-of-life disposition, asset buyback); Cloud Solutions (managed IT, cyber security, BC/DR); Data Center Services (crisis recovery, maintenance & warranty support, data center cleaning) Cool fact: Can wipe more than 600 drive/day per station The eXcelisys Disk-Wipe Monitoring Tool Problem: To sanitize hard drives and SSDs, Archive Data Solutions uses a popular disk-wipe software program. The software works well and does the job, but does not offer sufficient monitoring, auditing or tracking processes. Solution: Build a real-time, data-wipe monitoring tool How it Works: The monitoring app runs on a standalone Linux machine. The app queries the database the disk-wipe software writes to and displays the information on the screen, including drives, models and serial numbers in the job, along with a color-coded process bar. If one particular disk fails, the user will know and can re-wipe that disk instead of having to initiate the hours-long wiping process on the entire run. The monitoring can also be done remotely, from a laptop or phone. Technologies: Linux machine with Ajax, NginX and PHP, monitoring data in MySQL database Results: Andy Haenszel of Archive Data Solutions said having the monitoring tool solidifies the sales pitch to potential clients because it helps his company stand out. Clients feel secure with the audit visibility and tracking the tool provides. “You can look and tell we know what we’re doing.” Contributing Editors: Lisa Frick Kurt Knippel The post Data Destruction Monitoring Tool appeared first on eXcelisys. View the full article
  9. Airtable: If FileMaker and Google Sheets Had a Baby A Die-hard FileMaker Developer & Airtable Skeptic Takes a Peek Inside by Kurt Knippel, eXcelisys VP of Production What is Airtable? Airtable touts itself as the ultimate “organize anything, with anyone, from anywhere” tool. A relative newcomer to the cloud-based, no-code development sphere, Airtable’s valuation is projected to surpass $2.5 billion this year, as the company weighs a new round of venture funding. Clearly, this next-generation workplace collaboration tool isn’t going away, so I thought I’d give it a whirl and do a little Airtable vs. FileMaker comparison. At its core, Airtable is like a spreadsheet with a database back end. The presentation model is mostly like a grid or spreadsheet view, with other view-types available. Airtable works in the standard “record-field” model that databases use, but the main grid view shows rows and columns like every spreadsheet you have ever used. The spreadsheet-looking interface gives Airtable a familiar feel and makes it easy to use. Airtable eXists in a space somewhere between the functionality provided by Google Sheets and FileMaker Pro. It’s more powerful and easier to use than Google Sheets, but less powerful and complicated than FileMaker Pro. How Does Airtable Work? Every new project begins with a “base.” The Airtable “base” contains fields (like the cells in a spreadsheet). You can create a custom base (if you’re confident in making your own custom tables, fields and views). Or, to get up and running quickly, grab one of Airtable’s eXisting base templates or create one from a spreadsheet import. Airtable comes with full REST API support and creates the API documentation for you as you build out your solution, making it easy to hand off to your web development team for integration into your website and/or web apps. There is also full JavaScript support for working with these bases in your website and/or web app. Add “blocks” to your base for advanced features and functionality. Blocks are like modular apps — akin to a plugin or eXtension. Add a block and you get immediate functionality. Some eXamples: Dedupe (identify duplicate records and delete or merge them) Pivot Tables Contact Import Send SMS (send text messages to contacts in a table using Twilio) Map (geocode addresses or coordinates on a map) *HOWEVER, blocks are only available on the paid PRO and ENTERPRISE plans Seasoned developers must keep in mind that Airtable operates within a very different paradigm than we are used to with most development platforms. To wrap your brain around it, you need to simplify. Think of it as a spreadsheet on steroids. Airtable simplifies things by the very nature of how it works. For eXample, Airtable maintains all of the referential integrity internally, so you don’t need to use record_IDs in the way that you would normally think of them. Airtable Overview “If FileMaker and Google Sheets had a baby” Airtable is “database as a service” Airtable automatically generates RESTful APIs as you create data tables Airtable bases can be created from a spreadsheet, manual entry, or a template Includes full JavaScript library for working with the API It seems ideally to be more task-oriented and less solution-oriented Does not support linking records between multiple bases; no scripting/automation of tasks A note of caution: Consider that unless you are putting this on your website (publicly), you have to be invited in order to access it. You could control user access via your web portal or web app access. But there is no real security beyond that. What Does Airtable Cost? Airtable uses a “database as a service” model with monthly per-user pricing, depending on the capabilities and levels of access desired. There are Free, Plus, Pro and Enterprise pricing models, with progressively more capabilities and storage available in each. There is no “developer program,” as the system is intended for direct use by the actual end-users (either as individuals, work groups or companies). However, for users requiring complex systems, developers could work directly on the end-user’s bases or create custom bases in their own account, then turn them into templates. End-User Costs – $10 to $20 per user, per month Developer Costs – there is no real “developer program” Intrigued? Check out this complex Airtable solution that manages donors for a college scholarship crowdfunding not-for-profit: ScholarMatch My Own Personal Perspective on Airtable Just for fun, I built a small sample solution based on a real-world client situation I’d encountered. I didn’t know what to eXpect. The marketing hype made it seem like Airtable was the next big thing in cloud-based data solutions and I was missing out if I wasn’t using it. I was skeptical, but eager to test Airtable vs. FileMaker in a build. After watching a few videos on the basics, I started playing around with Airtable. I decided to build a solution for a small construction or handyman-type company. Such a business would have clients, projects, invoices and line items for both building proposals and actually billing clients, including payment tracking. I started in the way I have always built sets of spreadsheets to track the basic information. Then, I started linking the tables together as I would with a standard database. This made me realize that I was overthinking the requirements. Airtable is all about simplification. I started over, radically reducing the number of columns used in the solution. Airtable also takes care of all of the referential integrity, so the common idea in database solutions for record IDs is essentially unneeded in Airtable. The next issue of simplification I had to tend to was a reversal of data normalization. With Airtable, you essentially organize data into much higher-level tables, rather than the strongly structured and normalized tables typical to modern database solutions. For eXample, I made Name simply one field, allowing for one or more names to be entered. Address was likewise a single field with multiple lines for the full address. In a fully normalized database across multiple tables, these would have been upwards of 10 or more fields each, likely across multiple actual tables. This realization caused me to start over yet again, further simplifying the solution. Next, I worked with lookups, which pull data into one table from another table, and rollups, which are basically summarizations of data from related records. This allowed me to look at a client record and see how much money was owed on open projects and how much overall business the client had done. All this with only a couple of fields, and perhaps a few minutes of configuration. That was pretty slick. At this point, I played around with filtering, sorting and grouping on the various tables, including creating specific views that saved the settings. For eXample, I wanted Airtable to show clients with active projects, invoices with a balance due, and proposals waiting for approval, etc. This is all pretty familiar territory for anyone used to using spreadsheets (like Excel, Google Sheets, Numbers, etc). In my sample solution (and working with the Free tier), I had not yet touched on some of the more advanced features of Airtable, such as Blocks (which eXtend the functionality) or the web integrations. I played around enough, though, that I can offer my general impressions. Airtable vs. Google Sheets How does Airtable compare to a long-standing platform like Google Sheets (or any spreadsheet-based system)? Cost: Depending on your setup, you may be using Google for free; or, you have the whole Google Suite (costing $6 – $25 a user/month, meaning the whole suite costs about as much as Airtable alone). That in and of itself makes Google Sheets a winner in the cost category, and a compelling choice for your online data management needs. Usability. Google Sheets is just a spreadsheet. While it has some integration with Google Forms and other services within the GSuite, it’s not intended to be a basis of a solution and lacks many of the slick features of Airtable. Airtable vs. FileMaker Pro How does Airtable compare to a long-standing platform like FileMaker Pro from Claris International? Cost: From a pricing perspective, Airtable vs. FileMaker is almost an apples-to-apples comparison. $20 max per user per month for Airtable (no hosting needed) $20 max per user per month for FileMaker (including hosting) Enterprise (Airtable) vs. volume licensing (FileMaker) would align with each other within a few dollars, plus or minus Usability: Airtable is far less complicated than FileMaker Pro. Anyone who’s worked with a spreadsheet will feel right at home with Airtable. However, the lack of a security model and having no scriptability makes FileMaker a clear winner for anyone who needs either user-based security or automation. (At the time of this publication, Airtable has released some scripting capabilities, but I have not had a chance to try this out). REST API: Available for both FileMaker and Airtable, making them equal in my book from that perspective. Other considerations: Airtable, being a cloud-based system, lacks a “server” component, at least from the end-user perspective. This is probably meaningless to most users of either Airtable or FileMaker Pro. But for some solutions, having the ability to run processes on the server (imports, batch e-mails, etc.) and performing local backups, could be a critical decision point. Support: Airtable also gets some kudos for having desktop and mobile support built right in. Supporting desktop, web and mobile with FileMaker Pro is definitely a more daunting consideration. Things to Consider ✔ Airtable is far more capable and easier to use than Google Sheets, but far less powerful and less complicated than FileMaker Pro. ✔ Airtable is perfect for quick, relatively simple data-entry-centric solutions that don’t require automation or integration with other solutions (however, it does have some ability to meet needs). ✔ Airtable is made to be eXtendable via block add-ons, as well as fully integrable with websites via direct embedding or through the REST API. Airtable seems tailor-made for three particular needs: The first is if you want a quick and easy shared platform of data that users can begin interacting with quickly, especially if the data entry is associated with an embedded form on a website. Another is if you have a data set that needs to be quickly shared between multiple parties, or as a test platform for your web team. The final need that it addresses well is the ability for a team to quickly begin collaboration and data collection via a variety of platforms and a mix of desktop, mobile and web interfaces. Another ideal scenario for Airtable is when a client or workgroup is trying to solve all of its problems with Google Sheets or Excel (i.e. using a spreadsheet when the situation calls for a database). Here, Airtable — with its familiar spreadsheet interface — would be a better fit than a standard spreadsheet and less daunting (certainly quicker to implement) than a full database solution. Keep in mind that anything requiring user-specific security and/or automation will quickly fail in Airtable. In such cases, it would be far more suitable to use a platform like FileMaker Pro. FileMaker Pro, with its mobile FileMakerGo app, is also key if you need offline mobile capabilities. The Final Analysis: Airtable vs. FileMaker Pro All in all, I was far more impressed with Airtable than I eXpected. Comparing Airtable vs. FileMaker gave me a lot to think about and I look forward to implementing Airtable into client solutions. I will keep an open mind as I learn more about Airtable and it will be interesting to see which platform eXcelisys turns to in which situations and what new business problems we can solve with Airtable. The post Airtable vs. FileMaker appeared first on eXcelisys. View the full article
  10. Fun with FileMaker: This Stacking Game will Knock Your Block Off! eXcelisys Developer Mixes Work & Leisure Creating Block-Stacking Game by Paul Spafford, eXcelisys FileMaker Developer One weekend, I had a little fun creating a game in FileMaker. It happened in the usual way: I was playing a free game on my iPad, but it was a bit glitchy. I thought, “I can do better.” I decided that keeping all elements as simple as possible was the way to go, so while there are some tricky bits, it’s mostly pretty obvious where to go when I want to change things. The rules: “Each tower must contain only one colour to win. Boxes can only be stacked on top of a box of the same colour or in an empty tower.” Look at the puzzle grid above. In this particular game, say you click on one of the towers with a green box on top. The only move you can make is to then click on one of the empty towers and that box will make the base of that tower. Once you do that, you can stack the other green on top of it (see image below left). Pretty simple. And here’s how it looks when you’ve solved it (below right). That would be boring, of course, so it has 5 more levels, which just add more towers, while still only leaving 2 empty: Medium, Hard, Super-hard, Hardest and Batman. The Batman level has 13 total towers, 11 of them with boxes in them. Even if you don’t care how this was built, and you just want to play the game, Batman can keep you pretty busy. But if you’re reading this, you probably want to know more. Here’s the quick description: Each tower is a field with 4 repetitions. The fields actually hold numbers, but the text and the fill are conditionally formatted the same colour based on the number in that field. A script randomly puts the numbers in the repetitions. A custom function tells what is in the topmost full box in a tower. Another custom function tells all the numbers that are in each tower. There are visibility settings on each field to only show the correct number of towers for the difficulty level. There is a clear button bar on each tower that has visibility settings for the bar, also based on difficulty level. Each button bar has 3 possible buttons (that are also clear), with their own set of visibility settings, based on the rules of the game. The first button is the one that puts a box in that tower; the second button takes the top box from that tower; the third button cancels the movement. Through the visibility setting, only one of those buttons is available to be clicked at a time, and sometimes none of them are. There is a field called “craneload” that stores the number for the box colour that has been clicked (picked up to be put somewhere else). There is also a field called “craneloadFrom” that holds the number of the tower it is pulled from. NOTE: These fields refer to a “crane” because initially I had a horrible drawing of a crane on there that would hold the box that had been picked up. I eventually moved beyond that, and you will never see what that embarrassing version looked like. There is a copy of the craneload field above each tower with conditional formatting for its colour. This field has a visibility setting to hide it unless the number in the craneloadFrom field matches the tower it is above. I also have conditional visibility on the “Restart this game” and the “Undo last move” buttons, as well as the congratulatory text that shows when you have solved the puzzle. That’s pretty much how it works. Here are some of the design decisions I made: Having each of the scripts check all of the rules for each move could get unwieldy. If you have a look at the scripts, they’re pretty lean and mean. There’s a little bit of logic in them, but the bulk of it has nothing to do with the individual rules of the game. If I were to have the scripts manage the rules, I’d have to include a bunch of “If” conditions at the top of the script. This felt cleaner. I knew that the rules would have to reference a few things quite regularly, so I handled those in custom functions and fields so that I wouldn’t have to keep typing the calculations over and over. Custom function: “Stack” gives you a return-delimited list of all the colours in a tower. If Stack 1 has 4 navy blue boxes in it, Stack ( 1 ) will return 4 values of the number 3. FileMaker doesn’t give us the option of adding field names into custom functions, but we can actually do it; we just have to type it out. Most important, if we change the name of the field, it’s automatically changed in the custom function as well – just like everywhere else in FileMaker. Custom function: “TopOf” tells the colour in the top occupied box of the specified tower. So, if there is a navy blue box in the topmost spot of the second tower, TopOf ( Stack ( 2 ) ) gives you a value of 3. Fields: “doneStack01” through “doneStack13” each check to see if that tower has 4 of the exact same colour of boxes in it or is entirely empty. This is how we know that stack is solved. If this is so, the field contains a value of 1. Field: “solved” just adds up those “doneStack” fields to see if it has a sum of 13. If it does, then the puzzle has been solved (this would be for Batman mode). Since there are only a few scripts, and none of them are very long, I could have combined some of them into conditional scripts, but I decided to keep things as clean as possible. I like being able to look at the name of a script and have a good idea of what it does. In some of the scripts, the Set Field By Name script step is what does the primary heavy lifting. In situations like this – where you have a lot of fields with similar names – that step can really shorten your scripts, instead of having to rely on a pile of “If” conditions. Most of us have been dissuaded from ever using repeating fields for anything, and I agree that in most questions related to data structure, they should be avoided. However, there are display situations, like this, where it’s just easier to work with. What I learned from this game-building eXperience: It had never occurred to me to put field names in custom functions. I’m not sure there’s really much need for it, but that could be a handy technique to have in my pocket some day. Also, using the custom function added an element of just the plain old English language to some of the calculations. I liked that. When I made the first iteration of this, I started with the Easy level – which just had 4 towers – and once that was working (and I got better at the game) I added one level at a time. When I wanted to add a new level, I duplicated all the layout objects I needed, and then made changes to them. If I had been designing this whole game with all the levels at once, I might have just done one button per tower and put all the logic in the scripts. It is nice to only have one place to look if you need to fix something, but at least most of the logic that isn’t in the scripts is in the short list of custom functions. While this runs nicely on my computer, it can be a bit laggy using FileMaker Go on my iPad; it’s not crazy slow, but it’s noticeable. If you try playing quickly on the iPad, you can actually get ahead of the box movement. That’s probably a combination of all the conditional formatting and visibility settings on a multitude of layout objects. Each screen refresh has to evaluate all of those calculations, so it makes sense that it could slow things down. The important lesson is to make sure you only use as large a number of layout calculations as you absolutely need to. Despite being the one who created this file, there are people in the world who are better at it than me. One of my friends didn’t realize there were multiple levels, so she started at Batman – and solved it within a couple minutes. That’s not cool. Here’s the demo, if you want to give it a whirl and have a little fun with FileMaker games. Just remember, don’t start at Batman! Get in on the stackin’ action. Download staXcelisys. Into FileMaker gaming? Check out this FileMaker chess engine crafted by another one of our developers. If your back-end business woes are stacking up and you need a FileMaker developer to attack the problem, contact eXcelisys for a complimentary consultation. The post Fun with FileMaker appeared first on eXcelisys. View the full article
  11. Achieve Premium, High-Octane Performance From Your FileMaker Server 8 Tips to Ensure Your FileMaker Server, Serves You Well! By Paul Spafford, eXcelisys FileMaker Developer You’re using FileMaker Server to serve up data to your FileMaker users? Fabulous! However, if you’re managing your own FileMaker server we want to alert you to a few gotchas that make FileMaker Server — and FileMaker files — slightly different than how you maintain other services and files on your server. Here is a small checklist of what you need to do to the folder that holds the live database files to ensure FileMaker Server performance. FileMaker Server Care Checklist 1. Turn off all sharing via the operating system so that no unauthorized users can touch the live files. FileMaker has gotten better at preventing users from opening the files by navigating to the folder in the operating system, but it’s best to keep users away. 2. Never restart the server while FileMaker Server is running! First, you have to go into the FileMaker Server Admin Console and stop the server. Wait until it has totally stopped being served before you actually do the restart. Don’t let your operating system do any restarts automatically. 3. Do not complete operating system updates while FileMaker Server is running. 4. In the FileMaker Server Admin Console, you can go into the Schedules area and create backup schedules. The default location for those backups is in the following folders: macOS: /Library/FileMaker Server/Data/Backups Windows: [drive]:\Program Files\FileMaker\FileMaker Server\Data\Backups That — or the folder you have specified for the backups – is the folder you want your backup software to grab from. It bears repeating: Never have your backup software grab from the live folder. 5. You also need to make sure that you’re not trying to back up those files at the same time that FileMaker Server is running its backup. It’s just a timing thing to make sure the two processes aren’t working on the files simultaneously. Try running a backup schedule and see how long it takes. Give FileMaker Server much longer than that to finish backing up before the backup software starts doing its thing. You need to check back regularly to make sure there is still a large gap in time between the two operations. Don’t let anyone who is not aware of this situation change the timing of either backup, as it might affect FileMaker Server performance. 6. Exclude the folder holding the live databases from any indexing services (like Spotlight in OS X). These can affect performance. 7. The server is meant for sharing your database files and should be dedicated to that purpose. Don’t let it be used as a workstation. 8. An off-site backup is also important. If your office building were to burn to the ground, you’d want to have access to your data. Services like Dropbox, Google Drive and iCloud wait to grab the file after it is done being created. In your settings for any of these services, you can specify eXtra folders to add to the syncing. Create a separate backup schedule that keeps only one copy of the files in its own folder, then add that folder to your backup service. You will have a simple off-site backup of the latest data that you can easily access from anywhere. Make sure that within all the above parameters you do everything you can to keep a clean, healthy server. If you can keep FileMaker Server living in a stable place, it will keep doing its job: serving up those nice FileMaker files that make your job easier. **This article is provided for free and as-is. Use, enjoy, learn and eXperiment at your own risk – but have fun! eXcelisys does not offer any free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ certified FileMaker consulting & development services. The post FileMaker Server Performance Tips appeared first on eXcelisys. View the full article
  12. Achieve Premium, High-Octane Performance From Your FileMaker Server 8 Tips to Ensure Your FileMaker Server, Serves You Well! By Paul Spafford, eXcelisys FileMaker Developer You’re using FileMaker Server to serve up data to your FileMaker users? Fabulous! However, if you’re managing your own FileMaker server we want to alert you to a few gotchas that make FileMaker Server — and FileMaker files — slightly different than how you maintain other services and files on your server. Here is a small checklist of what you need to do to the folder that holds the live database files to ensure FileMaker Server performance. FileMaker Server Care Checklist 1. Turn off all sharing via the operating system so that no unauthorized users can touch the live files. FileMaker has gotten better at preventing users from opening the files by navigating to the folder in the operating system, but it’s best to keep users away. 2. Never restart the server while FileMaker Server is running! First, you have to go into the FileMaker Server Admin Console and stop the server. Wait until it has totally stopped being served before you actually do the restart. Don’t let your operating system do any restarts automatically. 3. Do not complete operating system updates while FileMaker Server is running. 4. In the FileMaker Server Admin Console, you can go into the Schedules area and create backup schedules. The default location for those backups is in the following folders: macOS: /Library/FileMaker Server/Data/Backups Windows: [drive]:\Program Files\FileMaker\FileMaker Server\Data\Backups That — or the folder you have specified for the backups – is the folder you want your backup software to grab from. It bears repeating: Never have your backup software grab from the live folder. 5. You also need to make sure that you’re not trying to back up those files at the same time that FileMaker Server is running its backup. It’s just a timing thing to make sure the two processes aren’t working on the files simultaneously. Try running a backup schedule and see how long it takes. Give FileMaker Server much longer than that to finish backing up before the backup software starts doing its thing. You need to check back regularly to make sure there is still a large gap in time between the two operations. Don’t let anyone who is not aware of this situation change the timing of either backup, as it might affect FileMaker Server performance. 6. Exclude the folder holding the live databases from any indexing services (like Spotlight in OS X). These can affect performance. 7. The server is meant for sharing your database files and should be dedicated to that purpose. Don’t let it be used as a workstation. 8. An off-site backup is also important. If your office building were to burn to the ground, you’d want to have access to your data. Services like Dropbox, Google Drive and iCloud wait to grab the file after it is done being created. In your settings for any of these services, you can specify eXtra folders to add to the syncing. Create a separate backup schedule that keeps only one copy of the files in its own folder, then add that folder to your backup service. You will have a simple off-site backup of the latest data that you can easily access from anywhere. Make sure that within all the above parameters you do everything you can to keep a clean, healthy server. If you can keep FileMaker Server living in a stable place, it will keep doing its job: serving up those nice FileMaker files that make your job easier. **This article is provided for free and as-is. Use, enjoy, learn and eXperiment at your own risk – but have fun! eXcelisys does not offer any free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ certified FileMaker consulting & development services. The post FileMaker Server Performance Tips appeared first on eXcelisys. View the full article
  13. Work from Home Productively, Securely & Sanely Tools we love & tips you can use to manage your passwords & spouse so no one gets hurt Has coronavirus tossed you into a funky home-office situation? Our work-from-home pros have a few tips to help you through these trying times. Ahhh coronavirus. Wreaking havoc not just in our personal lives, but in our work lives as well. At eXcelisys, our developers work remotely from home offices sprinkled across North America. As we’ve had years to perfect the “how-to” of working from home, we thought we’d pass along a few tips for working remotely and productively from home to ensure security and sanity as you enter this brave, new world. “Hoard bandwidth and coffee; not toilet paper.” ~ Leif Hanson, eXcelisys full stack developer Sec-UR-ity – You are at the center! When you access company data and/or databases remotely, you put the data at risk. Some things to consider: Passwords: Utilize a password manager so you can use solid passwords without duplicating them or resorting to some sort of pattern that’s easy to hack. What’s a strong password? 12 characters, numbers, symbols and a combination of upper- and lower-case letters. The harder it is to remember, the stronger the password. Think: 90T&gSq&3bZ4#t5 and not 1600Broadway (your first apartment). Create a strong master password for your password manager and it’ll be the only one you have to manage. We recommend 1Password or Dashlane (some plans include a built-in VPN) VPNs (Virtual Private Networks): To create a secure connection to another network over the Internet, use a VPN. When you use a VPN, your internet activity is encrypted (coded), making it unreadable in transit. “A VPN is a must on any network that is not your own, as man-in-the-middle hacks are script kiddie 101. The commercials you see on TV about VPNs are actually very accurate; it’s not hype.” ~ Michael Suhrbier, eXcelisys web app developer Let’s break that down out of geekspeak. A man-in-the-middle hacker is someone who inserts themselves between the victim and the server, allowing them to send, receive and alter all communication between the two – like passwords and confidential stuff. A “script kiddie” is a derogatory term used to describe amateur hackers who acquire scripts (written by others) to breach computer networks. What Suhrbier is saying is that pretty much anyone who wants to become a “man-in-the-middle” hacker can purchase the programs and scripts necessary to start hacking without having any technical prowess. Think about it: there’s never been a better time to hack with so many people working remotely from home! Suhrbier recommends PrivateVPN.com. Backups: In the office, you probably didn’t have to worry about this because IT took care of it, but working remotely from home, you’ll need a plan to ensure nothing gets lost so you can stay productive. Check with your management team to see what they recommend. The basic goal is to back up all of your business data on different media (hard drives, cloud, etc.) and in different locations (in case your homebound toddler kicks some juice onto your machine). “It isn’t backed up if it isn’t in more than one place. Don’t count on an online backup as your only copy.” ~ Greg Furry, eXcelisys VP for technology Updates: Stay current with security updates and use the latest browser version. Wifi: Use a strong password for your wifi and don’t publicly broadcast your network to everyone in your building or neighborhood. If you’ve not changed the default password on your provider’s modem/router – NOW IS THE TIME! One last pro tip – “Don’t visit dubious sites,” said Furry. “I also never click on an email to see the message from my bank, credit card company, etc. I go to the site directly, login, and look there.” Following this tip will protect you from malware and phishing attacks. Home Office 101: Comfort Tips & Working Alone Together Desk work. Desks are great, but consider the benefits of flexibility. “I like to be comfortable and while I do have an office with a desk I never use either,” said Suhrbier. “I find moving around the house for a change of scenery is helpful. This desk I bought is mobile, adjustable and I can use it standing, sitting or even laying in bed.” Ergonomics. You don’t need any eXtra back pain or neck pain, so try to create a comfortable office space. Find a chair or stool to sit on and use a table or desk for your devices (i.e. don’t lay in bed or slouch on your couch because you may feel it in the morning). When your new co-worker is your … spouse. eXcelisys Solution Services Consultant Mark Clark was used to working at home — alone — until last fall when his wife, Elisabeth, took a new position and started working from home, too. For a two-office home, Mark recommends each person have their own office space and respect the boundaries of that space. Likewise, eXcelisys VP Kurt Knippel suggests having a dedicated office space with doors that can close, “so you can shut yourself away from time to time.” “We don’t barge in on each other, or interrupt. I think that is a key takeaway for couples. Respect the other person’s need for concentration and space. Knock before entering, just as you might in a traditional office setting.” ~ Mark Clark, eXcelisys Solution Services Consultant Dual screen DIY from a quarantined New Yorker Working Remotely & Productively – Starve Your Distractions & Feed Your Focus Collaboration Uberconference Zoom Video Communications Google docs Basecamp Trello Intervals Motivation: Keep the work flowing with a daily phone call, email or Slack messaging. For management, work to set daily goals with employees to keep them focused and on-task. Consider the value of a 5-minute check-in meeting each day to ensure everyone stays productive as they work remotely from home. Conversation: We’re social creatures, so isolation from co-workers stinks. At eXcelisys, we have a Slack channel called #watercooler – a place for staff to communicate and stay connected. We collaborate on several Slack channels (for our “real” work), but we all use #watercooler to tell stupid jokes, post silly memes, hurl friendly zingers at each other and rant about the WTF things our kids did last night. This outlet for levity keeps us sane in our workday isolation. Recreation: Don’t forget to move every few hours. Stand up. Stretch. Pace a bit. Walk around the block. Rustle up a load of laundry and toss it in. eXcelisys Solution Services Consultant Rick Middleton suggests you make a point of seeing the sun every day to help keep your sanity. Remote Workers Have a Proclivity for Productivity “For any organization that has never allowed remote work, this will be terrifying but the truth is that remote workers are more productive and this actually might be a valuable lesson,” said Suhrbier. To make his point, he offered this recollection of his in-office days vs. his home-office days. My Past Life in a “Corporate Cube” wake up way too early & groggy 30-40 minutes getting ready 30-50 minutes driving to work 60 minutes at the office to “wake up” 90 minutes work, not all that productive 60 minutes lunch (finally!) 60 minutes getting over food coma 60 minutes actual work 60 minutes misc. meetings, etc. 30-60 minutes driving home, angry as hell because the I-4 is always backed up Did you catch how much work I did in there? Not much! Work From Home Wake up, grab a beverage, roll my desk over and I’m productive, my mind is firing like a 12-cylinder supercar … these first four hours are WWAAAYYYYYYY more productive than a desk worker’s entire day! More Tips for Working Remotely & Productively from Home Have a dedicated place for working remotely. Ideally that place should not be in a common area of the home. Let the family know that when you are in your dedicated place, you are at work and should not be disturbed. But stay alert in case your family needs something. Be aware of dogs, kids, the mail carrier, etc., when you are in meetings. Let your family know your working hours so they can be mindful of your need for solitude – but remember to be flexible – they may need you at times! Contributing Editors: Lisa Frick The post Learn to Work from Home Productively, Securely, Sanely appeared first on eXcelisys. View the full article
  14. Work from Home Productively, Securely & Sanely Tools we love & tips you can use to manage your passwords & spouse so no one gets hurt Has coronavirus tossed you into a funky home-office situation? Our work-from-home pros have a few tips to help you through these trying times. Ahhh coronavirus. Wreaking havoc not just in our personal lives, but in our work lives as well. At eXcelisys, our developers work remotely from home offices sprinkled across North America. As we’ve had years to perfect the “how-to” of working from home, we thought we’d pass along a few tips for working remotely and productively from home to ensure security and sanity as you enter this brave, new world. “Hoard bandwidth and coffee; not toilet paper.” ~ Leif Hanson, eXcelisys full stack developer Sec-UR-ity – You are at the center! When you access company data and/or databases remotely, you put the data at risk. Some things to consider: Passwords: Utilize a password manager so you can use solid passwords without duplicating them or resorting to some sort of pattern that’s easy to hack. What’s a strong password? 12 characters, numbers, symbols and a combination of upper- and lower-case letters. The harder it is to remember, the stronger the password. Think: 90T&gSq&3bZ4#t5 and not 1600Broadway (your first apartment). Create a strong master password for your password manager and it’ll be the only one you have to manage. We recommend 1Password or Dashlane (some plans include a built-in VPN) VPNs (Virtual Private Networks): To create a secure connection to another network over the Internet, use a VPN. When you use a VPN, your internet activity is encrypted (coded), making it unreadable in transit. “A VPN is a must on any network that is not your own, as man-in-the-middle hacks are script kiddie 101. The commercials you see on TV about VPNs are actually very accurate; it’s not hype.” ~ Michael Suhrbier, eXcelisys web app developer Let’s break that down out of geekspeak. A man-in-the-middle hacker is someone who inserts themselves between the victim and the server, allowing them to send, receive and alter all communication between the two – like passwords and confidential stuff. A “script kiddie” is a derogatory term used to describe amateur hackers who acquire scripts (written by others) to breach computer networks. What Suhrbier is saying is that pretty much anyone who wants to become a “man-in-the-middle” hacker can purchase the programs and scripts necessary to start hacking without having any technical prowess. Think about it: there’s never been a better time to hack with so many people working from home! Suhrbier recommends PrivateVPN.com. Backups: In the office, you probably didn’t have to worry about this because IT took care of it, but working remotely from home, you’ll need a plan. Check with your management team to see what they recommend. The basic goal is to back up all of your business data on different media (hard drives, cloud, etc.) and in different locations (in case your homebound toddler kicks some juice onto your machine). “It isn’t backed up if it isn’t in more than one place. Don’t count on an online backup as your only copy.” ~ Greg Furry, eXcelisys VP for technology Updates: Stay current with security updates and use the latest browser version. Wifi: Use a strong password for your wifi and don’t publicly broadcast your network to everyone in your building or neighborhood. If you’ve not changed the default password on your provider’s modem/router – NOW IS THE TIME! One last pro tip – “Don’t visit dubious sites,” said Furry. “I also never click on an email to see the message from my bank, credit card company, etc. I go to the site directly, login, and look there.” Following this tip will protect you from malware and phishing attacks. Home Office 101: Comfort Tips & Working Alone Together Desk work. Desks are great, but consider the benefits of flexibility. “I like to be comfortable and while I do have an office with a desk I never use either,” said Suhrbier. “I find moving around the house for a change of scenery is helpful. This desk I bought is mobile, adjustable and I can use it standing, sitting or even laying in bed.” Ergonomics. You don’t need any eXtra back pain or neck pain, so try to create a comfortable office space. Find a chair or stool to sit on and use a table or desk for your devices (i.e. don’t lay in bed or slouch on your couch because you may feel it in the morning). When your new co-worker is your … spouse. eXcelisys Solution Services Consultant Mark Clark was used to working at home — alone — until last fall when his wife, Elisabeth, took a new position and started working from home, too. For a two-office home, Mark recommends each person have their own office space and respect the boundaries of that space. Likewise, eXcelisys VP Kurt Knippel suggests having a dedicated office space with doors that can close, “so you can shut yourself away from time to time.” “We don’t barge in on each other, or interrupt. I think that is a key takeaway for couples. Respect the other person’s need for concentration and space. Knock before entering, just as you might in a traditional office setting.” ~ Mark Clark, eXcelisys Solution Services Consultant Dual screen DIY from a quarantined New Yorker Working Remotely & Productively – Starve Your Distractions & Feed Your Focus Collaboration Uberconference Zoom Video Communications Google docs Basecamp Trello Intervals Motivation: Keep the work flowing with a daily phone call, email or Slack messaging. For management, work to set daily goals with employees to keep them focused and on-task. Consider the value of a 5-minute check-in meeting each day to ensure everyone stays productive as they work remotely from home. Conversation: We’re social creatures, so isolation from co-workers stinks. At eXcelisys, we have a Slack channel called #watercooler – a place for staff to communicate and stay connected. We collaborate on several Slack channels (for our “real” work), but we all use #watercooler to tell stupid jokes, post silly memes, hurl friendly zingers at each other and rant about the WTF things our kids did last night. This outlet for levity keeps us sane in our workday isolation. Recreation: Don’t forget to move every few hours. Stand up. Stretch. Pace a bit. Walk around the block. Rustle up a load of laundry and toss it in. eXcelisys Solution Services Consultant Rick Middleton suggests you make a point of seeing the sun every day to help keep your sanity. Remote Workers Have a Proclivity for Productivity “For any organization that has never allowed remote work, this will be terrifying but the truth is that remote workers are more productive and this actually might be a valuable lesson,” said Suhrbier. To make his point, he offered this recollection of his in-office days vs. his home-office days. My Past Life in a “Corporate Cube” wake up way too early & groggy 30-40 minutes getting ready 30-50 minutes driving to work 60 minutes at the office to “wake up” 90 minutes work, not all that productive 60 minutes lunch (finally!) 60 minutes getting over food coma 60 minutes actual work 60 minutes misc. meetings, etc. 30-60 minutes driving home, angry as hell because the I-4 is always backed up Did you catch how much work I did in there? Not much! Work From Home Wake up, grab a beverage, roll my desk over and I’m productive, my mind is firing like a 12-cylinder supercar … these first four hours are WWAAAYYYYYYY more productive than a desk worker’s entire day! More Tips for Working Remotely & Productively from Home Have a dedicated place for working. Ideally that place should not be in a common area of the home. Let the family know that when you are in your dedicated place, you are at work and should not be disturbed. Be aware of dogs, kids, the mail carrier, etc., when you are in meetings. Let your family know your working hours so they can be mindful of your need for solitude – but remember to be flexible – they may need you at times! Contributing Editors: Lisa Frick The post Learn to Work from Home Productively, Securely, Sanely appeared first on eXcelisys. View the full article
  15. Pull the Plug on Backup Plugins! Set Up WordPress Backups Through Your Hosting Service by Justin Kwapich, eXcelisys WordPress Web Wizard Many WordPress users rely on plugins to create backups of their website. However, there can be issues with using plugins for such a large process, which is why you should eXplore other WordPress site backup options. In this post, I’ll show you how to backup WordPress without a plugin. The Trouble with Backup Plugins Limited protection: Most protect only limited aspects of your site, such as posts and pages (i.e. they may only back up website content and not server settings). Sluggishness. These plugins may bog down your website while navigating their way through your WordPress back-end. I’m not saying you need to abandon your backup plugins — as you may have found a good use of them — but I want to introduce you to, in my opinion, the single most efficient WordPress backup option, which is often ignored: your hosting service. Backup WordPress without a Plugin – Try Your Website Hosting Service Check to see if your website hosting service offers backups. If it does, you’re in luck. It is so easy; it will save you time and worry! Plus, it’s a great option for backing up your WordPress site without a plugin. There are two hosting services I will introduce you to, to set you up with a great backup system. Keep in mind, though, that these are just two eXamples. Other hosting services will often offer similar options. Using WP Engine for Backups If you use WP Engine, you’ve probably run across this feature when making updates. Upon making an update, a modal window displays, asking if you would like to make a backup point first. But maybe you haven’t put it to use if you already have another backup system in place — or perhaps you are in the market for eXploring your hosting options. WP Engine is awesome and simple to use; you are truly missing out if you aren’t taking advantage of this wonderful WordPress site backup option. For WP Engine users, start by heading to your WP Engine Sites page. Here, you will find a list of all of your WP Engine hosted websites. Click on the website that you would like to create a backup point for. Below: On this page, on the left side, go to the Backup points link. You will already have backups set up automatically for each day. However, if you are looking to create a fresh backup before making updates or other changes to your website, you can create a new backup point at any time! These backup points will serve as a sort of “save state” for your website, which you can return to at any time when things get a little too messy. The backups on WP Engine last only one month, but you can also download them as a zip file for your own safekeeping, which will last forever, so long as you have access to that file. To restore from an already-created backup point, simply select the backup point you want to go back to. You know, the save before you decided “what’s the worst that could happen?” while testing out some new PHP, or when you made a seemingly harmless plugin update — only to be immediately greeted with the reward of an Internal Server Error. Now, click the “Restore” button. This will only take a couple of minutes at most. You will receive an email letting you know that your website is back to its functional self. The better option, however, is to create a backup point right before you make your updates. From the same Backup Points page, click the Back up now button. Now you can rest assured your website has an up-to-date return point if things go awry. Sigh … If only we could implement backup points into real life — go back and pass on eating aunt Cheryl’s mystery potluck pudding. As a bonus, with WP Engine you can also make use of its Staging and Development environments. These give you that eXtra playground space to implement your biggest and best new features, which will really make your website stand out, all without the risk of your site getting TKO’d! Using Dreamhost for Backups You will want to start off by signing in to your Dreamhost account. Once you are in, over on the sidebar, click Domains > Manage Domains. You will find all of the domains you are hosting here. This is about as simple as it gets. Find that Restore button, and give it a click! Though Dreamhost is simple, it does not offer as much control as WP Engine. Once you are in the restore settings, you will be given the option of pre-made backups ranging from most recent to oldest. The most recent backups range from “usually” one hour to one day old. The oldest backups may be more than two weeks old. This is obviously much less specific than WP Engine, but it’s still very useful when you’re in a pinch! There is one interesting caveat to the Dreamhost backup system, which is that you are able to decide what you would like to do with that backup. You can copy your current website and store the copy in S/FTP. For example, /home/user/domain.com_TIMESTAMP. This solution is a good approach if you are about to make some big changes to your website and want a backup in case things go off the rails, or if you want to check for differences between your current website and what you had in your files or code in the recent past. Your second option is for restoring your backup and setting that backup as the live site. If your website has gone down after a recent update, you can use this option to restore a backup to get things back up and running again in no time. This option will also take your website from before the restore and place it in a file with a timestamp, which you will be able to access via S/FTP at any time. For eXample, /home/user/domain.com_TIMESTAMP. The wording in the Dreamhost settings can be a little confusing, so to put it simply you have two options. You can make a backup file for safety, or you can actually restore your website from a pre-built backup point. Dreamhost takes a bit longer to restore backups than WP Engine, but it is usually ready within 10 minutes. If you do not know if your backup has been built, you can check your FTP client for a new file with your new timestamp /home/user/domain.com_TIMESTAMP. This will be your definitive way to spot your backup under any options you choose. Other Hosting Services The options for backup systems eXtend beyond WP Engine and Dreamhost, so be sure to check with your hosting service. You do not want to miss out on this useful tool! Save yourself a headache – make a backup. Good luck! **This article is provided for free and as-is. Use, enjoy, learn and eXperiment at your own risk – but have fun! eXcelisys does not offer any free support or free assistance with any of the contents of this blog post. If you would like help or assistance, please consider retaining eXcelisys’ WordPress Support Services. The post How to Backup a WordPress Site Without a Plugin appeared first on eXcelisys. View the full article
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.