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


  • 160 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

PowerPoint Slideshow about 'Tips and Tricks for Developing MOSS Applications' - hunter


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