Daniel, thanks for your feedback!
On May 20, 8:52 pm, "d. kajsh" <
hsja...@hotmail.com> wrote:
> But what about updates and modifications?
I don't have a great solution for updates, yet.
> Say, I start a new MOO today and get the Stunt.db with kernel 1.0.7
> and lambdacore 0.0.4. How would I upgrade either of these packages on
> the server when a new version gets released?
I keep all of my application code in packages. When I need to
upgrade, I export my application packages and build a new core with
the latest library packages. Then I import my application packages.
In the near future I'd like to be able to upgrade packages in place,
but I'll need to do some work on the server, first.
> Packages like LambdaCore aren't going to be static, the objects won't
> remain untouched after install. I will have to change and tweak code
> all over the place when implementing new features. How can i share
> these modifications with other MOOs based on Stunt+LambdaCore?
My assumption is that packages will be static and changes made
directly to package objects will not be preserved when a package is
upgraded. There is no provision for extracting (or preserving)
changes made directly to a package (in a diff, for example) short of
exporting the entire package. If you're tweaking a package like
LambdaCore itself, you'll need to distributes your tweaks as part of a
release of the entire package.
The problem is that legacy cores like LambdaCore weren't designed to
be modular, and my packaging solution doesn't overcome that. Can you
implement your changes as/to children of the objects in the LambdaCore
package, and distribute a lambdacore_extensions package?
> At the moment it looks to me like we're still left with packages where
> modifications can't be easily merged between different cores. Would
> splitting up/modularizing the LambdaCore help?
It sounds like what you want to do is to make and distribute the
changes to a package. My vision was that the package itself is the
unit of distribution.
> I have several older MOO cores lying around which are based on
> different versions of LambdaCore and I want to merge some of these
> changes and add new features into a new MOO in a modular, shareable
> way.
Nothing that I've created will help pluck arbitrary code/objects out
of a database, unless that code is segregated out as a package,
independent of the rest of the core, with dependencies called out,
etc. etc. etc.
> * Using $composed:import_package_from_file() directly to import the
> LambdaCore package fails ("ran out of seconds"). Maybe importing from
> local json files could be integrated into $composed:@install?
A local disk cache of packages is on my todo list. I just have to get
to my todo list! I will look at the seconds issue.
> * What happened to $composed:audit() that's mentioned in the "Hoisting
> Lambdacore" article?
I removed audit() because it wasn't ready for prime time. It will
make it's appearance in a separate package.
> * The interactive command line onhttp://
stunt.io:8888/doesn't seem
> to work with Chromium.
What version of Chromium are you using?
> Keep up the great work,
Thanks! Package support is far from perfect, and the process of
_making_ a package isn't particularly easy. I appreciate your giving
it a try.
Todd