I have watched DotNetNuke evolve from the start. My personal skill set(and probably maturity level) was lacking.
Throughout the years I would give it a try, and run into some stumbling block that would cause me to “give up”. There was a major advantage to these stumbling blocks though…They helped me realize that I needed to learn more, at a basic level, in many areas. They helped guide me on my journey to learning. I still have a LONG ways to go, but finally I think I have a good grasp on how DNN works, from the ground up. I by no means have the skills required to attack major coding endeavors at this point, and that’s another advantage of this community. The open communication and free sharing of ideas, along with the desire of everyone to help people advance on a personal level. Knowing that by helping someone, it is bound to help the community as a whole, and lead to some potential advancement like the provider model that DNN now uses.
I think DNN is a great way to learn how to develop, and the core team demonstrates excellent practices. When you dig in, and start to look around, you find consistencies that make sense. They seem to follow a methodology of sorts.
I imagine the methodologies practiced as DNN evolves contain some very standard rules that someone would learn throughout their career, or through college, or just participation here. The last one, participation, I feel is the most valuable as it allows for us to get down and dirty with the code, or functional websites, get feedback from users(always constructive) among many other things.
What I’m looking for after all my babblings is some direction. I know the basics of coding. I have written some small applications of my own. The stumbling block I run into whenever attempting to write a functional bit of code, can easily be related to my experiences and attempts to learn DNN in the past. I have no method. I just get in…start plopping some stuff together, and hope it works. When it doesn’t, I spend hours googling, reading newsgroups, and getting way off track.
In an attempt to understand, and learn some methodologies, I thought it would be a good idea to start and manage a small module project, something I have in mind that would be very nice…It’s just a reporting module, that I’m sure already exists, and I will certainly research that. I actually have ideas for a few modules. I have no clue where to start though.
I would like to know how to properly develop a module, starting with just the idea of how to manage the project. I would like to mirror the DotNetNuke core teams methodologies, as they are obviously proven to work well, and I can tell I’m already learning some, like documentation(not that you can tell from this post :->).
So where do I start, who wants to be my mentor :->. Is there some docs out there that the DNN methodologies are described in.
I’m thinking I need to learn things like:
- Idea forming, and determination of realistic goals
- Goal forming, how to relate the goals of the ultimate project to a flexible timeline with milestones, and how to deal with changes in project requirements as the project evolves.
- Documentation, both in code, and written documents describing the project, features, usage, proposals etc.
- Release Managemetn
You get the idea.
This turned out to be very long winded, but I would like to basically learn to “do it right” from the start. Any advice is greatly appreciated.
Josh