Config.codeBase is now defined and used consistently. In order to run
LK from a subdirectory you just have to set this property.
Robert
On Apr 19, 2009, at 1:34 AM, Philip Weaver wrote:
The following is description of one way to be able to run your
Lively worlds while the kernel resides inside a subdirectory. The
benefit is that all of your world documents can exist at the top
level of your root directory and are easier to locate and manage.
This also makes updating from svn much simpler. You can also keep
your localconfig in the root directory while the defaultconfig
resides in the Lively subdirectory.
Concerns
These instructions may become obsolete once
"lively.lang.Namespace.defaultBase" begins to reflect a Config
setting. "lively.lang.Namespace.defaultBase" is not available when
the Config files are loaded.
For portability, these instructions use a relative path for
Config.codeBase (below). Haven't delved into the ramifications but
it works fine in my worlds. example.xhtml has a few problems perhaps
because some paths are in subdirectories.
"lively.lang.Namespace.defaultBase" is not to easy to modify because
it does not yet exist when the Config files are loaded. Overall,
something in the kernel or in Namespace.uri() needs to change in the
repository so that the BaseExtension.js patch (below) would not be
necessary. The patch is placed in "your-lib/BaseExtension.js" to
make future updates from svn easier.
Please post to the list if you find improvements to this solution
for tidying the Lively installation. (a weekday is fine :-) ) Please
post to the list if discover and resolve the problems with loading
example.xhtml
Instructions
Make a backup of your Lively directory before continuing.
Create a new directory named "lively" inside the root kernel
directory. Move the contents of the root kernel directory into
"lively".
In each of your world documents, replace:
xlink:href="
with:
xlink:href="lively/
Next, in each of your world documents, also replace:
<script type="text/ecmascript" xlink:href="lively/Base.js"/>
with:
<script type="text/ecmascript" xlink:href="lively/Base.js"/>
<script type="text/ecmascript" xlink:href="your-libs/
BaseExtension.js"/>
your-libs/BaseExtension.js
Config.codeBase = '/lively/';
lively.lang.Namespace.prototype.uri =
lively.lang.Namespace.prototype.uri.wrap(function(proceed) {
lively.lang.Namespace.defaultBase = Config.codeBase;
var result = proceed();
return result;
});
Phil
_______________________________________________
General mailing list
[email protected]
http://livelykernel.sunlabs.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://livelykernel.sunlabs.com/mailman/listinfo/general