PDC 2005 is here in Los Angeles again and I'm back here as well.
The LA Convention Center (next door to the Staples Center) is a monstrosity--
one can easily walk several miles attending sessions during just one day!

Link to the Microsoft page for PDC 2005: http://msdn.microsoft.com/events/pdc/

Link to my syndication:

.:. Most Recent . . . Next Day . . . Previous Day . . . Oldest .:.
Office 12 Server Map [ 2005/09/14, 21:17:31 ]

Even More SharePoint v3! [ 2005/09/14, 21:11:40 ]

This time from OFF310: WSS v3: Developing Collaborative and Tracking Applications

Features of v3 to enhance the user and developer experience.

Mike Morton, Lead Program Manager

When surveying WSS users:
Doclibs are #1 most-used item in WSS
Custom lists are #2

My notes from the session:

  • Gantt chart view: top is graphic display, bottom is list items

    • In the graphic part, you can drag/drop an item's bar to change dates

  • WSS lists can RECEIVE email!!

    • Data gets added to the list

    • Calendars process incoming iCals

    • Doclibs map attachments to documents

    • Extensible support for custom 'email handers'

      • Custom lists can support email by writing a handler

      • Handler is responsible for mapping email content to properties

    • --> Think about this along with the RSS feed

      • Postings can be generated via email; RSS distributes the info

    • Does not require Exchange for integration (must run it's own SMTP/POP3 mailbox system)

  • WSS Site groups can have associated 'distribution list'

    • Create distribution list for members upon site creation

    • WSS will talk with AD (+other DS) to create and manage the distribution lists

    • This also has mechanisms to allow IT approval or code-based approval

  • Outlook and Synchronization APIs

    • Cal, tasks, contacts, discussions and documents

    • --> Offline support

    • True 2-way support

    • Change Log APIs are optimized for synchronization

    • Sync log is stored separately so using the APIs doesn't query the original data, just the change log

  • Alerts

    • Can use filters to pick items to alert on

    • Developers can create custom filters

    • Admins can set up alerts for members of the site

  • Quick launch is on every page, not just the homepage

  • RSS:

    • Outlook supports the feed: protocol

    • WSS provides the feed using this protocol syntax

  • Target release date is same as Office 12: 2nd half 2006

  • Upgrade paths:

    • In-place upgrade

    • Migration upgrade by moving sites

  • Interoperability with Office 2003

    • Office 2003 functions will still work; no additional functionality

    • Office 12 required for additional functions

  • Conflict resolution with Sync

    • Get conflict dialog in Outlook, user gets the choice to pick the one

    • For web users, optimistic locking is used and a token is used to verify the item was not changed since it was opened

  • Expect more info in the November timeframe when ITForum takes place in Europe (formerly the MEC)

  • SQL 2000 and SQL 2005 are both supported

    • All functionality is supported on both SQL Servers EXCEPT some advanced BI stuff that Office Server will implement on top of WSS

  • WSS SP2 will be out by the end of September to support tuning for SQL Server 2005

More SharePoint info from session OFF409 [ 2005/09/14, 20:56:04 ]

Notes from Wednesday session OFF409: technical and functional details of SharePoint v3 (part of Office 12)

presenter: Dustin Friesenhahn, Program Manager

[audience of ~300 ppl, 60% seem to be using WSS today]

  • New:

    • Content Types

    • Events

    • Custom Field Types

  • Major functional enhancements:

    • Recycle Bin (personal recycle bin & admin/system recycle bin)

    • Per-Item permissions (items, folders, lists, sites)

    • Folders in all list types (also support custom properties on folders)

    • Consume data outside its container

      • Cross-web lookup fields

      • Cross-web list views

    • Extensible file format support

      • Framework to support props from 3rd party files (promoted properties)

    • Versioning

      • Major and Minor versioning

      • Different content returned based on permissions

        • Checked out

        • Draft/Minor

        • Published/Major

      • List item versioning (track metadata changes)

      • Version limiting (limit the number of versions to keep)

      • Version history UI to show the progress of versions and metadata

    • Custom Column indexing

      • User/developer defined index on any column in a list

      • Like a SQL index; used for performance on large doclibs

    • Cross-List queries

      • Query across a set of lists in a site collection

      • Extension to the query language

    • Management features

      • Content types framework

        • Reusable definition of an item type

        • Incudes

          • Schema def (collection of fields)

          • Document template

          • Available workflows

          • Policy settings

          • 3rd party behaviours

        • Now, the "NEW" button is a drop-down to select the content type to create

        • Forms to enter metadata for each document may be different based on type

        • Hierarchy to Content Types (My Company definition versus My Team)

          • Provides for inheritance of properties & behaviours from parent types

        • Create content types via page UI in WSS

    • Events

      • Events can be different based on content type

      • Supported on lists as well as doclibs

      • Multiple handlers are supported on a list

      • New sync events: "before" update, delete, etc.

      • In an event handler, you now have the 'before' and 'after' metadata in case you need to trigger something based on a change!!!

    • Custom Field Types

      • A new type with custom input and rendering

        • ASP.NET controls for edit, display and new form

      • Define complex server side data validation

      • Examples: ratings, Address field, external data lookup

      • New type must be built on a base type (standard WSS type)

        • Query/Sort/Filter will be dependent upon the base type

      • XML definition is includes CAML rendering

      • Parts:

        • Field type class

        • Field value class

        • Field control (rendering on page)

        • Field control template (Field.ascx)

Office 12 SharePoint [ 2005/09/14, 11:50:18 ]


(Sorry, I just had to shout it out)

SharePoint v3 looks awesome. Essentially, SharePoint is being made the hub of Office Server functionality including:
* Business Intelligence
* Collaboration
* Portal
* Search
* Content Management
* Business Process Management

Quick Hits:
* SP v3 gets RSS and Wiki functionality
* the Portal is going ASP.NET 2.0, so (web) parts are parts
* Search is a key element (they say that but I wasn't impressed by any notable improvements, which is very disappointing)
* Content Management replaces today's CMS product and the CM functionality will be build on the WPF (Presentation Framework)
* Business Processes are built on WFF and integrated with all the other SharePoint functions
* BI: primarily Access and Excel on the client, SQL Reporting Services and Analysis Services on the server

SharePoint lists:
* many new field datatypes, including a really cool "Business Data Link", which is essentially a computed field created by combining static string values with field values for that row (links to other apps built on the fly...Hmmm...we did that in SOX404 in code!)
* all lists can be made available via RSS
* new view type: Gantt chart for time-based lists
* views can be created as Mobile views so that mobile devices can access and use that information.

SharePoint document libraries:
* drop-downs for sorting, filtering and other options
* richer metadata capabilities and options
* VERY COOL CONCEPT: "content types" (more below)
* Workflow integration with WFF including approval workflows
* Data retention, archiving and lifecycle policies can be set
* Again, a recycle bin is built-in
* Document updates are available via RSS feeds

SharePoint content types are Very, Very cool. (can I say "very" any more?) Essentially, content types are objects which define properties, behaviours and policies for files based on their type.

What this means is that although workflows and policies can be set on entire doclibs, it is also possible to have distinct policies and workflows (and properties) for different file types within a single doclib!! [think eMOC: being able to have slightly different workflows depending upon the value of a field in an InfoPath form]

SharePoint as the Office Server:
According to a 1-on-1 conversation I had with Tom D. from Microsoft today, it seems that we may not be having to worry about those bothersome cases where we have to consider installing Office onto a server to provide some kind of functionality. The example he gave was around using Excel computational power on a server in code called from a web service. WSS v3 is supposed to provide that capability.

What's even cooler about this is that the Office functions will be server-optimized from a memory and threading perspective. So using this functionality won't be like running a full Office product on the server (which has a fairly large overhead), but rather more like assemblies which offer methods to be called from your own code. No PIA's needed!

Another use of this capability that was actually demoed in the general session is that it will be possible to render a view of an Excel spreadsheet on the server so that the view can be displayed on a web page (such as in a web part). This isn't a control on the client machine that is loading the Excel file. No way. Here, the behind-the-scenes data stays on the server and only the data for the rendered view makes it across the wire.

This has huge implications to mobile clients or clients with limited connectivity.

So, after all this, can you agree with "Holy Sh*t!"?? I thought so.


Office 12 (not incl. SharePoint) [ 2005/09/14, 11:50:08 ]

Office 12: Wow, Wow, Wow.

Aside from the user experience I posted about yesterday (which I still virtually drool for), today more details about Office 12 were made available.

InfoPath 12 is essentially "version 2.0" of InfoPath. Everyone jokingly admits that 1.0 products are typically suspect and not rock-solid. This was mostly true for InfoPath 2003. IP2003 left a lot to be desired in functionality and capabilities.

IP2003 SP1 was a BIG improvement. Just being able to add drop-down lists that populate from SharePoint lists via point and click saved tons of coding.

With IP12, InfoPath now 'comes of age'. A form can be created to be hosted in both the rich environment of the InfoPath client. That same form can also be served as a web form by using the Forms Server.
--> Note that the web form can also be made available to mobile clients that have a WAP browser!

The Forms Server being talked about here is one of the new Office Servers. Essentially, it seems that Windows SharePoint Services (WSS) is the server side of Office and that certain functionality can be enabled or disabled on WSS installations. So, a WSS v3 install can be a Forms Server to provide the web experience for these forms.

Another cool thing for InfoPath 12 is that it will be able to leverage the WWF workflows very easily.

FrontPage 12 is also being enhanced. Not too many details yet, but it seems that FrontPage will be kept in pace with the functionality offered in SharePoint. So, FrontPage will remain the advanced designer for SharePoint site templates. FrontPage will also be used to hook up WWF workflows with SharePoint doclibs and lists, but not much has been said about that yet.

Access 12 remains a user and a developer tool. Access 12 will futher integrate with SharePoint in some very interesting ways. Additionally, Access 12 can be a destination for InfoPath forms data, so that the data that users enter on forms can be stored into an Access database. This is a kind of reverse-mail-merge function that InfoPath and Access provide when used together.


VSTA: VS Tools for Applications [ 2005/09/14, 11:49:50 ]

VSTA is VBA's replacement. Microsoft may not have put it in those terms, but it's pretty darned clear. VBA is going away. We know that. VSTA in Office 12 provides a similar experience to VBA in the previous Office editions, but it uses VB.NET or C# for the language.

A demo of VSTA during the general session was done using an unreleased version of AutoCAD that has VSTA support. Open the 'macro' functionality and a code editor opens up allowing the user to add code to event handlers or code up whatever they want.

So, how does VSTA compare to VSTO Visual Studio Tools for Office)? Here's how I see it: [Joni: I'll relay this to you directly in case you're not reading my posts]
* VSTO is a developer tool for building solutions that leverage the Office suite of applications.
* VSTA is a 'scripting'-type automation tool for Office and other applications.

For example, if you need to add functions to an Excel spreadsheet, say, to call a web service to get some data, use VSTA.

If you're a developer who has Visual Studio and you need to create an application that uses Excel behind the scenes or even for part of the user experience, use VSTO.

The key here is that VSTA will be part of applications and will not require Visual Studio. VSTO is an add-on to Visual Studio.


Microsoft Expression [ 2005/09/14, 11:49:40 ]

Expression is a family (not quite a suite yet) of tools that allows the graphical design work for Web and Win applications to be separated out from the coding work.

Think about it this way: Today, to set up a web page a developer and a designer don't have an easy way to work together on their solution. The designer might use graphical layout tools or Adobe Photoshop to design the perfect branded web page.

Then, the developer needs to recreate that design as best as they can in Visual Studio. This hasn't led to the best collaborative effort between graphic designers and code developers.

Enter Acrylic, Sparkle and Quartz.

Acrylic is a Graphic Designer tool for application solutions. Acrylic uses the same project files as Visual Studio, so a designer can start with the graphical design and then the coder can take over. Or, the coder can start the project with an unembellished form that provides the functionality and then the designer can add the graphical elements to spruce it up.

Sparkle is an Interactive Designer that can provide animations and other effects to the graphic designer alongside Acrylic.

Quartz is a Web Designer. So far, I haven't gotten much info on that.

Here's another suggestion for Microsoft:

To make the interactions between code developers and graphic designers more effective with these tools, why not add collaboration functionality, perhaps leveraging the SharePoint collaboration capabilities? This would allow for a better non-realtime exchange between developers and designers.


WWF: Windows Workflow Foundation [ 2005/09/14, 11:49:20 ]

Windows Workflow Foundation (WWF) is Microsoft's lead into providing decent rules-based workflow capabilities in their core architecture, WinFX. It's intended to be used both for operating system tasks as well as other application workflows.

The WWF designer is a graphical, process-flow diagram designer that runs inside the Visual Studio IDE. The object model is extensive (actually it seems very extensible at this point) to allow adding custom actions or advanced rules logic.

Check out http://www.windowsworkflow.net.

For debugging workflows, the Visual Studio IDE allows you to set breakpoints at workflow operations and even to step into the code behind the actions.

Most Impressive

One thing I can think of that would be most helpful to Microsoft in making WWF take off in larger companies is this:

Create a designer (user) tool that allows business folk to create the process diagram with the decision points using a similar graphical designer. Then, allow this design to be opened by a developer using Visual Studio to add the processing logic behind the workflow.

This is essentially what Microsoft is doing with their Expression tools, Acrylic, Sparkle and Quartz. Makes sense to do it here too.


Wednesday general sessions: a.k.a. Holy Sh*t Part II! [ 2005/09/14, 11:26:23 ]

Today's general sessions covered lots of ground. I ended up taking 8 pages of notes on my Viewsonic tablet PC during the 2 hours. Like yesterday's posts, I'll first post a high-level summary and follow up with additional posts with more details.

Visual Studio 2005
* expect final Release Candidate by end of this week (Fri 16 Sept 2005)
* Launch is November 7

SQL Server 2005 (codename Yukon)
* Launch is November 7

WWF: Windows Workflow Foundation
* added onto the WinFX architecture
* will be common at the system level across tools

Microsoft Expression
* new tools for designers (since developers typically are not graphic designers)
* "Acrylic" Graphic Designer
* "Sparkle" Interactive Designer
* "Quartz" Web Designer
--> leverages the same project files and build system as Visual Studio 2005!

Visual Studio Tools for Applications: VSTA (not vista though)
* Essentially the .NET replacement for VBA
* users can code in C# or VB.NET

Office 12
* This is the big stuff for my Holy Sh*t! label
* beyond the major UI enhancements from the keynote, huge developer advances
* SharePoint IS the Office Server
* WWF (workflow) integral to all Office products

InfoPath 12
* designing a form is a much better experience
* forms can be filled out using the InfoPath client, or via a Forms Server HTML form rendering

* again, SharePoint IS the Office Server
* comprises Collaboration, Portal, Search, Content Management, Business Process and BI
* many nice enhancements to lists, doclibs
* RSS feeds available from any doclib or list

Access 12
* Microsoft is re-commiting themselves to Access
* many enhancements for users and developers

So, do you agree that this 2-hour session qualifies for the label I give it?


Tuesday night Expo Party [ 2005/09/14, 10:58:03 ]

Good expo party last night: free food, soda, beer, wine, goodies from vendors and lots of time to talk with vendors and other developers.

I can't say that any particular vendors jumped out at me as new or someone that I hadn't seen before, but both Intel and AMD had very large booths practically side-by-side. This did give Gary B, Brian S and I the opportunity to settle an argument.

I was describing how AMD Opterons and Intel Itaniums are the only true 64-bit processors used for mainstream Windows platforms today. I contest that Intel Pentiums & Xeons with EMT64 technology are not 'true' 64-bit processors. Gary disagreed and quoted comments from one of our server hardware vendors. Thus, the fine folks at AMD we glad to show us some details and explains things.

AMD's do have full 64-bit registers and because the memory controllers are built into the processors, the latency in addressing memory directly connected to a processor versus memory attached to another processor suffers only a minor 30ns performance hit. The memory controllers bypass the processor core when transferring data for inter-processor operations.

Intel processors with EMT64 do not have full 64-bit registers and cannot address 64-bit memory addresses in a single memory request to the memory controller. Moreso, since the memory controller is off chip from the processor, memory transfers between different memory spaces goes through the processors cores as well as the memory controllers.

Intel Itanium processors are more similar to AMD Opterons in architecture (where memory access is concerned) but, of course, do not offer both 64-bit modes and 32-bit modes which perform adequately and preserve 64-bit compatibility with 32-bit apps. In 64-bit mode the Itanium screams. In 32-bit mode, well, you may as well take a coffee break.

This is why Itanium is an awesome processor for 64-bit systems which will only ever run Itanium-specifically-compiled code. AMD Opteron is awesome for 64-bit (x64) and 32-bit (x86) systems allowing 32- and 64-bit apps to co-exist and absolutely kicks butt with 64-bit memory performance. Intel EMT64 chips are nice for running x64-compatible 64-bit systems but you will suffer a performance hit for extremely large memory spaces since the memory address bus isn't a full 64-bit parallel bus. That's why Intel calls their stuff "EMT64"--standing for "Extended Memory Technology". They just added a few bits to the address bus.

Yeah, it's extended but not all the way.

Advantage: AMD


Build and maintained using Planarcy