What is the end use of the flattened website? For CDROM distribution we've successfully used products like WEBCOPIER (http://www.maximumsoft.com/).
We are using FarCry as a CMS Backend to build eLearning modules. These are then deployed to a Learning Management System, usually as a zip file. Each course has a manifest, essentially a site map of the entire course, defining its structure and the URL of each asset.
The manifest is an XML file; it references the URLs of other XML files that provide data for specific pages. There is no HTML involved. While it is good to generate the latest manifest/content on the fly, that would require that customers purchase/maintain CF + SQL for what is essentially static content.
As both Geoff and Gavin suggested, I too had considered some sort of web copying solution (wget, webcopier). But they do not parse XML files.
I suppose I could write my own version of wget that parses the XML manifest and saves the content to a directory structure (CFHTTP/CFFile). I was just wondering if anyone had already seen this sort of problem before.
Flattening for optimum throughput
performance you can actually use ColdFusion's built-in CFCACHE to cache everything beyond the intial Application.cfm to flat HTML. To generate something digestible for Flash.. creating a webservice facade or an XML extract works well.
-- geoff http://www.daemon.com.au/
Scott Talsma wrote:
How are one going about publishing content if it is to be static (e.g. for a offline version--I am using FarCry to create XML files for comsumption by Flash)? Say I have a site structure spanning several levels. Using FUs, I can concieve the directory structure. If I publish everything into a directory /go/, the I would have
/go/index.cfm /go/products/index.cfm /go/elearning/consulting/index.cfm /go/elearning/custom-development/index.cfm /go/elearning/our-clients/index.cfm /go/about-us/our-story/index.cfm /go/about-us/our-culture/index.cfm
etc.
I could extend the type to add a publish to file option, or just extend the Approve option and use FU/buildLink to create a path. Then recursively create the directories, and finally save the file.
Hoes does one handle multiple objects that are under a single navigation node? Use the ObjectID instead of index.cfm for all objects?
Looking into types/RenderOverview, approving on content object invokes navajo/objectStatus. Which is to say that approving content does not call a method of the type (other than setData). My first instinct would be to override setData(), flag the status, call super.setData(), render the object and then save to file as above. But how to render the object? CFHTTP?
Is there better approach built into Farcry I am not considering (e.g. tying into the caching engine)?
--- You are currently subscribed to farcry-dev as: [email protected] To unsubscribe send a blank email to [EMAIL PROTECTED] Aussie Macromedia Developers: http://lists.daemon.com.au/
