Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

What follows is simply how the Daemon development team typically structure deployments for larger projects in our portfolio. Your final deployment strategy will of course depend on your own infrastructure and requirements, but we find this approach works well for the majority of our clients.

Info

This style of deployment requires FarCry Core 5.0+

FarCry Project Repository Setup

When creating a new project for a client, we will use the following folder structure in the repository:

Image Modified

The plugins and projects folders are where the client specific code will reside. If, for example, the client doesn't have a custom plugin for their application then that folder will be empty.

...

The following image is an example of what one would find in the workspaces/application area of the project repository. Note that it is just a container to link every part of the client application. It even points back to the projects folder within the same account folder.

Image Modified

The externals can also contain revision numbers of specific itemsfor specific code bases (eg. plugins, core framework, etc). When deploying it is very highly recommended you add the revision or specific tagged release for plugins/frameworks you are not actively developing to maintain a stable distribution. An example of revision number use is as follows:

Image Modified

Apache Setup

...

Code Block
<Virtualhost *>
	ServerName aoc.local
	DocumentRoot "/Applications/ColdFusion8/wwwroot/farcry/projects/PluginTester/www"

	# FarCry Framework
	Alias /farcry "/Applications/Coldfusion8/wwwroot/farcry"
	Alias /webtop "/Applications/Coldfusion8/wwwroot/farcry/core/webtop"

	# FarCry Plugins
	Alias /farcryradiostar "/Applications/Coldfusion8/wwwroot/farcry/plugins/farcryradiostar/www"
	Alias /farcrypoll "/Applications/Coldfusion8/wwwroot/farcry/plugins/farcrypoll/www"

	# ColdFusion Engine
	Alias /CFIDE "/Users/robrohanuserhome/Documents/workspace/wwwroot/CFIDE"

	<Directory "/Applications/Coldfusion8/wwwroot">
		Options All
		AllowOverride All
		Order allow,deny
		Allow from all
	</Directory>
</Virtualhost>

Rather than copying the any plugin webroots (./pluginname/www) to the project we reference these with a virtual directory or alias. This ensures we can properly manage the version control for each code base independently.

The /farcry Alias is important because it acts as a mapping for all cores to the FarCry framework. Consequently there can be no ColdFusion mapping with a name of /farcry. Please reread the previous sentence because its absolutely critical.

The /webtop mapping is a convenient shortcut to the administration webtop for your FarCry installation.