Saturday, December 25, 2010

Want your own “Gallery” (think something like the Visual Studio Gallery and future NuGet home) site and server? Check out the Orchard Gallery/Gallery Server Projects…

CodePlex - Gallery Server

About the Gallery Server project

Gallery Server is a reusable service layer for application galleries. It can be used for storing and exposing packages for CMS systems, package managers, etc. Gallery Server will initially be utilized as the back-end service layer for the Orchard Gallery and NuGet projects

Getting involved

If you have a need for a gallery website of your own and would like to use Gallery Server for storing and exposing a feed of packages, you can get involved by joining the Orchard Gallery mailing list and participating in discussions on this site. We are also gathering requirements for future phases of the project and we welcome your input. We accept code contributions as patches, under the same general guidelines as the Orchard Gallery project.”

CodePlex - Orchard Gallery

Gallery Overview

The gallery consists of a backend system, for storing packages and exposing a feed, and front-end website, for browsing items in the gallery and submitting new items.

The Gallery Backend

The backend is an MVC app that provides package storage, an OData feed for reading a list of packages from the gallery, and a secured publishing endpoint for submitting packages and metadata updates. The gallery website is just one client of the backend system – other clients include the Orchard admin panel and the NuPack and Orchard command-shell utilities. Over time, we hope to integrate the gallery feed more deeply into other tools.

The gallery backend will support:

  • Uploading a package file, or alternatively submitting a URL to a package located on an external site (like
  • Updating package metadata (such as title, version, author, etc) to be exposed by the backend feed
  • Exposing an OData-format feed so that client applications can enumerate and query gallery items

While Orchard and NuPack are standardizing on a common package format (NuPack), it remains a goal for this gallery implementation to support alternative package formats, so that other apps might leverage this gallery implementation for their needs.

The Gallery Website

The website will be built using the Orchard framework, and will provide search, browsing, and community ratings/comments. It will also provide a means for uploading and sharing packages.
We are not attempting to produce a single gallery website for all applications. Rather our approach is to deliver a reference implementation that can be used as the basis for running different instances of gallery sites. For example, the Orchard and NuPack galleries will likely be separate sites, tailored to their respective audiences. However, these galleries will share the same underlying code, feed schema, and submission system.



If you’re offering or sharing plug-ins, components, extensions, libraries, etc, etc, then you might want to check out these projects. Why re-invent the wheel?

I like the smart move in keeping the front end and back end separate and in separate projects. This allows for more flexible deployments and usage scenarios (think using the Gallery Server and your own custom front end/Extension Manger thing… ;)

What I’d REALLY like to see is other groups at Microsoft using them to manage/host/deliver their plug-ins (cough… Windows Live Writer plug-ins… cough…).

BTW, for more information on how NuGet is using these projects for their new deployment plans, check out Angle Bracket Percent - An update on the NuGet package submission process

No comments: