- Office 2007 is according to Microsoft the biggest office release for the next 10 years.
- Note that you still cannot put code behind a SharePoint page, although as with previous SharePoint releases these pages can reference existing dlls. Note that you can put asp.net code inline though. I’m not 100% sure whether this was possible in SharePoint 2003 / wss2 as this ran through an isapi filter (although some basic code such as response.write was possible) – SharePoint 2007 runs straight through asp.net.
- WSS3 does not ship with and shared services (e.g. advanced search, excel services, InfoPath server, bdc – note to self: need to confirm exactly what’s not provided.
- SharePoint now has multi value lookup fields.
- You can also now have folders in lists.
- SharePoint lists can all apparently receive emails (a new item is created when they do).
- Calendars can be overlaid in outlook (SharePoint and outlook calendar – although they don’t fully sync).
- New projects tasks list – lightweight project solution. Not meant to compete with MS Project. This list has a gant chart view.
- There is now extensible support for custom email handlers – Microsoft.SharePoint.Utilities.SPEmail
- Apparently now, you should just be able to append /m/ to any site to view the mobile version of the site.
- Important files in a feature: Features.xml – declares feature and apparently specifies other dependencies. Elements.xml – list what is packaged in feature
In terms of development, the core areas of Sharepoint are:
- SharePoint Data – via the object model
- Meta Data – definitions and content types
- Behaviours – Events (synchronous and non-synchronous – i.e. can now affect whether an item does get placed in a doc lib etc depending on the outcome of an event), Workflows
- ASP.NET extensions – Webparts, custom controls, custom pages (not sure where these would reside yet)
- Packaging – Features (sharable across site-defs)
It would appear that in a list, when generating content types, you can only inherit once from a global content type – therefore you cannot have two content types based on one global content type. I asked a Microsoft guy about this and apparently it is related to the way in which global content types are identified (apparently as an guid concatenated with another sequential number). I’m not really clear on this – and need to look into this further.
At the SharePoint 2006 conference in Seattle, Bill Gates talked about there being loads of pre-configured SharePoint 2007 “Applications” in his keynote (e.g. a Help Desk, Fault Reporting app etc). I have not really seen evidence of these, other than a couple of new definitions (e.g. request tracking and project lists). From speaking to a Microsoft guy, it seems that at some point there may be a load of these preconfigured templates available (as per the 30 or so already available for WSS2 at http://www.microsoft.com/technet/prodtechnol/sppt/wssapps/default.mspx). Note that it is likely that these wont be in the actual base product.
InfoPath in relation to SharePoint.
InfoPath is useful for collecting data for through web-service, apps or just storing it as an xml file. In the context of SharePoint 2007, data collected from InfoPath can either be stored in a forms library or in an form-based content type. In these scenarios, the input metaphor is either client side or server-side InfoPath (not a SharePoint form).
Now, seeing as InfoPath forms can now be rendered in the browser if the user doesn’t have InfoPath installed, i would think that the next logical step would be to allow all SharePoint forms to be overridden by InfoPath forms. This does not seem to be the case however (although it may be possible to hack this in). I wonder why in the context of SharePoint, custom forms cannot just be designed in SharePoint designer (eliminating the need for InfoPath forms server with SharePoint), such that all forms are just rendered in html all the time.
Note that with infopath, some of the controls cannot be rendered in html, so infopath forms server does not support all controls. Note when designing a form, you can specify whether you want it to be html compatible.