Changes for page WO 5.4 Getting Started

Last modified by D Tim Cummings on 2013/06/14 16:27

From version 29.1
edited by Timothy Worman
on 2013/05/01 19:19
Change comment: Migrated to Confluence 4.0
To version 32.1
edited by David Holt
on 2008/10/29 12:31
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.tworman
1 +XWiki.dholt
Content
... ... @@ -1,66 +1,92 @@
1 -{{warning}}
2 -This is deprecated information!
3 -{{/warning}}
1 +{{toc}}{{/toc}}
4 4  
5 -{{toc maxLevel="1"/}}
3 += Installing WebObjects and WOLips =
6 6  
7 -= ProjectBuilder and XCode =
5 +Download Xcode 3 from [[ADC>>http://developer.apple.com/leopard/devcenter/]], the WebObjects frameworks are included in this package. You will have to make a custom install and select //WebObjects// in the package list since WebObjects is not part of the default installation.
8 8  
9 -ProjectBuilder and Xcode are no longer supported IDEs for WebObjects development or deployment. While legacy projects may still use it there is little, if any, support available for it. Existing projects (except Objective-C WebObjects projects, of course) should be [[migrated to WOLips>>doc:WOL.XcodeMigration]]. It isn't as hard as you might think, and WOLips is a much more powerful WebObjects IDE.
7 +Install [[Eclipse 3.3.2>>http://download.eclipse.org/eclipse/downloads/drops/R-3.3.2-200802211800/index.php]]
10 10  
11 -= Installing WebObjects and WOLips =
9 +[[Install>>WOL:Install WOLips with Eclipse Update Manager]] WOLips from the [[stable>>http://webobjects.mdimension.com/wolips/stable]] build server. ([[nightly>>http://webobjects.mdimension.com/wolips/nightly]] only works with Eclipse 3.4, not recommended yet).
12 12  
13 -1. (((
14 -====== Download Golipse ======
11 +Start Eclipse and switch to the WOLips perspective. To achieve this, open the //Window// menu, select //Open Perspective// and select //Other...//.
15 15  
16 -[[Golipse>>url:http://wocommunity.org/documents/tools/Golipse.app_build_14.zip||shape="rect"]] ([[source>>url:https://github.com/wocommunity/Golipse||shape="rect"]]) will fetch the needed version of Eclipse, WOLips and other tools for WebObjects development.
17 -)))
13 +[[image:PerpectiveMenu.png]]
18 18  
19 -{{note title="32-bit computers"}}
20 -By default Golipse will download and install a 64-bit version of Eclipse. If you have an older 32-bit machine you can specify the download URL for the Eclipse package in 'Golipse > Preferences'. The latest 32-bit package is "http:~/~/ftp.osuosl.org/pub/eclipse/eclipse/downloads/drops/R-3.6.2-201102101200/eclipse-SDK-3.6.2-macosx-cocoa.tar.gz"
21 -{{/note}}
15 +In the perspective choices, select //WOLips// and click //Ok//.
22 22  
23 -1. (((
24 -====== Install the WebObjects ======
17 +[[image:PerspectiveChoices.png]]
25 25  
26 -The best way to install the WebObjects frameworks is according to [[these instructions>>doc:WOL.Using WOLips With Multiple Versions of WebObjects]].
27 -)))
28 -1. (((
29 -====== Start Eclipse and switch to the WOLips perspective. ======
19 +If you don't switch to the WOLips perspective, you won't be able to create new WebObjects projects.
30 30  
31 -* Under the //Window// menu, select //Open Perspective > Other...//.
32 -[[image:attach:PerpectiveMenu.png]]
33 -*
21 +You are now ready to create projects or importing the examples. 
34 34  
35 -====== Select //WOLips// and click //Ok//. ======
23 += Running the examples =
36 36  
37 -[[image:attach:PerspectiveChoices.png]]
25 +Apple has converted their WebObjects examples in the Eclipse format, but no documentation is provided on how to import them into Eclipse.  The examples are in ///Developer/Examples/JavaWebObjects//.
38 38  
39 -{{note title="WOLips Perspective"}}
40 -If you don't switch to the WOLips perspective, you won't be able to create new WebObjects projects.
41 -{{/note}}
42 -)))
27 +The first step is: install Eclipse and WOLips :-)  
43 43  
44 -{{info title="Xcode & WebObjects"}}
45 -Xcode is no longer the supported IDE for WebObjects development or deployment. However, downloading it and installing it will install tools debugging tools that you might find useful.
29 +Some examples needs Derby, an embedded Java database (OpenBase is not included with WO anymore). To install the databases, you have to do:
46 46  
47 -* Apple Developer Site (Free): [[http:~~/~~/developer.apple.com/xcode/>>url:http://developer.apple.com/xcode/||shape="rect"]]
48 -* Mac OS X App Store (Free): [[http:~~/~~/itunes.apple.com/us/app/xcode/id448457090>>url:http://itunes.apple.com/us/app/xcode/id448457090||shape="rect"]]
49 -{{/info}}
31 +{{code}}
50 50  
33 +cd /Developer/Examples/JavaWebObjects/
34 +sudo sh installDatabases.sh <yourusername>
51 51  
36 +{{/code}}
52 52  
53 -{{id name="javamonitor"/}}
38 +Now, you can import the examples into Eclipse. Start Eclipse, select //File// > //Import//,
54 54  
55 -= Running Monitor and wotaskd on Mac OS X =
40 +[[image:ImportMenu.png]]
56 56  
57 -Monitor and wotaskd are installed, but the launchd scripts to start them are not installed. You can grab them from a 10.5 Server installation, or follow those instructions.
42 +and select //General// > //Existing Projects// into Workplace.
58 58  
44 +[[image:ImportGeneral.png]]
45 +
46 +On the next page, select //Select root directory// and browse your disk to ///Developer/Examples/JavaWebObjects//. You should see a list of projects to import.&nbsp; Deselect the second //javaeoutil// project, or else you won't be able to import the projects.
47 +
48 +[[image:ImportProjectsList.png]]
49 +
50 +After the importation is done, you should see the projects in the WO Package Explorer. If you see the projects in Package Explorer (without "WO" in the name), that means that you are using the Java perpective instead of the WOLips perpective.&nbsp; Switch the perpective to WOLips.
51 +
52 +[[image:PackageExplorer.png]]
53 +
54 +Now, you need to fix the examples, because the build path is pointing to the source projects of the WO frameworks, source that nobody outside Apple has access to :-)For each project, right-click on each project, select //Build Path// > //Configure Build Path...//
55 +
56 +[[image:BuildPathMenu.png]]
57 +
58 +Click on the //Projects// tab, select the references to the WO frameworks that have the Warning icon and click //Remove//.
59 +
60 +[[image:ConfigureBuildPath.png]]
61 +
62 +Click on the //Libraries// tab, click the //Add Library// button.&nbsp; Select //WebObjects Frameworks// and click //Next//.
63 +
64 +[[image:AddLibrary.png]]
65 +
66 +Click //System//, open the triangle next to //System// and make sure that //JavaEOAccess//, //JavaEOControl//, //JavaFoundation//, //JavaWebObjects//, //JavaWOExtensions// and //JavaXML// are selected. For //SchoolToolsClient//, you also need to add //JavaWebServicesSupport// and //JavaWebServicesClient// to the build path. For the //SchoolToolsServer//, you need to add //JavaWebServicesSupport//.
67 +
68 +[[image:WOSystemLibs.png]]
69 +&nbsp;
70 +
71 +After you corrected the build path on a project, the project will rebuild itself and the errors shoud dissapear.
72 +
73 +//JavaBusinessLogic// and //RelatedLinks// requires Apache Derby, but the path to Derby's JAR is wrong. Remove the JAR from the build path, click //Add External JARs...//, browse your disk up to ///Developer/Examples/JavaWebObjects/Databases/db-derby-10.2.2.0-bin/lib// and select //derby.jar//.&nbsp; The build path should look like this:
74 +
75 +[[image:GoodDerbyPath.png]]
76 +
77 +VoilĂ &nbsp; You finally can run the examples.&nbsp;
78 +
79 +{{id value="javamonitor"}}{{/id}}
80 +
81 += Running Monitor and wotaskd on Mac OS X 10.5 "client" =
82 +
83 +Monitor and wotaskd are installed, but the launchd scripts to start them are not installed. You can grab them from a 10.5 Server installation, or follow those instructions.
84 +
59 59  Make sure //Web Sharing// is enabled in the //Sharing// panel in //System Preferences// (note: 10.5 comes with Apache 2.2 as the default).
60 60  
61 61  Edit ///etc/apache2/httpd.conf// (if you did a fresh install, you may already have these - search httpd.conf first)
62 62  
63 -Search for rewrite_module, and above it, add this line:
89 +Search for rewrite//module, and above it, add this line~://
64 64  
65 65  {{code}}
66 66  
... ... @@ -97,10 +97,10 @@
97 97  
98 98  {{/code}}
99 99  
100 -If you run //ps auxw | grep httpd// you should see apache now running
126 +If you run //ps auxw grep httpd// you should see apache now running
101 101  
102 102  Create ///Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist// with:
103 - (for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)
129 +(for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)
104 104  
105 105  {{code}}
106 106  
... ... @@ -134,7 +134,7 @@
134 134  {{/code}}
135 135  
136 136  Create ///Library/LaunchDaemons/com.apple.webobjects.womonitor.plist// with:
137 - (for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)
163 +(for OSX 10.5 make sure the permissions of this file are 644 system/wheel/everyone otherwise launchctl will throw a "dubious permissions" error when you try to load the plist with the commands that follow)
138 138  
139 139  {{code}}
140 140  
... ... @@ -168,7 +168,7 @@
168 168  {{/code}}
169 169  
170 170  Start the launchd daemons :
171 - (you may need to sudo here)
197 +(you may need to sudo here)
172 172  
173 173  {{code}}
174 174  
... ... @@ -177,7 +177,7 @@
177 177  
178 178  {{/code}}
179 179  
180 -If you run "ps auxw | grep java" you should see wotaskd and java monitor now running. You should be able to connect to Monitor by this URL:
206 +If you run "ps auxw grep java" you should see wotaskd and java monitor now running. You should be able to connect to Monitor by this URL:
181 181  
182 182  {{code}}
183 183  
... ... @@ -184,3 +184,119 @@
184 184  http://localhost:56789
185 185  
186 186  {{/code}}
213 +
214 += Developing with both WebObjects 5.4 and 5.3 =
215 +
216 +(Mike Schrag) The following can be done a couple ways, but this is just how I happened to have things setup in betas, so I kept it (it worked for me):
217 +
218 +Make a ///System/Library/Frameworks/WebObjects54// folder, and move the following frameworks from the 5.4 install into it:
219 +
220 +{{code}}
221 +
222 +JavaDTWGeneration.framework
223 +JavaDirectToWeb.framework
224 +JavaEOAccess.framework
225 +JavaEOApplication.framework
226 +JavaEOControl.framework
227 +JavaEODistribution.framework
228 +JavaEOGeneration.framework
229 +JavaEOInterface.framework
230 +JavaEOInterfaceCocoa.framework
231 +JavaEOInterfaceSwing.framework
232 +JavaEOProject.framework
233 +JavaEORuleSystem.framework
234 +JavaEOTool.framework
235 +JavaFoundation.framework
236 +JavaJDBCAdaptor.framework
237 +JavaJNDIAdaptor.framework
238 +JavaWOExtensions.framework
239 +JavaWOJSPServlet.framework
240 +JavaWebObjects.framework
241 +JavaWebServicesClient.framework
242 +JavaWebServicesGeneration.framework
243 +JavaWebServicesSupport.framework
244 +JavaXML.framework
245 +
246 +{{/code}}
247 +
248 +Make a ///System/Library/Frameworks/WebObjects53// folder, and move the following frameworks from your old 5.3 install into it (I tar'd these up from 5.3 before upgrading, but you can download 5.3 and extract these from the pkg, or POSSIBLY install them with the actually installer ... YMMV on that one)
249 +
250 +{{code}}
251 +
252 +JavaDTWGeneration.framework
253 +JavaDirectToWeb.framework
254 +JavaEOAccess.framework
255 +JavaEOApplication.framework
256 +JavaEOCocoa.framework
257 +JavaEOControl.framework
258 +JavaEODistribution.framework
259 +JavaEOGeneration.framework
260 +JavaEOInterface.framework
261 +JavaEOInterfaceCocoa.framework
262 +JavaEOInterfaceSwing.framework
263 +JavaEOProject.framework
264 +JavaEORuleSystem.framework
265 +JavaEOTool.framework
266 +JavaFoundation.framework
267 +JavaJDBCAdaptor.framework
268 +JavaJNDIAdaptor.framework
269 +JavaWOExtensions.framework
270 +JavaWOJSPServlet.framework
271 +JavaWebObjects.framework
272 +JavaWebServicesClient.framework
273 +JavaWebServicesGeneration.framework
274 +JavaWebServicesSupport.framework
275 +JavaXML.framework
276 +
277 +{{/code}}
278 +
279 +I then use the following two scripts to be able to switch between using 5.3 and 5.4 system wide:
280 +
281 +{{code}}
282 +
283 +bash-3.2# cat wo53
284 +for framework in `ls /System/Library/Frameworks/WebObjects53`; do rm /System/Library/Frameworks/$framework; \
285 +ln -sf /System/Library/Frameworks/WebObjects53/$framework /System/Library/Frameworks/$framework; done
286 +bash-3.2# cat wo54
287 +for framework in `ls /System/Library/Frameworks/WebObjects54`; do rm /System/Library/Frameworks/$framework; \
288 +ln -sf /System/Library/Frameworks/WebObjects54/$framework /System/Library/Frameworks/$framework; done
289 +
290 +{{/code}}
291 +
292 +At this point, you should have NO WO frameworks in /System/Library/Frameworks they should be in subfolders.
293 +
294 +Now go ahead and run wo53, which should now give you WO 5.3 framework symlinks.
295 +
296 +You may need to do a clean build of your projects in Eclipse If things are setup properly, you should not get any Java errors you didn't already have.
297 +
298 +== Alternative 5.3 / 5.4 development method ==
299 +
300 +The [[^woswitch]] script can be used as an alternative method to installing and using WO 5.3 for development, without the need to touch or move any of the installed WO 5.4 frameworks. This script will download and install the WebObjects 5.3.3 runtime into /Developer/WebObjects53 and maintain two copies of your ,,/Library/wobuild.properties so you can quickly switch WOLips development between the two different runtime versions.,,
301 +
302 +To use the script for the first time, ensure that you have WebObjects 5.4 installed, and have run WOLips at least once to create your ,,/Library/wobuild.properties file. Also ensure that the script has been set executable with ##chmod __x woswitch__##,,
303 +
304 +Then run it like this:
305 +
306 +{{noformat}}
307 +
308 +# ./woswitch.sh 53
309 +
310 +{{/noformat}}
311 +
312 +This can take quite some time the first time as it downloads, extracts and sets the WO 5.3 runtime up. After this is done, switching between the two runtimes is almost instant.
313 +
314 +To switch between the two runtimes, quit WOLips and run
315 +
316 +{{noformat}}
317 +
318 +# ./woswitch.sh 54
319 +or
320 +# ./woswitch.sh 53
321 +
322 +{{/noformat}}
323 +
324 +Then run WOLips again.
325 +
326 +One thing to remember is that when you are installing frameworks they need to be installed into the appropriate location for the runtime you are targeting. For WO 5.4 you need to install them into ##/Library/WebObjects/Frameworks## and for WO 5.3 they need to go into ##/Developer/WebObjects53/Library/Frameworks##.
327 +
328 +Keep in mind that these changes are specific to WOLips and woproject only. If you run anything outside of WOLips you will also need to manually set ##NEXT//ROOT//##// appropriately.//