Many quick updates and first XSLT sample for SharePoint – Event Management System
11 September 09 02:01 AM | dwalker | 1 Comments   

Okay. Life has been rolling so very fast lately. Here are a few quick updates to as quickly as possible keep everyone updated:

Jan 24, 2009 – Second annual - HoustonTechFest – Presented “Building Powerful WebParts with SharePoint 2007” and “WCF for the REST of us”! Awesome audience participation!

Feb 7, 2009 – Presented at the first annual SharePoint Saturday KC - “Building Powerful WebParts with SharePoint 2007”. Becky Isserman and team did an awesome job! Attended some awesome presentations. Had some great BBQ with Daniel Larson!

March 1-5, 2009 – MVP Summit 09! Totally awesome. Got to see the Gu (Scott Guthrie) and hang out with a bunch of the SharePoint MVPs!

March 28, 2009 – Second annual School of Dev / first time to join with SharePoint Saturday! – about 87 people braved the weather reports to attend. It was just rain! Then 9am to 3pm had about 6+ inches of snow drop and stop. Within 24 hours 99.9% was all melted. Presented “Building Powerful WebParts with SharePoint 2007” and “Knowledge (Social) Networking for the Enterprise”

April 16, 2009 – White paper I wrote for Quest.com was republished on to the home page as a Popular Article on SSWUG.org – SQL Server and SharePoint – The More You Know, The Better Off You Are (if you are a paid member you can read it here.)

April 18, 2009 – St Louis MOSS Camp! Had a great time presenting – “Building Powerful WebParts with SharePoint 2007“ and attending the other sessions. Becky Isserman and Scott Spradlin talked me into playing Rock band with spoons for drum sticks, didn’t do too bad. LOL

April 25, 2009 – NWACodeCamp – awesome job! Especially for their first event! “Presented Building Powerful WebParts with SharePoint 2007”.

May 28, 2009 – Baby # 5 – Kadison Zoey-Mae Walker born, thanks to my beautiful wife!

 Kadison Zoey-Mae Walker, born March 28, 2009

June 1, 2009 – Two year term as Vice President of the INETA NORAM Speakers Bureau ended.

June 22, 2009 – 1st day at Microsoft as a ADC (Application Developer Consultant) – in Dallas at Las Colinas office for New Employee Orientation, after hours - attended DFW SharePoint group that night and saw Ted Pattison!

June 23, 2009 – Day 2 at Microsoft, after hours – attended Dallas ASP .NET User Group where Dr. Tobias Komischke, Director of User Experience @ Infragistics presented.

June 29, 2009 – Turned over Tulsa Developers .NET user group to the very capable Vice-President Sean Whitesell and the other groups to their respective leaders as well.

July 2, 2009 – My beautiful bride and I celebrated our 15th wedding anniversary

July 27-31, 2009 – TechReady 9 in Seattle. I thought the MVP Summit was huge. Wow. Amazing time, learned a lot, and met a lot of new people. Plus, folks I haven’t seen in awhile – Zewei Song, Michael Wiley, Steve Walker.. and lots of new friends!

Okay.. whew. There’s a whole lot more in there as well, between the monthly TulsaDevelopers.NET, Tulsa SQL Server Group, Tulsa SharePoint Interest Group and Tulsa Java Developers Group that I was involved with every month until recently due to my commute and some new NWASQL Server User Group meetings at lunch. But, my “quick” update has turned into a lot more.

Now… finally on to the code!

For those of you that haven’t seen my “Building Powerful WebParts for SharePoint 2007” session, I totally love writing code and utilizing SharePoint as an application development platform. But, it took several years and practically hundreds of contacts to find a hosting company able and generous enough to donate/sponsor a virtual server for the TulsaTechFest.com web site and for the Tulsa User Groups I am involved with.

Due to timing, I had to build out the site last year so quickly that I took the opportunity to explore the functionality of SharePoint Designer 2007 for the first time.

I utilized it to enable friendly url’s in SharePoint (can anyone say /Pages)? yuck!

I copied the 2008 content as a Site Template to kick start the 2009 site. But that left a lot of extra data, so I just recently added an “Active” Yes/No checkbox to the Speakers List. That’s one thing I’ve learned over the last 4 years of running large events, the agenda is bound to change up to the last minute.

Starting with Visual Studio 2008, it offered the excellent ability to debug XSLT! I took advantage of that, to deliver a no-code solution for the Event Management, by parsing the SharePoint List RSS feed utilizing XSLT. The default RSS feed is kind of gnarly to work with, but I’ve managed to work around it. (See my WSS_LIST_RSS_FIELDS.xsl distributed as part of my PowerQueryWebPart CodePlex project for a great reusable parser.)

Ironically, when I first added the Active filter to the xsl:for-each statement the xsl:sort quit sorting by the SortOrder number column. Very strange. Open in Visual Studio 2010 Beta 1, same results. Sleep on it. Deploy today, so I could share with the world and get some others input and boom – it works!

For some reason Visual Studio 2008 isn’t showing the Debug XSLT option every so often. Visual Studio 2010 Beta 1 is showing it with no issues. Reopened it and reran the Debug XSLT option and boom – working every time now. Very strange. I’ll chalk both issues up to Visual Studio 2010 Beta 1 testing. All working great now.

So, simply create a Speakers list with the following columns: Title (FirstName LastName), Bio, Link, Company, Tagline, SortOrder (Number), Active (Yes/No) and you’re ready to role!

I have a SiteImages Picture Library with a sub folder called Speakers where the images are stored: Title(spaces replaced with __).jpg.

The following XSLT shows a 3 column right rail for speakers filtered by Active flag, sorted by SortOrder, Title

<xsl:transform  version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema"
                exclude-result-prefixes="xsl xs" xmlns:ddwrt2="urn:frontpage:internal">
    <xsl:output method="html"/>

    <xsl:template match="rss/channel" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime">
        <table border="0" cellpadding="0" cellspacing="0">
            <tr>
                <td>
                    <xsl:for-each select="item[substring-before(substring-after(description, 'Active:&lt;/b&gt;'), '&lt;/div&gt;')=' Yes']">
                        <xsl:sort select="substring-before(substring-after(description, 'SortOrder:&lt;/b&gt;'), '&lt;/div&gt;')" data-type="number" order="ascending"/>
                        <xsl:sort select="title" />

                        <!--                        <xsl:if test="substring-before(substring-after(description, 'Active:&lt;/b&gt;'), '&lt;/div&gt;')=' Yes'">-->
                            <a>
                                <xsl:attribute name="href">
                                    <!--
                  <xsl:call-template name="getWSSDescriptionField">
                    <xsl:with-param name="description" select="description"/>
                    <xsl:with-param name="fieldName" select="'Link'"/>
                  </xsl:call-template>
                  -->
                                    <xsl:value-of select="concat(concat('/Tulsa/2009/Speakers/', translate(title, ' ,.','')), '/')"/>
                                </xsl:attribute>
                                <img border="1" style="border-color: black;" hspace="3" vspace="3" width="46" height="60">
                                    <xsl:attribute name="src">
                                        <xsl:text>/Tulsa/2009/SiteImages/Speakers/</xsl:text>
                                        <xsl:value-of select ="translate(title,' ,.','_')"/>
                                        <xsl:text>.jpg</xsl:text>
                                    </xsl:attribute >
                                    <xsl:attribute name="alt">
                                        <xsl:value-of select="title"/>
                                        <xsl:variable name="tagline">
                                            <xsl:call-template name="getWSSDescriptionField">
                                                <xsl:with-param name="description" select="description"/>
                                                <xsl:with-param name="fieldName" select="'Tagline'"/>
                                            </xsl:call-template>
                                        </xsl:variable>
                                        <xsl:if test="$tagline!=''">
                                            <xsl:text>, </xsl:text>
                                            <xsl:value-of select="$tagline"/>
                                        </xsl:if>
                                        <xsl:variable name="company">
                                            <xsl:call-template name="getWSSDescriptionField">
                                                <xsl:with-param name="description" select="description"/>
                                                <xsl:with-param name="fieldName" select="'Company'"/>
                                            </xsl:call-template>
                                        </xsl:variable>
                                        <xsl:if test="$company!=''">
                                            <xsl:text>, </xsl:text>
                                            <xsl:value-of select="$company"/>
                                        </xsl:if>
                                    </xsl:attribute>
                                </img>
                            </a>
                            <xsl:if test="position() mod 3 = 0">
                                <br/>
                            </xsl:if>
<!--                        </xsl:if>-->
                    </xsl:for-each>
                </td>
            </tr>
        </table>
    </xsl:template>

    <xsl:template name="string-replace-all">
        <xsl:param name="text"/>
        <xsl:param name="replace"/>
        <xsl:param name="with"/>
        <xsl:choose>
            <xsl:when test="contains($text, $replace)">
                <xsl:value-of select="substring-before($text, $replace)"/>
                <xsl:value-of select="$with"/>
                <xsl:call-template name="string-replace-all">
                    <xsl:with-param name="text" select="substring-after($text, $replace)"/>
                    <xsl:with-param name="replace" select="$replace"/>
                    <xsl:with-param name="with" select="$with"/>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$text"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    <xsl:template name="getWSSDescriptionField">
        <xsl:param name="description"/>
        <xsl:param name="fieldName"/>

        <xsl:variable name="before" select="concat($fieldName,':&lt;/b&gt; ')" />
        <xsl:variable name="after" select ="'&lt;/div&gt;'" />
        <xsl:variable name="htmlFieldStart" select="'&lt;div class=ExternalClass'" />

        <xsl:variable name = "leftRemoved" >
            <xsl:value-of disable-output-escaping="yes" select="substring-after($description,$before)"/>
        </xsl:variable>
        <xsl:variable name = "results">
            <xsl:value-of disable-output-escaping="yes" select="substring-before($leftRemoved,$after)" />
        </xsl:variable>

        <!-- HTML fields have extra <div>-->
        <xsl:choose>
            <xsl:when test="starts-with($results, $htmlFieldStart)">
                <xsl:value-of disable-output-escaping="yes" select="substring-after($results,'&gt;')" />
            </xsl:when >
            <xsl:otherwise>
                <xsl:choose>
                    <xsl:when test="contains($results, '&amp;amp')">
                        <xsl:call-template name="string-replace-all">
                            <xsl:with-param name="text" select="$results"/>
                            <xsl:with-param name="replace" select="'&amp;amp;'"/>
                            <xsl:with-param name="with" select="'&amp;'"/>
                        </xsl:call-template>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:value-of disable-output-escaping="yes" select="$results"/>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
</xsl:transform>

I’ll continue explaining more of the other sections of the site, plans for the future and more in upcoming posts!

I definitely don’t claim to be an XSLT expert. I’ve just managed to keep making it do what I need as I need to over the years. It is an excellent way to build functionality into SharePoint with no-code out of the box web parts.

Let me know if you have any questions and/or suggestions for improvements!

Get Your Head In the Clouds with SQL Server Data Services Presentation
19 March 09 10:40 AM | dwalker | 0 Comments   

Yesterday I had the great privilege of presenting to the Oklahoma Chapter of the IAMCP (International Association of Microsoft Certified Partners). This was the first time in a few years that I presented to a mostly non-developer audience. I really enjoyed the challenge and hope to have the opportunity to do that more frequently. It is much more challenging, since you have to actually explain something without really being able to dive into code and show exactly what your talking about.

Since SQL Data Services along with the rest of the Windows Azure framework is still in beta, I tried to make the session as interactive as possible with Q & A, Open Discussion, etc.

Here are the slides that I used: zip (2.4 mb – Office 2007/pptx).

I grabbed them from our awesome Microsoft Developer Evangelist Zain Naboulsi, who presented VS2008 Debugging, Mobile and Azure back on Jan 30th.

Since he was covering so much and pressed for time, he didn’t get to cover SQL Data Services much. On top of that, it was just two days earlier on Jan 28th that Microsoft actually released the beta for SQL Data Services SDK.

Of course, as I left the meeting, I received the announcement in my mailbox that Microsoft just pushed a new version of Azure SDK:

I’ll be delivering the same slides, but with a LOT more code demonstrations on March 28th, 2009 at the second annual School of Dev event! This year for the first time it is joining forces with the first annual SharePoint Saturday Tulsa event, where I’ll be giving the presentation that I have been more frequently doing for awhile now: Building Powerful WebParts for SharePoint 2007. With all the speakers and topics, you wont want to miss this event! See you there!

2009 Kicks Off Busy As Ever, INETA Speaker Bureau News and a new Geekette is on the way!
10 January 09 04:22 AM | dwalker | 1 Comments   

Happy New Year! At the pace that 2009 has started off at it is very obvious it will be a very successful year. Bad Economy? Ha!

Please help me congratulate the 16 new speakers welcomed into the INETA NORAM Speakers Bureau (in no particular order):

1. Chris Williams
2. Keith Elder
3. Jason Bock
4. Claudio Lassala
5. Rachel Appel
6. Andrew Dunn
7. Chris Love
8. Cory Smith
9. Tim Rayburn
10. Jim Wooley
11. Rob Windsor
12. Amanda Laucher
13. Adam Machanic
14. Stuart Celarier
15. Pete Brown
16. Steve Andrews

Thank you to all who submitted applications. The selection process was very difficult and the number of applicants overwhelming, because of this we will be having a second round in the first quarter of 2009.

Have your local INETA User Group request them to come and deliver a presentation. If you are not a member of one, join one, if there is not one near you, start one - http://www.ineta.org.

“You can learn more together than you ever could alone.”

We appreciate everyone's past and future community contributions.

It is a very exciting time! We are also launching the new INETA NORAM Regional Speakers Bureau more details will be announced shortly. We are still accepting applications for this new speaker bureau.

We just had an ultrasound done and now know that baby # 5 is a Geekette and will be here May/June!

Happy New Year!

Quest Software's Pain-of-the-Week: The Converging Paths of SQL Server and SharePoint - Don't Wait Until It's Too Late!
04 September 08 11:51 AM | dwalker | 1 Comments   

I just wrapped up my first opportunity as a webcast presenter. Thanks to the terrific folks at Quest Software. They produce a bi-weekly webcast appropriately titled "Pain-of-the-Week". "These 45-minute online presentations will explore many of those challenges, present real-world use cases and offer solutions and best practices that you can use in your own environment."

The Converging Paths of SQL Server and SharePoint – Don't Wait Until It's Too Late!

SharePoint and SQL Server architecture and maintenance requirements have a lot in common. Both platforms share identical features for configuration, security and management.

Join our experts in this webcast to examine the similarities in SharePoint and SQL Server administration. Learn why it’s important for you to get familiar with both platforms to streamline your day-to-day tasks.

Presenters: David Walker, Doug Davis, David Gugick

The little that I was able to watch the attendee numbers, showed at one time over 515+ attendees. We had great Q&A session as well.

Be sure to watch the site for other upcoming webcasts that can hopefully help you alleviate your Pain-of-the-Week.

Our presentation will be available shortly under the "Past Webcasts" if you were unable to attend.

Thank you Quest for the opportunity. Everyone at Quest did a great job and they work very hard to make these webcasts useful.

.NET Framework 3.5 SP1 (Service Pack 1) changes to ViewState causes stability issues in Sitecore products
13 August 08 11:23 AM | dwalker | 0 Comments   

I just received the email below from Sitecore regarding stability issues that .NET Framework 3.5 SP1 (Service Pack 1) is causing with all Sitecore products. I am glad they sent this out. Hopefully the companies using Sitecore products will see it before they install the Service Pack and lose a lot of time with the issues it is causing.

There are a couple questions that come to mind, but the first one is this the only product that will have problems?

If you are using a product that is built on top of ASP.NET you may need to be very careful. The bug described and the issues with it have not been reported specifically yet. It has simply been described as a "bug in the LosFormatter class (System.Web.UI.LosFormatter in System.Web.dll, used to serialize and deserialize an ASP.NET ViewState)."

It would be interesting to know if any other products have problems, if you know of any others let us know, via comments.

My most important question though is, could this have been caught in the Beta cycle? Or is this a bug/change put in place since the last Beta release?

Why change how ViewState is serialized and deserialized anyway? :)

ASP.NET MVC is looking more interesting all the time. Just have to wait for the rest of the marketplace to get it integrated into their products. :)

Here's the email:

Dear Sitecore Enthusiast,

You are receiving this message because you are subscribed to the Sitecore Product Issues and Patches mailing list.
On Monday, August 4th, Microsoft released the following service packs: Visual Studio 2008 SP1 and .NET 3.5 SP1.
Sitecore has discovered that these service packs introduce a bug in the LosFormatter class (System.Web.UI.LosFormatter in System.Web.dll, used to serialize and deserialize an ASP.NET ViewState). This bug causes stability issues in Sitecore products. Sitecore has raised this as an urgent priority issue with Microsoft (case number : SRQ080813600454) and is working to help resolve this issue.
In the meantime, PLEASE DO NOT INSTALL .NET 3.5 SP1 and Visual Studio 2008 SP1 on any server running a Sitecore product (including Sitecore WCMS, Intranet Portal, and Foundry) until further notice!
Symptoms associated with installing either of these service packs:

  • Memory consumption increases dramatically and single core CPU usage goes up to 100% when opening the Access Viewer or Media Library applications.
  • OutOfMemoryExceptions thrown in the Desktop and Content Editor.
  • The browser becomes unresponsive when accessing Sitecore.


Please be aware that Microsoft may include this Service Pack as part of the monthly ‘Patch Tuesday’. Please take steps to avoid the automatic installation of these service packs.
Please be aware that the final version of SQL Server 2008 will require .NET 3.5 SP1.
If you have any questions about this issue, please contact Sitecore support.
Best Regards, Sitecore Support Team.

SharePoint resources continue to see exponential grow
02 August 08 03:43 AM | dwalker | 3 Comments   

Just 2 days ago now the SharePoint Pod Show pushed their very first podcast. It was definitely great to listen to it and am very excited about the upcoming shows! They've created a SharePoint Pod Show FaceBook group so you can let them know what you want to hear as well!

A few weeks ago one of the hosts, Rob Foster instant messaged me that he was starting up a SHAREPOINT NATION! FaceBook group and wanted me to start up a SHAREPOINT NATION! LinkedIn group, so I did. It's a term, a chant, a life style, that Rob coined around the time frame of the MVP Summit. You can find some of the history about it on his blog, We are SharePoint Nation!!! In my opinion it is the difference between a "social networking" thing and a real life group of motivated and enthusiastic individuals working together as a community, a REAL community, a NATION.

SharePointNationSince then, SharePoint MVP, Amanda Murphy found the time to create the awesome logo that's now on all the groups and sites and simply says it all: Virtually Everything you need for SharePoint.

On July 16th, 2008, just a few short weeks ago, Bob Fox and crew launched the International SharePoint Professionals Association (ISPA). You can find out the details and plans on his blog post Announcing it.

SharePoint Magazine launched it's first "issue" within the last couple weeks as well. Although, if you follow me on Twitter @DavidWalker you already heard me razz them for running it using WordPress. That is definitely no reason to not read it! They already have some great information. There's many sites that fall victim to this type of technical treachery - SharePointBestPractices.com is built with PHP.

Finally, the open source project that SharePoint MVP - Stacy Draper and I have been hard at work on became publicly available around July 14th, 2008. We still have just a little more work to wrap it up for Release 1.0, typical scope creep issues with guys who are very excited about the project and the functionality that it can provide. The day before we had to make it public, CodePlex forces projects to be public within 30 days after creation or they will be deleted, we added a bunch of stuff that broke the deployment script at the moment. I hope to get his resolved as quickly as possible, so we can release version 1.0. In the mean time, check out the project and what it can do at CodePlex.com/PowerQueryWebPart. Once, Release 1.0 goes live I'll post more details about the making of the project and how this swiss army knife can be a must have in your WebPart Gallery in any SharePoint site.

I Took It! And So Should You! The Survey For People Who Make Websites
01 August 08 01:23 AM | dwalker | 0 Comments   

I stumbled across this survey. Only took a few minutes and I can't wait to see the results!

i-took-the-2008-survey

CNBC - America's Top States for Business 2008
01 August 08 12:19 AM | dwalker | 2 Comments   

I just happened to see the blog post by Jason Edwards about how his state, Texas, is ranked # 1  on CNBC's Top States for Business 2008 rankings.

So of course I was curious, how well would Oklahoma rank? Well it appears we've moved up 4 spots from # 32 to # 28.

What's really odd is the really bad drop from # 9 to # 30 on the Workforce category and the huge jump in Economy from # 26 to # 3.

What's disappointing is Education practically stayed flat from # 47 to # 45 and Technology & Innovation did stay flat at # 35.

Remember folks, this is out of 50!

All this and we border Texas (ranked # 1!). I think Education, Technology and now Workforce are the biggest issues with our state at the moment. Economy, Cost of Doing Business and Cost of Living are practically as good as you can get.

To me, what it sounds like this all means, in Oklahoma you can live cheap and run a business cheap in a strong economy, but don't expect many educated, technically advanced workers. Sad.

David Yack will be presenting on Exploring the Entity Framework for the Tulsa SQL Server Group!
31 July 08 01:07 AM | dwalker | 2 Comments   

I had to be in Los Angeles a couple weeks ago now for some cross training and to meet my awesome development team in person for the first time. You have to love the freedom that the internet provides telecommuters. Thank you IM, email, remote desktop, ftp, and on and on.

It just so happened that I found that David Yack, a Microsoft Regional Director and INETA Speaker, was presenting "Exploring the Entity Framework" to the San Gabriel Valley .NET Developers Group my first night in town. It was my first time actually seeing a presentation on the Entity Framework. I was definitely glad that Zain Naboulsi had just presented on LINQ Features in Visual Studio 2008 because he was sure to show the  new LINQ to SQL Classes feature of Visual Studio 2008. You can really see how far the team has come with modeling between the LINQ to SQL Classes and the soon to be released Entity Framework 1.0. Follow them on their new blog: EFDesign.

To put it in away that any developer can understand: DAO, RDO, ADO, ADO.NET and now (ADO.NET) EF (Entity Framework).

Granted there a lot of other options when it comes to separating your data from you business logic, nHibernate, etc. and this is a version 1 product. In my opinion, it looks like it can improve the application architecture in many development departments and across many projects.

There has been some very vocal criticism by way of a "vote of no confidence" mostly from the nHibernate crowd. They do bring a lot of great points and it's obvious from the quick response of Tim Mallalieu, the Microsoft Program Manager leading the team, they are listening and setting their priorities for version 2. This is definitely something I wouldn't sign, because as D'Arcy put it "Our role is to learn." You simply can't move forward if something new is not offered and with my limited exposure to it, I must say it is a very nice step forward.  Kathleen Dollard listed an even greater number of reasons to not sign the petition and I'm sure 99.9% of every developer out there would have to agree with her response to the Entity Framework Petition. Lastly, for those doing their proper research on the Entity Framework, Ward Bell, Product Manager for DevForce .NET by IdeaBlade, made several excellent valid real world business reasons in his response to the petition and why he wouldn't sign it.

I was very excited to hear, the day before flying to Los Angeles, that INETA is sending our first speaker to the Tulsa SQL Server Group. It is none other than David Yack! Woot! It's great knowing what the local developers are about to see in just a few weeks. I can't wait for David to share it with them. Thanks INETA!

I will see everyone on Monday, August 18th, 2008 at 6:00pm for this terrific presentation!

Zain Naboulsi rocked the house with LINQ Features in Visual Studio 2008!
11 July 08 12:58 AM | dwalker | 2 Comments   

I felt compelled to blog about the presentation that our regional Microsoft MSDN Developer Evangelist - Zain Naboulsi gave tonight for the TulsaDevelopers.NET users group. Watch out Jason Townsend and the newly formed Bartlesville .NET User Group you are in store for an awesome presentation tomorrow at lunch!

Zain did an awesome job of explaining LINQ in the easiest to understand way that I think I've ever heard it so far. Plus, squashed all reasons for not using it.

He didn't just stop at explaining it though. He really showed how we can take advantage of the tools provided by Visual Studio 2008 to more efficiently and effectively utilize LINQ in our projects.

He showed us how easy it is to take advantage of the source project Scott Guthrie's posted on his blog: LINQ to SQL Debug Visualizer and drove home the point that you can easily create your own visualizers as well.

It was pretty obvious by the end of the meeting that everyone in attendance was sold on using it and is *maybe* as much as Zain is.

Don't just take my word for. Zain has published 22 webcasts "that can change your life" covering the nuts and bolts of how to effectively use Visual Studio 2008 and his LINQ Features in Visual Studio 2008 is there as well.

I'll be watching them all shortly. Just to see how well the webcasts catch the "Zain Experience".

Of course, he mentioned his now (in)famous Second Life .NET Developers User Group. He assured me that we can jump straight to the island and not have to worry about the non-family friendly avatars that could be found in Second Life. Maybe I can talk my wife into letting me attend one now, we shall see.

TechEd 2008, 2008 MVP, Hyper-V RTM, Sharepoint-Vista!, Sitecore 6, INETA Community Awards and NEW INETA NORAM Speakers!
02 July 08 02:26 AM | dwalker | 0 Comments   

Okay. I know. I know. I need to break these up and do blog more often. Being the VP of the INETA NORAM Speakers Bureau, running 4 user groups, planning 2 conferences per year, working a full time job, 4 kids and speaking at various conventions, you get the idea. So, I catch up when I can.

After prepping and then speaking at Microsoft's Developer TechEd 2008, I had a lot to catch up on at work. It having been my first time at TechEd it was definitely amazing. If you're a developer and have never been to one, you are definitely missing out. I would compare it to the World Series for Baseball Fans or the Superbowl for (American football) fans. You have must attend. It is so huge. I'm talking massive numbers of computers around for attendees to hop on and use, learning labs, Microsoft Certification Exam Center on site, Vendors and so many awesome speakers and presentations. They even bought out part of Universal Studios for an Attendees only party! Definitely don't miss it! It was wonderful hearing from so many folks afterwards that my presentation really helped them a lot and how they loved hearing from an industry expert in the field, instead of just Microsoft folks. My presentation "How to use Microsoft Office SharePoint Server 2007 as an Application Development Architecture" focused on two parts: the number of servers and type of architecture required for a high availability SharePoint deployment and how to do things the wrong way and the right with SharePoint development - main walk away point - focus on building powerful and reusable webparts and use as much from the provide application architecture as possible. Don't always go the cowboy way and use the tools that are provided instead of just code slinging. You can find out more about my presentation on my Microsoft MVP profile.

I just read an awesome article today in CodeMagazine from SharePoint MVP and INETA Speaker Sahil Malik - it's a must read - 10 Things You Wish they Told You - Part 1!

I just received the email today, that I have received the 2008 Microsoft MVP - Visual Developer ASP/ASP.NET award. All I can say, besides thank you, is I am just SO glad my date doesn't fall on April 1st (Fool's Day)! That would just drive me crazy. The most frequent comment that I've heard so far, "I figured you would have moved to the SharePoint group this time around". Well, for one, I am not one to "look a gift horse in the mouth". Not to mention, I haven't personally investigated what it takes to make such a move. I did however prove at the 2008 MVP Summit that I can stowaway in the SharePoint sessions.

I will say this. In just T-minus 8 days, I will be contributing even more to the SharePoint community by way of a pretty rocking project on CodePlex that I'm wrapping up with the help of SharePoint MVP Stacy Draper and Rob Foster. So stay tuned! We have several more planned as well.

I just saw that Hyper-V RTM'd! So, I'm going to give it a whirl. When I tested a few months ago, it obviously performed better, but I was so used to Virtual Server 2005 that I chose to wait for it to RTM to try it again. I have already formatted my notebook and am running Windows Server 2008. No more playing around with VPC's for SharePoint development for me. It's given me a huge performance gain!

Also, on my desktop, which is running Vista 64 bit, I followed the step by step guide from Bamboo Solutions Jonas Nilsson, (who presented at my first conference ever - TulsaTechFest 2006!), provided to the community and with just a few minor security tweaks now have WSS running on my Vista Desktop.

Sitecore CMS 6, code named Crestone, was released yesterday (July 1st). I installed it last night and am impressed so far. Performance has been improved and integrated search, cleaner inline and end user publishing and a whole lot more - more details here. I'll be covering more of my thoughts as I get to use it more.

If you don't get the INETA NORAM Newsletter, here's some of the key announcements: Time is running out for you to get your community contributions entered for dates July 1st, 2007 to June 30th 2008 - the deadline is July 14th, 2008. Shortly thereafter, INETA will be recognizing folks with the INETA Community Champion and the INETA Community Excellence Awards! Show us what you got now!

As the VP of the INETA NORAM Speakers Bureau, I included some updates regarding the NORAM Speakers Bureau! First, once Carl Franklin returns from his Speaker Idol world tour he will become active as an INETA Speaker again! And, help me welcome the NEW INETA Speakers: Richard Campbell, and DotNetNuke (DNN) Experts: Joe Brinkman and Chris Hammond, and SharePoint Experts: Andrew Connell and Daniel Larsen!

For speakers only, (at this time), I have created a LinkedIn Group and a Facebook Group to provide better communication and interaction between INETA Speakers worldwide.

I also created a Twitter account: @INETASpeakers, so it's even easier for everyone to see which INETA Speakers are using Twitter and keep up with them and their activities a whole lot easier! You can get also become a Fan of the INETA Speakers Bureau and follow their Twitter activity from the Facebook page I set up here: http://www.facebook.com/pages/INETA-Speakers-Bureau/48220250083. I am making efforts to improve on the communication internally and between the Speakers and the community.

In closing, as I was typing this up, it's now time to wish my wife Happy 14th Anniversary! It was July 2nd, 1994 that she made me the luckiest man alive and after 14 years and 4 kids, it's awesome that we both still feel the same way towards each other, as we did, when we met in High School Driver's Education class. (Now everyone knows why I failed my first driving test.) :)

Plus, I received an email confirming the details that I'll be speaking at the newly formed Bartlesville .NET Users Group on August 8th, 2008 with my presentation titled "How to Build Powerful Webparts for SharePoint 2007".

SharePoint versus Alfresco
01 June 08 11:15 PM | dwalker | 1 Comments   

Sahil Malik has a great response to this CNET Post (Forget file formats. The battle is Sharepoint) in his blog post: CNET - please do your research before opening your big mouth!

I also find it very amusing that the post is date May 21, 2008. I KNOW I have seen this exact same article posted roughly six months ago. I'm still looking for it. Could CNET actually went so far as to just change the date to recycle this crap? I know this for a fact, because I had never heard of Alfresco until the article that was either the exact same article or "disclaimer" by another Alfresco employee.

It's so funny considering Alfresco has some pretty steep licensing fees. I came across this site which had a really good comparison between SharePoint and Alfresco - Microsoft SharePoint VS Alfresco - Part 1 and Part 2.

The main thing to keep in mind when evaluating a CMS solution for your enterprise is to get your information from a reputable source. Better yet, get the products, in trial edition form at least, and do your own comparison.

Obviously, we have to watch for disinformation as it appears from this article that CNET is helping to spread. Alfresco must be getting desperate?

Filed under: , , , ,
Redmond Developer News - Windows 7 Lockdown cover article
21 May 08 02:06 AM | dwalker | 0 Comments   

The May 15, 2008 edition of Redmond Developer News magazine arrived at my door today. I had to immediately read the cover article: Windows 7 Lockdown. I must say out of everything in the article that is troubling, with the position that Microsoft is and has been taking with Windows 7, is the fact that Steven Sinofsky, now the senior vice president for the Windows® and Windows Live™ Engineering Group, formerly "oversaw the development of the Microsoft Office system".

Don't get me wrong. Microsoft Office is a minimum requirement for 99.99% of every person and is used hours upon hours every day. Yes, the Microsoft Office team has done an excellent job of pushing new versions out every two years.

Okay, enough praise, I suppose. Here's my problem and the problem that I am sure everyone else will agree with once the look at it from this perspective: Microsoft Office has been and continues to be notoriously known for years as the worst example of bloatware! I think too many of us have forgotten that over the years, as CPU's, RAM, and disk space has continued at such a rapid pace. I think we need to be reminded. Microsoft Office Suite has things that still need to be addressed take the simple issue I came across at on this Jeff Bell's blog regarding a Microsoft Publisher Viewer. You start to see that not everyone remains happy with Office. Microsoft Publisher has always been treated as an "outsider" to the Office suite. I know a whole lot of people are still upset about the Ribbon interface, even though Microsoft promotes it as the best thing to EVER happen to Office. I personally have grown use to it over time, just as we have grown use to and ignore the bloatware factor.

In Microsoft's defense, what one person perceives as bloatware is a must have feature to someone else. That is why I do hope Windows 7 ends up taking the same path as Windows Server 2008 and more easily allow me to choose the features I want. Other than that, my only request to Microsoft is PLEASE allow the Ribbon to be toned down at least a little. I love tabs (which in my opinion is really all that the ribbon is), but I do learn what the pictures on a button mean, so please let me insert my Tables, Pictures, Shapes, Charts, Hyperlinks, etc without having to actually start at the Text as well. It used to be common practice to allow someone to configure how they want to use their computer - "Small Toolbar Icons", etc. I prefer the desktop real-estate on my two 21" wide Dell LCD's. Oh well, it's only an inch. Give me back the power to make these simple decisions. Why are we moving in the opposite direction? This is my frustration and whole reason of concern. One step forward (every two years) and two steps back (bloatware, no personalization, preferences, or choices, continued incompatibilities and lack of integration with the rest of the enterprise and technology.

To wrap it up, the article does have some other critical things to say about the new process, now under Sinosfy, and that is the tight lipped non-disclosure policies that have been portrayed - translucency versus transparency. For crying out loud, the folks living and working with IT need to be aware of the roadmap if they ever intend to try and continue driving through the fog.

I personally hope Microsoft gets it right with Windows 7. We shall see. I actually prefer Vista over XP. I do occasionally feel the pain of incompatibilities, but I haven't looked back yet.

Sitecore MailingList Module
16 May 08 11:11 PM | dwalker | 2 Comments   

I recently had the opportunity to work with the Sitecore 5.3 MailingList Module and since it was my first time, I had to hunt around the API to figure out how to have a site visitor subscribe and unsubscribe from a MailingList. The only thing I could find was this post by Alex Shyba from back in 2005 when I guess it was actually called the Newsletter module.

This post is actually self serving, in that I will never have to hunt for it again. First, you of course have to install the MailingList Module and then Add a Reference to the Sitecore.MailingList.dll in the bin folder. Then add:

using Sitecore.Modules.MailingList.Core;

It needs some parameter validation before being 100%, but here goes:

private void SaveSubscriber(string firstName, string lastName, string email, string gender, string age)
{
    MailingList list = new MailingList();
    string listID = Sitecore.Context.Database.Items.GetItem("/sitecore/content/modules/mailing list/mailing lists/Newsletter").ID.ToString();
    string name = firstName + " " + lastName;
    string company = "";
    string country = Sitecore.Context.Language.ToString();
    list.PutSubscriber(name, email, company, country);
    // listID parameter says it's listID's although it's not a string array, beats me
    list.Subscribe(name, email, listID);
    // you can send any parameters here that you want
    list.PutSubscriberField(email, "Gender", gender);
    list.PutSubscriberField(email, "Age", age);
}

private void RemoveSubscriber(string email)
{
    MailingList list = new MailingList();
    string listID = Sitecore.Context.Database.Items.GetItem("/sitecore/content/modules/mailing list/mailing lists/Newsletter").ID.ToString();
    // Second parameter expects string array of Newsletter Sitecode Id's to subscribe to.
    list.Unsubscribe(email, listID.Split(','));
}

Let me know if you find it useful or know of something I was overlooking. Most of this was taking from Alex's post and just updated to Sitecore CMS version 5.3.

Technorati Tags: ,,,
Quick Catch Up - New Gig, New Focus, MVP Summit, TechEd 2008!
16 May 08 09:10 PM | dwalker | 1 Comments   

Okay. Here's a few long overdue house cleaning items:

1. VSLive! Austin - Nov 14, 2007 - my presentation on the .NET 3.0 LIVE! Track went very well - Putting it all together with .NET 3.0: Presentation, Services and Workflows. I finally got to see some of the heavy hitter presenters - Billy Hollis, Ken Getz, Mark Michaelis, Richard Hale Shaw, PDSA, Inc and Michael Stiefel.

2. New Employer - Back in March, I switched employers! I am now a Technical Specialist for The Revere Group, an NTT Data Company. Where I have been focusing primarily on public facing web sites utilizing the .NET Enterprise Content Management System - Sitecore CMS. The last project with my previous employer was deployed the week before I left, utilizing MOSS 2007 for the public facing web site, for the National Professional Paintball League. I definitely feel invested in all the projects that I worked on and hope them, the company and my past co-workers continued success.

3. MVP Summit 2008 - An opportunity that could not be passed up. Seeing the keynotes by Ray Ozzie and Steve Ballmer, plus all the break-out sessions with the product teams, etc, it was definitely priceless. I even tacked on an extra day for the World Wide User Group Management Summit, just wish I could've made the ALT.NET conference that was going on that weekend as well. One thing that amazes me is how many people have said they want to be an MVP. How do you become one, etc. Even after giving them some brief advise with some of the simplest things to do, nothing - just lip service.  The MVP Summit itself is worth it. Get involved in your communities.

4. Tulsa's first annual School of Dev! - After having our first successful TulsaCodeCamp on March 10, 2007, I decided to come up with something new and exciting. Who knows maybe someone will start repeating it, like what's happened with the TechFest events. <hint.. hint> I can provide hosting for anyone who wants to, since I built the SchoolofDev.com site with that in mind from the beginning using WSS (Windows SharePoint Services - will skin it later). If you missed it, take a look at the Agenda, Speakers and over $130,000+ worth of prizes that were given away. Thanks to all our Sponsors. Every attendee could even get Continuing Education credit from Tulsa Community College!

5. Microsoft TechEd - I have had the honor of having my session selected for the Developers Office track - How to Use Microsoft Office SharePoint Server 2007 as an Application Development Architecture: Not your typical Microsoft Office SharePoint Server (MOSS) development and deployment. Having worked on small projects all the way to large public facing social networking sites, you too can learn how MOSS is much more than just an Intranet-in-the-box solution. It can be utilized as the application development architecture of the future. It offers tremendous time savings for development and deployment. Learn the best practices for setting up your server architecture for redundancy and high performance. Learn the pain points to watch out for as well as all the short cuts to make your next Web application ready for prime time.

More Posts Next page »

Search

Go

This Blog

Tags

Archives

My Blog Roll (Partial)

My Sites

Syndication