r.a.d.controls version |
Q4 SP2 |
.NET version |
2.0 |
Visual Studio version |
2005 (or Visual Web Developer) |
SQL version |
2005 |
programming language |
VB.NET and C#.NET |
browser support |
all browsers supported by r.a.d.controls |
PROJECT DESCRIPTION Controls Used:r.a.d.
splitterr.a.d.
treeviewr.a.d.
gridr.a.d.
inputr.a.d.
calendarr.a.d.
editor
r.a.d.
window*
*help sample only
Introduction:
The BlogCast DotNetNuke module allows you to drag and drop, right click, and edit a nested tree stored in a database.
This module contains both a VB (as a DotNetNuke module), and a C# version (a stand alone help file sample). The VB DNN module creates a BlogCast for each instance of the module placed on a page according to ModuleID. The C# Help File sample code is almost exactly the same, except without the DNN wrappers and with a hard coded ModuleID of 321 (from the base DNN module).
The BlogCast module accomplishes five main goals:
Showcase Telerik Controls
This module takes advantage of seven Telerik controls to create the BlogCast. Obviously the tree, splitter, editor and window are already cool. We have extended the sample for editing a tree to the next level.
Xslt Stylesheet Formatting
To seperate the design and programming, xslt stylesheets format the tree, summary, article and rss feed. This gives infinite flexibility to the look of your BlogCast.
SqlFromXsltThere are two main challenges to managing a tree stored in a database: moving a node, and deleting a node (and all relevant child nodes). An xslt stylesheet is used to generate the update or delete sql string for each node affected.
Simple User Interface
Taking advantage of the existing drag and drop, and context menus already part of the treeview control, we created a user interface that requires almost no explanation.
A Better Way To Manage Structured Content
The BlogCast module is a simple to use, fast and intuitive method to manage articles grouped by topic for your site.
Instructions:
This module is shipped as a typical DotNetNuke zip file. It creates all the necessary files and database structure. You should have a RadControls folder at the root of your project, add the .dlls to the bin, and add the app_themes folder. For some themes you need to turn off compression, change the size of the treeview. You should also add the desired theme to your main default.aspx page.
The module has two main pages. The view page displays the summary and articles. Use the xslt pages to customize the format. The edit page uses right click and drag and drop to edit the tree and save the changes to the database. A special function called SqlFromXslt solves the problem of moving or deleting tree fragments. You can easily comment out the messages.
The RSS file can be formatted however you desire, and read by most newsreaders (including Outlook 2007).
The C# version is stripped down (no DNN code), and loads sample help file content to show exactly how the module works. The pop up "Show Code" window uses an XML file to hold the programming. Be sure to check out the EditHelp and ViewHelp pages in the project folder.
Summary:
This type of module has tons of other applications, especially when you consider formatting the XML as a word document, pdf, or government xml submission. This module lets you mash together structured content quickly and then move it around.
This would make a great extension to the self referenced table databind sample for the treeview. You already have the datasource, id, and parentid. Telerik could make any tree automatically update to the datasource.
This project might be too complicated or poorly organized for the CodeLibrary, but it contains a nearly elegant solution to updating a nested tree to the database.