Versions Compared

Key

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

[08:33:38 EST(-0500)] * esm (n=esm@207-53-192-2.dynamic-dsl.qis.net) has joined ##uportal
[09:18:47 EST(-0500)] * athena7 (n=athena7@lumina.its.yale.edu) has joined ##uportal
[09:30:34 EST(-0500)] * jayshao (n=jayshao@jayshao.oirt.rutgers.edu) has joined ##uportal
[09:33:33 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[10:32:33 EST(-0500)] * clown (n=clown@142.150.154.101) has joined ##uportal
[11:41:06 EST(-0500)] * deuce (n=deuce@uni1.unicon.net) has joined ##uportal
[11:57:18 EST(-0500)] <deuce> eric?
[11:57:30 EST(-0500)] <EricDalquist> hey
[11:57:54 EST(-0500)] <deuce> i wanted to chat a little about channel titles in attributes
[11:58:04 EST(-0500)] <EricDalquist> ok
[11:58:49 EST(-0500)] <deuce> now you make mention to it in the post on the dev list, but it wasn't really to address the titles in attributes, right?
[12:00:26 EST(-0500)] <EricDalquist> well the second half of the email where I was talking about inserting a random string for the title and doing string replacement before sending the content to the printwriter was an idea on how to get channel titles working in attributes
[12:01:27 EST(-0500)] <deuce> right ok.. then i made a comment that they should be partitioned like we do system characters, title elements and channel content
[12:02:12 EST(-0500)] <EricDalquist> ah yeah
[12:02:20 EST(-0500)] <EricDalquist> the problem is how do we partition attributes?
[12:02:33 EST(-0500)] <EricDalquist> the channel incorporation filter just passes SAX events onto the serializer
[12:02:38 EST(-0500)] <EricDalquist> and gets character chunks from it
[12:02:46 EST(-0500)] <deuce> yeah i think that problem is really difficult when the way the CIF partitions the cache blocks
[12:02:48 EST(-0500)] <EricDalquist> I don't know of a way to pass a partial element
[12:03:00 EST(-0500)] <deuce> right elements are atomic
[12:03:09 EST(-0500)] <EricDalquist> yeah
[12:03:18 EST(-0500)] <EricDalquist> one option would be to include a random string for the title in the CIF
[12:03:30 EST(-0500)] <EricDalquist> then do a split() on the character block that the serializer hands back
[12:04:05 EST(-0500)] <EricDalquist> I have a short meeting to get to
[12:04:07 EST(-0500)] <EricDalquist> back in 10
[12:04:45 EST(-0500)] <deuce> i follow what you're saying.. but i think we can do it with a writer that wraps the response's PrintWriter
[12:20:40 EST(-0500)] <EricDalquist> ok
[12:20:42 EST(-0500)] <EricDalquist> I'm back
[12:21:23 EST(-0500)] <EricDalquist> so would the wrapping writer do more chunking up the blocks and adding them to the cache List?
[12:21:30 EST(-0500)] <EricDalquist> Or would it simply by doing string replacement?
[12:21:55 EST(-0500)] <EricDalquist> 2.X is already doing string replacement for the random tags (which btw are completely pointless from 2.4 onwards)
[13:00:24 EST(-0500)] * athena7_ (n=athena7@tp-wireless.its.yale.edu) has joined ##uportal
[13:04:03 EST(-0500)] * athena7__ (n=athena7@130.132.168.163) has joined ##uportal
[13:19:13 EST(-0500)] * clown_ (n=chatzill@142.150.154.101) has joined ##uportal
[13:19:29 EST(-0500)] * clown_ (n=chatzill@142.150.154.101) has left ##uportal
[14:25:48 EST(-0500)] <deuce> hey eric .. the writer would just do replacements, but it wouldn't have to keep the entire content in memory .. just on the fly. it would of course need to be buffered tho
[14:26:00 EST(-0500)] <EricDalquist> yup
[14:26:21 EST(-0500)] <deuce> i have both working at this point
[14:26:30 EST(-0500)] <EricDalquist> how does the buffer get told which random strings map to which channel ids?
[14:26:38 EST(-0500)] <EricDalquist> and get the ChannelManager reference?
[14:26:41 EST(-0500)] <EricDalquist> wow
[14:26:42 EST(-0500)] <EricDalquist> cool
[14:27:24 EST(-0500)] <deuce> well just prototyping .. i used a string like this in the xsl "UP:CHANNEL_TITLE-@ID"
[14:27:33 EST(-0500)] <EricDalquist> ah
[14:27:43 EST(-0500)] <EricDalquist> that works
[14:27:57 EST(-0500)] <EricDalquist> the random string bit is probably overkill
[14:27:59 EST(-0500)] <deuce> then looked for instances of UP:CHANNEL_TITLE-, parsed out the channelId, and replaced
[14:28:11 EST(-0500)] <EricDalquist> cool
[14:28:19 EST(-0500)] <deuce> i'm open to the token format
[14:28:31 EST(-0500)] <EricDalquist> how does it deal with default title values?
[14:28:54 EST(-0500)] <deuce> i don't think i dealt with that yet .. let me look
[14:29:33 EST(-0500)] <EricDalquist> the existing code looked for a token like <channel-title id="" default=""/>
[14:29:46 EST(-0500)] <EricDalquist> to deal with the channel not returning a dynamic title
[14:30:03 EST(-0500)] <deuce> oh .. i pass in a user layout manager to the writer, then i could get the channel description, then the published channel title
[14:30:28 EST(-0500)] <EricDalquist> ah
[14:30:46 EST(-0500)] <deuce> not sure how that translates to up3 tho
[14:31:16 EST(-0500)] <EricDalquist> it probably will be very close
[14:31:23 EST(-0500)] <deuce> ok
[14:31:30 EST(-0500)] <EricDalquist> with the advantage of new classes could be injected into the rendering pipeline if needed
[14:31:54 EST(-0500)] <EricDalquist> and UserInstance is now described by an interface which is passed into the pipeline to initiate rendering
[14:32:52 EST(-0500)] <deuce> is the pipeline a series of connectors from layout manager to response PrintWriter?
[14:33:06 EST(-0500)] <deuce> similar to sandbox
[14:33:32 EST(-0500)] <deuce> sorry .. i just haven't had a chance to look at it yet
[14:33:43 EST(-0500)] <EricDalquist> no
[14:33:47 EST(-0500)] <EricDalquist> none of that has made it over
[14:34:02 EST(-0500)] <EricDalquist> it is pretty much the exact code from the UserInstance render method
[14:34:25 EST(-0500)] <deuce> and UserInstance just got interfaced?
[14:34:53 EST(-0500)] <EricDalquist> the big change is instead of using instance variables to get the needed data it is all passed in the render method arguments: public void renderState(HttpServletRequest req, HttpServletResponse res, IUserInstance userInstance) throws PortalException {
[14:35:23 EST(-0500)] <deuce> ok.. gotcha
[14:35:38 EST(-0500)] <EricDalquist> UserInstance got interfaced into IUserInstance to support the seperation of UserInstance and GuestUserInstance
[14:37:09 EST(-0500)] <deuce> alright .. i have to run out for a bit. I'll start looking at porting to up3 when i get back
[14:37:27 EST(-0500)] <EricDalquist> sounds good
[14:37:34 EST(-0500)] <EricDalquist> I'll be around until 4:30 central time
[15:20:36 EST(-0500)] <EricDalquist> hey deuce, can you read the comments on: http://www.ja-sig.org/issues/browse/UP-1261 and let me know what you think of doing this for 3?
[15:26:42 EST(-0500)] <deuce> ok
[15:26:52 EST(-0500)] <EricDalquist> thanks
[15:27:32 EST(-0500)] <EricDalquist> it sounds like a reasonable fix to add into the up3 code but I just want another (more familiar with caching) set of eyes before I go and break something
[15:28:54 EST(-0500)] <deuce> well i can say that this is exactly what academus did prior to open sourcing
[15:29:02 EST(-0500)] <deuce> and it worked pretty well