Developer Forum »
Best practices when working as a Team on a Webnodes site
20 posts

What are the best best practices when there is a team of people working on a Webnodes site (checking code into SVN).

Should each developer have a local copy of the site and the DB? If so - there will be problems when checking in ontology changes (code files are checked in OK, but DB changes remain local).

/ N

120 posts

Hi, for now our recomendations are as follows:

ALTERNATIVE 1:

  • Each developer should have his own independent copy of the entire site.
  • To keep track of code changes we recommend Mercurial (for exampel: https://bitbucket.org/)
  • To manage changes to the datamodel synchronize this file:
    "waf/files/definitions/ContentDefinitionsNoIds.xml"
  • Use the built-in text merge tools found in your source control software.
  • Once the file is updated, load the merged definition into Webnodes using the function called "Load internal without IDs" found in the menu under "Merge ontolgy" in the "Ontology" or "Semantics" module. Once loaded, do a full rebuild.
  • This will synchronize code and the datamodel. There is no built-in method to syncronize database content at the moment. The best is usually to manually recreate content that needs to be present in both systems. An option is to use the upload and download kit file function found in the System module under "System/Download kit file".

ALTERNATIVE 2:

  • You both work on the same webnodes installation simultaneously, in a staging env. 
  • You both use Webnodes "Live Edit" feature found in the Webnodes Setup program.
  • Live edit sync. all files needed for development (and intellisensing) on the develpers local machine. All other files, like database and datamodel is only stored on the common server.

We are in the process of building a code/model/content sync. tool. We plan to release around summer time 2012. 

20 posts

This is how we ended up developing. It works pretty good. Microsoft Moles for mocking, WatiN for Webnodes testing, and TeamCity for Continous Intgration seems like a good combo.

 

Picture

120 posts

Thank you for your contribution! I'll look more into WatiN, looks interesting.

1