Date: June 7, 2012 10:24:59 PM PDT
Subject: JerusalemMeetingLog2012x06x08.txt
[9:01pm] himazu joined the chat room.
[9:01pm] himazu: Hi Peter
[9:03pm] PeterThoeny: hi hideyo-san
[9:04pm] PeterThoeny: i heard in rained in tokyo when the venus transit was
[9:05pm] himazu: probably so
[9:05pm] himazu: I wasn't paying a lot of attention
[9:05pm] PeterThoeny: it was good weather here, but i did not watch in person outside, just via
nasa webcast feed
[9:07pm] PeterThoeny: http://svs.gsfc.nasa.gov/vis/a010000/a010900/a010996/index.html has some good
images
[9:07pm] himazu: Today I'm on webchat.freenode.net hoping it won't be disconnected in the middle of
the session.
[9:08pm] himazu: Oh. Very cool pictures!
[9:08pm] zgecse joined the chat room.
[9:08pm] PeterThoeny: hi zgecse
[9:08pm] zgecse: hi
[9:09pm] PeterThoeny: let's do a quick intro
[9:09pm] •PeterThoeny is working on twiki for over 10 years
[9:09pm] zgecse: I'm new, just did the XmlRpcPlugin recently
[9:09pm] himazu: * himazu is working on twiki for over 5 years in Morgan Stanley
[9:09pm] PeterThoeny: currently doing consulting, lots of twiki work and other web dev work
[9:10pm] himazu: I recently started contributing to twiki.org
[9:10pm] PeterThoeny: ah, zgecse is ZoltanGecse, welcome to the release meeting!
[9:11pm] zgecse: I'm a physicist working in the ATLAS experiment at CERN
[9:12pm] PeterThoeny: thank you zoltan for contributing
http://twiki.org/cgi-bin/view/Plugins/XmlRpcPlugin
[9:12pm] PeterThoeny: time check: +12 min
[9:13pm] PeterThoeny: i think that's it, only the three of us this time
[9:13pm] PeterThoeny: agenda at
http://twiki.org/cgi-bin/view/Codev/JerusalemReleaseMeeting2012x06x08
[9:13pm] PeterThoeny: proposed agenda:
[9:13pm] PeterThoeny: 1. Feature Requests for Jerusalem Release
[9:13pm] PeterThoeny: 2. Review Urgent and Not So Urgent Bugs
[9:13pm] PeterThoeny: 3. TWiki Foundation Discussion
[9:13pm] PeterThoeny: 4. Miscellaneous
[9:13pm] PeterThoeny: ---++ 1. Feature Requests for Jerusalem Release
[9:13pm] PeterThoeny: http://twiki.org/cgi-bin/view/Codev/TWikiFeatureProposals
[9:14pm] PeterThoeny: we do not have any new one to approve
[9:14pm] PeterThoeny: himazu: do you want to discuss
http://twiki.org/cgi-bin/view/Codev/RepositoryForSiteAndWebMetadata ?
[9:14pm] PeterThoeny: i have seen the changes, spec is coming along nicely
[9:15pm] himazu: not really. I'm curently writing it.
[9:15pm] himazu: together with unit test.
[9:15pm] PeterThoeny: nice
[9:15pm] himazu: I'm 70-80% there before first comit
[9:15pm] PeterThoeny: feel free to do incremental checkins
[9:16pm] PeterThoeny: it is good to have more checkin activity
[9:16pm] himazu: since it's a part of the TWiki core, I don't want to commit it prematurely
[9:17pm] PeterThoeny: however, this is a nicely encapsulated feature, so not fully baked code
should not be an issue
[9:17pm] himazu: ok
[9:17pm] PeterThoeny: as long as the $TWiki::cfg{MdrepoImpl} is not set in LocalSite.cfg
[9:17pm] himazu: and seen by other people earlier should be beneficial
[9:17pm] himazu: sure
[9:17pm] PeterThoeny: xactly
[9:18pm] himazu: I wonder if there is a place in TWiki documentation suitable to mention it.
[9:18pm] PeterThoeny: zgecse: where are you located, at cern in geneva or in canada?
[9:19pm] PeterThoeny: himazu: i recommend a dedicated page in the TWiki web that explains the spec
and setup
[9:19pm] PeterThoeny: with some links to it
[9:19pm] himazu: OK
[9:20pm] PeterThoeny: links from installation guide, ManagingWebs, possibly TWikiAccessControl
[9:21pm] himazu: understood
[9:21pm] PeterThoeny: if it makes sense, consider adding conditional text in WebPreferences
[9:21pm] himazu: i'll write up a new page and ask for feedback before putting links to it.
[9:22pm] PeterThoeny: e.g. test for enabled feature and show some variable if enabled
[9:22pm] himazu: I'll consider that.
[9:23pm] zgecse: I'm 50% in Geneva, 50% in Vancouver
[9:23pm] PeterThoeny: the system requirements page needs to be updated as well with new
dependencies (mention that optional,only needed if this feature is enabled)
[9:23pm] PeterThoeny: right now in geneva?
[9:23pm] himazu: ok
[9:24pm] zgecse: now in Vancouver
[9:24pm] PeterThoeny: ok, so not too bad with meeting time
[9:24pm] PeterThoeny:
[9:24pm] zgecse: no no
[9:24pm] PeterThoeny: anything else on medat data repo?
[9:25pm] PeterThoeny: "meta data repo"
[9:25pm] himazu: nothing right now
[9:25pm] PeterThoeny: i'd like to mention a few things i did in last two weeks
[9:25pm] PeterThoeny: "no-brainer" features
[9:26pm] PeterThoeny: these are small enhancements that do not need the formal feature proposal
process
[9:26pm] PeterThoeny: Item6880: INCLUDE and STARTSECTION with disablefixlinks parameter
[9:26pm] PeterThoeny: http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item6880
[9:27pm] PeterThoeny: this is a feature for a borderline case:
[9:27pm] PeterThoeny: when a topic is included across webs, WikiWord links are prefixed with web of
included topic
[9:27pm] PeterThoeny: in some cases this needs to be turned off
[9:27pm] PeterThoeny: this feature does that
[9:28pm] PeterThoeny: i needed this for a user app library (i will get to that shortly)
[9:28pm] PeterThoeny: next:
[9:28pm] PeterThoeny: Item6882: FORMFIELD variable with hyphenated and shortened form field value
[9:28pm] PeterThoeny: http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item6882
[9:29pm] PeterThoeny: the %FORMFIELD variable now understands a format="$value(20, ...)"
[9:29pm] PeterThoeny: which truncates the value after 20 chars
[9:29pm] PeterThoeny: i needed this for a twiki app
[9:30pm] PeterThoeny: both of these features are done
[9:30pm] himazu: that should be useful
[9:30pm] PeterThoeny: do you have a need for this?
[9:31pm] PeterThoeny: it is a small change that you could do for the current twiki
[9:31pm] himazu: not right now. but I may.
[9:31pm] PeterThoeny: now to the third feature that took most of my time:
[9:31pm] PeterThoeny: Item6879: Custom user reports for TWiki apps
[9:31pm] PeterThoeny: http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Item6879
[9:31pm] himazu: I've accumulated that sort of enhancements locally and I hope I can propose and
contribute in the near future.
[9:32pm] PeterThoeny: good
[9:32pm] PeterThoeny: on Item6879: i envision a growing api for twiki apps
[9:32pm] PeterThoeny: so far the api has mainly been core twiki and twiki plugins
[9:33pm] PeterThoeny: we have a third way: api via transclusions
[9:33pm] PeterThoeny: i envision over time many new libraries that enables twiki app developers to
write apps quickly
[9:34pm] PeterThoeny: the custom user reports for TWiki apps is the first library
[9:34pm] PeterThoeny: does that (library & api) make sense, what do you think?
[9:35pm] himazu: I kind of understand what you are aiming for. But I don't quite understand
Item6879
[9:36pm] PeterThoeny: ok, now to the actual item:
[9:36pm] PeterThoeny: best seen by looking at the actual library page i installed today on
twiki.org
[9:36pm] PeterThoeny: http://twiki.org/cgi-bin/view/TWiki05x01/UserReports
[9:37pm] PeterThoeny: so, that page has sections (hidden in the page) that define the api
[9:37pm] PeterThoeny: think of page = library, and section = function
[9:37pm] PeterThoeny: by including a section with parameters you call a function
[9:38pm] PeterThoeny: for example, the first section, user_list:
[9:38pm] PeterThoeny: %INCLUDE{ "%SYSTEMWEB%.UserReports" section="user_list" limit="5" }%
[9:38pm] PeterThoeny: this returns the first 5 users
[9:39pm] PeterThoeny: for business_card, there are several sections
[9:39pm] PeterThoeny: as you can see in the doc
[9:39pm] himazu: and what enhancement was needed to achieve that?
[9:40pm] PeterThoeny: so, that UserReports page has the doc (how to use the api) and the code
(hidden sections that implement the code)
[9:40pm] zgecse: I'm not sure I'm following everything, but one feature I was missing recently is
to have the ability to INCLUDE a page that has VARIABLE definitions and use them
[9:40pm] zgecse: Something like in C: #include and then call the functions
[9:40pm] PeterThoeny: the new feature Item6880: INCLUDE and STARTSECTION with disablefixlinks
parameter,
[9:41pm] PeterThoeny: was needed for user_list
[9:41pm] himazu: understood, Peter
[9:41pm] himazu: Zoltan, I implemented a feature for that locally a while back.
[9:41pm] himazu: though I haven't contributed to twiki.org
[9:41pm] PeterThoeny: without it, the returned list was "TWiki.AJAlfieriCrispin,
TWiki.AbhinaiSrivastava, TWiki.AbhinavSonkar" instead of "AJAlfieriCrispin, AbhinaiSrivastava,
AbhinavSonkar"
[9:42pm] zgecse: Because now we need a dedicated Web and use the WebPreferences as the only
l"ibrary"
[9:42pm] himazu: my enhancement is to put a Web.Topic on a special variable on WebPreferences
[9:43pm] PeterThoeny: zgecse: the parameterized include should have the funtionality of C #include
[9:43pm] himazu: then after WebPreferences is read for variable definition, those extra topics are
read for variable definition.
[9:43pm] PeterThoeny: parameterized include is also called transclusion
[9:43pm] zgecse: If I understand, that leads to a syntax of %INCLUDE{....}% instead of %MYVAR{}%
[9:44pm] PeterThoeny: i wrote a blog about this,
[9:44pm] PeterThoeny: http://twiki.org/cgi-bin/view/Blog/BlogEntry201205x4
[9:45pm] PeterThoeny: there is also a related feature: parameterized variables,
[9:45pm] PeterThoeny: http://twiki.org/cgi-bin/view/TWiki/ParameterizedVariables
[9:45pm] PeterThoeny: this is like defining and using macro in other languages
[9:45pm] zgecse: Right, but the parametrized variables need to be defined in the WebPreferences to
be used by many topics
[9:46pm] PeterThoeny: yes, in webpreferences for web visibility
[9:46pm] PeterThoeny: or in Main.TWikiPreferences for site-wide visibility
[9:46pm] zgecse: So the developer of the library needs access to those
[9:47pm] PeterThoeny: ah, i see your point, not all app devs may have twikiadmingroup rights
[9:47pm] zgecse: Does a bi WebPreference page slow down every topic in the web?
[9:47pm] zgecse: big
[9:48pm] PeterThoeny: should not have a big impact
[9:48pm] PeterThoeny: pref settings are stored as perl hashes, which as pretty fast
[9:49pm] zgecse: In ATLAS we have a huge Web and I have no access to the WebPrefs, but would like
to share my VARDEFS between several pages
[9:50pm] himazu: that's along the same lines as my extension.
[9:50pm] PeterThoeny: zgecse: if you do not want to bug the admin for each webpref change you can
do another way:
[9:50pm] zgecse: When you INCLUDE a topic, the VARDEFS of that topic are not "imported"
[9:51pm] PeterThoeny: define your logic in a page that has %SET{}%, then INCLUDE that page in pages
that need those settings
[9:51pm] PeterThoeny: you can also define persistent settings with %SET
[9:52pm] PeterThoeny: that way you do not need to include, e.g. you can define once, then use
everywhere
[9:52pm] PeterThoeny: http://twiki.org/cgi-bin/view/Plugins/SetGetPlugin
[9:52pm] PeterThoeny: has the docs
[9:52pm] zgecse: this works also for parametrized VARS?
[9:53pm] PeterThoeny: no, probably not with parameters
[9:54pm] PeterThoeny: you can use %SET and %GET also on the same page to temporarily store things
[9:54pm] PeterThoeny: see example at http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Component
[9:55pm] PeterThoeny: it contains two SEARCHes, with result saved in %SETs
[9:55pm] himazu: I suppose a feature to include variable settings would be useful for twiki
applications.
[9:55pm] PeterThoeny: then using %CALC you can format output
[9:55pm] zgecse: heres an example MACRO that I would like to share between topics:
[9:55pm] zgecse: * Set SETCOLOR =
'%redlow{default="10000000"}%' and '%DEFAULT%' < '%redhigh{default="-10000000"}%'" then="Red"
else=%IF{"'%DEFAULT%' > '%yellow{default="10000000"}%' and '%DEFAULT%' < '%yelhigh{default="-
10000000"}%'" then="Yellow" else=%IF{"'%DEFAULT%' > '%greenlow{default="10000000"}%' and
'%DEFAULT%' < '%greenhigh{default="-10000000"}%'" then="Green"
[9:55pm] zgecse: else=%otherwise{default="Grey"}%}%}%}%}%">%DEFAULT%
[9:56pm] zgecse: or:
[9:56pm] zgecse: * Set PLOT =
[9:57pm] zgecse: I have many of these...
[9:58pm] PeterThoeny: the easiest is to ask peter jones to add you to the group that can change
the webpref
[9:58pm] PeterThoeny:
[9:59pm] zgecse: He gave me a web
[9:59pm] PeterThoeny: time check: +60 min
[9:59pm] PeterThoeny: let's wrap up shortly
[9:59pm] PeterThoeny: ---++ 2. Review Urgent and Not So Urgent Bugs
[10:00pm] PeterThoeny: i fixed one bug in the last 2 weeks
[10:00pm] PeterThoeny: nothing else to report
[10:00pm] PeterThoeny: ---++ 3. TWiki Foundation Discussion
[10:00pm] PeterThoeny: not much progress
[10:00pm] PeterThoeny: i wish to see some progress on survey
[10:00pm] PeterThoeny: i'll ping george
[10:01pm] PeterThoeny: ---++ 4. Miscellaneous
[10:01pm] PeterThoeny: anything?
[10:02pm] PeterThoeny: i invite you to look at the raw text of %SEARCH, %SET, %CALC example i
mentioned:
[10:02pm] PeterThoeny: http://develop.twiki.org/~twiki4/cgi-bin/view/Bugs/Component?raw=on
[10:03pm] PeterThoeny: ah, actually i used %CALCULATE{$SET()}% instead of %SET{}%
[10:03pm] PeterThoeny: same purpose
[10:04pm] PeterThoeny: there are no hashes for twiki apps
[10:04pm] PeterThoeny: but you can simulate hashes
[10:04pm] PeterThoeny: as i did in the first search
[10:04pm] himazu: incidentally, peter, have you thought about making TWiki variables more readable?
[10:05pm] PeterThoeny: what i needed is to build up a hash of all components of hashes of all
states
[10:05pm] PeterThoeny: yes, twiki vars can get very messy
[10:05pm] PeterThoeny: not sure how to make them more readable
[10:05pm] zgecse: quotation can be a nightmare...
[10:06pm] himazu: maybe we need a different way.
[10:06pm] PeterThoeny: yes, the delay of evals can be tricky too
[10:07pm] PeterThoeny: for example, we want the calc in search format to eval with each search hit,
not once before search
[10:07pm] PeterThoeny: himazu: any idea how to do differently?
[10:07pm] himazu: TeX might give us some hint
[10:07pm] PeterThoeny: worth exploring
[10:08pm] PeterThoeny: now back to the example:
[10:08pm] PeterThoeny:
format="$percntCALCULATE{$SETM(total_$formfield(Component)_$formfield(CurrentState), +1)}$percnt"
[10:08pm] zgecse: Also problematic: VAR1{VAR2{VAR3{$percnt $percnt}}}
[10:09pm] PeterThoeny: for example, if Item12345 has Component = HeadlinesPlugin and CurrentState =
New, a CALC variable named "total_ HeadlinesPlugin_New" is increased by 1
[10:09pm] PeterThoeny: so instead of a hash of hashes i build a flat hash
[10:10pm] PeterThoeny: the second SEARCH build a list of all compontents, also assigned to a CALC
setting
[10:11pm] PeterThoeny: then in %CALCULATE{$LISTJOIN($n, $LISTMAP(... i combine the two settings to
build the table dynamically
[10:12pm] PeterThoeny: anyway, i just wanted to mention, so that you can get some more ideas for
your own needs
[10:13pm] PeterThoeny: any feedback? anything else?
[10:13pm] zgecse: I would need to think more about this
[10:14pm] PeterThoeny: if nothing else we can close the meeting
[10:14pm] himazu: see you guys!
[10:14pm] zgecse: Thanks for your help
[10:14pm] zgecse: see you
[10:16pm] PeterThoeny: ok, i'll post the logs
[10:16pm] PeterThoeny: thanks for participating!
[10:16pm] PeterThoeny: see you next time