Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

IWeb reaches 1000

Today IWeb reached 1000 members. This is not a big number because the DotNetNuke project can grow by 1000 members in a single day. However, IWeb is just a small project that provides code to call web service methods inside DotNetNuke. It is not really designed for end-users. When a project with such a small user base reaches 1000 members it says a lot about the health and growth of the main DotNetNuke project.

This milestone sticks out for me personally because IWeb started as a small idea. It has grown and taken a life of its own. Eventually it has grown bigger than me and taught me a lot about what Open Source is really about.

Initially IWeb was just a code sample. Nearly two years ago, I needed to call a web service that was inside a DotNetNuke module. I found an article on My example used the new (at the time) WSP dynamic compilation model so I decided to publish the code.

After I published the code a lot of discussion with Shawn Mehaffie, Andrew Nurse, and Rutger Buijzen led to the creation of a method to secure the web service methods. IWeb allows you to secure each individual method by role and to optionally encrypt the transmission.

Then I had what I thought was a brilliant idea. I could create a “mini-framework” that would allow developers to create web service methods and share them with other developers. This “bright idea” stands out because it was a total failure. Ian Lackey is the only person to ever contribute any web service methods to the project. However the methods he contributed were for file management. His web service methods, together with a Windows Forms client he also provided, allow you to upload and download files into your DotNetNuke site through web services.

It was Ian’s contribution which took the project from about 200 members in its first year, to 1000 members 9 months later. “Web service methods” is an abstract idea, but moving files without FTP using a windows forms client is useful and exciting.

In his desire to allow for large file uploads via web services, Ian started work on IWebCF which is a version of IWeb that uses Windows Communication Foundation. His expert grasp of the complexities of implementing WCF led me to the decision to step aside and name him the project leader of the IWeb project.

The experience of the IWeb project and its unanticipated evolution has led me to two conclusions:

  • It’s not the code it’s the people. IWeb grew not because I wrote a good module; it grew because of the influence of its members. I would not have put in the role based security had Shawn not suggested it. I considered a simple file upload but it was Ian who decided to make a full featured file manager and took the time to make it a reality.
  • An Open Source project can only survive when its team uses the project regularly themselves. We take for granted that the DotNetNuke team uses DotNetNuke not only for but in their personal and professional projects. This allows you to be constantly dedicated to a project and to continually fix it. With IWeb, I needed to constantly update the security methods because I needed them for my DotNetNuke AJAX projects and later my Silverlight code. The last major addition I made was a C# version of IWeb because... well basically *I* needed it for my own use. Ian spent a massive amount of time working on IWebCF challenges because he wanted to use WCF with DotNetNuke.

Today the majority of my time is spent working on a DotNetNuke module of This is a project that borrowed all of its web service code from the IWeb project. This web service code represents about 30% of its current code. I have another project in the planning stages that may need to use WCF certificates so don’t be surprised if you see me “getting my hands dirty” with IWebCF in the future.

A small idea now has 1000 people joined in a common purpose and desire. I find that exciting.

The IWeb project can be found here:


Comment Form

Only registered users may post comments.


2sic Daniel Mettler (124)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (21)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (269)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?