November 2005 - Posts
You can now stay up-to-date on the various User Group meetings around town by surfing to: http://www.geekswithblogs.net/torontoug/
Individual channels are available for specific groups, so for example to pick up the feed for the Toronto SharePoint User Group you can save one of these links: [TSPUG HTML] [TSPUG RSS Feed].
A big thanks to Rob Windsor for setting this up!
The Toronto Code Camp is a great event for developers to learn new tricks for .NET. I'm delivering a session (January 14, 1:00 to 2:15) on one of my favourite new features -- MSBuild and Web Deployment Projects for Visual Studio.
After years of juggling multiple versions of web.config for local dev, testing, staging and production environments, these are finally complete, clean solutions to automate the grunt work. New options provided by MS Build include pre-compilation, whether to compile html source as well as code, control over output assemblies (naming, whether to produce a single assembly, one-per-folder, or one-per-page), and what source file to use to customize web.config with for the target environment. We'll also look at manually editing the MSBuild file to exclude certain files for certain builds (e.g. don't dpeloy .\App_Data\myTestDb.mdf to production). And in an improvement over XCOPY deployment, you can easily wrap these builds in an MSI to hand off to your IT Ops team for deployment.
The Code Camp schedule lists plenty of great sessions, here are a few that caught my eye: Introduction to the .NET Enterprise Library (what's new for 2.0 in the application block space), v2 Data Binding (Bruce always manages to address some detail I hadn't thought of, always interesting), Configuring Projects using Team System (JL David already has deep experience with Team System, one of my favourite MS topics). An if you haven't heard about Language-Integrated Query (LINQ) or Generics, check out the LINQ and VB Language Futures sessions as well. These are important new concepts that are guaranteed to save you days or weeks of development, but they will take some time to wrap your head around. And there's no better way to get started than to come down to the Code Camp.
Note: Code Camp is apparently filled to capacity, but there's a waiting list, get on it!
First Jan Tielens created SmartPart as a way of quickly deploying any ASP.NET control as a Web Part. Then WSS SP2 made it possible to upgrade your WSS boxes to run on ASP.NET v2, though without being able to take advantage of v2 features.
On Sunday, Jan released Son of SmartPart which will allow you to host ASP.NET v2 controls including ASP.NET Web Parts inside WSS Web Parts! Check out Jan's post and the GotDotnet workspace, this is pretty cool.
East of Toronto .NET User Group Flash
Moving C++ Applications to the Common Language Runtime – November 30, 2005
Whitby Public Library - Room 1A
Come and see how real C++ projects are moving to the CLR without a full port or rewrite. Learn how to easily migrate existing native code -- including MFC applications -- to run under the CLR. Strategies for choosing which parts of the application remain native and which are managed will be discussed. See how to take advantage of the power of the framework libraries. Finally, this session will provide guidance on how to build high-performance managed "wrappers" enabling reuse of native libraries.
In Canada, extranet sites are often provided in both of our distinct national languages -- en-ca (English-Canadian) and en-nf (English-Newfoundland). Occasionally, government sites are also presented in the less entertaining fr-ca (Québécois).
SharePoint Products and Technologies simply aren't multi-lingual, and the language packs force you to choose between available languages for a given site, rather than provide two views of the same content. There's a whitepaper on the topic, and it provides some helpful tips like segmenting users into audiences based on preferred language, but these aren't ideal solutions -- some elements aren't translated, and the administration pages remain in the language first installed.
In the Office 12 timeframe (2006 H2) SharePoint will finally make us of ASP.NET's localization features and provide satellite assemblies to support multiple languages. That's an appropriate solution, but what to do until then?
PointFire provides an option for WSS. IceFire also announced a solution for SPS in "Fall 2005" though at the rate we're running out of leaves on trees I don't know whether it will happen. PointFire installs a custom site definition which provides English and Canadian-French interfaces to any given WSS site [Note: I yet know whether this replaces or creates an alternative to the default STS site definition. If it replaces STS, it may be broken by the recent WSS Service Pack 2. Another consequence would be creating an "unsupported scenario." To clarify, I'm asking IceFire and will include their answer here].
Based on the demos and screenshots on the site, PointFire is a pretty good solution. It looks like it should. All elements including page navigation, toolbars, and administration pages are appropriately translated. Error pages are not, for example when trying to access content for which which a user is not authorized (e.g. Site Settings in the demo). However making this change would break MS "Supportability" so the company is wisely
For extranets, there is also an option to hide elements from anonymous (unauthenticated) users.
I was confused by the fact that the content in the PointFire demos also switches languages. Looking deeper, they actually allow the user to enter content in both languages, so if you only enter English, then English shows up on the site for both views. Less attractive is that rather than providing two text boxes to enter content (one for each language), they use the same textbox and require the user to delimit text with "~~" markers. For example, a bilingual announcement would be entered as, "~~Laika is under the car.~~Laika est sous l'auto.~~" It's a great feature and for certain it's proper for the user to define the translation. To me the tildes feel like a kludge but if this is a trade-off to remain a MS-supported solution, I'll live with it.
Shortcomings? As mentioned, this is a WSS-only solution, you'll need to take another route for SPS portals. At the moment it seems that the MSN Presence "pawns" are broken on PointFire sites. And finally, I'll always prefer products that display pricing on their website, IceFire does not.
If you need multi-lingual functionality, this appears to be the best canned solution out there. While there are a few issues of concern, none affect security and the solution meets the need for the most important audience: your end-users. The net gain for an average company with experienced SharePoint developers is about four to six weeks of R&D, so depending upon the price you're quoted, PointFire is worth a look.
[Note: Updated based on reply from IceFire which indicates that it is a support scenario.]
It's another jam-packed week, if you're at any of these upcoming events, be sure to say hi.
Last week: The Red Green Show. At the last public taping of the show I had the honour of presenting Steve Smith (aka Red Green) with a set of fly-fishing flies arranged by flyangler.ca.
[Pictures] [Google Results for the last show]
Monday: MSDN Community Party. This should be some fun!
Tuesday: Toronto Visual Studio 2005, SQL Server, BizTalk Launch. Something like 8,000 people are registered for the Toronto launch. I'll be at the Visual Studio Cabana through the morning, see you there!
Wednesday: Toronto SharePoint Users Group. New technology alert! Learn how Windows Workflow Foundation will integrate with SharePoint 2006 (and ASP.NET). Next month we'll be looking at Office 12 Beta 1, be sure to register soon.
I'm trying to shake a cold, so what follows may be entirely the result of too much cough medicine. Someone asked what to expect from SPS in the Office 12 timeframe, and the fact is that not much was announced at PDC. There was OFF313: Web Content Management Application Development and Engine Extensibility, and. . . that was about it. I wasn't in on the TAP and I'm not under any NDAs with the SharePoint team, so there's no time like now to walk the plank and speculate.
What do we know? Workflow and document/records management are finally baked into WSS, and many features in SPS 2006 will be pushed down to WSS. For example, there's the Business Data Catalog for bringing external data into WSS (which will be the feature most loved by IT Architects). It used the namespace "ApplicationRegistry" in the PDC demos. With it, you can recreate the SPS Audience feature inside WSS v3 by creating implementing a simple set of interfaces for Active Directory. Will that connector be available out-of-box? Will a connector be available for LDAP? Neither would surprise me, and if they don't show up, you can bet that someone will write them and the corresponding web parts (to filter by Audience) for free.
We also know rough timelines. Office 12 Beta 1, including WSS 3 will be released in November 2005. Release-to-manufacturing (RTM) is scheduled for the second half of 2006. That puts beta 2 between Spring and TechEd. So where does the SPS beta cycle fit?
At PDC, a few presenters noted that features for SPS vNext still hadn't been locked down, and there were internal "discussions" over which themes would characterise the new version. Does this mean it won't RTM until 2006? Maybe. Unless they held back on a set of features that could be either WSS or SPS, depending on who wins these discussions on themes. That's real possible.
We also know that Microsoft Content Management Server (CMS) will be reincarnated in SPS vNext, and 7 or 8 Program Managers from the CMS team have been working on SPS for some time now. At PDC they only showed about that many CMS features in SPS (again OFF313), all for producing public-facing web sites (the traditional domain of CMS). Will SPS 2 simply be a re-architected CMS? Not likely. Will "SPS for Intranets" and "SPS for CMS" be separate SKUs? It's possible, depending on how significant the features are that they're holding back.
There's also a lot from Groove that could fill SharePoint's gaps in serving mobile workers and remote offices. Publicly Microsoft seems committed to improving Groove (evidenced by OFF303). So which product is Ray Ozzie designing these days, Groove vNext, SPS vNext, WSS v4, or something else entirely? I have no idea. If it were up to me, it would be WSS v4 with a few cycles on migrating Groove users there. Could those features be in SPS vNext? If ready in time, that would certainly make a case for two SKUs (see last paragraph).
Of course by TechEd 2006 all these guesses will be completely outdated by something I've underestimated the importance of, but hey, the cough medicine is kicking in and it's fun to make pretend.