-
Notifications
You must be signed in to change notification settings - Fork 6
/
INSTALL.txt
152 lines (110 loc) · 5.41 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
--------
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,
a port to Hunchentoot and non-trial Lisps will be needed.
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):
http://www.franz.com/downloads/clp/survey
A port to OtherCL and OtherServe (or OtherToot) should be
ridiculously easy but is left as an exercise. Contribs welcome.
--------------------------------------------
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 http://github.com/kennytilton/utils-kt
git clone http://github.com/kennytilton/cells
git clone http://github.com/kennytilton/qooxlisp
[I am still learning git, but I will look at merging the
latest qooxlisp work back into the master branch.]
If you want to put the projects somewhere else there are paths
in the lisp source (see function serve-apropos) which you will
have to change so AllegroServe can find the files.
[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).]
Now fire up the AllegroCL trial and open the apropos project:
'File>Open Project...' and look for \devel\qooxlisp\qooxlisp.lpr
As mentioned above, edit apropos.lisp and modify the paths to the qooxdoo stuff
in function serve-apropos to match your set-up.
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.
----------
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