This project is read-only.

Categories/tags, leaderboard and more

Topics: Improvement
Aug 18, 2013 at 10:44 PM
Edited Aug 18, 2013 at 10:48 PM
I would first like to introduce myself to you, since I was welcomed in the module team.

I'm foremost a Microsoft Dynamics NAV/Navision freelance consultant/developer with 22 year experience. In 1995 I started the Dynamics User Group as an online community. First only with a few friends in the industry and a standard listserv mailing list. Today we have approx. 150000 members and 200000 monthly visitors using the sites forums, blogs, downloads and wiki. After 3-4 platform changes over the time, the site is today running on a Community Server 2008. And now if you think that with a site of this size I would make a lot of money and that I therefore can afford the use the Community Server/Telligent platform, then you're wrong. Up until a few years ago I has only been 100% a hobby and the few sponsors I had on the site just cover the costs, despite a free platform license. But the license can only be used with the old Community Server 2008 system. And upgrading is out of my sites financial capabilities. And having worked with the ASP.NET platform since it was invented, I mostly know my way around in the source code. I'm doing smaller C# changes and projects, but mostly CSS / design changes.

In my current site the forums are the center of the site. This is where most of the activity takes place in a multitude of 68 different forums in 10-12 different groups. But I also wrote a little about this in another post, so enough about that.

If I'm going to migrate into DNN and the DNN xChange module then I need to be sure that my site continues to stay the most popular Microsoft Dynamics forum. And one of the keys here is to make sure that users find it easy to post both questions and answers, and especially to find and read the already asked questions and answers. Everything with the visitors special area of interests.
Previously I have been very focused on a traditional forum like YAF.NET or ActiveForums. But the more I work with DNN xChange then I see more and more opportunities with this. Its much simpler and more modern user interface. Plus none of the existing Forum modules for DNN doesn't fulfill my requirements. And the only thing the xChange module misses are really only a few important and some minor things. ;)

Categories as the Forum Structure
The most important is something to replace the current Forum structure. And although the Social Group functionality under DNN could replace the current Forum Group structure, then it still really isnt' enough. A hierarchical category structure could solve this issue. Especially if it is implemented in a way where the "forum groups" (main-categories) and "forums" (sub-categories) can be accessed in a forum type of implementation.

My main inspiration for how I could imagine it to be implemented is the way MSDN are doing at :

Here they allow the user to select the individual categories (groups and forums), and thus filtering which questions the user sees. Holding the mouse over the category displays the category description.

First of all I'm 100% in for the way the current module uses the DNN standard taxonomy for its tags. In the same way the Categories should use the taxonomy for the hierarchical categories. And would like to see the solution this as a first step on the way to be able to include blog posts, wikipedia entries, events and all the other future modules which someday hopefully will be integrated into xChange. This way the same categories (and tags) could be used to bind content together system wide, and related information could this way be displayed everywhere in the system. Category/tag related blog posts could be displayed next to the related questions etc. And user would eventually be able to subscribe to specific categories/tags and this way receive notifications/rss feeds.

RSS feeds
That brings me over to the next "major" issue - currently the xChange does not have any RSS feed available. This feature is heavily used today, allowing users to "subscribe" to individual forums. In xChange I would like that the users would be able to subscribe both to all questions as well questions made with specific document types/categories/tags or by specific users (or user roles).

Ideally in a way where the user could build his own feed, and save the settings under his user profile. Evoc Social is actually doing something similar for the activity feeds/journals (with their Custom Feed Builder). But the Journal in Evoc Social has also been extended (with more text per journal post), so we might not be able to do the same.

_Leaderboard _
Before leaving the subject of categories/tags, then I would like to suggest that points are calculated with the ability to filter the results per category/tag. This way it will be possible to display a leaderboard based on specific categories/tags and this way showing who is the "expert" within that specific area. So when displaying the leaderboard on a category page, then it would be based on points earned with that specific category. Of course not all types of point giving activity would apply within a category and should there not be included, example points given for a fully entered user profile etc.

I know my post already have been very long, and I'm sorry about. But I have one more thing I like to discuss here.

How should the module structure of xChange be in the future?
I am not even going to mention that it of course should be possible to specify individual templates for all individual views. But I would like to see that the xChange module could be added in a similar way as the new DNN Blog (ver. 6RC). If you're not familiar with the new DNN Blog module, then upon adding the module to a page you can specify which "view" (called templates by DNN Blog) to use (choose between Default, authorlist, calendar, category list, tag cloud etc.), but also which category/author to view for that instance of the module. This way it is possible to design your DNN pages quite easy without the need of a more advanced templating setup. For xChange this would also make a lot of sense. Having the list of questions as the default view, and Category Lists, Related Tag Lists, Leaderboard etc. Later it would be a great way integrate Events, Blogs, Wikis etc.

Besides the first two suggestions (Hierarchical categories and RSS feeds) then the others are not something I would die if I didn't have. But I'll love to hear your comments, am I the only one who would like to see this?
Aug 20, 2013 at 2:53 PM
Edited Aug 20, 2013 at 3:56 PM
Please split off 4 discussion items :

Module structure

All of these are planned in the roadmap which I'll soon upload.

I'm going to address the following point:
"If I'm going to migrate into DNN and the DNN xChange module"

1) What are your top reasons for migrating from community server? What are the key features that you're missing ?
2) You should first ask yourself the question about DNN itself just how confortable are you with it. I find Journal, Profile and Social groups pretty limited and inflexible. And many modules that you can get are not integrated between each other. so.... we cannot exactly change all this in the scope of this module
3) Bear in mind that this project is just getting "really" started, as in, we have 10,20,30 or even 40 features to implement before this can actually become a full blown Q&A solution. and it all depends on how many developers come in and 'self-organize' productively.
Aug 20, 2013 at 5:42 PM
Sorry for mixing too much together, but I thought it was quite related....

The top reason for migrating from Community Server is the fact that I keep getting an error which causes IIS to recycle between 5 and 50 times per hour. And in order to fix this error I need to buy a new license. And financially that's not even possible for my site. Otherwise the site actually is doing fine, although its rather slow.
But just as important, then I need to add some additional "modules" to my site. And in that direction then I have given up, here CS is not very flexible. It is going to be too much of a job to create these modules and integrate them with CS compared to how easy it is to create a new module for DNN.
I actually find that the user profile in DNN is very flexible and that it can do exactly what I need. Easy to add additional fields etc. And I find that working with DNN in general is MUCH easier than CS. In the 7 years I have been working with CS I have not gotten as comfortable with it as I have after having "played" with DNN for almost 2 years. This is in regards to both coding and general usage.

I have also been evaluating many different solutions (within the ASP.NET scope - as this is what I know), including Sueetie (integrated package with YAF.NET, BlogEngine.NET and a media and wikipedia module), Umbraco (with MVC.Forum and uForum), and other minor packages. But none of them have looked as good as DNN.

The way I see the main difference is that CS I have to take as it is, while DNN is more of a "work-in-progress" system. But it's still open enough that I can do things myself or use one of the many 1000's modules available. Despite the fact that most of these modules really doesn't take full advantages of DNN.

That includes DNNxChange. But at least for this module one of the objectives are to be as integrated to DNN as possible (in terms of tags, categories, journal etc.). And despite the fact that the current API to the journal, nor the journals in it self really works as well as we would want it to.

But yes the module is just really getting started and a lot of features still have to be implemented. But by joining this project I hope to be able to give a hand (or two) so that it might be done a little faster. Just let me know what I can do to help the project progress faster. I'm maybe not the best and quickest to program new features, but testing and debugging/fixing already developed features, plus documenting existing that I sure can do. I'm just really new to these types of online-development teams.
Aug 20, 2013 at 5:54 PM
hi @erikernst, we do require any and every kind of help in order to complete the list of features that we have planned.

Would like to know what is your area of expertise and in which area you can contribute.

While the main priority for now is to fix some of the broken links so that the social group integration (though its not integrated tightly) is complete and people can use it in production.

@DotNetNuclearLLC, is working on a major upgrade which involves services layer, knockoutjs and a new UI based on You can get in touch with him for now since he need some hands to support him.
Aug 20, 2013 at 8:31 PM
hi babureddy, I have just written DotNetNuclearLLC.

As I wrote above then I can do a lot, from documentation, feature specs, web design, testing, debugging, minor changes (like getting the group journals to work), smaller new features (as long as development spec has been written) etc. But just let me know what needs to be done, and how, then I'll be happy to help. :)
Sep 27, 2013 at 2:15 AM
Just a note on categorization, I am a firm believer in tag based organization.

One way we approached this problem at DevCentral is to have all of our pieces of content (articles, questions, events, downloads, videos, etc) use content items as a base and use the built in DNN taxonomy. To coerce people into organizing content in a certain manner we used RoleGroups and Roles to simulate a category structure. So we have a role group setup for "technology" and underneath that we have a role for "irules", "icontrol", etc.

Here is a RoleGroup:

and an example role:

When entering content such as a question, we allow role groups to be configured in settings and when they are, they appear as checkbox groups on the form. When any of them is checked during submission, the content is tagged with that role name, e.g. "irules" and if that term matches a group name, the journal entry is also tagged with that specific rule so it shows up in that group's activity


We also have a content aggregator module that only uses the underlying content items and can filter by content type, e.g. show me the recent questions from the current group:

So this solved a few problems for us, we had a list of "preferred" tags people could use but still give them the ability to do their own tagging. As a by-product, we have landing pages for our most common tags or product areas.