You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whimsical.apache.org by Sam Ruby <ru...@intertwingly.net> on 2017/09/10 17:39:58 UTC

secretary/workbench on Vue (was Roster on Vue)

I've started converting the secretary workbench to Vue.js.  The
mainline functions (index, parts lists) work, and when I encounter a
specific problem (like context menus not working), I've found that I
can go to that specific section of code and fix the problem.  Signs
are pointing to a smooth conversion.

For now, work is being done in a branch, and you can follow along by
looking at the following pull request:

https://github.com/apache/whimsy/pull/40

I'll work with the secretary on the timing of the merge.

- Sam Ruby

On Sun, Sep 3, 2017 at 2:38 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> I've converted the roster tool to use Vue.js instead of React.js; I've
> pushed the code to a branch where it can be evaluated prior to
> deployment.
>
> https://github.com/apache/whimsy/pull/38
>
> I chose Vue based on the apparent size of the development community,
> and the fact that its API is roughly a proper superset of React.js's.
> In other words, it looks like you can do more with Vue than you can
> with React, though for now, I've stuck with just using React like
> functions.
>
> Note: the API is not compatible, though most of the changes are to
> wunderbar and ruby2js, so this work won't need to be redone for the
> other tools.  Most of the remaining changes are mechanical.  Only two
> logic changes were required.
>
> See the pull request above for details.
>
> - Sam Ruby
>
> On Sat, Jul 15, 2017 at 7:48 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Sat, Jul 15, 2017 at 2:46 PM, John D. Ament <jo...@apache.org> wrote:
>>> I saw this coming for a few weeks.  Its been decided that Apache projects
>>> can't use the Facebook BSD+Patents license.  Among the projects that use
>>> this license include React.  Whimsy makes heavy use of React.  Do we care?
>>> We're not creating releases.
>>
>> We have not created releases, and no releases are currently planned.
>>
>> React.js code is checked into the repository:
>>
>> https://github.com/apache/whimsy/tree/master/www/assets
>>
>> The following whimsy tools make use of React.js:
>>
>> * board/agenda/
>> * roster/
>> * secretary/workbench/
>> * test/icla/
>>
>> One can't reasonably claim that this dependency is "optional".
>>
>> I also question whether it is possible to even have a "compile time
>> dependency" in JavaScript.
>>
>> - - - -
>>
>> The least impact solution would be to argue the case that this is a
>> system dependency.  That would involve removing it from the source
>> tree, installing this source via other means (preferably via puppet,
>> at worst case manually), and arranging for a httpd alias or equivalent
>> to load this data from its location outside of the source tree.  Not
>> sure what the impact would be to wunderbar which as currently coded
>> would correctly determine that this code is not installed.
>>
>> The next least impact would be to convert the code to use something
>> like preact (https://preactjs.com/) or inferno
>> (https://infernojs.org/), both of which claim to have a compatible
>> API.  (I have no experience with either).  While there have been legal
>> cases as to whether APIs are subject to copyright, I don't believe
>> this is an issue w.r.t. patents; which is the relevant concern with
>> the Facebook "Additional Grant" with a termination clause.
>>
>> There may be other libraries that could be evaluated (e.g.,
>> https://www.slant.co/topics/3790/~react-js-alternatives)
>>
>>> John
>>
>> - Sam Ruby

Re: secretary/workbench on Vue (was Roster on Vue)

Posted by Sam Ruby <ru...@intertwingly.net>.
On Thu, Sep 14, 2017 at 2:09 AM, Craig Russell <ap...@gmail.com> wrote:
> Hi Sam,
>
>> On Sep 13, 2017, at 4:38 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>
>> I'd like to merge this change now.  Any reason why I should wait?
>
> As long as you are not leaving town any time soon, go for it. I'll let you (dev@) know immediately if there are any issues.

Cool.  Pushed.

If you encounter a problem and you can leave an incoming messages
which can be used to exhibit the problem temporarily in the queue that
would be helpful.  You can mention the message hash from the url (e.g.
201709/cc6549c47a) to point me at the message without revealing any
private information.

>> If all goes well, you should see no difference.  If not, report the
>> problem, and I'll try to fix it promptly.
>>
>> I've been watching lately for things like ICLAs with digital
>> signatures, but haven't seen one in the past few days.
>
> There are many functions that are among the 2% of functions that are hardly ever needed but very nice to have. For example, just today I used the burst/staple to reorder pages 2/1. I think that one was just done out of spite but still. If I had to import it from mail, swap using pdf editor, send it to secretary, etc. etc. I would be sad.

Saw that one, and tried it out locally.

>> So there may
>> be some function that I haven't tested.
>
> Makes me sad there is not a test framework with test data but volunteers welcome. ;-)
>
> Maybe we can discuss what is needed in a test plan next month at ATO.

I have a test suite for the board agenda tool, but to my knowledge,
only Brett has ever run it.  It contains not only unit tests, but also
tests involving web server interactions, svn commits, javascript
functionality, the works.

If you can describe in words a test you would like to see, and provide
any relevant test data, I can codify it.  Once there are a few tests
in place, perhaps you can try adding some yourself.

> Craig

- Sam Ruby

Re: secretary/workbench on Vue (was Roster on Vue)

Posted by Craig Russell <ap...@gmail.com>.
Hi Sam,

> On Sep 13, 2017, at 4:38 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> I'd like to merge this change now.  Any reason why I should wait?

As long as you are not leaving town any time soon, go for it. I'll let you (dev@) know immediately if there are any issues.
> 
> If all goes well, you should see no difference.  If not, report the
> problem, and I'll try to fix it promptly.
> 
> I've been watching lately for things like ICLAs with digital
> signatures, but haven't seen one in the past few days.  

There are many functions that are among the 2% of functions that are hardly ever needed but very nice to have. For example, just today I used the burst/staple to reorder pages 2/1. I think that one was just done out of spite but still. If I had to import it from mail, swap using pdf editor, send it to secretary, etc. etc. I would be sad.

> So there may
> be some function that I haven't tested.

Makes me sad there is not a test framework with test data but volunteers welcome. ;-)

Maybe we can discuss what is needed in a test plan next month at ATO.

Craig
> 
> - Sam Ruby
> 
> On Sun, Sep 10, 2017 at 1:39 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> I've started converting the secretary workbench to Vue.js.  The
>> mainline functions (index, parts lists) work, and when I encounter a
>> specific problem (like context menus not working), I've found that I
>> can go to that specific section of code and fix the problem.  Signs
>> are pointing to a smooth conversion.
>> 
>> For now, work is being done in a branch, and you can follow along by
>> looking at the following pull request:
>> 
>> https://github.com/apache/whimsy/pull/40
>> 
>> I'll work with the secretary on the timing of the merge.
>> 
>> - Sam Ruby
>> 
>> On Sun, Sep 3, 2017 at 2:38 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>> I've converted the roster tool to use Vue.js instead of React.js; I've
>>> pushed the code to a branch where it can be evaluated prior to
>>> deployment.
>>> 
>>> https://github.com/apache/whimsy/pull/38
>>> 
>>> I chose Vue based on the apparent size of the development community,
>>> and the fact that its API is roughly a proper superset of React.js's.
>>> In other words, it looks like you can do more with Vue than you can
>>> with React, though for now, I've stuck with just using React like
>>> functions.
>>> 
>>> Note: the API is not compatible, though most of the changes are to
>>> wunderbar and ruby2js, so this work won't need to be redone for the
>>> other tools.  Most of the remaining changes are mechanical.  Only two
>>> logic changes were required.
>>> 
>>> See the pull request above for details.
>>> 
>>> - Sam Ruby
>>> 
>>> On Sat, Jul 15, 2017 at 7:48 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>> On Sat, Jul 15, 2017 at 2:46 PM, John D. Ament <jo...@apache.org> wrote:
>>>>> I saw this coming for a few weeks.  Its been decided that Apache projects
>>>>> can't use the Facebook BSD+Patents license.  Among the projects that use
>>>>> this license include React.  Whimsy makes heavy use of React.  Do we care?
>>>>> We're not creating releases.
>>>> 
>>>> We have not created releases, and no releases are currently planned.
>>>> 
>>>> React.js code is checked into the repository:
>>>> 
>>>> https://github.com/apache/whimsy/tree/master/www/assets
>>>> 
>>>> The following whimsy tools make use of React.js:
>>>> 
>>>> * board/agenda/
>>>> * roster/
>>>> * secretary/workbench/
>>>> * test/icla/
>>>> 
>>>> One can't reasonably claim that this dependency is "optional".
>>>> 
>>>> I also question whether it is possible to even have a "compile time
>>>> dependency" in JavaScript.
>>>> 
>>>> - - - -
>>>> 
>>>> The least impact solution would be to argue the case that this is a
>>>> system dependency.  That would involve removing it from the source
>>>> tree, installing this source via other means (preferably via puppet,
>>>> at worst case manually), and arranging for a httpd alias or equivalent
>>>> to load this data from its location outside of the source tree.  Not
>>>> sure what the impact would be to wunderbar which as currently coded
>>>> would correctly determine that this code is not installed.
>>>> 
>>>> The next least impact would be to convert the code to use something
>>>> like preact (https://preactjs.com/) or inferno
>>>> (https://infernojs.org/), both of which claim to have a compatible
>>>> API.  (I have no experience with either).  While there have been legal
>>>> cases as to whether APIs are subject to copyright, I don't believe
>>>> this is an issue w.r.t. patents; which is the relevant concern with
>>>> the Facebook "Additional Grant" with a termination clause.
>>>> 
>>>> There may be other libraries that could be evaluated (e.g.,
>>>> https://www.slant.co/topics/3790/~react-js-alternatives)
>>>> 
>>>>> John
>>>> 
>>>> - Sam Ruby

Craig L Russell
Secretary, Apache Software Foundation
clr@apache.org http://db.apache.org/jdo


Re: secretary/workbench on Vue (was Roster on Vue)

Posted by Sam Ruby <ru...@intertwingly.net>.
I'd like to merge this change now.  Any reason why I should wait?

If all goes well, you should see no difference.  If not, report the
problem, and I'll try to fix it promptly.

I've been watching lately for things like ICLAs with digital
signatures, but haven't seen one in the past few days.  So there may
be some function that I haven't tested.

- Sam Ruby

On Sun, Sep 10, 2017 at 1:39 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> I've started converting the secretary workbench to Vue.js.  The
> mainline functions (index, parts lists) work, and when I encounter a
> specific problem (like context menus not working), I've found that I
> can go to that specific section of code and fix the problem.  Signs
> are pointing to a smooth conversion.
>
> For now, work is being done in a branch, and you can follow along by
> looking at the following pull request:
>
> https://github.com/apache/whimsy/pull/40
>
> I'll work with the secretary on the timing of the merge.
>
> - Sam Ruby
>
> On Sun, Sep 3, 2017 at 2:38 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> I've converted the roster tool to use Vue.js instead of React.js; I've
>> pushed the code to a branch where it can be evaluated prior to
>> deployment.
>>
>> https://github.com/apache/whimsy/pull/38
>>
>> I chose Vue based on the apparent size of the development community,
>> and the fact that its API is roughly a proper superset of React.js's.
>> In other words, it looks like you can do more with Vue than you can
>> with React, though for now, I've stuck with just using React like
>> functions.
>>
>> Note: the API is not compatible, though most of the changes are to
>> wunderbar and ruby2js, so this work won't need to be redone for the
>> other tools.  Most of the remaining changes are mechanical.  Only two
>> logic changes were required.
>>
>> See the pull request above for details.
>>
>> - Sam Ruby
>>
>> On Sat, Jul 15, 2017 at 7:48 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>> On Sat, Jul 15, 2017 at 2:46 PM, John D. Ament <jo...@apache.org> wrote:
>>>> I saw this coming for a few weeks.  Its been decided that Apache projects
>>>> can't use the Facebook BSD+Patents license.  Among the projects that use
>>>> this license include React.  Whimsy makes heavy use of React.  Do we care?
>>>> We're not creating releases.
>>>
>>> We have not created releases, and no releases are currently planned.
>>>
>>> React.js code is checked into the repository:
>>>
>>> https://github.com/apache/whimsy/tree/master/www/assets
>>>
>>> The following whimsy tools make use of React.js:
>>>
>>> * board/agenda/
>>> * roster/
>>> * secretary/workbench/
>>> * test/icla/
>>>
>>> One can't reasonably claim that this dependency is "optional".
>>>
>>> I also question whether it is possible to even have a "compile time
>>> dependency" in JavaScript.
>>>
>>> - - - -
>>>
>>> The least impact solution would be to argue the case that this is a
>>> system dependency.  That would involve removing it from the source
>>> tree, installing this source via other means (preferably via puppet,
>>> at worst case manually), and arranging for a httpd alias or equivalent
>>> to load this data from its location outside of the source tree.  Not
>>> sure what the impact would be to wunderbar which as currently coded
>>> would correctly determine that this code is not installed.
>>>
>>> The next least impact would be to convert the code to use something
>>> like preact (https://preactjs.com/) or inferno
>>> (https://infernojs.org/), both of which claim to have a compatible
>>> API.  (I have no experience with either).  While there have been legal
>>> cases as to whether APIs are subject to copyright, I don't believe
>>> this is an issue w.r.t. patents; which is the relevant concern with
>>> the Facebook "Additional Grant" with a termination clause.
>>>
>>> There may be other libraries that could be evaluated (e.g.,
>>> https://www.slant.co/topics/3790/~react-js-alternatives)
>>>
>>>> John
>>>
>>> - Sam Ruby