Changes for page WO 5.4 Getting Started

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

From version 55.1
edited by Pascal Robert
on 2007/11/29 13:44
Change comment: There is no comment for this version
To version 39.1
edited by David Avendasora
on 2011/05/22 11:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.probert
1 +XWiki.avendasora
Content
... ... @@ -1,39 +1,164 @@
1 -= Running the examples =
1 +{{toc maxLevel="1"}}{{/toc}}
2 2  
3 -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//.
3 += ProjectBuilder and XCode =
4 4  
5 -The first step is: install Eclipse and WOLips :-) 
5 +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>>WOL:XcodeMigration]]. It isn't as hard as you might think, and WOLips is a much more powerful WebObjects IDE.
6 6  
7 -Some examples needs Derby, an embedded Java database (OpenBase is not included with WO anymore). To install the databases, you have to do:
7 += Installing WebObjects and WOLips =
8 8  
9 +1. h6. Download Golipse
10 +[[Golipse>>https://github.com/rebeld/Golipse]] will fetch the needed version of Eclipse, WOLips and other tools for WebObjects development.
11 +1. h6. Install the WebObjects
12 +The best way to install the WebObjects frameworks is according to [[these instructions>>WOL:Using WOLips With Multiple Versions of WebObjects]].
13 +1. h6. Start Eclipse and switch to the WOLips perspective.
14 +1*. Under the //Window// menu, select //Open Perspective > Other...//.
15 +[[image:PerpectiveMenu.png]]
16 +1*. h6. Select //WOLips// and click //Ok//.
17 +[[image:PerspectiveChoices.png]]
18 +
19 +{{note title="WOLips Perspective"}}
20 +If you don't switch to the WOLips perspective, you won't be able to create new WebObjects projects.
21 +{{/note}}
22 +
23 +{{info title="Xcode & WebObjects"}}
24 +
25 +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.
26 +* Apple Developer Site (Free): [http://developer.apple.com/xcode/]
27 +* Mac OS X App Store ($4.99): [http://itunes.apple.com/us/app/xcode/id422352214]
28 +
29 +{{/info}}
30 +
31 +{{id value="javamonitor"}}{{/id}}
32 +
33 += Running Monitor and wotaskd on Mac OS X =
34 +
35 +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.
36 +
37 +Make sure //Web Sharing// is enabled in the //Sharing// panel in //System Preferences// (note: 10.5 comes with Apache 2.2 as the default).
38 +
39 +Edit ///etc/apache2/httpd.conf// (if you did a fresh install, you may already have these - search httpd.conf first)
40 +
41 +Search for rewrite//module, and above it, add this line~://
42 +
9 9  {{code}}
10 10  
11 -cd /Developer/Examples/JavaWebObjects/
12 -sudo sh installDatabases.sh <yourusername>
45 +LoadModule WebObjects_module /System/Library/WebObjects/Adaptors/Apache2.2/mod_WebObjects.so
13 13  
14 14  {{/code}}
15 15  
16 -Now, you can import the examples into Eclipse. Start Eclipse, select //File// > //Import//,
17 -&nbsp; [[image:ImportMenu.png]]
18 -&nbsp;
19 -and select //General// > //Existing Projects// into Workplace.
49 +Go to the very end and add:
20 20  
21 -[[image:ImportGeneral.png]]
22 -&nbsp;
23 -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. [[image:ImportProjectsList.png]]
51 +{{code}}
24 24  
25 -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. [[image:PackageExplorer.png]]
26 -&nbsp;
27 -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...// [[image:BuildPathMenu.png]]
28 -&nbsp;
29 -Click on the //Projects// tab, select the references to the WO frameworks that have the Warning icon and click //Remove//. [[image:ConfigureBuildPath.png]]
30 -Click on the //Libraries// tab, click the //Add Library// button.&nbsp; Select //WebObjects Frameworks// and click //Next//. [[image:AddLibrary.png]]
31 -&nbsp;
32 -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//.
53 +Include /System/Library/WebObjects/Adaptors/Apache2.2/apache.conf
33 33  
34 -After you corrected the build path on a project, the project will rebuild itself and the errors shoud dissapear.
55 +{{/code}}
35 35  
36 -//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:
37 -[[image:GoodDerbyPath.png]]
38 -&nbsp;
39 -VoilĂ &nbsp; You finally can run the examples.&nbsp;
57 +Search for "Directory /" and comment out the Order and Deny lines:
58 +
59 +{{code}}
60 +
61 +<Directory />
62 + Options FollowSymLinks
63 + AllowOverride None
64 + #Order deny,allow
65 + #Deny from all
66 +</Directory>
67 +
68 +{{/code}}
69 +
70 +Restart apache
71 +
72 +{{code}}
73 +
74 +sudo apachectl graceful
75 +
76 +{{/code}}
77 +
78 +If you run //ps auxw grep httpd// you should see apache now running
79 +
80 +Create ///Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist// with:
81 +(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)
82 +
83 +{{code}}
84 +
85 +<?xml version="1.0" encoding="UTF-8"?>
86 +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
87 +<plist version="1.0">
88 +<dict>
89 + <key>Disabled</key>
90 + <false/>
91 + <key>GroupName</key>
92 + <string>appserverusr</string>
93 + <key>Label</key>
94 + <string>com.apple.webobjects.wotaskd</string>
95 + <key>OnDemand</key>
96 + <false/>
97 + <key>Program</key>
98 + <string>/System/Library/WebObjects/JavaApplications/wotaskd.woa/wotaskd</string>
99 + <key>ProgramArguments</key>
100 + <array>
101 + <string>wotaskd</string>
102 + <string>-WOPort</string>
103 + <string>1085</string>
104 + </array>
105 + <key>ServiceIPC</key>
106 + <false/>
107 + <key>UserName</key>
108 + <string>appserver</string>
109 +</dict>
110 +</plist>
111 +
112 +{{/code}}
113 +
114 +Create ///Library/LaunchDaemons/com.apple.webobjects.womonitor.plist// with:
115 +(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)
116 +
117 +{{code}}
118 +
119 +<?xml version="1.0" encoding="UTF-8"?>
120 +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
121 +<plist version="1.0">
122 +<dict>
123 + <key>Disabled</key>
124 + <false/>
125 + <key>GroupName</key>
126 + <string>appserverusr</string>
127 + <key>Label</key>
128 + <string>com.apple.webobjects.womonitor</string>
129 + <key>OnDemand</key>
130 + <false/>
131 + <key>Program</key>
132 + <string>/System/Library/WebObjects/JavaApplications/JavaMonitor.woa/JavaMonitor</string>
133 + <key>ProgramArguments</key>
134 + <array>
135 + <string>JavaMonitor</string>
136 + <string>-WOPort</string>
137 + <string>56789</string>
138 + </array>
139 + <key>ServiceIPC</key>
140 + <false/>
141 + <key>UserName</key>
142 + <string>appserver</string>
143 +</dict>
144 +</plist>
145 +
146 +{{/code}}
147 +
148 +Start the launchd daemons :
149 +(you may need to sudo here)
150 +
151 +{{code}}
152 +
153 +launchctl load /Library/LaunchDaemons/com.apple.webobjects.wotaskd.plist
154 +launchctl load /Library/LaunchDaemons/com.apple.webobjects.womonitor.plist
155 +
156 +{{/code}}
157 +
158 +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:
159 +
160 +{{code}}
161 +
162 +http://localhost:56789
163 +
164 +{{/code}}