forked from kennytilton/qooxlisp
-
Notifications
You must be signed in to change notification settings - Fork 1
/
INSTALL.txt
155 lines (114 loc) · 5.21 KB
/
INSTALL.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
--------
WARNINGS
--------
The free AllegroCL Trial version may not have enough oomph for
the included starter app Apropos. On one occasion it said it was
out of memory and I was toast. So I exited ACL and came back in
and all went well. If you run into this and bouncing does not help,
try another lisp.
Not sure what is going on, but often trying to access the
Apropos example in Chrome or Safari the server will be seen
to be serving one file a second, and qooxdoo uses hundreds. C
Clearing the browser cache cures this.
Opera (on Windows, at least): the page comes up and works to a
degree, but no results are displayed after a search. Not sure I'll
address this myself.
-----------
/WARNINGS
-----------
If you are in a hurry, skip down to "In a hurry? Start here.".
The next step will be needed as soon as you want to modify the
starter example app, apropos, to use a different qooxdoo widget
or as soon as you want to start your own qooxdoo project, but
the git repo for qooxlisp includes all the qooxdoo code required
for the apropos example.
Get qooxdoo
-----------
First, get qooxdoo and work through the "hello world" tutorial:
http://qooxdoo.org/documentation/1.1/helloworld
The above is incredibly simple to execute but you do need
Python installed, which qooxdoo uses as a scripting platform
for building stuff. If you have to install Python or msysgit (see below),
on Windows I found I had to reboot to get PATH mods into action.
----------------------
In a hurry? Start here
----------------------
Next you need AllegroCL (which includes AllegroServe, the web server),
or Steel Bank Common Lisp and Hunchentoot. Maybe other Lisps work too?
Allegro:
http://www.franz.com/downloads/clp/survey
Sbcl:
http://www.sbcl.org/
--------------------------------------------
Get a browser that can handle console.log();
--------------------------------------------
I think this is Chrome, Safari, or Firefox+Firebug (or I guess IE+FireBug).
I'll look at getting this requirement out of there.
-------
Get git
-------
This has links for different OSes:
http://git-scm.com/download
On Windows I use msysgit:
http://code.google.com/p/msysgit/
------------
Get qooxlisp
------------
Now create a top-level directory called "devel" and execute:
cd \devel
git clone https://github.com/kennytilton/utils-kt.git
git clone https://github.com/kennytilton/cells.git
git clone https://github.com/kennytilton/qooxlisp.git
[I am still learning git, but I will look at merging the
latest qooxlisp work back into the master branch.]
[Note: qooxlisp also needs cl-json but as a convenience (and to work in the
ACL project file I use) I have duplicated the needed code under qooxlisp.
You can safely use a direct copy of cl-json (http://www.cliki.net/cl-json)
if you like, but then you need to ASDF load it somehow and eliminate the
cl-json project from the qooxlisp project (referring to the ACL project manager).]
Allegro
-------
Now fire up the AllegroCL trial and open the apropos project:
'File>Open Project...' and look for \devel\qooxlisp\qooxlisp.lpr
Run the project (first 'Tools>Compile Project' then 'Run>Run Project') to
start up Allegroserve serving apropos on port 8000 (easy enough to change) then
open localhost:8000 in your browser. I have tested FireFox, Chrome, Safari,
and IE -- all on Windows.
With luck you'll see a dialog offering a GUI interface to the Lisp apropos
function running in the server. Screenshots here:
http://github.com/kennytilton/qooxlisp/downloads
I like to test on strings like "qx" and "combo" but any will do.
Symbols do not get searched until you hit enter or click "Search". (It searched after
every keystroke which was fun but the exercise I set myself was to recreate
the IDE apropos dialog as closely as possible so I defeated that.)
Speaking of which, in the ACL IDE you can see/use the dialog: Windows>Apropos.
Sbcl
----
Install Hunchentoot with quicklisp or other mean.
From the shell in qooxlisp directory, run:
sbcl --load easy-load.lisp
----------
Problems?
----------
Don't feel bad: these install notes have not been exercised much because
qooxlisp was not released until May, 2010. Post support questions here:
http://github.com/kennytilton/qooxlisp/issues
...and long diatribes/chit-chatty stuff here:
http://common-lisp.net/mailman/listinfo/cells-devel
I will improve these notes as issues arise.
------------
Next steps
------------
qooxlisp is just getting off the ground. More widgets and events need to be wrapped,
and a meta-task is the macrology to make that as easy as listing qooxdoo
classes, properties, and events.
Some of this wrapping will be tricky. Example: the columns in the apropos table
all start out as the same size. We can do better, but it means gluing in what
is known as a tableColumnModel and I ran out of gas before I got that wrapped.
Also, some columns are booleans and qooxdoo lets us declare that and then get a
pretty checkmark to show. Again, just more wrapping I decided to leave off for now.
Lot's of issues as well in the code. /My/ next step is a mad dash to bring a big
proprietary desktop application to the Web using qooxlisp, so it will be getting
a lot of work anyway, though only as it serves the larger purpose of the mad dash.
kenneth tilton
5/24/2010