[kepler-dev] build a custom actor
berkley at nceas.ucsb.edu
Wed Aug 20 10:21:51 PDT 2008
We're aware that the ID system in Kepler is not perfect. For now, we
just use the readme file to get the next id. This will all be revisited
once the Kepler-CORE development on Kepler gets going in earnest.
In theory, the way this should work is that every object in Kepler
should have a unique lsid including jars, kars, classes, moml files,
etc. The object manager within kepler should then be able to manage
objects in the system by id. In practice, we have really only used the
lsid system for actors, although a lot of the groundwork for identifying
other objects is there. We just haven't had the resources to fully
implement this functionality.
For more info on lsids see http://lsids.sourceforge.net/
> I have now other question - the LSID number.
> How do I know what number should I use if I want to develop a new actor?
> I saw the tutorial on kepler web page:
> "Open the README file in src/actors to look at the last LSID used. Your
> actor will use the next available LSID (say 450). "
> But in fact I never know what set of actors could be in the target
> kepler installation. Maybe someone wrote a bunch of its own ones and the
> LSID I will choose won't be free in fact??
> Other thing is the ImageJ example. In manifest I can see:
> Manifest-Version: 1.4.2
> Ant-Version: Apache Ant 1.7.0
> Created-By: 1.5.0_10-b03 (Sun Microsystems Inc.)
> KAR-Version: 1.0
> lsid: urn:lsid:kepler-project.org:kar:154:1
> Name: ImageJ.xml
> lsid: urn:lsid:kepler-project.org:actor:251:1
> type: actorMetadata
> Name: ImageJ.jar
> lsid: urn:lsid:kepler-project.org:jar:251:1
> type: jar
> Name: ij.jar
> lsid: urn:lsid:kepler-project.org:jar:252:1
> type: jar
> Could you explain me what are these LSIDS ? There are others counters
> for kars, jars and actors ??? How do I know what values should I choose
> while implementing the actor?
> What will happen if I set some LSID values in my custom actor/s and put
> them in the repository. Later someone will import them to the local
> kepler installation and such LSIDs numbers aren't free.
> The imported actor will replace some other with the same LSID?
> Dan Higgins wrote:
>> Hi dejw (and others)
>> It is possible to include jar files used by an actor in the kar
>> package. An example can be seen in $KEPLER/src/actors/ImageJ (This is
>> an example of the ImageJ.kar file.) The key is information in the
>> MANIFEST.MF file which includes references to the jars.
>> Unfortunately, I think you still need to create this package by hand.
>> See http://www.kepler-project.org/Wiki.jsp?page=AddingJarsToKarFiles
>> for a brief discussion.
>> Dan Higgins
>> Sean Riddle wrote:
>>> Putting your Jar files into kepler/lib/jar (or any level below that)
>>> will cause them to be put on the runtime classpath, I believe.
>>> Ideally, you would use KAR files to bundle up actors with stuff they
>>> need, and then you could import that in another Kepler installation;
>>> I've never actually tried it myself, though, so someone else could
>>> probably speak on that better.
>>> - Sean
>>> On Aug 7, 2008, at 4:39 AM, dejw wrote:
>>>> I want to build a custom actor for Kepler, I saw the HelloWorld
>>>> example and it is clear for me, that's fine but...
>>>> I want to create quite "big" actor with many jars included which are
>>>> not a part of kepler right now - the question how to do it, where
>>>> should I put my custom jars?
>>>> How can I later exchange this actor with other kepler instances? KSW
>>>> files? If yes is out there any tutorial how to prepare KSW file with
>>>> right stuff inside?
>>>> Can I later upload such actor (ksw?) to repository and download over
>>>> the wire in another kepler instance and use?
>>>> My actor with the jars included may have from about 30 MB even up to
>>>> 100 MB ;)
>>>> Dawid Szejnfeld
>>>> Kepler-dev mailing list
>>>> Kepler-dev at ecoinformatics.org
>>> Kepler-dev mailing list
>>> Kepler-dev at ecoinformatics.org
> Kepler-dev mailing list
> Kepler-dev at ecoinformatics.org
More information about the Kepler-dev