Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[07:09:08 CDT(-0500)] * jessm (~Jess@c-71-232-3-151.hsd1.ma.comcast.net) has joined ##uportal
[08:16:05 CDT(-0500)] * mccordl (~mccordl@cpe-66-25-89-113.satx.res.rr.com) has joined ##uportal
[08:40:56 CDT(-0500)] * colinclark (~colin@64.231.169.210) has joined ##uportal
[08:41:25 CDT(-0500)] * mccordl (~mccordl@cpe-66-25-89-113.satx.res.rr.com) has joined ##uportal
[08:45:11 CDT(-0500)] * michelled (~michelled@142.150.154.141) has joined ##uportal
[08:46:23 CDT(-0500)] * EricDalquist (~apollo@adsl-76-208-71-20.dsl.mdsnwi.sbcglobal.net) has joined ##uportal
[08:51:32 CDT(-0500)] * mccordl (~mccordl@slc-120-4.southwestern.edu) has joined ##uportal
[08:58:29 CDT(-0500)] * lfuller (~sparhk@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[09:36:26 CDT(-0500)] * holdorph (~holdorph@wsip-72-215-204-133.ph.ph.cox.net) has joined ##uportal
[10:58:03 CDT(-0500)] * jessm (~Jess@c-71-232-3-151.hsd1.ma.comcast.net) has joined ##uportal
[11:01:02 CDT(-0500)] * athena (~athena@c-76-121-97-221.hsd1.wa.comcast.net) has joined ##uportal
[11:25:06 CDT(-0500)] * colinclark (~colin@64.231.169.210) has joined ##uportal
[11:49:05 CDT(-0500)] * Sememmon (~Sememmon@unaffiliated/sememmon) has joined ##uportal
[12:21:12 CDT(-0500)] <athena> any idea if uPortal's user store is available in the application context?
[12:21:35 CDT(-0500)] <EricDalquist> I can't remember
[12:21:43 CDT(-0500)] <EricDalquist> do you have the Spring plugin for eclipse?
[12:22:29 CDT(-0500)] <athena> yes
[12:22:36 CDT(-0500)] <athena> is there a good way to tell from that?
[12:22:39 CDT(-0500)] <EricDalquist> if you do a bean search for userStore
[12:22:44 CDT(-0500)] <EricDalquist> or whatever the interface name is
[12:22:50 CDT(-0500)] <EricDalquist> that will show you beans available
[12:23:21 CDT(-0500)] <EricDalquist> you can also look and see if there is a user*context.xml
[12:23:44 CDT(-0500)] <EricDalquist> https://source.jasig.org/uPortal/trunk/uportal-impl/src/main/resources/properties/contexts/userContext.xml
[12:23:48 CDT(-0500)] <EricDalquist> looks like maybe just person manager
[12:23:57 CDT(-0500)] <EricDalquist> I thought UserInstanceManager was there as well
[12:23:59 CDT(-0500)] <EricDalquist> maybe not
[12:24:08 CDT(-0500)] <athena> neat (smile)
[12:24:10 CDT(-0500)] <EricDalquist> ah
[12:24:11 CDT(-0500)] <EricDalquist> https://source.jasig.org/uPortal/trunk/uportal-impl/src/main/resources/properties/contexts/locatorContext.xml
[12:24:22 CDT(-0500)] <EricDalquist> <bean id="org.jasig.portal.spring.locator.UserInstanceManagerLocator"
[12:24:22 CDT(-0500)] <EricDalquist> class="org.jasig.portal.spring.locator.UserInstanceManagerLocator">
[12:24:22 CDT(-0500)] <EricDalquist> <constructor-arg index="0" ref="userInstanceManager" />
[12:24:22 CDT(-0500)] <EricDalquist> </bean>
[12:24:36 CDT(-0500)] <EricDalquist> hrm
[12:24:37 CDT(-0500)] <EricDalquist> actually wait
[12:24:41 CDT(-0500)] <EricDalquist> thats not right ...
[12:24:50 CDT(-0500)] <EricDalquist> but that does mean there is a userInstanceManager bean defined *somewhere(
[12:24:53 CDT(-0500)] <athena> it's the IUserIdentityStore i'm looking for
[12:25:03 CDT(-0500)] <athena> though actually i probably need userinstancemanager too
[12:26:07 CDT(-0500)] <athena> i mean i can keep it using the static initialization methods it has now, but good to move things over as we can
[12:26:16 CDT(-0500)] <EricDalquist> yeah
[12:26:22 CDT(-0500)] <EricDalquist> so if a static initializer isn't deprecated
[12:26:28 CDT(-0500)] <EricDalquist> it probably doesn't have a spring bean version
[12:26:32 CDT(-0500)] <EricDalquist> I've been trying to be good about that
[12:26:44 CDT(-0500)] <EricDalquist> as things move mark the old static API deprecated with a comment about using the bean
[12:27:16 CDT(-0500)] <athena> oh great
[12:27:18 CDT(-0500)] <athena> lol
[12:27:24 CDT(-0500)] <athena> is that out today?
[12:27:27 CDT(-0500)] <EricDalquist> yeah
[12:27:32 CDT(-0500)] <athena> awesome! i forgot about that
[12:27:33 CDT(-0500)] <athena> hmmm
[12:27:40 CDT(-0500)] <athena> guess i probably shouldn't try and update until after kris calls
[12:27:45 CDT(-0500)] <EricDalquist> lol
[12:27:46 CDT(-0500)] <EricDalquist> yeah
[12:27:50 CDT(-0500)] <EricDalquist> that could be bad
[12:28:09 CDT(-0500)] <athena> i doubt "i missed your call because i was playing with my iphone because omg a new version came out and it's cool!" would actually go over all that well (tongue)
[12:30:07 CDT(-0500)] <athena> so i'm working on getting yale's pulled fragment patch integrated
[12:30:15 CDT(-0500)] <EricDalquist> great
[12:30:25 CDT(-0500)] <EricDalquist> I saw your comments about the multiple-layout issue
[12:30:30 CDT(-0500)] <athena> ah, yeah
[12:30:58 CDT(-0500)] <athena> andrew and i talked about it for a bit - i mean, really the best thing would be if there were some way to add a fragment at a particular point in the layout
[12:31:06 CDT(-0500)] <EricDalquist> yeah
[12:31:14 CDT(-0500)] <athena> so that someday if we supported nested tabs you could even put it into a particular place
[12:31:22 CDT(-0500)] <EricDalquist> it seems like that should be possible with the way DLM has done things
[12:31:26 CDT(-0500)] <EricDalquist> create a new node type
[12:31:35 CDT(-0500)] <athena> interesting
[12:31:39 CDT(-0500)] <EricDalquist> <dlm:fragment id="sourceId"/>
[12:31:41 CDT(-0500)] <athena> i really don't know enough about it
[12:31:43 CDT(-0500)] <EricDalquist> thats how DLM works right now
[12:31:55 CDT(-0500)] <EricDalquist> it would be a bunch of coding in DLM to get it working
[12:31:58 CDT(-0500)] <athena> yeah
[12:32:09 CDT(-0500)] <athena> and unfortunately i'm not sure i've quite that much time (sad)
[12:32:15 CDT(-0500)] <EricDalquist> but essentially adding a channel in your layout right now is doing that
[12:32:17 CDT(-0500)] <EricDalquist> right
[12:32:19 CDT(-0500)] <EricDalquist> well
[12:32:30 CDT(-0500)] <athena> sounds like a really interesting solution though
[12:32:30 CDT(-0500)] <EricDalquist> possible and doable with the available time are very different things (smile)
[12:32:34 CDT(-0500)] <athena> yeah
[12:32:45 CDT(-0500)] <athena> but it's always nice to be able to do it hte best way possible (smile)
[12:32:50 CDT(-0500)] <EricDalquist> yeah
[12:33:22 CDT(-0500)] <athena> i think i just don't know enough about DLM
[12:33:35 CDT(-0500)] <athena> have a few other potential improvements though
[12:33:55 CDT(-0500)] <athena> right now the code determines which fragments are subscribable by using a spring-configured group
[12:34:03 CDT(-0500)] <EricDalquist> ah
[12:34:23 CDT(-0500)] <athena> but if we change it to use the permissions framework instead of a magic group, we could allow specific users to subscribe to specific tabs, etc.
[12:34:28 CDT(-0500)] <EricDalquist> nice
[12:34:32 CDT(-0500)] <EricDalquist> that would be much better
[12:41:54 CDT(-0500)] <athena> yeah
[12:42:01 CDT(-0500)] <athena> should be a good change
[13:34:32 CDT(-0500)] * jessm (~Jess@c-71-232-3-151.hsd1.ma.comcast.net) has joined ##uportal
[14:41:21 CDT(-0500)] <athena> EricDalquist: do you know if DLM evaluators can use multi-valued attributes?
[14:41:31 CDT(-0500)] <EricDalquist> I doubt it
[14:41:44 CDT(-0500)] <EricDalquist> at least not out of the box
[14:41:54 CDT(-0500)] <EricDalquist> the code can probably get access to the extra attributes
[14:42:32 CDT(-0500)] <athena> ok
[14:42:38 CDT(-0500)] <athena> looks like maybe yale made a change to support that
[14:42:49 CDT(-0500)] <athena> i'll have to ask them for more info - sounds like a potentially useful fix
[14:42:58 CDT(-0500)] <EricDalquist> yeah
[14:50:12 CDT(-0500)] <athena> i assume DLM evaluators probably aren't spring-aware
[14:50:55 CDT(-0500)] <EricDalquist> probably not
[14:51:02 CDT(-0500)] <EricDalquist> which is what those locator beans are for
[14:52:15 CDT(-0500)] <athena> yep
[14:52:21 CDT(-0500)] <athena> figure i'll probably need to create one
[14:52:37 CDT(-0500)] <athena> so yale's implementation has a custom table that records your fragment subscriptions
[14:52:58 CDT(-0500)] <athena> and then they added a person attribute source that reads that table and sets a multi-valued attribute that represents the subscription selections
[14:53:06 CDT(-0500)] <athena> then they configure a person evaluator against it
[14:53:23 CDT(-0500)] <athena> andrew and i were talking about maybe just writing a new DLM evaluator to do a lookup against htat custom API
[14:53:40 CDT(-0500)] <athena> so you wouldn't need to re-configure the person attributes configuration
[14:53:48 CDT(-0500)] <athena> make it a little more targeted
[14:53:50 CDT(-0500)] <EricDalquist> neat
[14:53:51 CDT(-0500)] <EricDalquist> yeah
[14:58:14 CDT(-0500)] <athena> yeah, think that's probably a good plan
[14:58:23 CDT(-0500)] <athena> just have to figure out what hte DLM representation should look like
[14:58:54 CDT(-0500)] <athena> in some ways it almost makes sense not to really have any content
[14:59:10 CDT(-0500)] <athena> and too look at the "ownerID" attribute of the parent node
[16:27:19 CDT(-0500)] <athena> hm
[16:27:28 CDT(-0500)] <athena> EricDalquist: do you have advice on creating locators for JPA DAOs?
[16:27:33 CDT(-0500)] <athena> not sure what the bean name should be
[16:27:50 CDT(-0500)] <EricDalquist> the bean name of the dao?
[16:28:24 CDT(-0500)] <athena> it's auto-wired
[16:28:30 CDT(-0500)] <EricDalquist> ah
[16:28:37 CDT(-0500)] <athena> so the class name is JpaUserFragmentInfoDao
[16:28:39 CDT(-0500)] <EricDalquist> hrm
[16:28:45 CDT(-0500)] <athena> but it doesn't have an explicit bean name
[16:28:48 CDT(-0500)] <EricDalquist> I don't know (tongue)
[16:28:51 CDT(-0500)] <EricDalquist> I know spring assigns one
[16:28:57 CDT(-0500)] <EricDalquist> I can never remember how it does it though
[16:28:59 CDT(-0500)] <athena> i could give it one, but i think we're using an interceptor on all those?
[16:29:03 CDT(-0500)] <EricDalquist> does it have an interface?
[16:29:05 CDT(-0500)] <athena> so it's actually probably something different even?
[16:29:06 CDT(-0500)] <athena> yes
[16:29:17 CDT(-0500)] <EricDalquist> I think it might use a version of the interface name
[16:29:20 CDT(-0500)] <athena> that'd be IUserFragmentInfoDao
[16:29:20 CDT(-0500)] <athena> ah
[16:29:20 CDT(-0500)] <EricDalquist> but I'm not positive
[16:29:25 CDT(-0500)] <EricDalquist> if you turn on debug logging
[16:29:27 CDT(-0500)] <EricDalquist> and start uPortal
[16:29:31 CDT(-0500)] <EricDalquist> you can grep the log for it
[16:29:36 CDT(-0500)] <EricDalquist> hackish
[16:29:40 CDT(-0500)] <EricDalquist> but it should work
[16:29:41 CDT(-0500)] <athena> hm, that's true (smile)
[17:06:20 CDT(-0500)] <athena> heeeey it works!
[17:06:41 CDT(-0500)] <EricDalquist> yay!
[17:07:15 CDT(-0500)] * michelled (~michelled@user152-247.wireless.utoronto.ca) has joined ##uportal
[17:12:46 CDT(-0500)] <athena> ya (smile)
[17:12:53 CDT(-0500)] <athena> so now to start transitioning it to use permissions
[17:13:02 CDT(-0500)] <athena> should be even better in 3.3 w/ permissions (smile)
[17:13:07 CDT(-0500)] <EricDalquist> nice
[17:13:09 CDT(-0500)] <athena> yeah
[17:13:17 CDT(-0500)] <athena> still going to need to backport it for 3.2 though
[17:13:30 CDT(-0500)] <athena> i'm thinking we might just make that available as a patch? it might be kind of a big change to check in
[17:14:17 CDT(-0500)] <EricDalquist> well I guess I'll defer to you a bit on that
[17:14:31 CDT(-0500)] <EricDalquist> my usual thought process is 'will this break existing local modifications'