The first entry to my series of posts comparing Sitefinity 3.x to the new 4 Beta will be about the new Project Manager in Sitefinity 4, and how it helps to simplify and speed up the development process from Blank Project to running website.
Update Tuesday Oct 11, 2010:
I just discovered that there are a few more goodies available in the project manager, for more, skip down to the new Server Management section below.
Today I installed a Sitefinity website using IIS with the Project Manager, see my latest post for details!
The Old Project Manager
Sitefinity 3.x currently includes an elaborate Project Manager Website for creating and managing Sitefinity website installs. This tool provides a great "just show me" demo to get you up and running into a demo website for further evaluation.
However, I quickly discovered that for creating new Sitefinity 3.x websites, downloading the Blank Project provided a cleaner and easier starting point. This might be from my preference of working with Web Site Projects (instead of Web Application Projects; more on this later), since it gives me better control over permissions, file location, database connections, etc. Since I started using the Blank Project, I've never had a need to run or even install the Project Manager for Sitefinity 3.x websites.
The New Project Manager
Things are different with the new Sitefinity 4 (currently Beta 2 as of this writing). The Project Manager is no longer a separate website that needs to be installed and configured. Instead it runs as a single-file executable application revealing a powerful wrapper around the Blank Project. You also no longer need to download a fresh copy of the project from Sitefinity (or keep a local copy which needs replacing after each Service Pack). The project manager now acts as an installer that automatically populates your website with a fresh copy of the Blank Project.
Creating A Project
Setting up a new Sitefinity website is as easy as clicking the "Create New Project" button, which will launch the dialog shown above. By default, projects are created in the File System, which is the easiest and fastest way to get up and running (I have not tried setting up projects with the IIS or FTP settings yet, but when I get a chance, I'll update this post with my experience). You can also use this project manager to install new Sitefinity websites directly to IIS as new Virtual Directories.
You can define a custom location for the project (such as your inetpub or Documents folder, after which you will see your project now listed in the Manager.
Now with your new file-system project selected in the Manager, you have several options available:
- Browse - Loads your website using the integrated web server; the URL will be resolved with a random port when the web server is launched
- Go to Administration - Launches your website Administration (/sitefinity) using the integrated web server
- Edit in Visual Studio - Loads the project solution in Visual Studio
- Remove - Deletes the project from the Manager, with an option to delete the associated web site files (see the new Server Management section for related information)
In addition, there is an Upgrade button which can be used to upgrade projects to the latest version of Sitefinity as they are released. This is a welcome feature to ease the application of patches, upgrades, and service packs, once again removing the manual steps that require you to hunt down the correct download for your site version.
Since the Project Manager is a single-file executable, all you really need to do to upgrade your sites is make sure you're running the latest version of the Manager, overwriting any previous version. This executable will then pick up the existing projects defined in the Projects.xml file and determining which projects need to be upgraded. Running the upgrader will automatically update existing core files such as DLLs and other internal references, while leaving any customizations intact.
I have not yet tested the upgrade feature of the Project Manager since I'm already running the latest Beta. However, Gabe Sumner has written an excellent article on his experience upgrading from Sitefinity Beta 1 to Beta 2 using this tool, and apparently the process went very smoothly.
Web Site Projects vs. Web Application Projects
I think the only thing left to mention is that currently, the Project Manager creates only Web Application Projects, not Web Site Projects. For a more detailed explanation of the differences between these project types, as well as how they are handled by the new Sitefinity 4 Project Manager, see Gabe Sumner’s blog post: Sitefinity 4.0 CTP Web Application Project Support. Without getting into any details or debate, I prefer to work with web sites, and I have documented the steps I took to convert my Test application project to a site. This will be to focus of my next post, coming later this week (watch the original introduction post for updates or better yet, subscribe to the Sitefinity Blogs Feed).
Update: Server Management
While attempting to remove a project, I discovered that although the project was removed from the Project Manager, it wasn't fully deleted from the File System. It turns out that I had accidentally left the integrated web server running. Previously I would do this by exiting the Project Manager then launching it again. However it turns out, the project manager allows you to manage all of this from its context menu:
There should be an entry in this menu for each running Sitefinity website. Selecting a site will show you a menu similar to this:
From here you can use "Browse" or "Edit" to view the front-end or administration sections of your site. But the most interesting here are the "Restart" and "Stop" buttons, which of course allow you to manage the status of the server instance for this site. Simply stop the server and you should now be able to delete your project without any trouble. This is a very helpful feature and I'm glad it was included!
For Sitefinity Developers, the Project Manager is a welcome tool that will undoubtedly help in simplifying the process of starting and launching new projects. While still in beta, it already shows much promise and especially further exemplifies Telerik's commitment and focus on always improving the developer experience. If you haven't already given the new Beta a whirl, take a moment now to download the beta or SDK and try out the tool see for yourself just how easy it is to use!