In trying this I have started to create a ChannelDefinition. Here are some questions on that:
1. How do you obtain the next valid ID for a channel from uPortal? Is there an object that contains that information? 2. the ChannelDefinition Class has no toXML() method as described below. Is there another way to generate an Element from ChannelDefinition? Thanks again, Thomas On Tue, 2008-04-08 at 12:29 -0500, Eric Dalquist wrote: > There is a ##uportal channel on the FreeNode IRC network. > > The RDBMChannelRegistryStore uses plain JDBC and custom caching code. > I'm am nearly positive that it isn't a caching issue in > RDBMChannelRegistryStore. The problem is very likely that the > ChannelRegistryManager needs to be explicitly updated with the new > channel. That class does not use a cache. As far as I can tell it just > has a reference to a Document in which it holds a structure of all > available channels for that uPortal instance. I'm pretty sure the only > way that this Document will get updated with your new channel is by > calling the following APIs from the code that is creating the new > ChannelDefinition. > > > Element channelE = channelDef.toXML(); > ChannelRegistryManager.publishChannel(channelE, catIDs, > groupMembers, person); > > > As far as I can tell uPortal 2.6 and earlier all behave in the same > way here, unless ChannelRegistryManager.publishChannel is called its > internal Document is not updated. > > -Eric > > > Thomas S. Pangborn wrote: > > > Eric, > > > > Does the system use hibernate for this caching? We have seen this > > problem where the Java hibernated objects are not updated, but the > > underlying database is and the system has no knowledge of the > > database update until the server is restarted. Is there an IRC > > channel that I can ping people that are doing development for > > uPortal to find out more? I see where the uPortal IRC is archived on > > the JA-SIG wiki page. > > > > Also, was this feature working in 2.6? I tried creating an XML file > > pushed that into properties/chanpub and expected the system to pull > > this in. I did not see the new channel populate. How did this work > > in 2.6 or did it? If this was working in 2.6 we might use that for > > this go around. > > > > So from what I can tell now, this feature as it's stated in the > > documentation does not work. > > > > Any suggestions here would be great. I'll also take into > > consideration your comments below. > > > > Thanks again, > > > > Thomas > > > > On Tue, 2008-04-08 at 09:44 -0500, Eric Dalquist wrote: > > > > > Sounds like an interesting portlet if you'd be willing to share > > > the code eventually. > > > > > > So publishing the channel as you describe would update the > > > database and the cache that the RDBMChannelRegistryStore uses. > > > CChannelManager and the content subsciber channel both use the > > > ChannelRegistryManager to get the list of available channels and > > > this appears to be a static Document that tracks all available > > > channels so it will need to be updated using that API. > > > > > > I will say that I'm not a big fan of the ChannelRegistryManager, > > > it seems like an extra layer of caching (RDBMChannelRegistryStore > > > uses a cache for ChannelDefinitions already) and a difficult API > > > to work with as manipulating DOMs is never fun. I, and I know a > > > few others, are very interested in re-writing CChannelManager as a > > > portlet and also re-writing the RDBMChannelRegistryStore to use > > > JPA. I would imagine the ChannelRegistryManager would be > > > deprecated with that work. Unfortunately that wouldn't be > > > happening until 3.1 at the earliest so for now you end up having > > > to update the ChannelRegistryManager with any updates to make sure > > > they show up to users. > > > > > > -Eric > > > > > > Thomas S. Pangborn wrote: > > > > > > > Eric, > > > > > > > > I see where this method call should do the update. Is there a > > > > caching issue or something that needs to be flushed or > > > > call/activated once a new channel has been added? I know that > > > > the new information is there. I can see the entry in the > > > > database; however, the uPortal UI does not show this update. Any > > > > suggestions? Is there something in the code base that needs to > > > > be fixed or is there some type of property or preference that > > > > can be set in such a way to allow the new channel to show > > > > itself? > > > > > > > > -- > > > > > > > > Here is a little background on what I am trying to accomplish. > > > > We need a simplified way to publish content based on existing > > > > portlets. We simply need to create a portlet that would let the > > > > user identify the base portlet, setup portlet arguments, then > > > > create the channel and have it available to the user immediately > > > > for use. Our customer base will not have the expertise to enter > > > > information for a given channel via the Admin interface for > > > > channel addition. > > > > > > > > With uPortal 2.6 this was quite simply done by creating an XML > > > > file and placing this in the properties/chanpub directory. Not > > > > having used 2.6 I would assume that the system then > > > > automatically created the new 'Channel' on the fly or was there > > > > another step involved here as well? > > > > > > > > Thomas > > > > > > > > On Tue, 2008-04-08 at 08:52 -0500, Eric Dalquist wrote: > > > > > > > > > Thomas, > > > > > > > > > > The information is likely cached in the ChannelRegistryStore. Looking > > > > > at > > > > > CChannelManager there is a bit of code that does the following after > > > > > publishing a channel: > > > > > > > > > > Element channelE = channelDef.toXML(); > > > > > ChannelRegistryManager.publishChannel(channelE, > > > > > catIDs, groupMembers, person); > > > > > > > > > > catIDs is a String[] of category IDs the channel is a member of > > > > > groupMembers is a IGroupMember[] of groups that can render the channel > > > > > persopn is the IPerson that published the channel > > > > > > > > > > I hope that helps and I would also be very interested to see the end > > > > > result portlet that you're working on, it could be a great example > > > > > for > > > > > future framework portlet development. > > > > > > > > > > -Eric > > > > > > > > > > Thomas S. Pangborn wrote: > > > > > > This does seem to work; however, once the new channel has been > > > > > > added I must shutdown tomcat and restart in order to see this as > > > > > > part of the channel list. > > > > > > > > > > > > Is there a way to import a channel programmatically and then have > > > > > > the system update so that the channel is available without having > > > > > > to restart? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Join your friends and colleagues at JA-SIG 2008 - "Higher Education > > > > Solutions: The Community Source Way!" > > > > April 27th - 30th, 2008 in St. Paul, Minnesota USA > > > > > > > > > > > > Featuring CAS, DSpace, Fedora, Fluid, Internet2, Kuali, Sakai, uPortal, > > > > and more! > > > > Information/Registration at: > > > > http://www.ja-sig.org/conferences/08spring/index.html > > > > > > > > > > > > Subscribe to the conference blog, The Community Source Way > > > > http://jasig2008.blogspot.com, for news and updates about the event. > > > > > > > > > > > > Join the Conference networking site at > > > > http://ja-sigspring08.crowdvine.com/ > > > > > > > > > > > > You are currently subscribed to [email protected] as: [EMAIL > > > > PROTECTED] > > > > To unsubscribe, change settings or access archives, see > > > > http://www.ja-sig.org/wiki/display/JSG/uportal-dev > > > > > > > > > > > > -- > > > > > > > > Join your friends and colleagues at JA-SIG 2008 - "Higher Education > > Solutions: The Community Source Way!" > > April 27th - 30th, 2008 in St. Paul, Minnesota USA > > > > > > Featuring CAS, DSpace, Fedora, Fluid, Internet2, Kuali, Sakai, uPortal, and > > more! > > Information/Registration at: > > http://www.ja-sig.org/conferences/08spring/index.html > > > > > > Subscribe to the conference blog, The Community Source Way > > http://jasig2008.blogspot.com, for news and updates about the event. > > > > > > Join the Conference networking site at http://ja-sigspring08.crowdvine.com/ > > > > > > You are currently subscribed to [email protected] as: [EMAIL > > PROTECTED] > > To unsubscribe, change settings or access archives, see > > http://www.ja-sig.org/wiki/display/JSG/uportal-dev -- Join your friends and colleagues at JA-SIG 2008 - "Higher Education Solutions: The Community Source Way!" April 27th - 30th, 2008 in St. Paul, Minnesota USA Featuring CAS, DSpace, Fedora, Fluid, Internet2, Kuali, Sakai, uPortal, and more! Information/Registration at: http://www.ja-sig.org/conferences/08spring/index.html Subscribe to the conference blog, The Community Source Way http://jasig2008.blogspot.com, for news and updates about the event. Join the Conference networking site at http://ja-sigspring08.crowdvine.com/ You are currently subscribed to [email protected] as: [EMAIL PROTECTED] To unsubscribe, change settings or access archives, see http://www.ja-sig.org/wiki/display/JSG/uportal-dev
