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.
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.
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:
- Pure-Perl -- it's easy to deploy, especially on Unix platforms.
It's easy to extend, too, and fix bugs, if you know Perl.
- Cross-platform -- in addition to Unix, it runs successfully on
Windows and probably MacPerl. The only modules it requires
are available from both CPAN and
ActiveState in PPM
form.
- Easy to deploy and install -- configuration is simple, using
text files and short Perl programs. The Beanstalk Beanpack makes it
easy to add new features while the server runs.
- Easily extended -- master a few concepts and you can turn any
CGI into a Jellybean-aware application.
- Functional web server -- Jellybean supports most of the HTTP
standard, and can perform the common features of a web server.
- Smallish footprint and distributed computing -- Jellybean can
be run on a laptop in conjunction with a web browser when the user
cannot connect to a central server. The Synchronization objects can
shuttle data back and forth from the user's offline stash to the
group's central repository. The SimpleDaemon object reduces memory
usage.
- Customizable -- there's room to do a great many things.
- Scriptable -- you can add your own features to Jellybean
Objects from a (tiny but growing) library of common code snippets.
Put together working and secure tokens to create your own object
methods and call them without having to restart the server. You
don't even have to know Perl.
- Multiple views of the same data -- with the addition of Templating through
the Template-Toolkit interface, you can define a data schema (say 'news') and
associate different templates with different URIs to that data. That means you
can make your news available in a story-by-story HTML view, an XML feed, an
HTML index of the most recent stories, and even an RSS view of the recent
stories or a Perl data structure suitable for synchronization with other
Jellybean installations. What power!
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!