
Macromedia Contribute 3, released in August 2004, has stayed true to its core purpose: making controlled web publishing insanely easy and accessible. However, it has also introduced many new features including the Macromedia Dreamweaver Design view rendering engine, the Macromedia Fireworks image manipulation engine, and Contribute Publishing Services. Most developers have heard of the new Macromedia Web Publishing System (WPS), but not many people have realized that you can integrate Contribute with your own, home-grown server-side functionality without having to install or use WPS.
In this article, I step through the process of setting up a Macromedia ColdFusion search interface and integrating it with Contribute 3 using Contribute Publishing Services to update the search index whenever a user changes to a page in Contribute.
To complete this tutorial you will need to install the following software and files:
You need to have a basic understanding of ColdFusion, Verity, and ColdFusion components (CFCs). If you need more information on ColdFusion, check out the ColdFusion Developer Center.
With Contribute Publishing Services, you can configure Contribute
to send SOAP messages to a predefined web service URL when users perform
certain actions within Contribute. For example,
when a user clicks the Edit button in the toolbar, the edit() method
is invoked and information is sent through SOAP to the web service
URL. This information includes who the user is and what they are editing.
Contribute Publishing Services open up a whole range of new possibilities for Contribute-based sites. Developers are no longer restricted to static HTML publishing. Now, you can integrate dynamic server-side functionality such as structured navigation, syndication feeds, and search into Contribute sites without adding complexity to the editing process.
Furthermore, because Contribute Publishing Services are based on SOAP web services, you can use a range of server-side technologies such as .NET, Java, PHP, and Perl to receive and process the messages. In this article, I use ColdFusion MX but the concepts are fairly generic and you can adapt them easily to other languages.