Tag Archives: User Groups

Winproteam December

I attended my second WinProteam user group meeting in Rockville yesterday. This months group meeting was sponsored by RDA Corporation and consisted of three talks:

I arrived a little late and missed a chunk of Charles’s talk, but I did managed to catch the end where Charles explained how to change ASP.NET pages on the fly without the original source, using reflector, and just in time compilation with ASP.NET. I would have liked to have seen more of Charles’s presentation, from the small snippet I got to see I gained a respect for the wealth of knowledge that Charles has to offer on the subjects in his field.

Charles Carroll, one of the originators of the WinProteam user group, is a full time professional ASP.NET expert who teaches various courses on the subject. Charles, more commonly known as Chaz, has been in the teaching business for over 20 years and is looking for a break from the teaching and to get into full time development. Charles will be teaching until February and you can sign up for ASP.NET courses via his web site.

Rahul Singh introduced the group to two portal software animals – Rainbow and DotNetNuke. Both of these portal applications are frameworks designed for displaying portlettes (Microsoft refers to them as web parts) – snippets of functionality on web sites that can be customized and dynamically placed on a web page. Rahul’s presentation focused mainly on Rainbow, his preference of the two applications, but he did find time to mention some of the differences in the portals and why he chose to use Rainbow on his own web site and not DNN.

What are portal applications? Rahul embarked his presentation by explaining that portals simplify web site development. Portals offer easy construction because page layout is inherent in the application framework and most of the typical functionality of a web site is built in an array of portlettes. Portlettes can be displayed in various positions on a web page and can by configured in real time by an administrator without having to write any code. Custom portlettes can be easily constructed in .NET in the case where the framework doesn’t provide one to meet the needs of the developer.

Rahul’s presentation continued with a demonstration of an Amazon books custom portlette. Amazon provides a Web Service to suck detailed information on book titles etc, which can be aggregated within Rainbow using a dedicated portlette. Rahul has the code available for anyone interested.

The portal presentation concluded with a short demonstration on how Rainbow manages different skins to produce a different look and feel without writing a single line of code. I came away from this presentation wondering whether I should construct my web site, RobGarrett.com in Rainbow, rather than spending hours in ASP.NET.

A quick break for yummie Free pizza 🙂

Chris Mazzanti was the final presenter of the evening – an expert developer with RDA, who was visiting the user group to give a talk on ASP.NET server controls. The previous presentation by Rahul had me seriously thinking about throwing in the towel in with my ASP.NET website (still under construction) and downloading the latest version of Rainbow. Chris refreshed my memory as to why I liked playing with ASP.NET in the first place – user and server controls.

Chris started off explaining the difference between ASP.NET web pages – ASPX, user controls – ASCX, and server controls. Essentially, they are all server controls, deriving from System.Web.UI.Control. Many developers are under the misconception that ASPX files are loaded by the framework and then translated, in a similar fashion as to how legacy ASP translates VB script pages. Chris explained that this belief is inaccurate and that ASPX and ASCX pages are simply a serialized versions of an object control tree structure, which is loaded into memory before the page is rendered. A demonstration was provided in the presentation to illustrate a server control in action.

Part of the server component talk included a slide that listed the steps involved in the process of an ASP.NET page, in order of operation. This helped to demonstrate why ASP.NET acts in the way it does when I try to get clever with server controls and manipulate the View State at different times in the process chain. I quickly noted down the details of this slide and intend to follow up with a dedicated post on this subject in this blog.

Unfortunately the evening had come to an end and Chris had to truncate his speech (his agenda was so densely packed with good material that we only got through about half of it), but he did manage to conclude with some mention about the View State – a base 64 encoded property bag used by ASP.NET to retain the state of page controls.

I would have liked to hear more from all of the speakers in this meeting, three hours was just not long enough to cover all topics in depth. However, I had ingested enough knowledge to want to go back home and try out what I had learned in the meeting. I intend to continue development of my web site on ASP.NET because I want more exposure to server controls, but I also intend to investigate Rainbow – perhaps I’ll launch a sister site. 😉

NANT and WinProTeam

Today I attended my first WinProTeam users group in Rockville. My colleague Chris Hynes, who has been a participate of the groups monthly meeting group for some time, had invited me to go along because he thought the topics would interest me.

Usually,  so I’m told, the normal format for meetings is to run two talks, an hour a piece with pizza and soda is thrown in gratis in between. This month WinProTeam played host to a special meeting where Jonathan Cogley spoke about NANT – an open source build tool for .NET.

I’d seen NANT in action before but never gotten around to looking into the application in depth. I was surprised to see how concise and mature the product was. I’ll not dwell into the specifics of the talk (visit Jonathan’s blog page and the NANT sourceforge web site for details), but to suffice to say the lecture and accompanied demonstration left me wanting to go home this evening and install the software.

NANT, derived from the original ANT (Another Neat Tool) build application for Apache (way back), is designed to amalgamate the various steps involved in todays complex build, test and deployment scenarios. The application reads all build instructions from one single build script, represented in XML, and is designed to be simple to use.

Johnathan demonstrated NANT building a .NET application (consisting of several projects), testing the built application through NUNIT, producing a “last known good” deployment,  and finally a to-do report of any remaining code issues within the build. Also part of his demonstration, Jonathan entertained the group with an example of how to create custom build tasks for NANT, highlighting the sophistication of the software.

Before drawing a close to his talk Jonathan threw a few teaser questions at the audience and rewarded correct answers with prizes. I left my first WinProTeam meeting a proud owner of a new keyring flash light.