This topic introduces the 3rd party components that are required for Phoenix to build and run.
This topic contains the following sections.
Telerik RadControls suite
A running build of Phoenix requires the RadControl suite of components from telerik. The RadControl license does not permit us to include this suite as part of the Phoenix Open Source package. However, the run-time binaries are packaged into the Phoenix installer and deployed to any machine that runs it.
| It is up to you, the Phoenix software developer, to obtain a developer license from telerik, if you plan on customizing the functionality of the RadControls suite in any way. |
Visual Studio 2008 Web Deployment Projects
The Phoenix solution contains one Visual Studio 2008 Web Deployment Project which is used to precompile and merge the website so it can be packaged into the Phoenix installer. If you plan on building the installer, you will need to download the VS2008WDP add-in and install it.
What is a Web Deployment project? Basically it's a project template that plugs into Visual Studio which wraps around the default ASP.NET Web Application project. As quoted from the Microsoft site:
Visual Studio 2008 Web Deployment Projects is an add-in to Visual Studio 2008 which provides developers with advanced compilation and deployment options. A Web Deployment project is extensible, enabling web developers to create pre-build and post-build actions.
Web Deployment projects do not change the way Visual Studio 2008 Web Sites or Web Application Projects build. Instead, they take an existing Web project as input and generate a precompiled Web as an output. A Web Deployment project does not change the files in the source Web site project in any way either.
If you do not have the Visual Studio 2008 Web Deployment Projects add-in installed prior to loading the
Phoenix solution, you will receive the warning as shown and the project will be unavailable.
![]() Figure:Web Deployment Projects are not installed. |
Extended Strongly Typed Resource Generator
The tool that generates source code from resource (.resx) files that ships with Visual Studio creates classes that are private and therefore cannot be referenced from outside the resource project.
To ensure the Phoenix resources can be used globally, a third party tool is required. The ResXFileCodeGeneratorEx tool is used to generate source code that meets our needs. ResXFileCodeGeneratorEx and accompanying article is available on CodeProject at the link below:
http://www.codeproject.com/dotnet/ResXFileCodeGeneratorEx.asp
Please download and install this tool before starting Visual Studio.
Once the Phoenix solution has loaded in Visual Studio, take a moment to review how ResXFileCodeGeneratorEx is activated. From the Solution Explorer, select the Phoenix.Resources project and expand it.

Locate a default resource file (these are the .resx files that do not have a culture associated with them) and press F4. The properties window should appear allowing you to review how the file is compiled in the final assembly. The Custom Tool field indicates what tool to run when the file is modified. The value of this field should be ResXFileCodeGeneratorEx as shown.

Microsoft Data Access Application Block
Phoenix uses the Data Access Application Block which is part of Microsoft's Patterns & Practices suite of components for software engineering. This code is compiled into a .NET assembly and packaged into the Phoenix installer. No further work on your part, the Phoenix developer, is required.
In 2005, Microsoft streamlined the various blocks into a larger, unified suite of tools and named the result, the Enterprise Library. The Phoenix Data Access Layer may build against the Enterprise Library, but testing would be needed.
SharpZipLib
Where we need to compress or decompress data, we have used the SharpZipLib library. This library is available as a pure C# assembly and is freely distributable under the GPL license.
SharpZipLib comes packaged in the Phoenix installer and is deployed to any machine that runs it. This version may or may not be the latest version available. For more information on SharpZipLib or to download the latest binary, please visit SharpZipLib.
MapServer
In order for the layers and maps modules to function, MapServer must be configured on your server. MapServer is an open-source and widely used, CGI program that generates images based on geospatial data. Images can be tailored and highly customized using a rich set of query parameters.
For more information, visit the MapServer. home page.

