Microsoft Gulf Geek 2 at Dubai

I've just got some good news from Microsoft, Geek 2 is coming back on end of March 2007, Microsoft has launched an enterprise event last year at May, it was a cool one, and I have got a good deal of knowledge and also met some new people, one of the speakers whom I really liked is Chad Z. Hower, hopefully Chad will be there, and also Amr Al-Garhy will be there, but the good news is that this event will be basically focused on .NET 3.0, I expect sessions about WWF ( Windows Workflow Foundations ) , as it hasn't been demonstrated last year, also I expect some stuff about WCF ( Windows Communication Foundations ), also I have known that this event is gonna be very big and they will get very good speakers.

The event is still under planning and the agenda is not published yet, but it will be tentatively 27th, 28th, and 29th of March, You can check last year's Geeks event here.

I recommend that you mark your calendar for this event, it's inevitable for everyone who has passion to cutting edge technologies, basically the first day will be targeted to students, so it's better to go on the second day.

Meet you There with the Geeks!


Office 2007 OpenXML

For previous versions of Office, Microsoft provided files in a proprietary binary format that changes depending on the file type (doc, xls, ppt, etc...) , at the past developers needed to know the application model of office to better manage and handle different files formats and this was so painful and costly, with introduction of Office 2007 ( aka Office 12), Microsoft provided a new standard for saving Microsoft office files in XML, the new standard called OpenXML, simply speaking, everything in the file is just saved as XML which is adhering to OpenXML standard, this is an extremely good addition to the history of Office system, it will make life of developers much more easier, and this will give developers great flexibility to manage and edit office files, moreover if you are working on a server side application you can send your content to users as an office files, suppose you are sending a newsletter to a portal users, you can send it as an attached word file, so users can save newsletters easily, one more scenario is that if users are uploading documents to your application and you just want to analyze document contents or add any standard data to the document before saving it to the server; with OpenXML you can achieve this.

New office extensions are all post scripted by ‘x’, doc is now docx, xls is now xlsx, etc.., the good news is that you can view the file XML contents in WinZip because office 2007 file is just a zip container, and let’s have one example to better explain it, open your word 2007, and write ‘Hello OpenXML’, then save it and exit Word.

Open windows explorer and browse to the file you’ve just created, right click the file and open it using WinZip or WinRar (I prefer WinRar as it handles both zip and rar files), amazingly you will get the contents of your file listed as shown in the following screenshot:

Word 2007 Package Structure (Image from MSDN)

As we said the docx file is just a package and this package contains parts, a part could be textual and it could be binary for image, audio, video files, or any other non-textual format, open [Content_Types].xml file, you will find all parts listed inside this file as indicated in this screenshot:

Browse to word folder on the root and open document.xml file, scroll down you will find the content you’ve entered that’s Hello OpenXML as indicated in this screenshot:

Get back to the root and open docProp folder you will find 2 xml files; app.xml and core.xml, app.xml contains meta data of the word file, such as number of words, characters, paragraphs , and pages, template used, etc.., while core.xml contains creator and last user modified the document, and times of creation and modification as well, contents are shown below:

For the _rels folder on the root, this folder contains relationships between parts inside the zip package.

Note: The formal way to work with OpenXML files, is using the OpenXML API released with .NET 3.0

For more information about OpenXML , have a look at these locations:


Visio 2007 AutoConnect

One cool feature I really liked about Visio 2007, is AutoConnect, it is a way to connect your shapes easliy and fastly, suppose that you are drawing a flowchart, and you want to connect shapes, what you used to do is to drag and drop the shape from the toolbox and then position it on a good position, and then make an arrow from or to the shape, now with AutoConnect you can do this in either of 2 ways:
  1. Select the shape from toolbox, and then click any of the transparent arrows that appear when you hover a shape on design area, this will add the shape from toolbox to the drawing area, and position it in a good place.
  2. if you've already added your shapes and you just want to connect them, hover one shape and then you will get 4 arrows on the shape's 4 corners, and when you hover one arrow, Visio will predict the best shape to connect to by higlighting destination shape by red borders, once you click the arrow, the connection will get created.

This will make your life easier, as positioning and connecting shapes is one of the irritating tasks you have to do, for more explanation and screenshots, please refer to Eric Rockey blog.


SharePoint Portal 2007 Installation

Installing Microsoft SharePoint Portal 2007 is so straightforward, I installed SPS 2007 on Windows Server 2003, and this is the only operating system that you can install SPS on, before installing SPS you have to verify some platform prerequisites:

1. Windows Server 2003 SP1.
2. Microsoft .NET 2.0.
3. Microsoft .NET 3.0.
4. IIS 6+.
5. ASP.NET added to allowed extensions in IIS 6.

The reason you will need .NET 2.0, is that SPS 2007 is rebuilt upon ASP.NET 2.0, you will have Master Pages, and you can set a site’s master page either in configuration files, or programmatically, also one more reason you will need .NET 2.0 is WebParts, actually SPS 2007 supports two styles of webparts first is the old style that’s dependent on Microsoft.Sharepoint.dll assembly, and the newer style is dependent on System.Web.dll, this is an ASP.NET 2.0 assembly, and to create a new webpart you have to inherit from System.Web.UI.WebControls.WebParts, so the WebParts new technique is completely dependent on ASP.NET 2.0, and this will give a great flexibility to developers.
The reason you will need .NET 3.0 (formerly known as WinFX), that SPS 2007 and WSS 3.0 are using Windows Workflow Foundations (WWF), to provide workflow services to business logic, SPS provides a collection of predefined standard workflows, and also developers will be able to design custom workflows.
Herein the screenshots I have taken while installing SPS 2007 On Windows Server 2003 SP1, I didn’t include all screenshots as they are self-explanatory.

The last screenshot is the first run for SPS 2007 after installation.


Windows Vista Gadgets

I have installed Vista RTM, and I have been trying gadgets, it's really nifty, so I decided to develop one, the thing is that I don't want to reinvent the wheel, I have been striving to get a good idea for a gadget, that nobody did before, then I decided to develop an extended clipboard container, that holds more than one item and the user selects the item he wants from the sidebar gadget, and I think it really helps, actually it should have been supplied with default gadgets however after doing some search to make sure this gadget is not available, I got to know that someone else on the Earth did it before, and called Text Holder, I think the download link is not there, you will need to search to get unbroken link to download, also If you have any idea for a good gadget please post a comment to this post, all ideas are welcome.