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

Adding New Help Topics to Studio

Adding New Help Topics to Studio

Ever wished you had easy access to Help on non-CF topics such as JavaScript, SQL, and DHTML? Did you know you could easily add such new Help topics to Studio?

In this month's Journeyman ColdFusion, I'll show you how easy it is. I'll also point out some existing references you can use to easily extend Studio this way. In just a few minutes, you'll be able to open the Studio Help tab and see JavaScript Help as shown in Figure 1.

Figure 1 shows ColdFusion Studio 4.5, but this discussion also applies to both older and newer versions of CF Studio, as well as Allaire's HomeSite and JRun Studio tools.

The Studio Help Tab
While many may never notice it, CF does have built-in Help that includes several manuals. To get to the Help tab, use Studio's menu commands to select Help>Open Help References Window, or click the "book and question mark" icon at the bottom of the resource window (the left pane where you normally see directories and files). In Figure 1 it's the sixth available tab and the one selected in the screenshot.

By selecting that tab, Studio will show you several available manuals, including all the Macromedia ColdFusion manuals that come with ColdFusion Server (including the installation and administration manuals and the CFML reference), as well as several that come only in Studio and aren't available in print (several Studio customization books).

If you don't have access to the paper versions of these manuals, it's a real lifesaver. If you never got the print version of Using ColdFusion Studio, you'll definitely want to read that book here. There's a lot to Studio (including this Help feature) that many never learn about. Things aren't always obvious.

The Help tab even includes HTML and HDML/WML (wireless) references, an added bonus that many never realize. However, your excitement may dwindle when you lament that there's no other Help for other important things such as JavaScript, DHTML, and SQL.

The good news is that you can easily add support for those kinds of Help documents, if you can find them in HTML format. I'll discuss how to extend Studio to support those additional Help files in a moment. First, let's walk through reading a Help document.

Reading a Help Topic
When you open the Help References window, Studio shows you a list of all the manuals. When you double-click on one or click the plus sign to the left of it, the manual opens to show all its chapters. Like a normal Windows Explorer-type interface, you continue that process of expanding sections.

When you can finally select (double-click) a specific Help topic, Studio will open that "page" of the document by browsing it inside Studio's editing pane in browse mode. Since the Help documents are just HTML files, they open like any other file you might browse inside of Studio. (Fortunately, if you have trouble browsing CFML documents, there's no similar problem with Help documents.)

Since the documents are HTML and Studio is using a real browser to view them, you can follow any hyperlinks offered in the docs. Indeed, most of the ColdFusion Help documents also offer a set of up, left, and right arrow icons at the top right of each page to help navigate through the document. Use the up arrow to go to the "parent" level of whatever page you're using (goes to a section, chapter, or document list, as appropriate). You can also select another document directly in the left resource pane.

After reading a document you can return to the page you were editing (if any) by pressing the "edit" tab above the edit/browse window, or you can press F12 or select the menu command View>Toggle Edit/ Browse to achieve the same effect. (One nice new feature in Studio 5 is that there's now a separate pane to hold the Help document, so the browse pane remains dedicated to its true purpose.)

One last trick you should know about: you don't have to go through this elaborate process of pointing and clicking to open the document list, select the appropriate one, find the section of interest, and open the help topic.

If you're editing a CF page (or HTML, HDML, or WML, to name a few), you can simply press F1 while the cursor is on a given tag (of any of those sorts) and Studio will take you directly to the help topic for that tag in whatever reference it determines is appropriate (CF tags open the CFML reference, HTML tags open the HTML reference). This is very cool, and a lot of people don't realize it's available. As of CF Studio 4.01, it also works for CF functions.

The Help feature is very useful, and once you learn a couple of things it will almost certainly become something you use all the time. (And again, this all applies to CF Studio as well as HomeSite and JRun Studio.)

However, the premise of the article was how to add new Help items. Like so much else in Studio, it's easy - once you know the secret.

Adding New Help References to Studio
I mentioned that the Help documents in Studio are all HTML files. In fact, the concept of a book in the Studio Help interface is simply a directory of files related to one reference. And the set of available "documents" are merely specially named directories all stored under a Help directory wherever CF Studio is installed.

The exact directory name for that will vary by user and by any choices you made on installation, but it might be in something like C:\Program Files\Allaire\ColdFusion Studio\Help (or perhaps it will say ColdFusion Studio 4.5 or ColdFusion Studio 5. Just be aware of which to use to effect changes to the version of Studio you're interested in modifying).

In any case, you'll notice that the Help directory has a series of directory names that look familiar but a little odd (see Figure 2).

(By the way, you may notice that my Windows Explorer shows the complete path to the file I'm exploring, which can be very helpful when you need to cut and paste it. In Windows 2000, at least, you can turn that on from within Windows Explorer with Tools> Folder Options>View>Display the Full Path in the Address Bar and choose "Reset All Folders" to apply it to all folders.)

Notice that the directory names are composed of the same name as that used in Studio, except that when shown in Studio, the underscore between words is automatically converted to a space (CFML_ Language_Reference becomes CFML Language Reference).

Inside each directory is a set of files, mostly HTML files. The names of these files may not appear to be meaningful, but when Studio opens the files, it will display them within their given reference manual. (Studio uses the title declared within each file's HTML <title> tag to determine the words to show as the topic description.) We'll discuss this more later.

One last point: any help files (even a single one) must be placed within a subdirectory under the Help directory. Files in the Help directory itself won't appear within Studio's Help tab.

With this knowledge, we can now add new Help files to Studio. If you can locate any set of HTML files organized within a given directory, simply place that directory within Studio's Help directory. Rename the folder to use underscores to represent spaces. When you open Studio's Help References window, the new "manual" will appear. (You can right-click on any of the Help topics in the Studio references pane and click "refresh" to refresh the listing without restarting Studio.)

How to Find Existing HTML Help on Various Topics
Where can you locate HTML-based Help files? And on what topics? Well, there may be any number of them in existence. You may have noticed in Figure 2 that I've added JavaScript and SQL (Jet) references (Jet is the MS Access database engine, but much of the SQL is equivalent in other databases).

I found those at www.devguru.com. There they offer these and other HTML references online. They're freely viewable on this Web site, but the cool thing about installing them inside Studio is that they offer a downloadable version for a nominal fee of $5 per "manual." They also offer references in HTML and CSS2; XHTML, XML DOM, and XSLT; WML and WMLScript; ASP, VBSCRIPT and ADO; and WHS (Windows Scripting Host).

I've also added Help whenever I've found it elsewhere, if I thought I might need it inside Studio. For instance, the CD of the book SQL Programmer's Reference offered another (and less Access-centric) SQL reference (though it was truncated due to production problems in making the CD and the publisher is not planning to fix it).

Again, with any of these, just copy the directory of Help files to the Studio/ Help directory, replace any spaces with underscores in the directory name, and refresh the Help references window.

Some CF-aware software might also install Help automatically, as was the case with Database Blocks, a very inexpensive ColdFusion code-generating tool from Commerce-Blocks.com. Macromedia offers a way to add the CF5 Help documents to your Studio 4.5.2 Help reference (as well as tag editors) via a "tag update kit" at www.macromedia.com/software/coldfusion/productinfo/upgrade/.

If you have any suggestions about where to find more, please share them via the feedback capability when viewing this article online at www.sys-con/coldfusion/, or send them to me at [email protected] and I'll organize a list of them on my site.

Help File Organization
While it's easy to copy a set of files into the Help directory and rename the directory, a couple of other minor challenges can make the new Help file not as useful as it could be. While I mentioned that the title in any such HTML Help page will become the Help topic name in Studio, not all documents have a title. If there's no title, the name of the file will be shown as the Help topic, and, if the document for some reason has an empty title, Studio will show the topic with no description at all.

Also, if the Help file includes subdirectories, the Studio Help engine will automatically render them as "chapters" within the document, each expandable to show their respective documents.

Another challenge is the order in which each "reference" will appear within the list of all reference manuals. You'll notice that the preinstalled Help references, such as the CFML Language Reference, all appear first in the list. Any that you add will by default appear at the bottom of the list.

You can override this (and other presentation aspects) by modifying a file in the Help directory called xmltree.xml. See the last section in the first chapter of the Macromedia manual "Using ColdFusion Studio" for more information on this file (remember, the manual is accessible from within Studio). The file already has several settings in it for the existing Help documents, which may help you extend it.

Remember: You don't need to edit this when adding Help files. Added references will appear in alphabetical order at the bottom of the list with other preinstalled manuals not defined in the booktree.-xml file. (If you're going to edit the book tree.xml file, it would be wise to save a copy of the file under a new name in case you want to revert back to the original.)

I hope this review of how to add new Help topics in Studio is helpful. It's easy and extensible, and references are available that can increase your productivity as a day-to-day programmer - the goal of the Journeyman column. Till next time.

Sidebar:
Expanding/Collapsing Trees in Windows by Keystrokes

Here's a trick worth sharing for this interface and indeed for nearly any Windows Explorer interface, such as File Open dialogs. You don't need to use mouse-clicks to expand and collapse levels. If you can place the cursor on the item to be expanded or collapsed, you can use keyboard shortcuts instead. If the cursor is on a level with a plus sign, use the keyboard right-arrow keystroke to expand it. If it's already expanded, use the left-arrow to collapse it. If it's already collapsed, a left arrow will jump to the parent, where another left arrow will now collapse the parent.

More Stories By Charlie Arehart

A veteran ColdFusion developer since 1997, Charlie Arehart is a long-time contributor to the community and a recognized Adobe Community Expert. He's a certified Advanced CF Developer and Instructor for CF 4/5/6/7 and served as tech editor of CFDJ until 2003. Now an independent contractor (carehart.org) living in Alpharetta, GA, Charlie provides high-level troubleshooting/tuning assistance and training/mentoring for CF teams. He helps run the Online ColdFusion Meetup (coldfusionmeetup.com, an online CF user group), is a contributor to the CF8 WACK books by Ben Forta, and is frequently invited to speak at developer conferences and user groups worldwide.

Comments (3) 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
charles arehart 07/12/02 11:33:00 PM EDT

The DevGuru site mentioned in this article has changed how it offers the HTML help files discussed. On July 17 2002, you will find an option to purchase the PDF version of the documentation. After purchasing that, you can email them to request the HTML version. If demand is sufficient, they may again offer the HTML files directly, but experience was showing more people interested in the PDF version.

Kola Oyedeji 04/06/02 11:30:00 AM EST

Hi

Just wanted to say that you article on adding help topics to studion is excellent, it gets straight to the point and illustrates how easy it is to setup. I was aware of this feature but didnt realize how easy it was to implement. I've now impressed my boss by placing our documentation under the help folder in html so that developers can quickly refer to it!

Thanks

One thing though, in order for my help folders to show up they *do* have to be added to booktree.xml (i'm using version 4.5.2) I dont know if its just my system or this is a recent change.I made sure that the page had a title and the folder name was correct. As soon as i added it in the xml file and refreshed it it appeared as soon as i removed it and refreshed it disapeared.

KOla

Charles Arehart 01/30/02 10:16:00 PM EST

A reader, Michael Mongeau of Sterling Mass, wrote: "One source for CF Studio-ready documentation is the OpenWDDX SDK. The entire developer kit documentation can be integrated into Studio. Download it from http://www.openwddx.org/."

For those interested, you'll find that the instructions for how to do that are in the very help files of the SDK itself, in the first chapter. Here's the key point:

"Just unpack the SDK .zip archive into Studio/HomeSite's Help directory, then click the Help icon in the Resource Tab. A new "book" labeled Wddx SDK will appear. (You may have to hit F5 once to refresh the display.)"

Once you've done that (or if you already had the SDK installed and can view the aforementioned help page), it also tells you how to implement a WDDX toolbar and additions to the expression builder. These are still further powerful extension capabilities in Studio, and it's great that the WDDX developers thought to create and package these extensions for WDDX users.

And thanks, Michael, for pointing this out to me.

/charlie

@ThingsExpo Stories
The current age of digital transformation means that IT organizations must adapt their toolset to cover all digital experiences, beyond just the end users’. Today’s businesses can no longer focus solely on the digital interactions they manage with employees or customers; they must now contend with non-traditional factors. Whether it's the power of brand to make or break a company, the need to monitor across all locations 24/7, or the ability to proactively resolve issues, companies must adapt to...
With major technology companies and startups seriously embracing Cloud strategies, now is the perfect time to attend 21st Cloud Expo October 31 - November 2, 2017, at the Santa Clara Convention Center, CA, and June 12-14, 2018, at the Javits Center in New York City, NY, and learn what is going on, contribute to the discussions, and ensure that your enterprise is on the right path to Digital Transformation.
Artificial intelligence, machine learning, neural networks. We’re in the midst of a wave of excitement around AI such as hasn’t been seen for a few decades. But those previous periods of inflated expectations led to troughs of disappointment. Will this time be different? Most likely. Applications of AI such as predictive analytics are already decreasing costs and improving reliability of industrial machinery. Furthermore, the funding and research going into AI now comes from a wide range of com...
"When we talk about cloud without compromise what we're talking about is that when people think about 'I need the flexibility of the cloud' - it's the ability to create applications and run them in a cloud environment that's far more flexible,” explained Matthew Finnie, CTO of Interoute, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Internet of @ThingsExpo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devic...
SYS-CON Events announced today that MobiDev, a client-oriented software development company, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software company that develops and delivers turn-key mobile apps, websites, web services, and complex software systems for startups and enterprises. Since 2009 it has grown from a small group of passionate engineers and business...
SYS-CON Events announced today that GrapeUp, the leading provider of rapid product development at the speed of business, will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Grape Up is a software company, specialized in cloud native application development and professional services related to Cloud Foundry PaaS. With five expert teams that operate in various sectors of the market acr...
SYS-CON Events announced today that Ayehu will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara California. Ayehu provides IT Process Automation & Orchestration solutions for IT and Security professionals to identify and resolve critical incidents and enable rapid containment, eradication, and recovery from cyber security breaches. Ayehu provides customers greater control over IT infras...
In this presentation, Striim CTO and founder Steve Wilkes will discuss practical strategies for counteracting fraud and cyberattacks by leveraging real-time streaming analytics. In his session at @ThingsExpo, Steve Wilkes, Founder and Chief Technology Officer at Striim, will provide a detailed look into leveraging streaming data management to correlate events in real time, and identify potential breaches across IoT and non-IoT systems throughout the enterprise. Strategies for processing massive ...
SYS-CON Events announced today that Cloud Academy named "Bronze Sponsor" of 21st International Cloud Expo which will take place October 31 - November 2, 2017 at the Santa Clara Convention Center in Santa Clara, CA. Cloud Academy is the industry’s most innovative, vendor-neutral cloud technology training platform. Cloud Academy provides continuous learning solutions for individuals and enterprise teams for Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the most popular cloud com...
In his session at Cloud Expo, Alan Winters, an entertainment executive/TV producer turned serial entrepreneur, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to ma...
SYS-CON Events announced today that Enzu will exhibit at SYS-CON's 21st Int\ernational Cloud Expo®, which will take place October 31-November 2, 2017, 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 ...
SYS-CON Events announced today that IBM has been named “Diamond Sponsor” of SYS-CON's 21st Cloud Expo, which will take place on October 31 through November 2nd 2017 at the Santa Clara Convention Center in Santa Clara, California.
We build IoT infrastructure products - when you have to integrate different devices, different systems and cloud you have to build an application to do that but we eliminate the need to build an application. Our products can integrate any device, any system, any cloud regardless of protocol," explained Peter Jung, Chief Product Officer at Pulzze Systems, in this SYS-CON.tv interview at @ThingsExpo, held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA
SYS-CON Events announced today that CA Technologies has been named "Platinum Sponsor" of SYS-CON's 21st International Cloud Expo®, which will take place October 31-November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. CA Technologies helps customers succeed in a future where every business - from apparel to energy - is being rewritten by software. From planning to development to management to security, CA creates software that fuels transformation for companies in the applic...
Amazon started as an online bookseller 20 years ago. Since then, it has evolved into a technology juggernaut that has disrupted multiple markets and industries and touches many aspects of our lives. It is a relentless technology and business model innovator driving disruption throughout numerous ecosystems. Amazon’s AWS revenues alone are approaching $16B a year making it one of the largest IT companies in the world. With dominant offerings in Cloud, IoT, eCommerce, Big Data, AI, Digital Assista...
Multiple data types are pouring into IoT deployments. Data is coming in small packages as well as enormous files and data streams of many sizes. Widespread use of mobile devices adds to the total. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists looked at the tools and environments that are being put to use in IoT deployments, as well as the team skills a modern enterprise IT shop needs to keep things running, get a handle on all this data, and deliver...
In his session at @ThingsExpo, Eric Lachapelle, CEO of the Professional Evaluation and Certification Board (PECB), provided an overview of various initiatives to certify the security of connected devices and future trends in ensuring public trust of IoT. Eric Lachapelle is the Chief Executive Officer of the Professional Evaluation and Certification Board (PECB), an international certification body. His role is to help companies and individuals to achieve professional, accredited and worldwide re...
With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...
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...