Real World DotNetnuke Part 1

I don't believe I've seen you here before. You may want to subscribe to my feed to keep informed of new posts at DynamicVB.NetRSS feed. Thanks for stopping by!

A while back there were a series of posts on the ASP.Net forums made by Dwayne J. Baldwin on his opinion of Real World DotNetNuke. I thought the posts where very inciteful and basically a decent read. Its very apparent that Dwayne has many years in the software development industry and in my opinion covered this subject very well. I was impressed with Dwayne’s incites so I asked if he would mind if I re-posted his subject matter. Being the nice guy he is, he agreed to let me re-post it, I just never got around to doing it.

This is the first of three posts Dwayne made on this subject and the next two will follow

Part 1 a sequence of ramblings to help others understand DotNetNuke

There are no magical answers when it comes to software development. Design = choices. Requirements determine development. Processes change. Space is cheap.RAM is cheap. Users make mistakes. Feature creep. Etc., etc

I have three fundamental rules for any development project…
1) Don’t reinvent the wheel.
2) Use the proper tool for the job. (Give a kid a hammer and the world becomes a nail.)
3) He who laughs last – made a backup.

The job of a programmer is really one of an interpreter; he or she must examine the business processes or methods then translate them into something that the computer understands. After the computer performs the necessary tasks it must be presented back to the people who use the system.

If a small business owner randomly draws money from the cash drawer, a fancy computer system is not going to help them manage an accurate accounting system. If a warehouse operation does not tally the fastest moving items and rearrange item locations on a regular basis, a computer or computer program is not going to improve productivity.

Q)What do you get when you automate a bad system?
A) An automated bad system.

All of the software that we create should be modeled around real world examples. Class libraries should represent way things really work. They should allow for “communication failure” just as when someone is not available for some reason. They should be able to retry an operation. They should be organized around security – not patched with security constraints in spaghetti code. They should allow for exceptions and inform the proper staff members (or authorities) to the situation.

Where am I going with all of this mumbo jumbo? I am actually setting you up for a successful implementation of DotNetNuke in a real world application.

If you examine the most popular small business accounting packages, they are relatively similar. Accpac, QuickBooks, and Microsoft Small Business Accounting all have a similar look and feel. Microsoft evens claims that SBA looks like Office (due to the familiar controls). Now step back and consider how the user interface is used to perform actual tasks.

All the functionality of the package is available from a menu, a hyper link, or a keyboard shortcut. Common tasks may be grouped together, or even organized into lists, but every task is available by navigating the screens of the application. QuickBooks and SBA have a shortcut menu on the left, and a browser literally fills the rest of the screen. The browser portion is divided into sections just like DotNetNuke modules appear on a page. One module may display a summary of all bank accounts, another module displays a single bank account register.

A few years ago, if a company asked you to create a system using a standard user interface, login mechanism, integrated security, master templates, departmental features, and have the system available world wide, you would need an army of developers and years to put it together.

Using DotNetNuke with membership, security, and skinning, you can build a web based front end comparable to any application that you have seen or can imagine. You can prototype the user interface today and demonstrate it to your client tomorrow!

As you add new functionality to your DotNetNuke application, you can post a time limited announcement directly within your program; using nothing more than a browser; on a laptop,on a lounge chair,on a beach…


Speak Your Mind