|
1 | 1 | #Getting Started with tODE
|
2 | 2 |
|
| 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 | + |
0 commit comments