Subject: KampalaMeetingLog2015x09x17.txt
Date: September 17, 2015 5:06:38 PM PDT
[3:01pm] HideyoImazu joined the chat room.
[3:02pm] PeterThoeny: good morning HideyoImazu-san!
[3:02pm] HideyoImazu: Hi Peter
[3:02pm] HideyoImazu: still in Tokyo
[3:02pm] PeterThoeny: ah, yes, nyc plans
[3:03pm] PeterThoeny: temporary change is always good
[3:03pm] HideyoImazu: waiting to get the final go ahead from my company
[3:04pm] PeterThoeny: knock on wood
[3:04pm] PeterThoeny: nothing new on my side, still looking
[3:05pm] PeterThoeny: and networking
[3:05pm] HideyoImazu: it's rainy in Tokyo for the past few weeks
[3:06pm] PeterThoeny: send some over to us please!
[3:06pm] HideyoImazu: I wish I could
[3:06pm] PeterThoeny: on monday we had 5 min of light rain, actually just drops
[3:07pm] HideyoImazu: it was too much for some areas. Two dikes failed and dozens of fatality
[3:07pm] PeterThoeny: california currently has 27 active wildfires going on:
https://www.google.com/maps/d/viewer?mid=zp8nK_5H0MFQ.kzTmU5XK-qJQ
[3:08pm] HideyoImazu: o-oh
[3:09pm] PeterThoeny: it is pretty bad
[3:09pm] HideyoImazu: i'm still working on a new skin based on Bootstrap
[3:09pm] HideyoImazu: as I imagined, it's taking time
[3:09pm] HideyoImazu: hopefully I finish it in a few days
[3:10pm] PeterThoeny: nice!
[3:10pm] HideyoImazu: again hopefully, I will remove the company specific stuff and make it available at twiki.org
[3:11pm] PeterThoeny: that's awsome!
[3:11pm] PeterThoeny: as for content, %TWOCOLUMNS% … %ENDCOLUMNS% comes in handy for responsive layout
[3:12pm] PeterThoeny: same with %THREECOLUMNS% and %FOURCOLUMNS%
[3:12pm] HideyoImazu: do some skin support %TWOCOLUMNS% etc?
[3:12pm] PeterThoeny: we should address autoresizing of embedded images too
[3:13pm] PeterThoeny: no, these vars are intended for content creators, not for skin
[3:13pm] HideyoImazu: ok
[3:13pm] PeterThoeny: you can do multi-column layout, which reverst to singe column on a small device
[3:14pm] PeterThoeny: "reverts to"
[3:14pm] HideyoImazu: the skin I'm working on has that feature
[3:14pm] HideyoImazu: currently using
...
...
[3:16pm] PeterThoeny: well, with that solution you have to decide what goes in what column
[3:16pm] PeterThoeny: with %TWOCOLUMNS% … %ENDCOLUMNS% it balances content out automaticallym even across printed
pages
[3:16pm] HideyoImazu: ok
[3:17pm] HideyoImazu: is that practically doable?
[3:17pm] PeterThoeny: yes
[3:17pm] PeterThoeny: but requires relatively recent browsers
[3:17pm] PeterThoeny: it degrades gracefully to single column on older browsers
[3:18pm] PeterThoeny: let's start
[3:18pm] HideyoImazu: sure
[3:18pm] PeterThoeny: http://twiki.org/cgi-bin/view/Codev/KampalaReleaseMeeting2015x09x17
[3:19pm] PeterThoeny: agenda:
[3:19pm] PeterThoeny: 1. Feature Requests for Kampala Release
[3:19pm] PeterThoeny: 2. Extensions
[3:19pm] PeterThoeny: 3. Review Urgent and Not So Urgent Bugs
[3:19pm] PeterThoeny: 4. Miscellaneous
[3:19pm] PeterThoeny: ---++ 1. Feature Requests for Kampala Release
[3:19pm] PeterThoeny: http://twiki.org/cgi-bin/view/Codev/WebChanges
[3:19pm] PeterThoeny: http://twiki.org/cgi-bin/view/Codev/StopSpecifyingStyleOfTocInSystemWeb - by HideyoImazu-san
[3:20pm] HideyoImazu: any question or concern?
[3:20pm] PeterThoeny: not really, looks good
[3:20pm] PeterThoeny: just one thing, are two classes needed?
[3:21pm] HideyoImazu: as you can imagine, it occurred to me while i'm working on the bootstrap based skin
[3:21pm] PeterThoeny: brainstorm: what if the twikiTocFloat has the style of twikiToc?
[3:21pm] PeterThoeny: that way only one or the other class needs to be specified
[3:22pm] PeterThoeny: so,
[3:22pm] PeterThoeny: %TOC{title="Contents:" class="twikiToc"}%
[3:22pm] PeterThoeny: or
[3:22pm] PeterThoeny: %TOC{title="Contents:" class="twikiTocFloat"}%
[3:23pm] PeterThoeny: less typing, although two classes is fine too
[3:24pm] HideyoImazu: that approach makes twikiToc and twikiTocFloat similar
[3:24pm] PeterThoeny: yes, that's the point
[3:24pm] HideyoImazu: there will be duplication of lines
[3:25pm] PeterThoeny: duplication in css, but easier for end user
[3:25pm] PeterThoeny: i am fine with either approach, slighly prefer to user friendly approach
[3:25pm] HideyoImazu: there might be a case where twikiTocFloat is used for non TOC
[3:26pm] PeterThoeny: possibly yes
[3:26pm] PeterThoeny: your call, just my feedback
[3:26pm] PeterThoeny: shall we vote?
[3:26pm] HideyoImazu: class="twikiToc twikiTocFloat" needs more typing but very obvious
[3:27pm] PeterThoeny: ok
[3:27pm] HideyoImazu: so I prefer class="twikiToc twikiTocFloat"
[3:27pm] PeterThoeny: sounds good
[3:27pm] PeterThoeny: +1
[3:27pm] HideyoImazu: +1
[3:28pm] PeterThoeny: accepted by today's release meeting
[3:28pm] PeterThoeny: http://twiki.org/cgi-bin/view/Codev/TopicTitleHandler - by HideyoImazu-san
[3:28pm] PeterThoeny: this looks good
[3:29pm] PeterThoeny: performance impact should be minimal if plugin does not use this
[3:29pm] HideyoImazu: right
[3:29pm] HideyoImazu: this is for StructNavPlugin I mentioned a couple of times in the past
[3:30pm] HideyoImazu: it has %STRUCTNAV_TOPICTITLE%, which I believe to be introduced before %TOPICTITLE% in TWiki
core
[3:30pm] PeterThoeny: oic
[3:30pm] HideyoImazu: now that we have %TOPICTITLE%, I'd like to phase out %STRUCTNAV_TPOICTITLE%
[3:31pm] PeterThoeny: as for api, possibly easier to return the title?
[3:31pm] PeterThoeny: if undef or empty string, title is assumed to be not defined by plugin
[3:32pm] HideyoImazu: that's my plan
[3:32pm] HideyoImazu: no
[3:32pm] HideyoImazu: there is a possibility of the title "0"
[3:32pm] PeterThoeny: i refer to function return value not title ref parameter
[3:33pm] HideyoImazu: Plugins::dispatch()
[3:33pm] PeterThoeny: ok, in this case test can be undef or not
[3:33pm] HideyoImazu: sees if a plugin returns true or not
[3:35pm] PeterThoeny: oic, that would fail with a "0" title
[3:35pm] HideyoImazu: I'm afraid there are plugins returning undef, "0", or "" meaning failure
[3:35pm] PeterThoeny: yes, better not to touch this code
[3:36pm] PeterThoeny: ok, so title ref parameter is safer
[3:36pm] HideyoImazu: right
[3:36pm] HideyoImazu: I'll put this discussion in the Codev topic
[3:36pm] PeterThoeny: ok
[3:36pm] PeterThoeny: committed 2015-09-11, almost 7 days
[3:36pm] HideyoImazu: I thought about it but didn't write there
[3:37pm] PeterThoeny: +1 from me
[3:37pm] HideyoImazu: +1
[3:38pm] HideyoImazu: let me tell my further plan
[3:38pm] PeterThoeny: accepted by release meeting
[3:39pm] HideyoImazu: the biggest reason why I haven't contributed StructNavPlugin is the pattern skin and topmenu
skin don't support it
[3:39pm] HideyoImazu: unless StructNavPlugin feature can be used with a skin available at twiki.org, there is little
use of it
[3:40pm] HideyoImazu: but finally, I got an opportunity to contribute a skin of my writing
[3:40pm] HideyoImazu: which can have StructNavPlugin support
[3:41pm] PeterThoeny: ah
[3:41pm] HideyoImazu: that led me to propose topicTitleHandler()
[3:41pm] PeterThoeny: got it
[3:41pm] HideyoImazu: it's a long story
[3:41pm] HideyoImazu: I wrote StructNavPlugin 8 years ago
[3:42pm] PeterThoeny: ok
[3:42pm] PeterThoeny: anything else on features?
[3:43pm] HideyoImazu: one related thing
[3:43pm] HideyoImazu: StructNavPlugin defines a web's structure with a topic having ---++, ---+++, and bullet point
items
[3:44pm] HideyoImazu: it has %STRUCTNAV_BREACRUMBS% returning breadcrumbs based on where in the navigation map the
current topic resides
[3:45pm] HideyoImazu: Let's say:
[3:45pm] HideyoImazu: ---++ Support
[3:45pm] HideyoImazu: * [[FirstResponse] [First response]
[3:45pm] HideyoImazu: * [[EscalationProcedure] [Escalation]
[3:46pm] HideyoImazu: are in the navigation map topic
[3:46pm] HideyoImazu: this is translated into the "Support" tab on the page header, which is a dropdown menu having
"First response" and "Escalation"
[3:47pm] HideyoImazu: on the FirstResponse page, %STRUCTNAV_BREACRUMBS% is expanded to "Support > First response"
[3:47pm] HideyoImazu: does it make sense so far?
[3:47pm] PeterThoeny: ah, so navigation map topics define the tabs on top with puldowns
[3:48pm] HideyoImazu: right
[3:48pm] PeterThoeny: got it
[3:48pm] PeterThoeny: what defines the set of nav map topics?
[3:49pm] HideyoImazu: STRUCTNAV_MAPTOPIC pref variables specifies the topic defining navigation
[3:49pm] HideyoImazu: variable
[3:49pm] PeterThoeny: comma list of topics?
[3:49pm] HideyoImazu: no
[3:49pm] PeterThoeny: or does the nav map topic define all tabs/pulldowns?
[3:49pm] HideyoImazu: basically one topic has an entire navigation map of a web
[3:49pm] PeterThoeny: ok
[3:50pm] HideyoImazu: this makes web restructuring very easy
[3:50pm] PeterThoeny: ah, so used on a per web level
[3:50pm] HideyoImazu: right
[3:50pm] PeterThoeny: looks useful
[3:50pm] HideyoImazu: often, a web grows organically
[3:51pm] HideyoImazu: and sometimes you need to change the organization of topics -- reshuffling topics
[3:51pm] PeterThoeny: yes
[3:51pm] HideyoImazu: with navigation based on parent-child relationships, that's painful
[3:52pm] HideyoImazu: with a navigation map page, it's doable
[3:52pm] PeterThoeny: well, if we would have a good drag & drop restructure it would be easy with parent/child
[3:53pm] PeterThoeny: does the dropdown & breadcrumb support more than one level?
[3:53pm] HideyoImazu: StructNavPlugin can put an XML or a JSON data of the navigation map
[3:53pm] HideyoImazu: the dropdowns are only one level
[3:54pm] PeterThoeny: i find multiple nesting for breadcrumb very useful if there are many pages
[3:54pm] HideyoImazu: primarily because I don't have CSS/JavaScript to handle multilevel menu handy
[3:54pm] HideyoImazu: it's quite possible to support multilevel menu as long as there is CSS/JavaScript supporting it
[3:54pm] PeterThoeny: yes
[3:55pm] HideyoImazu: but I'm not sure if multilevel menu is really useful
[3:55pm] HideyoImazu: it's probably not usable on touch ui
[3:55pm] PeterThoeny: maybe not so much for pulldown, but it is useful for breadcrumb
[3:55pm] HideyoImazu: sure
[3:56pm] HideyoImazu: StructNavPlugin supports any levels of structure
[3:56pm] PeterThoeny: which could easily be defined with nested bullets on nav map topic
[3:56pm] HideyoImazu: I was talking only about dropdown menu
[3:56pm] HideyoImazu: that's how StructNavPlugin works
[3:56pm] PeterThoeny: ok
[3:57pm] PeterThoeny: do you have a question/comment on this?
[3:57pm] HideyoImazu: so my question here is whether there is a plugin neutral way to provide breadcrumbs
[3:58pm] HideyoImazu: %TOPICTITLE% like thing for breadcrumbs
[3:58pm] PeterThoeny: ah
[3:58pm] HideyoImazu: currently in skins available at twiki.org, %META{"parent"}% is used
[3:59pm] HideyoImazu: maybe introducing %BREADCRUMBS% ?
[4:00pm] PeterThoeny: yes, and there is a pref variable
[4:00pm] PeterThoeny: let me check
[4:01pm] PeterThoeny: ah, there is a %PARENTBC%
[4:01pm] PeterThoeny: which uses the %META
[4:01pm] PeterThoeny: but it is intened to be used in headings
[4:01pm] PeterThoeny: such as:
[4:02pm] PeterThoeny: ---+ %PARENTBC% My Cool Stuff
[4:02pm] PeterThoeny: the parent breadcrumb is shown with smaller font
[4:03pm] HideyoImazu: ah
[4:04pm] PeterThoeny: * Set PARENTBC = %SET{ "parentlist" value="%META{ "parent"
nowebhome="on" format="$topic" separator=", " }%" }%%SET{ "parent" value="%CALCULATE{$LISTITEM(-1,
%GET{parentlist}%)}%" }%%CALCULATE{$LISTJOIN($sp»$sp, $LISTMAP([[$item] [$PROPERSPACE($item)] ,
%GET{parentlist}%))}% »
[4:04pm] HideyoImazu: it's defined on TWikiPreferences
[4:05pm] PeterThoeny: so for your use case we could define a new %BREADCRUMB% variable, possibly with format=""
parameter
[4:06pm] PeterThoeny: and a new plugin handler to hijack that
[4:06pm] HideyoImazu: I suppose %BREADCRUMBS{...}% will gradually replace %META{"parent" ...}%
[4:06pm] PeterThoeny: yes
[4:07pm] PeterThoeny: actually for your usecase you do not need a new variable
[4:07pm] PeterThoeny: as long as %META{"parent" ...}% can be redefined by a new plugin handler
[4:08pm] PeterThoeny: that way %PARENTBC% would just work
[4:09pm] HideyoImazu: there are webs using the navigation feature but using the standard breadcrumbs
[4:10pm] PeterThoeny: hmm, you can't have it both ways
[4:11pm] HideyoImazu: breadcrumbsHandler() of StructNavPlugin can refer to %STRUCTNAV_BREADCRUMBS_NATIVE%
[4:11pm] PeterThoeny: either keep separate (current), or be able to redefine and use one or the other depending if
redefined
[4:12pm] HideyoImazu: if %STRUCTNAV_BREADCRUMBS_NATIVE% is true, breadcrumbsHandler() returns false
[4:12pm] HideyoImazu: hence resort to the standard breadcrubms
[4:12pm] PeterThoeny: so what do you suggest?
[4:13pm] HideyoImazu: introducing %BREADCRUMBS% built-in variable calling breadcrumbsHandler()
[4:13pm] HideyoImazu: %BREADCRUMBS% is somewhat like %TOPICTITLE%
[4:14pm] HideyoImazu: breadcrumbsHandler() returning true first takes effect
[4:14pm] HideyoImazu: if no breadcrumbsHandler() returning true, it resorts to %META{"parent" ...}% behavior
[4:14pm] PeterThoeny: yes
[4:15pm] PeterThoeny: but why not do the plugin callback in %META{"parent" ...}%?
[4:15pm] HideyoImazu: I'm writing up a proposal along those lines
[4:16pm] PeterThoeny: and define a BREADCRUMBS as a twikipref setting along PARENTBC?
[4:16pm] HideyoImazu: there might be multiple plugins having breadcrumbsHandler()
[4:17pm] HideyoImazu: it's hypothetical but there can be a situation where, on one web, PluginA's breadcrumbsHandler()
takes effect, while on another web, PluginB's breacrumbsHandler() takes effect
[4:18pm] PeterThoeny: yes, that independent if handler works on a new BREADCRUMBS twiki varable, or the existing
%META{"parent" ...}%
[4:20pm] HideyoImazu: under what situation should StructNavPlugin's breadcrumbsHandler() call %META{"parent" ...}% ?
[4:20pm] PeterThoeny: time check: +80min
[4:20pm] PeterThoeny: no, other way around
[4:20pm] HideyoImazu: ah
[4:20pm] HideyoImazu: let me retract
[4:20pm] PeterThoeny: %META{"parent" ...}% calls breadcrumbsHandler()
[4:21pm] PeterThoeny: if null, uses existing parent/child hierarchy
[4:21pm] HideyoImazu: ok
[4:22pm] PeterThoeny: and then, define new BREADCRUMBS setting in twiki prefs that returns the %META{"parent" …}%,
[4:23pm] PeterThoeny: default a comma-space list, with support for separator and format parameters
[4:23pm] HideyoImazu: I think it's natural for %BREADCRUMBS% to yield breadcrumbs
[4:24pm] PeterThoeny: if you want i can do the BREADCRUMBS stuff (not handler invoked by %META{"parent" ...}%)
[4:24pm] HideyoImazu: than %META{"parent" format="..."}%
[4:24pm] HideyoImazu: %BREADCRUMBS% calls breadcrumbsHandler() is natural
[4:25pm] HideyoImazu: but %META{"parent" ..}% calling breadcrumbsHandler() is not natural
[4:25pm] PeterThoeny: no, my point is to define %BREADCRUMBS% as a pref setting, not a new internal twiki variable
[4:25pm] HideyoImazu: I know
[4:26pm] PeterThoeny: so %BREADCRUMBS% is defined like %PARENTBC% using %META{"parent" …}%
[4:26pm] HideyoImazu: my point here is using %META{"parent" ...}% to get breadcrumbs is not natual
[4:26pm] HideyoImazu: especially if plugin handlers are involved
[4:26pm] PeterThoeny: why?
[4:27pm] PeterThoeny: ah, i see why, one is parent trail, other is nav path
[4:27pm] PeterThoeny: ok, makes sense now
[4:27pm] PeterThoeny: so in this case we need new %BREADCRUMBS% twiki variable
[4:28pm] HideyoImazu: it's more philosophical than something else
[4:29pm] HideyoImazu: it's totally doable to have %META{"parent" ...}% call breadcrumbsHandler()
[4:29pm] PeterThoeny: you convinced me
[4:30pm] HideyoImazu: ok
[4:30pm] PeterThoeny: think what is better: singular %BREADCRUMB% or plural %BREADCRUMBS%
[4:30pm] HideyoImazu: let me write this up as a proposal
[4:30pm] HideyoImazu: plural %BREADCRUMBS%
[4:31pm] HideyoImazu: since it's about "Home > Something > Something"
[4:31pm] PeterThoeny: https://en.wikipedia.org/wiki/Breadcrumb_%28navigation%29
[4:31pm] HideyoImazu: rather than a piece
[4:31pm] PeterThoeny: "Breadcrumbs" or "breadcrumb trail"
[4:31pm] PeterThoeny: so yes, plural
[4:31pm] HideyoImazu: ah
[4:31pm] PeterThoeny: we should wrap up
[4:31pm] HideyoImazu: sure
[4:32pm] PeterThoeny: i suggest to skip the other agenda items this time
[4:32pm] HideyoImazu: agreed
[4:33pm] PeterThoeny: let's close the meeting
[4:33pm] PeterThoeny: i'll post the logs and minutes as usual
[4:33pm] PeterThoeny: thanks HideyoImazu-san!
[4:33pm] PeterThoeny: ttyl
[4:33pm] HideyoImazu: ttyl. thank you for the discussion
[4:55pm] HideyoImazu left the chat room. (Ping timeout: 246 seconds)