[Greasemonkey] Introducing Monkeygrease: The Server-Side Greasemonkey

Rich Manalang rich.manalang at gmail.com
Tue Nov 8 09:16:12 EST 2005


Ouch! GM Enterprise Edition?! Hardly! The only similarity between MG and GM
is that it can inject javascript into a requested page... that's it. MG is
not at all trying to be a GM. The only other things I'd like to build into
MG is the ability to do cross-domain XMLHTTPRequest out of the box and have
a nice web interface for management. As noted on the MG site... it's a "very
simple" servlet filter. I think a lot can be done with it in its current
state. The community will drive the additional features that need to be
built if there are any.

Rich

On 11/8/05, why the lucky stiff < why at ruby-lang.org> wrote:
>
> On Tue Nov 8 07:41:58 EST 2005, Prakash Kailasa said:
> > How this compare with MouseHole
> > (http://redhanded.hobix.com/inspect/mousehole11InPlainView.html)?
> >
> > I can see that Monkeygrease runs alongside (under the control of?) the
> > webserver, whereas MouseHole is run and controlled by individual
> > users.
> >
> > Are there any other differences/similarities?
>
> Yeah, quite a few. Mostly because MouseHole has a head start, but the
> approaches are different.
>
> Here's an overview:
>
> - Monkeygrease injects HTML elements into four possible positions on a
> page (top and bottom of <head> or top and bottom of <body>). MouseHole
> hands the user an XHTML object which can be freely transformed.
>
> - Monkeygrease user scripts are written in XML. MouseHole scripts can
> be written in Ruby or Javascript (GM-style).
>
> - Monkeygrease requires Java and a configured web application server.
> MouseHole requires Ruby and leverages its own personal web server
> written in Ruby. However, MouseHole's Windows installer has no
> prerequisites.
>
> - Monkeygrease scripts must be added to an XML file by hand and requires
> a reboot. MouseHole presents the user with an installation window when
> scripts are encountered on the web.
>
> - Monkeygrease URL matching is done by hand in the XML config.
> MouseHole URL matching is done in the browser using an interface similar
> to GM.
>
> - Monkeygrease offers no database API like GM does (GM_setValue,
> GM_getValue). MouseHole offers each script a tiny, transparent object
> database. (i.e. myScript.db['lastVisited'] = Time.now.)
>
> - I'm unsure about Monkeygrease's ability to do cross-domain
> XMLHttpRequest. I can't see a way to do this. I know MH and GM can
> both do this (i.e. BookBurro, you're on amazon.com <http://amazon.com> and
> the user script
> is given permission to hit bn.com <http://bn.com>, powells.com<http://powells.com>,
> etc.)
>
> - MouseHole also lets user scripts mount their own tiny web
> applications. This is a huge advantage. For example, there is a
> MouseWiki, an Instiki-clone which mounts at http://mouse.hole/wiki. A
> better example is MouseCommand, which is a wiki for storing small Ruby
> scripts which can be execute via URL. Think YubNub.
> <http://redhanded.hobix.com/inspect/wikiShellOnMousehole.html>
>
> Overall, it seems like Monkeygrease's biggest weakness is avoiding the
> power of a full programming language in its scripting. The XML file
> only supports a very small number of commands, limiting the creativity
> of the users. I mean that's what the grease is, right?
>
> From Rich's explanation, it sounds like MG is supposed to be GM
> Enterprise Edition. So maybe he's being true to that legacy.
>
> _why
>
>
> _______________________________________________
> Greasemonkey mailing list
> Greasemonkey at mozdev.org
> http://mozdev.org/mailman/listinfo/greasemonkey
>


More information about the Greasemonkey mailing list