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