The goodness of goodness

Richard Dale Richard_Dale at tipitina.demon.co.uk
Mon May 14 06:34:59 UTC 2001


On Sun, 13 May 2001, you wrote:
> On Fri, 11 May 2001, Richard Dale wrote:
> 
> > Hey, I've been thinking recently how great it would be if the KTrader/KParts
> > dynamic resource loading mechanism had a versioning system. I worked on a large
> > trading application which was written in Objective-C, that language has a class
> > loading feature called NSBundles, like KParts, which allow you to load code
> > dynamically. The application was broken up into a core, plus lots of dynamically
> > loaded bundles, each bundle had a version (a table of current versions was held
> > in a database). We could release code on a bundle by bundle (cf KPart by KPart)
> > basis and never need to overwrite existing code. If bundle version .17 went
> > horribly wrong, we just needed to revert to .16 in the database table and the
> > application would revert to using that one on startup.
> 
> Hmm, aren't bundles just distiguished by their file name (i.e. directory
> name)? How do you distinguish different versions of them?
Yes, they were, but we gave them names like FooBar.17.bundle. I assume you
would have to include the goodness number in the real name of KPart library too,
but the 'KTrader/goodness as version number' gives you a level of indirection
away from that. Perhaps there could also be some sort of KTrader service to give
the the current version set of the app's KParts. 

It was quite a powerful feature to always be able to revert to a previous set
of bundles if something went wrong with a new release. It meant that you
rarely had to release the entire app (Objective-C also allows you to override
and patch existing code at runtime with 'categories'). So for large, constantly
changing custom apps this was very useful.

-- Richard

-
to unsubscribe from this list send an email to kdevelop-devel-request at kdevelop.org with the following body:
unsubscribe »your-email-address«



More information about the KDevelop-devel mailing list