This project is read-only.

How to team collaborate in developing on Orchard?

Topics: Customizing Orchard, Localization, Writing modules, Writing themes
Jul 31, 2011 at 11:47 AM

Dear Orchard Gurus!

The problem I'm facing today is my team, including me, will collaborate in developing some modules and themes for Orchard. I tried to put the src on TFS 2010 to fire and close issues and tasks, but as you know TFS doesn't support Repository-like tracking, so some folders in the src will be needed to manually copied between team members, as the 'lib' folder and 'packages' folder. These folders need to be manually copied if any change happens at and by any member. Also many out-source files must be included by hand like ~/App_Data folder (Dependencies, localization, settings and others) for the host project and for each module. So as a conclusion, I think TFS hates Orchard!

So I need a tool to help my team collaborating successfully, preferable to have work items tracking, like tasks and issues. Also any tutorials on the tool for work in Orchard and collaboration will be appreciated.

Aug 3, 2011 at 1:20 AM

Yeah, well, the hatred might be a little reciprocated. If you can work with CodePlex or any Mercurial repository, you will get a much more consistent environment.

Dec 27, 2011 at 2:39 PM

I am in the same boat.  I won't go into how we plan to manage Orchard development, because we're not quite sure yet. However, we've been using a very good system for managing "binaries" or 3rd party libs.  We do NOT store these in TFS under each project's "libs" folder, as that would cause tremendous amounts of bloat (each TFS Workspare would have the same binaries downloaded multiple times - I've worked in environments like this before and watch as our TFS workspaces took up over 10GB of local space).

How to handle a single instance of Binaries:

We've diverged slightly from the "standard" TFS structuring, but I think this helps out much more.  So, what needs to happen is you need a "Core" or "Common" TFS project which can store your binaries.  Now, the special thing that happens here is that you DO NOT add this "Binaries" folder into any of your other TFS Workspaces.  Instead, it lives within it's own TFS Workspace (I usually use "#Binaries").  This should point to a root-level folder in your local drive which all other TFS Workspaces are siblings of (not children) (i.e. C:\Dev\Binaries, C:\Dev\MyProject_Trunk).  Binaries will be downloaded separately and only when things change within it - which is rare or almost every couple of months.  This keeps your download times for TFS projects very short because you are not including these binaries in any of the other Workspaces, but all your "References" point to this 1 single location on your local drive.  Yes, this does mean that each developer will need to follow a common folder structure layout, however, their "root" folder can be any they choose and can exist on any drive they choose.  On another note, I've used this same concept in SVN and it works great!

TFS Structure:

  • $/Core
    • /Binaries
      • EntLib 4.1
      • EntLib 5.0
      • Telerik 2011.2
      • Telerik 2011.3
      • etc.
    • /Documentation (general best practices, coding conventions, etc.)
    • /Framework (any core framework code shared across all projects)

The reason why you version the folders above is so that 1.)  You can download them separately if need be and 2.) because there will be many projects, each referencing possible different versions of binaries (remember, you don't upgrade all your projects at the same time, and you sometimes WANT to keep certain projects on older versions!).

So, we essentially removed the "libs" folder from Orchard and used our existing ways of managing binaries / libs.

Jun 18, 2012 at 12:57 PM

hi! any news on this topic?

this is our current setup -

1. we have our mercurial server.  There we have cloned orchard and added some minor company-specific customisations (with nearly no comminity value).
2. every new project is cloned from this local customized clone and then put into TFS this way

At this moment I am not able to tell if we will be able to easily contribute to orchard with this setup...