Tuchka.Dnn.AnnouncementSyndication

This is quite surprising that such a professional CMS as DotNetNuke has such weak modules packaged with it, as Announcements. 

No, in general built in DotNetNuke Announcements module is ok, does its job to add / edit the announcements themselves, but nothing else, nothing fancy - no twitter cross-posts, and its Rss syndication abilities are quite poor:
  • to update an announcement in Rss you need to adjust the Published Date so that it is re-crawled (or other ways kick it in as it will not be re-crawled automatically)
  • html tags are removed, making rss entry appear ugly
  • no way to define rss entry layout
  • urls in rss announcement point to the announcement page itself rather than to the page the announcement is about.
  • rss feed title / description are predefined and are not changeable
  • rss feed url is uncontrolled

To address the above, the Tuchka.Dnn.AnnouncementSyndication module is created. It might still not be covering all the use cases, but does its job for this website, you can see it in action at this page:

To use the module, follow these steps:
  1. Download module
  2. Install module
  3. Add DNN Announcement module to be syndicated (on any page you like), you can also use existing announcement module
  4. Create a new page for the Tuchka.Dnn.AnnouncementSyndication module (this is needed to let control the path)
  5. Add the Tuchka.Dnn.AnnouncementSyndication module to the new page
  6. Configure the module, linking it to the Announcements module
  7. Done. Now anyone hitting the page created at step #4 will get an Rss
One interesting point is that since the module takes over the page and generates Rss instead of regular page, in order to reconfigure it in the future you will need to switch your DNN view to 'Layout View'.

Tuchka.Dnn.AnnouncementSyndication 1.0.x is compatible with DotNetNuke v 5.4.4 and Announcements v 4.0.3. It might work with other versions, but was not tested under them. Please contact www.tuchka.info through the Forum or Feedback if you experience issues under some other versions.

WARNING: AnnouncementSyndication module is not doing any security checks and is displaying all published announcements. If you need to, you must use standard DNN security mechanism of Page or Module security to manage who can access the feed.

WARNING: AnnouncementSyndication module is provided AS IS. Use it at your own risk. The author or www.tuchka.info are not responsible for any damage being direct or indirect result of using this module.

NOTE: You may use / modify the source code provided below keeping the reference to the original version at www.tuchka.info.

Version History

 Version Notes  DNN Announcements 
1.0.8
  • Changed the default event when Rss is rendered to Dnn Load (stability)
5.x.x
6.x.x
4.0.3
1.0.7
  • Added an option to select when the Rss is rendered (stability)
5.x.x
6.x.x
4.0.3
1.0.6
  • Added guid support with customizable prefix (no permalink)
  • Resorted by announcement date descending
5.4.4
5.6.0
4.0.3
1.0.5
  • Added caching support
  • Light help for the initial configuration 
5.4.4 4.0.3
1.0.4
  • Initial public release
5.4.4 4.0.3 

Downloads

The module can be downloaded from the DotNetNuke store.

Configuration

Installation of the module is a standard procedure so will not be described in deep details. You need to follow these steps to have the module installed:
  1. Download the Module
  2. Login as SuperUser (Host) account
  3. Goto Host -> Extensions
  4. From the command menu select 'Install New Extension'
  5. Browse and select the downloaded Module
  6. Click Next and follow the Wizard up to the end. If there are any problems during the installation, please contact www.tuchka.info
The next thing to do is to create the DNN Anouncement module that you are going to syndicate, unless you have already added it to some page.

Once you have the Announcement Module, you need to create a new Page on your website. This page is going to host the Tuchka.Dnn.AnnouncementSyndication module and at the same time this is going to be the Rss Feed itself. After all configurations, users who enter this new Page will get Rss Feed (in xml) instead of the DNN Page (html). So the Url of the feed will match the Url of the page.

The next step is to add the module to the page:

 

After the module is added to the page, it will produce a warning saying that it is not configured.



Select 'Settings' from the command menu to go to the module configuration.

 

On the very bottom of the Module Settings, a new section is added that lets defining the AnnouncementSyndication settings.

 

All fields are mandatory and pretty self-explanatory:
  • Announcement Module: Select the Announcement Module to syndicate from the drop down
  • Rss Title: Enter the title of your Rss Feed
  • Rss Description: Enter the description of the Rss Feed
  • Rss Copyright: Enter the copyright string for the Rss Feed
  • Rss Item Template: This is probably the most difficult piece. The field comes empty but must be populated with the template for the syndicated items. The template follows the rules of the DNN Announcement module and uses its engine to process the tags. You may want to take your Announcement Item Template that can be found on the Settings page of the Announcement module and adjust it a bit so that it is more adopted for the Rss Feed.

 

Once you are done with the settings, click 'Update' to save the settings and you will be returned to the page, but if you did everything correctly, instead of seeing the page you will see the Rss Feed itself.

If you need to get to the Page or Module Settings in the future, you need to:
  1. Open some other page as Host
  2. Switch the view mode to Layout  
  3. Go to the page with Rss. In Layout Mode the modules are not executed and no Rss is generated so you can access the settings.
K.K., 22 Aug 2010
Share

Comments

Comments

Indicates required fields

Your Contact Information

Your Feedback


Terms Of Use | Privacy Statement | (c) 2010 tuchka.info