DNN Blog

Jan 3

Posted by: Steve Fabian
1/3/2012  RssIcon


I’m working on a new Visual Studio 2010 Project Template, that I am calling the Gooddogs DotNetNuke Technology Module Template. My goal is to develop a template for building DotNetNuke Modules using the latest technologies. Let’s face it, it’s 2012 now, and I’m tired of building modules the same way I did back in 2003. I want to be able to build modules using the latest cool stuff.

The template will include the following technologies…

  • Entity Framework for the data layer
  • WCF Data Service for flexible data access
  • jQuery Mobile for a customized mobile version of the module
  • Built-in Razor templating engine for module output
  • Pre-included NuGet packages
    • Blueprint CSS Framework for layout
    • Knockout.js for data binding and client-side events
    • AutoMapper for moving data from the data layer to the model layer

Maybe other technologies as well, depending on your feedback Smile

Region
Figure 1. A sample project built with my new project template.

The template is done, and my next thought was … I should build a new DotNetNuke module using this new template … that would be the best way to demonstrate its’ use. 

I could blog about it as I develop it. I could make some videos.

But .. what type of module should I write?

Then I thought, why not ask the community? So, let’s hear it … if you were to write a module for DotNetNuke today .. what would it be? Let’s brainstorm and come up with a great module that we can build together, then open source it in the DotNetNuke Forge.  We’ll design it, I’ll build it using my new project template, blogging along the way, and then we’ll release it to the community.

My new project template will be available for free for you to download and use in your future projects, once we’ve started building our community module and I’m sure that the template is good to go.

I look forward to hearing your ideas!

Steve

Tags:
Categories:
Location: Blogs Parent Separator Steve Fabian

36 comment(s) so far...


Gravatar

Re: Let’s Build a Module

I have been looking for a module to run an "Enter To Win" giveway on a clients website and it doesn't look like there is anything out there so maybe that would be a good module. I find it hard to belive that I am the only one wanting that type of module.

By Larry Oliver on   1/4/2012
Gravatar

Re: Let's Build a Module

I think you should consider taking one of the out-dated core modules that has not gotten any attention in a long time and implement its feature set using all the modern conveniences and standards. Maybe Announcements (May, 2009), FAQ, or the Survey module? I also can't help but mention and ask that whatever you develop, please allows the site creator COMPLETE control over the HTML/CSS/JS that the module outputs. IMHO, the module should not emit anything that we don't have complete and precise control over. Thanks for the great start!

By Jeremy Farrance on   1/4/2012
Gravatar

Re: Let's Build a Module

@Jeremy, one of the features will be a built-in Razor templating system, so the layout and output will be externalized from the module code, similar in concept to the Repository module, but more flexible due to the Razor parser

By Steve Fabian on   1/4/2012
Gravatar

Re: Let’s Build a Module

I would also suggest adding a logging component to the the template that supports the core's new logging. Depending on the module (Survery?), the logging could be useful. /Paul.

By Paul Scarlett on   1/4/2012
Gravatar

Re: Let’s Build a Module

Thanks @Paul, good idea ... keep em coming!

By Steve Fabian on   1/4/2012
Gravatar

Re: Let’s Build a Module

I'm thinking about adding SignalR to the mix to provide some interesting collaboration possibilities. www.dotnetcurry.com/ShowArticle.aspx?ID=780

By Steve Fabian on   1/4/2012
Gravatar

Re: Let’s Build a Module

maybe you should build it a brand new "subscribe to our newsletter module" or a brand new version of the repository module

By nikos on   1/4/2012
Gravatar

Re: Let’s Build a Module

How about a News or Articles module. Almost every site has one and plenty of scope for development over time should it make it to a core mode. Could start off with basic content submission and publication and grow to include content approval, archive etc.

By Steve Webster on   1/4/2012
Gravatar

Re: Let’s Build a Module

How about a auction module? I have not seen any good ones out there for that in any platform. A great auction module might bring in lot more new DNN users to the DNN Community.

By Tareq Mahmud on   1/6/2012
Gravatar

Re: Let’s Build a Module

@Steve - How about including support for a client side MVVM framework like KnockoutJS.

By Joe Brinkman on   1/5/2012
Gravatar

Re: Let’s Build a Module

@Joe, I agree .. that's why it's in the list above ;)

By Steve Fabian on   1/5/2012
Gravatar

Re: Let’s Build a Module

I second duplicating an existing core module that's been out of circulation a while. Either announcements or survey modules - both could make use of the extended features you are including AND give someone a side by side view of the "Old way" and the "new way" when comparing the old code to the new.

By Robb Bryn on   1/5/2012
Gravatar

Re: Let’s Build a Module

re: logging, I don't think the new Log4Net stuff is intended for use outside of the core (not saying it shouldn't necessarily be explored beyond its intended usage, just make sure it's really useful before getting too deep into it).

By Brian Dukes on   1/5/2012
Gravatar

Re: Let’s Build a Module

In terms of other technologies, it would be nice to see some WebForms MVP & testing, (though that may be too big a can of worms to into in addition to everything else)...

By Brian Dukes on   1/5/2012
Gravatar

Re: Let’s Build a Module

One of the most useful modules for almost any business is a Lead Capture module. Ideally it should be customizable per instance so it can capture all sorts of information. Since it works as a Landing page as well it should track hits, and link them to website users. if the user doesn't exist it could create it and link it to a record in a backend system like a CRM (using a webservice).
Lead Capture is often achieved via freebies, so it should provide access to that content as well as redirect to a thank you page.

Too much???

By Néstor Sánchez on   1/5/2012
Gravatar

Re: Let’s Build a Module

This might sound silly, but I'd like a module that allows you to insert a picture into the background and write text over it.

By Robert Fulop on   1/6/2012
Gravatar

Re: Let’s Build a Module

How about a simple to do list module? The data can be viewed/edited from mobile device.

By Fuji Nguyen on   1/6/2012
Gravatar

Re: Let’s Build a Module

Include the automatic DNN packaging MS build options as well?
See: dnntcmsbuild.codeplex.com/

By Ernst Peter Tamminga on   1/6/2012
Gravatar

Re: Let’s Build a Module

I would like to see a Product Listing module without cart capabilities, just adding, listing and product details page with related info.

By Rexhep Kqiku on   1/6/2012
Gravatar

Re: Let’s Build a Module

Is posible to already download a template? Where is location of
"Gooddogs DotNetNuke Technology Module Template"

By Jernej Pirc on   1/6/2012
Gravatar

Re: Let’s Build a Module

I second Jeremy Farrance's idea about updating one of the existing core modules that is outdated!

By Jostein on   1/6/2012
Gravatar

Re: Let’s Build a Module

@Steve - I guess I should have read a bit more carefully :) I would add my voice to @Jeremy and @Jostein that one of the existing modules would be a great candidate. My personal preference is to use the Survey module.

By Joe Brinkman on   1/6/2012
Gravatar

Re: Let’s Build a Module

I would suggest one of the older modules that requires a complete re-write for more modern technologies, Announcements. This module needs some updating, such as a repeat capability, as well as more variety in the formatting.

By Hans Zassenahaus on   1/7/2012
Gravatar

Re: Let’s Build a Module

Hi Steve

As you rightly said we are 2012 and newer templates are needed. We are planning to develop a new set of modules. Is this template available for download somewhere so we can try it out; if not, when do you expect to release it?

Thanks

By Badri S on   1/8/2012
Gravatar

Re: Let’s Build a Module

"It’s 2012 now, and I’m tired of building modules the same way I did back in 2003" - I wish someone have said that a couple of years ago when EF v2 appeared!

Rebuilding one of the simple modules, as well as is providing a clean package, would be a great example of using all new features with DNN.

By Zurasson on   1/8/2012
Gravatar

Re: Let’s Build a Module

@Badri the template will be released on Monday, Jan 9 (tomorrow).I'm putting together a short demo video showing how the template can be used to build a DotNetNuke module, and a quick walkthrough of the template's features and technologies.

By Steve Fabian on   1/8/2012
Gravatar

Re: Let’s Build a Module

The VS Project template was released today. See the next blog post in this series for more information.
www.dotnetnuke.com/Resources/Blogs/EntryId/3267/Let-rsquo-s-Build-a-Module-ndash-Project-Template-Installation.aspx

By Steve Fabian on   1/10/2012
Gravatar

Re: Let’s Build a Module

I'd like to see a module for music related sites. There is nothing out there that I know of that would allow certain users to upload music to a folder and have that music available for regular users to enjoy by listing the albums, songs, artists, etc. The song, or album would be downloadable or play at the click of a mouse. Playlists could be saved by users for their next visit. Also a rating and other stats made available.

By okcvet on   1/12/2012
Gravatar

Re: Let’s Build a Module

@okcvet, the Repository module (with a custom template) would allow you to do that

By Steve Fabian on   1/12/2012
Gravatar

Re: Let’s Build a Module

@Rexhep Kqiku +1

"I would like to see a Product Listing module without cart capabilities, just adding, listing and product details page with related info."

By Jernej Pirc on   1/13/2012
Gravatar

Re: Let’s Build a Module

@Jerney, I believe you could accomplish that with either the Form and List, or Repository modules.

By Steve Fabian on   1/13/2012
Gravatar

Re: Let's Build a Module #1 - Project Introduction

(Unit)Testing +1 ;-)

By rudgr on   1/19/2012
Gravatar

Re: Let's Build a Module #1 - Project Introduction

(Unit)Testing +1

By Jernej Pirc on   1/20/2012
Gravatar

Re: Let's Build a Module #1 - Project Introduction

Using javascript mvc + WCF to build a new file manager module would be interesting. Some challenges, like file uploads, make it fun. This has to be one of the most dated modules in the core.

By Lucas Jans on   3/6/2012
Gravatar

Re: Let's Build a Module #1 - Project Introduction

I am a complete newby on DNN development, but I am surely interested in video's which demonstrate the latest technologies. Go for IT!

By Frank Verhagen on   3/6/2012
Gravatar

Re: Let's Build a Module #1 - Project Introduction

My contribution might be too late, however I would to give a thumbs up to Fabian for starting this project. I will surely set time out to contribute to this project so a much more robust and feature rich template is made available to give the power to DNN. I find myself out of tune with the majority here as I would advocate for an example that is practical and will fix a current problem. I would go with a classified ads or aution site module.

By Gerald Ncube on   3/6/2012
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me
Have Someone Contact Me
Charlotte DoDNN

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Exact Target Exec Alert
PowerDNN
r2integrated

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates the DotNetNuke Store where users purchase third party apps for the platform.