[Setools] Gjallar - how to dive in

goran at krampe.se goran at krampe.se
Thu Sep 21 07:31:10 UTC 2006


Hi!

Hans N Beck <hnbeck at t-online.de> wrote:
> Hi Göran,
> 
> now I'm running Gjallar, had a first look into sources, and now I  
> want to ask how to go on ? From my experience, the best to learn a  
> new system in code is to make a small task (independent from the Mac  
> version).

Mmmm. :)

> So - what could be done by me on Gjallar ? The problem is, at the  
> moment my time is more limited as I want, so it can not be something  
> which is input for others.

Here is a quick list of problems/ideas that might be reasonable enough
to start with - the first one is probably easy and most fun:

- Add some scaling mechanism on the visual graphs. Sometimes they tend
to get too big :). So perhaps add a little drop down menu with "25%",
"50%", ... "200%" etc that does autosubmit. A good example of such a
drop down menu is already in the #renderContentOn: on Q2ProcessOverview
component - with label and all. The code for generating the graphs are
in #workflowGraph and #workflowGraphFor:. You could also play with using
more features in Graphviz.

- Implement direct URL for case (and possibly note). This is Seaside
hacking mainly. A URL containing the case name leading to the login page
and then directly to the case view for that case. Smallblog has code
that handles such URLs. I haven't checked yet how to do it.

- Figure out a better CSS layout that does not suffer from the "can not
scroll down the left area" problem. :) But this is not Squeak coding of
course.

- Take a look at how we best support the back button. Again Seaside
stuff like WAStateHolder etc. I haven't got much clue about that yet.

- Write a plugin for something. There is a start on a plugin structure
and I am going to "finish" it today because Magnus needs it. This will
make it trivial to add optional functions that appear below the case in
the case view, like a button that does something nice etc. A good useful
sample plugin would be great to have.


Also, if you wish to add a new component to the UI - an easy way is to
copy the class Q2Information and check references to that class (only
one in #addHelp). Also check senders of addHelp - then you find
#loggedInNavigation and #loggedOutNavigation which are the two methods
building the left side TOC. There are currently a few different ways of
adding a component in the TOC. One is like its done with Q2Information
which sets label/description in its #initialize method. The other
approach is by doing this outside of the component so that it can be
lazily instantiated, like in Q2EditUser (check references to that
class). Note how we add a block with a label and a description - this
block will be run once to instantiate the component when first accessed.

regards, Göran


More information about the Setools mailing list