[00:07:48 EDT(-0400)] * levifig_ (n=einztein@65.172.10.9) has joined ##uportal
[01:19:43 EDT(-0400)] * levifig_ (n=einztein@65.172.10.9) has joined ##uportal
[08:40:49 EDT(-0400)] * thomasp (n=thomasp@rrcs-24-199-151-178.midsouth.biz.rr.com) has joined ##uportal
[08:58:42 EDT(-0400)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[09:14:27 EDT(-0400)] * thomasp (n=thomasp@rrcs-24-199-151-178.midsouth.biz.rr.com) has left ##uportal
[09:17:32 EDT(-0400)] * ThomasPangborn (n=thomasp@rrcs-24-199-151-178.midsouth.biz.rr.com) has joined ##uportal
[09:22:49 EDT(-0400)] * anastasiac (n=team@142.150.154.105) has joined ##uportal
[10:06:46 EDT(-0400)] * athena7 (n=athena7@lumina.its.yale.edu) has joined ##uportal
[10:38:25 EDT(-0400)] * ThomasPangborn (n=thomasp@rrcs-24-199-151-178.midsouth.biz.rr.com) has left ##uportal
[11:16:38 EDT(-0400)] <Tuomaz> In uP 2.6.1, is it possible to create a new xhtml-theme.xsl for a new language? Or how do I i18n the strings inside that file?
[11:17:01 EDT(-0400)] <Tuomaz> (webpages/stylesheets/org/jasig/portal/layout/tab-column/xhtml-theme/xhtml-theme.xsl)
[11:19:56 EDT(-0400)] <athena7> i'm not sure, to be honest
[11:20:16 EDT(-0400)] <athena7> in up3 all of the strings are externalized to a messages.xsl file, which should make it a lot easier to change the wording
[11:21:26 EDT(-0400)] <Tuomaz> ah.. that is very good
[11:21:36 EDT(-0400)] <athena7> yeah
[11:21:57 EDT(-0400)] <athena7> i know that doesn't really help for 2.6, but it's good to have useful changes on the way
[11:22:05 EDT(-0400)] <Tuomaz> yes
[11:22:17 EDT(-0400)] <athena7> unfortunately in 2.6 a lot of it may be hard-coded, i'm not sure
[11:26:33 EDT(-0400)] * colinclark (n=colin@142.150.154.101) has joined ##uportal
[11:32:43 EDT(-0400)] <athena7> anyone have any insight into what a RestrictedPerson might be? is that like a guest person?
[11:58:16 EDT(-0400)] * dstn (n=dstn@unaffiliated/dstn) has joined ##uportal
[11:59:13 EDT(-0400)] <dstn> grr, its snowing
[11:59:37 EDT(-0400)] <athena7> warming up in connecticut
[11:59:41 EDT(-0400)] <dstn> lol
[11:59:41 EDT(-0400)] <athena7> back in a bit
[12:02:07 EDT(-0400)] * colinclark (n=colin@142.150.154.101) has joined ##uportal
[12:22:24 EDT(-0400)] <athena7> but yeah dstn, i promise you it's always sunny and lovely here, it'll be great
[12:22:26 EDT(-0400)] <EricDalquist> athena7: yes a restricted person is a guest person I believe
[12:22:30 EDT(-0400)] <athena7> (ok, maybe that's not completely true)
[12:22:33 EDT(-0400)] <athena7> hm, interesting
[12:22:59 EDT(-0400)] <athena7> i looked at the personfactory closer and it doesn't appear that the createguest method actually uses the restricted person thing
[12:23:15 EDT(-0400)] <dstn> lol
[12:23:19 EDT(-0400)] <athena7> so i'm extra confused now
[12:23:29 EDT(-0400)] <athena7> you like rain, right?
[12:23:31 EDT(-0400)] <dstn> the humidity is probably gonna be the big thing for me
[12:23:34 EDT(-0400)] * holdorph (n=holdorph@uni1.unicon.net) has joined ##uportal
[12:23:43 EDT(-0400)] <dstn> its extremely dry here
[12:23:48 EDT(-0400)] <athena7> yeah that is a good point
[12:23:54 EDT(-0400)] <athena7> it really bothered me at first - i went to HS in az
[12:24:13 EDT(-0400)] <dstn> oh..ya same region
[12:24:14 EDT(-0400)] <holdorph> give me dry vs humidity any day of the year, please.
[12:24:16 EDT(-0400)] <athena7> but now i shell out for an apartment with central air
[12:24:29 EDT(-0400)] <athena7> yeah i visited az a couple summers ago in august
[12:24:34 EDT(-0400)] <athena7> it was way nicer than it was here
[12:24:37 EDT(-0400)] <EricDalquist> athena7: the eclipse 'references in project' of RestrictedPerson show it being used by the PersonAttributesGroupStore
[12:24:39 EDT(-0400)] <dstn> lol
[12:24:43 EDT(-0400)] <EricDalquist> and the PersonFactory
[12:24:47 EDT(-0400)] <athena7> thanks eric, i'll look there
[12:25:18 EDT(-0400)] <athena7> there's a createrestricetd person method in PersonFactory
[12:25:27 EDT(-0400)] <athena7> guess i should look and see where that gets used
[12:25:32 EDT(-0400)] <EricDalquist> yeah
[12:25:43 EDT(-0400)] <athena7> my first winter in ct i kept waiting for it to get cold
[12:25:53 EDT(-0400)] <EricDalquist> I love the eclipse 'show references' and 'call hierarchy' functions
[12:26:02 EDT(-0400)] <EricDalquist> make it so easy to traverse a codebase
[12:26:04 EDT(-0400)] <athena7> my previous experience with "winter" was living in minnesota, so we don't really have winter by those standards
[12:26:07 EDT(-0400)] <athena7> yeah
[12:26:18 EDT(-0400)] <athena7> i'm glad my 'open resource' is working again
[12:26:25 EDT(-0400)] <athena7> it was broken on os x for a while
[12:26:28 EDT(-0400)] <EricDalquist> yeah
[12:26:32 EDT(-0400)] <EricDalquist> that was annoying
[12:27:10 EDT(-0400)] <dstn> Ya its gonna be interesting to see how the winters there compare to here
[12:27:27 EDT(-0400)] <athena7> probably warmer, i'd guess
[12:27:30 EDT(-0400)] <dstn> it can get pretty cold here
[12:27:41 EDT(-0400)] <athena7> you made any plans yet?
[12:27:49 EDT(-0400)] <athena7> yeah it's very rare that it gets below zero here
[12:28:12 EDT(-0400)] <dstn> plans, like what?
[12:28:40 EDT(-0400)] <athena7> places to live, etc.
[12:29:16 EDT(-0400)] * KWhat_Work (n=abarker@abarker.callutheran.edu) has joined ##uportal
[12:29:30 EDT(-0400)] <dstn> oh ya, I'm headed out that way from the 24-27th to find a place to live
[12:29:48 EDT(-0400)] <athena7> oh cool
[12:29:50 EDT(-0400)] <dstn> hopin to find a nice apartment
[12:29:58 EDT(-0400)] <EricDalquist> so, anyone have any idea why reset-layout requires a logout/in?
[12:30:10 EDT(-0400)] <athena7> well if there's anything you need, or you have any questions about the area, please feel free to get in touch
[12:30:12 EDT(-0400)] <EricDalquist> The layout apis are another area that is rather confusing to me
[12:30:19 EDT(-0400)] <athena7> eric i'm assuming it's because the layouts get caches
[12:30:21 EDT(-0400)] <athena7> er, cached
[12:30:38 EDT(-0400)] <EricDalquist> hrm, which cache?
[12:30:38 EDT(-0400)] <athena7> most of the layout update methods correctly update the cache though
[12:30:41 EDT(-0400)] <dstn> ok thanks, I might shoot you an email
[12:31:03 EDT(-0400)] <athena7> please do
[12:31:05 EDT(-0400)] <athena7> not sure eric
[12:31:22 EDT(-0400)] <athena7> i don't really understand that stuff too well, and i need to to finish the cookie login stuff
[12:31:38 EDT(-0400)] <EricDalquist> no problem
[12:32:28 EDT(-0400)] <athena7> if you look at TabColumnPrefsSate there's lots of calls to ulm.saveLayout() after things are changed
[12:32:44 EDT(-0400)] <EricDalquist> yeah
[12:32:49 EDT(-0400)] <EricDalquist> I tried just adding that
[12:32:58 EDT(-0400)] <EricDalquist> the problem is I think I might need to re-load the layout
[12:33:00 EDT(-0400)] <athena7> yeah
[12:33:11 EDT(-0400)] <EricDalquist> calling save after setting a profile of 0 results in a NPE
[12:33:24 EDT(-0400)] <athena7> ah
[12:33:54 EDT(-0400)] <EricDalquist> I'm thinking I need to get the ulm to reload the default layout for the user
[12:33:57 EDT(-0400)] <athena7> i dont' really understand what changed though
[12:34:01 EDT(-0400)] <athena7> yeah that makes sense
[12:34:26 EDT(-0400)] <athena7> i do see a line of ulm.loadUserLayout() in line 1257 or TabColumnPrefsState
[12:34:38 EDT(-0400)] <EricDalquist> yup
[12:34:46 EDT(-0400)] <EricDalquist> I tried adding a save right after that
[12:34:53 EDT(-0400)] <EricDalquist> that's where it NPEs :/
[12:35:01 EDT(-0400)] <EricDalquist> so I'm thinking load isn't doing what is expected there
[12:35:02 EDT(-0400)] <athena7> interesting
[12:35:15 EDT(-0400)] <athena7> i think that line should have reloaded the layout though
[12:35:20 EDT(-0400)] <athena7> wonder if that's not working correctly
[12:35:39 EDT(-0400)] <EricDalquist> yeah
[12:35:41 EDT(-0400)] <athena7> i wish mark was still doing uportal stuff
[12:35:43 EDT(-0400)] <EricDalquist> I think I'll step through that
[12:35:47 EDT(-0400)] <EricDalquist> yeah, me too
[12:36:11 EDT(-0400)] <athena7> it'd be so nice to have those subscribable fragments
[12:37:29 EDT(-0400)] <EricDalquist> interesting ... DistributedLayoutManager actually has a resetLayout API
[12:38:06 EDT(-0400)] <athena7> oooh really?
[12:38:17 EDT(-0400)] <EricDalquist> yeah
[12:38:22 EDT(-0400)] <EricDalquist> so I think I know what is wrong
[12:38:37 EDT(-0400)] <EricDalquist> calling loadUserLayout on a loaded layout is a noop
[12:38:49 EDT(-0400)] <athena7> ah
[12:39:00 EDT(-0400)] <EricDalquist> since the userLayoutDocument instance variable is already set
[12:39:15 EDT(-0400)] <EricDalquist> so we need to set userLayoutDocument to null before calling loadUserLayout for anything to actually happen
[12:39:24 EDT(-0400)] <EricDalquist> which resetLayout does
[12:39:46 EDT(-0400)] <EricDalquist> maybe that should be added as a new IUserLayoutManager API
[12:39:56 EDT(-0400)] <EricDalquist> seems like a reasonable method
[12:40:12 EDT(-0400)] <athena7> yeah
[12:40:25 EDT(-0400)] <athena7> so have a new reallyReloadUserLayout type of thing?
[12:40:34 EDT(-0400)] <EricDalquist> yeah
[12:40:45 EDT(-0400)] <athena7> is resetLayout not an accessible method?
[12:41:33 EDT(-0400)] <EricDalquist> well it is public
[12:41:46 EDT(-0400)] <EricDalquist> but there is no guarantee the ulm being accessed is DLM
[12:41:51 EDT(-0400)] <athena7> ah
[12:41:53 EDT(-0400)] <EricDalquist> in fact it is actually the TLM
[12:42:04 EDT(-0400)] <EricDalquist> since the prefs channel is rendering via fname
[12:42:12 EDT(-0400)] <athena7> i see
[12:42:18 EDT(-0400)] <EricDalquist> so it has to be on the interface to work
[12:43:27 EDT(-0400)] <athena7> yeah
[12:43:37 EDT(-0400)] <EricDalquist> uhg
[12:43:45 EDT(-0400)] <EricDalquist> ok resetLayout is not a safe API for us to use
[12:43:51 EDT(-0400)] <EricDalquist> userStore.removePortalUID( person.getID() );
[12:44:00 EDT(-0400)] <EricDalquist> it is for fixing a corrupt user
[12:44:06 EDT(-0400)] <EricDalquist> and it actually deletes the user then re-adds them
[12:45:45 EDT(-0400)] <athena7> oh
[12:45:49 EDT(-0400)] <EricDalquist> but that also removes all of the group and permission memberships
[12:45:50 EDT(-0400)] <athena7> yeah that doesn't sound ideal
[12:45:56 EDT(-0400)] <EricDalquist> and gives them a new uid
[12:46:01 EDT(-0400)] <athena7> uhoh!
[12:46:05 EDT(-0400)] <EricDalquist> so all new portlet entities
[12:46:07 EDT(-0400)] <EricDalquist> yeah
[12:46:08 EDT(-0400)] <EricDalquist> very bad
[12:46:34 EDT(-0400)] <EricDalquist> so perhaps a new loadUserLayout(boolean refresh); method
[12:46:49 EDT(-0400)] <athena7> yeah i think that sounds great
[12:46:57 EDT(-0400)] <athena7> that would probably fix my problem, too
[12:47:06 EDT(-0400)] <athena7> i'd just need to figure out where to call it
[12:48:05 EDT(-0400)] <EricDalquist> I should have it added in a few hours
[12:48:45 EDT(-0400)] <athena7> great, thanks!
[12:49:04 EDT(-0400)] <EricDalquist>
[12:49:09 EDT(-0400)] <EricDalquist> whittling down that jira list
[12:49:28 EDT(-0400)] <athena7>
[12:49:53 EDT(-0400)] <EricDalquist> I'm going to try and find some time to do some load testing / profiling this week too
[12:50:19 EDT(-0400)] <athena7> sounds great
[12:50:51 EDT(-0400)] <athena7> oh by the way, did i ask you if the cas stuff was really fixed now?
[12:51:11 EDT(-0400)] <EricDalquist> yup
[12:51:19 EDT(-0400)] <athena7> what was your answer?
[12:51:19 EDT(-0400)] <athena7> lol
[12:51:21 EDT(-0400)] <EricDalquist> it works for me right now
[12:51:25 EDT(-0400)] <athena7> ok, good
[12:51:32 EDT(-0400)] <EricDalquist>
[12:51:46 EDT(-0400)] <athena7> i think the only other ticket i own is up-1981
[12:51:58 EDT(-0400)] <athena7> which happens pretty rarely and is fixable by refreshing the page
[12:52:03 EDT(-0400)] <athena7> so i'm kind of inclined not to worry about it
[12:52:15 EDT(-0400)] <athena7> especially since i expect we'll replace the drag and drop library in 3.1
[12:53:31 EDT(-0400)] <athena7> does that seem reasonable?
[12:56:46 EDT(-0400)] <KWhat_Work> I am in need of anyone on the planet who knows a lot about the workings of the Oralce Portal Application Server. Anyone have any idea where to look, or do i have a better chance of winning the lotto?
[12:57:57 EDT(-0400)] <athena7> not i
[12:59:52 EDT(-0400)] <holdorph> well, i don't expect you're going to get a lot of 'hits' to that question on a 'uportal' irc channel
[13:00:15 EDT(-0400)] <KWhat_Work> indeed but not very many on google or #oracle
[13:00:25 EDT(-0400)] <KWhat_Work> its no wonder oracle is discontinuing this thing
[13:00:41 EDT(-0400)] <athena7> they are?
[13:00:45 EDT(-0400)] <KWhat_Work> yah
[13:00:53 EDT(-0400)] <KWhat_Work> 10g is the last version for the oracle portal
[13:01:10 EDT(-0400)] <athena7> is it becoming something else, or really just no more?
[13:01:11 EDT(-0400)] <KWhat_Work> they are moving to a more uniform application server that costs quite a bit more
[13:01:15 EDT(-0400)] <athena7> ah
[13:01:17 EDT(-0400)] <EricDalquist> LOL
[13:01:19 EDT(-0400)] <athena7> yes that sounds about right
[13:01:39 EDT(-0400)] <KWhat_Work> hence i will be moving to uportal but we are not there yet
[13:02:13 EDT(-0400)] <holdorph> there were some posts on the uportal mailing lists, but I have no memory of who was posting with any info on oracle portal
[13:03:13 EDT(-0400)] <KWhat_Work> i should porbably get on that list
[13:03:18 EDT(-0400)] <athena7> some of the more recent ones were probably jason advocating that in-development portlets run on oracle portal
[13:03:18 EDT(-0400)] <KWhat_Work> is there a link of the site ?
[13:04:59 EDT(-0400)] <holdorph> what site?
[13:06:53 EDT(-0400)] <dstn> CampusEAI is all about Oracle Portal
[13:07:11 EDT(-0400)] <dstn> anyone from there knows a lot about Oracle Portal
[13:07:36 EDT(-0400)] <dstn> www.campuseai.org/
[13:08:20 EDT(-0400)] <KWhat_Work> those guys are useless to be kind
[13:08:59 EDT(-0400)] <dstn> Ya..that's all I got
[13:09:00 EDT(-0400)] <KWhat_Work> only thing they seem to be good as is pushing oracle portal to their users and they have been unable to answer almost any question i have asked them.
[13:10:45 EDT(-0400)] <athena7> sorry to hear that
[13:12:35 EDT(-0400)] <holdorph> if you have a license to oralce portal, wouldn't you be able to contact oracle for support?
[13:13:08 EDT(-0400)] <KWhat_Work> holdorph: yah they cant exactly help me either =)
[13:13:18 EDT(-0400)] <KWhat_Work> not with this particular issue
[13:13:52 EDT(-0400)] <dstn> hmm
[13:14:14 EDT(-0400)] <KWhat_Work> eff it i will just do it the way its suppose to work and tell my boss to gfys when he cant get his data out
[13:14:29 EDT(-0400)] <KWhat_Work> thats what he gets for not listening to me and going with oracle again
[13:21:35 EDT(-0400)] * athena7_ (n=athena7@tp-wireless.its.yale.edu) has joined ##uportal
[13:28:50 EDT(-0400)] <EricDalquist> yay, so I think the reset-layout fix works ...
[13:28:55 EDT(-0400)] <EricDalquist> but only on the next request
[13:29:09 EDT(-0400)] <EricDalquist> I really wish channels had an action phase like portlets
[13:34:07 EDT(-0400)] <athena7_> that's great that the fix works though
[13:34:50 EDT(-0400)] <EricDalquist> yup
[13:35:05 EDT(-0400)] <EricDalquist> I think the skin selector has the same problem as this reset
[13:35:13 EDT(-0400)] <EricDalquist> where it takes another render after the action to get the change to take
[13:35:19 EDT(-0400)] <EricDalquist> or the change to display that is
[13:36:15 EDT(-0400)] <athena7_> hm, interesting
[13:36:39 EDT(-0400)] <athena7_> the ajax skin selector does it immediately
[13:37:06 EDT(-0400)] <EricDalquist> the channel needs to be able to do the change then do a redirect or some such
[13:37:31 EDT(-0400)] <athena7_> yeah
[13:42:16 EDT(-0400)] <athena7> is there a way to use parameters with ant tasks when you run the build.xml file through eclipse?
[13:42:39 EDT(-0400)] <EricDalquist> yeah
[13:42:47 EDT(-0400)] <EricDalquist> Run > External Tools > Open External Tools Dialog
[13:43:41 EDT(-0400)] <athena7> oh cool, thanks
[13:43:57 EDT(-0400)] <athena7> anything command line related is just so much harder in windows
[13:44:25 EDT(-0400)] <dstn> I agree
[13:45:15 EDT(-0400)] * athena7 <3s her mac
[13:45:39 EDT(-0400)] <dstn> lol, I love my linux
[13:50:02 EDT(-0400)] <athena7> i like linux too
[13:50:08 EDT(-0400)] <athena7> but i prefer os x for my personal machines
[13:50:20 EDT(-0400)] <athena7> especially with vmware
[13:51:44 EDT(-0400)] <dstn> fusion is sooooo cool
[13:52:15 EDT(-0400)] <athena7> yeah, it's nice
[13:52:30 EDT(-0400)] <athena7> although my main usage at the moment is streaming stuff from netflix
[13:54:29 EDT(-0400)] <EricDalquist> ok athena7 the layout reset fix is committed
[13:54:34 EDT(-0400)] <EricDalquist> I need to go get food
[13:54:43 EDT(-0400)] <dstn> mmm food
[13:55:12 EDT(-0400)] <athena7> great, thanks
[13:55:18 EDT(-0400)] <athena7> bugs--;
[13:58:28 EDT(-0400)] <dstn> well, time for class, later all
[13:58:41 EDT(-0400)] * dstn (n=dstn@unaffiliated/dstn) has left ##uportal
[14:35:57 EDT(-0400)] <athena7> eric for the neat upAuth:canRender tag
[14:36:09 EDT(-0400)] <EricDalquist>
[14:36:12 EDT(-0400)] <athena7> is it possible to build something like that that has access to the user request object?
[14:36:16 EDT(-0400)] <EricDalquist> yeah the xalan elements support is fun
[14:36:27 EDT(-0400)] <EricDalquist> um, you'd probably have to do it through a threadlocal
[14:36:37 EDT(-0400)] <EricDalquist> what exactly do you need from the request?
[14:37:23 EDT(-0400)] <athena7> checking something in the session
[14:37:27 EDT(-0400)] <athena7> or testing for a cookie
[14:37:36 EDT(-0400)] <EricDalquist> hrm
[14:38:47 EDT(-0400)] <EricDalquist> so Spring has some basic 'and servlet/portlet generic' functionality along these lines via the http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/web/context/request/RequestContextHolder.html
[14:39:10 EDT(-0400)] <EricDalquist> you setup a RequestContextListener in the web.xml
[14:39:37 EDT(-0400)] <athena7> hm, i'll check that out
[14:39:39 EDT(-0400)] <EricDalquist> and it sticks the current request in a threadlocal and some of that request info can be read via the RequestContextHolder
[14:39:48 EDT(-0400)] <EricDalquist> the info available is rather limited though
[14:40:04 EDT(-0400)] <EricDalquist> but if that doesn't do it modeling something on it would probably be the way to go
[14:40:13 EDT(-0400)] <EricDalquist> perhaps even looking to extending it
[14:40:24 EDT(-0400)] <athena7> thanks
[14:40:33 EDT(-0400)] <EricDalquist>
[14:50:55 EDT(-0400)] <athena7> i wish i could just use a parameter processor
[14:50:58 EDT(-0400)] <athena7> that would be so much more ideal
[14:51:08 EDT(-0400)] <EricDalquist> what are you trying to do?
[14:53:07 EDT(-0400)] <athena7> this is for the cookie login stuff
[14:53:16 EDT(-0400)] <EricDalquist> ah
[14:53:24 EDT(-0400)] <athena7> you know it might just make more sense to have the check be javascript
[14:53:32 EDT(-0400)] <EricDalquist> just switch to acegi
[14:53:35 EDT(-0400)] <athena7> we're sort of doing that already
[14:53:36 EDT(-0400)] <athena7> well
[14:53:52 EDT(-0400)] <athena7> we aren't actually letting the cookie authenticate people
[14:54:01 EDT(-0400)] <athena7> if the cookie checks out we create a guest user with their id
[14:54:10 EDT(-0400)] <athena7> so they get their layout, but can't make any changes to it
[14:54:14 EDT(-0400)] <athena7> i have to go to a meeting
[14:54:28 EDT(-0400)] <EricDalquist> interesting
[14:54:40 EDT(-0400)] <athena7>
[14:54:45 EDT(-0400)] <athena7> presenting on it at the conference
[14:54:47 EDT(-0400)] <athena7> sort of like amazon
[14:54:56 EDT(-0400)] <athena7> where it knows you're you, and gives you stuff you'll like
[14:55:01 EDT(-0400)] <EricDalquist> yeah, I think it is a great idea
[14:55:02 EDT(-0400)] <athena7> but then makes you log in to order or whatever
[14:55:07 EDT(-0400)] <athena7> ok
[14:55:08 EDT(-0400)] <athena7> back later!
[15:10:26 EDT(-0400)] * colinclark (n=colin@142.150.154.101) has joined ##uportal
[16:57:33 EDT(-0400)] * holdorph (n=holdorph@uni1.unicon.net) has joined ##uportal
[17:22:53 EDT(-0400)] <EricDalquist> so portlet entity preferences are now scoped to a guest user's session
[17:35:24 EDT(-0400)] * athena7 (n=athena7@tp-wireless.its.yale.edu) has joined ##uportal
[18:59:01 EDT(-0400)] * athena7 (n=athena7@c-24-2-189-230.hsd1.ct.comcast.net) has joined ##uportal
[19:04:56 EDT(-0400)] * EiNZTEiN (n=einztein@205.241.143.4) has joined ##uportal
[19:08:00 EDT(-0400)] <EiNZTEiN> anyone know how I can add the CLogin channel in a tab for the main "guest" view?
General
Content
Integrations