Welcome!

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

Leveraging WebDAV-Accessible Directories with Mac OS X Server & ColdFusion MX 7.0.1

Opening ColdFusion to a whole new audience and platform

Recently, with the introduction of ColdFusion MX 7.0.1, Macromedia began fully supporting a Mac OS X Server installation of ColdFusion. OS X Server used to be supported only in a development environment installed on top of JRun, Tomcat, or some other J2EE application server. Opening this platform has opened ColdFusion to a whole new audience and platform.

Mac OS X Server is regarded by many as an enterprise-class operating system overshadowed for years by Windows servers and Linux. The introduction of Mac OS X Server 10.4 (code named Tiger) brought Apple's enterprise entry to the forefront when it comes to serving files, print services, e-mail, web sites, and applications on the Apache Project's Tomcat J2EE Server. ColdFusion and Mac OS X Server offers functionality never seen in Windows installations and previously left only to Linux installations. One of these functions is access to directories based on the WebDAV standard.

A Windows 2003 Server installation of ColdFusion can't under any circumstances access a mapped drive if it's mapped via WebDAV. The share can be seen in Explorer, accessed from the command line, but can't be accessed from any of ColdFusion's tags including CFDIRECTORY and CFFILE. If access to a WebDAV directory is needed, it's a problem.

Setting Up the Environment
Mac OS X Server offers a perfectly simple solution. The first step is to mount the WebDAV directory in the operating system. This is done just like mounting any other network resource. From the finder, click on "Go," then click on "Connect To Server." A dialog box like the one below will appear. Fill it in with the URL of the WebDAV-accessible directory that's being accessed, then click "Connect."

This should mount the directory listed as "Final" on the desktop. It doesn't mean that directory is inaccessible from the rest of the operating system or from ColdFusion. The true path of this network mount can be seen if the Mac OS X Terminal application is activated. (Applications ‡ Utilities ‡ Terminal.app). The directory "/Volumes" contains a mapping to every drive listed on the Mac OS X desktop. In this case, our mounted directory "Final" can be reached by typing at the console: /Volumes/Final. This mounting, however, won't persist through a reboot cycle. There's no good clean way to make a WebDAV share automount on OS X. The problem is easily remedied but you have to dirty your hands with some scripting work.

On the server running Mac OS X Server and ColdFusion MX 7 bring up a terminal window. (Make sure you have root privileges before doing these operations.) A directory for the mount point has to be created first. Type the command mkdir /mydirectory in the terminal. Next, an entry in /Library/StartupItems has to be created. This is what will do all the work automounting the share. The touch command will also be used to create the files needed to populate for the Automount to work properly (see Figure 1).

mkdir /Library/StartupItems/AutMnt

cd /Library/StartupItems/AutMnt

touch AutMnt

touch StartupParameters.plist

Open the file AutMnt to edit with pico or any other editor of choice.

pico AutMnt

Type the following content into this file:

!/bin/sh
. /etc/rc.common

if [ "$1" == "start" ]
then
mount -t webdav http://mywebdavserver/mywebdavshare /mydirectory
fi

Save and close this file. (Ctrl + X, then answer "Y" in pico.) Then open and edit the file StartupParameters.plist
pico StartupParameters.plist

Type the following content into this file:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>OrderPreference</key>
<string>Early</string>
<key>Description</key>
<string>Try to mount the webdav share</string>
<key>Provides</key>
<array>
<string>AutMnt</string>
</array>
</dict>
</plist>
Save and close this file. (Ctrl + X, then answer "Y" in pico.) The proper permissions have to be set on these files before they can be used at startup. This can be done through the Finder. Browse to /Library/StartupItems/AutMnt and check the permissions by pressing Cmd + i. The Owner should be system with read/write permissions. The Group should be wheel with read-only permissions and Others should have read=only permissions.

Once done, these permissions can be checked back into the terminal with the command ls -l . The results should look like the listing below:

-rwxr--r-- 1 root wheel 145 17 Nov 13:43 AMount
-rw-r--r-- 1 root wheel 463 17 Nov 13:47 StartupParameters.plist

The OrderPreference key in the plist is important because ColdFusion's StartupParameters.plist file will be edited to indicate that it needs to start later than the script that's mounting the WebDAV share. This is to ensure that the share mounting occurs BEFORE ColdFusion starts.

Next, change the current directory to ColdFusion's directory:

cd ../ColdFusionMX7/

Open ColdFusion's StartupParameters.plist the same way the AutMnt program's plist was opened:

pico StartupParameters.plist

Change the OrderPreference key from "None" to "Late." This will ensure that ColdFusion starts AFTER the share is mounted. Save and close this file. (Ctrl + X, then answer "Y" in pico.)

These changes go into effect when the system is rebooted. When the system comes back up, the share should be mounted and ColdFusion started as usual.

Working in ColdFusion
In ColdFusion, the WebDAV shares are accessed just as any other local directory would be, as well as the files contained in the share.

CFDIRECTORY:

<cfdirectory action="list" directory="/mydirectory" name="myWebDAV"/>

CFFILE:

<cffile action="read" file="/mydirectory/myfile.ext"/>

If the Internet connection to or from the WebDAV server is slow, it will slow the performance of any actions on this directory. Keep this in mind that when the templates or CFCs that access these remote shares are called or executed.

DIRECTORYWATCHER GATEWAY

The main reason for ensuring that the mounting occurs before ColdFusion starts is to ensure that the directory being watched by an instance of the DirectoryWatcher Gateway exists. If the share isn't mounted before ColdFusion starts, then the gateway instance won't start.

Conclusion
Once the share is mounted, it appears as just another local directory to ColdFusion and can be accessed as such. There's no mystery to using the share once it's mounted. The trick is to make sure the share mounts before the ColdFusion MX 7 server starts. It's possible to extend this line of thinking to supported Linux and Unix installations of ColdFusion. If the share can be mounted, then it can be used in ColdFusion. ColdFusion can't differentiate between a local volume and a remote volume on these systems as it can on Windows. The ability to leverage remote volumes, such as WebDAV shares, makes ColdFusion that much more appealing because it lets ColdFusion reach across the entire enterprise network to do file and directory functions exploiting the power of the DirectoryWatcher Gateway.

More Stories By Andrew Powell

Andrew Powell has been architecting and developing Web applications for over 10 years using ColdFusion, Java, ASP.NET and ASP. His background includes experience running IT Departments for firms in the executive search and aviation consulting fields. You can read his blog on everything ColdFusion, Java, Flex & AJAX at www.infoaccelerator.net.

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
SYS-CON Australia News Desk 01/28/06 05:10:33 PM EST

Recently, with the introduction of ColdFusion MX 7.0.1, Macromedia began fully supporting a Mac OS X Server installation of ColdFusion. OS X Server used to be supported only in a development environment installed on top of JRun, Tomcat, or some other J2EE application server. Opening this platform has opened ColdFusion to a whole new audience and platform.

@ThingsExpo Stories
Amazon has gradually rolled out parts of its IoT offerings in the last year, but these are just the tip of the iceberg. In addition to optimizing their back-end AWS offerings, Amazon is laying the ground work to be a major force in IoT – especially in the connected home and office. Amazon is extending its reach by building on its dominant Cloud IoT platform, its Dash Button strategy, recently announced Replenishment Services, the Echo/Alexa voice recognition control platform, the 6-7 strategic...
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.
We're entering the post-smartphone era, where wearable gadgets from watches and fitness bands to glasses and health aids will power the next technological revolution. With mass adoption of wearable devices comes a new data ecosystem that must be protected. Wearables open new pathways that facilitate the tracking, sharing and storing of consumers’ personal health, location and daily activity data. Consumers have some idea of the data these devices capture, but most don’t realize how revealing and...
IoT solutions exploit operational data generated by Internet-connected smart “things” for the purpose of gaining operational insight and producing “better outcomes” (for example, create new business models, eliminate unscheduled maintenance, etc.). The explosive proliferation of IoT solutions will result in an exponential growth in the volume of IoT data, precipitating significant Information Governance issues: who owns the IoT data, what are the rights/duties of IoT solutions adopters towards t...
Whether your IoT service is connecting cars, homes, appliances, wearable, cameras or other devices, one question hangs in the balance – how do you actually make money from this service? The ability to turn your IoT service into profit requires the ability to create a monetization strategy that is flexible, scalable and working for you in real-time. It must be a transparent, smoothly implemented strategy that all stakeholders – from customers to the board – will be able to understand and comprehe...
Complete Internet of Things (IoT) embedded device security is not just about the device but involves the entire product’s identity, data and control integrity, and services traversing the cloud. A device can no longer be looked at as an island; it is a part of a system. In fact, given the cross-domain interactions enabled by IoT it could be a part of many systems. Also, depending on where the device is deployed, for example, in the office building versus a factory floor or oil field, security ha...
An IoT product’s log files speak volumes about what’s happening with your products in the field, pinpointing current and potential issues, and enabling you to predict failures and save millions of dollars in inventory. But until recently, no one knew how to listen. In his session at @ThingsExpo, Dan Gettens, Chief Research Officer at OnProcess, discussed recent research by Massachusetts Institute of Technology and OnProcess Technology, where MIT created a new, breakthrough analytics model for s...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
"We're a cybersecurity firm that specializes in engineering security solutions both at the software and hardware level. Security cannot be an after-the-fact afterthought, which is what it's become," stated Richard Blech, Chief Executive Officer at Secure Channels, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
Video experiences should be unique and exciting! But that doesn’t mean you need to patch all the pieces yourself. Users demand rich and engaging experiences and new ways to connect with you. But creating robust video applications at scale can be complicated, time-consuming and expensive. In his session at @ThingsExpo, Zohar Babin, Vice President of Platform, Ecosystem and Community at Kaltura, discussed how VPaaS enables you to move fast, creating scalable video experiences that reach your aud...
"Once customers get a year into their IoT deployments, they start to realize that they may have been shortsighted in the ways they built out their deployment and the key thing I see a lot of people looking at is - how can I take equipment data, pull it back in an IoT solution and show it in a dashboard," stated Dave McCarthy, Director of Products at Bsquare Corporation, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA.
What happens when the different parts of a vehicle become smarter than the vehicle itself? As we move toward the era of smart everything, hundreds of entities in a vehicle that communicate with each other, the vehicle and external systems create a need for identity orchestration so that all entities work as a conglomerate. Much like an orchestra without a conductor, without the ability to secure, control, and connect the link between a vehicle’s head unit, devices, and systems and to manage the ...
IoT is rapidly changing the way enterprises are using data to improve business decision-making. In order to derive business value, organizations must unlock insights from the data gathered and then act on these. In their session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, and Peter Shashkin, Head of Development Department at EastBanc Technologies, discussed how one organization leveraged IoT, cloud technology and data analysis to improve customer experiences and effici...
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, discussed why and how ReadyTalk diverted from healthy revenue and mor...
The 20th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held June 6-8, 2017, at the Javits Center in New York City, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit your speaking proposal ...
The Internet of Things (IoT) promises to simplify and streamline our lives by automating routine tasks that distract us from our goals. This promise is based on the ubiquitous deployment of smart, connected devices that link everything from industrial control systems to automobiles to refrigerators. Unfortunately, comparatively few of the devices currently deployed have been developed with an eye toward security, and as the DDoS attacks of late October 2016 have demonstrated, this oversight can ...
You have great SaaS business app ideas. You want to turn your idea quickly into a functional and engaging proof of concept. You need to be able to modify it to meet customers' needs, and you need to deliver a complete and secure SaaS application. How could you achieve all the above and yet avoid unforeseen IT requirements that add unnecessary cost and complexity? You also want your app to be responsive in any device at any time. In his session at 19th Cloud Expo, Mark Allen, General Manager of...
Bert Loomis was a visionary. This general session will highlight how Bert Loomis and people like him inspire us to build great things with small inventions. In their general session at 19th Cloud Expo, Harold Hannon, Architect at IBM Bluemix, and Michael O'Neill, Strategic Business Development at Nvidia, discussed the accelerating pace of AI development and how IBM Cloud and NVIDIA are partnering to bring AI capabilities to "every day," on-demand. They also reviewed two "free infrastructure" pr...
As data explodes in quantity, importance and from new sources, the need for managing and protecting data residing across physical, virtual, and cloud environments grow with it. Managing data includes protecting it, indexing and classifying it for true, long-term management, compliance and E-Discovery. Commvault can ensure this with a single pane of glass solution – whether in a private cloud, a Service Provider delivered public cloud or a hybrid cloud environment – across the heterogeneous enter...