Intranet Journal   Earthweb  
Images Events Jobs Premium Services Media Kit Network Map E-mail Offers Vendor Solutions Webcasts

   Intranet Journal Subjects
Search Earthweb

Privacy Policy



internet.com
IT
Developer
Internet News
Small Business
Personal Technology
International

Search internet.com
Advertise
Corporate Info
Newsletters
Tech Jobs
E-mail Offers

internet commerce
Be a Commerce Partner
















 

[ Home | Discussion Forum | How Do I... | Lotus Notes Intranets | Microsoft SharePoint | Products | Shopping  ]

free news!

Managing the Code When Customizing SharePoint


Robert Bogue

6/9/2008

Go to page: 1 2 3  Printer Friendly Version

One of the most common problems that organizations that are customizing SharePoint have is how do they manage the code deployment process. Organizations typically have configuration management guidelines that help them regulate how code makes it into production whether that's internally developed code or are patches that are applied to the operating system and products being leveraged.

The problem is that SharePoint doesn't fit a nice clean model. Because so much of SharePoint is configuration and data driven, code that works in development or a test environment may not work in Prod because things are configured differently or there's different data to operate on.

So how do you manage a situation where you've got configuration information that needs to meet up with code to create a complete solution? In this article I'll tackle this problem, a generic approach, and talk about a few of the sharp edges on the strategy that you'll have to educate everyone on.

A Simple View of Environments

In order to facilitate a discussion, let's assume that we have three formal environments:

  • Development -- A system integration environment where developers have (or potentially have) access to the servers and to the administrative controls. Some organizations call this environment the "Wild West" because it is only lightly under configuration management. This actually a systems integration environment where all code is forced to live together with test data before moving forward.

  • Quality Assurance (QA)/Test -- The Quality Assurance (QA) or Test environment is where the code from development and the content or a subset of the content from production comes together. This is the place where final signoffs are received prior to going into production. There might be multiple QA environments in an organization but for our purposes here they can be considered as once since they all live in the same space of configuration management. This environment is generally well controlled and follows a change management process - however, typically with fewer sign offs than the production environment.

  • Production --The tightly controlled production environment where the tightest restrictions on access are and where availability, reliability, and scalability are of paramount importance. This is the final resting place for code and in at least some environments is the origin for all content.
  • Certainly it's possible to have more environments or a more complex scenario; however, this simple model will make it easy to talk about the concepts. The one assumption that's not listed as a formal environment in the above is that developers will have their own environments locally which aren't formalized. Their initial development work will take place on their local machines or dedicated development machines - not in the development environment.

    Content and Configuration Never Moves To Production, Only Away From It

    One of the challenging, and powerful aspects of SharePoint is that the configuration of the system and the content for the system are comingled into a single content database. Because of that it's difficult to extract either the content or the configuration without bringing along the other. As a result, it's too easy to accidentally overwrite production content if you try to pull up content or configuration from another environment. As a result, the hard and fast rule is that content and configuration always move from Prod backwards through the environments to QA and if necessary to Development.

    This isn't all that different conceptually from how organizations approach QA environments for other systems. It's common place to migrate production data, or parts of the production data, back into a QA environment to test changes to an application and run validation suites. The key difference is that with SharePoint the code and the content can be more tightly coupled than is common for most traditional systems. This always move from production approach isn't without its limitations not the least of which is what content to migrate backwards and what to do about required configuration information which is covered in the following sections.

    Go to page: 1 2 3  Printer Friendly Version


    Other Resources
    from Intranet Journal
    Intranet Journal Discussion Forum

    Intranet Journal Announces 2008 Product of the Year Winners

    10 Open Source Apps for Enterprise Users

    Why Ubuntu Linux Tops Debian

    IDM Dreamweaver Tutorial

    Creating a PHP-Based Content Management System

    from JupiterWeb

    email this page

    Tutorials
    and more at:
    Intranet Journal's Tutorials
    Intranet Journal Favorites

    Creating a PHP-Based Content Management System

    The Spyware Guide

    Introduction to Microsoft SharePoint Portal

    Intranet Journal
    Part of the EarthWeb Network

    Managing Editor
    Intranet Journal

    Tom Dunlap

    EarthWeb Home Page
    Jupitermedia Home Page

    Media Kit





    JupiterOnlineMedia

    internet.comearthweb.comDevx.commediabistro.comGraphics.com

    Search:

    Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

    Jupitermedia Corporate Info


    Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

    Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

    Solutions
    Whitepapers and eBooks
    Intel PDF: Virtualization Delivers Data Center Efficiency
    Intel eBook: Managing the Evolving Data Center
    Microsoft Article: BitLocker Brings Encryption to Windows Server 2008
    Symantec eBook: The Guide to E-Mail Archiving and Management
    Microsoft Article: RODCs Transform Branch Office Security
    Go Parallel Article: James Reinders on the Intel Parallel Studio Beta Program
    Avaya Article: Advancing the State of the Art in Customer Service
    Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
    Avaya Article: Avaya AE Services Provide Rapid Telephony Integration with Facebook
    Go Parallel Article: Getting Started with TBB on Windows
    HP eBook: Storage Networking , Part 1
    MORE WHITEPAPERS, EBOOKS, AND ARTICLES
    Webcasts
    Intel Seminar: Efficiencies in Hardware/Software Virtualization
    HP Webcast: Disaster Recovery Planning
    Go Parallel Video: Performance and Threading Tools for Game Developers
    HP Video: StorageWorks EVA4400 and Oracle
    HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
    MORE WEBCASTS, PODCASTS, AND VIDEOS
    Downloads and eKits
    IBM TCO eKIT: Your IT Budget is Under Attack, Get in Control
    IBM Energy Efficiency eKIT: Learn How to Reduce Costs
    30-Day Trial: SPAMfighter Exchange Module
    Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
    Iron Speed Designer Application Generator
    MORE DOWNLOADS, EKITS, AND FREE TRIALS
    Tutorials and Demos
    Microsoft Article: Silverlight Streaming--Free Video Hosting for All
    Featured Algorithm: Intel Threading Building Blocks - parallel_reduce
    HP Demo: StorageWorks EVA4400
    MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES