Patricia Shanahan wrote on 2020-4-20 1:46PM EDT:
> I have two questions:
> 
> 1. What should I be learning and practicing to be able to help? It looks
> like JavaScript and React. Is that correct?

Whimsy as a whole is currently primarily Ruby scripts that directly tie
into our records and then produce HTML.  Most of the individual tools
are Ruby .cgi scripts, and will stay so.

Sam is porting the Agenda tool itself to Node.js, and simplifying the
architecture along the way.  I'm hoping this is the time I'll finally
start really learning JavaScript so I can work on it.

> 2. A couple of days ago I found a web page that gave a couple of docker
> commands for building and running, given a repository clone. I have
> installed docker on my Windows 10 system, and cloned the repository. Now
> I can't find that web page :-(. Link please.

Um, start here: https://github.com/apache/whimsy/

DOCKER.md describes how to setup a whimsy server on your machine,
meaning you can then test out almost anything in the whimsy deployment
locally.

If you're on OSX, then MACOSX.md is a lighter weight way to setup a
local server (i.e. without Docker).

DEVELOPMENT.md are basic setup notes and some specific tweaks to make.

Note that Sam's node.js Agenda work is only in beta now; although if you
want a preview it's super-simple to setup a partially working Agenda:

https://github.com/rubys/whimsy-board-agenda-nodejs

Does that cover it?  8-)

-- 

- Shane
  Whimsy PMC
  The Apache Software Foundation

> On 4/20/2020 6:48 AM, Matt Sicker wrote:
>> This is fairly exciting! I’ve never worked on a React application before,
>> but I’ve heard good things. Tooling has only vastly improved since I last
>> looked at it years ago.
>>
>> On Mon, Apr 20, 2020 at 08:37 Sam Ruby <ru...@intertwingly.net> wrote:
>>
>>> On Mon, Apr 20, 2020 at 8:59 AM Roy Lenferink <rlenfer...@apache.org>
>>> wrote:
>>>>
>>>> On 2020/04/20 11:19:38, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>> On Mon, Apr 20, 2020 at 3:23 AM Roy Lenferink <rlenfer...@apache.org>
>>> wrote:
>>>>>>
>>>>>> Hi Sam,
>>>>>>
>>>>>> I was trying to run the nodejs board agenda however it fails to show
>>> the board agenda.
>>>>>> I am running on CentOS 8 with yarn installed (yarn version 1.22.4).
>>>>>>
>>>>>> Running 'yarn dev' returns 'Starting the development server...,
>>> Compiled successfully! & You can
>>>>>> now view node-agenda-app in the browser.'.
>>>>>>
>>>>>> Viewing the board agenda page from the browser the React icon is
>>> spinning with the 'Fetching board
>>>>>> agenda...' text (it did ask to sign in as asf user). The 'Fetching
>>> board agenda...' text doesn't change.
>>>>>>
>>>>>> My terminal shows the following error:
>>>>>> [server] (node:27396) ExperimentalWarning: The fs.promises API is
>>> experimental
>>>>>> [server] TypeError: agenda.matchAll(...) is not a function or its
>>> return value is not iterable
>>>>>> [server]     at _default
>>> (/mnt/projects/asf/whimsy/whimsy-board-agenda-nodejs/src/server/sources/agenda/front.js:11:2
>>>
>>>>>> [server]     at parse
>>> (/mnt/projects/asf/whimsy/whimsy-board-agenda-nodejs/src/server/sources/agenda.js:34:5)
>>>
>>>>>>
>>>>>> The board agenda files are successfully checked out to
>>> work/svn/foundation_board/
>>>>>> Is this something you recognize?
>>>>>
>>>>> What version of node.js are you running?
>>>>
>>>> Well, who would've thought, I was running v10.16.3 :s
>>>> The 'problem' is solved and the 'Agenda' page of the board agenda runs
>>> fine.
>>>>
>>>> This definitely is easy to run; installing Node.js LTS & yarn and
>>>> you're
>>> good to go (centos 8).
>>>>
>>>> Thanks Sam!
>>>
>>> Cool!  I've added a minimum version check:
>>>
>>>
>>> https://github.com/rubys/whimsy-board-agenda-nodejs/commit/c023f5af7e7fe9dba1f507dfbd13a88ee2961c09
>>>
>>>
>>> I'm still a week or two away from something minimally useful, largely
>>> because am not merely trying to port this logic, but to have it use
>>> industry standard techniques.  I'm replacing my custom event system,
>>> router, and models with React, React Router, and React Redux.  The
>>> React Redux change is the one that changes the design the most.  It is
>>> also the change that will most make the code approachable by people
>>> coming to this code base.
>>>
>>> I will have a set of pages for developers to view the current state,
>>> contents of caches, etc.
>>>
>>> - Sam Ruby
>>>
>>>
>>>
>>>
>>>>> String.matchAll is a new JavaScript feature[1].
>>>>>
>>>>> Options: we can establish a minimum version of Node.js, I can avoid
>>>>> newish features, or we can use polyfills[2] for such functions.
>>>>>
>>>>>> Roy
>>>>>
>>>>> P.S.  Node.js version 14 is scheduled for tomorrow[3].  It is a
>>>>> long-term-support release.
>>>>>
>>>>> [1] https://www.strictmode.io/articles/whats-new-es2020/
>>>>> [2] https://www.npmjs.com/package/string.prototype.matchall
>>>>> [3] https://nodejs.org/en/about/releases/
>>>>>
>>>
> 

Reply via email to