Login / Register  search  syndication

          Ryan Farley's Blog

Ryan Farley on .NET Development with a focus on CRM Development for SalesLogix

Excluding SalesLogix Model Files from Source Control

I love working with SalesLogix models in source control. Specifically with Git. However, whether you're using Git, or some other source control system, there are certain files in a SalesLogix model that you do not want to include in your source control. Many part of the files in an exported SalesLogix model are automatically generated by the Application Architect and by the build process when you build your web platform. Having these files under source control would only complicate things when working with multiple developers since you'd each need to merge these automatically generated files with each pull/checkout from source control since they change every time.


Model Files to Exclude

Let's take a look at which files to exclude from source control and why.

  1. ModelIndex.xml - This file is a temporary cache created by Application Architect as you access objects. This file can be deleted and will be automatically created again as needed. This is a volatile file and if included in source control would require constant merging with no benefit.
  2. Model\Deployment folder tree - The deployment folder in the model is where the Application Architect will create all of the actual SmartPart.ascx files and other deployable items from the QuickForm meta data and entities in your model. This is not to be confused with a "deployment" per se, but this is a staging area for things to be deployed that are created when you build your platform. As you create, modify, delete items in the model and then build your web platform all of the deployment files are generated based on what is in your model. Including these files in your source control system will complicate things since these files are created all over again as you build your web platform. To keep your folder structure in tact, I usually will exclude the following from source control:
    • Model\deployment\webroot\common\SmartParts\**\*
    • Model\deployment\webroot\common\SmartParts\**\**\*
    • Model\deployment\webroot\common\SummaryConfigData\*
    • Model\deployment\webroot\common\bin\*
    • Model\deployment\webroot\common\*
    • Model\deployment\common\bin\Sage.Entity.Interfaces.dll
    • Model\deployment\common\bin\Sage.Form.Interfaces.dll
  3. In addition to what is excluded from the SalesLogix model, using file merge tools, such as KDiff, DiffMerge, etc, you will have additional copies of files created that you'll want to exclude. When working with Git Extensions you'll see these copies of files with .LOCAL, .REMOTE, .BASE extensions. 


Ignoring Files with Git

As I mentioned before, I love Git. To exclude files from a Git repository you simply create a text file in the root of the repository named ".gitignore" and you can add files or directories to ignore (or to not ignore by prefixing the file or directory name with a "!"). This is what the contents of my .gitignore file looks like for a standard SalesLogix model:

# Files created from merge tools
*.BASE
*.LOCAL
*.REMOTE
*.orig

# Model files that are auto-generated
[Mm]odel[Ii]ndex.xml

# Standard deployment files
*/deployment/webroot/common/[Ss]mart[Pp]arts/**/*
*/deployment/webroot/common/[Ss]mart[Pp]arts/**/**/*
*/deployment/webroot/common/[Ss]ummary[Cc]onfig[Dd]ata/*
*/deployment/webroot/common/bin/*
*/deployment/webroot/common/*
*/deployment/common/bin/[Ss]age.[Ee]ntity.[Ii]nterfaces.dll
*/deployment/common/bin/[Ss]age.[Ff]orm.[Ii]nterfaces.dll


Ignoring Files with Git Extensions for SalesLogix

To make all of this easier with working with Git for source control with a SalesLogix model, I have updated Git Extensions for SalesLogix. The menu in Application Architect now includes a menu option to edit your .gitignore, and if it does not yet exist, it will give you the option to add all of the standard entries I have mentioned above.

 

In addition, when you initialize a new Git repository for a model from Application Architect the .gitignore file will be automatically created for you wit the entries mentioned above. Note, when you open a model in Application Architect and click the browse button on the Git Extensions toolbar it will detect if the current model has a Git repository or not and will prompt you to create the repository if one does not yet exist.

To download this update to Git Extensions for SalesLogix, just download the new DLL and copy it over the old one. Take a look a the project wiki for full installation steps.

What's This?
Bookmark and Share

About Ryan Farley

   Ryan Farley is the Director of Development for Customer FX Corporation and the creator of slxdeveloper.com.


Related Content
   Searching for Matching Records in the SalesLogix Web Client
In this short video the user will learn how to search for matching records while adding new records to th
Posted on Mar 10, 2010 by Dale Richter to Tech Talk
 
   Opening Several Records in the SalesLogix Web Client
This webinar will show the user how to open several records at one time. Often you would like to be able
Posted on Mar 10, 2010 by Dale Richter to SalesLogix Training
 
   The "What's New" Feature in SalesLogix Web Client
This webinar will focus on the functionality of the "What's New" Feature. This feature all
Posted on Mar 10, 2010 by Dale Richter to SalesLogix Training
 
   Converting a Lead in SalesLogix Web Client
This webinar will teach the user how to convert a Lead into an Account/Contact in your database. Leads a
Posted on Mar 10, 2010 by Dale Richter to SalesLogix Training
 
   Creating Lead Qualifications in SalesLogix Web Client
In this webinar the user will learn how create Lead Qualification questions necessary to qualify a lead
Posted on Mar 10, 2010 by Dale Richter to SalesLogix Training
 
Comments

 

Ryan Farley's Blog said:

For anyone who uses Git Extensions for SalesLogix, I've released a small update that adds some core functionality and makes it possible to complete the entire scenario of setting up and using Git with a SalesLogix project - all from within the SalesLogix

December 2, 2009 5:55 PM

Leave a Comment

(required)  
(optional)
(required)  
Add
All contents Copyright © 2010 Customer FX Corporation
Customer FX Corporation
2324 University Avenue West, Suite 115
Saint Paul, Minnesota 55114
Tel: 800.728.5783

  Follow @CustomerFX on twitter
Follow the best news, tips, and articles
  Subscribe to Customer FX on youtube
Watch SalesLogix tutorial videos from Customer FX
Login / Register