Showing posts with label sharepoint server 2010. Show all posts
Showing posts with label sharepoint server 2010. Show all posts

Tuesday, February 8, 2011

SharePoint Server 2010 Development VM for VirtualBox or VMWare, Part 1

SharePoint 2013 dev server deployment guide can be found here

Scenario
Prerequisites
  • Your workstation must be running a 64bit processor with Hardware Virtualization enabled
  • You must have enough memory (4GB rec), disk space (50GB rec), and processor power (2 cores rec) to run the VM and hold all snapshots
    • I highly recommend running this VM from a solid state drive (SSD) for optimum performance.  Disk speed is the greatest limiter for performance and if your RAM is limited, then the SSD swap file will help compensate.
  • You must have access to and appropriate licensing for above products
    • ex: MSDN Subscription
  • You must have time (about 8 hours) to install everything.  
    • Hints:
      • Look for "Wait" for good break points
      • Snapshots can be used to create other virtual machines or to test minimally installed environments
How To
  • Download the Software Listed Above
  • Install VirtualBox and the Extension Pack or VMWare
  • Create a new virtual machine named "sps2010" for Windows 2008 (64bit)
    • 4096 GB RAM
    • 100GB dynamically expanding boot hard disk
      • You will likely use 45GB of this without any content
    • Mount the Windows Server 2008 R2 ISO
    • Enable RDP support
  • Start the sps2010 virtual machine
  • The Windows Server 2008 R2 installer should begin
    • Select Windows Server 2008 R2 Standard (Full Installation)
    • Select New Installation
  • Set a new administrator password
    • pass@word1
  • Install VirtualBox Guest Additions or VMWare Tools
    • Auto Reboot
  • Authenticate Windows
  • Rename the server to sps2010
    • Note: If you forget this step, you will have a randomly named server.
      I have included instructions for aliasing and configuring a randomly named server.
  • Shut down and take a Snapshot named "Windows Install"
  • Enable Remote Desktop for all versions
  • Add Roles
    • Active Directory Domain Service
    • You will get a Windows Update is not enabled warning.
    • Select "Close this wizard and launch the Active Directory Domain Services Installation Wizard"
    • Ignore the "Operating System Compatibility" warning
    • Select "Create a new domain in a new forest"
    • FQDN: sp.local
    • Forest functional level: Windows Server 2008 R2
    • Ignore DHCP warning
    • Ignore DNS warning, click Yes
    • Use same password as admin user above
    • Reboot on completion
  • Add Roles
    • Server Roles
      • Application Server
      • Web Server (IIS)
    • Application Server / Role Services
      • Web Server (IIS) Support
    • Web Server (IIS) / Role Services
      • Leave Default Selections
    • Install
  • Windows Update: Turn on auto updates
    • Install Updates and Long Wait
    • Reboot when prompted
  • Open Active Directory Administrative Center
    • Create a user
      • Full Name: User
      • User SamAccount: sp\user
      • pass: same as admin above
      • Password Options: Password never expires
  • Stop and Disable the following Services
    • DFS Namespace
    • DFS Replication
  • Shut down, snapshot "DC and IIS", and start virtual machine
  • Mount the SQL Server Iso from the Virtual Box Devices menu
  • Open Active Directory Administrative Center
    • Create a user
      • Full Name: spservice
      • User SamAccount: sp\spservice
      • pass: same as admin above
      • Password Options: Password never expires
  • Start SQL Server Setup
    • Installation
    • New Install
    • Continue
    • Ignore DC and Firewall warnings
    • All Features with Defaults
    • Continue
    • Server Configuration / Service Accounts
      • Use the same account for all SQL Server services
        • specify the sp\spservice account and password created above
    • Continue
    • Analysis Services Configuration
      • Account Provisioning
        • Add Current User
    • Reporting Services Configuration
      • Install the SharePoint integrated mode default configuration
    • Continue then Wait
  • Shut down, snapshot "SQL Server", and start virtual machine
  • Open SQL Server Configuration Manager
    • SQL Server Network Configuration
      • Protocols for MSSQLSERVER
        • Enable Named Pipes
  • If your server is randomly named - not sps2010
    • DNS Manager
      • Forward Lookup Zones
        • sp.local
          • Add a new alias
            • Name: sps2010
            • FQDN: Browse to splocal\servername
              • servername will be a randomly generated value
  • Mount the SharePoint Server 2010 iso
  • Start the Prerequisites installer
  • Start the SharePoint Install
    • Enter your Enterprise license key
    • Wait
    • Run the Configuration Wizard
    • Create a new server farm
    • Configuration Database
      • Server: sps2010
      • Name: SharePoint_Config
      • Username: sp\spservice
      • Password: same as above
    • Farm Security Settings
      • Passphrase: same as admin password above
    • Central Admin Web App
      • Port: 8000
      • Auth: NTLM
    • Short Wait
  • IE will open to the central administration website.
    • Login as administrator
    • Move the central admin site from the Trusted Sites zone to the Local Intranet Zone
      • Also add "http://sps2010" to the Local Intranet Zone
  • Shut down, snapshot "Base SharePoint", and restart
  • Configure Alternate Access Mappings
    • Set the central admin default public url to http://sps2010:8000
  • Run the Farm Configuration Wizard from Central Administration
    • Use existing managed account
    • All items should be checked except for Lotus Notes
    • Create Root Site Collection
      • New Web Application
        • Name: sps2010
        • Port: 80
        • Path: change "80" to "sps2010"
        • URL: http://sps2010
        • Create a new app pool
          • Name: SharePoint - sps2010
          • Configurable: sp\spservice
        • Database server: sps2010
        • Database name: sps2010_Content
        • CEIP: No
      • Title: Sps2010
      • Template: Publishing \ Publishing Portal
      • Primary admin: sp\administrator
  • Set the browser home page to http://sps2010
  • Configure Search from Central Admin
    • Central Admin \ Manage service applications \ Search Service Application (first one)
      • Content Sources
        • Local SharePoint Sites
          • Schedule incremental every 5 minutes and start a full crawl
  • Open http://sps2010 in IE
    • Add sp\administrator to the Approvers and Members groups
    • Validate that the following work
      • Approval process
      • Both search scopes
      • My Site
      • Profile
  • Shut down, snapshot "SharePoint Configured", and restart
  • Continue to Part 2

Tuesday, November 30, 2010

SharePoint 2007, 2010, and 2013 Cascading Lookup Column Comparison

Scenario
  • You have multiple SharePoint lists that are related
    • Parent/Child or other relationship
  • You want to allow the user to define the relationship via a Lookup Column Dropdown (Combobox) or Multiselect Interface
  • Or you need filtered lookups or some other additional lookup functionality
Issue
  • The out of the box SharePoint Lookup Field columns are severely limited
    • They really only work for relatively small lists of uniquely named items that don't change often
    • SharePoint 2010 natively supports related lists, but do not have all the features below
  • We need one or more of these advanced features
    1. Cascading Updates (and possibly deletes)
      • Maintain Referential Integrity
      • Updates made in one list are reflected in the lookups.
    2. Keyboard filtering from the dropdown and multiselect interfaces
      • Autocomplete, find as you type
    3. Cascading drop-down filters
      • One or more dropdowns to filter the final dropdown
      • Ex: State, County, City
    4. Lookup filters (likely based on a List View)
      • Ex: Only show my Cities, or only show Active Items in the lookup
    5. Datasheet view editing (Excel, Access), InfoPath, and Office DIP support
      • In most cases this is unavailable.  The workaround is to create a view without the lookup fields for use with Office integration and ensure the lookup fields are not required or have a default value.
    6. AJAX
      • We don't want to postback when applying realtime filtering
      • We may not want to preload all the values for very large lists
    7. May be used in a Calculated Column
      • Ideally the text field and ID field would both be accessible
    8. Supports multiple display fields from the lookup list
      • ex: First and Last Name concatenation in the dropdown
      • Workaround would be to use a calculated field within the lookup list
    9. Link to add an item to the lookup list from the lookup column interface
    10. Cross site support
      • By default the list must be in the same subsite as the lookup column
    11. Cross site-collection support and content type hub support
      • Workaround would be to synchronize lookup lists accross site collections using a workflow, content deployment job, or a custom timer job.
    12. Two-way relationships
      • Items within a lookup list will keep track of where they have been referenced.
      • Ex: Orders are linked to a customer via the order form.  On the customer form, you can see the linked orders.
      • SharePointBoost's LookupBoost or Sparqube's Lookup Tracker can be installed to provide this information via a separate relationships page.
    13. Matches the SharePoint look and feel
      • Ex: Inherits themes/styles for drop down
    14. Can be created as a site column
      • Sometimes only implemented as a list column.
    15. Conversion tool 
      1. Converts lookup columns to custom lookup
      2. Converts custom lookup back to a regular lookup
    16. Allow filtering from a multiselect
      • Ex: Filter lookup of Cities when multiple States are selected
    17. Set the lookup column's default value
    18. Referential Integrity (2010 new feature)
      • Cascade or disable updates/deletes when the item is used in lookups elsewhere
      • Not available on a multi-select
    19. Projected Columns (2010 new feature)
      • Lists with the lookup column will expose other columns from the lookup list.
      • Ex: Order list with a Customer lookup column could also include Customer Phone and Customer Email in the Order list view based on the selected Customer
Resolution
  • The following third-party products are available to meet your needs.  This analysis was done based on the marketing material available on their websites and any personal experience I have with them.   ? - denotes unknown feature
    • SharePoint 2010 Lookup Column (Out of the box - not third party)
      • Features: 1 (includes recycle bin), 2, 5?, 10, 13, 14, (17 via code), 18, 19
    • Sparqube SharePoint Lookup Column (SharePoint 2010+)
      • Features (provided by vendor): 1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
      • Note: There are 2 column types to choose from.  Each has advantages and disadvantages.  All features above may not be available depending upon which control you use.
      • (12) Sparqube Lookup Tracker provides this as a separate (included) feature
    • KWizCom SharePoint Cascading Lookup Plus
      • Features: 1?, 2, 3, 4, 6, 7, 8, 9, 10, 12*, 14, 15.1, 17?, 18?, 19?
      • Review Notes
        • Runtime issues will occur if you are still referencing AJAX 1.x
        • Single-select, single-value items appear in a grid format with a header
        • Display form grid uses a hyperlink icon rather than text
        • Dropdown skins do not match SharePoint but are customizable
      • *(12) Same list 2-way relationships are not supported
    • SharePointBoost Cascaded Lookup
      • Features: 1, 2, 3, 4, 5 (except multiselect), 8*, 9, 10, 12*, 13, 14, 15, 17*, 18, 19
      • *(12) Lookup Boost: Provides feature 12 via a separate relationship page
      • Review Notes
        • Installed properly
        • Worked as advertised
        • Issue with saving a sub-site as a template after implementing a root level site column and content type.  Workaround provided by SharePointBoost
      • *(8) - Doesn't support hyphenated values in the drop-down for SP 2010.
      •  *(17) - Only supports defaulting to first item in a view and does not support the standard Default property, so this is difficult to set from code.  Does not support defaults on a multi-select.
    • Azu Lookup Plus 2013
      • I haven't evaluated this yet.  Please refer to the website.
    • Infowise
      • Features: 3, 4, 9+, 10, 12 (with bi-directional bundle), 13, 14, 15, 17?, 18?, 19?
      • (9+) Enhanced support for inline simple text additions and for task creation
    • Bamboo Lookup Selector
      • Features: 2, 3, 6, 10, 11, 17?, 18?, 19?
    • SharePointBoost Cross-Site Lookup
      • Features: 2, 10, 15, 17?, 18?, 19?
      • Lookup Boost: Provides feature 12 via a separate relationship page
    • SharePoint Tool Basket
      • Features: 2, 6, 17?, 18?, 19?
      • Open Source
    • SharePoint Cascaded Lookup Dropdowns
      • Features: 3, 6 (client-side only), 17?, 18?, 19?
      • Not a column.  Must be applied to each form.
      • Open Source
    • CodePlex Filtered Lookup
      • Features: 4, 10, 17?, 18?, 19?
      • Open Source