David Adams - Coder for Hire
I've been using 4D since 1988 and have had a chance to combine it with a variety of tools since then. I've got extensive experience with 4D-Web integration, too much familiarity with XML, and a feverish love of fuzzy matching algorithms. Below are summaries of some of the tools that have featured in recent projects. More detailed articles and sample databases are provided in several cases.
Tools From Recent Projects
MySQL and its variants can handle heavy loads and be run on commoditized and cloud-based infrastructure. MySQL is a good candidate when you need to scale up a 4D system, expose data to standard SQL reporting tools, want to run on cloud-based services, or are looking for a more distributed and fault-tolerant architecture.
PhantomJS is a headless WebKit browser with a rich API. It's commonly used for automated testing, monitoring network activity, converting SVG files to other formats, automatically taking screen shots of Web pages, and converting HTML into PDF. While widely used, PhantomJS is little known in the 4D world. Read PhantomJS & 4D for more details and to download a demonstration database with ready to run code.
Splunk is a big data analytics platform for the rest of us. Splunk can consume standard log data from Web servers, routers, and system logs, besides any custom logs you care to invent. From there, you can search, monitor, and visualize trends in ways that were unthinkable for ordinary developers a few years ago. Splunk and 4D can work together beautifully to add or increase visibility into program and network operations, gain insight into customer behavior and requirements, or to detect problems before users complain.
Twilio is a cloud-based service platform for SMS, VoIP and other telephony services. With Twilio's APIs and a little bit of code, you can all all of this seamlessly to an existing 4D solution. Take a look at Twilio & 4D for an article and sample code documenting the specifics of how to send SMS messages out of 4D with Twilio.
Wufoo provides a best-in-class visual Web form builder and a back-end for handling form submissions. Non-programmers can quickly create forms for almost any purpose, including surveys, event registration, and course applications. End users then submit forms and the results are stored on the Wufoo servers. From there, data can be pulled into 4D using the Wufoo API. This setup is great when you want attractive Web forms with almost no effort and don't want to have to worry about running a 4D Web server 24x7. You can read a lot more about the details in this piece on Wufoo & 4D.
Other Recent Notes
Making Friends with LAUNCH EXTERNAL PROCESS on OS X
I finally took an hour and figured out why being comfortable with the OS X command line hasn't ever made me happy with 4D's LAUNCH EXTERNAL PROCESS command. I wrote up the results along with some extra OS X information for any other developers that have been too busy to save time with LAUNCH EXTERNAL PROCESS. While the article applies primarily to OS X, much of the sample code is of use on Windows as well.
Over the years I've received a lot of emails from people asking for a PDF version of The 4D Web Companion. The book is now available for download (4.2 MB). There is no charge for this file. If you feel like contributing something, click through to Amazon if you're shopping there anyway.
All rights reserved, please do not repost. Note that some images show a black background in Preview on OS X, but appear fine in Acrobat Reader and most other PDF viewers.