Jump to content

eXcelisys

Members
  • Content Count

    100
  • Joined

  • Last visited

Community Reputation

3 Neutral

About eXcelisys

  • Rank
    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
    16 Advanced

Platform Environment

  • OS Platform
    Mac
  • OS Version
    High Sierra

FileMaker Partner

  • Certification
    16
  • Membership
    FileMaker TechNet
    FileMaker Business Alliance
    FIleMaker Platinum Member

Recent Profile Visitors

5,444 profile views
  1. Milcarb to Launch Remote Nitrogen & CO2 Beverage Gas Monitoring System eXcelisys Builds Mobile IoT App that Delivers Tank Telemetry Directly to Android and iOS Devices Gas (carbon dioxide and/or nitrogen) is a standard ingredient in beer. To achieve the ideal pour, pressurized gas is used to push the draught beer from the keg to the faucet. No gas = no beer. In most workplaces, it’s considered impolite to talk about passing gas. At Milcarb, that’s their job. For five decades, Milcarb has been a leader in the beverage gas industry. Milcarb’s gas-tastic innovations keep beer, craft cocktails, cold-brew coffee and soda flowing at restaurants and bars across the land. You can’t pour the perfect pint without a little nitrogen or CO2 to give it that bubbly mouthfeel. And who wants a flat, uncarbonated soda or seltzer? Yuck. Based in Aurora, Illinois, Milcarb innovates, manufactures and distributes beverage gas systems, nitrogen generators and custom components that help beverage-serving businesses cut costs, reduce downtime and serve better drinks. Milcarb’s ingenious product line includes the N2UⓇ Nitrogen Generator (makes unlimited on-demand nitrogen), the Carbo-Switch 5100™ (auto-switches CO2 tanks to eliminate disruptions) and the B2U Gas Blender (supplies the appropriate nitrogen/CO2 ratio to propel beer from the keg to the glass without disturbing the flavor characteristics). A few months back, those crafty product designers at Milcarb brewed up another great idea – turning their dispensing switches into “smart” devices capable of taking measurements through sensors, then transmitting the data to gas distributors who may be located hundreds of miles from the tanks they maintain. “The Internet of Things (IoT) has become a rising trend in the past five years, even more so in the beverage industry as of late,” said Milcarb Product Engineer Taylor Turner. The new devices provide remote beverage gas telemetry monitoring. Turner said the new Milcarb Switch-Series (patent pending) is aimed at gas distributors and will offer them “more peace of mind” because they will know how smoothly their customers’ beverage systems are running at all times. Say you’re a gas distributor and you’re wondering if you need to drive over to the Old Town Beer Shack two towns over to deliver a new CO2 tank. Instead of trekking over to check the tank, you can check your Milcarb App. Or, say there’s some type of emergency. Open the Milcarb App and hit the “kill switch” feature to shut off the system without even setting foot on the premises. Great for emergencies or for customers running behind on their bills. Bringing the Remote Beverage Gas Telemetry Monitoring System to Life Milcarb has been manufacturing tank switches for years, but they had no IoT (Internet of Things) capabilities — until now. With the new system, Milcarb Monitors take measurements and collect data, then feed the data to the cloud through wi-fi or a cellular network. The Milcarb App — built by eXcelisys — accesses the data from the cloud (hosted by Amazon Web Services IoT) and delivers the data to users. The Milcarb Switch-Series monitors tank pressure, ambient temperature and battery power and can be retrofitted onto most systems. The Milcarb Switch-Series is brand-new and currently undergoing a soft release to test the new remote beverage gas telemetry monitoring system. Milcarb App Features (download free in the app store) Push notifications: pressure status alerts and notification when the system switches over to the emergency supply cylinder Intuitive user eXperience: uncluttered, easy-to-navigate screens Real-time monitoring: Nitro-Switch includes real-time temperature monitoring that can be accessed through app Quick-start setup: Adding a new Milcarb Switch-Series device is quick & easy; app asks for device type, ID, location, etc., all on one screen Milcarb Switch-Series – works in conjunction with the Milcarb App Carbo-Switch (patent pending): manifolds 2, 3, or 5 high-pressure gas cylinders; sends notifications via phone or email when main and/or emergency supply is depleting; monitors tank pressure; auto-switches from main gas supply to emergency reserves; distributes pressure readings daily at 9 a.m. and midnight — wi-fi and cellular capable Bulk-Switch (patent pending): Designed for bulk CO2 systems and featuring a remote kill switch accessible in the app; auto-switches to emergency backup and sends email notification at this time to request a delivery — wi-fi and cellular capable Nitro-Switch (patent pending): for blended gas systems; monitors main nitrogen supply generator pressure and emergency nitrogen supply pressure; “Run-Time Controller” will shut down nitrogen generator due to compressor overuse (such as system running constantly due to an issue with leaks, etc.); kill switch can be deployed through app; temperature sensor for real-time temperature monitoring — wi-fi and cellular capable Milcarb App splash screen (above). Milcarb App home screen (below left). Selecting Activate > Add New Device on the home screen brings up the “new device” interface (below right), which walks users through the configuration process so they can add new devices and get the data flowing quickly. Above: Selecting Alerts on the home screen brings up this screen. Milcarb App-building Process The Milcarb beverage industry IoT mobile app was built by eXcelisys Web App Developer Zach Lawson working in conjunction with eXcelisys Project Manager Kurt Knippel. Initially, Milcarb envisioned a web app that would allow users to open a web browser and access the data — whether they were using an Android, iOS or Windows device. But web apps have some disadvantages: slower load times, data access problems (unavailable without an Internet/cellular connection) and a compromised user eXperience because the app cannot fully interface with each device’s built-in, native features. Given the limitations, eXcelisys steered Milcarb away from a web app for a variety of reasons, including that a native app would allow for direct OS level push notifications (a must-have feature) without the need to integrate third-party services or requiring browser-specific workarounds. Native apps are installed directly on a device after downloading from an app store. This means they load faster. Native apps can be more eXpensive, though, because these smartphone applications have to be developed specifically for each mobile operating system — like Swift (iOS), Java (Android) and C++ (Windows Mobile). To skirt the issue of having to develop separate native apps for each platform (iOS, Android, Windows), eXcelisys used React Native — a cross-platform app development framework that allows an app to run the same code on different operating systems. React Native allowed eXcelisys to develop for multiple operating systems using a single codebase (JavaScript), thus shortening the development cycle. In other words, React Native allowed eXcelisys to build three beverage industry IoT mobile apps in one. “I didn’t have to use separate coding languages for each one,” said Lawson. “This saved them time and money.” Milcarb’s new Switch-Series brings a little IoT to the beverage industry, offering gas distributors remote beverage gas telemetry monitoring. After the device auto-switches a tank to the emergency back-up, it sends a notification to request a delivery. In the end, Turner said that working with eXcelisys on the remote beverage gas telemetry monitoring system was an “overall positive eXperience,” although he thought that as design and spec changes were implemented, not everyone was on the same page with regards to communicating costs and vision. “The product looks great, but we ended up paying more than we wanted.” Costs for app development are always a tricky business, especially with custom development, said Knippel, the project manager. “We are building a custom solution the first time, every time.” As much as eXcelisys works to shorten and eXpedite the process, with custom development the entire cost is borne by the single client. In the case of the Milcarb app, said Knippel, the costs for Phase 1 of the development and the initial release came in within the estimated range as provided by eXcelisys at the beginning of the development process. At a Glance: Milcarb What: Designs and manufactures beverage gas systems and components to keep beer, craft cocktails, cold-brew coffee, tea and soda flowing at restaurants and bars. Founded in 1963. Where: Based in Aurora, IL Tagline: Good Under Pressure Tech Specs: eXcelisys Milcarb “Alert” App What: Milcarb App – download free in the app store; works in conjunction with the Milcarb Switch-Series (bringing a little IoT to the beverage industry) How it works: CO2 and nitrogen tanks are outfitted with special Milcarb Switch-Series devices that have sensors to collect data on tank pressure, ambient temperature and battery power. The data is fed to the cloud through a wi-fi or cellular network. The Milcarb App accesses the data from the cloud (hosted by Amazon Web Services IoT) and delivers the data to a user’s Android, iOS or Windows device. The app sends push notifications (alerts) when the sensors detect an anomaly or when the system switches over to the emergency supply cylinder. In the event of a problem, the app allows users to send control commands remotely to the Switch-Series devices – i.e. there is a “kill switch” feature that can be eXecuted from the app. The app walks users through the configuration process to add new Switch-Series devices to get the data flowing. Technologies: React Native, MongoDB, Node.js, AWS IoT Challenge: When eXcelisys started the remote beverage gas telemetry monitoring system project, the Switch-Series devices did not eXist in the physical realm. They were an idea – a prototype under development by Milcarb. Results: The Switch-Series and accompanying beverage industry IoT mobile app are currently enjoying a “soft-opening” release and will be available in 2020. Ready to roll out the barrel on your own web app or native IoT mobile app? Check out our custom app development services. The post Milcarb to Launch New Switch-Series for Remote Beverage Gas Telemetry Monitoring appeared first on eXcelisys. View the full article
  2. FileMaker Inc. Rebrands as Claris International Looking Toward the Future, Software Company Revives Name From Past FOR IMMEDIATE RELEASE: August 15, 2019 Names change. Google started out as Back Rub and Yahoo! was originally known as Jerry’s Guide to the World Wide Web. And FileMaker Inc.? That’s so old-fashioned. Last week, during FileMaker’s annual Developer Conference – AKA DevCon ’19 – the company announced it was going back to its roots, changing its name from FileMaker Inc. to Claris International. Anyone remember Claris? Back in the 1980s, Claris was an Apple spin-off responsible for creating software like MacDraw, MacWrite and FileMaker Pro. In the 1990s, Apple brought its Mac software back in-house and rebranded Claris as FileMaker Inc., letting the subsidiary continue on as its own database software company. Over the past two decades, FileMaker Pro has grown into a leading Workplace Innovation Platform for custom app-building. At eXcelisys, FileMaker Pro is just one of the tools we use to bring custom database solutions and web applications to life. While FileMaker Inc. is changing its name, the FileMaker product will retain its brand name and signature style. In other words, the FileMaker name change will not affect the product itself and eXcelisys will continue to utilize the FileMaker Platform because we love its robust capabilities. In publicizing the change, FileMaker Inc./Claris International announced the acquisition of the Italian startup Stamplay, which is known for its cloud development and API-based backend development solutions. With the rebranding and acquisition, Claris International has launched Claris Connect, a new cloud service offering that will complement FileMaker Pro by helping developers integrate cloud services and automate workflows between them. At eXcelisys, we are eager to dig into Claris Connect because it will help our clients. With Claris Connect, we will be able to integrate cloud services like Dropbox, Slack, Salesforce, etc., with less development time. Here at eXcelisys, we look forward to the future and the new opportunities these changes will bring in helping us eXpand our capacity to serve clients with the most innovative, mission critical solutions around! A Message About the FileMaker Name Change From Claris International CEO Brad Freitag When I accepted the position as FileMaker CEO, I knew we had a massive opportunity in front of us – not just as a company, but as a community. Digital transformation, which we define as automating workflows and processes, is changing the nature of work. I knew we could make a tremendous impact on enabling problem solvers in this new era of technology. I joined FileMaker in 2013 as Vice President of America’s Sales. At that time, FileMaker was transitioning from a single-user box product to a subscription model. There was a huge investment in mobile and we were trying to figure out how to scale for the Cloud. Our goal was to make technology easier to use and more accessible without limiting the imaginations of our talented developers or the sophistication of their applications. Since that time, the world has caught up with our vision. The ability to develop powerful software that solves clear problems within a business or industry has only become more valuable. The economy is going to be defined by the companies that harness technologies to transform the way they work. At the same time, the supply of web, mobile and app developers have not kept up with the demand. Read the rest of this article at Filemaker.com FileMaker Reborn as Claris Acquisition of Stamplay leads to new cloud service offering for community of more than 1M users SANTA CLARA, Calif. – [August 6, 2019] – Today at their 24th annual DevCon, FileMaker, Inc., maker of the world’s leading Workplace Innovation Platform, unveiled the start of a new chapter in the company’s history as Claris International Inc. In addition, the company announced its acquisition of Stamplay, a service that helps businesses of all sizes integrate data from third-party cloud services such as Box, DocuSign, and others into their apps. Claris has fully integrated this service and unveiled a new offering, Claris Connect. This service will provide customers with an intuitive interface for automating workflows across cloud-based services, saving them from the task of building custom-built, backend integrations. The Claris Connect team will continue to be led by former Stamplay CEO, Giuliano Iacobelli. “Claris stems from the Latin root ‘clarus,’ which means ‘clear, bright and shining,’” said Brad Freitag, Claris CEO. “Nothing better encapsulates the company’s mission: to empower the problem-solver with smart solutions that work for their business. By extending the reach of our platform as a modern, multi-faceted, and powerful merger of on-premises custom apps and third-party services, our customers can streamline their business processes across the cloud services that they use every day.” Read the rest of this article at Filemaker.com The post FileMaker Inc. Rebrands, Changes Name to Claris International appeared first on eXcelisys. View the full article
  3. Metaphysical Supply Shop Finds Bliss with Magento Integration eXcelisys Brings Tranquility to Crystal Vaults by Linking Inventory Database to Magento Webstore As an informational website and webstore, Crystal Vaults enjoys a rock-steady flow of visitors. Some 8 million people a year come to Crystal Vaults to learn about the power of crystal energy and browse the healing crystals, amulets, talismans, pendants, earrings and other natural crystal creations for sale on the Magento eCommerce site. A few years into the venture, Crystal Vaults owner Hank Mason hit a stone wall with his e-business software and hired eXcelisys to devise a tincture. Mason was managing operations with one of eXcelisys’ free, downloadable eX-Files, but needed more capability. After eXamining processes, eXcelisys dug in, completing a Magento integration to handle multichannel sales by connecting the Crystal Vault’s eCommerce site with its inventory and ordering system. A Gem of an Idea A retired U.S. Air Force helicopter pilot, Mason opened Crystal Vaults in 2006 in Bunnell, Florida. He started the business as a way to engage area teens in an activity that would give them purpose. Mason figured if he could turn a profit, he could pay the teens for their work. At Crystal Vaults, every item is one-of-a-kind and must be assessed, measured, weighed, photographed and packaged before being added to the inventory database and website. When a crystal-filled box arrives from overseas, the teens go through the loose stock, cataloging each item and writing detailed product descriptions. Early on, Mason downloaded a complimentary copy of the eXcelisys BizTracker and used it to run the business. The eX-BizTracker is a jump-start FileMaker Pro template. It comes pre-built with the basic features most businesses need to manage the goods and services they sell. “I used the free version for a while, then needed more capability,” said Mason. That’s when he hired eXcelisys and began working with Doug West, eXcelisys VP for product development, who modified the eX-BizTracker to fit the unique needs of Crystal Vaults. The Crystal Tracker Mason relies on the Crystal Vaults BizTracker to manage the inventory, customer base, sales, vendors and order fulfillment at his Magento webstore. “Every single piece of information about my business is in the BizTracker,” said Mason, noting that the Crystal Vaults BizTracker handles all goods on the way in and on the way out. Magento Integration Works Like a Charm eXcelisys linked the Crystal Vaults BizTracker to the Crystal Vaults Magento webstore to allow for quick communication between the website and inventory database. As such, the Magento integration speeds order processing. Before the eXcelisys solution was built, Mason had to go to the Magento webstore, grab the order information, then copy and paste it into the database. Now, Mason goes directly to the Crystal Vaults BizTracker dashboard and imports the orders from the website with the click of a button. “I was spending an hour or two a day copying and entering the orders into the database by hand,” said Mason. “It felt endless, and that’s what I did not want it to be. Automation made life easier.” Benefits of BizTracker-Magento Integration Manages multichannel sales in real-time. Crystal Vaults sells products on its own site, on ebay, and through Amazon. The Magento integration seamlessly handles sales and customers converting on these multiple marketplaces. Inventory management is quick because employees can go to the “Magento Import” button on the home screen of the BizTracker to pull in new orders, so the inventory is updated quickly. “All order information is in the database,” said Mason. “I can see what people have bought and know what inventory I have in real-time.” Aids data entry. Product details are prepared in the Crystal Vaults BizTracker database before posting to Magento. Employees prepare product details in the BizTracker database (above), then post them to the Magento webstore (below). The Magento integration allows for quick communication between the webstore and the inventory database. After a customer purchases an item in their shopping cart, the order information can be accessed immediately in the database, allowing for quick order processing and real-time inventory control. Other Favorite Features of the Crystal Vaults BizTracker: PO System: “Crystal Vaults has a heavy PO system,” said West, noting that a purchase order includes lot tracking. Because Magento lacks PO components, the FileMaker Pro-based BizTracker assists in this area. Reports: The Crystal Vaults BizTracker is configured to create specialized Excel reports for investors. Crystal Vaults is a direct seller and a reseller, so the business must track sales and processing fees for vendors. eXcelisys Makes the Cut Since the initial “crystal tracker” went live in 2010, Crystal Vaults has relied on eXcelisys to tweak and maintain tech operations. Recently, eXcelisys completed a server upgrade. Mason appreciates working with eXcelisys because, he says, eXcelisys developers “can make the database do whatever I need it to do.” He loves that the Crystal Vaults BizTracker can make labels, bring in orders with the punch of a button, and build the reports he needs. “What I like about working with eXcelisys is you are talking straight to the developer as opposed to an intermediary. You go straight to the eXpert. A lot of places, you call customer service and talk to someone about your needs. Then, there’s the person in the back room who does the work. You never talk to the ‘crew chief.’ But with eXcelisys, you go right to the person who actually built it and knows how to make it do what you want it to do. Cutting out the middle-man interface is a big deal.” ~ Crystal Vaults founder/owner Hank Mason In need of Magento development, support and/or integration services? We’ve got you covered! At a Glance: Crystal Vaults What: Crystal Vaults sells healing crystals and gemstones. Where: Based in Bunnell, FL Fun Fact: The Crystal Vaults website is home to the Crystal Metaphysical Encyclopedia, a reference guide twice the length of War and Peace. This illustrated guide offers detailed information on different stones, their healing energies, metaphysical properties and uses. Tech Specs: the eXcelisys Workplace Innovation Solution What: eXcelisys BizTracker modification for inventory/order management with Magento integration, offering quick communication between the Magento webstore and inventory database. Technologies: FileMaker Pro, FileMaker Server, Magento, ODBC (Open Database Connectivity), Integration with FileMaker ESS (External SQL Sources) Challenge: Each product is unique and must be prepared individually before being offered for sale in the Magento webstore. The order processing workflow in Magento is too generic and allows for important steps to be overlooked in the fulfillment process. Managing orders and products in different systems is tedious and error-prone. Solution: The FileMaker-based “Crystal Tracker” does it all — it keeps track of all transactions, sales, inventory and suppliers, handling all goods on the way in and on the way out. Results: – Order processing times slashed: Orders can be imported from the Magento webstore directly into the Crystal Vaults BizTracker via the Dashboard. Before, Crystal Vault employees had to go to the webstore, then copy and paste the order information into the database. – Improved inventory control: Employees go to the “Magento Import” button on the home screen of the BizTracker to pull in new orders, allowing the inventory to be quickly updated to reflect actual sales. The post Metaphysical Supply Shop Finds Bliss with Magento Integration appeared first on eXcelisys. View the full article
  4. Medical Sales College Alleviates Administrative Complications with Custom Software Solution for New Student Recruitment Bespoke FileMaker Pro Solution Injects New Life into Admissions & Speeds Job Placement Process at Med Device Sales School As a post-secondary institution, Medical Sales College is committed to recruiting, enrolling, educating and placing students. For years, Medical Sales College used multiple FileMaker Pro databases for student record management and placement. But the system was a chronic pain, requiring staff to cut, copy and paste the same data over and over again. In addition, the old FileMaker Pro system lacked email automation, making placement correspondence a time-absorbing affliction. To alleviate the chronic pains, Medical Sales College hired eXcelisys to build a new, fully integrated student recruitment custom software solution, complete with some job placement automation features. “The big goal was to improve efficiency and automate what we are trying to do,” said Scott Binder, Executive VP of Student Services. The “transplant” to the new student recruitment tool took place in spring 2018 and, ultimately, improved operations. Pre-Op: How It Used to Work A person applies to Medical Sales College (MSC) through a web form. Recruiter accesses the information and manually types it into the “applicant” database so the interview and vetting process can begin. If the applicant is admitted, the information is re-typed (using a cut-and-paste method) into the “student” database. Upon graduation, the student’s information is re-typed into a “placement” database. MSC staff send emails to potential employers in the graduate’s target area to introduce the graduate and highlight their qualifications (this was a lengthy process of accessing, cutting and pasting data from multiple layouts so information about the student’s coursework, grades, contact info, etc., could be included). Post-Op: How It Works Now (with new student recruitment software) 1. A person applies to Medical Sales College (MSC) through a web portal (via WordPress). 2. Every 10 minutes, the new student recruitment software queries the server looking for new applicants. If one is found, it alerts school recruiters so they can respond in a time-sensitive manner (information autofills from web form into applicant database so staff no longer have to manually transfer the information) After an application is submitted via the web portal, the information auto fills into the applicant database (above). When a student is accepted into a program, an acceptance email goes out (above). The student recruitment software autofills the student’s information into the email template, saving recruiters from spending their time writing emails and compiling the pertinent information. 3. Once the applicant is accepted into a program, their status is updated from “applicant” to “student.” With “student” status, additional interface elements open up, allowing users to input related student-only data (see image below). 4. Upon graduation, the student’s information is automatically available to staff in placement services (no need to re-type information into the placement database). 5. MSC staff send emails to potential employers in the graduate’s target area to introduce the graduate and highlight their qualifications (the process is semi-automated; the app pulls data to populate the selected email template so staff no longer have to hunt for the information and type it into the email). Email Automation Aids Job Placement Process eXcelisys developer R.J. Carroll was the lead developer on the custom software solution project. He is especially pleased with the app’s email automation feature, which helps Medical Sales College connect graduates with potential employers. “The coolest feature is in pulling the data to generate the emails.” Carroll said that with the old system, email composition ate up a lot of time. Essentially, Medical Sales College staff would hunt through a list of employers in the graduate’s target area, then compose emails to each employer to introduce the student. To create the email, placement staff had to sort through multiple FileMaker layouts to gather the pertinent information — this included things like the student’s specialty, grade, contact info, etc. This information was cut and pasted into the email. For some students, staffers might send 20 to 30 emails. Imagine the time that took. Now, automation speeds the process. First off, it’s quick and easy for staffers to zero in on the right employers. A “check-the-box” system allows placement staff to select the state(s) a graduate wants to target so the right employers receive the email (see below). Next, email “personalization” is completed through the use of an auto-filled template. “We’re essentially making a mail merge directly in FileMaker,” said Carroll. “They can select the employers based on the graduate’s criteria, choose a template and create the email in a matter of seconds.” This is a sample of what the Employer Template looks like before autofill (above) and after autofill (below). Alive and Kicking with New Student Recruitment Tool Binder appreciates the improved efficiency of the new custom student recruitment software has brought Medical Sales College. However, he was surprised by the length of the development process and how long it took to test and tweak the system. “It took a lot longer than I thought,” said Binder. eXcelisys Project Manager Kurt Knippel understood Binder’s frustration and acknowledged that sometimes custom software solutions take longer than eXpected. “Like any custom development — and especially one with a major shift in functionality — there can be some hurdles as we move into uncharted territory for the client,” said Knippel. “We automated manual processes with no clear guidebook on the steps needed to make that happen for the client. The more new capabilities you add, the more testing and refinement required.” If email automation and database autofill sound like features that could take your business/organization to the next level, check out our FileMaker Custom Development services to eXplore more about what our developers can do for you. Contributing Editors: Kurt Knippel Lisa Frick Christo The post Medical Sales College Alleviates Administrative Complications with Custom Software Solution for New Student Recruitment appeared first on eXcelisys. View the full article
  5. Custom FileMaker Go iPad App Reduces Chronic eXposure to Paperwork for Safety Training & Consulting Firm OSTS Inc. Rids Itself of Unnecessary Data-Entry Hazards and Improves Occupational Health in Front Office With a mission to help businesses reduce injuries, save lives and comply with Cal/OSHA regulations, OSTS Inc. provides safety consultation and employee training to clients across Southern California and beyond. OSTS (Occupational Safety Training Systems) President Mike Geosano grew up in the safety supply industry. His father owned some distribution companies that sold safety products like first aid kits and hard hats. While this atmosphere sparked an interest in worker safety and protection, Geosano decided to veer from his father’s footsteps. “Growing up in that environment, I learned not to like inventory at all.” Geosano found his niche after the California legislature passed Senate Bill 198 in 1989, requiring all employers to implement a written injury and illness prevention program. In response, Geosano founded OSTS Inc. to help companies meet the requirements. One of the core services provided by OSTS is training and certification. On any given day, OSTS trainers may be teaching courses on CPR/first aid; forklift safety; industrial hygiene; mobile crane operation; HAZMAT emergency spill response; and excavation safety / trench shoring. The list goes on and on. While Geosano escaped the need to manage a physical inventory, his business requires an endless amount of record-keeping. Every time an employee takes a course or earns a certification, it must be documented. Trainers must track course attendance and eXam scores for each pupil. In addition, there are physical certificates to print and disperse. Until recently, OSTS handled these processes with pens, paper and manual data entry. This was no small task. OSTS trains some 40,000 employees a year and about half take courses that come with physical certificates upon completion. “Manually creating 20,000 certificates a year was quite a task,” said Geosano. Looking to automate (and digitize) the workflow and certificate-printing process, OSTS hired eXcelisys to build a custom classroom roster app to remove all paper irritants. The FileMaker Pro platform — and especially the FileMaker Go mobile app for iOS devices — fit the need perfectly. eXcelisys developer Joe Cellino began work on the FileMaker Go app in late July 2018 and by mid-August had deployed a testing build, which was tweaked for the final build delivery last fall. “I really love using this system,” said OSTS Business Operations Coordinator Sue Hughes. “Instead of typing all of the information onto each certificate — like name, company name, date, instructor, instructor ID number and so forth — I just import the roster. All of the information carries over to our certificates.” The time savings are phenomenal. Hughes said that for a class with 50 students, it might have taken her 10 to 15 minutes to type the information for the batch of certificates. “Now, I can upload all of the information in about one minute — literally!” Feature Highlights ✔️Electronic sign-in and signature capture: Utilizing an iPad, students type their name into the system and sign to acknowledge their attendance. Benefits No more time wasted deciphering illegible handwriting and/or tracking down correct name spellings for records and certificates. Many courses are multi-day. Because the solution tracks daily attendance, instructors know eXactly which portion of the course a student has attended. This means if a student is absent one day, it’s easy for them to pick up the missed training the next time the course is offered. ✔️ Test Score Recording/Reporting: Each course has its own eXamination requirements. Some courses have several “practicals” students can take to show they have mastered the content. The app shows the instructor which eXams are applicable and the instructor chooses the ones that will be administered. ✔️ Email data transfer: After delivering the course content and administering the eXams, the instructor signs off on the course to acknowledge it has been completed. At this point, the course roster, class details and student scores are emailed to the home office, where they are available in both Excel spreadsheet form and PDF output. Some courses are taught onsite at OSTS, but some are taught at the client site, making the email transfer an essential piece of the app’s design. Benefits No more need for instructors to physically deliver rosters to the OSTS office for processing. Eliminates need to manually type each class roster into the database. PDF can be saved for quick record-keeping. No need to type information for individual certificates because the system syncs the data (via the Excel spreadsheet) and autofills the certificate information. Students are presented with this check-in screen. After signing their name, the screen at the top right pops up. By hitting “accept,” the student acknowledges their attendance at the course. Instructors can check the “roster details” to see who has checked into their course. Lower right: After all students have checked in, the instructor enters a PIN to move the iPad out of check-in mode so roster information cannot be accessed. Classroom Roster App Passes with Flying Colors In the end, OSTS is pleased with the new app. “I think that it is really effective and easy to use,” said OSTS Consulting Supervisor and Instructor Ismael Garcia, who has been with OSTS since 1997. “I do not want to go back to the paper sign-in sheet because we had a lot of issues with getting the proper spelling on each student’s name and had lots of issues getting the physical roster to the office.” Future plans include an auto-push for roster transfer to replace the emailing and manual import. Currently, OSTS has no internal FileMaker server so an auto-sync feature is not possible. When asked if eXcelisys had delivered on all of the features OSTS had asked for when the project began, Geosano replied, “absolutely.” The “course information” page displays the eXams that will be given. Depending on the course, some eXams are written, while others require a hand-on performance/demonstration. The instructor can customize the course information to select the eXams to be given. eXam scores are input directly into the iPad. The instructor signs off on each course after completion. The final course roster (along with eXam scores) is exported as a PDF for filekeeping. Both OSTS and the client company keep copies for OSHA records. Contributing Editors: Kurt Knippel Lisa Frick Joe Cellino The post Custom FileMaker Go iPad App Reduces Chronic eXposure to Paperwork for Safety Training & Consulting Firm appeared first on eXcelisys. View the full article
  6. Untangle the Website Design Process with Wireframing Need a sketch-builder to help you visualize pages and layouts for your site? Try Pencil, an open-source GUI prototyping tool. by Justin Kwapich, eXcelisys WordPress Web Wizard Wireframing with Simplicity One of the first steps in constructing a new website is planning where the elements of your website will be placed. Building a website and then moving different components from page to page looking for the perfect placement could add up to a lot of wasted time. This is where prototyping and wireframing come into play. Wireframing is basically like laying out a floor plan for your website. This can save you so much time in the long run — so long as you’re using the appropriate tools. Some web developers use Adobe® Photoshop® and develop a whole series of layers that can be moved around, duplicated and resized as needed. Others prefer the old fashioned route of pen and paper. However, it is generally most efficient to use a tool specifically designed for each stage of development you are in. What to Use? When it comes to low- to mid-fidelity wireframing, the ultimate tool that I have discovered is an open-source software called Pencil. Not only is it designed specifically for this job, it’s simple to use and 100% free — no catch. The free download can be found at https://pencil.evolus.vn/ along with some templates if you are looking for a little eXtra detail. Download Pencil here. How to Use It To start, open up Pencil, give your new page a title and choose the page size and background color. Once you’ve selected these, you’ll see your background and a sidebar. The sidebar will be everything you’re going to need from here on out. The process now is nothing more than drag-and-drop! My favorite “collection” is the Sketchy GUI. Sketchy GUI has an authentic wireframe aesthetic, and it’s easy on the eyes. Once you’ve dragged an element onto the background, you can resize it by pulling it from the edges or corner with the cursor. Or, you can use the “Location & size” settings controls at the top for more precision. You can easily add color to your elements; however, for most wireframes it is recommended to stick with greyscale. All you need to do is click the element, then chose the color from the top toolbar. Yes, it really is that simple There are so many elements available in the sidebar, it should cover everything you will ever need. Labels, bread crumbs, text fields, password fields, radio buttons, scroll bars, buttons — you name it! There is even a light grey grid available, making it simple to quickly eye your placements. If you add something to your page and later decide to remove it, just click on it and press delete or drag it back to the sidebar. Perhaps my favorite aspect of this software is the ability to create multiple pages. You will be able to jump between pages and really provide a feel for the flow of your website with just a couple clicks. Save yourself time and money Throughout my time as a web developer, I’ve gone through many different pieces of software looking for the optimal equipment to use for each stage of development. Pencil, by far, is my favorite tool for wireframing. You can throw together a clean layout for any website in just minutes. Nailing down your web design is only part of the process. To get the most out of your site, you may need some customization and development work to help you take control of your content and online presence. Check out our WordPress website services. Maintenance, troubleshooting, development, support. We do it all. ______________________________________________________________________________________________ **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’ FileMaker Pro consulting & development 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 of 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 web sites 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. eXcelisys, Inc. is an independent entity and this website/information/blog post has not been authorized, sponsored, or otherwise affiliated with FileMaker, Inc. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries. The post Untangle the Website Design Process with Wireframing appeared first on eXcelisys. View the full article
  7. The Paradox of Plugins: How to eXtend Your WordPress Site Safely & Sanely Is it better to use a pre-made WordPress plugin or hire a developer to create a custom one? As many a WordPress user has lamented, plugins can be a great asset — and huge liability — at the same time. Built right, plugins add crucial functionality to your WordPress site. What is a plugin? A plugin is a modularized section of code added to your website to do specific things. Plugins utilize the PHP scripting language to output whatever it is you want to output. What can a plugin do? Anything, really. It’s only limited by your imagination (and the skillset of your developer). For example, you could build a plugin that allows website visitors to book tours as part of a web reservation system. Plugins can be built to: add a shopping cart to sell products or services on your site; implement a customer service and support ticket system; display products for sale; create contact forms (for surveys, polls and so forth); add a live chat feature to your site; or add new subscribers to your Mailchimp list directly from your WordPress site. How can a plugin improve site functionality? Is there an eXample? Last spring, the Century Group hired eXcelisys for custom WordPress plugin development. Century Group specializes in direct hire and temporary staffing in the areas of accounting and finance. Read more about the Century Group custom plugins and website optimization project. eXcelisys built a custom “jobs plugin” to: Enhance the user eXperience: The custom plugin aggregates the job data in a manner that allows site visitors to conduct keyword searches. Job seekers can filter their search by job (i.e., accountant), location (i.e., Los Angeles) and industry (i.e., healthcare). In addition, an “easy apply” button allows users to apply for a position and upload their resume in one fell swoop. Improve internal processes: As noted, the plugin is scripted to allow applicants to attach their resume directly to their application and submit it through the website. Before the new plugin, candidates applied for jobs through the site but had to send their resume as an email attachment. This meant Century Group staff had to comb through emails and applications to match them up. Now, it’s automated through the jobs plugin. Speed recruiter response times: The plugin sends an email alert to Century Group recruiters each time an applicant submits. The system is customized so that the applicant’s first and last name is inserted into the subject line. This means recruiters have only to look at their inbox to see how many jobs “John Smith” has applied for. Do I need a custom plugin? Aren’t there plenty of pre-built plugins? There are more than 50,000 ready-made WordPress plugins. Some are free. eXcelisys has some favorite, go-to plugins we utilize with clients to save them time and money. We’re fond of Gravity Forms (for creating surveys, polls, file upload forms, questionnaires, online orders and support requests); WooCommerce (for ecommerce sites); Yoast SEO; and Advanced Custom Fields (to ensure all fields are editable so content can be revised). Why would I choose a custom plugin over a pre-built one? Non-custom plugins are likely to include features you don’t need, adding bloat (eXtra code) to your site. Also, the more plugins you have installed, the slower your site will run, so it’s a good idea to run plugins with the leanest code possible to accomplish the tasks you need. If I find a pre-built plugin that meets my needs, do I need a developer to install it? Not at all. However, some plugins may cause conflicts with other plugins or with your WordPress theme, causing your site’s functionality to come to a crashing halt. Also, consider security because pre-made plugins may be poorly coded and not regularly updated, eXposing you to potential web attacks and hacks. As one eXcelisys WordPress Developer noted: “If the plugin is not developed well, there can be security risks that may open your site to SQL injections or getting hacked. Be sure to check reviews.” Check the WordPress.org plugin directory to help you evaluate potential plugins. The rating at right is for the Akismet Anti-Spam plugin. The more recent the update, the better. Also, look at the number of active installations and check the reviews, which will tell you if a plugin has lived up to expectations. How can a WordPress developer untangle my plugins? We can vet the plugins you are considering, check for plugin conflicts, and make sure you are choosing the right tools for the job. We can also configure new plugins to ensure they run right. Caching plugins (popular because they speed site load times) often contain features the average user may struggle to configure. A good PHP developer can also review your plugins to see if you really need them to achieve your website or web application goals. eXcelisys Web App Developer Michael Suhrbier reviewed the Century Group website and determined that the site had an unnecessary plugin for HTTPS redirection. This plugin was increasing the site’s load time, so he axed it. “My approach is making sites better by subtraction,” said Suhrbier. “The HTTPS redirect plugin is not needed. The same thing can be done with three lines of code in the .htaccess file.” There is virtually no limit to what you can achieve with WordPress plugins. The features they provide are priceless; however, striking the right balance between functionality and stability can be challenging. If you’d like help with plugin optimization and configuration, or with general WordPress support, contact us today to learn more about our custom WordPress plugin development and WordPress Website Services. 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 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’ 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 The Paradox of Plugins: How to eXtend Your WordPress Site Safely & Sanely appeared first on eXcelisys. View the full article
  8. [FMP Tip-n-Trick] FileMaker Developer Busts Through Stalemate to Create Chess Engine FileMaker Database App Reigns in Gaming Platform by Joe Cellino, eXcelisys FileMaker Developer There are two things that bring me joy in this world — chess and FileMaker. I never thought that these two passions would cross paths in my lifetime, but now, that day has come. Having spent the past several years immersed in the tech industry, I’ve seen how rapidly machine learning has progressed. From autonomous self-driving vehicles to Google Assistant, which carries on conversations eerily similar to those held by humans, America’s technological landscape is constantly evolving. Machine learning took a giant leap with AlphaGo, a computer program that learned to play the strategy game Go (pictured above). Then came AlphaGo Zero, which defeated the renowned chess engine Stockfish and inspired eXcelisys developer Joe Cellino to create a chess engine in FileMaker. While all of this technology is impressive, my favorite “deep learning” champ has to be AlphaGo Zero. AlphaGo is a machine learning program. Give AlphaGo a set of rules for a game and it will play itself repetitively until it masters the game. In other words, AlphaGo learns by playing itself, improving with each game. In late 2017, AlphaGo was given four hours to “self-train” and learn the game of chess. AlphaGo then played the world’s best chess engine, Stockfish. Stockfish has dominated the chess world for years, consistently winning the World’s Chess Engine Championship. But in this matchup, Stockfish performed like a fish out of water. Of the 100 games played, AlphaGo won a triumphant 28 and played to a draw on the rest (find match details here). Inspired by AlphaGo Zero, I wondered if it would be possible to create a chess engine on the FileMaker Platform. In the five years I’ve been developing with FileMaker, I had never considered using the platform to design games. I developed a plan of attack: Create the data structure Set up a board and get the pieces to move Develop piece movement logic Add more rules like castling, en passant and check Add checkmate and stalemate The start of a game. The FileMaker Go Zero chess app utilizes button bars, container calculations and custom scripts and functions to process each move. The data structure was easy. Each game can have many moves. Done. Setting up the board was a little more difficult. Initially, I thought I could utilize the drag-and-drop feature of container fields to move pieces and control the game through script triggers. For example, when clicking into a container the OnObjectEnter script trigger would determine what square had been selected. When the image was drag-dropped into another container, the OnObjectModify script trigger would process the move. This seemed to cause more problems than it was worth because the script triggers wouldn’t always run and when they didn’t, the entire game was ruined. To fix this problem, I decided to use button bars instead due to their stability in running scripts. I also made a decision to store each piece image in a “pieces table” instead of storing each one directly on the board. This made it possible to display a piece’s image using container calculations that were driven by text fields that stored a carriage-return list of the squares occupied by each piece. After the board was set up and the pieces had the ability to move, the next step involved developing the logic for each piece’s movement. I was able to create each piece’s movement logic using scripts and custom functions to determine if squares were occupied and/or available. The scripting works as follows: The player selects a square. Based on the image in the square, determine the square, piece and color. If a piece is selected and it is that color’s turn, then determine all of the legal squares that type of piece can move to. If the player selects one of the legal squares, then move the piece by modifying the appropriate text field that stores the piece’s placement. If the player selects a different square, run steps 2 thru 4 again. White puts black in check. Notice that the app catalogs each move as it is made. Castling and en passant were easily handled with additional scripting and logic, but dealing with kings in check proved more complicated. I began by creating a script that calculates all of the squares the opposing color’s pieces are attacking (i.e. protected squares). This script runs after each move. I set it up so the king could not legally be moved to a protected square and if your king is in a protected square at the start of your turn, you are in check. At first, I thought this was enough but soon realized that you can move other pieces besides the king to end up in check. I therefore had to “check for check” when determining legal moves for every piece. It is important that you determine check after any piece is moved because a piece can be shielding your king from an opponent’s piece and, if moved, will place you in check. This requires a lot more processing power because checking for check requires determining the protected squares after the piece is hypothetically moved. Checkmate and stalemate require looking one move ahead. If it is your turn and you are in check and you have no legal moves, then it is checkmate. If you remove check from the first scenario, then it is stalemate. Both of these seem to go hand in hand with creating an AI that can make intelligent legal moves, so I decided to leave these features out of this version. Get a piece of the action. Download the FileMaker Go Zero chess engine today. In the future my goal is to add computer AI that would be able to determine its legal moves and make an intelligent choice aimed at winning the game. It seems as if I have the right scripting structure to be able to determine legal moves. I would theoretically have to link moves through a child / parent relationship and build a tree data structure in order to see moves ahead and determine if the future positions are good or bad. Then maybe one day my engine could compete against AlphaGo in the computer world chess championships. Stay tuned for my next version. If you’re stuck in a database checkmate and need a FileMaker developer to attack the problem, contact eXcelisys today for a complimentary consultation. ______________________________________________________________________________________________ **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’ FileMaker Pro consulting & development 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 of 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 web sites 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. eXcelisys, Inc. is an independent entity and this website/information/blog post has not been authorized, sponsored, or otherwise affiliated with FileMaker, Inc. FileMaker is a trademark of FileMaker, Inc., registered in the U.S. and other countries. The post Developer Busts Through Stalemate to Create Chess Engine Using FileMaker Pro appeared first on eXcelisys. View the full article
  9. I Got Quicker at Debugging and So Can You Eradicate those Annoying Little Code Demons with these Tools and a Few Lines of Custom Code I Developed by Michael Suhrbier, eXcelisys Web App Developer You’ve probably heard of these PHP / MySQL debugging techniques: Xdebug — Great if you can get it working. BackTrace(), print_r(), var_dump(), etc. — Very useful but usually very ugly and not easy for humans to read and understand. PHP / MySQL logs — Fine for the average user, but let’s explore some methods for putting these guys on steroids. Xdebug is great when you can get it to work. However, I’ve spent days getting it to behave correctly. With multiple clients to tend, setting this up for each one is not the best use of my time. I won’t even go into the details. Instead, I will focus on easy-to-install, use and understand tools. Can’t Find the Issue? Try Kint My favorite tool of all times is a little-known library called Kint. I could not develop custom websites as efficiently as I do without it. This is one of those rare tools that actually makes you go WOW, where have you been all my PHP career? I don’t even start a project until I have it “installed,” by which I mean, use the 1-line include: include($_SERVER['DOCUMENT_ROOT']."/kint.php"); That’s all you need, but what does it do? Have you ever wondered what is in a variable, a class, an array, or just about anything? Just throw it in Kint and you will know! d($variable, $class_name, $string, $GLOBALS, $_REQUEST); The output is beautiful, full of details and easy to understand. You are even given copy-and-paste code to get at the value you want! Have you ever banged your head trying to figure out what eXactly is in a form post? Just hand it to Kint! How about, What the hell is in that class and how do I use it? Again, copy and paste the property or method you are after. Seriously, that’s cool! Kint has many modifiers that are great for AJAX and plain text as well. I’ve used Kint in many situations, but where I use it most often is for API responses. I don’t have to format the API response at all initially so KINT tells me eXactly what the structure of the response looks like and how I can best get at the parts of the response that I need. Hustle that Code with PimpMyLogs So what’s wrong with error_reporting(E_ALL) or just scanning the logs manually? Again, nothing really, if you like digging for gold in them thar hills. Here’s one approach. Using ini_set('display_errors', 1); (show errors on front end) is great in development but not so much for production. So, I just read the logs … again, great, if you can find the logs and you don’t mind eXamining line-by-line for that gold. Take a shot if you grep the snot out a console window and think I’m lazy! Now for the easy way! A super, simple-to-install tool that does just what it says. Install via GIT: git clone https://github.com/potsky/PimpMyLog.git Install via Composer: composer require "potsky/pimp-my-log" Or the ole fashioned way (via archive): https://github.com/potsky/PimpMyLog/zipball/master Now that you have it installed, just open it in your browser and use the browser-based configuration tools. http://server_ip/PimpMyLog/ I’ve installed it at least a dozen times already and each time it was able to find the log files automatically, but you may need to find your log paths and enter them manually. Now you have some pimped logs! PimpMyLogs is browser-based so you are not jumping through hoops every time you need to see what’s going on with your custom web app. Plus, it can automatically refresh. PimpMyLogs is great for debugging AJAX calls that might be hidden or otherwise hard to see. Having the desktop notifications turned on also helps because I can simply run my app or site until I see an error pop up in my taskbar without having to switch back and forth. MySQL Debugging OK, this might be misleading. I’m not talking about debugging SQL syntax, but how many times have you seen this in your logs? FastCGI sent in stderr: "version for the right syntax to use near '2,0,117442)' at line 1 Not real helpful is it? I once watched a co-worker at a major healthcare provider struggle for weeks tracking down an SQL error that was flooding the logs. I sat at lunch thinking, There has to be a better way than guessing and doing code searches on huge code bases. So I came back and wrote this simple — yet powerful — function that leverages the ease of PHP built-in logging and MySQL error reporting. I added this code to our sql.lib.php and had the problem code within seconds. /*** Begin Michael Code LoJack ***/ if(!$res){ $client_details = '['.date('D Y-m-d h:i:s A').'] [client '.$_SERVER['REMOTE_ADDR'].']' . PHP_EOL; $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $actual_link = "[Link: $actual_link]" . PHP_EOL; $back_trace = "[Back Trace:" . (new Exception)->getTraceAsString()."]" . PHP_EOL; $query_ran = "[Query: $query]" . PHP_EOL; $query_error = "[Query Error: " . mysqli_error($con_link). "]" . PHP_EOL; error_log("$client_details $actual_link $back_trace $query_ran $query_error", 3, '/home/sites/dev.artbrokerage.com/captain6/PimpMyLog/dev.michael_lojack.log'); } /*** End Michael Code LoJack ***/ Place this where your queries are happening or directly after what you suspect is your problem area. I simply place it in the SQL library/class (/libs/sql.lib.php) for the app like so: function query($query, $usewritelink = false) { $this->queries[] = $query; $this->querycount++; $tsparts = explode(" ", microtime()); $qstartts = $tsparts[1] + $tsparts[0]; $this->lastquery = $query; if (preg_match("/^select /i", $query) && !$usewritelink){ $res = mysqli_query($this->readlink,$query); $con_link = $this->readlink; } else { $res = mysqli_query($this->writelink, $query); $con_link = $this->writelink; } $tsparts = explode(" ", microtime()); $qendts = $tsparts[1] + $tsparts[0]; $querytime = $qendts - $qstartts; $this->sqltime += $querytime; /*** Begin Michael Code LoJack ***/ if(!$res){ $client_details = '['.date('D Y-m-d h:i:s A').'] [client '.$_SERVER['REMOTE_ADDR'].']' . PHP_EOL; $actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $actual_link = "[Link: $actual_link]" . PHP_EOL; $back_trace = "[Back Trace:" . (new Exception)->getTraceAsString()."]" . PHP_EOL; $query_ran = "[Query: $query]" . PHP_EOL; $query_error = "[Query Error: " . mysqli_error($con_link). "]" . PHP_EOL; error_log("$client_details $actual_link $back_trace $query_ran $query_error", 3, '/home/sites/site/dev.michael_lojack.log'); } /*** End Michael Code LoJack ***/ return $res; } You only need to adjust 2 things. $con_link (which is just your connection string) '/home/sites/site/dev.michael_lojack.log' (where do you want to write your custom log file?) This code is by no means perfect and probably could be optimized, but I only use it when I have a tough-to-track SQL query, so I’m not terribly concerned about the performance. You are probably wondering why I didn’t just head for the MySQL error log. I’ve never actually worked on a site that had it enabled, so apparently, this is not a common thing. But why a custom log? Well, PHP logs by default truncate error messages. I have tried every command I could possibly find to avoid truncation. This is the best solution I have found so far, plus I can add a bunch more useful information like the backtrace and URL that triggered the error. Here’s what the result looks like: [Thu 2018-10-18 03:12:28 AM] [client 99.35.116.149] [Link: https://explorethemagic.com/booking] [Back Trace:#0 /home/sites/explorethemagic.com/lib/booking_requests.lib.php(50): Database->query('select purchase...') #1 /home/sites/explorethemagic.com/includes/booking_index.inc.php(22): BookingRequests->getBookingID('97539', 'paid') #2 /home/sites/explorethemagic.com/controller.php(4020): include('/home/sites/etm...') #3 {main}] [Query: select booking_requests.* from booking_requests left join booking_requests_msg on booking_requests_msg.request_id=booking_requests.id where (booking.resort_id='97539') and (booking_requests_msg.to_id='97539' OR booking_requests_msg.from_id='97539') group by booking_requests.id order by booking_requests.date desc limit paid, 25] [Query Error: Undeclared variable: paid] Now, I have a copy-and-paste SQL string to test. In this case, the problem was obvious. My function call was missing a variable; therefore, it was dropping the word “paid” in where a query limiter should have been. I use this trick all the time because it makes me more efficient when providing web application services for clients. Go Forth and Debug with Confidence Using These Cool Debugging Tips I hope the title of this post didn’t mislead you into thinking I had discovered some magic silver bullet that would help you find errors and problematic code. Of course, there isn’t a quick magical remedy, but these debugging tips and tools used together will greatly increase your ability to find problems. I also suspect that many of you are probably saying, “Just use Xdebug” or one of the other real-time debuggers, but that isn’t always possible. Plus, each of these tools will be useful at some point on its own. Part of what I’m often tasked with here at eXcelisys is to put on my software detective hat and find that pesky bug that only appears occasionally. These tools help take the guesswork out of the process and save my clients time and money. So now for a shameless plug. Do you have an app or site that is misbehaving? Talk to one of our Solution Consultants about our website repair services and request that I take a look at your issues. It doesn’t matter if it’s PHP debugging, MySQL debugging, whatever. I’d love to take a swat at it! I love a good challenge, but what I like even more is a happy client telling me that I found the needle in the haystack that so many other developers just couldn’t find. ~ Michael Suhrbier 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 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’ 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 I Got Quicker at Debugging and So Can You appeared first on eXcelisys. View the full article
  10. To Be … Or Not to Be – A FileMaker Certified Developer Should You Hire Only FileMaker Certified Developers? How Do Developers Earn Certification and What Does it Mean? When you search for a root-canal doc, board certification is no crock. But what about your developer? Can an uncertified developer needle their way through your software project without inflicting any pain? Must you hire a FileMaker Inc. certified developer to get your app built right? We asked a bunch of developers about the certification process and its impact on their work. As a consumer, you want to know what you’re paying for when you hire a developer with the FileMaker Inc. seal of approval. How do developers get certified — and what, eXactly, does it mean? Truth be told, the uncertified outnumber the certified. Among the 378 partners listed on the FileMaker Business Alliance, only 217 have certified developers. Does it matter? “I do think the certificate process is important,” said Lancaster, NY, developer Joe Cellino. “The test doesn’t necessarily help in the day-to-day, but rather is a tool to display your competence in the industry. Having the certificate shows you are serious about FileMaker and that you have a moderate understanding of the platform.” Duane Weller doesn’t think certification is essential, but he does it because his employer provides incentives. “It’s not that critical for me,” said Weller, a developer from Grand Rapids, MI. “FileMaker is not the only database platform I work with. Sometimes it represents only a portion of the work I do. Even on many of my FileMaker projects, the work I do is outside the scope of what the certification exam covers.” Certification ~ FileMaker Developers Dissect the Practice Does certification help you with your job? YES. “The study process is invaluable,” said Ontario, Canada-based developer Paul Spafford who earned FileMaker17 certification in November 2018. To prep for the test, Spafford studied FileMaker’s Help topics and technical specifications. He also tooled through the FileMaker Inc. Knowledge Base. Studying for the test put the new product features, limitations and installation requirements “at the tip of my tongue,” said Spafford. “If nothing more, this leaves the clients I talk to realizing that I’m as much of an eXpert as I tell them I am. It’s always easy enough to find this information when needed, but having it right there at the front of your brain tells the client, ‘this guy knows his stuff’ — and it’s true.” NO. “The only good reason to take the test is marketing,” said Doug West, a certified software developer from upstate New York. “Developers hate it and rarely learn anything useful from it.” Can you give an eXample of a skill or technique learned through the certification process that directly impacted a client? MAYBE. “For me, studying for the test is nearly identical to looking up how to do something,” said developer Ken Moorhead of Richmond, KY, who is certified in FileMaker versions 14-17. “So, the test in and of itself doesn’t teach anything … I’d look it up anyway. It just depends on which happens first — the need to know, or the need to take the test.” NO. “Not that I’m aware of. I learn more from doing development and researching on my own,” said Weller, who is certified in FileMaker versions 9–11 and 13–17. Did you study for the eXam? YES. “It was fun,” said Cellino, who earned FileMaker17 certification in August 2018. “I checked in the FileMaker community and found links to PDFs and documentations online. I read everything I could find … and from that study, I learned so much about how the system works…. I learned about stuff I’ve not done yet. There’s always some development aspect you haven’t tackled and it’s nice to know the material beforehand and have some background knowledge…. Studying helped me with multiple projects … and helped me trouble-shoot a lot of problems.” NOT REALLY. “I have passed the test without studying,” said West, “but before walking into the test center I typically review the latest technical specifications for the pure memorization facts that could easily be looked up during day-to-day development.” How Do Developers Get Certified? Developers have 110 minutes to tackle the 65-question FileMaker Inc. certification test, which is offered only in the controlled and supervised environment of a Pearson VUE test center. There’s a random pool of multiple-choice questions, so not every test-taker receives the eXact same questions, although each developer is grilled over the same topics, including technical specifications, layouts, working with calculations, writing scripts, security, data integration and data movement, FileMaker Server, FileMaker WebDirect, FileMaker Go and much, much more. Some multiple-choice questions require more than one answer, requiring the developer to have more than just surface-level knowledge to get them right. The test measures a developer’s proficiency with the FileMaker Platform, said FileMaker Inc. Global Partner Manager Julie Sigfrinius. FileMaker Inc. first offered certification in 2004 with the release of FileMaker Pro 7.0. Since then, FileMaker has offered certification with every new version. To pass the test and become a certified software developer, a developer must demonstrate that they possess the foundational skills necessary to develop and deploy custom apps using the FileMaker Platform. The latest version — FileMaker Pro 17 — was released in May 2018; therefore, developers with the “FileMaker 17 Certified Developer” credential are certified on the most recent version. Sigfrinius said that the test offers customers a metric to anchor onto as they vet potential developers. “While there are many things that go into making a developer of high quality — certification certainly does not necessarily a developer make — it is one measure — a measure of authority on their use of the proficiency of the program.” Hiring the Certified vs. Uncertified Developer Because a developer has passed FileMaker Inc.’s certification eXam, does that mean they will be able to build you a better mousetrap (metaphorically speaking)? Maybe … maybe not. 👍 PRO: Choosing a certified software developer eliminates the need to screen potential software partners on their technical skills. Clients can rest easy, knowing that a certified developer understands the FileMaker Platform well and won’t be spending their development dollars learning the product as they go. 👎 CON: By turning away all uncertified developers, you may lose out on a real gem. Most top-level developers are active in the FileMaker community — whether they are certified or not. They attend FileMaker Inc. meetings and development conferences. They review white papers and study FileMaker Inc. technique forums to stay educated on best practices. In other words, the uncertified but dedicated FileMaker disciple may have just as much technical prowess as their certified peer. 👍 PRO: The certification test includes questions about new features. With each new rollout, FileMaker Inc. adds new features to the FileMaker Platform. To pass the test, a developer must have a grasp of the new features. 👎 CON: Certification tests cover technical skills and not creative eXpression. “There’s one thing that certifications can’t quantify and that’s creativity,” said Weller. “I believe that the best FileMaker developers are creative people.” Performance Matters ️ Development consultant Laura Vie of Columbia, MO, says that checking a developer’s FileMaker certification status is a good first step in vetting a developer. However, Vie warned that knowing the bits and bytes of FileMaker Pro doesn’t necessarily correlate into savvy app-building. “Just because you know techniques, that doesn’t mean you know how to apply them or how to fashion an integrated working solution for a client. It doesn’t translate to can you interview the client well enough to elicit the information you need in order to build a system.” Vie suggested that quality assurance in a developer would be best scrutinized by talking to the developer’s former clients and getting the user’s perspective on the developer’s skill. ⭐️ ⭐️ ⭐️ ⭐️ ⭐️ “Look at certifications but be careful about weighting it. I’d rather see more solutions and satisfied customers than certifications on the wall.” ~ Laura Vie, Development Consultant To learn more about eXcelisys’ FileMaker17 certified developers and the services they offer, click here. The post To Be … Or Not to Be – A FileMaker Certified Developer appeared first on eXcelisys. View the full article
  11. Out with the Old & In with the New, Updating PHP is Essential for You! Why PHP & WordPress Updates Should Top Your New Year’s “To Do” List By Michael Suhrbier, eXcelisys Web App Developer What is PHP? Hypertext Preprocessor (PHP) is an amazing and popular server-side programming language used in web development. How prominent is it? Well, it’s powerful enough to run the biggest blogging system on the web (WordPress) and the largest social network platform in the world (Facebook)! More than 80% of all websites are powered by PHP on the backend, so chances are, you’re running PHP on your web server whether you know it or not. What you may not know is that your PHP may be outdated. If you use WordPress, you may need to update that as well. It All Changed on January 1, 2019 At the start of the new year, PHP 5.6 reached “End of Life,” meaning this PHP version is no longer receiving security patches or bug fixes. Yikes! If you continue to run PHP 5.6 you will be vulnerable to breakdowns and hackers. Usage statistics suggest that almost 60% of sites worldwide operate on the PHP 5 base, making it a prime, hacker-friendly target. What better thing to eXploit than PHP code vulnerabilities that no one will be fixing! Messages like these should not be ignored: 3 Reasons You Should Care about Updating PHP Website Security. If you want to ensure your website, web application, e-commerce store or blog stays secure, you should update. Leaving your site(s) running an outdated PHP base could potentially eXpose your users’ private information and leaves the door open for ransomware attacks. Cost. Fixing a hacked site could come with a large price tag. For e-commerce sites that go down, the financial cost is even more draining due to a loss of business. Reputation. If the attack involves a breach of private customer information, you may lose customers over your negligence in updating your site. Check Which Version You Are Running There are several ways: Upload a file with: <?php echo ‘PHP version is: ‘ . phpversion(); echo ‘PHP version is: ‘ . PHP_VERSION; ?> Next, access the file with your browser: http://yoursite.com/yourfile.php Log in to your cPanel, click general information, and your PHO information will be listed. Most CMS’s will also offer a “Server Information” tab that will show the PHP version it is running on. There are several plugins for WordPress such as “Display PHP Version” that will show you the PHP version from your dashboard. What Should You Do? Update! PHP 7.2 is Fast! Security is not the only reason to update. PHP 7.2 (the most recent stable version) introduces core enhancements, offering improved speed and processing. Let’s face it: Google likes fast sites! Site speed affects search rankings more than you realize. To give you some idea of how much performance has improved from PHP 5.6 to PHP 7.2, I did some benchmarking with a Windows LAMP stack and a base install of WordPress 5.0 with no caching, no optimizations and no additional plugins, just a raw install. PHP 5.6 handled roughly 25 requests per second, while PHP 7.2 handled nearly 63 requests per second. This is a huge gain in performance for any PHP-based site owner! Still Not Convinced? More Reasons to Update PHP A Hacked Site Could Have Long-term Issues. Even after your site has been “restored” and seems back to normal, there could be other problems lurking deep in the code base. What if the hacker installed a backdoor for later use? I liken this to the analogy about a wrecked car never being the same again despite being repaired. PHP Updates Become Harder the More Outmoded They Are. You don’t want to get too far behind because the time and cost associated with migrating to the newest version becomes more costly and time consuming the farther behind you get. The chart below will give you an idea of where the current cycle is heading: Speaking of Updates … What About WordPress 5.0? WordPress 5.0 just came out! The most noticeable change is the Gutenberg block-based editor, which you will probably fall in love with after a few minutes of use. But don’t worry. If you don’t like it, a Classic editor is just a click away. WordPress 5.0 has already had one security patch update and will likely get another soon. Security is likely to be continuously improved in the 5.0 release, thereby offering improved safekeeping of your data and that of your users. Some WordPress 5.0 considerations Updating to WordPress 5.0 is irreversible. Make a backup first! WordPress 5.0 may break themes and plugins. WordPress 5.0 will change the way themes and plugins are used. WordPress 5.0 blocks will replace everything (even widgets). Scope of work that needs to be performed (in most cases): Set up a development environment on your server. Pull a full site backup into the development environment. Upgrade to PHP 7.2. Upgrade to WordPress 5.0. Debug and adjust code to work with the new updates. Update all plugins, modules and extensions. Final testing. Deploy to your production environment. Updates Feel Costly and Time-Consuming, but Unpatched Vulnerabilities Put You At Risk The reasons to keep your software up-to-date aren’t always obvious, but security patches are at the top of the list — in my opinion. Often, site operators delay updates because of the cost or fear of the unknown. This is understandable; however, waking up to a hacked site is considerably worse. The choice to become less hackable through proper updates is an ounce of prevention with a side of “peace of mind.” You wouldn’t leave your front door unlocked at night, so why would you leave your website unsecured? At eXcelisys, we have eXperience with WordPress support and website maintenance, including upgrading sites in a painless and cost-effective manner. I’ve recently updated four websites to PHP 7.2 / WordPress 5.0.1, all rather large in scale and complexity. We’ve got the process down. ————————— If all you want for the New Year is to ensure your website is unhackable and up-to-date, contact us today for a no-charge website consultation analysis and estimate. **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. 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. eXcelisys, Inc. is an independent entity and this website/information/blog post has not been authorized, sponsored, or otherwise affiliated with WordPress. The post Out with the Old, In with the New — Updating PHP is Essential for You! appeared first on eXcelisys. View the full article
  12. Holiday Light Maker Finds Peace on Earth with Sales Quoting & Fulfillment App FileMaker Platform Brings Bright Sparkle to Global Operations at Christmas Northeast / Nicolas Holiday Just as Santa relies on the elves to keep his North Pole toy shop churning, holiday light manufacturer Christmas Northeast / Nicolas Holiday depends on the FileMaker Platform to manage sales and distribution of its bulbous bling. As the sole manufacturer of all GE-branded holiday lighting products, the company has a ton of items to track. Like toys that come in every variety, shape and size, so do holiday lights. There are energy efficient StayBright® LED lights, random sparkle string sets, color-changing snowflake LEDs and pre-lit Christmas trees. The list goes on and on. “We have 5,000 product SKUs,” said George Krize of Christmas Northeast / Nicolas Holiday. A few years back, Krize got the jolly idea to upgrade his business management system. For Christmas Northeast / Nicolas Holiday, business management is a big deal because the company sells its merchandise to big box stores like Lowe’s, Costco, Home Depot, Meijer, Michaels Stores and Walmart. It’s a high-volume business where “units” sell in the tens of thousands and accuracy is essential because the company manufactures only what is ordered and must ship an entire season’s worth of product between the end of May and the second week of October. To manage the business, Krize had cobbled together multiple Microsoft Access databases and Excel spreadsheets. “We were looking for ways to consolidate into one program and have cross-platform compatibility for use with Macs and PCs,” said Krize. He decided the FileMaker Platform was the way to go and hired eXcelisys. Doug West, eXcelisys VP for product development, took the reins for the project and turned Krize’s business management wish list into a reality. “This is one of the last places you’d eXpect to find a FileMaker database — in big box retail with high-volume product management,” said West. “This is a big business with a big brand. The next time you go to the store and see GE holiday lights, think of FileMaker.” The new system went live in 2017. We’re still fine-tuning it with different things, but it does everything I want it to do and more,” said Krize. “It’s a work in progress. It’s far from vanilla. It’s so chocolate chip it’s incredible.” StayBright® Color Choice® LEDs are one of the many products managed by the new FileMaker app (image courtesy of Christmas Northeast / Nicolas Holiday). Key Customizations Keep Operations Merry & Bright The new business system takes care of basic business operations like order entry, generating quote sheets, managing purchase order inventory, generating UPC codes and spitting out custom reports. But where it really eXcels is with customizations that have Christmas Northeast / Nicolas Holiday singing the Hallelujah Chorus. eXcel autofill: When businesses move to the FileMaker Platform, they typically leave eXcel behind. But Christmas Northeast / Nicolas Holiday could not because big box stores require vendors to follow eXplicit guidelines for quote submissions via Excel. “You can’t just give them a PDF,” said West. “You have to fill out a spreadsheet with product details, a summary, photos, etc. They provide an eXcel spreadsheet that asks for specific information with formulas we can’t break. The challenge is we have to feed data into those eXcel workbook files and push it into those cells within the Excel files.” eXcelisys accomplished this feat by mapping the data through a third-party plugin that takes values from FileMaker and writes those into the worksheet cells in Excel. EDI integration: As with most large-scale enterprises, Christmas Northeast / Nicolas Holiday eXchanges business documents (i.e. purchase orders and invoices) with its customers using Electronic Data Interchange, or EDI. As such, the new FileMaker system had to integrate with the EDI platform. eXcelisys accomplished this task by adding a script to deal with flat file imports from EDI. “I never have to type a purchase order,” said Krize. “He can import purchase orders by downloading a data file from the EDI system and clicking a button in FileMaker,” said West. “So it’s not 100% automated but it’s still a serious time-saver.” Product cloning: The cloning feature saves Krize time when adding new (similar) products to the lineup. “A lot of our items come in 10 colors,” said Krize. The clone feature eliminates the need to type out the detailed product description each time similar products are added. Instead, Krize clones the product, gets a new item number and makes the color change. Random sparkle snowflake lights are another product managed by the FileMaker app (image courtesy of Christmas Northeast / Nicolas Holiday). Other Favorite Features ✔ FileMaker WebDirect Christmas Northeast / Nicolas Holiday utilizes multiple overseas factories to manufacture and ship its products. These factories need real-time access to the FileMaker database to look up product specs, shipping requirements, package sizes, etc. By using FileMaker WebDirect, users overseas can open a web browser and connect directly to the FileMaker server located in the company’s Connecticut office. The beauty is that the screen renderings look eXactly the same as they do in FileMaker Pro in the home office and it’s all done with no additional web programming required and with no need to install FileMaker Pro on the overseas workstations. FileMaker WebDirect provides quick, instant access to any user, anywhere in the world. With FileMaker WebDirect, users at the company’s overseas factories can plug into the FileMaker app through a web browser to access records from the FileMaker server in the Connecticut office. Updates made in the web browser save to the server and the server pushes updates to the web browser automatically (image courtesy of Christmas Northeast / Nicolas Holiday). ✔ Content Management with Auditing An audit trail on the home page allows Krize to view a list of every change made to any field anywhere in the system. Users at the factories sometimes correct things like weights or cubic volumes for shipping purposes. If an error is made, the audit trail allows Krize to recover the lost value quickly. “I can see what they touched, what the old value was…. It’s handy if someone makes a mistake. I can see what the previous value was, what it was changed to.” ✔ Package Dimension Calculations For shipping purposes, Christmas Northeast / Nicolas Holiday must figure packing dimensions, weight, container quantities, pallet weight, etc. All of this is automated with the new system. A built-in cube calculator figures the height, width and length for each “case cube” of product. Because the company ships products globally, it needed the flexibility to figure measurements with the metric system and with U.S. customary values. The Weather Outside is Frightful, but FileMaker is So Delightful In the end, Krize is pleased with his new business management system, but he also acknowledges the dark period of development he went through to get there. “It was a long drawn-out process to get it to do what I needed,” Krize said. “We were combining three different programs doing three different things and combining it into one piece. Yes, it was over budget and over time constraints. It was a learning process.” Krize is also happy he chose the FileMaker Platform, but along the way he realized the platform was only a piece of the puzzle. “FileMaker. It’s a great program, but it’s only as good as the developer. I have nothing but accolades for Doug. He knows what he’s doing. He makes himself available and is never one to avoid a phone call. I would recommend FileMaker and eXcelisys just based on Doug West.” If all you want for Christmas is a new innovative business solution on the FileMaker Platform, contact us today for a no-charge FileMaker solution consultation analysis and estimate. The post Holiday Light Maker Finds Peace on Earth with Sales Quoting & Fulfillment App appeared first on eXcelisys. View the full article
  13. Survival Guide (7 of 7): Find, Hire & Work with a Software Developer, Successfully! Bringing Your Vision to Life: Development, Testing & Deployment It should be clear that there is a substantial effort that goes into a successful project before the actual development work even begins. In this final segment of our 7-part series on choosing and working with a custom app developer, we offer tips to take you through the development, testing and deployment stages. Development styles — What to eXpect Broadly speaking, there are three common approaches to development: agile, waterfall and prototyping. All are intended to get to the finished product in an efficient manner, but each takes a different approach. The agile development style practices discovery as development unfolds and requires eXtensive client feedback during development, while the traditional waterfall method is heavy on discovery with the client then stepping back and turning the developer loose to do their thing. Prototyping relies heavily on mock-up designs to verify the functionality before actual development commences. It will help to know the approach your developer will use so you can anticipate when you will be called to action. Agile — An iterative wash, rinse, repeat cycle. The discovery phase is very short and informal. The intent is to understand the overall project goals and learn the details necessary to get there. For most projects, this can be accomplished in one or two interviews, which keeps the time and eXpense of a formal planning stage to a minimum. With enough detail to have a clear idea of the goals, the developer can create an interface and first draft of the primary module to find out if they are headed in the right direction to meet the client’s needs. After that, each cycle takes the client feedback and the remaining list of features to rework the previous section and/or work on new features. Builds are presented to the client as often as every week or two to get feedback before continuing. This process repeats until the project is declared finished by the client. Client feedback is critical to keep development on track and moving forward. The feedback acts as a critique and approval of the work completed and provides guidance for the next step. Using this method, features can be reworked again and again to tweak them and fine-tune the workflow. The agile development style works well with projects that evolve over the development lifespan or when the functionality is not crystal clear at the outset. If you don’t like it, change it. The agile method lends itself well to estimated pricing because much of the discovery happens as development unfolds. (To review pricing models, see Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing and Billing Models) Waterfall — A linear step-by-step process in discrete stages from discovery to design to development, then testing and, finally, deployment. Each stage happens in order without revisiting previous stages. The success of the waterfall style is dependent on the accuracy of the discovery and design stages. Everything is outlined in as much detail as possible to produce a very well-defined and generally rigid blueprint. Client involvement is heavily front-loaded in waterfall development and usually requires multiple meetings and back-and-forth communication to nail down the eXact details. Once discovery is complete and the final plan is approved, then the actual development can begin. Development can often be performed relatively quickly because all unknowns should have been discovered and decided. The client may not see a lot of intermediate builds because the blueprint is pretty rigid. This method has somewhat of a “reveal” at the end because not much client feedback is required during development. Waterfall lends itself well to quotes and fixed-bid pricing because the unknowns should be minimized and the specifications are locked in. Prototyping — Mock-ups followed by hard coding. With this development style, the amount of discovery lies somewhere between the waterfall and agile methods. The client outlines the requirements and describes the workflow and then the developer creates mock-ups of what was described. The mock-ups can be tweaked endlessly until they meet client approval. Once approval has been given, the developer can get to work on the actual final product. Like agile development, there is room for tweaking during the mock-up phase, but like waterfall, once the actual development is under way the plan becomes very rigid and doesn’t allow for much modification. This method works well with all pricing models, especially if the mock-up phase is limited to just a few iterations. Keep Knowledge Workers in the Loop The knowledge workers you used to provide initial information about the requirements of the app are probably the same ones you come back to for testing and feedback. They should be users who are currently performing the tasks the app comprises. They can answer questions and give quality feedback because they know how they do their job when things are slow and when things are chaotic. Allowing the end users to have input during development also reduces resistance to a new system and creates buy-in and a feeling of ownership once the app is deployed. The end users who feel their voices have been heard during development will ultimately turn into the cheerleaders and champions of the project. Communication is Key As development unfolds it is important to have clear and constant lines of communication. Communication was important in the pre-planning stages, but it’s even more critical now. You may have an internal vision of what the app should look and feel like. The developer is trying to turn that vision into an operational tool for you and needs detailed information to get there. Make sure you address the developer’s questions with clear answers. Don’t ignore the requests or get ahead of the program. Developers have to build things in a particular order. Help them stay on track by answering what is asked. It can mean the difference between “dead on” and “almost” in what you end up with. The quicker you respond, the faster you’ll see results. There will be times when you are looking for particular features that don’t seem to be in the builds you are asked to review. Ask for clarification to make sure those things aren’t missed, but understand that sometimes the part you want to see will come later in the development process. You’ll have to be patient and let the developer lay the foundation first. Work together as a team to make the work satisfying and successful. Test, Test, Test Testing should be an ongoing activity. Developers are at a disadvantage for testing because they know how all of the features were built to work. They will test it the way they created it. You will test it the way you want it to work. Those are hardly ever the same. The developer’s project manager should review each build and test the newly developed features to make sure they function as the developer intended. This is the most basic level of testing. The more important testing is done by the client, particularly by the end users who know how each feature is supposed to facilitate their workflow. They will quickly be able to determine whether the features are efficient, intuitive or even properly address the task at hand. Always make sure to provide feedback to your developer of what you found. This is a very important piece of your partnership. Deliverables & Deadlines — How You Can Help How long should it take, what will I get, and when will I get it? These are logical questions and by now you just want to see something. Your developer should have a plan for when the stages of work will be completed and delivered for your review. However, things almost always take longer than either of you want. Generally, the timeline is affected by the speed of feedback from the client, so stay on top of it. Deployment Because there is always more to consider and the dream list is ever present, most projects could go on and on. At some point, the client’s point person decides that the solution is deployable and ready for use. Even after your custom solution is deployed, eXpect additional troubleshooting and tweaking as users begin to really work with it in earnest. That is normal and should be eXpected. Full deployment is really the final stage of testing the integrity of a solution. Any issues should be cataloged and reported to the developer so they can be addressed. Make sure you leave enough time in the budget to manage this final stage of development. A well-designed solution will be forward-looking so that as the business grows and evolves, new features and functionality can be added easily. Once your app is deployed and you begin using it, you will quickly come up with improvements or additions you’d like. That’s normal. Keep a list so that you can come back to it when the time is right. Custom software development is an adventure and a process that can teach you a lot about your business. Having a custom solution allows you to run your business the way you want and not have to modify your workflow to accommodate a commercial software package. It gives you a lot of flexibility and the opportunity to grow into areas that might have been unmanageable without it. The development process can be a nightmare if it is seen as a black box of magic that requires little or no involvement from you. However, with appropriate preparation and participation, you can navigate the process smoothly, taking satisfaction that you created something uniquely suited to your business. Enjoy the adventure! If you missed any of the installments in our series, access them here: Part 1: Embracing the Development Mind-Set Part 2: What Should You Consider When Selecting a Development Partner? What Questions Might You Ask a Potential Developer? Part 3: Quotes, Estimates and Change Orders, Oh My! — Understanding Pricing & Billing Models Part 4: Making the Plan for Planning Your Plan of the Project Plan — What Do We Need to Get This Development Party Started! Part 5: Rassling with the R’s — Roles and Responsibilities Part 6: Taking the Final Leap: Define the Scope & Approve the Plan The post Survival Guide (7 of 7): Find, Hire & Work with a Software Developer, Successfully! appeared first on eXcelisys. View the full article
  14. Is your site running an older version of PHP? Chances are … yes. According to W3Tech, 76.6% of websites are running a version of 5X. This December, support ends for versions 5.6 to 7.0, pushing them to end of life. This means no more security updates! What does this mean for you if your site is still running an older version of PHP? It means that if a new security issue is found it will not be fixed going forward. So, if you get hacked there may not be a simple fix. You can always roll back, but you can’t roll back and fix the problem so that it doesn’t happen again. If your website is important to you, give us a call and we can work out a plan to migrate to the latest version of PHP bringing better security, stability and speed along with it. If you are up to date on your PHP, how is your WooCommerce? Please make sure you are running the October update to 3.4.6 so your site doesn’t get compromised by a recently discovered design flaw. The post appeared first on eXcelisys. View the full article
  15. Is your site running an older version of PHP? Chances are … yes. According to W3Tech, 76.6% of websites are running a version of 5X. This December, support ends for versions 5.6 to 7.0, pushing them to end of life. This means no more security updates! What does this mean for you if your site is still running an older version of PHP? It means that if a new security issue is found it will not be fixed going forward. So, if you get hacked there may not be a simple fix. You can always roll back, but you can’t roll back and fix the problem so that it doesn’t happen again. If your website is important to you, give us a call and we can work out a plan to migrate to the latest version of PHP bringing better security, stability and speed along with it. If you are up to date on your PHP, how is your WooCommerce? Please make sure you are running the October update to 3.4.6 so your site doesn’t get compromised by a recently discovered design flaw. The post PHP Support ending in December – Woo Commerce patched appeared first on eXcelisys. View the full article
×
×
  • Create New...

Important Information

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