uPortal IRC Logs-2008-12-02

[03:37:49 EST(-0500)] * higmad (n=chatzill@pcit-8752.hig.se) has joined ##uportal
[08:08:22 EST(-0500)] * jessm (n=Jess@c-24-34-214-137.hsd1.ma.comcast.net) has joined ##uportal
[08:54:58 EST(-0500)] * colinclark (n=colin@bas1-toronto09-1279621226.dsl.bell.ca) has joined ##uportal
[09:17:14 EST(-0500)] * athena7 (n=athena7@99.162.190.42) has joined ##uportal
[09:25:04 EST(-0500)] * lennard1 (n=sparhk@ip68-98-56-21.ph.ph.cox.net) has left ##uportal
[09:52:48 EST(-0500)] * colinclark (n=colin@bas1-toronto09-1279621226.dsl.bell.ca) has joined ##uportal
[09:53:44 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[09:58:06 EST(-0500)] * lennard1 (n=sparhk@wsip-98-174-242-39.ph.ph.cox.net) has joined ##uportal
[10:14:04 EST(-0500)] * athena7 (n=athena7@adsl-99-167-105-26.dsl.wlfrct.sbcglobal.net) has joined ##uportal
[10:16:48 EST(-0500)] <athena7> EricDalquist: i had a few questions about the way some of the import/export stuff in uportal 3.x is arranged
[10:16:51 EST(-0500)] * michelled (n=team@142.150.154.197) has joined ##uportal
[10:17:14 EST(-0500)] <EricDalquist> in 3.1 or 3.0?
[10:17:22 EST(-0500)] <EricDalquist> the 3.1 stuff is still a bit in flux
[10:17:40 EST(-0500)] <athena7> well, i'm looking at trunk, but it's as of 3.0, i believe
[10:18:01 EST(-0500)] <athena7> i'd really like to be able to automatically set up user agent mappings for multiple profiles, now that we have some mobile themes, etc.
[10:18:13 EST(-0500)] <athena7> but that requires the import/export to support multiple profiles, which of course it doesn't right now
[10:18:43 EST(-0500)] <EricDalquist> yup
[10:18:53 EST(-0500)] <EricDalquist> we had talked about this before I think ....
[10:18:58 EST(-0500)] <athena7> briefly, yes
[10:19:02 EST(-0500)] <EricDalquist> can't remember where that conversation went to
[10:19:07 EST(-0500)] <athena7> not too far
[10:19:10 EST(-0500)] <athena7> i don't think
[10:19:21 EST(-0500)] <athena7> i was looking at some of the files yesterday
[10:19:34 EST(-0500)] <athena7> wondered why the user profile stuff moved from the user to the layout
[10:20:06 EST(-0500)] <EricDalquist> because you don;'t have to have a profile to be in UP_USER
[10:20:13 EST(-0500)] <EricDalquist> but you have to have a profile to have a layout
[10:20:20 EST(-0500)] <athena7> oh i see
[10:20:20 EST(-0500)] <EricDalquist> so having profile in user requried two files to import a layout
[10:20:27 EST(-0500)] <athena7> right
[10:20:28 EST(-0500)] <EricDalquist> and importing just a user would break that user
[10:20:57 EST(-0500)] <athena7> yeah that makes sense
[10:21:22 EST(-0500)] <athena7> i was trying to figure out the relationship between layouts and profiles
[10:21:37 EST(-0500)] <athena7> it seems like it would be legal to have two profiles associated with one layout
[10:22:18 EST(-0500)] <EricDalquist> yes
[10:22:21 EST(-0500)] <EricDalquist> it is quite complex
[10:22:34 EST(-0500)] <EricDalquist> one user can have N profiles
[10:22:45 EST(-0500)] <EricDalquist> each profile can point to one layout
[10:22:52 EST(-0500)] <EricDalquist> but multiple profiles can point to a single layout
[10:23:23 EST(-0500)] <EricDalquist> so how do you do that in entity files without creating a .profile entity
[10:23:33 EST(-0500)] <EricDalquist> which is overkill for 99% of the uportal installs
[10:23:49 EST(-0500)] <EricDalquist> this is the problem we're going to continue to have with these
[10:23:54 EST(-0500)] <EricDalquist> the uPortal DB is VERY flexible
[10:24:06 EST(-0500)] <EricDalquist> but we want the entity files to be editable by a human
[10:24:23 EST(-0500)] <EricDalquist> another case of this is Illinois wanting a more general structure for .layout files
[10:24:37 EST(-0500)] <EricDalquist> well the portal DB just has layout/folder/channel
[10:24:42 EST(-0500)] <EricDalquist> with any number of folders
[10:24:57 EST(-0500)] <EricDalquist> the structure XSL is what makes it into something we recognize
[10:25:09 EST(-0500)] <EricDalquist> so do we start doing the same format for .layout files?
[10:25:12 EST(-0500)] <EricDalquist> it would be more flexible
[10:25:17 EST(-0500)] <EricDalquist> but it would be harder to edit by hand
[10:28:55 EST(-0500)] <athena7> yeah that all makes sense
[10:29:03 EST(-0500)] <athena7> and i know in the past supporting that really was overkill
[10:29:10 EST(-0500)] <athena7> the problem is that we have a real use case for it now
[10:29:33 EST(-0500)] <EricDalquist> (smile)
[10:29:34 EST(-0500)] <athena7> the multiple profiles anyway, i mean
[10:29:36 EST(-0500)] <EricDalquist> of course
[10:29:51 EST(-0500)] <EricDalquist> so the question is do we go all out and support multiple profiles for a single layout
[10:30:07 EST(-0500)] <EricDalquist> which ... well I guess could still be done in a single .layout file
[10:30:17 EST(-0500)] <EricDalquist> just allow multiple <profile> stanzas in the file
[10:30:46 EST(-0500)] <athena7> yeah i'd kind of wondered if that would be a possibility
[10:31:08 EST(-0500)] <athena7> i don't think it's possible to have one profile use two layouts, right?
[10:32:10 EST(-0500)] <athena7> if we used a strategy like that, would we need to include the user-agent mappings inside those profiles as well?
[10:32:54 EST(-0500)] <EricDalquist> brb
[10:33:48 EST(-0500)] * anastasiac (n=team@142.150.154.160) has joined ##uportal
[11:11:31 EST(-0500)] * mrogers (n=mrogers@cabinlake.cc.umanitoba.ca) has joined ##uportal
[11:28:34 EST(-0500)] <athena7> ok i have a ridiculous question
[11:28:44 EST(-0500)] <athena7> i don't actually know how to add users in uportal through the GUI
[11:28:51 EST(-0500)] <athena7> i assume that has to be possible though, right?
[11:29:35 EST(-0500)] <EricDalquist> I think you can through the password channel
[11:29:38 EST(-0500)] <EricDalquist> if you're an admin
[11:32:01 EST(-0500)] <athena7> hm, that's what i thought
[11:32:18 EST(-0500)] <athena7> all i see now though is "fetch", "search", and "cancel"
[11:34:13 EST(-0500)] <athena7> did something change as of 3.0.x or am i just missing something?
[11:34:25 EST(-0500)] <EricDalquist> I don't know
[11:34:29 EST(-0500)] <EricDalquist> I don't think that code changed at all
[11:36:33 EST(-0500)] <athena7> hm i didn't think so either
[11:41:40 EST(-0500)] <athena7> any recommendations? do i need to just give up and add them to the up_person_dir?
[11:42:24 EST(-0500)] <EricDalquist> I guess :?
[12:10:34 EST(-0500)] <athena7> aright, maybe i'll just try that
[12:10:42 EST(-0500)] <athena7> when i have time i'll look into why i can't create users
[12:11:19 EST(-0500)] <athena7> i am willing to put some time into the import/export issues if we know which way we want to go strategy-wise
[12:11:56 EST(-0500)] <athena7> would it make sense to try out the multiple profile stanzas and see how it works?
[12:12:30 EST(-0500)] <athena7> the one issue i can think of is that it might sometimes be confusing, since you'd need to update the same profile twice in two layout files if you had two layouts referencing the same profile
[12:12:53 EST(-0500)] <EricDalquist> I think multiple profile stanzas in a single layout is our best bet
[12:13:08 EST(-0500)] <EricDalquist> I don't think you can do that
[12:13:15 EST(-0500)] <EricDalquist> I think you can have two profiles to one layout
[12:13:18 EST(-0500)] <EricDalquist> but not the other way around
[12:13:23 EST(-0500)] <EricDalquist> but I'm not 100% there
[12:17:22 EST(-0500)] <athena7> yeah i think that's correct
[12:17:35 EST(-0500)] <athena7> looking at the database, it doesn't make sense to have 2 layouts to one profile
[12:17:54 EST(-0500)] <EricDalquist> yeah, there would be no way to determine which one to use
[12:17:59 EST(-0500)] <athena7> right
[12:18:10 EST(-0500)] <athena7> so do you think the user-agent mappings should be in a separate file, or just include them in the profile stanza?
[12:18:25 EST(-0500)] <athena7> i think including them there would work, and potentially cut down on the number of extra files we need
[12:19:09 EST(-0500)] <EricDalquist> hrm
[12:19:24 EST(-0500)] <EricDalquist> well for initial portal setup in the profile stanza would work
[12:19:42 EST(-0500)] <EricDalquist> but what if you do an export and want to modify 100k layouts?
[12:20:17 EST(-0500)] <athena7> yeah
[12:20:38 EST(-0500)] <athena7> you'd potentially need at least some of that data to be exported and re-imported though
[12:21:05 EST(-0500)] <athena7> if the profiles are deleted and recreated even on just and update, the associated mappings would be lost
[12:21:27 EST(-0500)] <EricDalquist> yes
[12:21:48 EST(-0500)] <EricDalquist> right now where do user-agent to profile mappings live?
[12:21:53 EST(-0500)] <EricDalquist> isn't it already just in a flat file?
[12:22:05 EST(-0500)] <athena7> up_user_ua_map
[12:22:06 EST(-0500)] <athena7> no
[12:22:20 EST(-0500)] <athena7> db table
[12:22:27 EST(-0500)] <EricDalquist> ah
[12:22:41 EST(-0500)] <athena7> and the mappings are keyed by userid and profile id
[12:22:48 EST(-0500)] <EricDalquist> oh ok
[12:22:50 EST(-0500)] <EricDalquist> so they are per user
[12:22:53 EST(-0500)] <athena7> yes
[12:22:53 EST(-0500)] <EricDalquist> then yes
[12:23:04 EST(-0500)] <EricDalquist> it would make sense to embed them in the profile
[12:23:53 EST(-0500)] <athena7> ok
[12:23:57 EST(-0500)] <athena7> let me look at the production database
[12:27:01 EST(-0500)] <athena7> yeah, looks like plenty of entries for the system user, then a few for other users that have actually used alternate profiles
[12:32:40 EST(-0500)] <athena7> hm, really kind of seems like you only really need them for the system user
[12:41:10 EST(-0500)] <athena7> anyway, maybe i'll just run all this by drew and see if he has thoughts
[12:45:34 EST(-0500)] * colinclark (n=colin@142.150.154.101) has joined ##uportal
[13:12:28 EST(-0500)] <EricDalquist> well the system user is the magic hardcoded user
[13:12:38 EST(-0500)] <EricDalquist> the portal seems to look to it for defaults if they can't be found anywhere else
[14:18:15 EST(-0500)] <athena7> yeah
[14:18:52 EST(-0500)] <athena7> speaking of defaults, we may run into some issues with user agents that aren't mapped
[14:19:19 EST(-0500)] <athena7> don't know if it just currently assumes profileId=1
[14:19:55 EST(-0500)] <EricDalquist> that is just in a flat file in /properties right?
[14:25:28 EST(-0500)] * jessm (n=Jess@c-24-34-214-137.hsd1.ma.comcast.net) has joined ##uportal
[14:29:56 EST(-0500)] <athena7> not sure
[14:30:48 EST(-0500)] <EricDalquist> yeah
[14:30:51 EST(-0500)] <EricDalquist> browser.mappings
[14:31:06 EST(-0500)] <EricDalquist> but it does map directly to a synthetic id (sad)
[14:35:10 EST(-0500)] <athena7> a
[14:35:11 EST(-0500)] <athena7> h
[14:35:11 EST(-0500)] <athena7> ok
[14:37:28 EST(-0500)] <athena7> actually to be honest that's better than i feared
[14:37:47 EST(-0500)] <EricDalquist> yeah at least it isn't hard coded (wink)
[14:37:55 EST(-0500)] <athena7> yeah
[14:37:56 EST(-0500)] <EricDalquist> and you could possibly include that file in import/export
[14:38:02 EST(-0500)] <EricDalquist> do some tokenization of it
[14:38:04 EST(-0500)] <athena7> yeah
[14:41:39 EST(-0500)] <athena7> the bigger problem is that it looks like for that to work the profile ids need to be the same across all the users
[14:43:04 EST(-0500)] <EricDalquist> yup
[14:43:23 EST(-0500)] <EricDalquist> well
[14:43:37 EST(-0500)] <EricDalquist> I think that is only consulted if the user doesn't have an explict profile mapping?
[14:47:32 EST(-0500)] <athena7> i think so
[16:38:46 EST(-0500)] * colinclark (n=colin@142.150.154.101) has joined ##uportal
[16:44:30 EST(-0500)] <athena7> so oddly enough, i think i've discovered that when LDAP users log in and their new profile is created, the structure and theme id values are never added in to the up_user_profile table
[16:44:44 EST(-0500)] <EricDalquist> correct
[16:44:50 EST(-0500)] <EricDalquist> the wouldn't be until they modify their layout
[16:44:51 EST(-0500)] <athena7> wow, really? is that by design?
[16:44:54 EST(-0500)] <EricDalquist> yup
[16:45:02 EST(-0500)] <EricDalquist> look at the default import-user in 3.0/trunk
[16:45:03 EST(-0500)] <athena7> no when i modify the table the layout id gets filled in
[16:45:09 EST(-0500)] <athena7> sturcture and theme never do
[16:45:29 EST(-0500)] <EricDalquist> when you modify the layout?
[16:45:34 EST(-0500)] <athena7> yeah
[16:45:38 EST(-0500)] <EricDalquist> huh
[16:46:32 EST(-0500)] <athena7> yeah
[16:46:41 EST(-0500)] <athena7> i don't know why it's doing that
[16:46:48 EST(-0500)] <EricDalquist> so much of that older DAO code is a black box
[16:46:59 EST(-0500)] <athena7> i'm not entirely sure how it's actually managing to work right either - maybe it's managing to pick it up from the defaults
[16:47:00 EST(-0500)] <athena7> yeah
[16:47:05 EST(-0500)] <athena7> it is to me too
[16:47:13 EST(-0500)] <athena7> i wouldn't even know who to ask at this point
[16:47:19 EST(-0500)] <EricDalquist> heh
[16:47:33 EST(-0500)] <EricDalquist> your best bet is probably to dig into the code (tongue)
[16:47:38 EST(-0500)] <athena7> mark boyd might be the only one who ever knew some of this stuff
[16:47:42 EST(-0500)] <athena7> yeah i'll likely need to
[16:48:06 EST(-0500)] <athena7> lots and lots of code, sadly
[16:48:16 EST(-0500)] <athena7> i also still can't fix that postgres issue, which is driving me insane
[16:48:31 EST(-0500)] <EricDalquist> (sad)
[16:48:41 EST(-0500)] <athena7> from googling it, it seems to be triggered when a command fails and the transaction is rolled back, then continued with
[16:48:53 EST(-0500)] <athena7> i don't know if there's something going on in the spring/hibernate JPA code
[16:49:19 EST(-0500)] <athena7> or whether it's somehow a result of using the groovy JPA code within a cernunnons already-used sql-transaction block
[16:50:33 EST(-0500)] <EricDalquist> and if there is a root rollback it would be good to know what caused it
[16:51:32 EST(-0500)] <athena7> yeah
[16:51:56 EST(-0500)] <athena7> i don't really know if there is or not, but that seems to be the usual cause of the postgres error it throws
[17:07:30 EST(-0500)] * lennard2 (n=sparhk@wsip-98-174-242-39.ph.ph.cox.net) has joined ##uportal
[17:34:27 EST(-0500)] <athena7> ok, i don't think the code currently really completely even supports multiple layouts for a single user
[17:35:11 EST(-0500)] <athena7> i'm sure it means to, but i don't think there's any way RDBMUserLayoutStore would actually wind up successfully creating two new layouts
[17:37:16 EST(-0500)] <athena7> up_user_layout keys layouts by user, but not by profile
[17:38:12 EST(-0500)] <athena7> and when the code creates a new layout, if it's a new one for that profile/user combination it assigns it an id of "1"
[17:38:34 EST(-0500)] <athena7> which doesn't make sense i don't think, since another profile could already have a layout with that id, i think
[17:52:26 EST(-0500)] <EricDalquist> that isn't too suprising :/
[19:41:05 EST(-0500)] * lennard2 (n=sparhk@wsip-98-174-242-39.ph.ph.cox.net) has left ##uportal
[20:03:55 EST(-0500)] * lennard1 (n=sparhk@ip68-98-56-21.ph.ph.cox.net) has joined ##uportal
[20:18:27 EST(-0500)] * apetro (n=apetro@74.11.156.6) has joined ##uportal
[20:51:22 EST(-0500)] * apetro (n=apetro@74.11.156.6) has joined ##uportal