Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

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!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Using Modules a...Using Modules a...Leveraging Portal Desktop Module Table to Propagate Announcments to All PortalsLeveraging Portal Desktop Module Table to Propagate Announcments to All Portals
Previous
 
Next
New Post
3/15/2015 8:06 PM
 

While checking out the DNN API and the database as well, it was found this code pulls an instance of announcements that were only set on Portal 0 (very definitely) but putting in any valid portal id the announcements show up for the portal Id specified.

Note these are all INNER JOINS.  I was in the process of writing a SPROC to accomplish what I wanted when it appeared using the Portal Desktop Modules table I could get what I need done.

There must be a DNN API method to propagate anything from Portal 0 to other Announcements modules regardless of child portal.  Portal Desktop Modules makes this possible, obviously.  I declared the object in C# but can find no calls to do something like update all Announcements modules, nor do so by portal Id.  There should be a simple 2-3 lines of code to put in the page load of the Announcements View control to get any announcements on portal 0.  how would this be done?  I'm missing it.

Checked the Module Settings as well by going into Edit Mode but there isn't a check box or a drop down option to accomplish this.  Tried "Get All" from a child portal but no result set.

 At least it is known how to get the portal ID and other info to just update the announcements table accordingly if the API method no longer exists but other functionality was left in play on the back end.

The following SQL Code pulls these test announcements:

SELECT TOP (200) * FROM     Announcements

As can be seen there are only 2 announcement entries but the following code joining ultimately to announcements and specifying a definite portal shows the same announcements:

SELECT
    A.Description

FROM PortalDesktopModules    PDM
    JOIN DesktopModules DM
        ON PDM.DesktopModuleID = DM.DesktopModuleID
    JOIN ModuleDefinitions MD
        ON MD.DesktopModuleID = DM.DesktopModuleID
    JOIN Modules M
        ON M.ModuleDefID = MD.ModuleDefID
        AND M.ModuleID = 24352
    JOIN Announcements A
        ON A.ModuleID = M.ModuleID
       
WHERE PDM.PortalID = 2036
AND DM.DesktopModuleID = 176

To verify I wasn't imagining things I took PDM out of the loop and the following SQL pulls a NULL result set.

SELECT
    A.Description

FROM DesktopModules DM
    JOIN ModuleDefinitions MD
        ON MD.DesktopModuleID = DM.DesktopModuleID
    JOIN Modules M
        ON M.ModuleDefID = MD.ModuleDefID
        AND M.ModuleID = 24352
    JOIN Announcements A
        ON A.ModuleID = M.ModuleID
       
WHERE DM.DesktopModuleID = 176
    AND M.PortalID = 2036

 
New Post
3/16/2015 4:13 AM
 
Michael, I am not sure, what you plan to achieve - Announcements are bount to ModuleID and this is bount to a PortalID. If you modify PortalID in Modules table, you would need to modify modulepermissions as well, as roleIDs are portal specific.
If you want to use a module content across sites, you'll need either use a custom module for rendering items or use Reports module with an appropriate SQL Statement.
The easiest option should be creating a Site Group, which will provide you with an UI option to share modules across sites and display on a different site within same DNN. Sitegroup Editor (http://dnnportalgroups.codeplex.com/) will help you to setup the Sitegroup. Note: there is a known issue in DNN 7.2.2-7.4.0 with ModulePermissions, see https://dnntracker.atlassian.net/brow...

Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
3/16/2015 7:12 PM
 

The child portals we create will have a Chairperson on each of them.  We want an announcements module that can be broadcast to from our Admins on Portal 0.

If Reports module will work better as it would take custom SQL, even better.  I did find, though that copying any messages from the Announcements module on portal 0 back into the Announcements table with the new module ID of one on a child portal worked.  The modules on child portals would be read-only, so to speak.  Only the one on 0 would allow edit permissions and then only to Host / Admin.

I thought reports would be harder to work with and be overkill.

Apparently at one point the DNN Announcements module would do this, work multi portal.  I might be wrong on that but on searching Google I thought for DNN 4.x it would do that.

Let me know on this approach I found with just updating the Announcements table for each child portal module ID.  Meanwhile I'll check out reports.

 Thanks!

 
New Post
3/17/2015 3:48 AM
 
Reports module will execute the SQL command and display the results - this should be the smallest overhead performance wise.
Using share content feature of a DNN site group might be the easiest option to implement and administer.

Cheers from Germany,
Sebastian Leupold

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Using Modules a...Using Modules a...Leveraging Portal Desktop Module Table to Propagate Announcments to All PortalsLeveraging Portal Desktop Module Table to Propagate Announcments to All Portals


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out