I, along with other Microsoft colleagues, participated in the ApacheCon 2009 in Oakland, CA this week. This week also marks the 10th Anniversary of the Apache Software Foundation – so congratulations to the ASF and overall Apache community, which has steadily grown and sustained over the past decade!
Microsoft is now actively participating in several Apache projects and becoming part of the core community. ASF President, Justin Erenkrantz, talked about Microsoft’s contributions recently, as well. Peter Galli has also blogged on other activities that we were engaged in at the ApacheCon this year.
I have personally been involved in the Apache Stonehenge incubator project along with my colleague, Kent Brown, and it is good to see all the progress that we have made in the last 1 year. The original goal of Stonehenge was to provide a public forum to test the interoperability of WS-* protocols on different vendor stacks and to build sample applications that could provide best practices and coding guidelines for better interoperability. We are on a good path to achieving many of these goals, with the main sample application, Stock Trader, now having been implemented on .NET (by Microsoft), PHP (by WSO2), WSAS JAVA stack (by WSO2), Metro (by SUN Microsystems), Spring Web Services (by SpringSource).
The Stock Trader application has also been extended to use the WS-Security and WS-Trust protocols now for claims-based authentication scenarios. This allows the end-users’ access to be authenticated through an independent Security Token Service (STS) that is trusted by the bank and to pass that token to the broker to process the transaction.
Moving forward, the Stonehenge dev community wants to focus on building multiple micro-samples each focused on specific set of WS-* protocols. I think this is a great idea because it will allow vendors, developers and customers to quickly test and learn specific protocols of interest to them instead of going thru one big application that covers most of them. It also allows individual developers to work on different samples and turn them around faster. One other idea that is being talked about is having a dashboard available which can show the results of interop tests across different stacks in an easy to understand and consume way. This will be of great interest to our customers who can see the interop testing results across different versions of implementations of WS-* standards by different vendors. Kent Brown, along with Prabath Siriwardena of WSO2, did a technical session on Stonehenge and talked about future plans. There seems to be good consensus building around these future plans for Stonehenge.
In addition to the meetings to discuss the progress of Stonehenge with other contributors to the project, I had the privilege of meeting with the ASF executives and talk about other projects that Microsoft can work on. I look forward to doing more interop work and engagements with the Apache community over the next year. We also showed off several other interop-related projects that Microsoft has been engaged in recently:
The database that connects to PHP can either be either MySQL or Microsoft SQL Server and the kit ships with both of these in two separate downloadable (.zip) hosted on the Codeplex project site. The open source code is also available from this site and contributors welcome to check it out or contribute to it.
This scenario involves PHP using MySQL. In this case I want to be able to create pins on a Bing Map from a simple form on a web page and a database that stores the location. You have the ability of storing it directly into the database via the service with both the latitude and longitude as raw data or you have a provided helper application that will search a common address and store it transparently in the database and render it on a map as well as do some basic input checking.
You may want to add some sample values at the beginning so that some new shapes can be rendered by the mapping service. The pushpin shape is handy here and comes as a default in the solution. You can either populate the locations from your database tool or you can use the example below.
It’s a good idea to change the first variables in map.js with the starting location of your map and the zoom value by changing the results below, set for Seattle WA and it’s surroundings. It will give you a nice user experience if you start with a default that shows where there is a good number of pins or your first entry.
Then create a new html file with in the headers
The following statement loads the map from the mapping service, the function is provided in maps.js
Create a placeholder in the body for the rendered map, the following div will do this for you,
Then bring up a form which calls the other functions also located in the file maps.js. The proper way is to use form that calls the FindAndAddPin function by passing a title, description and location. You can also render the map by itself by omitting this form if you don’t want users to be able to modify it. The service will call the mapping service to find the location provided and provide a callback with an array that includes the latitude longitude. This in turn is stored by the SavePushPin function through the returnresults.php service to the local store we created earlier.
For illustration, you can use the alternate form that calls the SavePushPin function directly and it will write the latitude and longitude via service to the database. It will render the location when the map changes in any way and the function MapChangeHandler, receives an event . That handler lives in the GetMap function in reference earlier. Panning and Zooming the mouse will do the trick and update the values.
Save the html file and put it in the same folder or reference it appropriately along with returnresults.php, map.js, map.css and jquery-1.2.6.js included in the solution package you downloaded on your website and view in your browser!
That’s all you will need to display a Bing map on your site with pre-populated locations using a little PHP, JQuery, JSON and HTML!
Jas Sandhu Technical Evangelist, Interop Vendor Alliance Manager, Interoperability Strategy Team Twitter@jassand, FriendFeed@jassand
We’ve worked very hard to release version 1.0 of three different projects today, all timed to coincide with the availability of the Windows Azure platform, which was also announced today at the Professional Developer Conference in Los Angeles.
This release is the culmination our team’s year-long work with our partners for bringing core PDC09 scenarios to life and a release that many of our customers & open source developers have eagerly been waiting for since our last CTP release at Eclipse Summit Europe. I want to thank our engineering partners Real Dolmen & Soyatec who have done a great job in such a short period of time to complete SDKs & tooling.
The version 1.0 of the tools & SDKs can be downloaded from the below location.
The Eclipse tooling & SDKs are fully compatible with Windows Azure that has just been released, so you can build services & web applications using PHP & Java in Eclipse and deploy them to the cloud today.
I am excited to share some of the new features that we have included in this version of the Windows Azure Tools for Eclipse:
Finally, the many new features of the Windows Azure SDK for Java are showcased in a new tutorial that illustrates how Java developers can take advantage of Window Azure in heterogeneous scenarios, with both on-premise and cloud Java applications. The tutorial is available at: http://www.windowsazure4j.org/learn/setup/
You may also have heard that Microsoft today announced new third-party technologies that can be run inside Windows Azure, including MySQL and Java (we’ll come back to this later!). All of these technologies take advantage of the automated service management capabilities in Windows Azure. These developments further deliver on Microsoft’s strategy to make the Windows Azure platform open and interoperable.
More interoperability treats are going to be announced at PDC, so stay tuned!
-- Vijay Rajagopalan, Principal Architect
You can see an overview of the architecture, the configuration steps, and a quick demo of the wizard in the following Channel9 screencast:
Here’s in a nutshell the logical architecture and flow of the wizard:
You can get more details about the project and download it from here.
--Sumit Chawla, Technical Product Manager/Architect, Microsoft Interoperability Team
I just flew back from the Microsoft Professional Developers Conference (PDC09) in Los Angeles. What a week, with a lot of announcements, surprises and achievements on multiple fronts. From the interoperability perspective, a lot happened too.
This PDC09 further demonstrates how Microsoft is making interoperability a priority and reality by demonstrating how − as an open platform − Windows Azure offers choices to developers. We’ve been able to show our progress with practical examples (like WordPress), additional technologies to run on Windows Azure (Tomcat, MySQL) and new SDKs/tools (like AppFabric SDK for PHP, Windows Azure Tools for Eclipse version 1.0). We’re on a journey, but it’s a significant milestone!
So let’s recap what happened:
Ray Ozzie’s Keynote: Ray announced more options for developers on Windows Azure with Tomcat(Java), memcached and MySQL. This was illustrated by Matt Mullenwag running a demo of Wordpress running on Windows Azure and followed by Martin Cron from www.ICanHasCheezburger.com who showed their new Wordpress-based blog http://oddlyspecific.com/ which uses an image management plug-in based Windows Azure storage.
Watch this video with Steve Marx (Technical Strategist in the Window Azure team) and Vijay Rajagopalan (Principal Architect in the Interoperability team) for an overview:
Refer to PDC sessions Building Java Applications with Windows Azure and Developing PHP and MySQL Applications with Windows Azure for more details.
Another interop demo: Domino's Pizza Java Tomcat-based application running on Windows Azure. Domino's Pizza showed up in a short video in the keynote where Jim Vitek, Domino’s Director of eCommerce stated: "We have to buy hosting infrastructure to meet our highest peak which is Super Bowl which is 50 percent above our next highest peak which is a typical Friday night. So there’s a tremendous amount of unused capacity in our hosting infrastructure that Windows Azure allows us to eliminate"Domino’s Pizza was also in Sumit Chawla’s talk at Web 2.0 expo demoing the scenario with Tim Wise from Domino's Pizza. Read this blog post for more details: “Domino’s Demonstrates Tomcat Site on Windows a Azure”. Sumit also made a few interoperability announcements from the #web2e expo floor. Check this PDC09 session as well: Lessons Learned: Migrating Applications to the Windows Azure Platform.
A dedicated Interoperability page on the Windows Azure portal: www.windowsazure.com/interoperability. You’ll find here the overview and links to resources which will enable various developer communities to leverage Windows Azure either as the primary cloud infrastructure or simply to extend their existing applications.
Windows Azure SDKs for PHP and Java and tools for Eclipse version 1.0 released: This release is the culmination our team’s year-long work with our partners for bringing core scenarios to life and a release that many of our customers & open source developers have eagerly been waiting for since our last CTP release at Eclipse Summit Europe. Watch this video with Maarten Balliauw, initiator of the project and Vijay Rajagopalan, for a quick overview:
New Interoperability Bridge: PHP developers get an SDK for the Windows Azure platform AppFabric. Windows Azure platform AppFabric (formerly called .NET Services) includes the Service Bus and Access Control services that provide infrastructure in the cloud to connect applications.
A new SQL CRUD Application Wizard for PHP: This tool enables PHP developers to easily generate PHP code that performs basic Create/Read/Update/Delete operations for Windows Azure Tables SQL Azure and SQL Server
Using Windows Azure Storage from Ruby: We met with Johnny Halife, Principal Architect from Southworks, who has developed a Windows Azure SDK for Ruby. Watch the video for a quick overview:
Apache Stonehenge demoed at PDC09: Kent Brown, product manager for WCF gives us an update and show a demo of the different StockTrader applications working together. Watch the video till the end, Kent unveils the mystery on why the project was called Stonehenge!
In case I missed anything (I’m sure I have) let me know, I’ll update the post.
ASP.NET Ajax Library: the first project to be contributed to the CodePlex Foundation.More information on James Senior's blog: http://www.jamessenior.com/post/News-on-the-ASPNET-Ajax-Library.aspx
ASP.NET Ajax Library: the first project to be contributed to the CodePlex Foundation.More information on James Senior's blog: http://www.jamessenior.com/post/News-on-the-ASPNET-Ajax-Library.aspx
-- Jean-Christophe Cimetiere, Sr. Technical Evangelist
I’m pleased to announce a new software development kit (SDK) that helps PHP developers easily leverage the Windows Azure platform AppFabric (formerly called .NET Services). This SDK is the third in a series, the first of which was released a year ago. Equivalent SDKs for Java and Ruby are also available and they have been updated to reflect the latest version of the AppFabric.
The AppFabric SDK for PHP is an open source project developed by Persistent Systems Ltd. and is available today on Codeplex: http://dotnetservicesphp.codeplex.com/. Microsoft is providing funding and architectural guidance for this project.
About the AppFabric
As part of the Windows Azure platform, the AppFabric includes the Service Bus and Access Control services. They are both web-based services that provide infrastructure in the cloud to connect applications. The Service Bus acts as an intermediary between applications and services. For example, developers can use it to bridge on-premise and off-premise applications or create composite applications. The Access Control service enables external users to connect to cloud resources using their external identities. It also enables developers to create user accounts that federate a customer's existing identity management system that uses the Active Directory service, other directory systems, or any standards-based infrastructure. You can learn more on the http://www.microsoft.com/windowsazure/dotnetservices/ pages. I suggest that you start with the video:
“What are the Access Control Service and the Service Bus?”
Understanding the function of the SDK
Before I delve any deeper into the technology behind the SDK, I want to address a question that we on the Interoperability Team are often asked:
“Why would I need a SDK to use the services offered by the Window Azure platform when the platform has been built from the ground up with interoperability in mind?”
Let me be clear: the Windows Azure platform natively supports multiple Internet protocols and standards (such as HTTP, XML, SOAP, REST, and ATOM, to name a few). So it does not require an SDK to build applications. However, the SDKs can boost developers’ productivity and provide guidance on how to use the platform. Think of SDKs as speed-dials to the Windows Azure platform!
Watch the video
To find out more about this project, watch the video with Sumit Chawla, Technical Product Manager/Architect from the Microsoft Interoperability Team. Sumit explains the SDK architecture, provides sample scenarios, and demonstrates the SDK in action with a sample PHP application.
[This video is posted on channel9 as well]
A typical scenario
Let me try to summarize in a diagram a typical scenario using the AppFabric SDK for PHP.
Imagine you want to provide access to an application or service living within the boundary of your enterprise, but you cannot (or don’t want to) open a direct communication to your application. You can use the Service Bus to act as the intermediary and communicate with third parties via buffers of messages. The Access Control service makes it easier to deal with the identities of your users and the associated level of authorization.
In the scenario represented by the diagram below, the PHP application that lives behind an enterprise firewall can share specific services with other applications—whether they run on Windows Azure or on other cloud infrastructures, and using a mix of technologies.
For more details on the SDK, feel free to visit the project site at http://www.dotnetservicesphp.com/, which includes tutorials, sample code, and a demo application that can help you better understand how to use the services in your own application.
—Jean-Christophe Cimetiere - Sr. Technical Evangelist
By Jose Thomas
Hi, I’m Jose Thomas, Technical Solutions Director for Strategic Partnerships and Licensing at Microsoft.
Three years ago, Microsoft and Novell announced a partnership that was received with surprise and skepticism by the IT industry and customers alike. (Watch the press release at http://www.moreinterop.com/) What could possibly drive these two companies into a partnership considering the long history of competition behind them? The answer to this question is simple – customers and their complex IT environments.
Over the years, in search of efficiency and competitive advantage, customers started to look at the end promise of mixed source environments without always considering the plumbing that needs to be done to get disparate systems to work as one.
This is where the Microsoft and Novell Technical Collaboration comes into play. Engineers from both companies work side-by-side in our joint Cambridge, MA, lab working to test our interop solutions and ensure that they work better together. And both companies agreed to develop their products on open standards so that customers don’t have to worry about the plumbing. What started off as a lofty goal of four collaboration pillars has now grown to seven and continues to develop.
In this post, I’ll provide an update of the initial four areas that include Virtualization, Standards Based Systems Management, Standards Based Identity and Federation, and Document Format Compatibility. I’ll also review the incremental collaborations that include Moonlight, Linux Management for MS System Center, and Windows Accessibility.
Starting with Virtualization, the two companies agreed to optimize their respective Server OS platforms to take advantage of each other’s virtualization Hyper Visor. This was made possible by a set of VM adapters that were designed to broker communications between the XEN Visor and Windows Hyper V. These Hyper-call adapters, along with drivers for synthetic devices and storage were packaged up together and offered to customer as the Linux Integration Components. The Integration Components could be downloaded and copied into the Guest OS which when rebooted would experience the additional performance of being and enlightened or para-virtualized guest. This was a key differentiator for Novell as SUSE Linux is the only enlightened guest supported on Hyper-V. Most recently, Microsoft has contributed the Integration Components to the community thru a GPL V2 License
In the last six months, we’ve crossed the threshold into the Virtualization V2 solution. The key differentiator here is that SUSE Linux is an enlightened guest on Windows Server 2008 R2 with Live Migration. Now administrators can move Windows or Linux Guest across physical hosts without experiencing any downtime. With Live Migration supporting SUSE Linux, Microsoft and Novell have been able to narrow the perception gap in heterogeneous virtualization between Hyper-V and ESX from Virtualization Competitor, VMware.
On the Management front, the initial agreement was for both companies to adhere to WSMan protocol standards for Systems Management. Both Microsoft System Center Operations Manager and Novell’s Zenworks Management Platform leverage WSMan protocols for server monitoring. But the innovation continued in the form of a Linux Management Pack that Novell release last year for Microsoft’s System Center. Novell’s Linux Management Pack extends the cross platform capabilities of System Center by monitoring seven key services within SUSE Linux. They include Samba, Bind/DNS, DHCP, LDAP, CUPS, Firewall, and NFS. Novell’s Linux management pack is currently only supported for SUSE Linux.
Identity and Federation
The next and most recent technical solution involves the Identity and Federation Pillar. The agreement was for both companies to adhere to WS* for directory and Identity Federation. This has been brought to life thru Microsoft’s AD FS (Active Directory Federation Service) and Novell’s Access Manager. Both of these products communicate thru the WS Federation Protocols include WS Trust and WS Security. Thru this federation model, customers can take advantage of AD based applications like Microsoft SharePoint in E-directory or other LDAP directory environments. We are currently developing a packaged solution that will extend SharePoint to non AD environments thru this AD FS – Access Manger federation model expected to ship in Q2 of CY10.
More Technical Interop Projects
I’ll spend this last section discussing the remaining technical projects which are Document Format Compatibility, MS SilverLight and Moonlight, and Windows Accessibility extended to Linux
As we celebrate the 3rd anniversary, we’re happy to see the technical collaboration between Microsoft and Novell is alive and thriving with most of the key milestones completed, and our teams continuing to collaborate for our customers’ IT future. With over 475 customers who are taking advantage of the benefits, there’s no doubt that these two companies are taking their customers’ needs seriously. The bridge that was built between the two companies, supported by a mutual respect for intellectual property, continues to deliver interoperability solutions that lead the way to the ever-complex, next generation data center.
Jose Thomas, Technical Solutions Director
As many of you know, most large web sites that feature lots of content often experience traffic that is looking for pages that either don’t exist or have been moved. But did you know that the percent of traffic that causes web servers to return a generic 404 error page or sitemap is as much as 2 to 10 percent? That’s an awful lot of viewers experiencing a dead end as a result of nonexistent or relocated pages.
However, the Bing 404 Web Page Error Toolkit for PHP, which was debuted at the Web 2.0 Expo in New York today, helps developers better manage 404 errors by dynamically creating a customizable page that contains error messages and search results that are seeded with relevant keywords from Microsoft’s Bing search engine. This page ultimately helps web site visitors move past the missing page and find the information they need.
The Bing 404 Web Page Error Toolkit for PHP is a customizable PHP application that replaces the default error page on Microsoft IIS or Apache web servers with Bing search results that are based on keywords that have been derived from the URL requested by the user. The toolkit is available on Codeplex as an open source project, and is released under the Microsoft Public License.
Say, for example, a user requests a page with the URL “someURLontheweb.com/interoperability/bridges,” and the URL doesn’t exist. The toolkit dynamically creates a page like this one:
The process works in this way:
You can see an overview of the architecture, the configuration steps, and a quick demo of the toolkit in the following Channel9 video:
The toolkit is very easy to install and use, with very little customization necessary. Feel free to check the project site on Codeplex http://bing404php.codeplex.com. As always your feedback is welcome!
.NET developers—note that a similar kit for ASP.NET is available for ASP.NET here.
—Sumit Chawla, Technical Product Manager/Architect, Microsoft Interoperability Team
Microsoft Silverlight, now at version 3.0, is a great way to create rich web applications that run on Windows, Mac OS and Linux. It provides an engaging, rich, safe, secure, and scalable cross-platform experience. Best of all you can run it off any web server (IIS, Apache for e.g.) and it can be called from any PHP website! Our team has released some helper samples to get you started. You can find the project on the Samples for PHP with Silverlight web page, and the project source can be found on Codeplex. The project includes sample HTML and PHP scripts.
How it works? Silverlight content is embedded into an HTML or PHP web page and in turn is transferred to the client browser where it is displayed by the Silverlight runtime (plugin) installed on the client computer. The architecture is shown on the right.
You will first create a Silverlight application file (.xap). We have provided a sample file, HelloPHPDevelopers.xap within the download or you can also create one for yourself by using another tech bridge we have, Eclipse Tools for Silverlight. Our colleague Steve Sfarz in France has a great post up on his site describing how to get started with it and create your own .xap file. This file is essentially a packaged archive or .zip file (try changing .xap to .zip and browse into it) with a collection of libraries that you have compiled for your application. If you follow the directions on the site you will end up with a button on a form with some custom actions.
You will then copy the .xap file you have created to a directory within your web site where you plan to host the Silverlight content. You will then want to create a custom HTML or PHP page that includes the following code in it’s body
That’s all you need to run the .xap file you created and you can swap it out to any other file Silverlight application you choose to use. If a user does not have the Silverlight plugin installed they will be presented with a 'Get Microsoft Silverlight' image and a link to install the plugin too. You should see an example of this in action right below this paragraph.
To do this dynamically from PHP, you can use the function below. This is handy if you have Silverlight content in more than one place on your website.
That’s all you need to take advantage of Silverlight as a content source for your PHP website. Have fun and share your experience back with us!
A couple weeks ago, Microsoft was at ApacheCon. We reported the progress made on the Stonehenge project and presented the roadmap.
The goal of Apache Stonehenge is to provide a public forum to test the interoperability of WS-* protocols on different vendor stacks and to build sample applications that could provide best practices and coding guidelines for better interoperability. The main sample application, StockTrader has been implemented on .NET (by Microsoft), PHP (by WSO2), WSAS JAVA stack (by WSO2), Metro (by SUN Microsystems), Spring (by SpringSource). The latest version of StockTrader uses the WS-Security and WS-Trust protocols for claims-based authentication scenarios. This allows the end-users to be authenticated through an independent Security Token Service (STS) that is trusted by the bank and to pass that token to the broker to process the transaction.
This week at PDC09, we were demoing the project. I went to see Kent Brown, product manager for WCF and asked him to give us an update and show a demo of the different StockTrader applications working together.
Watch the video till the end, Kent unveils the mystery on why the project was called Stonehenge!
-- Jean-Christophe Cimetiere
Today I presented a session at the Web 2.0 Expo in New York called Cloud Computing with Windows Azure Using Your Preferred Technology. During my talk, I stepped the audience through a series of demonstrations in which non-Microsoft tools and programming technologies, such as PHP or Java, were used natively to create cloud computing solutions with the Windows Azure platform. I also had the exciting opportunity to debut new open source projects:
If you want more detail about these projects, just click the links above. There you’ll find additional information, including videos.
I was very fortunate to have Tim Wise from Dominos Pizza as a guest speaker in my session; he showed how Dominos dealt with the problem of handling peak website loads (like on SuperBowl Sunday) by using Windows Azure for scale-out. What makes the Dominos demo very interesting is that the Dominos web-application is a Java Application running on TomCat. A true testament to the interoperability of the Windows Azure Platform! Read this blog post for more details: “Domino’s Demonstrates Tomcat Site on Windows Azure”
I received some very interesting questions and feedback about these projects from those who attended my talk, so I want to extend a big thanks to everyone for their input. It’s been really nice to be at Web 2.0 and connect with real-world developers building next generation websites and applications.
--Sumit Chawla, Technical PM/Architect, Microsoft Interoperability Team
While out at Apache Conference last week in Oakland California. We had an opportunity to participate in the Lightning Talks, and it was a real break from the regular conference proceeding and business as per related to our contributions to the Apache Software Foundation.
The Lightning Talks was held during a reception with plenty of popcorn, beer and wine on Thursday evening, November 5. The talks are a lively, spontaneous ApacheCon tradition with speakers getting about 5 minutes to poke at each other, the projects, technology, community etc … and have a bit of fun!
Team Microsoft was led by Kent Brown, Product Manager for Windows Communication Foundation, was our singer, songwriter and guitar player, wrote ‘Incubator Blues’ inspired by his experience participating in the Stonehenge Project and working with the community. He was joined by his backup singers; Peter Galli, our open source community manager; Tanya Young, our chief cat herder at the conference; and me. It was great fun and we hope you enjoy it!
Video courtesy of Mladen Turk from Redhat, thanks!
Incubator Blues Lyrics by Kent Brown to the music of ‘Walkin’ Blues” by Robert Johnson
Woke up one mornin', said I want a project at Apache If you build it they’ll come, a great community! Woke up one mornin', said I want a project at Apache If you build it they’ll come, just how hard can it be?
People tell me, Incubator blues ain't bad It's the worst old feeling, I most ever had People tell me, Incubator blues ain't bad It's the worst old feeling, Lordie most ever had
They said we need a name, one that no one has used Cause if you’re not careful, then you’ll get us all sued! They said we need a name, one that no one has used Cause if you’re not careful, then you’ll get us all sued!
Hoped for volunteers; thought they'd code it for fun But soon found out, nothing’s done without funds! Hoped for volunteers; thought they'd code it for fun But soon found out, nothing’s done without funds!
I posted my spec, said jump on the boat But they said dude here you gotta take a vote. I posted my spec, said jump on the boat But they said dude here you gotta take a vote.
I asked for a server, place to hold all my stuff They said “You want Windows?” well that's gonna be tough I asked for a server, a place to host all my stuff They said “You want Windows?” well that's gonna be tough
Woke up this morning, to release version 22 That's when I knew I had them Incubator blues Woke up this morning, to release version 22 That's when I knew I had them Incubator blues
Old Seb found a problem; somethings wrong with the build Nothing gets by him, that guy is skilled! Old Seb found a problem; somethings wrong with the build Gotta do it again, oh man am I thrilled!
Last week we participated in the DII workshop that took place in Brussels.
Attendees included a variety of document-format experts from the ODF and Open XML worlds, including members of SC34 working groups, the OASIS ODF and OIC TCs, ODF and Open XML implementers, public-sector experts in interoperability and archiving, and others.
Dough Mahugh has the summary and nice photos.