the Jellybean Object Web Server

Newest News

24 July 2004

Download the latest Jellybean::Engine snapshot for a CGI handler that supports POST methods. You can also pull from CVS for a fixed version. Oops.

16 July 2004

Download the latest Jellybean::Engine snapshot or pull from CVS for one potential bugfix in Jellybean::Engine and improved documentation on using Jellybean::App. You will like it.

13 July 2004

Download the latest Jellybean::Engine snapshot or pull from CVS to use Jellybean::App, the nicest and simplest launcher yet. (That doesn't sound like a big accomplishment, but it is much, much nicer.)

08 July 2004

Download the latest Jellybean::Engine snapshot or pull from CVS for bugfixes, especially if you wondered why the HTTP server ignored query strings or why the author of Test::MockObject::Extends can't seem to use it properly. Boy, is my face red.

05 July 2004

This version has some more minor cleanups (and one fewer dependency, thankfully). It can now run Maypole applications through Jellybean::Container::Maypole. As usual, download the latest Jellybean::Engine snapshot or pull from CVS. I'll put these on the CPAN soon.

11 March 2004

More minor updates, including some beefing-up of Jellybean::Formatter::Template. I'm using this in a personal application, so expect more updates soon. As usual, download the latest Jellybean::Engine snapshot or pull from CVS.

24 December 2003

Jellybean::Container::Wiki now supports Recent Changes. There are a couple of additional template fixes to make this work as well as one new template, but that's what you get. It's not pretty, but working and ugly beats beautiful and broken. Next up — fixing Jellybean::Container::WikiAnnotate.

21 December 2003

Hot (well, sorta) on the heels of the previous changes, I've just checked in the rest of the code to make Jellybean::Container::Wiki play nicely with the templating changes. It now occurs to me that Jellybean::Container::WikiAnnotate doesn't work now, but that's a quick change.

I need to add two or three more features before I can release 0.30. That should make installation much easier, though.

09 December 2003

I kept meaning to do more work.... Tonight's changes add Jellybean::Formatter::Template, a bare-bones Template Toolkit 2 - compatible formatter that allowed me to pull the HTML out of Jellybean::Formatter::Wiki::HTML. That was the big change I needed to start on other stuff. More soon.

14 September 2003

I've checked in some Wiki and WikiAnnotate changes that were mostly lost for several weeks. Also, I've added documentation to all modules in the system. The latest Jellybean::Engine snapshot is well-worth using. It's the same that's in CVS right now, so feel free to download and give it a try.

09 September 2003

I added Jellybean::Container::CGI, a container that allows you to run CGI programs from Jellybean. Yeah, it seems like a weird thing, but it's very handy. It's currently limited to very simple programs — GET is supported. POST is not. Query strings are supported. Cookies are not.

I'm not sure how best to handle error reporting. Feedback is quite welcome, as are small test cases for things you'd like to see added.

I also cleaned up a few files that are unnecessary and fixed another POD error. This feels pretty solid. Please give it a whirl from CVS.

30 June 2003

I added Jellybean::Action::Admin and cleaned up some minor formatting errors in POD and added some test counts to tests that don't have them.

28 June 2003

I've revised the Jellybean CVS tree with the latest code. Feel free to check out the freshest version. There've been several changes, so you're probably better off grabbing a new checkout.

19 June 2003

Documentation is coming along. The current snapshot contains docs for Jellybean::Engine and Jellybean::Request (too lazy to check, but I think that's right). I added directory handling and default files in Jellybean::Container::File and also created Jellybean::Action. It may have documentation. I'm again too lazy to check, since most of this work was accomplished on an airplane.

There's also a TODO. Among the biggest is "check this thing into CVS".

16 June 2003

Jellybean::Container::Wiki is nearly complete. It just needs a little more polish. Jellybean::Container::File now reports 404 errors correctly. The last really necessary feature there before a release is handling a default file when given a directory. I'll probably put a little more polish on Jellybean::Container::WikiSlideshow before a release. Maybe I'll also add Jellybean::Container::CGI, as it's very straightforward porting. Maybe not; feedback welcome.

9 June 2003

I continue to work on Jellybean. The latest version is always available as Jellybean-Engine.tar.gz. This version has Jellybean Wiki ported to the new framework. It's not gorgeous or featureful, but it works. I'll be using it next week.

So There Was a Hiatus...

I've been a bad author. I took some time off to write one book and then another and almost two years have flown by since I last worked much on Jellybean.

That's not to say that it doesn't work or it's not useful. I learned better ways to test and better ways to program. I solved some of the problems. I just didn't update the code or tell anyone what was going on.

I'm still pretty busy, but I'm planning to be a better author, since I want to use this and so do some other people. I've revamped just about everything based on what I know now. This new version doesn't do quite everything the old version did, yet. I'm planning to port the Wiki soon, because I have big plans for it. You're sure welcome to download Jellybean Engine 0.20 now though. It's a little messy, but it's an afternoon's worth of typing and three years' worth of thought. As always, patches welcome.

Some (old, possibly inaccurate) Description

What is it?

Jellybean is a Perl Object Server with an HTTP interface. (If you're dedicated, you can telnet into it, but you'll get tired of typing.) Parts are becoming something similar to Zope. (Jon Udell put that idea in my head, but don't blame him.) Other parts are completely different, with peer to peer uses. Perhaps. A similar project is Iaijutsu, also known as Iaido. Check that out if you think Jellybean does it incorrectly. We do promise to keep our project name pronounceable, even if you don't know Japanese.

The point of an Object Server is to provide a framework which you can use to write lightweight and desktop-appropriate applications. For example, if you normally access your contact list on a remote server through a web browser, why not stick Jellybean on your laptop, download your client list, and take it on a trip with you?

The potential also exists to manage a personal web site with Jellybean. You can provide different views of the same data depending on the access method. You can keep a diary. You can do lots of things with a very small but powerful and easily extended web server on your desktop.

What's it look like?

It's a daemon process, but if you really want a screenshot, here's one from my machine (12k) and one from jlp (8.5k). Note the functional and clean interface. (Hey, we like to see this when we're testing, okay?) Jellybean is themable, so if you don't use Eterm it will look different. Yes, this is mostly a joke.

What's the current progress?

Version 0.13 (26 June 2001) is an important milestone. The infrastructure is in place to do very cool things in the future. Soon, you'll be able to access Containers and Objects via XML-RPC. If you code them right, you won't even have to edit them when we add support for other access methods. Amazing! This also means that you can listen on multiple ports. Incredible!

Version 0.12 (11 April 2001) breaks all previous records. We've scaled back on adding clever new features in lieu of polishing existing stuff. Of course, we've added a personal Wiki to show off what Jellybean can do -- this is the tip of the iceberg. The big new thing is the personal Wiki, so give it a try. (Or read up on Wikis at the source.)

Unfortunately, the Everything Engine doesn't quite run on Jellybean 0.13. Besides chromatic, only nate was that crazy. You're can still use it as a miniature CGI testbed, if you don't want to do much configuration or to run Apache or PWS or whatever on your own machine.

What features does it have?

Jellybean provides some compelling features to recommend it over other solutions:

You've sold me. Where do I get it?

You can download Jellybean::Engine as the current tarball. It's tested on Linux (but ought to work on any Unix with no tweaking) If you're particularly adventurous, head over to Jellybean on SourceForge and check out the CVS tree.

What can I do about it?

Take a look at the current code and tell us if there's a more elegant way to do what I'm doing. Make your own Container! Read the developer documentation! Write snippets! Please!

I just don't know where to start.

We will happily sell you the standard Free Software disclaimer; more documentation and examples are on the way. If you're motivated to help, visit the SourceForge page, join the jellybean-dev mailing list (optionally browsing the archives), and send a message telling us what you'd like to see, what you might like to work on, or asking if there's anything you can do. We're happy to answer design and architecture changes if it's okay that your question and the answer go into the documentation. We might even send you development stuff to play with! (Don't get too excited, as some dev code is kinda ugly. It gets buffed and polished before we make a release.) Check out the code and the TODO file.

What is the license and where do I send patches?

It's under the GPL/Artistic licence combination, just like Perl. You can send patches, suggestions, and critiques to: jellybean-dev at lists dot sourceforge dot net. Thanks!