alex holcombe applied information sciences n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Tips and Tricks for Developing MOSS Applications PowerPoint Presentation
Download Presentation
Tips and Tricks for Developing MOSS Applications

Loading in 2 Seconds...

play fullscreen
1 / 41

Tips and Tricks for Developing MOSS Applications - PowerPoint PPT Presentation


  • 168 Views
  • Uploaded on

Alex Holcombe Applied Information Sciences. Tips and Tricks for Developing MOSS Applications. Overview. SharePoint to a Developer Development environment Debugging Configuration Management Basic Do’s and Don’ts. WSS 3.0 Developer Map. ASP.NET Integration.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

Tips and Tricks for Developing MOSS Applications


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
overview
Overview
  • SharePoint to a Developer
  • Development environment
  • Debugging
  • Configuration Management
  • Basic Do’s and Don’ts
asp net integration
ASP.NET Integration
  • Tighter integration with ASP.NET 2.0
  • “Shines Through”:
    • Master Pages
    • Web Parts
    • Custom Provider Model
  • Conceptual Differences:
    • Template Model
    • Users can edit pages

ASP.NET 2.0

Windows SharePoint Services “v3”

extending sharepoint
Extending SharePoint
  • WebParts
  • Event Handlers
  • Custom ASPX Pages
  • Web Services
  • Site Administration functionality
  • Searching
  • Timer Jobs
  • STSADM
  • Workflows
  • Site Columns
  • Field Types
  • Content Types
  • List Definitions
  • Master Pages
  • Site Definitions
things to keep in mind
Things to Keep in Mind
  • SharePoint IS:
    • An Application
    • Full of OOTB functionality
    • Deceptively complex
    • Extensible using .NET
    • Written by someone else (not you)
  • SharePoint IS NOT:
    • A relational database
    • A replacement for all web-based applications
slide7
Demo
  • Show example functionality
development software
Development Software
  • Microsoft Software
    • Windows Server 2003
    • Visual Studio 2005
    • SQL (Express) and SQL Management Tools
    • .NET 3.0 Framework
    • ECM Starter Kit
    • Visual Studio extensions for WF
    • Visual Studio extensions for WSS
  • Other
    • Reflector
    • Text searching tool
environment considerations
Environment Considerations
  • Several basic requirements for devs
    • Source Control Access
    • Baseline to clean environment
    • Backup and restore process
    • Consistent baseline across all developers
    • Software upgrade management
    • External Access (web, email)
supported environment
Supported Environment
  • “The supported approach for setting up your Web Part development environment is to develop locally on an Office SharePoint Server 2007 server.”
    • Getting Started with Custom Enterprise Search Web Parts (http://msdn2.microsoft.com/en-us/library/ms564508.aspx)
sample environment windows 2003 workstations
Sample EnvironmentWindows 2003 Workstations

Dev 2

192.168.1.12

Dev 3

192.168.1.13

Dev 1

192.168.1.11

Dev Machines:

Win 2k3

MOSS

SQL Express

Dev tools

DC, Source Control, etc

192.168.1.1…n

sample environment xp workstations running vpc
Sample EnvironmentXP Workstations running VPC

Dev 2

192.168.1.12 (host)

192.168.1.102 (vpc)

Dev 3

192.168.1.13 (host)

192.168.1.103 (vpc)

Dev 1

192.168.1.11 (host)

192.168.1.101 (vpc)

VPC:

Win 2k3

MOSS

SQL Express

Dev tools

Dev Host:

Win XP

DC, Source Control, etc

192.168.1.1…n

networking vpc s
Networking VPC’s
  • No network connectivity
    • Makes network admin’s happy
    • Difficult to connect to source control
  • Attach VPC to host network adapter
    • Use NAT
    • Assign a secondary IP address to the VPC
  • Attach VPC to host loopback adapter
    • Install loopback adapter on host
    • Allow VPC to access internet through ICS
working with virtual pc s
Working with Virtual PC’s
  • Install only what you need
  • Keep the .vhd as small as possible
  • Run from an external disk or separate partition
  • Allocate as much RAM as possible
  • Shut down unnecessary apps on the host
  • Access the VPC through RDC
  • Regularly defrag host and VPC
  • Use Compact utility
slide16
Demo
  • Show how networking is set up on host and vpc
debugging code
Debugging Code
  • Compile code
  • Stop IIS
  • Deploy assembly
  • Start IIS
  • Set breakpoint in code
  • Initialize a SharePoint page
  • Attach to all w3wp.exe processes
debugging code1
Debugging Code
  • HELP - It didn’t work!!!
    • Code is different or didn’t compile
    • New Assembly didn’t get picked up
      • Didn’t get GAC’d
      • IIS not reset
    • Feature not properly installed or activated
    • Code isn’t being executed
debugging javascript
Debugging JavaScript
  • Enable Script Debugging in IE
  • Attach to IE.exe process
  • Open Running Documents window in VS
    • (Ctrl-Alt-N)
  • Set breakpoint
  • Open page/click to execute
sharepoint logs
SharePoint Logs
  • Located in: 12\LOGS
  • Turn up logging in SharePoint
    • From Central Administration:
    • Operations \ Diagnostic Logging \ Event Throttling
      • Select a Category: “All”
      • Least Critical…event log: “Information”
      • Least Critical…trace log: “Verbose”
  • Use a good text editor to search through the logs
iis error messages
IIS Error Messages
  • Turn on logging in IIS
  • Open web.config in the web app root
  • Modify the following:
  • <configuration>
    • <SharePoint>
      • <SafeMode>
        • set Callstack = "true"
  • <configuration>
    • <system.web>
      • <customErrors>
        • set mode="Off".
      • <compilation>
        • set debug="true".
slide22
Demo
  • Attach to w3wp process
  • Attach to IE process
  • Increase logging level in SharePoint
working with the 12 hive
Working With The 12 Hive
  • Usual location:
    • C:\program files\common files\microsoft shared\web server extensions\12
  • NEVER modify any OOTB files
  • Create a script which copies/updates your files in the 12 hive
  • Understand the consequences of modifying the files you created
commonly used folders
Commonly Used Folders
  • List of folders in the 12 hive that are commonly used by developers (not comprehensive)
  • 12
    • CONFIG – stsadm commands, security trust files
    • LOGS– SharePoint log files
    • Resources - .resx files
    • TEMPLATE
      • CONTROLTEMPLATES – .ascx files
      • FEATURES – Feature files
      • LAYOUTS – .aspx files
      • SiteTemplates – Site Definition files
      • XML – Field Type definitions
finding examples
Finding Examples
  • Search the web
    • MSDN
    • Google Groups
    • Blogs
  • Is this being done OOTB?
    • Search the 12 hive
    • Search using Reflector
valuable 12 hive information
Valuable 12 Hive Information
  • The 12 Hive is a valuable resource for information
  • Use it to see how things are being done OOTB
  • SharePoint functionality is deployed as Features
example locations of interest
Example Locations of Interest
  • CONTROLTEMPLATES
    • DefaultTemplates.ascx – Rendering field templates
  • Features
    • Ctypes – OOTB Content type definitions
    • CustomList – Custom List definition
    • Fields – OOTB field definitions
  • SiteTemplates
    • Sts – OOTB Teamsite site definition
  • This is a small subset of what is there
slide28
Demo
  • Find information in 12 hive
    • Search for examples of OOTB functionality
configuration management
Configuration Management
  • Multiple ways to create “things”:
    • UI
    • XML
    • Code
  • Can be problematic for a developer
  • Each has it’s own pro’s and con’s
  • They are NOT equal
  • Must understand the impact of each:
    • How do you manage changes / source control
    • How is it deployed
    • How is it maintained
site definitions and templates
Site Definitions and Templates
  • Site templates
    • CAB package of differences from site definition
    • Stored in content database
    • End-user created
  • Site definitions
    • Core description of what a site is
    • Installed to web front ends
    • Developer created
    • Done through xml files
    • Can be extended with code
the feature framework
The Feature Framework
  • Modular provisioning: Features!
    • Less XML to create site templates
    • Less duplication
    • Reusable pieces of customization
  • Group logical elements intoscenario-driven “features”
  • Easier to add functionality to existing sites
    • Easier to change site functions over time
    • Admins can turn features on/off
solution deployment
Solution Deployment
  • Developer packages a custom Web application into a solution
  • Admin deploys:
    • Files go to all Web front-end servers
    • Can deploy to application servers
  • Solutions can contain:
    • Feature definitions
    • Site definitions
    • Template pages and resources
    • Resources
    • Global, bin assemblies
configuration management1
Configuration Management
  • Basic rules for CM:
    • Source control everything
    • Stage deployable files
    • Automate deployment for staged files
  • Use what works best for you, but automate it
    • Batch files
    • Nant / MSBuild
    • MSI file
deploying to the bin vs gac
Deploying to the bin vs. GAC
  • Don’t assume you will be able to deploy to the GAC on the production servers
deployment steps
Deployment Steps
  • Stop IIS
  • Deactivate existing feature
  • Uninstall existing feature
  • Delete existing files
  • Remove existing assembly
  • Register new assembly
  • Copy new files
  • Install new feature
  • Activate new feature
  • Start IIS
deployment options
Deployment Options
  • Using STSADM
    • Easy to script out with batch files
    • Initializes on each call
    • Can be time consuming
  • Using OM
    • Initializes once
    • Very fast
    • Useful when deploying large number of features
slide37
Demo
  • Show sample batch file
  • Show sample Nant script
  • Show code to install with OM
basic don ts
Basic Don'ts
  • Don’t modify any existing files
  • Don’t assume your assembly will go in the GAC
  • Don’t run everything as an administrator
  • Don’t manually copy any files
  • Don’t modify or directly access the Database
  • Don’t assume the server is “localhost”
basic do s
Basic Do’s
  • Try to use as much OOTB functionality as possible
  • Put everything under source control
  • Automate the deployment process
  • KISS when trying something new
  • Don’t assume you’ve done anything correctly
  • Check the basic things first
  • Try it through the UI (if possible)
things to keep in mind1
Things to Keep in Mind
  • SharePoint IS:
    • An Application
    • Full of OOTB functionality
    • Deceptively complex
    • Written by someone else
    • Extensible using .NET
  • SharePoint IS NOT:
    • A relational database
    • A replacement for all web-based applications
contact information
Contact Information
  • Alex Holcombe
    • Applied Information Sciences
    • Alex.holcombe@appliedis.com