Release Meeting: 10 Jul 2017

Details

General status.

1. Urgent Task review

None at this time.

2. Development Discussion

Feature proposals

Proposals needing review

  • EnableFriendlyAttributeParser: GeorgeClark Accepted Proposal: Enable an old feature that has limited exposure. Needs further review. Ran into some implementation issues. The "Friendly" parser is not compatible with macros using unquoted default arguments.
    This was discussed at some length. No particular consensus, but any changes in this area are particularly dangerous.

Implementation underway

In Release Plan - no work

Feature requests that need further action

Completed

Other experimental

  • 14288 (Confirmed): rewrite to support pluggable edit engines Checkins on branches: Item14288

3. Next release

Patch release 2.1.4

  • Release from: Release02x01
  • Beta start:
  • Release target:

Feature release 2.2.0

  • Feature Freeze: 01 Sep 2017
  • Release from: master
  • Beta start: 15 Sep 2017
  • Release target: 15 Oct 2017

Next meeting - - Monday 07 Aug 2017 1300Z — ReleaseMeeting02x02_20170807

Please review and be prepared to discuss FeatureProposals and ReleasePlan

IRC Log

(08:33:21 AM) JulianLevens [~JulianLev@82.168.31.129] entered the room.
(08:41:18 AM) MichaelDaum [~micha@dslc-082-083-074-201.pools.arcor-ip.net] entered the room.
(08:41:18 AM) MichaelDaum left the room (quit: Changing host).
(08:41:18 AM) MichaelDaum [~micha@foswiki/developer/MichaelDaum] entered the room.
(08:59:36 AM) MichaelDaum: Hi there.
(08:59:39 AM) gac410: Hi all - ready to get started?
(08:59:48 AM) MichaelDaum: Yes, sir.
(09:00:28 AM) gac410: Unless someone else wants to chair the next meeting,  this will be it until August.
(09:01:09 AM) gac410: Anyway ... first up.    Urgent tasks.   There have been none opened.   Anyone have any particular tasks to discuss?  
(09:02:24 AM) MichaelDaum: Not me.
(09:04:08 AM) gac410: hm.   Just for the logs...   uebera||,  vrurg,  JulianLevens ... are you all actually attending or just lurking?
(09:04:17 AM) gac410: Also anyone on FoswikiOnSlack?
(09:04:18 AM) JulianLevens: I'm here
(09:04:19 AM) MichaelDaum: vrurg, at some point I will have to dive into your code and start working on plugins.
(09:04:36 AM) MichaelDaum: whats the status of your branch atm?
(09:05:51 AM) gac410: Okay...   nothing on tasks.    Development discussion  ...   and I guess vrurg is lurking  
(09:05:52 AM) cdot [~crawford@foswiki/developer/cdot] entered the room.
(09:06:18 AM) MichaelDaum: okay maybe he will find time to reply async'ly
(09:06:47 AM) gac410: Left over from some weeks ago,  https://foswiki.org/Development/EnableFriendlyAttributeParser ....   I started to implement this in a test branch.     I ran into one challenge moving all the core macros into the new parser.
(09:07:35 AM) gac410: We very clearly document that the "default" parameter must be quoted.   But then in practice usually do not quote it.    ie   %ICON{foo}%    vs {"foo"}   :(
(09:08:24 AM) gac410: The friendly parser is actually not so friendly in this one case. If the default is not quoted, it's interpreted as a "boolean" argument instead of the default.   
(09:09:31 AM) JulianLevens: I support this in principle, of course you need to solve these challenges
(09:09:38 AM) gac410: So anyway... that one is stalled -  needs some guidance.   ;)    
(09:09:53 AM) MichaelDaum: yea, and I've seen people adopting the habit of not quoting the default param, i.e. in nested expressions.
(09:10:12 AM) JulianLevens: y, I'm guilty of that
(09:10:38 AM) cdot: i tried to make it the default many years ago, ran into issues like that, and quoting issues in complex nested exprs
(09:11:24 AM) JulianLevens: Weren't you also looking at allowing single quotes as well?
(09:11:30 AM) cdot: y
(09:12:01 AM) gac410: Right.   So "making it work as documented" is probably out as a solution.      Yes.   cdot's  "new"  parser is very flexible that way.   Single,  Double, and with limitations,  unquoted as well.
(09:12:04 AM) MichaelDaum: I am a bit worried about this feature actually: it has potential to break existing wiki apps, whereas the gain is not really a yaw dropper.
(09:12:37 AM) MichaelDaum: and it may be rather hard to get right
(09:12:42 AM) cdot: MichaelDaum: that's why i never pushed it. bigger fish to fry.
(09:12:48 AM) gac410: Well the single vs. double is IMO pretty valuable,  especially since we have a case where some macros use the new parser already -  %IF for ex.   
(09:13:27 AM) gac410: But that's not documentd either.  So sometimes  quotes are interchangable,  and sometimes they are not.   and up to the user to discover currently.  :(
(09:14:17 AM) MichaelDaum: this is a feature for advanced uses really. as fun as it may be.
(09:14:19 AM) cdot: the old parser couldn't work for %IF, though I forget why.
(09:15:05 AM) gac410: well maybe this one just gets left as-is,  but it seemed like it would be nice to make quote usage consistent.   I recall discovering the %IF{' '   and then trying it elsewhere and learning it didn't work.
(09:15:51 AM) MichaelDaum: if you are aiming at consistency, there is also the other direction: remove single quote support from %IF
(09:15:52 AM) gac410: It certainly eliminates need for escaping quotes in the  else=' '   then=" "   cases.  
(09:16:04 AM) gac410: Gah... that  would probably break a lot of stuff as well.
(09:16:17 AM) MichaelDaum: yea 
(09:16:19 AM) cdot: y, what MichaelDaum suggests would be for the best.
(09:16:56 AM) cdot: bottom line, you are going to break something, if you want to do this. Either way.
(09:17:31 AM) MichaelDaum: ... or leave it like it is and live with the inconsistencies hoping nobody gets too confused
(09:17:34 AM) gac410: I really doubt stepping IF back to the legacy parser would fly.    That would be a step backards.
(09:18:01 AM) cdot: I'm pretty sure you can't, for technical reasons.
(09:18:13 AM) cdot: a third approach is to document it.
(09:18:30 AM) vrurg: Hi all
(09:18:44 AM) JulianLevens: Hi vrurg
(09:18:50 AM) MichaelDaum: just listing options: (1) consistency by bringing the feature to other macros as well (2) consistency by removing the (hidden) feature from %IF (3) leave it inconsistent by doing nothing
(09:18:51 AM) gac410: maybe try to figure out a way to fix the "friendly" parser  -  Allow a single unquoted parameter to be the "default"  ?    I think as soon as you have blah=""  options, then the default does require quoting.
(09:18:57 AM) MichaelDaum: I am still undecided where to go
(09:19:07 AM) cdot: "writing documentation" is NOT doing nothing!
(09:19:31 AM) JulianLevens: Ans it mitigates the problem
(09:19:34 AM) MichaelDaum: oh docu...sure.
(09:19:58 AM) JulianLevens: It's just a lot of hard work
(09:19:59 AM) gac410: right.    At least it's not a mystery.    well if I get some time,  I'll take a look at the friendly parser,  see if there is any possibility of allowing a unquoted default.
(09:20:26 AM) JulianLevens: Or a variant of the friendly parser?
(09:20:31 AM) ***cdot prefers the documentation option
(09:21:01 AM) gac410: Or if someone else gets some ambition  :D      Anyway... my stalled work is in https://foswiki.org/Tasks/Item14398    branch
(09:21:02 AM) MichaelDaum: wait a sec: what is the minimum feature set to implement in order to get consistency?
(09:21:42 AM) MichaelDaum: does it go beyond allowing single quote next to double quote?
(09:21:55 AM) gac410: I don't understand ..
(09:22:25 AM) MichaelDaum: what you were explaining is the difficulties having NO quotes 
(09:22:27 AM) gac410: It allows:    single quotes   comma separated attributes   unquoted spaceless values   spaces around the = 
(09:22:59 AM) MichaelDaum: okay, now what is the minimum feature set to be consistent among macros including %IF as it is right now?
(09:23:19 AM) MichaelDaum: do we need to implement all the features you just listed to get consistency?
(09:23:40 AM) gac410: Well the parser exists and is in use.   When a macro is "registered"   it can chose the legacy or friendly parser.   This is all core code from Foswiki 1.0 ...
(09:23:42 AM) MichaelDaum: or are they a by-catch
(09:24:29 AM) MichaelDaum: so it is the "by-catch" that is hard to get right ... NOT the single quotes
(09:24:30 AM) gac410: i did not actually touch the parser.   All I did in this feature was change the register & core macro process to default to the friendly parser  rathern than the legacy parser.
(09:24:55 AM) ***cdot thinks the only thing of real value in that list is the single quotes, and even that's debatable.
(09:25:27 AM) cdot: The original reason for the friendly parser was to steer the project towards table-driven parsing of macros
(09:25:28 AM) gac410: Well for %IF   the single quotes stuff is pretty important IMHO.   It's used all over in core as well.  
(09:25:55 AM) MichaelDaum: gac410, I can agree with you here.
(09:26:06 AM) cdot: since we started using the left-right parser for macros, the need for table driven diminished
(09:26:52 AM) cdot: also the performance of table driven parsers in perl is way below what I would have expected
(09:27:30 AM) cdot: so, my vote is to focus on matching single quotes in the "old" parser.
(09:28:23 AM) MichaelDaum: cdot, do you think we would _need_ a different parser tech (a table driven one) in order to get the complete feature set done correctly? 
(09:28:52 AM) cdot: the feature set as described? No.
(09:29:21 AM) ***gac410 is a bit reluctant to actually change the parsers themselves directly.    A lot can go wrong.   ;)
(09:29:33 AM) MichaelDaum: so potentially we _would_ be able to do it even with the kinda parser that we have now, cdot?
(09:29:38 AM) cdot: they are very simple, and there are many unit tests
(09:30:03 AM) JulianLevens: Just checking the code I don't think adding single quotes is too hard?
(09:30:20 AM) JulianLevens: I'm bound to be proven wrong though
(09:30:21 AM) cdot: MichaelDaum: not sure. I think the main problem is the abuses. For exmple, I think the old parser tolerates unclosed quoted strings.
(09:30:48 AM) cdot: because it was never well written, it has been abused (albeit unconciously)
(09:30:58 AM) MichaelDaum: heh :)
(09:32:00 AM) cdot: JulianLevens: the problem isn't handligh single quotes, it's all the edge cases, places where the old parser was "broken" and now tolerates horrible constructs which "just work"
(09:32:24 AM) cdot: %ICON{nerf}% is just the tip of that iceberg
(09:32:40 AM) cdot: %ICON{OMG what="does" thismean}%
(09:32:41 AM) MichaelDaum: okay I think I have an opinion now
(09:32:55 AM) gac410: Y...  I was trying to leave the parsers as-is,  and just flip the default,  which would allow plugins or core to still revert to the old parser as needed.
(09:32:55 AM) gac410: Anyway,  https://foswiki.org/Development/EnableFriendlyAttributeParser    please add comments there.  and there is an item branch for testing.  
(09:33:54 AM) gac410: Just like %IF is an exception - uses the new parser,  we could make ICON  etc.  exceptions to stick with the old parser.    Thats another way to side-step the issue.
(09:34:17 AM) ***cdot hates %ICON with a passion :-(
(09:34:25 AM) MichaelDaum: I think we should add single quote support, seems a low hanging fruit, and get consistency. the rest of the feature set simply needs more research. of course it would be an added bonus.
(09:35:41 AM) cdot: and while you're at it, support escape characters properly too :-)
(09:35:47 AM) gac410: The new parser would allow things like %SEARCH{"foo" nonoise nosort}%    I think.   
(09:35:56 AM) cdot: it would
(09:36:08 AM) gac410: vs. needing to use  nonoise="on" sort="off" 
(09:36:32 AM) gac410: ie any unquoted word becomes boolean 
(09:36:39 AM) cdot: correct
(09:36:49 AM) MichaelDaum: nice. I like it.
(09:37:02 AM) MichaelDaum: yet still
(09:37:12 AM) gac410: That's all in the core today... just need to select it when registering the macro.
(09:38:14 AM) gac410: Anyway ...  Julian ...  any progress on backlinks   :D   (You knew I had to ask  )
(09:38:47 AM) JulianLevens: No, been getting my life back in order
(09:39:03 AM) JulianLevens: That's pretty much done
(09:39:11 AM) gac410: You are in good company then.   
(09:39:45 AM) JulianLevens: I've had the good problem of harvesting a lot of peaches
(09:39:50 AM) gac410: vrurg ... MichaelDaum asked earlier:   whats the status of your branch atm?
(09:40:57 AM) vrurg: Trying to work in parallel, might be slow on answering...
(09:41:06 AM) vrurg: I'm docuementing it. 
(09:41:28 AM) vrurg: Basically, I have all desired frameworks implemented.
(09:41:29 AM) gac410: Ahh   The most hated task for developers  
(09:42:08 AM) vrurg: There're certainly bugs, extensions code has a serious design flaw I have now time to fix.
(09:42:38 AM) gac410: Of your feature branches,  is there one that should be the focus of testing?    Anything with all the features merged up? 
(09:42:44 AM) vrurg: But otherwise it runs with plackup on my setup and I use it to check docuemntation formatting.
(09:43:04 AM) gac410: Ah... and for testing,  for now you recommend plackup   vs. apache or nginx?
(09:43:36 AM) vrurg: Ah, and command line tools are mostly broken! But I guess we need another hero to redone the build system and have all tools moved in it.
(09:44:12 AM) vrurg: Item14237 is the most featurefull one. The one I'm focused on.
(09:44:18 AM) MichaelDaum: gac410, you'd still have nginx (or apache) as a proxy server.
(09:44:46 AM) gac410: y.  need that for the pub access I assume.
(09:44:51 AM) vrurg: plackup is sufficient for testing. With static serving middleware it does all a normal web server woud do.
(09:45:10 AM) MichaelDaum: vrurg, y.
(09:45:12 AM) vrurg: Nothing else is needed. 
(09:45:22 AM) gac410: You don't need a proxy to serve pub?
(09:45:25 AM) vrurg: pub is served with the middleware,
(09:45:34 AM) vrurg: That's the point.
(09:45:35 AM) gac410: you lost me
(09:45:55 AM) vrurg: cd $FOSWIKI_HOME/core; plackup bin/foswiki.psgi
(09:45:59 AM) vrurg: that's all
(09:46:14 AM) MichaelDaum: for development and testing serving pub via plackup is sufficient.
(09:46:23 AM) gac410: cool.
(09:46:33 AM) MichaelDaum: in a production env, you still have a web server.
(09:47:31 AM) vrurg: In some simple cases people might even rely on starman or any other PSGI manager with pre-forking to have no web/proxy server in front. 
(09:48:01 AM) vrurg: But that's certainly for internal use by a small to middle size team.
(09:48:23 AM) MichaelDaum: right, like using foswiki on your laptop as a personal knowledge base
(09:48:46 AM) gac410: It would simplify the old "Foswiki-on-a-stick"   that we've dropped.
(09:49:18 AM) vrurg: I'm currently docuemnting modules/classes. It turns out that writing proper documentation for the new specs format is slightly beyond my skills for now.
(09:50:12 AM) vrurg: The new extensions functionality is demoed with DBConfigExtension which stores LSC in a database.
(09:50:54 AM) vrurg: The extensions doesn't cover all aspects of new extensions but gives an idea of how things work.
(09:51:09 AM) MichaelDaum: okay I will have a look at it
(09:51:26 AM) gac410: For our release plan and 2.2 ...    We had deferred to September.   which puts 2.2 a full year beyond when we originally targeted it.      So we are 2-months away from a freeze -  with not much changed in feature land.    Do we push it out again?  
(09:51:50 AM) vrurg: BTW, I tried to make a lightning speech at TPC2017 but that was complete failure. ;)
(09:52:10 AM) MichaelDaum: how come?
(09:53:12 AM) gac410: I'd like to get the new TinyMCE into a release.  So maybe we should stick to the September target and just go with what we have.    From my testing on trunk,  TMCE has some wrinkles and is not as compatible as legacy mode would promse.
(09:53:37 AM) MichaelDaum: gac410, let's keep the pressure high (... on me) 
(09:54:20 AM) gac410: Okay.   So September feature freeze / beta start still on track.
(09:54:23 AM) cdot: MichaelDaum: I've had a couple of people interested in the pluggable editor framework too.
(09:55:27 AM) gac410: speaking of editor,  someone recently asked how to go back to the very original "textbox" editor.   Which indeed still works by disabling natedit skin and setting NOWYSIWYG. 
(09:55:37 AM) cdot: TMCE really needs some concentrated work on the WysiwygPlugin to cater for the changes in the editor. Basically it requires integrating a CSS parser and decompiler.
(09:56:05 AM) gac410: Their use case for a personal wiki was a firefox plugin that opens "vi"  on textboxes. 
(09:56:34 AM) cdot: gac410: how very 1980's!
(09:56:34 AM) gac410: So their request was that we do not remove that old original editor as we all all the new shiny bits.
(09:56:42 AM) MichaelDaum: I am using codemirror in vi mode on the current editor experimental branch, gac410
(09:57:07 AM) MichaelDaum: even :w and :x works
(09:57:24 AM) gac410: I have to admit ...  I do find the ocasional jkljkkk   and :wq   in topics that I've edited   :D
(09:57:29 AM) MichaelDaum: as well as recording macros ... amazing
(09:58:23 AM) gac410: cool  That would be nice for the vi die-hards.    Now for the real fringe ...   emacs mode  ?
(09:58:35 AM) MichaelDaum: codemirror's implementation of vi is really close to the real thing
(09:58:36 AM) gac410: (not me for sure...)
(09:59:01 AM) cdot: gac410: I think there's already an emacs mode somewhere
(09:59:17 AM) MichaelDaum: emacs, vi, ... see http://codemirror.net/demo/emacs.html
(09:59:22 AM) gac410: cool.
(10:00:38 AM) MichaelDaum: another interesting route in pluggable editors is adding https://github.com/share/sharedb to it
(10:00:50 AM) gac410: Coming up on an hour.   Unless someone wants to volunteer - next meeting will be 2 weeks after that, or  August 7th.  
(10:01:13 AM) vrurg: cdot: BTW, for my DBIQueryPlugin calling external vim to edit embedded perl code is priceless.
(10:02:19 AM) MichaelDaum: I already have a web socket infrastructure in place adding redis for pub/sub services. sharedb seems to be a good fit to get a concurrent editing system in place.
(10:02:30 AM) gac410: If vi mode  or other codemirror modes could have syntax highlighting of TML ... so that Macros highlighted as typed - matching quotes,  etc.  That would be worth it's weight in gold.
(10:02:53 AM) MichaelDaum: already there: syntax hiliting as you type
(10:03:00 AM) gac410: Concurrent editing would be really nice,  and take collaboration to the next level
(10:03:24 AM) MichaelDaum: https://demo.michaeldaumconsulting.com/bin/view/Sandbox/NatEditTest
(10:03:39 AM) gac410: that's really nice.    Michael - your new editor framework just bumped up high on the 2.2 feature list even without a feature request...  :D
(10:04:34 AM) MichaelDaum: I am not sure I will be done with it in the current 2.2 timeline. I'd rather stop working on the editor and get my other todos in shape for 2.2 
(10:04:46 AM) MichaelDaum: and have the new editor in a 2.3 or so
(10:05:02 AM) MichaelDaum: this is too important for a wiki to rush out
(10:05:11 AM) gac410: that's fair.
(10:17:59 AM) gac410: So... do we just push out to  Aug 21st for the next meeting?    or I'll hold on on the 7th anyway.    And anyone want to hold a meeting in two weeks in my absence?
(10:18:45 AM) MichaelDaum: btw I think we need to register a blog at http://blogs.perl.org/ and x-post there in order to get our news into the perliversum. 
(10:18:53 AM) MichaelDaum: ^blog^account
(10:19:15 AM) MichaelDaum: or does anybody of you already have registered there?
(10:20:29 AM) JulianLevens: I'd stick with 7th Aug for next meeting
(10:21:40 AM) vrurg: MichaelDaum: ++ on blog. We need advertising.
(10:22:42 AM) vrurg: https://www.youtube.com/watch?v=Wp60wXGBaTs&list=PLA9_Hq3zhoFxdSVDA4v9Af3iutQxLI14m&index=28 – my attempt to get people involved. Without even explaining what's it all about. Heh...
(10:22:54 AM) gac410: Okay ..   Next meeting Aug. 7th.  
(10:23:03 AM) gac410: Thanks everyone 
(10:23:13 AM) vrurg: Thanks gac410 !
(10:23:47 AM) MichaelDaum: Thanks
(10:24:29 AM) MichaelDaum: vrurg, watching your talk. already love it.
(10:26:27 AM) JulianLevens: Thanks

Topic revision: r2 - 10 Jul 2017, 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