Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Corrected links that should have been relative instead of absolute.

[10:21:14 CDT(-0500)] <athena> EricDalquist: will the xalan helpers continue to work?
[10:21:19 CDT(-0500)] <EricDalquist> no
[10:21:22 CDT(-0500)] <EricDalquist> I have to re-write them
[10:21:29 CDT(-0500)] <EricDalquist> which I'm in the process of doing
[10:21:38 CDT(-0500)] <EricDalquist> XSLTC does support calling Java code
[10:21:42 CDT(-0500)] <EricDalquist> just not in the same way Xalan did
[10:21:43 CDT(-0500)] <athena> gotcha
[10:21:48 CDT(-0500)] <athena> yeah i figured that might be an issue
[10:21:54 CDT(-0500)] <EricDalquist> I've got a good approach figured out
[10:21:57 CDT(-0500)] <EricDalquist> just doing the porting now
[10:21:59 CDT(-0500)] <athena> so i just wrote a new one for the messaging stuff
[10:22:11 CDT(-0500)] <athena> guessing i should wait to check that in until you finish your stuff?
[10:22:20 CDT(-0500)] <EricDalquist> I'm still wondering how cernunnous & grouper are going to deal with the lack of xom & xalan
[10:22:23 CDT(-0500)] <EricDalquist> no
[10:22:24 CDT(-0500)] <EricDalquist> go ahead
[10:22:30 CDT(-0500)] <EricDalquist> then I can take care of it as well
[10:22:34 CDT(-0500)] <athena> ok
[10:22:43 CDT(-0500)] <athena> well, we'll find out, i guess (smile)
[10:22:57 CDT(-0500)] <athena> i got the all entity-type permissions sorted out
[10:23:05 CDT(-0500)] <EricDalquist> great
[10:23:05 CDT(-0500)] <athena> do you want me to add apetro's requested feature as well?
[10:23:08 CDT(-0500)] <EricDalquist> sure
[10:23:27 CDT(-0500)] <athena> i think that's probably reasonable, though i still want to make sure that we don't just start forgetting to assign permissions to admins
[10:24:02 CDT(-0500)] <athena> thinking though that we can introduce some new sort of portal system owner, with an "ALL_PERMISSIONS" target
[10:24:14 CDT(-0500)] <athena> then add logic to the permission policy to check for that
[10:24:29 CDT(-0500)] <athena> i sort of think that might work better than having a configurable magic group
[10:24:42 CDT(-0500)] <athena> particularly since the permissions framework isn't spring-configured
[10:24:50 CDT(-0500)] <EricDalquist> yeah
[10:25:00 CDT(-0500)] <EricDalquist> getting groups & permissions converted to spring is something we really need to do
[10:25:11 CDT(-0500)] <EricDalquist> that is the last big vestige of staticly initialized code
[10:26:44 CDT(-0500)] <athena> yeah
[10:27:26 CDT(-0500)] <athena> so what do we do if it turns out that grouper w/o xalan is a problem? write our own client/
[10:27:27 CDT(-0500)] <athena> ?
[10:28:07 CDT(-0500)] <EricDalquist> yeah ... I guess
[10:28:16 CDT(-0500)] <EricDalquist> or I can see if there is a way to have xalan on the classpath but not use it for XSLT
[10:28:22 CDT(-0500)] <EricDalquist> I think you can specify the XSLT factory
[10:28:34 CDT(-0500)] <EricDalquist> but then we're hardcoding references to com.sun classes (sad)
[10:28:53 CDT(-0500)] <EricDalquist> we can also look at the current grouper code and see if we can figure out how to remove xom
[10:29:07 CDT(-0500)] <athena> yeah
[10:29:09 CDT(-0500)] <athena> makes sense
[10:29:21 CDT(-0500)] <athena> would be kind of nice to have that code be spring-configurable
[10:29:29 CDT(-0500)] <EricDalquist> yeah
[10:29:38 CDT(-0500)] <EricDalquist> think they would be open to some contributions>?
[10:29:44 CDT(-0500)] <athena> i hope so
[10:30:02 CDT(-0500)] <athena> chris has seemed pretty receptive to feedback so far - they made some fixes to the maven pom for us
[10:30:29 CDT(-0500)] <athena> actually
[10:30:36 CDT(-0500)] <EricDalquist> great
[10:30:43 CDT(-0500)] <athena> chris told me that the client has no run-time dependencies at all
[10:30:53 CDT(-0500)] <EricDalquist> oh nice
[10:30:58 CDT(-0500)] <EricDalquist> it imports a bunch of stuff (tongue)
[10:31:05 CDT(-0500)] <EricDalquist> well it's pom does
[10:31:07 CDT(-0500)] <athena> yeah, they made them all optional for the next version
[10:31:10 CDT(-0500)] <EricDalquist> great
[10:31:14 CDT(-0500)] <EricDalquist> then no problem there
[10:31:19 CDT(-0500)] <athena> i'd asked them to make them test or optional, as appopriate
[10:31:23 CDT(-0500)] <EricDalquist> so the only question is how does CRN deal with the lack of xalan
[10:31:28 CDT(-0500)] <athena> so anyway, if all that's really true, then we should be ok
[10:31:32 CDT(-0500)] <EricDalquist> luckily at runtime only the import/export portlet uses crn
[10:31:42 CDT(-0500)] <EricDalquist> and its easier to work around for the import/export CLI tools
[10:31:44 CDT(-0500)] <athena> that's good at least
[10:31:54 CDT(-0500)] <athena> we do have import/export not over CLI though, of course
[10:32:00 CDT(-0500)] <athena> a few crn portlets
[10:32:12 CDT(-0500)] <EricDalquist> yeah
[10:32:20 CDT(-0500)] <EricDalquist> they can be re-written as flows easyily enough
[10:32:26 CDT(-0500)] <EricDalquist> and really they need to be for consistency
[10:32:44 CDT(-0500)] <EricDalquist> so the only potential issue is import/export form a portlet
[10:32:46 CDT(-0500)] <athena> yes, agreed
[10:32:53 CDT(-0500)] <athena> yeah, was about to say that
[10:32:53 CDT(-0500)] <EricDalquist> since that would use CRN in the runtime portal
[10:33:14 CDT(-0500)] <athena> that import/export portlet definitely just uses the existing scripts
[11:46:22 CDT(-0500)] <EricDalquist> athena: you were asking about concurrent users
[11:46:34 CDT(-0500)] <EricDalquist> first day of classes and 1 of our hosts has 1234 active sessions right now
[11:46:41 CDT(-0500)] <athena> nice (smile)
[11:49:16 CDT(-0500)] <EricDalquist> looks like ~200 logins/minute across the cluster right now
[11:58:38 CDT(-0500)] <athena> very nice
[11:58:43 CDT(-0500)] <athena> are you guys on 3.2 yet?
[11:59:34 CDT(-0500)] <awills> hey folks... can I pick your brain(s) on the practice of sending AJAX requests in portlets through <render/actionURL>s?
[11:59:44 CDT(-0500)] <awills> i'm encountering a thorny issue
[11:59:53 CDT(-0500)] <awills> https://issues.jasig.org/browse/EMAILPLT-15
[12:00:34 CDT(-0500)] <awills> essentially, the fact that the ajax request is passing through the portal (instead of just a servlet url) means that the channel times out
[12:00:53 CDT(-0500)] <awills> and when i restart it, it just times out again
[12:02:34 CDT(-0500)] <awills> what are the motivations for passing these sorts of requests through the portal?
[12:05:49 CDT(-0500)] <athena> how do i get an apostrophe into the messages.properties?
[12:06:08 CDT(-0500)] <athena> awills: we have to pass them through the portal to have access to the portlet session
[12:06:15 CDT(-0500)] <athena> and the preferences, etc.
[12:06:37 CDT(-0500)] <awills> yeah preferences, that makes sense
[12:06:44 CDT(-0500)] <athena> you likely need to up the timeout
[12:08:09 CDT(-0500)] <awills> i'd like to make the portlet recoverable though
[12:09:32 CDT(-0500)] <athena> does the restart button not work?
[12:10:06 CDT(-0500)] <athena> i know EricDalquist's had some thoughts about changing the way timeouts work in uportal
[12:10:09 CDT(-0500)] <awills> it works... but the initial view is the one that contains the ajax request that times out
[12:10:15 CDT(-0500)] <athena> some of that might be relevant, though it wouldn't help you in 3.2
[12:10:25 CDT(-0500)] <athena> yeah, i don't know that there's a lot we can do about that
[12:10:57 CDT(-0500)] <athena> i don't think there's much you could do anyway besides display a timeout message, is there?
[12:11:23 CDT(-0500)] <EricDalquist> just noticed my name go by ...
[12:11:34 CDT(-0500)] <EricDalquist> uhg
[12:12:01 CDT(-0500)] <EricDalquist> so really right now the only way to deal with this is move the IMAP checking code into the servlet
[12:12:13 CDT(-0500)] <EricDalquist> so your AJAX request hits the portlet Action URL
[12:12:25 CDT(-0500)] <EricDalquist> which sets up a bunch of data to make the IMAP request
[12:12:31 CDT(-0500)] <EricDalquist> then redirects to the servlet witht hat object data
[12:12:38 CDT(-0500)] <EricDalquist> and the servlet makes the imap request
[12:12:47 CDT(-0500)] <EricDalquist> then if it times out the portlet isn't affected
[12:12:56 CDT(-0500)] <awills> actually we do display a timeout msg... but behind the scenes, unbeknownst to the user, the channel has timed out
[12:12:59 CDT(-0500)] <EricDalquist> that's about all you can do right now
[12:13:18 CDT(-0500)] <EricDalquist> in trunk the new rendering manager can handle different timesouts for render, resource, event and action requests
[12:13:32 CDT(-0500)] <EricDalquist> haven't modified the definition or publishing code to provide those yet
[12:13:47 CDT(-0500)] <EricDalquist> but my current though is by default you just specify a single timeout value
[12:13:50 CDT(-0500)] <athena> awills: you should be able to set an IMAP timeout value
[12:13:59 CDT(-0500)] <EricDalquist> but you can override it with specific values if needed
[12:14:03 CDT(-0500)] <athena> have you tried setting that yet?
[12:14:16 CDT(-0500)] <EricDalquist> also I've been strongly considering not making errors stateful in trunk
[12:14:33 CDT(-0500)] <athena> that should cause the IMAP request to time out before the portlet does, assuming you have the IMAP timeout set sufficiently higher than the portlet timeout
[12:14:52 CDT(-0500)] <EricDalquist> like if View A into the portlet fails there is no reason that all other views also fail until the user acknowledges it. that really breaks the http model
[12:15:35 CDT(-0500)] <awills> EricDalquist yeah i was wondering if that might be a good shift to make... sitting here confronted with this
[12:15:38 CDT(-0500)] <athena> makes sense
[12:15:51 CDT(-0500)] <athena> i like that plan a lot
[12:15:53 CDT(-0500)] <awills> i can set the IMAP timeout, yes
[12:15:56 CDT(-0500)] <athena> the reload thing has always been confusing
[12:16:01 CDT(-0500)] <EricDalquist> yeah
[12:16:04 CDT(-0500)] <EricDalquist> just hit reload on the page
[12:16:14 CDT(-0500)] <EricDalquist> it isn't going to be that bad for the portal to try rendering the portlet again
[12:56:50 CDT(-0500)] <EricDalquist> awills: any inkling as to how much cernunnous depends on xom?
[12:58:06 CDT(-0500)] <awills> you mean this: http://www.xom.nu/
[12:58:33 CDT(-0500)] <EricDalquist> yes
[12:58:40 CDT(-0500)] <EricDalquist> I believe it imports it as a dependency
[12:59:08 CDT(-0500)] <awills> just a sec
[12:59:25 CDT(-0500)] <EricDalquist> the reason I ask is we have to remove xalan from trunk
[12:59:30 CDT(-0500)] <EricDalquist> and xom depends on xalan
[13:01:12 CDT(-0500)] <awills> the tree is (effectively) dom4j > jaxen > xom > xalan
[13:01:25 CDT(-0500)] <EricDalquist> hrm
[13:01:28 CDT(-0500)] <awills> the only one that crn uses directly is dom4j
[13:01:32 CDT(-0500)] <EricDalquist> ok
[13:01:38 CDT(-0500)] <EricDalquist> well I guess we'll see how it goes (smile)
[13:01:50 CDT(-0500)] <EricDalquist> xalan doesn;'t implement JAXP 1.4 and it looks like it never well
[13:01:52 CDT(-0500)] <EricDalquist> will*
[13:01:52 CDT(-0500)] <awills> so with luck there's no use of it at all
[13:02:06 CDT(-0500)] <EricDalquist> which is a problem for the new rendering pipeline code
[13:02:47 CDT(-0500)] <awills> when you asked, i was hoping it would be a transative of one of the libs that should be marked optional in the pom
[13:03:00 CDT(-0500)] <EricDalquist> yeah
[13:03:25 CDT(-0500)] <EricDalquist> well I'm also wondering about potentially needing to remove dom4j as at least a direct uPortal dependency
[13:03:34 CDT(-0500)] <awills> but dom4j is pretty central... though there's a good chance it could be replaced by something else, like jdom (if that's better)
[13:03:55 CDT(-0500)] <awills> need something with selectNodes support
[13:04:00 CDT(-0500)] <EricDalquist> since from what I've been finding making use of the newer JAXP APIs in the JDK doesn't seem the work well if you have alternate/older XML libraries on the classpath
[13:04:03 CDT(-0500)] <awills> and asXML()
[13:04:26 CDT(-0500)] <EricDalquist> right, or we may need to find an efficient way to do that in JAXP directly
[13:09:40 CDT(-0500)] <awills> how do you use XPATH in the newest JAXP? can you do so from a Node object?
[13:09:50 CDT(-0500)] <EricDalquist> not sure
[13:10:04 CDT(-0500)] <EricDalquist> I've only really been using the StAX/XMLEvent stuff so far
[13:10:05 CDT(-0500)] <awills> and does representing a Node as a String still involve java.io?