29
Jan

Below are the rest of my observations on SharePoint 2010. Apologies for the delay in publishing these, I’ve been running a .NET training course internally in work.

  • Team sites now have a pages library
  • Wiki linking is built into pages. You can now wiki link to pages, lists, items and docs
  • Silverlight is built-in to SharePoint’s ‘Create’ dialog. Apparently SL can be made accessible. Not sure if this is the case with this Silverlight dialog. Need to check accessibility
  • Pages check for changes every minute and auto save if you have made any.
  • Built-in Rich Text Editor has multiple levels of undo
  • Versioning is on by default.
  • New master pages exist. v4 is the latest. Changes here are carried through to site settings pages. Also have a minimal (no ribbon), simple (for error pages) and default (legacy)
  • Accessibility is covered by everything being AA and XHTML. Not sure if this applies to central admin though.
  • Text editors all render to XHTML
  • You can add buttons to the SP Ribbon. I tried this and it’s a nightmare….
  • You can associate more forms with lists, rather than New, Edit & Display. This includes InfoPath forms. Done through SPD
  • XLSTViewWebPart is used for all list data now. More efficient and custom XSL can be supplied.
  • Ajax settings can be configured on lists, i.e. refresh interval, manual refresh button, enable/disable Ajax etc.
  • Lists can support inline editing (enabled in SPD) and a rating column (think star’s *****) , although InfoPath doesn’t support the latter in it’s designer.
  • 2 versions of InfoPath are being banded about, a designer and a ‘Filler’
  • A new post processing synchronous event now exists for lists that can be used to give feedback to a user after an item has been added.
  • Cancelled events can redirect to a custom page that displays within a SP Modal Dialog
  • Event submitters can be determined. In WSS sometimes the event owner would be assigned to a workflow/system account. MSF holds details on who raised what event.
  • Built-in SP Explorer doesn’t expose bound list events. This is poor. No visibility if a list has 34 events already bound to it.
  • Lists now support referential integrity (master detail) and cascading deletes.
  • List joins can be made through queries (join up to 6 lists). Limit of 800kb for return results
  • Projected fields now exist within lists, i.e. on a child list display a field from the parent, i.e. parent:company name
  • MSF (Microsoft SharePoint Foundation) now supports 50m list items
  • Throttling available from central admin for list queries. Can be time based (i.e. only allow this quota between 9-5pm). Settings available to allow/deny overrides via the object model. Administrator has a lot of control on query results.
  • Unique column constraints available on column types. Company name can be made unique. Requires indexing and depends on SQL Collation
  • Linq To SharePoint removes CAML Pain, but you need to generate SP Class Entities via a tool in the 14 hive called SP Metal. Basically point SP Metal at your SP Site and it generates a load of strongly typed C# classes.
  • Lists are still stored as STP files, despite site templates being converted to WSP’s.
  • Columns now have validation. Syntax similar to Excel, i.e. [CompanyEmployees] >= 50

Client Object Model

  • Consistent interface across .NET, Silverlight, Javascript. Same (to a degree) method names. Obviously some differences in type support, i.e. JS’s NAN
  • ‘Client Context’ used to batch operations
  • All communications go through a client.svc WCF Service
  • Requests appear to be sent as XML, responses as JSON
  • New Silverlight webpart. XAP files deployed to webparts folder. XAP file is simple a zip for cross platform operation
  • LINQ To SP not provided within Silverlight. ADO.NET Data services used instead
  • Uploading an office theme for use in SP2010 doesnt work in this beta.
  • SharePoint ‘Web application service’ service under central admin is used to sync your WFE servers. It’s dangerous though because it starts deleting your IIS files when you stop it. It will recreate them when restarting but any web.config changes etc you’ve made are gone

Workflows

  • Workflows can now run against a site & list items. Event handlers needed to initialise
  • Workflows can listen to notifications from external systems before resuming excution. Uses EDE (external data exchange). Long winded and complicated process
  • Workflows can now be added & deployed via the new Feature packager
  • Workflows can be created in Visio, exported to SPD and then again brought into VS2010. You can move between Visio & SPD easy enough but it seems that when it enters VS2010 it can’t be exported again to the others
  • No version control in SPD other than SP2010’s list version control.
  • New workflow events (started, completed)
  • New visio web plugin displays visually the workflow path. It’s ok. Doesnt center workflow properly on load. Bit like page viewer web part
  • SSP is gone, replaced by Service Providers. These can be load balanced & moved across servers as required.
  • New Word automation service can be used to convert docs to PDF, Word 2003 etc. Word Open XML SDK intended for doc manipulation. Will still need Aspose.Net for Word 2003 docs
  • Developers can create their own Service Providers. Looks reasonably complicated. Specific usage scenarios, i.e. intense calculations etc

BCS

  • BCS is the new BDC
  • Entities are now ECT’s, External Content Types
  • BCS is now supports read/write to external systems
  • SPD used quite well to create connections and CRUD screens
  • SP2010 now has external lists that can expose data from external systems. Appears that workflows now support for these list types
  • SSO details now stored in new Secure Store Service
  • Groove (SP Workspace) seemed decent enough. Change I made in Groove went back to SP2010 and then on out to external system (SQL DB)

ECM

  • Folders now supported in Page Libraries
  • new content deployment option ’snapshot’. Time based snapshot sent between servers. Requires Enterprise SQL ‘05 or ‘08.
  • New web analytics & reports. Looked ok but definitely not google contenders. Didn’t appear to be a means to export
  • End users can now tag metadata to content themselves in addition to standard method
    Record management now possible ‘outside’ record center
  • New ‘Unique Document Id’ service. Every document given a unique ID. Stays with it even if moved. Apparently has limited configuration options. This ID when used in conjunction with a specific URL (by sticking the ID on the query string) will take people to the document regardless if it is moved within the same document library or across libraries within a site collection
  • Hold actions no longer tied to record center
  • New document set. Content type composed on sub content types. ‘Document Set’ feature needed to be activated for it to work.
  • Doc sets have versions and workflows can be run against them and constituents. Possible use is WF to check that all docs have been completed before moving to next stage.

Search

  • 3 Levels of Search for SP Foundation Server
      • Basic – Search Server Express 2010
      • Intermediate – SharePoint search 2010 (Index outside SP & Filestores)
      • Advanced – FAST can accept ‘push’ updates from code
  • JDBC Support now included
  • SP2010 has search connectors for Exchange, Notes, Documentum, FileNet, Opentext & custom .NET connector
  • Support for search attachments
  • Search web parts now unsealed. Can be overridden.
  • New ability to override a query before its executed and results before display to users
  • Search can have multiple levels of ranking models. Can be manipulated via PowerShell

BI

  • BI Includes status indicators (as before, i.e. red amber green), chart web part, Performance Point Services, Excel Services, BI Search, Visio Services (Visual representation of KPI’s in Visio)
  • Reporting Services doesn’t ship with 2010. Separate download
  • BI Search adds Excel & Reporting services to search. Search for ‘delivery’ & spreadsheets with query are returned & filtered on query
  • BI Centre template – Starting point with BI Portals
  • New server product ‘Gemini’ provides in memory olap manipulation. Seamless for developers, no need to touch it.
  • Little change is PerformancePoint Services
  • Office Excel Web app looks decent.

Sandbox Solutions

  • Site collection owners have power to deploy WSP’s to the sites sandbox, which is called ’solution gallery’
    Sandbox basically uses a cut down SP2010 Object model.
  • Code executes in a separate process ‘Microsoft SharePoint Foundation User Code Service’
  • A validation framework exists that can scan & validate wsp’s that are uploaded to the sandbox. Validators can revoke permission for the wsp to execute
  • Sandboxed solutions are isolated to their own site collection.
    Two versions of the Microsoft.SharePoint.dll exist. The full version and the subset.
  • When you create a new VS2010 project, you’re prompted if you want full trust of sandbox. If you select sandbox it ’still’ uses the full dll. No compile time checking that you should be using a restricted sharepoint dll.
  • Sandbox apps use quotas. These are configurable and cover a varied number of scenarios such as process memory, db calls etc. For example, 20 db calls = 1 resource point. It you hit the max quote your web part/code is halted by SharePoint
  • A timer job resets quotas at the end of the day.
  • Doesn’t appear to be a means to determine what caused your quota to max out
  • Quotas set via central admin or powershell
  • I feel that setting quotas could be a dark art. Users * web parts * queries/cpu executions etc
  • No means to promote from sandbox to live. Would require a removal & redeployment
  • At runtime, sandbox wsps are retrieved from the solution gallery. Any required dll’s are extracted to a temp folder, loaded into memory and immediately deleted.
  • It doesn’t look like you can debug sandboxed apps. There’s A) no place for PDB files and B) the user code service is a SP Service under central admin. No way to attach to it as far as I can see.
  • Sandboxed apps can be load balanced
VN:F [1.9.2_1090]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.2_1090]
Rating: +1 (from 1 vote)
Comments Off
25
Jan

While working on the Timer job I talked about in my previous post, I also had a problem retrieving the value of a particular field.

I needed to get the value from a field called ‘Company’, but when I tried to get the value for Company through my code it brought back the value for the field ‘Position’.

In my case, I found out this was because these where not the original field names. In SharePoint a field has an internal name. This internal name of a field is set to the fields title when it is originally created and never changes.

There is an easy way to find a field’s internal name without resorting to code. If you sort a list by a field, the url will contain the fields internal name as the ‘SortField’ Parameter.

When I sorted the list by ‘Company’ I found it had an internal name of ‘Linktitle’:

http://…/All%20Open%20Items.aspx?SortField=LinkTitle&SortDir=Asc

and when I sorted by Position:

http://…/All%20Open%20Items.aspx?SortField=Company&SortDir=Asc

This explains why the code was returning the Position and not the Company.

I changed the code to pick up the value of field ‘LinkTitle’ and everything now works fine.

VN:F [1.9.2_1090]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.2_1090]
Rating: 0 (from 0 votes)
Comments Off
25
Jan

Just a tip for anyone who may be working on a SharePoint Timer job, this could save you a lot of hassle and head scratching…

I have been recently working on a simple enough Timer job. The timer job runs once a day and checks a date field for every item within a list.

if the checked items date is the same as the current date, a notification email is sent to the user who owns / created the item. As I said, simple.

Unfortunately I found out the Timer job runs twice in quick succession instead of once. I thought I must have activated it twice in the code, but after much debugging I found that It had only been deployed and activated once.

Eventually I found that the problem was being caused by a property called SPJobLockType.

This property defines how the instance of a timer job runs.

The value set in the timer job was SPJobLockType.ContentDatabase. This value causes the timer job to be run once for every content database on the farm. We have 2 content databases on the farm, therefore the job was running twice.

I changed the value to SPJobLockType.Job. This locks the job and doesn’t allow it to run more than once on a server and solved my problem.

VN:F [1.9.2_1090]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.2_1090]
Rating: 0 (from 0 votes)
Comments Off
18
Jan

One of the big claims in the WCM space for SPS 2010 was it’s conformance out-of-the-box with the WCAG version2 standard to the AA level.

It’s only at Beta release at the minute and it’s subject to change but early indications look like this:

(NB: i have used a couple of common Accessibility Audit tools and am looking specifically for WCAG AA errors. NNB: While these tools are useful from an Audit perspective, there is no satisfactory measure of accessibility other than a proper evaluation with disabled users).

Also testing with client-side scripting (JavaScript) disabled as there needs to be an acceptable level of functionality without relying on this.

Team Site Template – Home Page

Total Validator (www.totalvalidator.com): Total errors found: 524 (Parsing: 7, HTML: 467, WCAG v2 A: 49, WCAG v2 AA: 1)

WAVE (http://wave.webaim.org/): WAVE has detected 12 accessibility errors

Disable JavaScript: Site Actions button doesn’t display a menu, none of the Ribbon controls work, ‘My Profile’ button doesn’t work, Search doesn’t work, Tags / Like It doesn’t work

Team Site Template – Document Library (Ribbon View)

Total Validator: Total errors found: 449 (Parsing: 12, HTML: 413, WCAG v2 A: 23, WCAG v2 AA: 1)

WAVE: WAVE has detected 13 accessibility errors

Disable JavaScript: Site Actions button doesn’t display a menu, none of the Ribbon controls work, document context menu doesn’t work, Search doesn’t work, Tags / Like It doesn’t work

Publishing Site Template – Home Page

Total Validator: Total errors found: 210 (Parsing: 3, HTML: 193, WCAG v2 A: 14)

WAVE: WAVE has detected 3 accessibility errors

Disable JavaScript: Site Actions button doesn’t display a menu, Help button doesn’t work, Search doesn’t work, Search field pre-populated with text.

Summary:

These figures are not totally accurate as several of the ‘errors’ flagged by these tools can be safely ignored, but we can see that things may not be as clear cut as stating that SharePoint 2010 has out of the box compliance with WCAGv2.

VN:F [1.9.2_1090]
Rating: 7.0/10 (1 vote cast)
VN:F [1.9.2_1090]
Rating: 0 (from 0 votes)
Comments Off
14
Jan

Hi all,

So I’m on the SP2010 MS Ignite training in Dublin. The course is a beta but its providing useful. Here’s some observations:

  • STSADM for the most part replaced by Powershell. Aim is that STSADM will be deprecated in the next versions of Sharepoint. Powershell specific sharepoint version exists and users can create scriptlets for SP manipulation.
  • We now have a 14 Hive. Bye bye 12!
  • VS2010 is running on Windows Server 2008 with Hyper V. 8GB Ram and it runs ‘ok’. VS2010 is fickle and crashes a lot. Our laptops will struggle. Not sure even a central dev server will cut it.
  • New facility for mapped folders within VS2010, i.e. a mapped images folder that maps directly to the 14 hive images
  • Contents=1 still works for webpart maintenance page
  • Support for Visual Webparts (ascx files) as a project type.
  • Great new facility within VS2010 for managing features & solution packages. Very easy to move features about. Need to find out if this is scriptable. Best thing I’ve seen so far.
  • SharePoint explorer within VS2010 looks ok. Read only view of local sharepoint installs only. Currently available free tool SP Explorer is better than this but you can knacker your SP environment with it.
  • WebTemplates are replacing Site Templates. All WSP based. Can be exported and brought back into VS2010 & customised. I.e user creates site, exports into VS2010 and boom, rebuilability (new word!)
  • Features now have versions and dependencies (one level deep). With versions you can specify what gets upgraded.  We’ll need practice with this one..
  • We can target event receivers against the top level site ‘RootWeb Only’. Possibility that a ‘Child Web Only’ attribute will be available in RTM version
  • Can also target event receivers againts specific lists.
  • Workflows can now be associated to sites.
  • Features now have a property bag
  • Developer dashboard is good. At the moment it can only be turned on/off via code (PS or c#)
  • SharePoint can toggle UI Versions. Version 3 is the ‘classic’ look. Version 4 is the ‘ribbon’
  • Webtemplates are stored in the solution gallery. Site Template Gellery is gone.
  • Solution Sandbox stores content within the content db. I suspect this may use SQL Server 2008′s disk based storage.
  • Solutions now have a ‘resource point’ system. Limits can be assigned to ensure that a solution doesnt hog resources.
  • We can specify that solutions can be upgraded.
  • New events exist, i.e. site added

Davey

VN:F [1.9.2_1090]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.2_1090]
Rating: 0 (from 0 votes)
Comments Off
12
Jan

Poor Spencer Harbar,  he has produced some very good, detailed and useful  articles on applying Kerberos and then TechNet publish an article “Using Kerberos for SharePoint Authentication”  full of the very points that may work in the lab but not necessarily in the real world.   I sense he was a bit miffed on writing this article!

He has listed the main points to be aware of in this article on his blog post:

TechNet Misinformation: How NOT to use Kerberos for SharePoint Authentication

You will be able to find other Kerberos related articles in his blog.

VN:F [1.9.2_1090]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.2_1090]
Rating: 0 (from 0 votes)
Comments Off
-->