Changes for page Embedding WOFrameworks
Last modified by Gavin Eadie on 2011/07/29 18:09
From version 58.1
edited by Philippe Rabier
on 2011/07/29 18:09
on 2011/07/29 18:09
Change comment:
Migrated to Confluence 4.0
To version 57.1
edited by Kieran Kelleher
on 2008/09/04 12:55
on 2008/09/04 12:55
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. prabier1 +XWiki.kieran - Content
-
... ... @@ -1,41 +34,8 @@ 1 -== WOLips 3.4.x, and later, Side-note == 2 - 3 -{{warning}} 4 -If you are updating an older project, make sure you get the latest build.xml file. Create a new project, then copy/paste the contents of the fresh build.xml file into your project's build.xml file. 5 -{{/warning}} 6 - 7 -For WOLips 3.4.x and later, while embedding is built-in, it's not enabled by default. To enable embedding: 8 - 9 -* make sure you are in the WO Explorer view 10 -* right-click your project folder, select Properties, select WOLips Deployment 11 -* check the related, if not all, options under Embed Frameworks 12 - 13 -To create a versioned/dated bundle of your app and resources: 14 - 15 -* make sure you are in the Navigator view 16 -* edit build.properties, and add: 17 -* {{code language="none"}}build.app.name=MyApp-2009-07-14{{/code}} 18 - 19 -There is a known bug with WO 5.4.x (for those not using the latest Wonder release) regarding proper linking to your web server resources within the embedded frameworks. The WOFrameworksBaseURL isn't set correctly. To do this you'll need to programmatically set this within your Application constructor: 20 - 21 -* {{code language="none"}}setFrameworksBaseURL("/WebObjects/MyApp-2009-07-14.woa/Frameworks");{{/code}} 22 - 23 -Another way to fix this bug is to set the following launch parameter: 24 - 25 --DWOFrameworksBaseURL=/WebObjects/MyApp-2009-07-14.woa/Frameworks 26 - 27 -Within build.properties (I may need to be corrected on this), the best approach to linking your embedded framework's web server resources automatically is to include (however the bug noted above breaks this): 28 - 29 -* {{code language="none"}}frameworksBaseURL=/WebObjects/${build.app.name}.woa/Frameworks{{/code}} 30 - 31 -There was an old bug in the build.xml file but fixed if you have WOLips more recent than october 2010: 32 - [[http:~~/~~/issues.objectstyle.org/jira/browse/WOL-979>>url:http://issues.objectstyle.org/jira/browse/WOL-979||shape="rect"]] 33 - 34 34 == Introduction == 35 35 36 -Below is outlined "simple embedding" concepts, however (% style="text-decoration: underline;" %)full embedding(%%)**and**(%style="text-decoration: underline;" %)split-installing(%%)are really recommended. This provides fully versioned self-contained bundles of both the application deployment bundle and the webserver deployment bundle. Read the docs on that technique for more **advantages**. This technique fully explained along with a ready-to-use ant build script is available at:3 +Below is outlined "simple embedding" concepts, however __full embedding__ **and** __split-installing__ are really recommended. This provides fully versioned self-contained bundles of both the application deployment bundle and the webserver deployment bundle. Read the docs on that technique for more **advantages**. This technique fully explained along with a ready-to-use ant build script is available at: 37 37 38 -[[ doc:Alternative Ant Build Script for Fully Embedded and Split Install Bundles]]5 +[[Alternative Ant Build Script for Fully Embedded and Split Install Bundles]] 39 39 40 40 == Simple Approach == 41 41 ... ... @@ -87,31 +87,17 @@ 87 87 88 88 The various dirs referenced in the build.xml from which you can select the embed option are: 89 89 90 -|=((( 91 -dir name 92 -)))|=((( 93 -Description 94 -))) 95 -|((( 96 -wo.wolocalroot 97 -)))|((( 98 -/Library/Frameworks/ 99 -Embedding these is most useful especially if you the codebase for these, like WOnder frameworks or your own, is frequently updated 100 -))) 101 -|((( 102 -user.home 103 -)))|((( 104 -~~/Library/Frameworks/ 105 -))) 106 -|((( 107 -wo.systemroot 108 -)))|((( 109 -/System/Library/Frameworks/ 110 -This is where Apple's WebObjects frameworks are installed and if your WebObjects version is consistent between your deployment and development platforms, then embedding these is not of much benefit. 111 -))) 57 +|= dir name |= Description 58 +| wo.wolocalroot | /Library/Frameworks/ 59 +\\Embedding these is most useful especially if you the codebase for these, like WOnder frameworks or your own, is frequently updated 60 +| user.home | /Library/Frameworks/ 61 +| wo.systemroot | /System/Library/Frameworks/ 62 +\\This is where Apple's WebObjects frameworks are installed and if your WebObjects version is consistent between your deployment and development platforms, then embedding these is not of much benefit. 112 112 113 113 {{note title="Remember to..." bgColor="#FFFFCE"}} 114 -If you are working with framework source in your Eclipse workspace (which you should be!), then it is critical that you build and install all frameworks before building the deployment bundles to ensure that the embedded frameworks are the same as the source you have been developing and testing with. See next subsection for one approcah to automating this. 65 + 66 +If you are working with framework source in your Eclipse workspace (which you should be\!), then it is critical that you build and install all frameworks before building the deployment bundles to ensure that the embedded frameworks are the same as the source you have been developing and testing with. See next subsection for one approcah to automating this. 67 + 115 115 {{/note}} 116 116 117 117 === Pre-installing Workspace Frameworks Before Embedded Build === ... ... @@ -120,7 +120,7 @@ 120 120 121 121 {{code}} 122 122 123 -<!-- Install my own dependent frameworks in final local install location before embedding --> 76 + <!-- Install my own dependent frameworks in final local install location before embedding --> 124 124 <target name="installMyFrameworks"> 125 125 <ant dir="../WKDemography" target="install" inheritall="false" /> 126 126 <ant dir="../WKEmailData" target="install" inheritall="false" /> ... ... @@ -138,7 +138,7 @@ 138 138 139 139 {{code}} 140 140 141 -<target name="build.woapp" depends="installMyFrameworks"> 94 + <target name="build.woapp" depends="installMyFrameworks"> 142 142 143 143 {{/code}} 144 144 ... ... @@ -148,7 +148,7 @@ 148 148 149 149 ---- 150 150 151 -See also [[FrameworkSet>> doc:WOProject-FrameworkSet]] documentation.104 +See also [[FrameworkSet>>WOProject-FrameworkSet]] documentation. 152 152 153 153 Example for embedding WOFrameworks. 154 154 ... ... @@ -156,10 +156,10 @@ 156 156 157 157 Assume two projects: One named Foo( a framework) and the other named Uli (an application). The parent folder has another folder named packandgo. 158 158 159 -[[image: attach:Folders.png]]112 +[[image:Folders.png]] 160 160 161 -The [[ attach:packageandgobuild.xml]]from the application. Two minor changes to the default build.xml:162 - 114 +The [[^packageandgobuild.xml]] from the application. Two minor changes to the default build.xml: 115 +1 application target 163 163 164 164 {{code}} 165 165 ... ... @@ -181,8 +181,8 @@ 181 181 182 182 {{/code}} 183 183 184 -The [[ attach:build.xml]]from the packageandgo folder:137 +The [[^build.xml]] from the packageandgo folder: 185 185 186 186 Just invoke ant in the packageandgo folder and grap the App from the applications folder within the packageandgo folder. 187 187 188 -[[image: attach:FoldersAfterBuild.png]]141 +[[image:FoldersAfterBuild.png]]