On 09/30/2015 10:33 AM, Jim Jagielski wrote:
What I liked is that Marvin had 1 job: send reminders. As a general
rule of thumb, I dislike large monolithic platforms because they
become much too unwieldy, hence my "hesitation" in folding
it into Whimsy. But it is obvious that that position is no
longer tenable, esp when even when Marvin does its job correctly,
it gets "blamed" for "incorrect" postings and instead of fixing
what exists, people decide to recreate the wheel... But, after
all, if that's what people wish to do, who am I to get in the
way :)

It is a matter of perspective. I have taken occasion to look at Marvin and what I didn't like is that what I saw was a large monolithic script. By contrast, what whimsy has become is a collection of tools, with common code factored out into libraries.

Add to that the fact that I couldn't see a way to run Marvin on my machine and I couldn't find any tests, and I largely stayed away.

I see this as mostly a matter of history. The secretarial workbench (one of the whimsy applications) is largely the same way. Other than being able to run it on your own machine (or VM), it is also monolithic and with no tests.

By contrast, what the board agenda tool has become is a set of components and small scripts, each focused on a single task, and with tests. The role call application that Craig uses is for all practical purposes a separate application that is embedded in the board agenda. I have similar plans for the roster tool: the "add a committer to a PMC" tool will be small component.

Similarly, I hope that sending reminders becomes a small (as in one printed page) script that doesn't do anything more than check the date, load a list of intended recipients, and send a emails. Everything else is factored out, and the underlying data (PMCs, podlings, etc) can be displayed and updated using a web application. Backed and supported by a set of people who are able to run the small scripts on their machine, make changes, run tests, and push the changes out to production.

It will take time, but if I can get people to join me, I'm confident that together we will get there.

"You may say I'm a dreamer
But I'm not the only one
I hope some day you'll join us
And the world will be as one"

- Sam Ruby

On Sep 30, 2015, at 10:14 AM, Sam Ruby <ru...@intertwingly.net> wrote:

On 09/30/2015 09:24 AM, Jim Jagielski wrote:
Please kill Marvin the bot. Sam wants to take over its functionality
within Whimsy and I see no reason to continue any work at all in
Marvin. People prefer adding stuff to Whimsy instead of fixing
Marvin, which is fine by me.

So just trash Marvin totally and completely... I will no
longer work on it or bother with it at all.

First, a big thanks for maintaining Marvin to this point!  I'm aware of how 
thankless that job can be, and how it often involves taking responsibility for 
fixing things that are outside your control.

- - -

Second: Gulp.  The biggest "problem" with Marvin the bot is that it has (had?) 
one primary maintainer.  A problem that Whimsy shares.

I plan to address that problem.

For the near term, my focus will be on making it possible for people to run 
individual whimsy tools on their own machine (Mac OS/X, Linux, docker 
container, Vagrant VM) so that people can try out changes before contributing 
them back.

With respect to the incubator, what I would like to see is podlings integrated 
into both the roster[1] and agenda[2] tools.

I'm currently rewriting the roster tool to take advantage of things I learned 
with the latest agenda rewrite.  The goal is to make the roster tool totally 
read/write: there will no longer be a need to ssh into people.apache.org to run 
a Perl script to update committee info. Everything should be doable from a web 
interface.

What this also means is that cron jobs will tend to be small scripts. Take a 
list of items (a list which you can see using the web interface, for example, a 
list of board agenda items which are missing) and perform an action (like send 
an email).

When this is done there should never again be a need to edit podlings.xml with 
a text editor.

I'm also planning to take the following to heart: http://s.apache.org/hZ

As applied to the incubator, what I plan to do is to rough in podling support 
and leave it to others to fill in the details.

- - -

Places to get started (in preferred order):

https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/README

https://github.com/rubys/whimsy-agenda#readme

https://svn.apache.org/repos/infra/infrastructure/trunk/projects/whimsy/www/test/roster

Preferred place for discussion:

dev@whimsical.apache.org

- Sam Ruby

[1] https://whimsy.apache.org/roster/
[2] https://whimsy.apache.org/board/agenda/

Reply via email to