Changes for page WO 5.4 Getting Started
Last modified by D Tim Cummings on 2013/06/14 16:27
From version 48.1
edited by jricker
on 2008/08/22 12:19
on 2008/08/22 12:19
Change comment:
There is no comment for this version
To version 51.1
edited by Pascal Robert
on 2007/11/27 22:25
on 2007/11/27 22:25
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. jricker1 +XWiki.probert - Content
-
... ... @@ -1,33 +1,9 @@ 1 - {{toc}}{{/toc}}1 +Apple has converted their WebObjects examples in the Eclipse format, but no documentation is provided on how to import them into Eclipse. 2 2 3 - =InstallingWebObjectsand WOLips =3 +The examples are in /Developer/Examples/JavaWebObjects 4 4 5 - Download Xcode3 from [[ADC>>http://developer.apple.com/leopard/devcenter/]],theWebObjectsframeworksareincluded inthispackage.You will have tomakeacustominstalland select//WebObjects// in thepackage list sinceWebObjectsis notpart of thedefaultinstallation.5 +Some examples needs Apache Derby, an embedded Java database (OpenBase is not included with WO anymore). To install the databases, you have to do: 6 6 7 -Install [[Eclipse 3.3.2>>http://download.eclipse.org/eclipse/downloads/drops/R-3.3.2-200802211800/index.php]] 8 - 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). 10 - 11 -Start Eclipse and switch to the WOLips perspective. To achieve this, open the //Window// menu, select //Open Perspective// and select //Other...//. 12 - 13 -[[image:PerpectiveMenu.png]] 14 - 15 -In the perspective choices, select //WOLips// and click //Ok//. 16 - 17 -[[image:PerspectiveChoices.png]] 18 - 19 -If you don't switch to the WOLips perspective, you won't be able to create new WebObjects projects. 20 - 21 -You are now ready to create projects or importing the examples. 22 - 23 -= Running the examples = 24 - 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//. 26 - 27 -The first step is: install Eclipse and WOLips :-) 28 - 29 -Some examples needs Derby, an embedded Java database (OpenBase is not included with WO anymore). To install the databases, you have to do: 30 - 31 31 {{code}} 32 32 33 33 cd /Developer/Examples/JavaWebObjects/ ... ... @@ -35,289 +35,24 @@ 35 35 36 36 {{/code}} 37 37 38 -Now, you can import the examples into Eclipse. Start Eclipse, select //File//>//Import//,14 +Now, you can import the examples into Eclipse. Start Eclipse, select File -> Import, and select General -> Existing Projects into Workplace. 39 39 40 - [[image:ImportMenu.png]]16 +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. Deselect the second javaeoutil project, or else you won't be able to import the projects. 41 41 42 - and select//General//>//ExistingProjects//into Workplace.18 +You should see the projects in the WO Package Explorer. If you see the projects in Package Explorer (without the WO), that means that you are using the Java perpective instead of the WOLips perpective. 43 43 44 - [[image:ImportGeneral.png]]20 +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 :-) 45 45 46 - Onthenext page, select//Selectroot directory//and browse your diskto///Developer/Examples/JavaWebObjects//. You shouldsee a list ofprojectsto import. Deselectthe second //javaeoutil//project,orelse you won't beableto import the projects.22 +For each project, right-click on each project, select Build Path -> Configure Build Path... 47 47 48 - [[image:ImportProjectsList.png]]24 +Click on the Projects tab, select the references to the WO frameworks and click Remove 49 49 50 - After the importation is done, you should see the projectsin the WO PackageExplorer.If you seetheprojectsin Package Explorer (without "WO" in thename), that means thatyou are usingtheJava perpective insteadof the WOLips perpective. Switch the perpectivetoWOLips.26 +Click on the Libraries tab, click the Add Library button 51 51 52 - [[image:PackageExplorer.png]]28 +Select WebObjects Frameworks and click Next 53 53 54 - Now,youneedtofixtheexamples,because the build pathispointingtotheurceprojectsoftheWO frameworks,sourcethatnobodyoutsideApplehasaccess to:-)Foreachproject,right-clickoneachproject, select//BuildPath//> //ConfigureBuild Path...//30 +Click System, open the triangle next to System and make sure that JavaEOAccess, JavaEOControl, JavaFoundation, JavaWebObjects, JavaWOExtensions and JavaXML are selected. For the SchoolToolsClient, you also need to add the JavaWebServicesSupport and JavaWebServicesClient. For the SchoolToolsServer, you also need to add the JavaWebServicesSupport. 55 55 56 - [[image:BuildPathMenu.png]]32 +After you corrected the build path, the project will rebuild itself and the errors shoud dissapear 57 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. 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 - 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//. The build path should look like this: 74 - 75 -[[image:GoodDerbyPath.png]] 76 - 77 -VoilĂ You finally can run the examples. 78 - 79 -= Running Monitor and wotaskd on Mac OS X 10.5 "client" = 80 - 81 -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. 82 - 83 -Make sure //Web Sharing// is enabled in the //Sharing// panel in //System Preferences// (note: 10.5 comes with Apache 2.2 as the default). 84 - 85 -Edit ///etc/apache2/httpd.conf// (if you did a fresh install, you may already have these - search httpd.conf first) 86 - 87 -Search for rewrite//module, and above it, add this line~:// 88 - 89 -{{code}} 90 - 91 -LoadModule WebObjects_module /System/Library/WebObjects/Adaptors/Apache2.2/mod_WebObjects.so 92 - 93 -{{/code}} 94 - 95 -Go to the very end and add: 96 - 97 -{{code}} 98 - 99 -Include /System/Library/WebObjects/Adaptors/Apache2.2/apache.conf 100 - 101 -{{/code}} 102 - 103 -Search for "Directory /" and comment out the Order and Deny lines: 104 - 105 -{{code}} 106 - 107 -<Directory /> 108 - Options FollowSymLinks 109 - AllowOverride None 110 - #Order deny,allow 111 - #Deny from all 112 -</Directory> 113 - 114 -{{/code}} 115 - 116 -Restart apache 117 - 118 -{{code}} 119 - 120 -sudo apachectl graceful 121 - 122 -{{/code}} 123 - 124 -If you run //ps auxw grep httpd// you should see apache now running 125 - 126 -Create ///Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist// with: 127 - 128 -{{code}} 129 - 130 -<?xml version="1.0" encoding="UTF-8"?> 131 -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 132 -<plist version="1.0"> 133 -<dict> 134 - <key>Disabled</key> 135 - <false/> 136 - <key>GroupName</key> 137 - <string>appserverusr</string> 138 - <key>Label</key> 139 - <string>com.apple.webobjects.wotaskd</string> 140 - <key>OnDemand</key> 141 - <false/> 142 - <key>Program</key> 143 - <string>/System/Library/WebObjects/JavaApplications/wotaskd.woa/wotaskd</string> 144 - <key>ProgramArguments</key> 145 - <array> 146 - <string>wotaskd</string> 147 - <string>-WOPort</string> 148 - <string>1085</string> 149 - </array> 150 - <key>ServiceIPC</key> 151 - <false/> 152 - <key>UserName</key> 153 - <string>appserver</string> 154 -</dict> 155 -</plist> 156 - 157 -{{/code}} 158 - 159 -Create ///Library/LaunchDaemons/com.apple.webobjects.womonitor.plist// with: 160 - 161 -{{code}} 162 - 163 -<?xml version="1.0" encoding="UTF-8"?> 164 -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 165 -<plist version="1.0"> 166 -<dict> 167 - <key>Disabled</key> 168 - <false/> 169 - <key>GroupName</key> 170 - <string>appserverusr</string> 171 - <key>Label</key> 172 - <string>com.apple.webobjects.womonitor</string> 173 - <key>OnDemand</key> 174 - <false/> 175 - <key>Program</key> 176 - <string>/System/Library/WebObjects/JavaApplications/JavaMonitor.woa/JavaMonitor</string> 177 - <key>ProgramArguments</key> 178 - <array> 179 - <string>JavaMonitor</string> 180 - <string>-WOPort</string> 181 - <string>56789</string> 182 - </array> 183 - <key>ServiceIPC</key> 184 - <false/> 185 - <key>UserName</key> 186 - <string>appserver</string> 187 -</dict> 188 -</plist> 189 - 190 -{{/code}} 191 - 192 -Start the launchd daemons : 193 - 194 -{{code}} 195 - 196 -launchctl load /Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist 197 -launchctl load /Library/LaunchDaemons/com.apple.webobjects.womonitor.plist 198 - 199 -{{/code}} 200 - 201 -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: 202 - 203 -{{code}} 204 - 205 -http://localhost:56789 206 - 207 -{{/code}} 208 - 209 -= Developing with both WebObjects 5.4 and 5.3 = 210 - 211 -(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): 212 - 213 -Make a ///System/Library/Frameworks/WebObjects54// folder, and move the following frameworks from the 5.4 install into it: 214 - 215 -{{code}} 216 - 217 -JavaDTWGeneration.framework 218 -JavaDirectToWeb.framework 219 -JavaEOAccess.framework 220 -JavaEOApplication.framework 221 -JavaEOControl.framework 222 -JavaEODistribution.framework 223 -JavaEOGeneration.framework 224 -JavaEOInterface.framework 225 -JavaEOInterfaceCocoa.framework 226 -JavaEOInterfaceSwing.framework 227 -JavaEOProject.framework 228 -JavaEORuleSystem.framework 229 -JavaEOTool.framework 230 -JavaFoundation.framework 231 -JavaJDBCAdaptor.framework 232 -JavaJNDIAdaptor.framework 233 -JavaWOExtensions.framework 234 -JavaWOJSPServlet.framework 235 -JavaWebObjects.framework 236 -JavaWebServicesClient.framework 237 -JavaWebServicesGeneration.framework 238 -JavaWebServicesSupport.framework 239 -JavaXML.framework 240 - 241 -{{/code}} 242 - 243 -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) 244 - 245 -{{code}} 246 - 247 -JavaDTWGeneration.framework 248 -JavaDirectToWeb.framework 249 -JavaEOAccess.framework 250 -JavaEOApplication.framework 251 -JavaEOCocoa.framework 252 -JavaEOControl.framework 253 -JavaEODistribution.framework 254 -JavaEOGeneration.framework 255 -JavaEOInterface.framework 256 -JavaEOInterfaceCocoa.framework 257 -JavaEOInterfaceSwing.framework 258 -JavaEOProject.framework 259 -JavaEORuleSystem.framework 260 -JavaEOTool.framework 261 -JavaFoundation.framework 262 -JavaJDBCAdaptor.framework 263 -JavaJNDIAdaptor.framework 264 -JavaWOExtensions.framework 265 -JavaWOJSPServlet.framework 266 -JavaWebObjects.framework 267 -JavaWebServicesClient.framework 268 -JavaWebServicesGeneration.framework 269 -JavaWebServicesSupport.framework 270 -JavaXML.framework 271 - 272 -{{/code}} 273 - 274 -I then use the following two scripts to be able to switch between using 5.3 and 5.4 system wide: 275 - 276 -{{code}} 277 - 278 -bash-3.2# cat wo53 279 -for framework in `ls /System/Library/Frameworks/WebObjects53`; do rm /System/Library/Frameworks/$framework; \ 280 -ln -sf /System/Library/Frameworks/WebObjects53/$framework /System/Library/Frameworks/$framework; done 281 -bash-3.2# cat wo54 282 -for framework in `ls /System/Library/Frameworks/WebObjects54`; do rm /System/Library/Frameworks/$framework; \ 283 -ln -sf /System/Library/Frameworks/WebObjects54/$framework /System/Library/Frameworks/$framework; done 284 - 285 -{{/code}} 286 - 287 -At this point, you should have NO WO frameworks in /System/Library/Frameworks they should be in subfolders. 288 - 289 -Now go ahead and run wo53, which should now give you WO 5.3 framework symlinks. 290 - 291 -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. 292 - 293 -== Alternative 5.3 / 5.4 development method == 294 - 295 -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.,, 296 - 297 -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__##,, 298 - 299 -Then run it like this: 300 - 301 -{{noformat}} 302 - 303 -# ./woswitch.sh 53 304 - 305 -{{/noformat}} 306 - 307 -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. 308 - 309 -To switch between the two runtimes, quit WOLips and run 310 - 311 -{{noformat}} 312 - 313 -# ./woswitch.sh 54 314 -or 315 -# ./woswitch.sh 53 316 - 317 -{{/noformat}} 318 - 319 -Then run WOLips again. 320 - 321 -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##. 322 - 323 -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.// 34 +You also have to fix the build path for JavaBusinessLogic and RelatedLinks because the Derby path is incorrect.