Greetings all,
This is a copy of something I just posted on my personal blog: http://www.dotnetjunkies.com/WebLog/joshuagough/archive/2006/06/18/140740.aspx.
The gist is that I want to be able to bundle up a copy of an OS fully loaded with DNN and all the latest module development resources and free code generation tools, etc and use it in classroom-type training environments to help people learn how to build custom modules. The problem is the MS EULAs for the OS. Read on if this sounds interesting...
DotNetNuke Module Developer's Workshop Live DVD
Virtual machines have been around for a long time. For desktop
operating systems, the most well known software is VMWare. Microsoft
also provides Virtual PC and Virtual Server. VMWare hosts a directory
of "Virtual Appliances" that you can download at no cost. These VMWare
images come fully loaded with software that is often configured for a
very specific niche. It could be for networking, content management,
customer relationship management, etc. Some are configured as
development appilances. An example of this is the rPath LAMP Appliance:
http://www.vmware.com/vmtn/appliances/directory/465
Description of rBuilder LAMP Appliance
The LAMP Appliance brings the best of breed Web application tools
together in one easily-deployable form factor. From the Apache Web
server, to your choice of databases (MySQL and PostgreSQL), to the
three preeminent scripting languages (Perl, PHP, and Python), the
Linux-based LAMP Appliance gives you the foundation for the
database-backed Web application of your choice.
rBuilder from rPath is the first platform for creating and maintaining
Linux-based software appliances. Software appliances give customers all
the benefits of an locally-hosted application without the hassles of
integration and operating system maintenance -- the hallmark of
Software as a Service (SaaS).
rBuilder transforms Linux from being "just another port" for
application developers to being a strategic element of a
subscription-based business model, making it possible to reach customers
you could never reach before.
Definition of Live CD from WikiPedia
Another related term is "Live CD", which is also popular in the Linux
community. See
http://en.wikipedia.org/wiki/LiveCD. The description of
a Live CD is as follows:
A live CD (or liveCD) is an operating system (usually containing other
software as well) stored on a bootable CD or DVD that can be run
directly from the CD or DVD drive, without installing into permanent
memory, such as a hard drive. (A live CD does not alter the current
operating system or files unless the user specifically requests it.)
The system returns to its previous state when the live CD is ejected
and the computer is rebooted. It does this by placing the files which
typically would be stored on a hard drive, into temporary memory, such
as a ram disk. In fact, a hard drive is not needed at all. However,
this does cut down on the RAM available to applications, reducing
performance somewhat. 256 MB - 512 MB of RAM is recommended, but some
live CDs do fine with less.
Electing to Install a Live CD ISO Within VMWare of Virtual PC Instead of Burning it to CD
Rather than burn a CD, many people elect to simply download the ISO
image, then use VMWare, Virtual PC, QEMU, etc and boot the guest
operating system within a self-contained execution environment from the
comfort of their own familiar desktop operating system. This can be a
very useful and unobtrusive way to explore a new system or collection
of unfamiliar software packages without having to invest a lot of time
and effort into configuration and setup. With download speeds ever
increading, the proposition is becoming more and more attractive.
Microsoft's Employment of the Live DVD Marketing Tactic at MSDN Events
Similarly, Microsoft has been known given out "Live DVDs" after MSDN
events that have been fully loaded with time-limited versions of VS
2005 Beta, SQL Server 2005 Beta, etc. Of course, these were running in
Virtual PC, not VMWare. I have attended ASP.NET Training courses at
Hewlett Packard that use this approach to training. When we sat down,
we booted up our Virtual PCs and went off to work in our virtual Visual
Studios.
Ripe Marketing Opportunities for this Tactic within the DotNetNuke Community
I know a lot of people who are very eager to learn how to develop
DotNetNuke modules. I know others who have no interest in developing
DotNetNuke modules, but are very interested in what DotNetNuke could do
for them. I see both of these as perfect opportunities for DotNetNuke
appliances, both as training resources for developers and as marketing
vehicles for prospective users.
In the case of developers, a DotNetNuke
appliance could be fully loaded with all sorts of valuable resources
and open source software. For prospective users, one could foresee
different types of tailored portal installations that could be given to
users either in person or via web download. Users could then experiment
with DNN to their heart's content. As DNN undergoes more
"ajaxification", one could even argue that DNN is a good candidate for
personal information management as a "Portable Application". *
Idea Proposal: DotNetNuke Module Developer's Workshop Live DVD
Regarding
the first scenario, What I propose is a DotNetNuke
Module Developer's Live DVD. This DVD would have all the essential
DotNetNuke software preloaded and configured with supporting code
generation tools and documentation, free skins, videos, etc.
But, that's where I stop because this is a Microsoft universe ruled by
EULAs that prevent operating system software distribution. Well,
it's not really where I stopped. I've already begun to do it as a proof
of concept. I've installed Windows XP
within VMWare and loaded it up and installed all of the following
software:
C:\Documents and Settings\Developer\Desktop\Core Downloads
│ DotNetNuke_4.3.0_StarterKit.vsi
│ DotNetNuke_4.3.0_Source.zip
│ Module Upgrade Wizard.zip
│ vwdsetup.exe
│
├───Code Generation Tools
│ CodeSmith
2.6 Freeware.zip
│ My
Generation 115.exe
│ My
Generation Introduction Flash Movie.exe
│
AtGenSDK.zip
│
├───Seabury Design Videos
│
Seabury_Intro.zip
│
Seabury_Lesson1.zip
│
Seabury_Lesson2.zip
│
Seabury_Lesson3.zip
│
Seabury_Lesson4.zip
│
Seabury_Lesson5.zip
│
Seabury_Lesson6.zip
│
Seabury_Lesson7.zip
│
└───TrainCert Videos
dotnetnuke3_portal_Security.zip
traincert1.zip
traincert2-over.zip
The 4.03.00 Starter Kit Installation Process Went Smoothly for the Most Part
I then installed the vwdsetup.exe, which installed the .NET Framework
2.0, SQL 2005 Express, and Visual Web Developer Express. After that, I
ran the Starter Kit and then created a brand new DotNetNuke WebSite
project. Within minutes, after a few minor glitches, I was running DotNetNuke
in a fully isolated and self-contained VM. But, I guess I'd be breaking
the law if I offerred up my VM on an FTP site for anyone reading this
to download.
Bluesky Scenario
Ultimately, I would love to have a VM configured top to bottom with
DotNetNuke goodies. Additionally, it would be preloaded with Visual
Studio solutions that contain skeleton code files as well as complete
solutions to development exercises that can be presented in
classroom-type sessions. The ultimate goal would be to train people in
a classroom session with the slogan being, "Take it with you", since
they could bring their knowledge and code home with them.
In this scenario, the flow of events would be something like:
- Build Live DVDs with VMWare with fully exectuable stack
- Distribute them during informal classroom sessions in which attendees bring their own laptop machines
- Perform classroom training
- Attendees go home with the complete stack and thus don't need to do any manual installation of their own to play around later.
Feedback and Opinions Sought
That's where I'm looking for ideas for getting around this. First, does
anyone else think this is a valuable idea? Second, would there be
legimate ways of doing this? Would redistributing a time-limited
version of a Microsoft operating system be legal? Or, might Microsoft
be open to sponsoring some type of event like this? So far as I've seen
Wine and ReactOS are not reliable enough at this time for a 100%
Microsoft-OS free environment.
Alternative Tactics
In the absence of a legal solution, this is where Mono and Linux become
ever more attractive. Since the "complete stack" of DNN-related
software does not fully depend on Microsoft, thanks to the elegant
design patterns used in the DNN core, the most limiting factor becomes
the lack of a fully capable Visual Basic .NET compiler for Mono. That
was the last I knew. Please correct me if I'm wrong on that.
Lacking a top-to-bottom executable solution, the last alternative would be something like:
- Build Live DVDs with VMWare with fully exectuable stack
- Builds Companion CDs with just the free software and simple step-by-step instructions for repeating the install.
- Distribute them during informal classroom sessions in which attendees bring their own laptop machines
- Perform classroom training
- Collect Live DVDs at the end of the session
- Attendees go home with free software on the CDs
I look forward to your ideas on this!
best regards,
Josh Gough
http://www.ultravioletconsulting.com
* Portable Applications are apps that fit on a thumbdrive. If
DNN
were capable of running completely on Linux, then it could most likely
run within DamnSmallLinux or some other mini Linux distribution. See
http://portableapps.com/
and
http://www.damnsmalllinux.com.Note: I just found this http://www.ubcd4win.com/howto.htm. It looks like this is a way people are getting around MS EULAs to mix in custom software with someone's legitimately owned copy of Windows.