Login / Register  search  syndication  about

          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 and creator of slxdeveloper.com. He's been blogging regularly about SalesLogix since 2001 and believes in sharing with the community. He loves C#, Javascript, Python, web development, open source, and Linux. He also loves his hobby as an amateur filmmaker.

View the SalesLogix Mobile Seveloper Series
View the SalesLogix SData Developer Series
View the Git for the SalesLogix Developer series



Related Content
   Saleslogix Xbar update coming soon
Scheduled to be released 8/29/2014 Features in Update •Installation improvements •Enterp
Posted on Aug 21, 2014 by Scott Weber to SalesLogix Product Blog
 
   How do you add a parameter for File Attachment Size and Timeout in Saleslogix 8.1?
Question: Is it possible to set a parameter for file attachment size and timeout in Salelogix? If
Posted on Aug 07, 2014 by Dale Richter to SalesLogix Questions & Answers
 
   Fixing Duplicate Saleslogix FieldIndex Values in the SECTABLEDEFS
I had to fix a client's SECTABLEDEFS table that contained duplicate FieldIndex values.  FieldInd
Posted on Aug 07, 2014 by Kris Halsrud to Kris Halsrud's Blog
 
   Saleslogix XBar Installation
When installing the new XBar application I found the instructions a little vague so I thought I would pas
Posted on Jul 18, 2014 by Mark Duthoy to SalesLogix Support
 
   "Saleslogix’s affordable pricing and usability allow the product to rise above competitors in the space" - Info-Tech Research Group, Inc.
"SalesLogix’s affordable pricing and usability allow the product to rise above competitors in the sp
Posted on Jul 14, 2014 by Scott Weber to SalesLogix Product Blog
 
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
 

Ryan Farley's Blog said:

When using Git, or really any source control system, you don't want everything in your SalesLogix model to be under source control. There are some files that the Application Architect uses for it's own purposes and volatile files that have no

September 22, 2010 5:30 PM
 

SalesLogix and Subversion « Bits, Bytes, and Beats said:

Pingback from  SalesLogix and Subversion « Bits, Bytes, and Beats

November 4, 2010 11:24 AM
 

Tom Kaiser said:

Hi Ryan,

Thanks for this very helpful information. I think a few things have changed since you posted this information: Can you provide any updates on these?

1. I could not find SalesLogixGitExtensions on Github. page 404 error when I click this link: github.com/.../SalesLogixGitExtensions

2. The link to wiki does not work: github.com/.../SalesLogixGitExtensions/wiki/installation.

3. I have installed Git Extensions 2.47.3 and have Git Extensions for SalesLogix 1.0.0.34 installed. Git Extensions for SalesLogix reports that Git Extensions is not installed.

4. I downloaded your .gitignore and in Git Extensions created a repository and committed the SalesLogix model. I noticed that deleted files are included in the commit. Should these deleted files be excluded as well?

Thanks,

Tom

April 10, 2014 10:37 AM

Leave a Comment

(required)  
(optional)
(required)  
Add
All contents Copyright © 2014 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