WYSIWYG Wiki Editor
[Do you tweet? Follow me on Twitter @matthawley]
We deployed the latest version of the CodePlex software today.
WYSIWYG Wiki EditorWith this release, we have enabled the ability for project members to edit their wiki pages in either the Wiki Markup or with a WYSIWYG Html editor. When you create or edit a wiki page, you’ll have the ability to switch between Wiki Markup and Html Markup.
If you currently have existing Wiki Markup and click the Html Markup option, the Wiki Markup will be converted to HTML Markup for you. You can always switch back to using Wiki Markup, but the content will revert to the original Wiki Markup for the current version. That means
- Switching to Html Markup, editing content in the WYSIWYG editor, and then switching to Wiki Markup will not retain your changes.
- Once an Html Markup page is saved, switching to Wiki Markup will result in no Wiki Markup available.
Below you will see the converted Wiki Markup of the home page for WikiPlex.
Here are a few tips for working with the Html Markup:
- You can always go back to a prior Wiki Markup version to either save it as the current version or copy the Wiki Markup to be used later.
- When the Wiki Markup to Html Markup conversion executes – the RSS, Silverlight and Video macros will be rendered as friendly text with a link to the resource.
- When attaching files or images within your wiki page, we now list each attachment as a link to the resource allowing you to right-click and copy the URL to be used in either the image or link editor.
- You can have a mixture of Wiki Markup and Html Markup pages within your project. There is no reason to convert everything over if you don’t want to.
ClickOnce Releases
[Do you tweet? Follow me on Twitter @matthawley]
We deployed the latest version of the CodePlex software today.
Support for ClickOnce Releases
With today’s release, we are happy to announce that our #1 most requested feature, hosting ClickOnce applications directly from the CodePlex website, is now available for all projects! For those that are not familiar with ClickOnce, it is a .NET deployment technology that enables a user to install and run a Windows application by simply clicking a link from a web page. ClickOnce applications are also inherently self-updating, as they check for newer versions as they become available. ClickOnce applications are also “low-impact”, in other words, they do not need administrative rights to install, only install for the current user, and are isolated from other ClickOnce applications.
Since there is no direct way of publishing your ClickOnce application to CodePlex from within Visual Studio, we have attempted to make the process as simple as possible. The next few sections will walk you through the preparation and publishing, and ultimately creating a ClickOnce release on CodePlex.
Publishing a ClickOnce Application
This first step assumes that you have an existing .NET Windows application (Console/Windows Forms/ WPF) that you wish to publish using ClickOnce. When you open the Publish dialog (Build -> Publish) from Visual Studio, the first step will ask for a location to place the published ClickOnce application files. Feel free to change this value to an easy-to-remember path on your computer.
The next step asks where users will be installing this application from. Select “From a Web Site” and type the following in the textbox, replacing “ProjectName” with your project name.
http://ProjectName.codeplex.com/releases/clickonce
This is a very important step, and the CodePlex software ensures that your ClickOnce application has a valid URL that matches your project.
At this point, you can either click “Next” to walk through a few other steps or you can click on “Finish” to complete the publish operation.
Preparing the ClickOnce Application for CodePlex
If you open up the location where your application is published, you’ll see a folder structure similar to the following:
As you can see, there isn’t just a single executable that can be uploaded. Each version of your ClickOnce application has a folder with the necessary files in it that is contained in the “Application Files” folder. To prepare the ClickOnce Application for CodePlex, zip the entire directory, making sure the *.application file is at the root of the zip file.
Note: This is a mandatory zip file structure that is required. Validation of your ClickOnce application will fail if this is not followed.
Creating a ClickOnce Release
When you create a new release for your project, you’ll notice a new checkbox underneath the release name. When that is checked, a file upload control is displayed. Select the zip file you created in the last step and fill out the rest of the create release form.
A few notes about ClickOnce releases
1. The ClickOnce application becomes your “default file”. There is no way of making another file for that release the default.
2. ClickOnce releases are always public. There is no way of “hiding” them.
3. You can only have 1 active ClickOnce release at a time. All older ClickOnce releases will be “archived”, which means they are still accessible you just cannot make them recommended releases, or update the release’s ClickOnce application.
When the ClickOnce release has been created, you’ll be redirected to view the release.
If you click on the “ClickOnce Installer” link, it will start the download and ClickOnce installer.
Note: The ClickOnce installer will launch only for Internet Explorer and FireFox (should you have the plugin installed). If you are prompted to download the application file, save this file locally and execute it to launch the ClickOnce installer.
Clicking on “Install” will install and launch the application.
Updating a ClickOnce Release
When you have a new version of your project to release, you should follow the same steps for publishing and preparing your ClickOnce application.
Note: Visual Studio should retain the URL that you previously specified during publishing.
When you are ready to upload the ClickOnce zip file, you have the choice of updating the current ClickOnce release or creating an entirely new ClickOnce release. The latter of the two will archive your current ClickOnce release automatically. Both choices will prompt your users to update the currently installed application on the next launch.
Upgrading all TFS servers to TFS 2010
[Do you tweet? Follow me on Twitter @matthawley]
The information in this entry applies to project coordinators and developers that are using TFS with the Team Explorer client. If you are using Mercurial or a Subversion client, then nothing will change for you.
During the upcoming weeks we will be migrating all of the CodePlex TFS projects onto our new TFS 2010 servers. This upgrade will allow us to support new TFS features and provide increased server performance and reliability. The move will happen on a server by server basis, so expect each TFS server (TFS01 to TFS10) to be down for a few hours as data is migrated. Updates on when each server will be offline and an estimate on when they will be back online will be posted on our system outage page.
As part of this migration, the URL of your TFS server will change and this will require you to update your projects source control bindings. After your project has moved, instructions on how to connect with Team Explorer to the new TFS server can be found on the source control tab of your project under “Source Control Setup”. If you need help updating your source control bindings, you can view our detailed instructions online. Additionally, if you connect to your project using Visual Studio Team Explorer 2005, you will need to install the 2005 forward compatibility pack. If you connect using Team Explorer 2008, you will need to install the 2008 forward compatibility pack.
Finally, the TFS 2010 upgrade process checks two build templates files into your project under \BuildProcessTemplates. These templates can be removed safely as we currently do not support TF build.
Search Project Openings, New Ad Format, and more
[Do you tweet? Follow me on Twitter @matthawley]
We deployed the latest version of the CodePlex software today.
Project Openings EnhancementsWith today’s release, CodePlex users now have the ability to search for project openings across all projects. Prior to today’s release, a user looking to contribute to projects that were requesting help required knowing about those specific projects. This feature is not limited to just developers, but any resource a project could be looking for (ie, testers, designers, editors).
When visiting the CodePlex site, clicking on the Project Openings link will direct you to a listing of projects with openings sorted with the most recent openings first. What you’ll notice, is the layout is similar to the Project Directory, except that opening descriptions are displayed in green text above the project description.
Clicking on the “Join this Project” link will direct you to the homepage of the project with the request dialog open and ready for your submission.
Another difference you’ll notice is how tagging is handled with project openings. As a project coordinator, you can tag your project opening with specific keywords. When CodePlex users visit the project openings page, they can utilize the tags specified to refine the results.
Ad Format ChangeFor projects that have The Lounge ads enabled, you will notice that larger 300 x 250 pixel ads are being displayed on the project’s pages. Just as adding the larger ads to a downloads page, increasing the ad size across the project will dramatically increase the ad revenue for project owners to better support their project (or charity contributions to Habitat for Humanity Int’l).
Fork Actions on Changeset Listing PageAfter the recent release of the ability to view a fork’s changeset listing directly within CodePlex, we wanted to make managing forks as easy as possible. With today’s release, all fork actions are now available directly on the changeset listing page. No longer will you need to jump back to the listing of forks to send a pull request, apply/decline a pull request, or even delete a fork.
Silverlight 4 SupportThe CodePlex wiki has been upgraded to support Silverlight 4 by default. Existing Silverlight applications hosted on CodePlex should continue to work due to built-in backwards compatibility. Should you need to explicitly specify the version for your Silverlight application, add the “version=3” parameter to your macro (you can also specify “version=2”).
Multiple Project Downloads, Wiki Enhancements and more
[Do you tweet? Follow me on Twitter @matthawley]
We deployed the latest version of the CodePlex software today.
Multiple Project DownloadsWith today’s release, CodePlex users now have the ability to set multiple default releases for their project. The primary usage for this feature is for projects that are jointly developing and distributing pre-stable versions while still maintaining a current stable release. When creating or editing a release, you are allowed to set that release as a recommended release. If you currently have a recommended release, you’ll be prompted to either add to or replace the recommended releases.
When multiple default releases are active, and a user visits the Downloads page, they are shown a listing of the recommended releases. This view will allow them to see high-level information regarding each release and quickly download file’s associated with a particular release. The most recently created project will show first.
Another feature that was added, was the ability to not have any recommended files for a release. This is very helpful for applications that distribute multiple downloads, all of which have no more importance over the other. A primary use for this, is if a project distributes both an x86 and x64 version of their application – neither of which should be the recommended release as it requires a decision by the downloader.
Wiki EnhancementsA long requested feature (currently #3 most requested), deleting wiki pages has been added! We have also simplified creating new wiki pages. When viewing a wiki page, you’ll now see two new sub-menu links.
Clicking on “Create New Page” will take you to a page allowing you to supply a title and wiki markup. After saving, you can link to this page from any other page by using the inter-wiki link syntax [Page Title].
Clicking on “Delete”, will do just that. Any wiki page children of the page you’re deleting will be moved to the deleting page’s parent. All history, comments, and attachments will be permanently destroyed.
Forks on User ProfileLastly, a new feature that was added is the ability to view a CodePlex user’s forks across all projects easily. When you visit a user profile page, the listing of forks is displayed on the right hand side. Clicking on the fork’s name will bring you to view all of the forks change sets.
Application Analytics and Browsing Forks
[Do you tweet? Follow me on Twitter @matthawley]
We deployed the latest version of the CodePlex software today.
Application Analytics
With today’s release, CodePlex users now have the ability to instrument their applications to get analytics on their runtime usage. CodePlex has long offered reports on what user activity occurs on the project website, but what happened after the user downloaded the software was unknown. Now, using this new application analytics capability, CodePlex users can see information such as how many people are using the application.
This capability is provided by the new Runtime Intelligence Service from PreEmptive Solutions. The Runtime Intelligence Service allows for developers to inject usage instrumentation directly into application binaries. When the application is run by an end user, the instrumentation will collect analytics data from the application. No personally identifiable information is ever collected and applications can include opt-out dialogues.
CodePlex users instrument their .NET applications via the latest release of Dotfuscator Software Services Community Edition included in Visual Studio 2010. Application analytic reports will then be available on CodePlex from the project statistics page with the ability to view more advanced statistics through a portal hosted by PreEmptive Solutions.![]()
Getting started with instrumenting your application is easy. PreEmptive Solutions has created a sample application and a very thorough walkthrough that demonstrates this process. Once you have instrumented your application, you will need to link your CodePlex project to your Runtime Intelligence Service Application ID (which was created in the first step in the walkthrough). As a project coordinator, edit the project details and enter the value as shown below.
Should your startup / shutdown instrumentation mean something different, you can change the display name, which will be used instead of “Application Runs” when viewing the statistics in CodePlex. After you save these settings, CodePlex will begin importing the application runtime usage on a daily basis.
Browsing Forks
Also with today’s release, you now have the ability to browse a fork’s source code similarly to browsing a project’s source code. When you view the listing of forks, each fork name is now clickable.
Upon clicking the fork name, you’ll be taken to a familiar change set listing page. From there, you can view change set details, browse the fork’s source code, and download the individual change sets just as you would for a project.
.NET 4 and Change Set Listing
[Do you tweet? Follow me on Twitter @matthawley]
We deployed the latest version of the CodePlex software today.
Upgraded to .NET 4
While normally we wouldn’t mention an infrastructure upgrade, we decided that with the recent launch of .NET 4, our more technical audience wouldn’t mind knowing that we are constantly evolving. In fact, we have been running prior beta, escrow and release candidate builds of .NET 4 for several months now. Along with this, we have also upgraded to ASP.NET MVC 2.
Change Set Listing
Another requested feature from our users has been to view the listing of files that have been added, modified, or deleted in a particular change set.
With this page, we are finally highlighting an existing (but rarely known) feature, viewing a diff of the file. The “view diff” link will be present for edited files, and will open a new window with the difference view. To see this in action, view a change set for WikiPlex.
The difference engine (DiffPlex) was built-in house by Matt Manela and is available as an open source project on CodePlex.