Welcome to MSDN Blogs Sign in | Join | Help

CodePlex Weblog

www.codeplex.com

News

Sara Ford says farewell to CodePlex

I created my first account on CodePlex back in January 2006, over 4 years ago, when the site was still in an alpha internal-only preview. Shortly after playing with the initial UI, I sent the CodePlex team a 15 page document on all the UI suggestions I had. Little did I know that just a couple years later I would be reviewing the CodePlex UI as my day job. Needless to say, I’ve felt like a member of the team for a very long time.

This Friday, February 5, will be my last day as the Program Manager for CodePlex. I’ve accepted a position as Developer Evangelist at Microsoft’s Silicon Valley campus in California. You can follow my adventures on my MSDN blog at http://blogs.msdn.com/saraford.

It’s been a tremendous experience being the PM for Microsoft’s Open Source project hosting site, watching almost 11,000 new open source projects get created since I officially joined the team in October 2007. I want to thank everyone in the CodePlex community for such a fascinating 4 years.

And since it is Carnival back home in New Orleans, I’ll leave you all with “Laissez-les bons temps rouler! Geaux Saints!”

Using Mercurial on CodePlex

There’s ton of documentation out there on how to use Mercurial and its various clients. For this blog post, you’ll see me use a popular client called TortoiseHg. (Hg is the chemical element symbol for Mercury, hence Tortoise ”Hg” in case you’re wondering.) If you’re already familiar with TortoiseSVN, this will be very straight forward. 

Step 1:  Install TortoiseHg

You can install TortoiseHg from http://tortoisehg.bitbucket.org. Note: TortoiseHg is an extension of the Windows Explorer shell, so there is no application to launch.

When prompted for your personal information, the username you specify will not be associated with your CodePlex account. This username is only used for your local commits. We advise you to put in the same username as your Codeplex username.

Step 2: Create a new CodePlex project

In the Create a Project wizard, select Mercurial for Source Control.

Step 3: Clone the repository

Now you’ll want to create a local clone of the repository. You must do this step; otherwise, you cannot push code (i.e. check-in) to CodePlex.

First, create a new folder on your local machine where you want to download (or clone) the repository.

Next, use TortoiseHg to clone the repository in the newly created folder, as shown in the illustration.

Clone command

You’ll be prompted by TortoiseHg for the Source path. You’ll need to get this URL from CodePlex. Go to the project, click on the Source Code tab, and under Source Control Setup, click Mercurial. You’ll see a window appear with the Clone URL.

Source Control Setup

This is the URL to insert into TortoiseHg Source path, as shown in the below.

TortoiseHg Source Path

Press Clone.

Once the clone is completed, the dialog will close and you’ll see a green checkmark indicating this is sync’ed with the Mercurial project on CodePlex.

Now let’s look inside the folder containing the cloned repository. Since the repository is empty, there is only the .hg folder, which stores the Mercurial repository. DO NOT MODIFY THIS FOLDER unless you know exactly what you are doing.

Step 4: Add your files to your local repository

Now you can simply add your files to this folder. In this example, I only have one file that I’m going to add.

Now right-click to bring up the Windows Explorer context menu, and select HG Commit. The HG Commit command will commit to local repository.

HG Commit command

In the HG Commit dialog, fill out the description of the commit. (again this is just for local repository).

Make sure to check to commit all files (or whatever files you want to commit), as illustrated in red below.

commit

Press the Commit button, accept any warnings, and you’ll be prompted with a status/success window.

Step 5: Push to CodePlex

To push the code to CodePlex, you’ll need to open the HG Repository Explorer as seen on the Windows Explorer context menu.

On the menu, you’ll see the Push icon. Press this to start the push to CodePlex.

Mercurial Push to CodePlex

You will be prompted for your CodePlex credentials at this point. Once you have typed in your CodePlex username and password, you’ll see a success dialog.

Now you can go to your CodePlex project and view the source code tab.

First ever CodePlex Mercurial commit

CodePlex now supporting native Mercurial

What is Mercurial?

Mercurial is a distributed source control management system. For new projects created on CodePlex.com, you will be able to choose from either Team Foundation Server or Mercurial as your source control repository.

To illustrate, in the Create a Project wizard you’ll see the following:

Mercurial as a Source Control option

If you are a current project owner and wish to switch to Mercurial, please contact us at CodePlex Support with your project name, and we’ll be glad to help you out.

Why DVCS?

Adding distributed version control support to CodePlex has become a top feature request from users, as the popularity of DVCS for open source development has grown significantly. Mercurial is one of the most popular distributed version control systems and offers great support for Windows based tools as well as works very well as a hosted service.

If you are new to Distributed Source Control Systems, please read this section!

Mercurial is a Distributed Version Control System (DVCS). Unlike Team Foundation Server, DVCS has a very different model for collaborating on an open source project.

  • In DVCS, you do not check in and out changes. You check in and out the entire set of changes (aka the repository).

To get started, you first make a local copy of the repository, or clone the repository. In TFS speak, this is the equivalent of getting the entire history (source code + metadata) of each and every change set in source control. It is literally making a copy of everything you see in the CodePlex source control. Since you are copying the entire repository, there isn’t a notion of “checking out”.

  • In DVCS, you commit to the local repository, and push your changes back to CodePlex.

Since you have your own repository, you “check in” by committing to your local repository. Once you’ve committed locally, you can “check in” those changes back to CodePlex by pushing those changes. Hence the term “check in” doesn’t apply because it is overloaded in the DVCS context.

A quick recap:

  • Anyone can clone. (Create local repository, Get all change sets from repository)
  • Anyone can commit. (Check-in to their local repository)
  • Anyone can pull. (Get all change sets from repository)
  • Only team can push. (check-in of local repository to CodePlex)

See our post Using Mercurial on CodePlex for a step-by-step walkthrough.

Project Owners can now show Job Openings for their individual projects

Last Friday, we deployed the latest version of the CodePlex software.

Project Job Openings

Project owners can now post “job openings” for what sort of help they are looking for.

Join Us job posting

This feature allows people who are interested in joining a project a way to contact the team directly.

Request To Join Project form

The Project Owner can now better manage the team and any project openings from the People tab.

Manage Team controls 

As always, if you have any feedback here, please let us know.

The times they are a changing...

 

It was 4½ years ago that Sandy Khaund and I founded the group that was chartered to build an open source project hosting site for Microsoft. The site, which eventually became known as CodePlex (it had many internal names) launched a little more than a year later. The site has grown dramatically over the past 3 years and today is one of the largest open source project hosting sites. It also hosts 400+ of Microsoft’s own open source projects. In addition CodePlex serves as an example of how to run an agile project at Microsoft. The team that was formed to build and support the site has been one of the best teams that I have worked with over the years.

 

I say all this because today is my last day as the Product Unit Manager of the CodePlex team. I decided a month ago to move to a new opportunity in Microsoft Services organization. I will be leading a development team that is responsible for building solutions which assist customers in deploying, maintaining, operating, and developing applications for Microsoft’s products. However, this does not end my efforts with regard to Microsoft and open source. I am an advisor to the CodePlex Foundation, a coordinator on the xUnit.net project, and a very interested observer of CodePlex (hint: cool and interesting things are coming). I know they will keep up the great work.

 

 

Behind the scenes in the CodePlex Team Room with Scott Hanselman

Last week, Scott Hanselman stopped by the CodePlex team room to film a behind the scenes look at how we build the CodePlex.com software.

Get Microsoft Silverlight

http://channel9.msdn.com/posts/Glucose/Hanselminutes-on-9-Inside-CodePlexcom/

Enjoy!

Introducing the Documentation tab for CodePlex projects

Yesterday, we deployed the latest version of the CodePlex software.

We’re excited to introduce our latest feature, the Documentation tab. CodePlex users now have a consistent place across projects to find documentation, while project owners are encouraged to write documentation, either by themselves or with the help of an Editor.

New Documentation Tab

Why a Documentation Tab?

We introduced the documentation tab for the following reasons:

  • Consistency across Projects – The #1 feature request from the most dissatisfied users is the need for a consistent place to find documentation across projects.
  • Encourage writing of documentation - I believe that providing a documentation tab will encourage project owners to write documentation, especially with the help of the Editor role.

What if I already have documentation on my wiki?

If you already had a wiki page titled “Documentation”, we’ve migrated this for you under the Documentation tab.

You can migrate other wiki pages to the Documentation tab by editing the page and clicking on the “move to documentation” link, once you have made your Documentation tab publicly visible (see more on that below). We will move any child pages and any attachments.

Documentation migration feature

How to show System Requirements?

The documentation page now has a section to display System Requirements on the right-hand side. 

System Requirements

Why do only some of the projects show a Documentation tab?

We felt it was important to clearly indicate whether a project is providing documentation under this tab. In the event that the project owner isn’t using this tab, we decided to hide the tab from the public. We want to avoid users visiting the documentation tab only to find no content.

What does the Documentation tab look like by default to project owners?

To encourage documentation writing, we indicate to the project owner that the Documentation tab is current hidden and provide suggestions on what should be included in this section.

Default view of Documentation to Project Owners

What happened to the Stats tab?

Our most popular monitor size is 1024x768. At this resolution, we’ve run out of space for tabs. After spending lots of time on future designs and doing lots of analysis on clickthroughs on many of our projects, we decided to associated the stats page with the stats we report on the homepage.

New Stats page location

Where can I see an example?

You can visit my pet project Stick Figure Karate Fighter, where I created the documentation tab on stage during last night’s Southwest Fox keynote.

The CodePlex Jump – Trip Report from TechEd Australia and New Zealand

Last month, I had the opportunity to fulfill my childhood dream of going to Australia to speak at Microsoft TechEd. However, little did I know this trip to the Southern Hemisphere would take me to new heights at TechEd New Zealand.

The link to the full version is on YouTube at http://www.youtube.com/watch?v=jcc4KRrZpI0

Special thanks to Sky Jump! for lettings us film and TechEd Online New Zealand for making the jump happen and for putting the full edited video together.

Photos from the Southern Hemisphere

CodePlex banner overlooking Gold Coast

Above: CodePlex overlooking the Gold Coast and the Convention Center in Queensland, Australia

TechEd Australia attendee holding CodePlex banner

Above: “A Tour of CodePlex” TechEd Australia attendee after the breakout session

TechEd Australia Attendee holding notebook with lots of CodePlex stickers on it

Above: TechEd Australia attendee proudly displays his support of CodePlex on his HP Mini notebook. TechEd Australia attendees received a HP Mini notebook running Windows 7.

CodePlex banner in front of Australia Zoo sign

Above: CodePlex at the Australia Zoo, home of the Crocodile Hunter.

Sara Ford hanging 630 feet / 192 meters in the air

Above: Me just a few seconds before I screamed “Go CodePlex” louder than I ever thought humanly possible

Looking for Seattle-area participants for CodePlex Usability Study

We will be conducting in-person usability studies for CodePlex.com in Seattle, Washington on October 13 and 14, 2009. We are looking for project owners on CodePlex to participate in the one hour usability study. Whether you own one project or multiple projects, your feedback will help us create a better CodePlex site. 

Interested in participating?  Contact us and include your:

  • Current level of involvement in CodePlex
  • CodePlex username (if you have one)
  • Phone number where we can contact you to schedule a time

You will be reimbursed $100 for your time.

Cheers!

- The CodePlex Team

CodePlex Interview on Channel 9

The Channel 9 team met with Sara Ford to go over the state of CodePlex, where the site has been and where it is heading to.

Get Microsoft Silverlight

Link to video: http://channel9.msdn.com/posts/NicFill/A-chat-with-Sara-Ford-CodePlex-turns-3-reaches-10000-projects/

Work Item Notifications and Recommended Download

Yesterday, we deployed the latest version of the CodePlex software.

Work Item Notifications

As of today, our #2 most requested feature asked for the ability to receive email notifications for work items. Back in April, we introduced the ability to receive email notifications per individual work items. Now, users can subscribe to receive email at the project level.

On the Issue Tracker, you’ll notice the Issue Notification feature in the right nav bar.

Issue Notification

You can opt in to receive email as issues come in or in a daily digest form.

You can also configure your email notifications across all projects when you edit your profile.

Change Email Notifications

Recommended Default Download

All projects now feature a Download Now button on their homepage. This is to help users download software as easily and quickly as possible.

Download Now button

Every release now features a Recommended Download. Pressing the Download Now button will download the Recommended Download for the Default Release.

Recommended Download

To introduce the feature, we selected the most downloaded file per release and marked that as the recommended download. If we got it wrong and you as a project owner want people to download a different file as the recommended download, just edit the Release and choose the right download.

Mark as Recommended option

Special thanks to Ross Turk over at SourceForge for all the advice in how to implement the recommended download concept!

Donate Ad Revenue To Charity and New Editor Role

Yesterday, we deployed the latest version of the CodePlex software.

Donate your advertisement revenue to charity

By clicking just 2 check boxes, any project owner can donate their ad revenues to Habitat for Humanity Int’l. My thinking is even if an individual project only receives a dollar in ad revenue each month, if thousands of projects opt in to donate their ad revenue, that’s a pretty decent size donation. 

Donate ad revenue to charity

We’ll report donations on a monthly basis in our documentation.

Editor Role

We introduced a new CodePlex Editor role where this team member can only modify the wiki, for example, no write access to source code repository, no access to edit work item details, etc.

My hope is this will give the CodePlex community more ways to contribute to open source projects, especially in writing documentation for projects.

image

Editing your own work items

We’ve added the ability for you to edit your own work item content, in case you’ve made a typo or need to update steps to reproduce an issue.

Our Wiki Engine is now available as a project on CodePlex

On Thursday last week, we deployed the latest version of the CodePlex software.

Introducing the release of WikiPlex

WikiPlex, our wiki engine, is now available as an open source project on CodePlex under the Microsoft Public License at http://wikiplex.codeplex.com/. You can read more about WikiPlex on our developer Matt Hawley’s blog at WikiPlex – An Embedded Wiki Engine

Reply with Quotes

In the discussion boards, we’ve added the ability to reply with quoted text.

reply with quote

This will put the post you are replying to in quotes for you.

post in quotes

New Wiki Macros

Alongside the release of WikiPlex, we added a couple of new macros that allows you to right align and left align text and images.

>{This content will be right aligned}>
<{This content will be left aligned}<

<[image:codeplex_logo_green_small.jpg] The image will be right aligned 
>[image:codeplex_logo_green_small.jpg] The image will be right aligned

For example,

New wiki macros for right and left alignment of text and images

CodePlex Turns 3 years old; Breaks the 10,000 project mark

On Saturday, July 4, 2009 at 2pm, CodePlex surpassed the 10,000 project mark just shortly after our 3 year anniversary. Congrats to SharpFitter, a Visual Studio 2008 C# Add-in that dynamically loads plug-ins, for being our 10,000th project.

We hope to see this incredible rate of growth continue to bring more open source development to the Windows platform.

Check out the Port 25 post for more coverage on what’s been happening on CodePlex.

CodePlex Statistics

Below, you can see the upward trend of new projects each month over the past few years.

CodePlex Breaks 10000 Project Mark

When people ask me why CodePlex has such great traffic growth, I say it is because of the quality of our projects. Happy project owners = Happy users and site visitors. Our overall site traffic stats reflect this upward growth trend as well. In fact, this will be our 7th consecutive month of record breaking traffic.

graph of Visits per Month for past 3 years

graph of Page Views per Month for past 3 years

graph of Total Registered Users for past 3 years

It was recently in the news that the MS-PL is now in the top ten of OSI license usage. Here’s a breakdown of which licenses we’re hosting.

pie chart of license usage

Along with 10,000 projects comes a lot of source code, approximately 160 million lines hosted across 10 Team Foundation Servers.

graph of Source Code Check-ins per Month over past year

Here’s a breakdown of the top 7 file types we’re hosting.

pie chart of types of code we host

Special thanks to all our project owners and our users for making CodePlex a success!

My Favorite Projects, New Profile Pages, and a Source Code Diff tool

Today we deployed the latest version of the CodePlex software. We’re excited to bring you several new features in this deployment.

My Favorite Projects

Our #2 most requested feature is Favorite Projects, where users can mark a project as a favorite 

Mark as Favorite Project

and have it appear on their profile page.

List of My Favorite Projects

The comments in the Favorites Project feature request suggest adding a RSS feed for the favorite projects list. Let me know what sort of activity you are interested in receiving via RSS regarding your favorite projects.

New Profile Pages

You may have noticed from the above picture that the profile pages look a little different. In order to add the My Favorite Projects feature and to finish up the Work Item Email Notifications feature, we needed to redesign the profile pages. The most notable design change to the profile pages is separating the “public view” from the “edit your info” page.

saraford Profile Page

Let us know what you think of the new profile pages.

Source Code Diff Tools (Beta)

Finally, in this deployment, we’re introducing new feature that’s in “Beta” right now.

Compare file to previous versions tool

It’s your standard file diff’ing tool that’s available at the file level of each changeset.

Diff tool

I know it is much more interesting to see at the changeset level which files have been changed, and then drill down into how those files have been changed. However, living the agile life, I wanted to first get the basic ability to diff files out there to collect feedback on it.

More Posts Next page »
Page view tracker