Tuesday
Sep132005

PDC05: Choosing the Right Presentation Technology

The second break-out session I attended today was called “Choosing the Right Presentation Technology: Windows Presentation Foundation ("Avalon"), Windows Forms, ASP.NET, IE, and More”.  The speaker was great and really seemed to know his stuff.  There wasn’t alot of raw knowledge gained during this session, however I still felt it was valuable… it might have been much more valuable if I spent more time building winform apps, or designing the graphics aspects of said applications.  Nonetheless, it was great to see another demo of WPF and WPF/E (running on OS/X).  He had a good discussion of Atlas, XAML, WPF, etc. and the history of UIs in general and how we got to where we are now… very exciting to see what a good designer working in concert with a good developer can accomplish.

Check out MSDN for more information.

Tuesday
Sep132005

PDC05: Windows Communications Foundation ("Indigo")

Because the keynote went long today, they rescheduled the lunch sessions so my second session of the day was called Windows Communications Foundation ("Indigo"): A Lap around the Windows Communications Foundation. Unfortunately, I felt the session was nearly a complete waste of time.  Besides the fact that the speaker seemed less than prepared (truly seemed surprised by some of his demo results), the demo and content did not “gell” well.  There wasn’t that cohesion that makes for a good presentation.  Furthermore, while I came out of the presentation knowing how to do some WCF programming, I am still missing the *why* I would want to.  Seeing that this was the introductory session of the conference on Indigo, I assumed more time would have been spent on getting us excited about why we would want to use this new technology, and the amazing business problems it could solve for us… unfortunately, none of that was given.  Thankfully, this was the only “downer” session I attended today.

Check out MSDN for more information.

Tuesday
Sep132005

PDC05: Day 1 Keynote

The keynote for PDC05 today was great.  It started out with Bill Gates (this is the first time I’ve heard him speak in person).  He was followed by Jim Alchin.  Between the two of them, we saw some great demos and heard some really encouraging things.  The following is a list of key points that I came away with from the session:

  • Bill G gave a “state of the industry” type talk explaining that he felt this is the most exciting time to be in the software industry, and that software is the most significant change agent around today.
  • Demo’d Windows Vista… very impressive UI – not just the graphics… little things like alt-tab improvements, previewing docs, previewing task bar items, side bar items, integrated RSS, etc.
  • Office 12 is going to rock.  I am disappointed that they didn’t give us a pre-release version on “The Goods” kit.  Most notably is the new menuing/toolbar structure with the goal of making the programs and their features more discover-able to the general populous.
  • Excel 12 has some great new features allowing for tremendous data visualization without really knowing what you are doing… very nice improvements
  • PowerPoint 12 has some great enhancements, such as automatically taking text bullets/flow items and converting them into a diagram for you with a few clicks of a wizard.
  • PowerPoint and SharePoint have some great improvements with respect to “slide galleries.”  Picture if you will, a company assembles a great deck for sales teams to use.  obviously, many presentations may not need all of the slides.  The content developer could post them to a slide gallery, where each slide would be individually available for inclusion in a given sales person’s deck.  Further, the salesperson would be notified each time he/she opened the deck if any changes had been made to the master copy and would be able to update the local copy with just a few clicks.
  • Outlook 12 has some great improvements with respect to handling tasks and RSS… incidentally, I’m now convinced that NewsGator for Outlook has a short life span (at least how I use it)
  • switching topics a bit now… “Workflow” is moving high on the priority and will be “baked in” to the OS… it will be interesting to learn more about what this means.
  • LUA will be the default running mode for Windows Vista
  • USB Memory Sticks can sometimes be used to instantly add additional memory to a machine… they can be made available to the virtual memory runtime
  • You have the ability to sandbox certain processes to isolate potential security risks
  • Atlas is going to be cool
  • WPF (Avalon) is really cool
  • WPF/E (WPF Everywhere) is amazing… ability to run Avalon on any device… including things such as mobile devices, Linux, Mac OS/X, etc.
  • Infocard is a federated identity system but is open this time… more to come on this
  • There was a great demo of the various key development components… of most interest to me was the integrated query framework that allowed for the object exposure of db tables, and then the dynamic joining of data from said db tables with data pulled on the fly from in-memory repositories using SQL-like syntax… very cool

Oh yeah… and I scored an i-mate JASJAR… I’m so pumped… more on the other sessions I attended in a few minutes

Monday
Sep122005

I'm at PDC!

Well, not actually, but I’m close.  I’m certain that there will be a ton of people posting about PDC05, and those who attended the pre-sessions probably already are.  I arrived this afternoon in time to go down and get registered so I can skip that in the morning… I’ve been spending this evening working through the schedule and trying to determine which sessions to go to (there are so many!).  As always, some blocks of sessions seem pretty boring, while others have 4–5 sessions that I really want to attend (thank goodness for the conference DVD’s).

I hope to have some interesting technical things tomorrow… tonight’s post is merely informational… however, it was neat to get a few minutes to play on some Windows Vista-based machines… They have setup what they call “Internet Alley” which is essentially 300+ machines that are available for people to come up and just use… (all running Windows Vista of course).  The UI is pretty jazzy… windows and menus fade in sort of in an Mac OSX-like fashion… very smooth and sharp… it’ll be interesting to uncover the other features… I did also play with the Windows Explorer which had a number of additional tweaks…

It should be a week that will not disappoint…

 

Tuesday
Jul192005

Writing MPF Schemas is easier now using VS 2005

I know many people do not take the time to include schemas in their MPF named procedures, but I am a big fan.  Here at eQuest, we use these in-line schemas for all sorts of things ranging from auto-generating CHM files to auto-generating strongly-typed C# and XML Web Service wrappers. The problem is, these are a *pain* to write.  I hate writing them, and even worse, they are hard to get accurate.  It is very easy to miss a step, or mis-state a requirement, etc.  It is very easy to duplicate a node, or forget to include a node, etc.

Yesterday I was faced with the need to write a schema for a named procedure I had just written for a client.  Because of some rather unique lab environment issues, I elected to write them directly on my machine, where, I just happened to have VS.NET 2005 Beta 2 installed.

What I found was that VS.NET 2005 includes two features that make the editing of XML and the associated schemas much easier. The first is intellisense.  This is not a surprise, and I had heard that VS 2005 included better support for a wider range of XML namespaces, but I suppose I didn’t really think about it until it “just started working”.  The following is an example of in-line schema intellisense…

schema02

The second feature, and probably cooler feature (from my perspective) is the ability for VS to validate the schema nodes I’m creating relative to the schema nodes I’ve already created.  For example, if I add an <element /> node for a type for which I have not yet defined an <ElementType/>, I will get the appropriate squiggly lines indicating a problem.  The same is true for <attribute/> and <AttributeType/> tags. Also, if I have duplicate <element/> nodes it will complain.  Where this helps me, is that it is often easier (for me, in my limited view of this) to begin by creating the <ElementType /> node for type=executeData and then populating all of the appropriate <element/> nodes.  Then, I can use the validation features of VS to let me know when I have finished implementing the required <ElementType/> nodes.  The following is a screen shot of this validation:

schema01

These are great new features and I’m excited to see how this will speed my development moving forward

(note: yes, I’m aware that XMLSpy does this now, but I’ve simply not been able to get myself into the habit of having two “heavier” apps running to support my coding… I end up using VS for all of it… and I’m also aware that XMLSpy has an add-in for VS… but it changes the XML fonts and styles and that bugs me… oh well…)

Friday
Apr222005

Web Service Studio

Those of you who interact with and develop XML web services on a regular basis are probably very familiar with this tool or have other tools that you have purchased/developed to provide similar functionality, but I came across the Web Service Studio (http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=65a1d4ea-0f7a-41bd-8494-e916ebc4159c) last night while working on a little web service project and I think it is great… It is straight-forward in its operation, and doesn’t have alot of “jazz” to the UI, but it does what it is designed to do… which is providing you with a means of interacting with Xml web services in an ad hoc fashion.  I used it primarily as a testing tool, to validate that the web services I was creating worked as they should.  There are many other tools that one could use for performing such a validation… the built-in test page (only works on the local machine), building a custom client such as a winform app (this works, but requires a custom build for each web service which is hardly efficient), using a tool such as InfoPath to quickly build a test form (again, very effective, but requires a new form for each web service).  Web Service Studio allows me to simply point to a url after which it will read the WSDL, enumerate the methods available to me, generate the proxy, and let me test/probe each request right there… better yet, it allows me to see the raw XML request being sent back and forth for each “post” so I can see what the request/response needs to look like for non-webservice-friendly (i.e. you have to hand-craft the XML) SOAP clients.  Anyway, if you are working with Xml Web Services on a regular basis and need a simple (and free) testing tool, this tool is definitely worth looking at.

Thursday
Apr212005

VisualStudio.Net.2005.Beta2(firstExperience) == Really.Good;

Wow… early this morning was the first time that I was really able to spend some time with the new Visual Studio 2005 beta… and let me join the majority of the blogsphere in saying that I’m quite impressed.  My task today was a simple one… that of converting a primarily content-focused website that I had build using Dreamweaver MX to ASP.NET 2.0.  The following are some general impressions…

1. Vault and the beta work great together…. We are actually running an older version of Vault (2.06) yet it still connected up and worked like a champ… in fact, I was amazed at how fast the source control operations (checkin/out) were compared to RTM version of VS 2003 and the same Vault environment… a very nice start…

2. Project-less websites are great … no more adding files to the solution/project… VS simply “knew” about all of the files in the directories I was working on… it is very nice.

3. Master pages “just work”… As someone who has used the templating feature in Dreamweaver, and has also built an ASP.NET master-pages “engine” (capitalizing heavily on the work of Rob Howard and team, supplemented by Paul Wilson) I wasn’t “amazed” by the master pages feature… I just wanted it to work better/faster than my current tools and hopefully have a better implementation.  I was not disappointed… the Master Pages support was easy, and quick to utilize…. now if only they could get nested master pages to work in the designer…

4. XHTML compliance… finally… Some people probably don’t care so much about standards compliance, but I’ve been working pretty hard lately on some of these sites to make them XHTML compliant… this site in particular had been compliant until I added some ASP.NET controls (text boxes, buttons, validators, etc.).  I moved things over this morning, fired up the page, ran the W3C validator (thanks to the Checky extension for FireFox) and it validated (XHTML Strict) on the first run… very impressive

5. System.Web.Mail is deprecated… most of you all probably knew this already… and yes, I probably have had my head in the sand, but I was surprised when the compiler griped at me this morning about my form that sends mail based on user input… I took some time and without too much work was able to get the form processing code using the System.Net.Mail namespace which seems to be the new “right” way to do it… works like a champ.

I’m very excited… don’t have time to talk about the built-in webserver, or direct FTP support… which is great….  I’ll post more later.

Sunday
Jan232005

So... InfoPath IS useful....

One of the unfortunate realities of being a busy consultant and developer is that your exposure to technologies and tools are often limited to what you have to have to use to get your job done, or what your client needs and/or is interested in.  Obviously, you work hard to keep yourself exposed to as much and varied technology as possible, however some things invariably slip through the cracks.

Once such technology for me, as been Microsoft Office InfoPath.  I've played with it a few times, spent 30 minutes here and there, and never had much success... so I basically wrote it off as not applicable to me... a sentiment that is rapidly changing...

I'm currently on a business trip in the UK so I spent the weekend reviewing our company's client-facing Extranet (WSS based) and the various features we either offer or are planning to offer.  After doing a bit of digging, and a little experimentation, I now have our extranet site extended with a InfoPath driven status report form library... I still have a number of additional thinks I'd like to do (i.e. basic workflow, approval, etc.) but I'm pretty impressed with the ease with which it all came together. 

My next task is to get InfoPath working as a quick and dirty tool for testing XML Web Services as part of client projects... should be easy enough...

I'd be happier with the product if it didn't always require the client, but the richness of the client experience sort of explains those requirements.

Friday
Sep242004

.NET Framework 1.1 sp1 and MPS - the real story

I've been contacted recently by a number of people regarding a recent scare about installing the service pack 1 for the .NET framework 1.1 on a system running MPS.  This issue has been fueled by the fact that Ensim had released a concern about the patch for their customers, and there have been a number of people reporting problems using the Configuration Wizard for MPS with the service pack.  So, let's get the facts out.

 

The Facts

Ensim Unify: As of the writing of this blog post (9/29/04), Ensim has issued a warning against installing the service pack on boxes running their Unify product (see this release here: http://kbold.ensim.com/TWKB/ViewCase.asp?QSRuleID=1039

).  This is an issue with their software that they are actively working on addressing.

 

Microsoft for Solution for Windows Based Hosting v2.5 with Hosted Exchange 2003:  The *only* issue with the service pack and the Microsoft solution is the configuration wizard.  This wizard is only used during setup, so if your environment is already set up, you have no worries.  For those of you who are needing to install the product, let me take a minute to explain the work around….

 

There is a small issue in the Configurator.exe.config file that was ignored by the .NET framework prior to SP1.  After you install SP1, the framework does a validation check on this configuration file as the application loads.  Because of this issue, you receive an error and the application closes.  The work-around is to remove the configuration file (simply delete it - by default it installs to C:\Program Files\Microsoft Hosting\Provisioning\ConfigurationWizard) and re-run the application.  I know that this seems odd, but it should resolve the problem.  I've spoken with the team at Microsoft, and they are working to release an "official" patched version that will eliminate the issue and should be available soon. 

 

The net-net is that MPS and the Windows solution runs without issue with the service pack installed and none of the providers are demonstrating any problems.

 

Support links:

http://groups.msn.com/provisioning

http://www.asp.net/Forums/ShowForum.aspx?tabindex=1&ForumID=167

Wednesday
Jul282004

Forwarding a user's mailbox via MPS

I was recently contacted by a client inquiring how to forward a user's mail using MPS.  There is no specific "provider method" for this, but it is actually very easy using the Managed Active Directory::ModifyUser method. 

To enable forwarding, there are really only two properties that we need to be concerned about: altRecipient and deliverAndRedirect.  altRecipient should be set to the DN of a mail-enabled object within the directory and deliverAndRedirect is a Boolean that should be set to indicate if the mail should be delivered to the local mailbox as well as being forwarded or just to simply forward the mail.

The executeData blob of the ModifyUser method should look something like the following:

<executeData>
    <user/>
   
<properties>
       
<property name="altRecipient"></property>
       
<property name="deliverAndRedirect">
           
<value xmlns:dt='urn:schemas-microsoft-com:datatypes' dt:dt='boolean'/>
       
</property>
   
</properties>
</
executeData>

 

The tags have been discussed previously with the exception of the <user/> tag which should contain the LDAP path to the user object to be modified.