Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Here is some general setup info, based on how we do things. </p> <p><strong>Subversion</strong> This is not Sitecore specific but we set up our repository like this</p> <ul> <li><strong>branches</strong> - This is used for working on big updates to the site that may take a while. Say for example I wanted to update how all of the sidebars on the site worked, and this was going to take a few weeks to complete. What we do is create a new branch, and set up another sitecore instance for this dev branch and do what we need to do. When it is complete we merge it back into the trunk for testing and deployment.</li> <li><strong>tags</strong> - This is used for keeping a copy of code that will never be merged back into the trunk (that is the difference between this and branches), so for example when we deploy an update to a site we can create a tag of said code so we can go back to it if necessary.</li> <li><strong>trunk</strong> - The active code, anything checked in here should always be deployable.</li> </ul> <p><strong>The Trunk</strong> This is where we are actively developing/fixing bugs, depending on which part of the project that we are on. We set it up something like this (as an example the project is called TheProject)</p> <p>We keep our solution file at the root of this folder, this will reference the various libraries in the src folder as well as the web project in the website folder.</p> <ul> <li><strong>docs</strong> - A place to put documentation about the site. I strongly suggest that as you complete features/sections you write up a little guide about any special knowledge needed for it to work. So say I am working on a featured content box on a landing page. This box will automatically pull some content unless it is explicitly overridden. What I do when I complete something like this is I write a guide for the customer, using a lot of screenshots. I send the guide to the customer as well as put it in the docs folder. This both helps the customer train their staff, as well as helps new developers come up to speed with how things are done. </li> <li><strong>lib</strong> - This is where we keep any DLLs we are going to need to reference in our projects.</li> <li><strong>test</strong> - A place to put unit tests.</li> <li><strong>src</strong> - This is where we keep our project specific library code. So in here we would have a folder called TheProject.Library, and in there would be the visual studio project for said </li> <li><strong>web/Website</strong> - This is where we have Sitecore installed and is the root of the site. In here we have a project called something along the lines of TheProject.Web. In the project we add all of the general stuff like the web.config/layouts folder and so on.</li> </ul> <p><strong>General Sitecore Code Library</strong> One the best things you can do is from the start setup a general Sitecore library that can be added onto over time. Then when you write any code for a project that is not only applicable to the project, you can add it there. It may seem obvious, but this will really help in the long term. You will end up with much more solid code, see <a href="http://en.wikipedia.org/wiki/Don&#39;t_repeat_yourself" rel="noreferrer">link text</a> .</p> <p>So when we are done with all this we have something like this as a solution/project structure</p> <p>TheProject (The solution)</p> <ul> <li>TheProject.Library</li> <li>TheProject.Web</li> <li>MyCompany.SitecoreLibrary (our general sitecore library)</li> </ul> <p><strong>Tools</strong> This is another general thing, but I find it can really help speed up Sitecore development. If you find yourself doing something over and over in Sitecore, using API write a tool to do it for you. This not only helps with solving whatever problem you are tackling, but also helps to get you more familiar with the API.</p> <p><strong>Resharper</strong> This is more of a general .NET development suggestion, use Resharper(<a href="http://www.jetbrains.com/resharper/index.html" rel="noreferrer">http://www.jetbrains.com/resharper/index.html</a>). I am sort of a a Resharper fan boy, it makes so many things with development easier and quicker. In my mind the biggest advantage though is how easy it makes refactoring code, which is really important to do over time to keep things clean and understandable.</p> <p>I hope some of this helps.</p> <p>Gabe</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload