Release Meeting: 26 Jan 2015

Details

1. Discussion of current development

2. Release blockers

7 blockers. Are we ready to begin alpha?
  • Configure tasks:
    • 13220 (Closed): undefok NUMBERs generate a Number format error on an undef value Resolved!

  • Other tasks:
    • 13227 (Closed): Bootstrap fails under Mod_Perl and
    • 13228 (Closed): jsonrpc fails with no method if Apache2::Request is installed. POSTDATA is unavailable under Apache2::Request, Fixed, but needs review.
    • 13040 (Closed): Foswiki 1.2 issues on Nginx More FastCGI issues than Nginx. Fixed
There was considerable discussion of the issues under Mod_perl and FastCGI issues.

  • Closed / Resolved / Defered blockers (as of this meeting)

  • Not really blockers
    • 12855 (Closed): Audit core DEPENDENCIES - Admistrivia / Documentation update for when we are ready to build release packages.
    • 11262 (Closed): Update Installation Guide - We can solicit review from users testing the beta packages.
    • 13139 (Closed): Backwards compatibility issues with Foswiki 1.2 default extensions - Part of dependency review / testing effort. Need to test all 1.2 extensions against 1.1 (and 1.0.x?)
    • 12888 (Closed): Unit tests are failing - Catch-all. We had a recent jump in fails. 11 tests failing.

3. Cleanup (repeat from last meeting)

Lots of tasks with commits against trunk. Building a release notes is going to be hell.

Please try to review tasks listed in NeedsResolution This lists every task that has checkins listed, but is not in a release state. (Not Closed, Not Waiting for release, Not No Action, not Duplicate). We can't really release until every task has been reviewed.
  • Work that is not complete, but safe for 1.2. Please set Target release for 2.0
  • Work that is questionable. Revert if required.
  • Work that needs to be documented in release notes. Set to Waiting for release. And make sure target is Minor / Release 1.2.0
  • Work that is complete, but doesn't need to be documented. (Fixing a trunk bug that was never released for ex.) Set to No Action.

Repeat plea that all developers need to help with Tasks Cleanup process. The Tasks web really needs a thorough cleanup.
  • If we cannot recreate it (possibly fixed along the way), set it to "No Action"
  • If it's a reasonable idea, set it to "Confirmed", or "Needs Developer"
  • If it's an undocumented ToDo list task, Either set Waiting for feedback or No Action it.
  • And *please* try to set a valid Component or Components ... creating new as needed.

4. Translations

Since our last meeting, Jan Krueger (Jast) employer offered to host a weblate server for the Foswiki project. He will hopefully have more information at today's meeting. This is excellent news, as they have weblate experience internally.

Issues:
  • We will need DNS updates. This may require SvenDowideit. Does anyone else have access to our DNS configuration?
  • Still need to develop a new workflow between github and weblate, and decide if and how to attribute checkins to tasks.

5. Other business

  • We are in feature freeze.... No commits of Enhancements. Bugfix only.*
  • We will be in string freeze the moment Weblate comes online. Expect it shortly*

Default extensions for Foswiki 1.2.

There was some further discussion of shipping ModPerlEngineContrib and FastCGIEngineContrib with Foswiki 1.2, and bringing them under "Release Control". Now that the blocking bugs appear to have been resolved, there is now support for bundling these extensions.

There was also some brief discussion of bundling JQTablePlugin as a default extension for Bot control and client side table sorting. MichaelDaum suggested that there are alternatives that would need to be considered. So not bundled in 1.2.

Next actions

Next meeting - - Monday February 9, 2015 1300Z

IRC Log

(07:57:52 AM) gac410: g'morning all
(07:58:01 AM) JulianLevens: Afternoon
(08:04:08 AM) CDot entered the room.
(08:05:26 AM) CDot: what?
(08:05:52 AM) gac410: Ah... never mind.   you snuck in while I was on the other window  :)
(08:06:37 AM) gac410: Howdy all ... ready to get started?    My major requirement - a cup of coffee - has now been met  
(08:09:16 AM) gac410: Before we start.  Does anyone have anything to add to the agenda?  http://foswiki.org/Development/ReleaseMeeting01x02_20150126
(08:09:36 AM) CDot: ok, that's me done my bit :-)
(08:10:02 AM) gac410: Wohoo.   A bit of testing and hopefully that kills the last significant blocker ... 
(08:11:39 AM) CDot: not looked at the MailMethod problem yet
(08:12:11 AM) gac410: Ah..  I figured that was the same as all the other strings not being quoted when written
(08:12:24 AM) CDot: no, that was never the problem
(08:12:30 AM) CDot: the issue was a JS one
(08:12:39 AM) jomo entered the room.
(08:12:55 AM) CDot: of course it may be the case taht the JS fix has cured it
(08:13:05 AM) CDot: dunno until I try, and not had a chance yet
(08:14:41 AM) gac410: Frirst on the agenda was a general tasks commentary.  Thanks to work by CDot and Michael,  the list of "New"   un-triaged engine task is down to 10.   From several 100.
(08:15:13 AM) foswiki_irc8 left the room (quit: Ping timeout: 246 seconds).
(08:15:22 AM) gac410: Extensions are still painful.    but that's not in the way of 1.2
(08:16:34 AM) gac410: ---++ 2. Release blockers    
(08:17:31 AM) gac410: Configure has probably been the most urgent issue.  Hopefully that's been resolved.    Thanks Crawford!
(08:17:39 AM) CDot: yrw
(08:18:29 AM) gac410: Bootstrap issues.    I've been crawling my way through vm's with various old versions of apache, nginx, mod_perl, lighttpd,  etc.  trying to cover issues in initiall install.   
(08:19:52 AM) gac410: Do we any anyone really knowledgable in Mod_Perl and especially Apache2::Request?     http://foswiki.org/Tasks/Item13228    jsonrpc was completely disfunctional on Apache2::Request
(08:21:13 AM) gac410: I managed to fix the issue, but I'm really uncomfortable with the hack.  In the engine I convert the json body data back into a "POSTDATA" query param
(08:21:16 AM) CDot: I know more about them than I would like, but nothing that I didn't read in the same doc as anyone else would read :-)
(08:21:51 AM) CDot: MichaelDaum is really the one to comment on JsonRpc
(08:22:05 AM) MichaelDaum: hey there
(08:23:00 AM) gac410: The issue is that the application/json content   is essentially an "upload"  - body content,  but without a filename.   Under Apache::Request, the way to get it is to open a stream against the request object, but without a filename    an "anonymous upload"  of sorts.
(08:23:24 AM) MichaelDaum: oha
(08:23:42 AM) gac410: But the Apache2::Request   object is replaced by a Foswiki::Request   as the engine proceeds,   so by the time the jsonrpc dispatcher gets it the object seems to have idsappeared.
(08:24:19 AM) MichaelDaum: that has potential to break even more
(08:24:55 AM) gac410: In the Engine   prepareBodyParms,   I detect an anonymous upload of application/json,   open a stream,  grab the data,  and make it a POSTDATA query param.
(08:25:08 AM) jast entered the room.
(08:25:30 AM) gac410: With that hack,   json works,  and generally foswiki appears functional.
(08:25:48 AM) MichaelDaum: does that only apply to mod_perl under apache 2.4 ?
(08:25:55 AM) gac410: It only impacts anyone with mod_perl,  AND  Apache2::Request   installed.
(08:26:48 AM) CDot: well, that's anyone using mod_perl with apache2, innit?
(08:27:29 AM) gac410: I think its unrelated to specific apache version.        If you run mod_perl,  but don't install Apache2::Request,   mod_perl falls back to CGI.  Still works
(08:29:08 AM) gac410: jsonrpc appears to be the only code that explicitly requests the queryparam of POSTDATA.  
(08:29:44 AM) MichaelDaum: how about upload
(08:30:11 AM) gac410: Works fine.    Upload   opens a stream handle against the request object   with a filename.    
(08:30:22 AM) CDot: upload relies on CGI to unpick POSTDATA, doesn't it?
(08:30:31 AM) andreli entered the room.
(08:30:34 AM) gac410: yeah.    It just opens a handle
(08:31:07 AM) gac410: That's essentially how I figured out the solution.  Reversing what upload did,   when I found that it does not touch POSTDATA.    
(08:31:30 AM) MichaelDaum: CmisPlugin and AngularPlugin access POSTDATA as we
(08:31:32 AM) MichaelDaum: ll
(08:31:43 AM) MichaelDaum: as well as XmlRpcContrib
(08:32:01 AM) MichaelDaum: and TopicInteractionPlugin
(08:32:09 AM) MichaelDaum: my grep says
(08:32:13 AM) gac410: hm...   Well none of them will work under Apache2::Request then.   as far as I can tell.   Though my fix should be rather universal.
(08:32:30 AM) gac410: Ah...   I don't have them checked out.
(08:33:07 AM) MichaelDaum: my thinking was it is okayish to access POSTDATA
(08:33:14 AM) gac410: My impression is that POSTDATA is a CGI construct, representing the anonymous body content in a post.    
(08:33:45 AM) MichaelDaum: it is a HTTP thing
(08:34:19 AM) gac410: Apache2::Request documents that you obtain posted body content by issuing  req->read( my $data, length)  
(08:34:39 AM) gac410: There is no queryparam called POSTDATA.     
(08:34:41 AM) MichaelDaum: I see
(08:34:42 AM) MichaelDaum: well
(08:35:16 AM) jast: I've never heard of POSTDATA before now :)
(08:35:52 AM) MichaelDaum: which CGI.pm version did you check, gac410 ?
(08:36:01 AM) gac410: I "data::dumpered"   from top to bottom trying to find POSTDATA.    it just aint' there with Apache2::Request.      
(08:36:14 AM) MichaelDaum: might be it is an incompatibility between newer mod_perl and older cgi.pm
(08:36:14 AM) gac410: It works fine with CGI.    
(08:37:08 AM) ***MichaelDaum never really used mod_perl for foswiki or twiki
(08:37:30 AM) gac410: At this point I have no idea of versions.      Everything was working,  I did "apt-get install libapache2-request-perl        and jsonrpc dies with no method.    
(08:38:19 AM) gac410: At the time I was debugging why the missing Apache2::Request dependency was missing from PerlDependencyReport.     ...    bug in pseudo-install failing to link it in.
(08:39:05 AM) gac410: Anyway...    raising this as something that needs more review.   So please ... anyone with any familiarity, please check it out.  thanks.
(08:40:38 AM) gac410: But "state of the state"    Bootstrap now works fine on mod_perl,   lighttpd,   and nginx/fastcgi.     I'm struggling with apache / fastcgi, but unrelated to bootstrap. 
(08:41:36 AM) CDot: nice one
(08:41:37 AM) gac410: I also discovered, that on apache,  each time fastcgi  re-init's     the PERL5LIB  gains another full copy of @INC.       
(08:42:35 AM) gac410: And if you loop re-initing,   which is the underlying problem I'm having on apache on my test system,   eventually re-init fails  due to ENV becoming too large
(08:43:12 AM) gac410: Lets move on ...
(08:43:46 AM) gac410: Now that jast is here,  I suggest we skip to discussion of Translate.foswiki.org.
(08:44:27 AM) gac410: jast's  employer offered to host translate.foswiki.org    They internally use weblate,  so have some experience with it.
(08:44:48 AM) MichaelDaum: thats great news. jast, thanks for that.
(08:44:58 AM) jast: we're using it with our own git server, but that shouldn't be much of an issue
(08:45:16 AM) jast: and github does support some kind of hook for weblate anyway IIRC
(08:45:28 AM) gac410: github has a pre-defined hook ... just have to point it at the url for weblate.
(08:46:16 AM) gac410: We have one roadblock.    Nobody has access to DNS.   so I have no idea how to point the hostname over to the new server.
(08:46:25 AM) gac410: We think it's Sven
(08:46:41 AM) CDot: it was. Sven holds (and paid for) all the DNS records.
(08:47:23 AM) jast: in the setup phase we can provide DNS on one of our domains
(08:48:19 AM) gac410: It would be nice to get  translate.foswiki.org pointed to it ... that is what everyone would be familiar with.
(08:48:53 AM) gac410: jast,  do you have any schedule yet as to when you would be able to have something ready to try?
(08:50:31 AM) Lynnwood entered the room.
(08:55:21 AM) jast: I'm setting up a VM as we speak
(08:55:31 AM) gac410: ah... excellent.
(08:56:20 AM) gac410: Okay,   if nobody has any questions / comments,    jast and I will plough forward.     Does anyone want to reach out to Sven about dns?
(08:57:21 AM) gac410: CDot:    I just ran a full bootstrap install after git pull.    "Can not do LocalSite.cfg"   after the save.  :(     Maybe I need to re-pseudo-install  to pick up latest js.   
(08:58:28 AM) CDot: doubt it. I didn't change any code that would affect that.
(08:58:33 AM) gac410: None of the Wizard input,  AND   none of the UI fields  (Password,  UserWebName, ...)  that I entered.   
(08:58:44 AM) gac410: are quoted.
(08:59:30 AM) CDot: please make sure you are using latest code
(08:59:35 AM) gac410: I will    
(08:59:40 AM) CDot: and tell me specifically what you tried
(09:00:27 AM) Lynnwood_ entered the room.
(09:01:09 AM) gac410: Okay.    Let's wrap up release meeting..     We skipped Agenda 3 -  general cleanup.   That's just a plea to everyone to keep scrubbing tasks   so that the summary will be a meaningful line in the release notes,  and the enhancement / normal   status is correct.
(09:01:22 AM) Lynnwood left the room (quit: Ping timeout: 240 seconds).
(09:01:23 AM) Lynnwood_ is now known as Lynnwood
(09:02:03 AM) gac410: Does anyone have any new items for the agenda?      Should we declare that we are now solidly in code freeze other than urgent bugs?
(09:02:20 AM) CDot: suits me
(09:02:32 AM) gac410: And in string freeze?   
(09:07:32 AM) gac410: CDot.   bad news.     
(09:08:17 AM) gac410: I performed following steps:      git clean -fdx,   git pull --rebase,   cd core;  ./pseudo-install.pl developer
(09:09:55 AM) gac410: browse to homepage,    click on configure link.    Set following fields:
(09:09:55 AM) gac410: Security & Auth {Password}   Store {OverrideUMask}   Mail (ran wizard to set up Net::SMTP (STARTTLS),  Misc expert:   Set UsersWebName   SandboxWebName.    
(09:10:03 AM) gac410: Save -  11 item's  saved.
(09:11:51 AM) gac410: perl  lib/LocalSite.cfg.      errors.    {Password}  Email settings (Password, senderhost, webmaster, username, method)  all unquoted.     UsersWeb and SandboxWeb   unquoted.
(09:13:06 AM) gac410: HEAD is a1497fa Item13220: unit test fix
(09:14:13 AM) gac410: Back to the agenda .... Any other business?       I really think we are in great shape.    Ah... I can think of one.
(09:14:24 AM) CDot: ffs, I don't have time for this.... :-(
(09:14:35 AM) gac410: I'm sorry CDot ... 
(09:15:09 AM) gac410: I don't think I'm doing anything unusual ...   
(09:15:54 AM) gac410: Anyway.   Should we include FastCGI and ModPerl Engine Contribs in our release package?    MichaelDaum  you were the one with concerns.
(09:16:30 AM) MichaelDaum: I am okay with FastCGI on branch Item13010
(09:16:36 AM) MichaelDaum: ... which I didn't merge to master yet
(09:17:02 AM) MichaelDaum: my action point to do that and then we can add it to the distro imho
(09:17:49 AM) gac410: Okay.    I'm still testing on apache.   It works fine on 1.1.x    and is installed on Foswiki.org.     But my 1.2 test system is having issues.     I installed a new ubuntu vm for the purposes of testing apache/fcgi   since I can't explain why my main system loops re-initing fastcgi over and over.
(09:18:51 AM) gac410: There was also a proposal to bundle JQTablePluginAsDefaultExtension       It's installed on Foswiki.org.    
(09:19:40 AM) gac410: My thought is that we bundle the engines,  but do not bundle the JQTable
(09:20:37 AM) MichaelDaum: agreed
(09:20:57 AM) MichaelDaum: there are more jquery table plugins out there that might provide a good alternative
(09:21:17 AM) MichaelDaum: e.g. JQDataTablesPlugin
(09:21:34 AM) MichaelDaum: or JQGridPlugin
(09:22:01 AM) gac410: MichaelDaum:   In Engine/FastCGI.pm     The line    $ENV{PERL5LIB} .= join $Config::Config{path_sep}, @INC;     makes the ENV grow on each re-init,   and will eventually cause a crash
(09:22:56 AM) MichaelDaum: ay
(09:23:15 AM) gac410: which one provides best compatibility with TablePlugin?    That was the main reason I went with JQTablePlugin 
(09:23:50 AM) gac410: on F.O.     mainly for Bot protection,  damn bots sorting every table by every column in every direction.
(09:24:31 AM) gac410: I hate not running f.o as we ship.   But we had to do something about the bots.
(09:25:36 AM) gac410: btw...   http://foswiki.org/Development/JQTablePluginAsDefaultExtension    needs concerns raised then, otherwise at 63 days it's "accepted"    :D
(09:26:48 AM) gac410: Okay.   Any new business,   if not,  adjourned.     Once we get Item13220 closed,  I'll build an Alpha package.   And will start the translation process as soon as we get a weblate workflow tested.
(09:27:37 AM) gac410: CDot:    If there is anything I can do to help.   I really did try to fix the quoting,  but got nowhere.  
(09:29:35 AM) gac410: Nobody volunteered to reach out to Sven about DNS.     I'll do that I guess then.     I'll just give him a heads up that we will need to change the IP of translate.    We can let the Assoc. figure out how we should handle DNS going forward.
(09:30:17 AM) JulianLevens left the room.
(09:31:06 AM) MichaelDaum: thanks to everybody on the meeting
(09:31:26 AM) gac410: yes indeed.   thanks all    I think we are in great shape.  
(09:35:04 AM) MichaelDaum: +1

Topic revision: r3 - 08 Feb 2015, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy