Skip to content

Commit 4c5b9d9

Browse files
committed
Start work on Getting Started with tODE doc in support of GsDevKitHome installations
GsDevKit/gsDevKitHome#43 GsDevKit/gsDevKitHome#58 [ci skip]
1 parent 63bf86e commit 4c5b9d9

17 files changed

+214
-0
lines changed

Diff for: docs/GettingStarted.md

+214
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,216 @@
11
#Getting Started with tODE
22

3+
##tODE: the Object-centric Development Environment
4+
5+
Use the [todeClient][35] script to start up a tODE client image:
6+
7+
```Shell
8+
todeClient
9+
```
10+
11+
*Note: the `-p` option allows you maintain and run multiple client images*.
12+
13+
14+
###tODE System Menu
15+
16+
The tODE System Menu:
17+
18+
![tODE System Menu][37]
19+
20+
is your entry point for setting up and controlling tODE.
21+
22+
1. [tODE Shell](#tode-shell)
23+
1. [tODE Edit](#tode-edit)
24+
2. [tODE Test Login](#tode-test-login)
25+
3. [tODE Install](#tode-install)
26+
4. [tODE Update](#tode-update)
27+
5. tODE Workspaces
28+
6. [tODE Window Layout](#tode-window-layout)
29+
7. Update tODE Client
30+
8. Define Web Edition Root
31+
8. [Define Dev Kit Root](#define-dev-kit-root)
32+
9. [Refresh tODE menu](#refresh-tode-menu)
33+
34+
####tODE Shell
35+
36+
Use the `tODE Shell` menu item to select the stone to log into:
37+
38+
![tode Shell menu][36]
39+
40+
and open the tODE shell console:
41+
42+
![tODE Shell console][38]
43+
44+
####tODE Edit
45+
The `tODE Edit` menu items allow you to modify the session descriptions from within the client image:
46+
47+
![tode edit menu item][39]
48+
49+
The menu item brings up a client workspace:
50+
51+
![tode edit workspace][43]
52+
53+
*Note that the workspace is not a file editor, so you need to execute the workspace to update the session disk.*
54+
55+
The name of the session description file is derived from the `name` of the session description.
56+
If you change the name of the description you are effectively creating a new description.
57+
58+
####tODE Test Login
59+
The `tODE Test Login` menu item makes it possible to collect diagnostic information when you are having trouble logging into a stone. The menu item is also useful to ping a particular stone to see if it is running.
60+
61+
![tode test login menu item][40]
62+
63+
Besides the menu item the `testLogin` command can be invoked:
64+
65+
1. via the **testLogin:** message in a client-side workspace:
66+
67+
```Smalltalk
68+
TDShell testLogin: 'gemtalk'
69+
```
70+
71+
3. or, via the command line:
72+
73+
![testLogin shell][41]
74+
75+
This is an example of a successful test login:
76+
77+
![successful test login][42]
78+
79+
*Note that while there was a successful test, the message does indicate that tODE is not installed. See the [tODE installTodeStone script][46] for installing tODE on a server.*
80+
81+
Here's an example of an error message:
82+
83+
![testLogin output][20]
84+
85+
If the test login error message does not give you enough information for you to solve the problem, copy the result of the `testLogin` command and send mail to the [GLASS mailing list][28].
86+
87+
####tODE Install
88+
Use the `tODE Install` menu item to install tODE on the selected stone.
89+
Use this menu item if you did not use the [createTodeStone][3] script to create the stone:
90+
91+
![tode Install menu][44]
92+
93+
The menu item executes the tode script located in the file `$GS_HOME/tode/client/scripts/installTode`:
94+
95+
```Shell
96+
updateClient --clientRepo=github://dalehenrich/tode:master/repository
97+
installServer --clientScriptPath=scripts
98+
bu backup tode.dbf
99+
mount --todeRoot home /
100+
bu backup home.dbf
101+
cd
102+
```
103+
104+
*Note that the script starts by updating the client-side code and then updates the server-side code.*
105+
106+
You can customize `installTode` script to perform additional commands, if needed.
107+
108+
The server-side load scripts can be found in the `$GS_HOME/tode/server/scripts` directory.
109+
110+
**You are encouraged to use the [installTodeServer][46] shell script to install tODE into your Dev Kit server.**
111+
112+
####tODE Update
113+
Use the `tODE Update` menu item update the tODE project on the selected stone:
114+
115+
![tode Update menu][45]
116+
117+
The menu item executes the tode script located in the file `$GS_HOME/tode/client/scripts/updateTode`:
118+
119+
```Shell
120+
updateClient --clientRepo=github://dalehenrich/tode:master/repository
121+
updateServer --clientScriptPath=scripts
122+
bu backup home.dbf
123+
```
124+
125+
You can customize `updateTode` script to perform additional commands, if needed.
126+
127+
The server-side load scripts can be found in the `$GS_HOME/tode/server/scripts` directory.
128+
129+
**You are encouraged to use the `project load Tode` command in the tODE shell to perform updates of the tODE project.**
130+
####tODE Window Layout
131+
Use the `tODE Window Layout` menu item to choose a window layout for your client image:
132+
133+
![tode window layout menu][52]
134+
135+
The window layout is scaled based on the size of the Pharo client window, so you need to re-select a window layout whenever you change the size of the Pharo client window.
136+
137+
Here are samples of three of the available window layouts:
138+
139+
| layout | sample|
140+
|--------|-------|
141+
| standard-small|![standard-small][49]|
142+
|standard-medium|![standard-medium][50]|
143+
|standard-large|![standard-large][51]|
144+
145+
####Define Dev Kit Root
146+
The `Define Dev Kit Root` menu item:
147+
148+
![dev kit root menu][53]
149+
150+
tells the Pharo client where to find the `$GS_HOME/tode` directory.
151+
The scripts and session descriptions used by the pharo client are found in the `$GS_HOME/tode` directory.
152+
153+
A `todeClientImage` can be retargeted to a different GsDevKit installation by changing the directory.
154+
155+
####Refresh tODE menu
156+
The `Refresh tODE menu` menu item:
157+
158+
![refresh tode menu menu][54]
159+
160+
rebuilds the tODE system menu. The menu should automatically update.
161+
162+
163+
### Add Project to tODE video
164+
165+
This short video describes how to add your own project to tODE. It also serves as an introduction to the tODE development environment:
166+
167+
<a href="http://www.youtube.com/watch?feature=player_embedded&v=AlB1B0wtX8c
168+
" target="_blank"><img src="http://img.youtube.com/vi/AlB1B0wtX8c/0.jpg"
169+
alt="topez: And Now for Something Completely Different" width="480" height="360" border="10" /></a>
170+
171+
## Mono-spaced fonts
172+
While you are in the Pharo client window, it is a good time to choose a new font. tODE works best with a mono-spaced font and you can choose a font from those installed on your system using the Pharo System Settings menu item:
173+
174+
![pharo system settings][1]
175+
176+
which opens the `Settings browser`:
177+
178+
![pharo settings brower][2]
179+
180+
1. Click on the `Default font button` and choose a font from those listed in the window that pops up.
181+
You may need to `Update` to get the system fonts loaded into the Pharo client.
182+
2. Click on the `Force All button` to get your font choice propogated to the other choices.
183+
184+
Don't forget to save the image after making client-side changes.
185+
186+
## Window Layout
187+
Now is also a good time to change the size of the Pharo client window.
188+
When you change the size of the Pharo client window, you need to use the [tODE Window Layout menu item](#tode-window-layout) to reset or change the window layout.
189+
The initial layout (`standard-small`) is probably not a good choice for high resolution displays.
190+
`standard-medium` or `standared-large` are better choices depending upon the resolution of your display and the size of the font that you have chosen.
191+
192+
Don't forget to save the image after making client-side changes.
193+
194+
[1]: images/pharoSystemSettingsMenu.png
195+
[2]: images/pharoSystemSettingsDialog.png
196+
[3]: https://github.com/GsDevKit/gsDevKitHome/blob/master/README.md#createtodestone
197+
[20]: docs/images/testLoginOutput.png
198+
[28]: http://lists.gemtalksystems.com/mailman/listinfo/glass
199+
[35]: https://github.com/GsDevKit/gsDevKitHome/blob/master/bin/todeClient
200+
[36]: images/todeShell.png
201+
[37]: images/todeSystemMenu.png
202+
[38]: images/todeShellConsole.png
203+
[39]: images/todeEditMenu.png
204+
[40]: images/todeTestLoginMenu.png
205+
[41]: images/todeTestLoginShell.png
206+
[42]: images/todeTestLoginSuccess.png
207+
[43]: images/todeEditWorkspace.png
208+
[44]: images/todeInstallMenu.png
209+
[45]: images/todeUpdateMenu.png
210+
[49]: images/standardSmallLayout.png
211+
[50]: images/standardMediumLayout.png
212+
[51]: images/standardLargeLayout.png
213+
[52]: images/todeWindowLayoutMenu.png
214+
[53]: images/todeDefineDevKitRootMenu.png
215+
[54]: images/todeRefreshTodeMenu.png
216+

Diff for: docs/images/pharoSystemSettingsDialog.png

84.7 KB
Loading

Diff for: docs/images/pharoSystemSettingsMenu.png

62.2 KB
Loading

Diff for: docs/images/standardLargeLayout.png

21.7 KB
Loading

Diff for: docs/images/standardSmallLayout.png

21.7 KB
Loading

Diff for: docs/images/todeDefineDevKitRootMenu.png

50.7 KB
Loading

Diff for: docs/images/todeEditMenu.png

58.4 KB
Loading

Diff for: docs/images/todeEditWorkspace.png

77.6 KB
Loading

Diff for: docs/images/todeInstallMenu.png

58.8 KB
Loading

Diff for: docs/images/todeRefreshTodeMenu.png

50.7 KB
Loading

Diff for: docs/images/todeShell.png

52 KB
Loading

Diff for: docs/images/todeShellConsole.png

33.9 KB
Loading

Diff for: docs/images/todeSystemMenu.png

44.2 KB
Loading

Diff for: docs/images/todeTestLoginMenu.png

58.7 KB
Loading

Diff for: docs/images/todeTestLoginSuccess.png

34.7 KB
Loading

Diff for: docs/images/todeUpdateMenu.png

58.9 KB
Loading

Diff for: docs/images/todeWindowLayoutMenu.png

64.8 KB
Loading

0 commit comments

Comments
 (0)