I will be presenting on Web Parts and SP Metal. Come out and learn SharePoint for FREE!
http://sharepointsaturday.org/sacramento/default.aspx
Tuesday, June 7, 2011
External Content Type Picker stale or missing entries
Scenario
- You have deleted and/or added some External Content Types to Business Connectivity Services
- You attempt to use the External Content Type Picker via a Chart Web Part or some other control
- You correctly see the external content types in SharePoint Designer and in the Central Admin BCS Service Application screens
- You see deleted External Content Types and/or do not see the newly added External Content Types
- Reset IIS on the SharePoint Server(s)
- App pool recycle does not work
Thursday, June 2, 2011
Attending Microsoft Cloud Intelligence #CloudIntel Conference
Session Notes
- Bob McDowell - Keynote
- Platform as a service: Windows Azure - Joel Forman
- CDN: Content Delivery Network
- Caches commonly used files in geographically appropriate locations
- Configure for specific static files: media, css, js, etc.
- Each file has a CDN url
- Windows Azure Traffic Manager
- Geographically dispersed Domain resolution forwarding
- Forwards domain requests to appropriate servers by location
- Windows Azure Storage
- File hosting
- SharePoint 2010 Online - Atul Totre
- Dedicated SharePoint Online available for over 5,000 users
- Online Standard Infrastructure Limits
- 10 GB base + 500 MB per user account
- 100 GB max per site collection
- 300 site collection max
- 1 TB storage max per tenant up to 5TB
- 250MB file upload size
- 500 MB per MySite (separate from Site Collections)
- Backups: every 12 hours for 14 days retention
- Management with System Center - Rand Morimoto of CCO
- Configuration Manager (SCCM)
- Patching servers and OS's
- Deploying images/VMs
- Scheduled downtime patching and system grouping
- Quest Management Xtensions - Allow patching non-MS devices, Apple, mobile, etc.
- Operations Manager (SCOM)
- Monitoring
- Plugins: Cisco, SalesForce cloud, Office 365, VMware, etc.
- Logical service grouping
- Monitoring Agents: Run scripted scenarios remotely for client response time monitoring
- Dashboards
- VM Manager (SCVMM)
- Migration to Hyper-V
- Rapid PowerShell provisioning
- Automated Live Migration based on guest session utilization
- Self-service VM Guest Session creation - user's can automatically create VMs
- Data Protection Manager (SCDPM)
- File system, Exchange, SQL, SharePoint, Hyper-V Host/Guest, Windows 7
- Incident Management, Self Service Portal and Password Reset
- Opalis
- Workflow type GUI instead of scripting
- 2012 planned features
- Provision Hyper-V Host
- Cloud based monitoring (Azure)
- Server App-V Application Virtualization
- Application bubble isolates application install from OS
- PaaS Developer Tooling - Bruno Terkaly
- Windows Azure
- Compute
- Web Roles
- Worker Roles
- Storage
- Tables, Blobs, and Queues
- Tables are unlimited scalability, but not relational
- SQL Azure
- App Fabric
- Tools
- SQL Server Management Studio
- http://windows.azure.com web interface
- Visual Studio cloud projects
Friday, May 27, 2011
SharePoint Folder to Document Set Content Type Conversion Bug
Scenario
- You create a folder in a document library or have email enabled a library which adds folders
- You change the content type of a folder to a document set content type (from the folder properties)
- SharePoint 2010 has a bug where folders are not correctly converted to document sets. The following symptoms occur:
- Folder icon remains instead of the correct document set icon.
- The Document Set home page does not appear.
- Other document set functionality is not available via the ribbon.
- I developed an event receiver to fix this problem: http://foldertodocsetfix.codeplex.com/
Monday, March 14, 2011
SharePoint 2010 Limited Web Part Selection
Scenario
- You are working in a sub-site that does not inherit permissions.
- You want to add a web part from any Category other than "Lists and Libraries"
- You are not a site collection administrator, but do have full control on the current sub-site.
- You do not have access to the site-collection root.
- The other web part categories do not show up after clicking "Add Web Part"
- You need at least view-only access at the site-collection root level to see the additional web parts.
- These web parts are located in the site-collection web part gallery, which you need access to.
- Alternative: Consider making the sub-site a site collection via a managed path rather than a sub-site in order to completely isolate permissions from the root site.
SharePoint Server 2010 Development VM for VirtualBox or VMWare, Part 2
Continued from SharePoint Server 2010 Development VM for VirtualBox or VMWare, Part 1
This Part covers Application, Office Web Apps, and Mail Server installation
Install
This Part covers Application, Office Web Apps, and Mail Server installation
Install
- Boot up the virtual machine
- In VirtualBox or VMWare, share the folder on the host machine where the install files are
- In VirtualBox, Shared Folders appear under Network\VBOXSVR
- Run the SharePoint Designer Install
- Close when prompted to go online
- Open SharePoint Designer
- Select Use Standard Settings
- Close SharePoint Designer
- Mount the Office Professional Plus iso
- If you install the 64-bit version of Office, you will need to also install the Datasheet View fix: http://support.microsoft.com/kb/2266203
- I recommend installing 32-bit Office. The Datasheet View fix does not behave exactly the same as the 2010 version.
- Run the Setup
- Enter your license key
- Modify the InfoPath install files to install all files to the hard drive
- Continue through the installer
- Do not go online, close.
- Add mx record to DNS Server
- Open DNS Manager
- Forward Lookup Zones \ sp.local
- Right-click \ New Mail Exchanger (MX) ...
- Leave Host domain blank
- FQDN of mail server: sps2010.sp.local
- priority: 10
- Install hMailServer (lightweight alternative to Exchange)
- Browse to the mapped folder containing the hMailServer executable and run it
- Use external database engine
- Create a new hMailServer database
- Microsoft SQL Server
- DB address: sps2010
- DB name: hMailServer
- Use Windows Auth
- Service: SQL Server (MSSQLSERVER) (MSSQLSERVER)
- Password: same as admin password from part1
- Finish
- Now hMailServer Administrator should be open
- Connect to administrator on localhost
- Add Domain
- Domain: sp.local
- Advanced
- Catch-all address: administrator@sp.local
- Save
- Add User
- Address: administrator
- Password: same as admin password from part1
- Administration level: Server
- Active Directory Tab
- Domain: sp.local
- User Name: administrator
- Save
- Settings \ Advanced
- Default Domain
- sp.local
- Administration password
- same as admin password from part1
- IP Ranges
- Add
- Name: sp.local
- Lower IP: 10.0.0.1
- Upper IP: 10.255.255.255
- Save
- Exit
- Configure administrator user's email address and remove password expiration
- Open Active Directory Administrative Center
- Users
- Administrator
- General\Email: administrator@sp.local
- Account\Account Options: check "Password never expires"
- Disable IE ESC
- Server Manager / Configure IE ESC / Administrators = Off
- This will prevent the about:internet trusted site prompt within Outlook
- Fix loopback checking for the sps2010 hostname - fixes login via Firefox and login as another user
- Specify host names (Preferred method if NTLM authentication is desired) To specify the host names that are mapped to the loopback address and can connect to Web sites on your computer, follow these steps:
- Click Start, click Run, type regedit, and then click OK.
- In Registry Editor, locate and then click the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 - Right-click MSV1_0, point to New, and then click Multi-String Value.
- Type BackConnectionHostNames, and then press ENTER.
- Right-click BackConnectionHostNames, and then click Modify.
- In the Value data box, type sps2010, and then click OK.
- Quit Registry Editor, and then restart the IISAdmin service.
- Reset the Internet Explorer home page to http://sps2010
- Open Outlook 2010
- Configure Email account
- Name: Admin
- Email: administrator@sp.local
- Configure SharePoint outgoing mail server
- Open SharePoint Central Administration
- System Settings
- Configure Outgoing Email settings
- Outbound SMTP server: sps2010
- From address: no-reply@sp.local
- Configure User Profile Sync
- Add spservice user to the local administrator group
- Open Active Directory Administrative Center
- Users \ spservice \ Add to group
- Administrators
- This is necessary to start the User Profile Synchronization Service
- Grant Replicate Directory Changes permissions on sp.local to sp\administrator
- Open Active Directory Users and Computers
- Right-click sp.local and select Delegate Control
- Grant Full Control rights to Network Service on the C:\Program Files\Microsoft Office Servers\14.0 directory
- This prevents Application Event Log warning event ids: 1015, 1001, and 1004
- More Info
- Open SharePoint Central Administration
- Application Management
- Manage Services on Server
- Start the User Profile Service
- Use the spservice username and password
- Start the User Profile Synchronization Service
- Use the spservice username and password
- Reset IIS (cmd\iisreset)
- Manage Service Applications
- User Profile Service Application
- Before continuing, make sure the Forefront Identity Manager Service has started
- Task manager \ services \ services
- If not, you will receive an error: "MOSS MA not found"
- Synchronization \ Configure Synchronization Connections
- Create New Connection
- Connection Name: sp local users
- Forest Name: sp.local
- Account Name: sp\spservice
- Password: same as before
- Populate Containers
- Navigate to SP
- Check Users (first one)
- Synchronization \ Start Profile Synchronization
- Start Full Synchronization
- Wait for this to complete
- Refresh the page until it says Synchronizing, then wait for about 20 minutes until idle
- Verify that the sp\administrator profile contains the updated email address. If not, manually populate.
- Open SharePoint Workspace
- Create a new account
- Name: Admin
- E-mail: administrator@sp.local
- check "Allow me to recover my account later"
- Finish
- Install Visual Studio 2010
- Mount the Visual Studio 2010 Premium CD iso
- Run the installer
- Install Full
- Good thing we allocated enough disk space :-)
- Ignore the "SQL Server Express Service Pack 1" install error
- We installed the full version of SQL Server, not SQL Express
- Finish and do not check for updates
- Set to run as administrator
- Browse to the Visual Studio 2010 shortcut in the start menu
- Right-click the shortcut and select properties
- Select Advanced...
- Check "Run as Administrator"
- OK, OK.
- Install Visual Studio Team Explorer 2010
- Mount the Visual Studio Team Explorer 2010 CD iso
- Run Setup.exe from the CD
- Step through the install
- Finish
- Install Visual Studio 2010 Service Packs - SP1 at time of article
- Run the VS10sp1 installer
- Step through the install
- This downloads realtime, so make sure you have a high-speed internet connection
- Wait a very long time for this to download and install
- When prompted, reboot the machine
- Install Firefox
- After the install, allow NTLM password save for sps2010
- Enter “about:config” in the address bar of Firefox and hit [Enter]
- Do a search on “ntlm“, at least three entries should appear
- Double click the second entry and set the value of “network.automatic-ntlm-auth.trusted-uris” to “.sp” (do not forget the dot)
- Close Firefox
See http://lichao.net/eblog/how-to-log-onto-sharepoint-server-in-ie-and-firefox-automatically-without-being-asked-username-and-password-200902244.html for more info - Install CodeRush Express
- Install PowerGUI
- Add the SharePoint PowerPack from the PowerGui Administrative Console
- Open PowerGUI Script Editor, add the SharePoint Library from File / Powershell Libraries
- Apply the .Net 4 fix
- Install Google Chrome
- Install Safari
- Install Snagit
- Install Firebug
- Install Fiddler
- Install Paint.Net
- The remaining instructions have not yet been vetted. Please check back later for more info.
- Install Windows Live Essentials
- Shut down and take a snapshot named "SP Dev Workstation"
- Start the Virtual Machine
- Install Office Web Apps
- Shut down and take a snapshot named "SP Dev Workstation with Office Web Apps"
- Apply any SharePoint service packs as needed
- We do this last so you have the option of testing against different SharePoint builds and testing Service Pack deployments against existing Sites
- Shut down the virtual machine and backup to another machine
- Distribute to the developers in your team and enjoy!
Saturday, February 12, 2011
VoteMatrix, Politics made Personal!
VoteMatrix is seeking ASP.Net / SQL developers,
political analysts, and investors.
If you or anyone you know would like to
partner with us, please message me.
The site is written using Asp.net, LINQ to SQL, and the Dynamic Data
Framework.
Thank you,
Robert Freeman
President VoteMatrix
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
Scenario
- You want a SharePoint Server 2010 virtual machine for local development work.
- This may be shared throughout the development team.
- This can be hosted on a shared workstation or server via Remote Desktop or on your personal workstation or laptop.
- Snapshots of the VM can be taken at any time.
- Make sure you have the appropriate licenses for each instance of the VM.
- MS has some good options for VM licensing and development licenses with an MSDN subscription
- MOSS 2010 Standard or Enterprise
- You want to use non-expiring app licenses
- You want the VM to have its own domain and email capabilities
- You want the following components (64bit where available)
- Windows Server 2008 R2
- AD Domain Controller
- Remote Desktop Services
- SQL Server 2008 R2
- Analysis Services (SSAS)
- Integration Services (SSIS)
- SharePoint integrated SQL Server Reporting Services (SSRS)
- SharePoint Server 2010
- SharePoint Designer 2010
- MS Office 2010 Pro Plus
- Visual Studio 2010 Premium (x86)
- Visual Studio Team Explorer 2010 (x86)
- Visual Studio SharePoint Power Tools
- SharePoint Workspace
- CodeRush Xpress
- Google Chrome
- Firefox
- Safari
- SnagIt
- Firebug
- Fiddler
- Paint.Net
- Live Essentials
- Office Web Apps
- hMailServer
- PowerGUI
- with SharePoint PowerPack
- 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
- 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
Monday, February 7, 2011
SPTechCon 2011 San Francisco
Sessions
- Monday
- PerformancePoint Services - A Service in Three Acts
- Peter Serzo
- Building Business Applications Using BCS
- Fabian Williams
- Tuesday
- Developing SharePoint 2010 Applications with Visual Studio 2010
- Steve Hansen
- Upgrading to SharePoint 2010 from SharePoint 2007, Part 1 and 2
- Todd Klindt and Shane Young
- SharePoint 2010 User Profile Store
- Joshua Haebets
- What's New with SharePoint 2010 Lists & Schemas
- Steve Hansen
- Wednesday
- Going Offline with SharePoint Workspace
- Joshua Haebets
- Vendor Exhibits
Friday, February 4, 2011
Search Center "Navigate Up" Breadcrumb Displays Search Box
Scenario
Resolution
- You change the Search Center Site's master page to v4.master
- You attempt to use the "Navigate Up" folder icon breadcrumb
- The "Navigate Up" link does not display correctly. Instead, the search box and possibly the tabs appear within the popup.
Resolution
- Follow this guide to apply the Navigate Up control to the Search Center Site's minimal.master.
- Change the site's master page to use minimal.master
Thursday, February 3, 2011
The data types of the following form fields do not match the SharePoint list
Scenario
- You have a custom InfoPath form applied to a SharePoint 2010 list.
- You attempt to edit or view an item in the list.
- Error Message: The data types of the following form fields do not match the SharePoint list:
- This issue is due to a missing or extra field in your InfoPath form.
- You can go to List Settings / Form Settings to revert back to the default form.
- Alternatively, you can edit the InfoPath form and fix the fields listed in the error.
Thursday, January 20, 2011
KwizCom Invisible Lookup Control
Scenario
- Installed KWizCom SharePoint Cascading Lookup Plus
- The web application you are configuring had an older version of AJAX extensions installed.
- The dropdown will not show up
- Or the entire page will continuously refresh
- This happens when the web.config is partially configured for 3.5.0.0 AJAX
- There will be an error in the Application Event Log
- The server tag "asp:scriptmanager" is ambiguous
- Update the web application's web.config to use the 3.5.0.0 AJAX extensions
- You can do this by ensuring .Net 3.5 is installed and then creating a new test web application
- The new web application should have the .net 3.5 AJAX configuration in the web.config
- Use a text comparison tool to replace the appropriate sections
- Make sure to backup the old web.config before changing
Tuesday, January 18, 2011
Customized Fab 40 Help Desk Template
Scenario
- Develop an enterprise Help Desk application using MOSS 2007 with SP Designer 2007
- Also include the following features
- Custom alerts
- State change based notifications
- State machine workflows
- Customer notifications
- Change Request integration
- Promotion from Ticket
- Child Work Items
- Work Item integration
- Key Perfomance Indicators
- Service Level Agreement (SLA)
- Calculated Fields
- Deadline notification
- Approval workflows
- Custom Fields
- Custom Add Item Forms
- Cascaded Dropdowns
- The Fab 40 Help Desk template is a basic starting point and lacks the above features
- I recently architected a solution implementing these requirements. It's too much info to post here, but please contact me for details on how this can be accomplished.
- Parent child relationships require a 3rd party Cascading Lookup control
Tuesday, December 28, 2010
Emailed HTML Rich Text Column Relative URLs
Scenario
- You have a list with a multi line text column with Enhanced Rich Text.
- The item contains links from the current server.
- You are emailing the contents of that column via SharePoint Designer 2007 Workflows
- The hyperlinks in the email do not work.
- The server name was automatically stripped from the URL, making a relative path.
- Workaround:
- Add the following note to the field description notifying users of the problem and the workaround.
- "Use http://TinyUrl.com for hyperlinks and images on this site. This will prevent emailed relative links."
- This works because SharePoint only strips URLs it recognizes as local URLs
- These are usually defined in the Alternate Access Mappings
- You can use any URL redirector
- Fixes:
- Use Visual Studio Workflows and replace the Relative URLs with Absolute URLs
- Intercept the outbound emails (on the SharePoint or Email servers) and replace
- Use a custom Workflow Action that prepends the servername into the URLs
- Use a different field type. Try different custom Rich Text editor columns.
Monday, December 6, 2010
Help Desk Template Sealed Columns
Scenario
- You wish to install the MS Fab 40 Help Desk template.
- You need to change the values in, description of, or delete the Status, Priority, or KBArticle choice or lookup columns/fields.
- These columns are Sealed in the list definition. Therefore, you cannot delete or edit them.
- Note: The Priority column seems to inherit initial values from the standard Priority site collection column
- If you haven't done much with the template, you can unseal the columns in the site definition. You must do the following on each FEW server. You must then recreate any ServiceRequest lists.
- Navigate to C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\TEMPLATE\FEATURES\HelpDeskServiceRequestsList\servicerequest
- Edit schema.xml
- Replace all instances of Sealed="TRUE" with Sealed="FALSE"
- If you have made changes, you can unseal all columns except Priority using SharePoint Manager 2007. Priority can be hidden from forms and views or may be removed programatically. Or alternatively, you can change the list definition as above, create a new ServiceRequest list and move the items from the old list to the new.
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
- 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
- Cascading Updates (and possibly deletes)
- Maintain Referential Integrity
- Updates made in one list are reflected in the lookups.
- Keyboard filtering from the dropdown and multiselect interfaces
- Autocomplete, find as you type
- Cascading drop-down filters
- One or more dropdowns to filter the final dropdown
- Ex: State, County, City
- Lookup filters (likely based on a List View)
- Ex: Only show my Cities, or only show Active Items in the lookup
- 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.
- AJAX
- We don't want to postback when applying realtime filtering
- We may not want to preload all the values for very large lists
- May be used in a Calculated Column
- Ideally the text field and ID field would both be accessible
- 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
- Link to add an item to the lookup list from the lookup column interface
- Cross site support
- By default the list must be in the same subsite as the lookup column
- 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.
- 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.
- Matches the SharePoint look and feel
- Ex: Inherits themes/styles for drop down
- Can be created as a site column
- Sometimes only implemented as a list column.
- Conversion tool
- Converts lookup columns to custom lookup
- Converts custom lookup back to a regular lookup
- Allow filtering from a multiselect
- Ex: Filter lookup of Cities when multiple States are selected
- Set the lookup column's default value
- Referential Integrity (2010 new feature)
- Cascade or disable updates/deletes when the item is used in lookups elsewhere
- Not available on a multi-select
- 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
- 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
- For this scenario, use SharePointBoost's LookupBoost or Sparqube's Lookup Tracker
- 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
Monday, November 8, 2010
From SmartPart To Visual Web Part Demo and Slides
Here is the solution and slides for my presentation on SharePoint SmartPart and SharePoint 2010 Visual Web Part development.
Slides and Project
I updated the slides to add a section on uploading images to an image library, as in my prior post. I also updated the custom property section of the slides to reflect the need to implement the custom property in the Web Part class rather than the User Control class.
I also updated the slides to include a quick intro to SharePoint for presenting to a .Net usergroup.
Slides and Project
- PowerPoint Presentation and Visual Studio 2010 Solution
- The outline of my session is in the Presentation Notes.
I updated the slides to add a section on uploading images to an image library, as in my prior post. I also updated the custom property section of the slides to reflect the need to implement the custom property in the Web Part class rather than the User Control class.
I also updated the slides to include a quick intro to SharePoint for presenting to a .Net usergroup.
Tuesday, October 19, 2010
Adding Pictures to a Picture Library via a VS2010 Module
Scenario
- You would like to add some Images to an existing Image Library in your SharePoint site using a Visual Studio 2010 SharePoint Project.
- You do this by following these steps.
- Add a module to the project
- Rename the module to the Image Library name
- Set the module tag's url and path properties to the Image Library name
- Leaving spaces in place
- Ex: <Module Name="Recipe Pics" Path="Recipe Pics" Url="Recipe Pics">
- Add the images to the module using Visual Studio Solution Explorer's "add existing item" option
- Add the Type="GhostableInLibrary" tag to the Elements.xml
tag for each image - Ex: <File Path="FriedOkra.jpg" Url="FriedOkra.jpg" Type="GhostableInLibrary"/>
- Run the project to deploy the solution
- This should run without errors
- The images are in the Image Library, but the thumbnails on the list view and the item views are missing. The Item view displays icjpg.gif instead.
- This issue is also documented on Eugene Rosenfeld's blog.
- Check-out and check-in each image you just added
- This creates the appropriate thumbnails, but this is a manual process and will be wiped out next time you redeploy the module
- One option is to add a feature that will check out and in each image. An alternative is to add the thumbnails directly to the module, although this has 1 issue as outlined below.
- To add the thumbnails to the module, follow these steps
- On the Image List's default view page you should see the "t" thumbnails for your images
- Save each "t" thumbnail to disk in an "_t" subfolder
- Replace any Html Encoding with the original characters
- Change %20 to a space
- Click on each image's view page and you should see the "w" thumbnail
- Save each "w" thumbnail to disk in an "_w" subfolder
- Replace any Html Encoding with the original characters
- Change %20 to a space
- Issue: The "_w" images do not work correctly in 2010 with this method. They are uploaded, but the default item view will not display them.
- Add _w and _t folders to your module in Visual Studio
- Add existing items to each module folder from the above subfolders
- Add the Type="GhostableInLibrary" tag to the Elements.xml
tag for each thumbnail image
Monday, July 12, 2010
Download for Search Server Express 2008
Scenario
- You would like to upgrade WSS 3.0 to Search Server Express 2008 or would like a fresh intall of Search Server 2008 Express.
- Microsoft now redirects most of the download pages to Search Server 2010.
- Download the files here: http://www.microsoft.com/enterprisesearch/en/us/search-server-express.aspx#first-tab
Thursday, June 17, 2010
CQWP Expiration Date issue
Scenario
- You would like to filter your Content Query Web Part by Expiration Date. You would like items to show up when any of the following are true (OR filter)
- They are not expired (Expiration is greater than or equal to [Today])
- Have no expiration date (expiration is null)
- There is no Null option in the CQWP Web Part Edit Toolpane, therefore you can only enter the first criteria above. Therefore, when the Expiration field is left blank (null date), the value is excluded from results.
- One workaround is to use a Data View web part via SharePoint Designer instead of the CQWP. This will allow you to display a similar format, while adding a null date to the filter.
- Use the a href="/{@FileDirRef}/DispForm.aspx?ID={@ID}" syntax to include a hyperlink in the title
- The ... (more) feature will not be included
Wednesday, June 16, 2010
Thursday, May 20, 2010
Sacramento SharePoint Exchange 2010! June 2-3
I will be presenting on Visual Web Part development at the Sacramento SharePoint Exchange June 2nd and will attend June 3rd. See you there!
http://www.thespexchange.com/Pages/default.aspx
http://www.thespexchange.com/Pages/default.aspx
Monday, March 22, 2010
Dropbox, LiveMesh, and ZumoDrive! Free cloud storage for the masses.
How did we ever do without cloud storage???
I've been a long time user of GetDropbox and have recently begun using ZumoDrive and Windows LiveMesh/SkyDrive and am very impressed with how useful and easy to use they are. Before GetDropbox, I was an AOL XDrive user (pre-closure) and prior to that I minimally used Yahoo Briefcase! Dropbox, LiveMesh, and ZumoDrive are must-haves and are much easier to use than any other free service so far. MS and Google also offer some document specific services via Office Live SkyDrive and Google Docs storage offerings. These are more limited regarding synchronization, supported file types, and ease of use. However, they do offer more free storage and free versions of document editing/viewing applications.
LiveMesh is Microsoft's folder synchronization application that supports syncing to the SkyDrive cloud storage system as well as PC to PC. It is packaged as part of Windows Live essentials which also includes the extremely useful Windows Live Photo Gallery (facial recognition tagging). All for Free!
How They Work
I've been a long time user of GetDropbox and have recently begun using ZumoDrive and Windows LiveMesh/SkyDrive and am very impressed with how useful and easy to use they are. Before GetDropbox, I was an AOL XDrive user (pre-closure) and prior to that I minimally used Yahoo Briefcase! Dropbox, LiveMesh, and ZumoDrive are must-haves and are much easier to use than any other free service so far. MS and Google also offer some document specific services via Office Live SkyDrive and Google Docs storage offerings. These are more limited regarding synchronization, supported file types, and ease of use. However, they do offer more free storage and free versions of document editing/viewing applications.
LiveMesh is Microsoft's folder synchronization application that supports syncing to the SkyDrive cloud storage system as well as PC to PC. It is packaged as part of Windows Live essentials which also includes the extremely useful Windows Live Photo Gallery (facial recognition tagging). All for Free!
How They Work
- Each service provides a limited amount of free online storage. Some offer extra space for referrals (GetDropBox) or for running through the tutorial. Extra storage is also available for a reasonable monthly fee.
- The storage is automatically synced directly to a drive or folder on your computer or select smartPhones via a downloadable application which integrates into the OS.
- Working on files offline will sync once connected
- No manual intervention required
- SkyDrive's sync app is called LiveMesh
- On public terminals or without the application, you can still access the files via their web sites.
- A few versions of each document are stored by each service to keep track of changes and roll-back accidental saves.
- Currently, ZumoDrive keeps unlimited versions.
- LiveMesh does not version.
- You can share the files with friends or the public as desired (Think FTP). This is very handy for CraigsList posts, linking to a file instead of attaching it to an email, etc.
- ZumoDrive currently offers larger paid plans but GetDropbox is slightly less expensive for its upgraded plan. SkyDrive (LiveMesh) offers the most free space
- Prices and plans will probably even out in the future.
- GetDropbox adds a folder to your MyDocuments folder, whereas ZumoDrive adds a fixed drive letter
- ZumoDrive shows how much space is remaining as the disc size.
- ZumoDrive offers unlimited Versioning, whereas GetDropBox is limited, LiveMesh does not version (SkyDrive can version select doc types, but no integration with LiveMesh)
- LiveMesh has some exclusive bonuses
- Internet Explorer favorites/bookmark synchronization
- Unlimited file/folder synchronization between connected computers/devices
- This is great for those big videos that are too large for the cloud storage solution
- Favorites / Bookmarks
- Live Mesh Favorites synchronization
- Google Bookmarks
- With Toolbar and List integration
- Image/Photo storage
- Shutterfly
- My Preferred since full quality images are retrievable via a Backup DVD purchase and full quality images are saved
- Too many to list. :)
- Events and Invitations
- Evite
- Pingg
- Meetup
- Sportsvite
- Social Networking
- Google+
- Online Documents/Collaboration
- Office Live SkyDrive (Office Web Apps)
- Google Docs
- Google Lists
- Office 365 / BPOS / Microsoft Office Online (Pay Service)
- SharePoint, Exchange, Communicator/Lync, and Live Meeting
- When you need collaboration for a small to medium sized office/group
- Includes Office Web Apps
- Priced per user with a minimum of 5
Saturday, January 30, 2010
Asp.Net Alternative To SPSecurity.RunWithElevatedPrivileges
Scenario
- You would like to run code as the Application Pool user rather than impersonated/delegated logged-in user within a SharePoint Application
- You would like to run the same code outside of SharePoint in a standard Asp.Net environment or will be developing on a workstation where SharePoint is not installed
- You can use the System.Web.dll's Hosting.HostingEnvironment.Impersonate() method to wrap the elevated code
Using (System.Web.Hosting.HostingEnvironment.Impersonate())
'Elevated Code Here
End Using
Friday, January 15, 2010
IE Bug: Embedded CSS Styles within AJAX UpdatePanel
Scenario
- You have a Web UserControl with embedded <style> tags within an UpdatePanel.
- Internet Explorer: After an Asynchronous postback some of the Styles are no longer applied.
- In my case the height property on a div. This was confusing since the code was expanding/collapsing the div, but the bug was ignoring the style.
- If you check the source via IE Developer Toolbar you will see that the style is supposed to be applied.
- I was able to resolve this by moving the <style> section to the bottom of the UpdatePanel.
- I don't know why this works.
- The best solution is to move the <style> section to the Master Page or Aspx Page <header> section.
- This is the only approved location for embedded Styles.
- You can alternatively include a css file.
- Another alternative is to RegisterClientScriptBlock the style or an external css reference from the UserControl
- See this blog.
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<style type="text/css">
div
{
display:block;
overflow:auto;
}
.collapsed
{
height:50px;
}
.expanded
{
height:inherit;
}
</style>
<asp:Panel CssClass="collapsed" runat="server" ID="pnlMain">
1<br />2<br />3<br />4<br />5<br />6<br />
</asp:Panel>
<asp:Button ID="btnExpCol" runat="server" Text="Expand" />
</ContentTemplate>
</asp:UpdatePanel>
Subscribe to:
Posts (Atom)

