-
Yesterday I received the tragic news of Patrick Tisseghem's passing. Patrick was a warm, gentle person and a teacher to many. I had the good fortune of working with him thought the years, and I shall remember him as a great colleague and friend. My thoughts go out to his family.
We'll miss you pal.
Patrick teaching, February 2006
Patrick's warm smile
| Inside Microsoft Office SharePoint Server 2007 by Patrick Tisseghem |
| Inside the Index and Search Engines: Microsoft Office SharePoint Server 2007 by Patrick Tisseghem, Lars Fastrup |
-
Catching up on other topics, Ian Morrish recently wrote handy installation instructions for the Silverlight Blueprint for SharePoint.
Ian also hosts a WSS site running the blueprint with some simple web parts.
http://www.wssdemo.com/pages/silverlight2.aspx?PageView=Shared
If for some reason you do not see the web parts rendered on your browser, install Silverlight 2 beta 1 manually.
http://www.microsoft.com/silverlight/resources/installationfiles.aspx?v=2.0
-
Here are a few Open XML nuggets I've collected in the final days of consideration of DIS 29500 by the national standards bodies.
The Apache POI project is a Java API to access various document formats. They have announced on their web page that they will be including Open XML support. This is good news and one more proof point that Open XML is fully compatible with open source free software.
[Note: For those of you that enjoy Kafka, Arnaud Le Hors, a senior member of IBM standards group, wrote a couple of blog posts regarding this announcement. Le Hors shows his true stripes by greeting with negativity the availability of an open source toolkit. Truly bizarre was the way in which he acts indignant about a claim that he himself made up. Later he was forced to retract it and proceeds to deny having made it. Rick Jelliffe brilliantly deconstructs the spin upon spin.]
Patrick Durusau makes some good points about the last minute arguments against Open XML. His opinion is that even if these points are valid, ISO/IEC ratification is the right thing to do, and that SC34 is the proper place for maintenance of the standard going forward. One of his points is that, while it is true that there is no final specification, the ad hoc rules in place were not written by the proponents of Open XML. As an aside, Eric White has a post analyzing the rules of JTC1 that determines that in fact, the rules regarding availability of the specification are specified clearly in the JTC1 directives.
Hewlett Packard has released their position statement on standardization of office document formats:
Hewlett-Packard Company is in favor of standards for office document formats, including the Office Open XML (OOXML) and Open Document Format (ODF) standards. We believe that the two standards will co-exist interoperably, and that customers should have the opportunity to select the standards which best fit their needs.
HP believes that the international standardization process is working. This process has already significantly improved the OOXML specification and additional evolution of it will take place under control of the global community if the specification is ratified by ISO/IEC JTC 1.
In the current vote on OOXML at JTC 1, HP is supporting an affirmative vote in those national standards bodies in which HP is active.
And finally, Miguel de Icaza looks forward to the day when everyone will get back to work on something productive. He advocates approval, and relates his view on the OOXML storm in a teacup:
I have been reading the OOXML storm in a teacup for more than a year now. Am looking forward to the approval of OOXML as an ISO standard and to be able to move the discussion back to the things that actually matter: free and open source software.
For a year, countless bytes have been wasted on what is now a very difficult plot to follow, specially for people that have not followed it since the start (or as Bill Maher said last week "Its like trying to make sense of a LOST episode". Note: am a Lost fan).
I share Miguel's enthusiasm for the day when we can move beyond the negativity.
-
An open format creates new opportunities for implementation on a multitude of platforms and business models. Such is the case with Thinkfree, a South Korean software developer. Eric White interviewed Jae Hyun Park, the CTO of Thinkfree a while back, and what makes this particular case noteworthy are the following characteristics of their product:
- Architecture: Web application
- Business model: advertising (powered by Google AdSense).
- Platform: Linux, Apache, Sun Microsystems Java, web browser (Firefox, IE, Safari).
- File formats: Open XML and others
Progressive companies that are looking for opportunities to create new products and services have embraced Open XML. Thinkfree is one of many software developers in the Open XML community that are delivering innovative solutions to their customers and building on the value proposition inherent in an open format.
Open XML meets the needs of a wide range of implementations because it accommodates multiple platforms. Eric followed up with more information on what makes Open XML cross-platform including some highlights:
I've made a short list of the various ways that Open XML embodies good cross-platform design:
- Open XML is based on standards that have been implemented on many platforms: XML and Unicode.
- Open XML is based on the widely deployed ZIP file format, as documented in the PKWARE specification. Open XML only uses the DEFLATE decompression method, which the first and most commonly implemented compression method for ZIP files.
- Several countries wanted improved interoperability with existing W3C standards by eliminating dependencies on specific Web browsers, such as Mozilla Firefox, Microsoft Internet Explorer, or Apple Safari. In the BRM, it was proposed to have a mechanism where applications can customize content for browsers according to their support for different levels of W3C HTML, XHTML, and CSS content.
- Some people falsely believed that the spec was tied to COM. However, object embedding and linking is implementable on multiple platforms. The KParts example that I posted demonstrates that object embedding and linking is actually quite easy. Some schema processors are not fully compliant with the specification. The Open XML reference schemas were tweaked so that they could be accommodate a broad set of platforms.
- Beyond that, Open XML allows for schema languages other than XSD for the validation of Custom XML and Structured Document Tags. Specification conformant Open XML can be validated using RELAX NG, Schematron, and NVDL schemas.
On the path to standardization of DIS 29500 I have observed two types of technical discussions. I have met many talented engineers that genuinely want to improve the specification so that it can meet their needs. They have made an invaluable contribution to the evolution of the specification. I have also met those that use technical arguments in order to suppress adoption. I think for most readers it is fairly transparent which of the two keeps looking for reasons not to implement Open XML.
In the meantime, agile developers like Thinkfree continue to innovate. Opportunity waits for no one.
-
The myth that Open XML's object embedding model is not compatible with KParts is much like the reanimated corpse of a zombie. Despite being dead, it comes back. Eric White has performed some KPart voodoo that will finally allow this one to rest.
This example uses Linux, KDE, KParts for those that find that platform to their liking.
Can the ole* tags really be used to embed different object technology? No problem.
<oleObjects>
<oleObject progId="libkhtmlpart"
link="[1]!'KHTML'"
shapeId="1026"/>
</oleObjects>

-
Doug Mahugh blogged that the US V1 Technical Committee recommended approval of DIS 29500 (Open XML) to the INCITS Executive Board. This is not the final US position, but it is an important positive step on the way to the US final position.
Eric Lai, Computerworld's correspondent on the Open XML beat, offers his take in his latest article: Report: U.S. likely to maintain 'yes' vote for OOXML in ISO.
-
In case you missed it, with the release of Siliverlight 2 beta 1 during MIX 08, we also made available the samples source code for the Silverlight Blueprint for SharePoint.
The SharePoint team blogged about the blueprint earlier in the week, but we didn't release the code that day. We were waiting for the Silverlight 2 beta. Kudos to Rob and Patrick's team at U2U for their work on the blueprint.
The most compelling thing about melding Silverlight and SharePoint is that it combines the awesome user experience of Silverlight with the powerful content management features of SharePoint. I remember when Rob came into my office and in 5 minutes we pretty much groked what the media viewer control would do. SharePoint has a picture library already defined. With a Silverlight web part an end user could display the media in a rich way but not have to do more than the usual SharePoint content management tasks that do not require programming.
-
Today Microsoft took a major step forward in making it easy for developers to build powerful applications with the release of Windows Server 2008, SQL Server 2008 and Visual Studio 2008. If you didn't make it to the launch event in Los Angeles or in a city near you, then you can always go to the web launch site.
Windows Server 2008: This product is packed with developer goodies: IIS7, Windows Communication Foundation, Powershell, Cardspace, Active Directory, and many more. And of course the latest release of our virtualization technology. Industry pundits call virtualization the next disruptive technology. It's certainly fascinating from the point of view of how it affects business models as well as architectural topologies.
Information Week also had a nice story on the developer outreach efforts from people here in building 18 and throughout the world.
SQL Server 2008: In addition to the new set of performance and scalability features that accompany every release of SQL Server, this product offers new features that make SQL Server the ideal data platform for applications composed of software + services. I intend to write more about SQL Server 2008 in these pages over the coming months. In the meantime follow developments in Roger and Zach's blogs.
Visual Studio 2008: Of all the things to like about this product the one that has me fascinated the most is by far LINQ. I love the notion of unifying objects, tables and XML under one programming model. Eric has written extensively about LINQ and he has been patiently explaining to me the virtues of functional programming.
-
Delegates from national standards bodies will meet tomorrow in Geneva for the DIS29500 Ballot Resolution Meeting (BRM). As Alex Brown mentioned in his FAQ, "the meeting is for resolving comments that NBs have submitted (with their votes) on the text". With this in mind, I thought it would be useful to clear up some of the disinformation that has been circulating on the web.
The ODF Alliance, a group devoted to lobbying against Open XML instead of building the ODF community, published a list of what they consider “Ecma’s Top 10 Worst Responses to NB Comments”.
To help BRM delegates separate fact from fiction, I published an Analysis of ODF Alliance Top 10 List for download.
-
Legacy Hashing Algorithm. Eric White posted C/C++ sample code for the Legacy Hashing Algorithm that is used for document protection in Open XML. As Eric explains, this is used to signal to the application whether to enable editing or not. It is not used to open or encrypt documents.
Office Developer Map. Erika Ehrli and Rob Barker have published a new Office Interactive Developer Map.
-
The Visual Studio team has just released a set of add-ons called VSTO Power Tools. Andrew Whitechapel wrote about it in his blog. The Power Tools have a treat for Open XML developers, the Open XML Package Editor.
Whether you're writing code or learning the format, you'll want to view the content parts and edit the XML.
There are several excellent tools that have been available for some time. I've been using Wouter van Vugt's Package Explorer and Altova's XMLSpy, and both are great.
Now Open XML Package Editor extends VS with similar capabilities. VS users now can have fun editing and hacking Open XML. What does it do?
- Open any Open XML Package (.docx, .xlsx, .pptx) file or XPS Package file directly in Visual Studio.
- Browse the package file in a tree view.
- Open any XML part directly in Visual Studio's rich XML editor.
- Add and remove parts and relationships with an easy to use UI.
- Import and export part contents to and from files.
- Detects when a Package file that is opened in Visual Studio is modified externally. Prompts user to reload without having to close any open XML part editors.
- Create new Office Packages from a set of templates using Visual Studio's File > New dialog.
You first notice a tree view of the package contents. The hierarchy in the tree is based on part URIs (i.e. the physical names given to the parts inside the .ZIP). The chain link icon represents a relationship to another part. In this sample you can see that /word/document.xml has a relationship to /media/image1.jpeg.
One feature I like in Wouter's Package Explorer is the ability to view the OPC package by relationships instead of URI. That is useful mentally because one of the rules of Open XML programming always navigate by relationship ID, not URI. In other words, you cannot assume that the start part for WordprocessingML is always called "/word/document.xml".
Editing XML parts
Visual Studio's XML editor works great for editing Open XML parts. Be sure to download the Ecma-376 XSD schema sets and register them with Visual Studio to enable IntelliSense for XML.
To add the Open XML schemas to VS:
- Open an XML file.
- Select the XML | Schema menu.
- Add the .xsd's that you unzipped from the Ecma distribution.
Voila!
[update 2008-02-22T08:50 -0800: Fixed a broken link to Andrew's blog, and added a download link to VSTO Power Tools]
-
After much prodding from various friends and coworkers I've decided to start blogging. I plan to write about Microsoft's platform technology, interoperability and other topics of interest.
I've been thinking about what I want to say and do with my blog, and this quote from "One Hundred Years of Solutide" by Gabriel García Márquez came to mind:
In March the gypsies returned. This time they brought a telescope and a magnifying glass the size of a drum, which they exhibited as the latest discovery of the Jews of Amsterdam. They placed a gypsy woman at one end of the village and set up the telescope at the entrance to the tent. For the price of five reales, people could look into the telescope and see the gypsy woman an arm's length away. "Science has eliminated distance," Melquíades proclaimed. "In a short time, man will be able to see what is happening in any place in the world without leaving his own house." A burning noonday sun brought out a startling demonstration with the gigantic magnifying glass: they put a pile of dry hay in the middle of the street and set it on fire by concentrating the sun's rays.