uPortal IRC Logs-2008-03-04
[09:03:59 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[09:21:28 EST(-0500)] * esm (n=esm@128.220.212.115) has joined ##uportal
[09:33:34 EST(-0500)] * anastasiac (n=anastasi@142.150.154.149) has joined ##uportal
[09:46:59 EST(-0500)] * theclown (n=clown@142.150.154.101) has joined ##uportal
[09:58:34 EST(-0500)] * dstn (n=dstn@unaffiliated/dstn) has joined ##uportal
[11:41:38 EST(-0500)] * athena7 (n=athena7@lumina.its.yale.edu) has joined ##uportal
[11:50:17 EST(-0500)] <EricDalquist> hey there athena7
[11:50:36 EST(-0500)] <EricDalquist> I have uP3 cassified but wanted your input on how to deal with the login link
[11:52:55 EST(-0500)] <athena7> oh, ok
[11:53:13 EST(-0500)] <athena7> i think right now login/logout are hard-coded in security.properties?
[11:53:25 EST(-0500)] <EricDalquist> well I can change the logout link there
[11:53:33 EST(-0500)] <EricDalquist> the loginlink looks like it is specified by the property org.jasig.portal.channels.CLogin.CasLoginUrl
[11:53:37 EST(-0500)] <athena7> yes
[11:53:42 EST(-0500)] <EricDalquist> but I can't find anything in the uPortal code that reads that property
[11:53:54 EST(-0500)] <athena7> ah
[11:54:09 EST(-0500)] <athena7> so, i think it's typical to modify the login channel to use that value
[11:54:15 EST(-0500)] <athena7> that's what yale's done, anyway
[11:54:19 EST(-0500)] <EricDalquist> doing some digging on the lists there are some refrences that this may be a yale customization that isn't in uPortal?
[11:54:20 EST(-0500)] <EricDalquist> ah yeah
[11:54:28 EST(-0500)] <athena7> so rather than the login channel displaying a username/password form
[11:54:35 EST(-0500)] <athena7> it displays a link to the cas login page
[11:54:38 EST(-0500)] <EricDalquist> are your CLogin mods applicable to the default CLogin?
[11:54:54 EST(-0500)] <athena7> we could apply them, i guess
[11:55:05 EST(-0500)] <athena7> although ours has since been modified for a whole host of other reasons
[11:55:39 EST(-0500)] <EricDalquist> I'm just not sure the best way to get the cas login link displaying
[11:55:43 EST(-0500)] <athena7> of course, i don't want to make it so that you can't easily switch over to password login functionality if that's what you want
[11:55:59 EST(-0500)] <EricDalquist> why's that?
[11:56:11 EST(-0500)] <EricDalquist> not that I don't want that either
[11:56:14 EST(-0500)] <athena7> yeah, i don't know of a good way to do it other than adding it to clogin
[11:56:33 EST(-0500)] <athena7> oh i just mean if we replace all the default behavior with cas specific behavior
[11:56:43 EST(-0500)] <athena7> it might be a pain for people who really want to just use local accounts?
[11:57:10 EST(-0500)] <EricDalquist> ah
[11:57:11 EST(-0500)] <EricDalquist> yeah
[11:57:20 EST(-0500)] <EricDalquist> well I was wondering what the nature of your CLogin mods are
[11:57:28 EST(-0500)] <athena7> i can pull up the file, hang on
[11:57:31 EST(-0500)] <athena7> it's pretty simple though
[11:57:38 EST(-0500)] <EricDalquist> it would be nice if it looked for that property and if it isn't there show the default login form
[11:57:58 EST(-0500)] <athena7> yeah actually that sounds like a great idea
[11:58:27 EST(-0500)] <athena7> i was about to ask if there was a good way to test whether the cas security context was one of the ones in use
[11:58:46 EST(-0500)] <athena7> but checking for that value sounds fine as long as we make it clear that people need to comment out that line if they get rid of the cas stuff
[11:59:35 EST(-0500)] <athena7> yeah our mod basically just adds the cas login url to the stylesheet
[11:59:45 EST(-0500)] <athena7> and then we've modified the stylesheet to display that linki
[11:59:54 EST(-0500)] <athena7> is the cas stuff checked into the trunk?
[12:00:30 EST(-0500)] <EricDalquist> not yet since I didn't have a login link working for it
[12:00:33 EST(-0500)] <EricDalquist> I can do that though
[12:00:45 EST(-0500)] <EricDalquist> if you're willing to do the CLogin work (which I would really appreciate)
[12:00:53 EST(-0500)] <athena7> sure, i can do that
[12:01:09 EST(-0500)] <athena7> so it sounds like the best thing to do would be check to see if the value is defined
[12:01:15 EST(-0500)] <athena7> and if it is, add it to the stylesheet
[12:01:27 EST(-0500)] <athena7> then have the stylesheet display the login link, or if there is none, the login form
[12:01:45 EST(-0500)] <EricDalquist> sounds great
[12:01:57 EST(-0500)] <EricDalquist> give me about 10 minutes and I'll ping you when its checked in
[12:02:02 EST(-0500)] <athena7> sure
[12:02:08 EST(-0500)] <athena7> i'm about to go grab some lunch
[12:02:16 EST(-0500)] <athena7> which will take me a half hour or so
[12:02:18 EST(-0500)] <EricDalquist> ok
[12:05:50 EST(-0500)] <athena7> talk to you soon
[12:28:46 EST(-0500)] * colinclark (n=colin@srb-wlan-98.AirBears.Berkeley.EDU) has joined ##uportal
[12:32:37 EST(-0500)] <EricDalquist> ok athena7 I just committed the changes to web.xml and security.properties. I'll be doing some cleanup in both eventually. The jira issue for the work is UP-1955
[12:35:04 EST(-0500)] <athena7> ok, cool
[12:35:38 EST(-0500)] <athena7> should only take me a half hour or so i think
[12:35:55 EST(-0500)] <EricDalquist> great!
[12:36:16 EST(-0500)] <EricDalquist> I'm just finishing up some work with the cernunnos code so it hooks into spring transactions
[12:36:24 EST(-0500)] <EricDalquist> then we should be ready to cut rc2
[12:36:35 EST(-0500)] <athena7> sounds great
[12:39:39 EST(-0500)] <athena7> susan and i went over the list of default layouts this morning, so i'll send an email out about that later
[12:40:59 EST(-0500)] <EricDalquist> cool
[12:41:30 EST(-0500)] <athena7> ok, i think this is right
[12:41:38 EST(-0500)] <athena7> but let me get it all tested both with and without cas
[12:41:46 EST(-0500)] <EricDalquist> ok
[12:42:13 EST(-0500)] <athena7> hmm
[12:43:16 EST(-0500)] <athena7> under this configuration can you still log in using username and password?
[12:43:37 EST(-0500)] <EricDalquist> no
[12:43:40 EST(-0500)] <EricDalquist> it is cas only
[12:43:51 EST(-0500)] <athena7> i think we're going to want to change that
[12:43:53 EST(-0500)] <EricDalquist> so you need to switch security.properties back to local only
[12:44:07 EST(-0500)] <athena7> we use gateway=true in the filter
[12:44:12 EST(-0500)] <athena7> so that we can still log in as local users
[12:44:24 EST(-0500)] <athena7> otherwise i don't think there's a way to edit fragment owners layouts easily
[12:44:34 EST(-0500)] <EricDalquist> ah
[12:44:36 EST(-0500)] <EricDalquist> yeah
[12:44:38 EST(-0500)] <EricDalquist> good point
[12:44:44 EST(-0500)] <athena7> i can make that change if you want
[12:44:54 EST(-0500)] <EricDalquist> we'll make sure to get UWs id-swaper in for 3.1 (that is how we do it)
[12:44:59 EST(-0500)] <EricDalquist> sounds good
[12:45:01 EST(-0500)] <athena7> what's that?
[12:45:27 EST(-0500)] <EricDalquist> we have a hacked login/logout servlet and a portlet that can do user lookups and let you assume another user's identity
[12:45:50 EST(-0500)] <athena7> oh that's great!
[12:45:54 EST(-0500)] <EricDalquist> it essentially does a login and just sets the username via a session attribute (so it isn't remotely exploitable)
[12:46:10 EST(-0500)] <athena7> i know drew wills has done some work with an impersonation portlet too
[12:46:22 EST(-0500)] <EricDalquist> it sticks your original user name in the session so when you log out you revert back to 'you'
[12:46:49 EST(-0500)] <EricDalquist> granted you loose your session between these
[12:46:49 EST(-0500)] <EricDalquist> but there isn't much we can do about that
[12:46:49 EST(-0500)] <athena7> that's still pretty neat
[12:46:54 EST(-0500)] <EricDalquist> yeah
[12:47:01 EST(-0500)] <EricDalquist> and so that is how we edit fragments
[12:47:08 EST(-0500)] <EricDalquist> just su to the fragment owner pretty much
[12:47:11 EST(-0500)] <athena7> i'd talked to drew before about adding impersonation features to the feedback portlet
[12:47:16 EST(-0500)] <EricDalquist> it will be one of the many things we contribute back in 3.1
[12:47:24 EST(-0500)] <athena7> it'd be pretty cool to look at some feedback, then just click a link to see that user's layout
[12:47:32 EST(-0500)] <EricDalquist> yup
[12:47:33 EST(-0500)] <athena7> yea, i like things being contributed back
[12:47:56 EST(-0500)] <athena7> i'd love to take inventory of our code at some point
[12:48:01 EST(-0500)] <athena7> and see what we can contribute back
[12:48:05 EST(-0500)] <athena7> and what we can get rid of
[12:48:09 EST(-0500)] <athena7> the less local mods the better
[12:48:13 EST(-0500)] <EricDalquist> yup
[12:50:54 EST(-0500)] <athena7> getting that patch for instantiating channels by fname under the guest user would be good to get into the trunk at some point
[12:51:05 EST(-0500)] <EricDalquist> yup
[12:51:13 EST(-0500)] <athena7> speaking of guest
[12:51:32 EST(-0500)] <EricDalquist> I think we're going to be using the 3.0 upgrade as the opportunity to move as much of our local stuff into the framework as we can
[12:51:35 EST(-0500)] <athena7> i think i've asked this before, but you don't have any idea how to make the guest user not cache layouts for ever and ever, do you?
[12:51:42 EST(-0500)] <athena7> yeah that sounds like a great plan
[12:51:43 EST(-0500)] <EricDalquist> nope :/
[12:51:46 EST(-0500)] <athena7> i'm hoping we can do the same
[12:51:50 EST(-0500)] <EricDalquist> oh wait
[12:51:53 EST(-0500)] <athena7> ok, i'll have to look at that pretty seriously soon
[12:51:55 EST(-0500)] <EricDalquist> in up3 I think I might
[12:52:06 EST(-0500)] <athena7> lol
[12:52:08 EST(-0500)] <athena7> that's good
[12:52:12 EST(-0500)] <athena7> but i think we'll need it sooner
[12:52:22 EST(-0500)] <EricDalquist> actually in both
[12:52:23 EST(-0500)] <EricDalquist> GuestUserPreferencesManager
[12:52:38 EST(-0500)] <athena7> yes
[12:52:38 EST(-0500)] <EricDalquist> GuestUserPreferencesManager.stateTable actually
[12:52:41 EST(-0500)] <athena7> oh, ok
[12:52:51 EST(-0500)] <EricDalquist> that is just a HashMap
[12:53:00 EST(-0500)] <EricDalquist> that stores the user instance data for ALL GUEST USERS FOREVER
[12:53:05 EST(-0500)] <athena7> ahhh
[12:53:09 EST(-0500)] <athena7> i wondered where it was doing that
[12:53:13 EST(-0500)] <athena7> thanks so much
[12:53:19 EST(-0500)] <EricDalquist> in up3 at least it would be easy enough to switch that Map with one provided by the caching apis
[12:53:24 EST(-0500)] <athena7> if that helps me fix our problems it will totally make our week
[12:53:26 EST(-0500)] <athena7> ah
[12:57:56 EST(-0500)] <athena7> do we also want to add the necessary items in web.xml to enable cas proxy stuff?
[12:58:03 EST(-0500)] <athena7> i'm not sure if it will actually work over non-ssl
[12:58:13 EST(-0500)] <athena7> but it might be good to have there so that people know how to do it
[12:59:12 EST(-0500)] <EricDalquist> yeah
[12:59:14 EST(-0500)] <EricDalquist> that would be good
[12:59:20 EST(-0500)] <athena7> ok, i'll add that in too then
[12:59:22 EST(-0500)] <EricDalquist> I was going to ask if you could give that a shot
[12:59:23 EST(-0500)] <EricDalquist> thanks
[12:59:27 EST(-0500)] <athena7> np
[12:59:58 EST(-0500)] <athena7> argh, i'm a basket of typos today
[13:00:20 EST(-0500)] <EricDalquist>
[13:01:21 EST(-0500)] <athena7> think i'm just thinking about too many things at once
[13:02:22 EST(-0500)] <EricDalquist>
[13:02:24 EST(-0500)] <EricDalquist> meeting time
[13:02:50 EST(-0500)] <athena7> enjoy
[13:02:51 EST(-0500)] <athena7>
[13:13:46 EST(-0500)] * colinclark (n=colin@srb-wlan-98.AirBears.Berkeley.EDU) has joined ##uportal
[13:43:32 EST(-0500)] <athena7> ok, the cas stuff is committed
[13:43:44 EST(-0500)] <athena7> i updated the CLogin stuff as we discussed
[13:43:56 EST(-0500)] <EricDalquist> wonderful!
[13:44:03 EST(-0500)] <athena7> added the necessary items to web.xml to do proxy cas, although i don't expect that it will actually work without ssl
[13:44:09 EST(-0500)] <athena7> unless andrew did something to change that too
[13:44:34 EST(-0500)] <EricDalquist> he may have
[13:44:41 EST(-0500)] <EricDalquist> you like the new init param?
[13:44:48 EST(-0500)] <EricDalquist> Andrew named that one
[13:45:09 EST(-0500)] <athena7> and also changed security.properties to use the union security context to include the simple connection context and added gateway=true to web.xml so people can still log in with a local username and password if you use the right URL
[13:45:10 EST(-0500)] <athena7> yes
[13:45:11 EST(-0500)] <athena7> i love it
[13:45:14 EST(-0500)] <athena7> it made me laugh
[13:45:16 EST(-0500)] <athena7> it's so andrew
[13:45:16 EST(-0500)] <athena7>
[13:45:45 EST(-0500)] <athena7> i love the name
[13:45:48 EST(-0500)] <athena7> and the value's even better
[13:45:54 EST(-0500)] <athena7> it's not just "true" or anything like that
[13:48:06 EST(-0500)] * colinclark (n=colin@srb-wlan-98.AirBears.Berkeley.EDU) has joined ##uportal
[13:50:58 EST(-0500)] <athena7> it's up on our whiteboard now
[13:51:57 EST(-0500)] <EricDalquist> lol
[13:51:59 EST(-0500)] <EricDalquist> nice
[13:55:20 EST(-0500)] <athena7> let me know if that all works for you
[13:55:23 EST(-0500)] <athena7> i think it should be set
[13:56:31 EST(-0500)] <EricDalquist> will do, I'll give it a try
[13:57:07 EST(-0500)] <EricDalquist> it would be neat to eventually (3.0.1?) have a simple cas protected app deployed with uportal with a sample proxy auth connection
[13:57:39 EST(-0500)] <athena7> yes, provided we discover that changes allow us to actually use the proxy auth stuff without ssl
[13:57:57 EST(-0500)] <athena7> but it would be pretty cool to have a casified proxy portlet or something like that
[13:59:25 EST(-0500)] <athena7> if we included the calendar portlet someday, that also happily eats up casified ical feeds
[13:59:34 EST(-0500)] <EricDalquist> mmm
[13:59:44 EST(-0500)] <athena7> authentication is tasty?
[13:59:51 EST(-0500)] <EricDalquist> additional portlets will be a big part of 3.1 I think
[13:59:58 EST(-0500)] <athena7> yes, i'm hoping so
[14:00:17 EST(-0500)] <EricDalquist> get calendar, email, web proxy and as many others as we can find
[14:00:17 EST(-0500)] <athena7> i put the weather portlet up on our test server yesterday
[14:00:17 EST(-0500)] <athena7> it's very shiny! i like it
[14:00:23 EST(-0500)] <athena7> yeah that'd be great
[14:00:32 EST(-0500)] <EricDalquist> now that pulling them in is mainly a matter of maven config it is a lot easier to manage than channels were
[14:00:41 EST(-0500)] <athena7> yeah
[14:01:14 EST(-0500)] <athena7> list of unresolved issues for rc2 looks pretty short
[14:01:19 EST(-0500)] <EricDalquist> yup
[14:01:32 EST(-0500)] <EricDalquist> getting very short
[14:01:41 EST(-0500)] <athena7> that's great
[14:02:53 EST(-0500)] <EricDalquist> really just have this cernunnos thing to finish up with drew today
[14:03:50 EST(-0500)] <athena7> sounds great
[14:04:53 EST(-0500)] <athena7> oh, changing the login form to just a link hides some of the nice background image
[14:06:49 EST(-0500)] <EricDalquist> hrm
[14:06:54 EST(-0500)] <EricDalquist> we'll have to run that by gary
[14:06:55 EST(-0500)] <EricDalquist> oh
[14:07:08 EST(-0500)] <EricDalquist> could you create a jira issue for the channel manager link permisisions issue?
[14:07:12 EST(-0500)] <athena7> maybe we could set like a min-height on it or osmething
[14:07:13 EST(-0500)] <EricDalquist> I don't want to forget it
[14:07:13 EST(-0500)] <athena7> sure
[14:07:26 EST(-0500)] <athena7> yeah, that would be good to get fixed
[14:09:17 EST(-0500)] <athena7> done
[14:15:27 EST(-0500)] * michelled (n=team@142.150.154.199) has joined ##uportal
[14:22:56 EST(-0500)] * theclown (n=clown@142.150.154.101) has joined ##uportal
[14:30:10 EST(-0500)] * michelled (n=team@142.150.154.199) has joined ##uportal
[14:31:55 EST(-0500)] <EricDalquist> anyone know if the i18n-db xml files are even remotely up to date?
[15:44:14 EST(-0500)] * theclown_ (n=clown@guiseppi.atrc.utoronto.ca) has joined ##uportal
[16:05:51 EST(-0500)] * colinclark (n=colin@srb-wlan-21.AirBears.Berkeley.EDU) has joined ##uportal
[16:39:04 EST(-0500)] * theclown (n=clown@guiseppi.atrc.utoronto.ca) has left ##uportal
[16:53:25 EST(-0500)] * awills (n=awills@12.164.136.183) has joined ##uportal
[17:04:46 EST(-0500)] * esm (n=esm@128.220.212.115) has joined ##uportal
[17:27:30 EST(-0500)] * esm (n=esm@128.220.212.115) has joined ##uportal
[17:34:53 EST(-0500)] * jayshao (n=jayshao@campuseai.expedient.com) has joined ##uportal
[17:54:35 EST(-0500)] * EiNZTEiN (n=einztein@205.241.143.4) has joined ##uportal
[17:56:44 EST(-0500)] <dstn> Has anyone ever had issues with Channel Manager timing out a lot?
[17:56:56 EST(-0500)] <EricDalquist> with lots of channels published in it?
[17:57:04 EST(-0500)] <EricDalquist> or in a fairly stock uportal?
[17:57:18 EST(-0500)] <awills> or with lots of users in the Everyone group?
[17:57:26 EST(-0500)] <dstn> They're mainly portlets we've deployed. There are not too many, probably about 15
[17:57:59 EST(-0500)] <dstn> Ya, there are a lot of users in the everyone group
[17:58:02 EST(-0500)] <EricDalquist> ah yeah, lots of users in the everyone group would do it
[17:58:07 EST(-0500)] <awills> bingo!
[17:58:22 EST(-0500)] <EricDalquist> there was a misconfig back in some version of uportal and the default template user was in the everyone group
[17:58:24 EST(-0500)] <awills> perhaps is your template user in the Everyone group?
[17:58:33 EST(-0500)] <EricDalquist> so every user that registered was put in the everyone grou[
[17:58:40 EST(-0500)] <EricDalquist> and this is very very bad for performance
[17:59:01 EST(-0500)] <awills> yes... it's not a sustainable practice
[17:59:02 EST(-0500)] <dstn> Yes, various template users are in the everyone group.
[17:59:03 EST(-0500)] <EricDalquist> awills: I'm doing some .. well serious ... refactoring of the cernunnos SQL code as a proof-of-concept
[17:59:18 EST(-0500)] <awills> awesome, bring it on
[17:59:28 EST(-0500)] <EricDalquist> there is no more open connection task
[17:59:31 EST(-0500)] <dstn> well...layout users I mean
[17:59:39 EST(-0500)] <EricDalquist> and everything is done using Springs JdbcTemplate and callback style
[17:59:42 EST(-0500)] <EricDalquist> ah
[17:59:45 EST(-0500)] <EricDalquist> layout users are ok
[17:59:53 EST(-0500)] <EricDalquist> the user you are worried about is the default fragment user
[17:59:58 EST(-0500)] <EricDalquist> as defined in portal.properties
[18:00:04 EST(-0500)] <EricDalquist> that user should not be in the everyone group
[18:00:14 EST(-0500)] <EricDalquist> and very likely none of your users need to be in the everyone group
[18:00:15 EST(-0500)] <awills> *default template user
[18:00:23 EST(-0500)] <EricDalquist> thanks awills
[18:00:24 EST(-0500)] <dstn> Let me check
[18:00:47 EST(-0500)] <EricDalquist> btw I like the naming of upsert
[18:00:54 EST(-0500)] <awills> cool, tyvm
[18:01:38 EST(-0500)] <awills> it's a nice example of something complex you need to do commonly, that can be implemented as a Task smoothly (imho)
[18:02:19 EST(-0500)] <EricDalquist> yup
[18:02:27 EST(-0500)] <awills> UPSERT is actually a supported statement in some RDBMS... but you probably knew that
[18:02:40 EST(-0500)] <EricDalquist> I'm going to try to head home by 5:30 I'm going to see if I can post a diff to the cernunnos list before I go
[18:02:48 EST(-0500)] <awills> cool
[18:05:15 EST(-0500)] * jayshao (n=jayshao@207.54.140.87) has joined ##uportal
[18:11:50 EST(-0500)] * colinclark (n=colin@srb-wlan-21.AirBears.Berkeley.EDU) has joined ##uportal
[18:14:55 EST(-0500)] <EricDalquist> ok, patch sent along with an explination
[18:15:11 EST(-0500)] <EricDalquist> I'll be here for about 10 more minutes but will be on email later tonight
[18:22:28 EST(-0500)] * jayshao (n=jayshao@66.94.87.210) has joined ##uportal
[18:22:41 EST(-0500)] <dstn> So the defaulttemplate user is the everyone group too
[18:22:45 EST(-0500)] * colinclark (n=colin@srb-wlan-21.AirBears.Berkeley.EDU) has joined ##uportal
[18:23:06 EST(-0500)] <dstn> I guess we misunderstood the concept...isn't everyone supposed to contain "everyone"
[18:23:50 EST(-0500)] <awills> yes, (almost) certainly... but it's better to do this is w/ PAGS groups
[18:24:10 EST(-0500)] <awills> create PAGS groups that contain your actual users, for the most part
[18:27:00 EST(-0500)] <dstn> We have sub-sub-groups of everyone that are PAGS groups...but they're still contained in everyone since we thought it was "everyone". Do you think its going to be messy to fix?
[18:27:55 EST(-0500)] <awills> the membership records are only 1 table... shouldn't be too hard
[18:29:18 EST(-0500)] <dstn> ok, thanks for your help!
[18:29:40 EST(-0500)] <awills> something like: DELETE FROM group_membership WHERE group_id = 0 AND member_is_group = 'F'
[18:30:13 EST(-0500)] <awills> please do check into the details and perform due dilligence before running it
[18:30:41 EST(-0500)] <awills> that will delete the membership record of your template user as well... preventing the issue in the future
[18:31:15 EST(-0500)] <awills> you should do it with the portal down... and be sure you won't break any SUBSCRIBE permissions, etc
[18:31:20 EST(-0500)] <dstn> ya...lol...we'll do it on a pre instance in case we mess it up
[18:31:49 EST(-0500)] <awills> basically make sure your users are (deep) members of Everyone even w/ these records removed
[18:32:08 EST(-0500)] <awills> then you're probably good
[18:34:04 EST(-0500)] <dstn> ok, thanks for the pointers
[18:34:27 EST(-0500)] <awills> yw, hope it comes together smoothly
[18:34:28 EST(-0500)] <jayshao> awills upsert vs merge?
[18:34:51 EST(-0500)] <awills> heya jayshao... you mean the name?
[18:35:35 EST(-0500)] <jayshao> yeah
[18:35:54 EST(-0500)] <jayshao> though admittedly had to check to see if merge was really what the SQL spec called it or some Oracle thing
[18:37:01 EST(-0500)] <awills> been a while since i looked at it... does oracle support UPSERT?
[18:37:41 EST(-0500)] <jayshao> dunno, haven't used a version that didn't support MERGE, so generally tried to use the standard syntax
[18:38:13 EST(-0500)] <jayshao> hmmm... a quick google doesn't show it used officially
[18:42:47 EST(-0500)] <awills> you probably already looked at this (wikipedia on upsert): http://en.wikipedia.org/wiki/Upsert
[18:43:47 EST(-0500)] <awills> the UpsertTask implements the UPSERT/MERGE operation in Java code, using (generally) lowest-common-denominator SQL
[18:44:07 EST(-0500)] <awills> so it's easy to port around to different RDBMS
[18:44:40 EST(-0500)] <jayshao> yeah, it's nifty. just getting pedantic I guess. I had to google the upsert reference
[18:44:50 EST(-0500)] <jayshao> haven't actually been a DBA enough to know if that's the slang
[18:44:52 EST(-0500)] <jayshao>
[18:45:11 EST(-0500)] <jayshao> whereas merge I would have probably guessed correctly off the bat
[18:45:15 EST(-0500)] <awills> lol, i ran into the term "in the field"
[18:45:59 EST(-0500)] <awills> can't you guess the function of UPSERT? seems pretty blatent
[18:46:57 EST(-0500)] <jayshao> well, either google is really engrained...
[18:47:01 EST(-0500)] <jayshao> or I'm just slow today
[18:47:27 EST(-0500)] <jayshao> maybe both. UPSERT is certainly cuter
[18:49:19 EST(-0500)] * colinclark (n=colin@srb-wlan-21.AirBears.Berkeley.EDU) has joined ##uportal
[18:49:21 EST(-0500)] <jayshao> so the import/export progress looks sexy as all get out
[18:50:00 EST(-0500)] <awills> tyvm, always nice to hear that I'm not the only one happy with it
[18:51:18 EST(-0500)] <awills> we're doing very cool things pushing entities through dev/test/prod using Import/Export at JHU, Yale, and Colorado
[18:51:41 EST(-0500)] <dstn> awills, the delete from up_group_member seems to have fixed the problem
[18:52:06 EST(-0500)] <awills> nice, that's cool
[18:52:12 EST(-0500)] <dstn> much faster loading the channel manager
[18:52:23 EST(-0500)] <dstn> and everything appears as normal
[18:52:52 EST(-0500)] <awills> in 2006 I personally introduced this issue into my.CalPoly
[18:53:06 EST(-0500)] <awills> when we upgraded to 2.5.3
[18:54:11 EST(-0500)] <jayshao> human readable XML serialization rocks
[18:54:17 EST(-0500)] <awills> we got to the bottom of it pretty quickly though
[18:54:29 EST(-0500)] <jayshao> I've gotten burned by the template user bits too
[18:54:38 EST(-0500)] <awills> i think so... so much nicer than 20k+ lines of data.xml
[18:54:49 EST(-0500)] * apetro_LD830_ubu (n=apetro_L@uni1.unicon.net) has joined ##uportal
[18:54:51 EST(-0500)] <jayshao> did we go ahead and do Cris's magic to prune them out in 3.0?
[18:54:58 EST(-0500)] <jayshao> most anything is better than data.xml
[18:55:03 EST(-0500)] <jayshao> much more mergable too
[18:55:06 EST(-0500)] <apetro_LD830_ubu> the i18n-db xml files are not even remotely up to date, no
[18:55:24 EST(-0500)] <dstn> good to hear we're not the only ones ... he he
[18:56:30 EST(-0500)] <awills> data.xml is much smaller... could go smaller still by leveraging the crn XML authored by athena7 to its full extent
[18:57:05 EST(-0500)] <awills> she implemented entityTypes/structures/themes/channelTypes
[18:57:44 EST(-0500)] <awills> but those rows are still in data.xml... not externalized to individual XML docs... not as yet, anyway
[18:58:43 EST(-0500)] * dstn (n=dstn@unaffiliated/dstn) has left ##uportal
[19:04:58 EST(-0500)] * athena7 (n=athena7@c-24-2-189-230.hsd1.ct.comcast.net) has joined ##uportal
[19:06:06 EST(-0500)] <awills> speak of the devil how are you athena7?
[19:06:17 EST(-0500)] <athena7> are my horns showing?
[19:06:17 EST(-0500)] <athena7> ok
[19:06:22 EST(-0500)] <athena7> just got home from the gym
[19:06:34 EST(-0500)] <awills> (16:56:29) awills: data.xml is much smaller... could go smaller still by leveraging the crn XML authored by athena7 to its full extent
[19:06:48 EST(-0500)] <athena7> which one is that?
[19:07:00 EST(-0500)] <awills> (16:57:05) awills: she implemented entityTypes/structures/themes/channelTypes
[19:07:10 EST(-0500)] <athena7> ah ok
[19:07:10 EST(-0500)] <athena7> yeah
[19:07:23 EST(-0500)] <athena7> migrating those eventually would be nice
[19:21:15 EST(-0500)] * esm (n=esm@207-53-192-110.dynamic-dsl.qis.net) has joined ##uportal
[19:22:20 EST(-0500)] <jayshao> you have horns? really?
[19:22:47 EST(-0500)] <jayshao> that's what JA-SIG conference need – costume parties
[19:23:26 EST(-0500)] <athena7> lol
[19:23:31 EST(-0500)] <athena7> i'm not sure i agree
[19:23:57 EST(-0500)] <athena7> we'd probably wind up with people dressed up as obscure programming concepts or something
[19:24:30 EST(-0500)] <jayshao> hey...
[19:24:40 EST(-0500)] <jayshao> recursion sounded perfectly reasonable at the time...
[19:24:43 EST(-0500)] <awills> i'll be an "abstract factory" – think of it as UAW meets picaso
[19:24:56 EST(-0500)] <athena7> lol
[19:25:15 EST(-0500)] <jayshao> awills you're out of control
[19:25:56 EST(-0500)] <athena7> see what i mean?
[19:28:04 EST(-0500)] <apetro_LD830_ubu> I get to be a closure
[19:36:20 EST(-0500)] <jayshao> apetro_LD830_ubu but then only you would get to see your context?
[19:36:27 EST(-0500)] <jayshao> is that like the emperor's new clothes?
[19:37:08 EST(-0500)] <apetro_LD830_ubu> I seem to have trouble conveying context, so it would fit
[19:40:14 EST(-0500)] <awills> laters
[20:39:10 EST(-0500)] * esm_ (n=esm@207-53-192-110.dynamic-dsl.qis.net) has joined ##uportal
[21:09:45 EST(-0500)] * ChanServ (ChanServ@services.) has joined ##uportal
[21:09:45 EST(-0500)] * EiNZTEiN (n=einztein@205.241.143.4) has joined ##uportal
[21:10:20 EST(-0500)] * apetro_LD830_ubu (n=apetro_L@uni1.unicon.net) has joined ##uportal
[21:10:20 EST(-0500)] * jayshao (n=jayshao@66.94.87.210) has joined ##uportal
[21:10:20 EST(-0500)] * sysadmin (n=sysadmin@82.109.29.194) has joined ##uportal
[21:28:28 EST(-0500)] * EiNZTEiN (n=einztein@205.241.143.4) has joined ##uportal
[21:48:11 EST(-0500)] * esm (n=esm@207-53-192-125.dynamic-dsl.qis.net) has joined ##uportal
[23:27:51 EST(-0500)] * colinclark (n=colin@adsl-69-110-30-151.dsl.pltn13.pacbell.net) has joined ##uportal
[23:30:45 EST(-0500)] * EiNZTEiN (n=einztein@205.241.143.4) has joined ##uportal
[23:30:45 EST(-0500)] * apetro_LD830_ubu (n=apetro_L@uni1.unicon.net) has joined ##uportal