Programming, technology, and CRM – from a Belgian programmer exiled to Missouri
  • rss
  • Home
  • Soft Gallery
    • autosvnbackup.sh
    • VBScript Snippets
  • Contact Me
  • Welcome

My SalesLogix Web Development Setup

Nicolas Galler | March 12, 2009

I have experimented with a few setups for development on the web client but this is the one that seemed to work best for me the last few times.  Thought I would write it down to get it organized and maybe see how others worked.

Despite what I wrote before about using version control with SlxWeb we do not systematically check the projects into the central repository anymore.  The reason is that SlxWeb doesn’t jive too well with Subversion.  The files for each project are saved to a central, shared drive.  Each project is actually a git branch, but is also available as the full project backup on the shared drives for devs who prefer not to use git (in which case they have to manually copy the files to their hard drive and back – sounds rather annoying to me but that’s their choice).

As for myself I work with a single git repository on my workstation (or rather, on each of the vm’s that I work from).  I start a project by switching to the "virgin" Slx7.5.1 branch, then creating a branch for the new feature/project:

git checkout SLX7.5.1
git checkout -b QuickTicket

This folder now contains the base "Model" project for SLX 7.5.  Typically this would be under \Projects\SlxWeb.git for me.

I then create a web site called "SmartParts" in Visual Studio and save it under a subfolder off the repository folder… for example \Projects\SlxWeb.git\QuickTicket\SmartParts.  This will be used to contain my custom smart parts.  I could create them directly under the "SupportFiles" under Model\Portal\SlxClient\SupportFiles, and this would be a bit more convenient for deployment, the problem is it would make it hard for me to tell where the custom parts are.

Now if needed I will also create the class library project that will contain my custom business rules (this would be Projects\SlxWeb.git\QuickTickets\QuickTickets.BL) and my unit tests (QuickTickets.BL.UnitTest).  I add all the Saleslogix references to all these projects (I also add a few shared projects to the solution containing some helper methods).

If the project is large enough and is going to contain some custom entities I add the package for them in the Application Architect’s entity model, and add the corresponding assembly to the hibernate.xml file.  It is not perfect isolation of course because we’ll still have to define the relationships from the Saleslogix entities to our custom entities within the Saleslogix stock packages, but it is as good as we can get it with the current system.

At this point I am ready to start work.  If I want to make a new custom smart part I create a folder for the corresponding "Page" (using the same name as in the Saleslogix portal config) in my "SmartParts" web site project, and add all the relevant files to it (ascx, asmx, resx, images, etc).  I have to manually add them as links in the Saleslogix portal config which is a bit tedious but I think the extra isolation is worth this little pain.

Once I am done I need to commit my changes and push the branch onto the main repository:

git add -A .
git commit -m "Whatever"
git push
cd /p/QuickTicket/SlxWeb   (wherever the shared folder is...)
git merge QuickTicket    (here we merge the change onto the shared files)

The last step with the merge is the one that eluded me for a while.  Normally with git the "central" repository (if there is one) would not be used to store files, but in our case we want to make them available for devs who prefer not to use git.  So, the repository on the shared drive is set to track the "master" branch onto which I merge my changes.

I tend to do little work with bundles as I find them tedious to work with – if I need to apply a feature from a project to another I can simply pull and merge the git branch.  But this development setup still makes it possible to create bundles if needed.

That’s about it.  Makes for a rather dull posts, but helps me put things together.

Categories
Uncategorized
Comments rss
Comments rss
Trackback
Trackback

« Picklist Bundle Assistant – Now with Integrated Bundler AJAX Script Services on SlxWeb »

3 Responses to “My SalesLogix Web Development Setup”

  1. Jason Huber says:
    March 12, 2009 at 3:36 pm

    I have a “working” git in AA module if you are interested.

  2. Nicolas Galler says:
    March 12, 2009 at 6:42 pm

    I am, it sounds exciting! What does it do?

  3. SalesLogix Training Blog » Blog Archive » Using SalesLogix Web in a Multi Developer Environment says:
    September 17, 2009 at 8:44 am

    [...] on some network share and apply source control. We covered this in Boot Camp and it is also covered here. We used Git at Boot Camp and it is pretty awesome, but many of you already have a source control [...]

Leave a Reply

Click here to cancel reply.

Categories

  • Dojo (1)
  • Experiments (4)
  • Force.com (2)
  • Interesting (1)
  • Javascript (3)
  • MSCRM (1)
  • Programming (63)
  • Rant (3)
  • Saleslogix (41)
  • Tricks (8)
  • Uncategorized (32)

Post History

  • 2011
    • January (3)
    • February (2)
    • March (1)
  • 2010
    • January (3)
    • March (3)
    • April (2)
    • August (2)
    • October (4)
    • November (1)
    • December (2)
  • 2009
    • March (2)
    • April (1)
    • May (3)
    • June (3)
    • July (1)
    • September (3)
    • October (2)
    • December (5)
  • 2008
    • January (9)
    • February (4)
    • March (9)
    • April (1)
    • May (5)
    • June (8)
    • July (1)
    • August (2)
    • September (1)
    • November (1)
    • December (3)
  • 2007
    • January (3)
    • February (7)
    • March (1)
    • April (3)
    • May (6)
    • June (2)
    • July (1)
    • August (2)
    • September (5)
    • October (3)
    • November (5)
    • December (4)
  • 2006
    • January (2)
    • September (1)
    • November (3)
    • December (4)
  • 2005
    • April (1)

Meta

  • Log in
  • Entries RSS
  • Comments RSS
  • WordPress.org
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox