Gjallar brainstorm (was Re: [Setools] Gjallar (previously known as Q2) next steps!)

goran at krampe.se goran at krampe.se
Thu Aug 3 18:22:14 UTC 2006


Hi folks!

=?ISO-8859-1?Q?St=E9phane_Ducasse?= <stephane.ducasse at univ-savoie.fr>
wrote:
> > I am currently focusing on the advanced filtering mechanism. The
> > architecture is in place but lots of detailed work is still left to  
> > do.
> 
> We started to have a look at Q2. Florent is jumping on it and will  
> bombard you with

"questions" I guess. :) To all the rest of you - I made the code
available to Steph and Florent given that they do not publish anything
yet. I am working on the license question and hope to get it decided
ASAP.
 
> I was wondering if this would not make sense to magrittified your  
> domain objects.
> 
> You told me that you implemented something like Mewa but I guess that  
> this is only for the UI

Yes. It is the Q2FormComponent/Q2Field/Q2FieldComponent classes. It
follows a different pattern than Mewa - the Q2Field (+ subclasses) and
Q2Form are persistable instances representing the form and fields. When
being displayed we have a corresponding group of classes called
Q2FormComponent and Q2FieldComponent (+ subclasses) that are used as the
runtime "widgets".

The "idea" I used was that I want Q2Field etc to have all the
"configuration" and rendering code in one place (instead of spread out
in visitors like in Mewa) - but since those classes do not represent the
runtime entity the Q2FieldComponent is sent in as an argument during
rendering and that instance holds all runtime state like values etc.
 
> Was is the Q2Win32InstallerBuilder?
> Can we run it on mac?

It builds a nice neat Win32 installer of the system. No, you can't use
it on a mac. The do-its needed is somewhere in the workspace, I don't
have it handy right now but I will get back to you with exact
instruction later.

The exact same installer is then used for setting up a server on a
Windows box (whoever would want to do such a thing :)) which might be
handy to play with it - and more importantly for installing a laptop
"offline" installation.

Then you are meant to be able to "checkout" a so called "partial mirror"
of the server onto your laptop just by clicking and selecting the
prepared mirror (that some admin has created for your personally). The
code is in there, but it was a few monts back since I used it etc. But I
have demoed it at least once. :)

It builds a Magma db on the server and populates it with a partial
domain model (a subselection of Processes also filtered by personal
permissions etc) in it, zips it up and then the client installation
pulls it down using HTTP, unzips and reconnects to this new Magma db.
And then voila - you can run locally just the same way as against the
server.

And then you can sync with a single button which handshakes with the
server, downloads transactions to replay locally - and uploads
transactions to be replayed on the server. This is done using SOAP with
serialized and gzipped Q2Txn instances in a collection.
 
> > 1. Enhance the integrated Swiki help. It is quite thin so far, but  
> > there
> > is a start and it is nicely integrated into the Form/field framework.
> > The screenshots shows it.
> >
> > 2. Sit down and figure out how we could let Gjallar replace Mantis for
> > the Squeak community.
> 
> Indeed what we would like to have is
> 	- a process to manage bugs and todo for the projects (squeak, tweak,  
> harvesting....)
> 	- first I would just focus on the process and the UI
> 	and link back to mantis items.
> I think that we will start looking at that. Do you have some places  
> to start reading to undereyand
> how we can define a new workflow.

I have lots of stuff, I will try to get the 30 page design document out
+ some small howto on how to prepare your own Process with a custom
workflow and forms/fields. We have some samples for that.

As you might have seen Gjallar has a "code console" for entering do-its
straight into the system if you are either the global admin called
"admin" or one of the Process admins. Each such doit is then packaged as
a Q2Txn and applied. If there is any exception when running the doit I
have tried hard to get that back to the user (like syntax errors etc)
and then the Magma transaction is aborted.
 
> > What we need, what is missing, how we would set up
> > the workflow graph, fields etc. Since Gjallar has good email support
> > including attachments and is written in Squeak (we could easily make
> > integrations to SM and/or Monticello) the opportunities seems endless.
> > :) We could even write a Squeak Morphic client or something. A client
> > could either use Magma directly (perhaps with Chris added krypto)  
> > or use
> > SOAP (which we use a little bit already) or whatever.
> >
> > 3. Add more field types, like a date picker etc to the Form/field
> > framework. And more validation rule types. This is Mewa/Magritte kinda
> > work.
> 
> I was wondering if this would make sense to use magritte and enhance  
> magritte with your functionality

Not sure. I have not dived into Magritte (no time) and I also felt it
tried to do too much for my taste. Of course, it is surely a good
framework - I just got a bit weary when it tries to solve *everything*.

My "framework" is probably simpler since it only deals with a Seaside UI
for fields/forms, but the idea was to make it easier to adapt it
specifically for Gjallar - like adding Scriptaculous features etc. Also
I got tired of Mewas visitors and blocks all over the place - not bad
design but a design which made it hard (for me) to work in it. That was
one of the reasons for me to "rewrite" it.

regards, Göran


More information about the Setools mailing list