Products

Solutions

Resources

Partners

Community

About

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

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.


Moving DNN modules to GitHub

Open up the former core modules?

Last weekend I spend a rainy Sunday moving a number of (former core) DNN modules from CodePlex to GitHub. My intention was to open up the source and the modules for a larger group of community members. And GitHub seems a way of doing that for Open Source projects. 

Moving the projects to GitHub has some advantages:

The source can be easily forked and cloned: So that everyone can have his or her own copy of the source to play with

Enhancements can be easily provided: The pull request principle of GitHub is a boost in distributed development and working together in distributed (both in time and location) teams

The documentation can be easily enhanced: The Wiki is open to everyone to produce documentation. Any GitHub user can create and edit pages to use for documentation, examples, support, or anything you wish.

Microsoft is moving their open source projects to GitHub: And who are we to question that move and do things completely different?

What did I do for the move?

There is a whole list of module projects that I moved to (duplicated on) GitHub. What did I do? For every project that I moved, I

  • created a new repository on GitHub in the group DNNCommunity;
  • initialised the repo with a default readme, a default gitignore related to VisualStudio, a MIT license;
  • downloaded the latest source from CP;
  • tried to figure out the clean module source in the source zip that I obtained;
  • added the latest source pack of the module as source start;
  • improved the gitignore to the one used by DNNPlatform;
  • created a development branch
  • created a GitHub release for the latest release of the project using the latest release files of the project on CodePlex;
  • added release notes to the release on GitHUb (if the CP project had release notes);
  • added documentation on the front page of every CodePlex project pointing the visitor to the right repo on GitHub;
  • changed the title of the CP project, so it shows that the project has been copied/moved to GitHub;
  • removed all team members from the CodePlex project.

(The last thing was not a good idea, but I will come back on that further on).

Which module projects did I move?

I did this for the following projects: DNN.Links, DNN.Forum, DNN.ActiveDirectory, DNN.FormAndList, DNN.Reports, DNN.Announcements, DNN.NewsFeeds, DNN.IFrame, DNN.XML, DNN.Wiki, DNN.Feedback, DNN.Events, DNN.FAQ. You can find a list of the projects if you go to the DNNCommunity group account on GitHub. I have documented my steps in the wiki in the DNNCommunity home page on GitHub.

There were also some disadvantages. In the process of moving the projects, I cleaned the team of the CodePlex projects and removed all members. That upset some of the team members that were still active for the CodePlex project. Looking back, removing all team members was not the best thing to do, but as an excuse I have to say that I found a whole bunch of team members that were not active at all, they did not log in into CodePlex for years. 

Nothing has been lostIf you think I have done it wrong for you, tell me your CP id and project and I happily re-add you to the CP project and you can do the things your way.

Interested in contributing?

Go to the repo on GitHub, fork, clone, correct, improve and enhance the module, publish the result and, if possible, create pull requests for the original copy. And if you are interested to do a bit more, become project member and handle all enhancements directly on the GitHub module projects. Contact me if you are interested.

Comments

Phil Speth
Thanks.
That is a lot of work but it is appreciated.
Phil Speth Tuesday, July 14, 2015 9:52 AM (link)
Ernst Peter Tamminga
@Phil, yes it was, but I hope that others now step in and start doing something with the optiona I have made possible: fork, clone, improve, test and create pull requests. Please help to motivate people to do so.
Ernst Peter Tamminga Tuesday, July 14, 2015 3:31 PM (link)
Ilpo Juvander
Took a quick peak towards Forum you moved now into Github. It has not the sources that current release version is built with. In Codeplex there were changes made that were never released. Correct sources in Github in https://github.com/juvander/DotNetNuke-Forum :)
Ilpo Juvander Tuesday, August 18, 2015 3:54 AM (link)
Ernst Peter Tamminga
@Ilpo Juvander: can you create a pull request for the forum module in the DNNCommunity section?
Ernst Peter Tamminga Thursday, January 28, 2016 10:25 AM (link)
Daniel Valadas
Hello Ernst, I would like to help bring back those old modules and community to live. There are many abandoned projects with very old pull requests never merged or even replied to. I would like to take charge for some of them, how can we proceed?
Daniel Valadas Saturday, May 5, 2018 8:44 AM (link)
Ernst Peter Tamminga
@Daniel:

Thank you for your comment.

if you are a developer, go to GitHub, just pick one or two modules, fork, clone, verify issues, solve one or two issues and submit pull requests.

If you are not a developer, verify issues tha5 mention errors and comment on the issue if you can reproduce the error. If the issue is a enhancement request, try to think about the usefulness of the request and comment about it in the issue.

Does this help as a start?
Ernst Peter Tamminga Saturday, May 5, 2018 1:23 PM (link)
Daniel Valadas
I did publish multiple pull requests but there is nobody to merge them, that is what I mean by I would like to bring the projects back to life. There are a lot of old pull requests, people just get fed up and start developing just on their own fork so the community does not benefit from the improvements and does not collaborate. We need project maintainers that are active and maybe form a small team to manage those old modules, there are a lot of old sites that need them to keep working in order to not loose the existing data they have. With Dnn 9.2 removing so many old APIs, a lot of people will be furious that they are stuck not being able to upgrade because of a module that was originally provided by Dnn. I feel it is letting the community and customers down by not at least keep them working.
Daniel Valadas Sunday, May 6, 2018 4:38 AM (link)
Ernst Peter Tamminga
@daniel:
I fully your comment. My original posting here date back to 2015. Not enough has happend since then.
Which module are you willing to pick up and become project lead for?
Ernst Peter Tamminga Sunday, May 6, 2018 1:51 PM (link)
Daniel Valadas
I would like to form a small group of the currently active maintainers, go trough the list of modules and check which ones need new maintainers (because they are not active anymore), which ones are not worth maintaining, which ones are the most used, etc. Then I take on wathever needs the most attention. I can handle a few small ones like Feedback and stuff like that, but I think we need 2 or more persons if we are going to also maintain larger ones like Blog, F&L, Forums, etc. I will try tomorrow to compile a worksheet of unanswered pull request and maybe start contacting the current maintainers on the ones with least merges to see where they stand.
Daniel Valadas Sunday, May 6, 2018 4:10 PM (link)

Comment Form

Only registered users may post comments.

NewsArchives


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Daniels (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
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 (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (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)
Steven Fisher (1)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out