You will be redirected in 30 seconds or close now.

ColdFusion Authors: Yakov Fain, Jeremy Geelan, Maureen O'Gara, Nancy Y. Nee, Tad Anderson

Related Topics: ColdFusion

ColdFusion: Article

No Experience Required

Don't be afraid to build your own Web-based data management tools

This is not a piece full of technical anything. It's a story about a boy and his dog...ok, not that. It is a story about how a Web-dabbling engineer created some highly useful apps for his co-workers and himself.

We work in a metallurgical lab, which means, among other things, we study metals by looking at finely polished samples (let's call them "mounts," as they are often mounted/embedded in plastic) under microscopes. We like to number and keep track of these samples and their descriptions for reference, and to comply with the record retention requirements of our customers. However, a few years ago we became acutely aware of the limitations of our hard copy log (the mount book) for these samples. Even at only about 1,000 samples per year, the volume of data was too much to search through by turning pages. In other words, "It would be nice to have an application that we could all access to store data, assign new numbers, and do other neat things automatically." Web- (intranet) based seemed the obvious choice, as there were enough computers and an already established intranet presence. Other solutions were available of course, such as a Lab Information Management System (LIMS), but we weren't likely to get approval for a large software purchase. Our IT department had adopted a trouble ticket system, which was fairly simple, but very expensive - more than $20,000. We knew that wasn't going to happen for us; this data was important, but making it convenient and more useful wasn't mission critical.

We had MS Access so we started there. It worked, though it was only really meant for a single user. Knowing that much (or that little) about Access told me that this was not the solution we were looking for. The company has production databases it uses to track the manufacturing of everything we make, and for many other functions besides. Using this system was an option, but it would mean turning over development and any changes to someone else, and, consequently, someone else's timeframe. Our hard copy logs weren't rotting away, so the priority of this work probably wouldn't be very high for them, though it would be for us. That wouldn't work, as we're a rather impatient group when it comes to having the right tools-especially when the right tools seem to be within our reach. Second, changes were typically slow, given the workload of that coding group, so we'd have to live with limitations for longer than we cared to. Third, we weren't talking about one application; we were talking one application to start with, and several others to follow in quick succession. Fourth, if we needed another reason, the work and the output data aren't just text. Images are integral. Though we could probably adapt the production system to deal with images (storing the paths to image files), it seemed more natural to pick some kind of Web-based solution. Finally, the choice between using Access and other established company resources was the choice between doing it ourselves or giving control over to someone else. I knew we could do this, so we decided to keep control. Thus, we tried Access-generated Web pages. Retaining control was the right choice. Using Access Web pages was just a step, however.

At first, the data entry Web pages worked, but they were limited. I thought that maybe I just didn't understand all of the features, but after asking our internal guru it was clear that Access Web pages would not do what we wanted. In essence, we needed something that supported at least a handful of simultaneous users and maintained data integrity without anyone overwriting other data. Access' pages had already proven unfaithful with these modest requirements, much to my dismay. Consequently, some data had to be re-entered from memory. In this case it was caused by simultaneous users. One record was started and before it was finished another person started a record, but it was the same record, so the race was on. One set of data was written and the next overwrote the first. Data erasure is unforgivable by our customers and we don't enjoy it so much either. So - once bitten, twice shy - I went back to talk to someone in IT. Due to the requirements of traceability and data integrity in so much of what we do, the solution had to at least perform these functions well. Flexibility would hopefully be part of the solution.

Our IT department had recently started using ColdFusion on a limited basis and recommended it to me. They were running a server so it was just a matter of learning this new software (Studio 4.5). Looking back, it appears that in it's simplest form CF is just another set of HTML tags allowing the server to build pages from data in databases. At the time, it seemed a little more daunting. I didn't know SQL either. I found enough resources on the Internet to get started. Between several now-forgotten tutorials and some resources at Webmonkey, I started coding. Not having to run the server took much of the steepness out of the learning curve. After a few days of learning some of the ropes and testing code, I started building the interface to enter data for our samples. SQL syntax gave me more fits than CF. If I'd read a little bit more, it may have helped, but it wasn't too bad and there were people to talk to here if I got stuck.

It wasn't long before I had the beginnings of a usable Web interface for our mount book. It's come a long way since those first days. Figure 1 is a screen shot of the latest version of the entry page.

Walking through the major steps of the code, a security template is applied, the last mount number is queried, and a new mount number is generated. The new number, along with the user's ID, is inserted into the mount book so that it is reserved for as long as it takes to fill out the form. The number itself took a little bit of coding effort as it's alphanumeric: a letter and three digits. For each letter, mounts 0-999 are used, then the next letter comes up. That was our original numbering scheme. I think I'd do it differently if I had to do it over. The two little forms at the top are aids, one if users accidentally hit a link to start a mount and the other for inserting mount data from another existing record to save keystrokes for similar samples. Next comes the main body of the form.

Submitting the form gets the data inserted properly and displayed (from a query) for users to check. This application has a query associated with it, of course. The form page is plain. Figure 2 shows a sample of a mount book query result.

The part link, 2177-204, is a link to display an engineering drawing of that part. The update button allows a user to go back in and edit the record data. If that user is not the one who entered the mount, he/she can only add text to the notes field and his/her comments are labeled in the field with his/her ID. Another notable feature is the Add image link. Clicking this link takes users to yet another form where any image can be uploaded. Figure 3 shows this image upload form.

Users browse for an image and, when selected, the page displays the image with a nifty little JavaScript. The JavaScript displays the browsed image shown in Figure 3. Thanks to the HouseOfFusion lists. (Credit to Jon Hall for this script.)

<script type="text/javascript">
function showImage(img) {
        var imgObj = document.images['header'];
        imgObj.src = 'file:///' + img;

<input type="File" name="header_image" id="header_image" size="45" onchange="showImage(this.value)">
<img src="bg_head.gif" name="header" id="header">

For a certain description of mount, a copy of the image is copied to another network location for processing. An image analysis application is run using a macro to control annotation and measurements and saving of those results. Later in the day, a scheduled task takes the processed image and copies it back to the images tied to that mount, inserting an appropriate record. For any mount with images associated with it, the mount number m328 (as shown in Figure 2), becomes a link to display all images for this mount number. Figure 4 shows the display of all images for this mount page. The data from the mount book is shown, the image is displayed, and all entered image information is shown to the right of the image, including the option to inactivate the image.

I coded apps to eliminate all of our logbooks and I was asked to code a few utilities for other departments as well. One of those departments takes input from a barcode reader and calculates parameters needed to hard-anodize aluminum. I've used Verity in simple ways, such as to give us full text search options over thousands of new and legacy documents. Scheduled tasks monitors some data, reminds us of work that's due, reminds us of equipment maintenance, and supports some QA functions.

The most attractive thing about this setup is its customization and adaptability. Every one of our modest whims was satisfied and we began to have some not-so-modest whims. Some applications have undergone dozens of minor revisions and are now customized to the nth degree by end users. Adaptations emerged from suggestions like uploading images of the metal samples and tying the file to the sample record. That led to another application for uploading and indexing documents for a different department. At the end of the day, we get what we want and need and it becomes not just usable, but also useful. Our customers have access to much of our live data. Presenting analyses to remote locations on our intranet is simplified by adding a few links to an e-mail.

It didn't take long for these applications to become critical to our daily jobs. Now we rely on them, not just for the ability to query our growing body of data, but to satisfy audit requirements and customer requirements as well.

I did have the benefit of not having responsibility for the care and feeding of a Web server. This eased any learning curve that was present and allowed me to take hours rather than days to code something useful. That and the fact that that many CF tags are very straightforward made the self-teaching route practical for a part-time coder. A Ben Forta book and a copy of Studio was enough.

Looking back, I know this was a good path to follow. I knew some HTML and had built a few sets of static pages prior to learning CF; I didn't realize until I started learning ColdFusion tags that the step from static to dynamic was not large. Granted, many of my applications might be considered bicycles compared to others' SUVs. My page designs may not be pretty, but developing for yourself gets you exactly what you want. It's been great for us!

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
Darrell Morris 01/20/05 11:46:54 AM EST

Excellent article. Well written and informative. Thanks Joe.

@ThingsExpo Stories
According to Forrester Research, every business will become either a digital predator or digital prey by 2020. To avoid demise, organizations must rapidly create new sources of value in their end-to-end customer experiences. True digital predators also must break down information and process silos and extend digital transformation initiatives to empower employees with the digital resources needed to win, serve, and retain customers.
SYS-CON Events announced today that SoftNet Solutions will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. SoftNet Solutions specializes in Enterprise Solutions for Hadoop and Big Data. It offers customers the most open, robust, and value-conscious portfolio of solutions, services, and tools for the shortest route to success with Big Data. The unique differentiator is the ability to architect and ...
You think you know what’s in your data. But do you? Most organizations are now aware of the business intelligence represented by their data. Data science stands to take this to a level you never thought of – literally. The techniques of data science, when used with the capabilities of Big Data technologies, can make connections you had not yet imagined, helping you discover new insights and ask new questions of your data. In his session at @ThingsExpo, Sarbjit Sarkaria, data science team lead ...
A completely new computing platform is on the horizon. They’re called Microservers by some, ARM Servers by others, and sometimes even ARM-based Servers. No matter what you call them, Microservers will have a huge impact on the data center and on server computing in general. Although few people are familiar with Microservers today, their impact will be felt very soon. This is a new category of computing platform that is available today and is predicted to have triple-digit growth rates for some ...
In past @ThingsExpo presentations, Joseph di Paolantonio has explored how various Internet of Things (IoT) and data management and analytics (DMA) solution spaces will come together as sensor analytics ecosystems. This year, in his session at @ThingsExpo, Joseph di Paolantonio from DataArchon, will be adding the numerous Transportation areas, from autonomous vehicles to “Uber for containers.” While IoT data in any one area of Transportation will have a huge impact in that area, combining sensor...
SYS-CON Events announced today that Transparent Cloud Computing (T-Cloud) Consortium will exhibit at the 19th International Cloud Expo®, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. The Transparent Cloud Computing Consortium (T-Cloud Consortium) will conduct research activities into changes in the computing model as a result of collaboration between "device" and "cloud" and the creation of new value and markets through organic data proces...
SYS-CON Events announced today that Niagara Networks will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Niagara Networks offers the highest port-density systems, and the most complete Next-Generation Network Visibility systems including Network Packet Brokers, Bypass Switches, and Network TAPs.
Everyone knows that truly innovative companies learn as they go along, pushing boundaries in response to market changes and demands. What's more of a mystery is how to balance innovation on a fresh platform built from scratch with the legacy tech stack, product suite and customers that continue to serve as the business' foundation. In his General Session at 19th Cloud Expo, Michael Chambliss, Head of Engineering at ReadyTalk, will discuss why and how ReadyTalk diverted from healthy revenue an...
SYS-CON Media announced today that @WebRTCSummit Blog, the largest WebRTC resource in the world, has been launched. @WebRTCSummit Blog offers top articles, news stories, and blog posts from the world's well-known experts and guarantees better exposure for its authors than any other publication. @WebRTCSummit Blog can be bookmarked ▸ Here @WebRTCSummit conference site can be bookmarked ▸ Here
Intelligent machines are here. Robots, self-driving cars, drones, bots and many IoT devices are becoming smarter with Machine Learning. In her session at @ThingsExpo, Sudha Jamthe, CEO of IoTDisruptions.com, will discuss the next wave of business disruption at the junction of IoT and AI, impacting many industries and set to change our lives, work and world as we know it.
In today's uber-connected, consumer-centric, cloud-enabled, insights-driven, multi-device, global world, the focus of solutions has shifted from the product that is sold to the person who is buying the product or service. Enterprises have rebranded their business around the consumers of their products. The buyer is the person and the focus is not on the offering. The person is connected through multiple devices, wearables, at home, on the road, and in multiple locations, sometimes simultaneously...
Established in 1998, Calsoft is a leading software product engineering Services Company specializing in Storage, Networking, Virtualization and Cloud business verticals. Calsoft provides End-to-End Product Development, Quality Assurance Sustenance, Solution Engineering and Professional Services expertise to assist customers in achieving their product development and business goals. The company's deep domain knowledge of Storage, Virtualization, Networking and Cloud verticals helps in delivering ...
The Internet of Things (IoT), in all its myriad manifestations, has great potential. Much of that potential comes from the evolving data management and analytic (DMA) technologies and processes that allow us to gain insight from all of the IoT data that can be generated and gathered. This potential may never be met as those data sets are tied to specific industry verticals and single markets, with no clear way to use IoT data and sensor analytics to fulfill the hype being given the IoT today.
SYS-CON Events announced today that Hitrons Solutions will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Hitrons Solutions Inc. is distributor in the North American market for unique products and services of small and medium-size businesses, including cloud services and solutions, SEO marketing platforms, and mobile applications.
OnProcess Technology has announced it will be a featured speaker at @ThingsExpo, taking place November 1 - 3, 2016, in Santa Clara, California. Dan Gettens, OnProcess’ Chief Analytics Officer, will discuss how Internet of Things (IoT) data can be leveraged to predict product failures, improve uptime and slash costly inventory stock. @ThingsExpo is an annual gathering of IoT and cloud developers, practitioners and thought-leaders who exchange ideas and insights on topics ranging from Big Data in...
SYS-CON Events announced today that Enzu will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive advantage. By offering a suite of proven hosting and management services, Enzu wants companies to focus on the core of their online busine...
The explosion of new web/cloud/IoT-based applications and the data they generate are transforming our world right before our eyes. In this rush to adopt these new technologies, organizations are often ignoring fundamental questions concerning who owns the data and failing to ask for permission to conduct invasive surveillance of their customers. Organizations that are not transparent about how their systems gather data telemetry without offering shared data ownership risk product rejection, regu...
The Open Connectivity Foundation (OCF), sponsor of the IoTivity open source project, and AllSeen Alliance, which provides the AllJoyn® open source IoT framework, today announced that the two organizations’ boards have approved a merger under the OCF name and bylaws. This merger will advance interoperability between connected devices from both groups, enabling the full operating potential of IoT and representing a significant step towards a connected ecosystem.
November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Penta Security is a leading vendor for data security solutions, including its encryption solution, D’Amo. By using FPE technology, D’Amo allows for the implementation of encryption technology to sensitive data fields without modification to schema in the database environment. With businesses having their data become increasingly more complicated in their mission-critical applications (such as ERP, CRM, HRM), continued ...
SYS-CON Events announced today that Embotics, the cloud automation company, will exhibit at the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Embotics is the cloud automation company for IT organizations and service providers that need to improve provisioning or enable self-service capabilities. With a relentless focus on delivering a premier user experience and unmatched customer support, Embotics is the fas...