Click here to close now.



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
Machine Learning helps make complex systems more efficient. By applying advanced Machine Learning techniques such as Cognitive Fingerprinting, wind project operators can utilize these tools to learn from collected data, detect regular patterns, and optimize their own operations. In his session at 18th Cloud Expo, Stuart Gillen, Director of Business Development at SparkCognition, discussed how research has demonstrated the value of Machine Learning in delivering next generation analytics to imp...
The cloud promises new levels of agility and cost-savings for Big Data, data warehousing and analytics. But it’s challenging to understand all the options – from IaaS and PaaS to newer services like HaaS (Hadoop as a Service) and BDaaS (Big Data as a Service). In her session at @BigDataExpo at @ThingsExpo, Hannah Smalltree, a director at Cazena, provided an educational overview of emerging “as-a-service” options for Big Data in the cloud. This is critical background for IT and data profession...
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, wh...
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...
When people aren’t talking about VMs and containers, they’re talking about serverless architecture. Serverless is about no maintenance. It means you are not worried about low-level infrastructural and operational details. An event-driven serverless platform is a great use case for IoT. In his session at @ThingsExpo, Animesh Singh, an STSM and Lead for IBM Cloud Platform and Infrastructure, will detail how to build a distributed serverless, polyglot, microservices framework using open source tec...
Connected devices and the industrial internet are growing exponentially every year with Cisco expecting 50 billion devices to be in operation by 2020. In this period of growth, location-based insights are becoming invaluable to many businesses as they adopt new connected technologies. Knowing when and where these devices connect from is critical for a number of scenarios in supply chain management, disaster management, emergency response, M2M, location marketing and more. In his session at @Th...
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life sett...
Cloud Expo, Inc. has announced today that Andi Mann returns to 'DevOps at Cloud Expo 2016' as Conference Chair The @DevOpsSummit at Cloud Expo will take place on November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. "DevOps is set to be one of the most profound disruptions to hit IT in decades," said Andi Mann. "It is a natural extension of cloud computing, and I have seen both firsthand and in independent research the fantastic results DevOps delivers. So I am excited t...
"We work in the area of Big Data analytics and Big Data analytics is a very crowded space - you have Hadoop, ETL, warehousing, visualization and there's a lot of effort trying to get these tools to talk to each other," explained Mukund Deshpande, head of the Analytics practice at Accelerite, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
"delaPlex is a software development company. We do team-based outsourcing development," explained Mark Rivers, COO and Co-founder of delaPlex Software, in this SYS-CON.tv interview at 18th Cloud Expo, held June 7-9, 2016, at the Javits Center in New York City, NY.
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 effi...
Basho Technologies has announced the latest release of Basho Riak TS, version 1.3. Riak TS is an enterprise-grade NoSQL database optimized for Internet of Things (IoT). The open source version enables developers to download the software for free and use it in production as well as make contributions to the code and develop applications around Riak TS. Enhancements to Riak TS make it quick, easy and cost-effective to spin up an instance to test new ideas and build IoT applications. In addition to...
The idea of comparing data in motion (at the sensor level) to data at rest (in a Big Data server warehouse) with predictive analytics in the cloud is very appealing to the industrial IoT sector. The problem Big Data vendors have, however, is access to that data in motion at the sensor location. In his session at @ThingsExpo, Scott Allen, CMO of FreeWave, discussed how as IoT is increasingly adopted by industrial markets, there is going to be an increased demand for sensor data from the outermos...
CenturyLink has announced that application server solutions from GENBAND are now available as part of CenturyLink’s Networx contracts. The General Services Administration (GSA)’s Networx program includes the largest telecommunications contract vehicles ever awarded by the federal government. CenturyLink recently secured an extension through spring 2020 of its offerings available to federal government agencies via GSA’s Networx Universal and Enterprise contracts. GENBAND’s EXPERiUS™ Application...
The cloud market growth today is largely in public clouds. While there is a lot of spend in IT departments in virtualization, these aren’t yet translating into a true “cloud” experience within the enterprise. What is stopping the growth of the “private cloud” market? In his general session at 18th Cloud Expo, Nara Rajagopalan, CEO of Accelerite, explored the challenges in deploying, managing, and getting adoption for a private cloud within an enterprise. What are the key differences between wh...
Presidio has received the 2015 EMC Partner Services Quality Award from EMC Corporation for achieving outstanding service excellence and customer satisfaction as measured by the EMC Partner Services Quality (PSQ) program. Presidio was also honored as the 2015 EMC Americas Marketing Excellence Partner of the Year and 2015 Mid-Market East Partner of the Year. The EMC PSQ program is a project-specific survey program designed for partners with Service Partner designations to solicit customer feedbac...
The IoT is changing the way enterprises conduct business. In his session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, discussed how businesses can gain an edge over competitors by empowering consumers to take control through IoT. He cited examples such as a Washington, D.C.-based sports club that leveraged IoT and the cloud to develop a comprehensive booking system. He also highlighted how IoT can revitalize and restore outdated business models, making them profitable ...
There are several IoTs: the Industrial Internet, Consumer Wearables, Wearables and Healthcare, Supply Chains, and the movement toward Smart Grids, Cities, Regions, and Nations. There are competing communications standards every step of the way, a bewildering array of sensors and devices, and an entire world of competing data analytics platforms. To some this appears to be chaos. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, Bradley Holt, Developer Advocate a...
SYS-CON Events has announced today that Roger Strukhoff has been named conference chair of Cloud Expo and @ThingsExpo 2016 Silicon Valley. The 19th Cloud Expo and 6th @ThingsExpo will take place on November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. "The Internet of Things brings trillions of dollars of opportunity to developers and enterprise IT, no matter how you measure it," stated Roger Strukhoff. "More importantly, it leverages the power of devices and the Interne...
In addition to all the benefits, IoT is also bringing new kind of customer experience challenges - cars that unlock themselves, thermostats turning houses into saunas and baby video monitors broadcasting over the internet. This list can only increase because while IoT services should be intuitive and simple to use, the delivery ecosystem is a myriad of potential problems as IoT explodes complexity. So finding a performance issue is like finding the proverbial needle in the haystack.