[kepler-dev] RFC new directory structure
Bertram Ludaescher
ludaesch at sdsc.edu
Thu Mar 18 08:50:14 PST 2004
Chad:
Thanks for the quick turn-around!
Seems we're converging fast here!
Bertram
PS are you still on travel? (we gotta chat some in Scotia ;-)
>>>>> "CB" == Chad Berkley <berkley at nceas.ucsb.edu> writes:
CB>
CB> Hello,
CB> See my comments below:
CB>
CB> Xiaowen Xin wrote:
>> Hi,
>>
>> David, Ilkay, Zhengang, Dan and I have discussed on the phone and over
>> email the last couple of days about the directory hierarchy
>> reorganization and have come to a rough consensus. This will be a long
>> email, so please bear with me =)
>>
>> The problem basically is that there is currently no clear organization
>> of the files in the CVS repository. Workflows are scattered around the
>> lib/ directory for example, and it's not clear, looking at the
>> repository, which files relate to SPA and which to one of the other
>> projects.
>>
>> Here's a pictorial view of how we would like to reorganize the
>> repository. I will be talking mostly about SPA, but the concepts should
>> carry over to the other Kepler projects as well.
>>
>> - copyright.txt
>> - README
>> - build.xml
>> - bin
>> - runVergil.bat
>> - runVergil.sh
>> - build (directory used for compiling the sources)
>> - docs
>> - lib
>> - jar (directory for all the jars)
>> - dll (directory for all the dlls)
>> - src
>> - org
>> - ecoinformatics
>> - geon
>> - sdm
>> - spa (directory for all the spa-related actors)
>> - util
>> - test
>> - workflows
>> - spa (directory for spa workflows)
>> - seek
>> - geon
>>
CB>
CB> this seems good to me, but it might be better to move the workflows
CB> directory under lib. it's just nicer to have fewer top level directories.
CB>
>>
>> So all the SPA related actors will be in the org.sdm.spa package.
>> Currently there are some SPA actors in edu.ncsu.sdm, but this doesn't
>> make much conceptual sense. There's no reason to divide up SPA source
>> files according to the organization that developed it, since all of SPA
>> will be working closely together to create _one_ set of interrelated
>> actors. Zhengang will work on moving the actors from edu.ncsu.sdm to
>> org.sdm.spa. It's better to divide up the source files by project
>> rather than by organization because the boundary between organizations
>> is artificial and only serves to confuse things.
>>
>> Currently, there's a util/ directory in src/. This isn't really
>> consistent with our naming convention so far (i.e. putting source files
>> in packages that reflect which project made them). The argument for
>> having a util/ directory has been that we'd like to put useful classes
>> in there that can be shared between the projects. However, this
>> argument doesn't make much sense because theoretically, all of our
>> actors could be shared between the projects. So we'd like to move the
>> files in util/ to org/sdm/spa/util. If another project requires the
>> functionality of those two classes, then it would have to include the
>> org.sdm.spa.util package instead of simply the util package.
>>
>> After making these changes, all the SPA source files will be in
>> org/sdm/spa, thus making it much easier to distinguish SPA and its
>> contribution to Kepler.
>>
>> Currently, all the workflows are in lib/ and there are some that are not
>> in CVS at all. We would like create a top-level workflows/ directory to
>> store all of the workflows. spa, seek, and geon would be subdirectories
>> under there. Thus all SPA workflows will be put in workflows/spa/.
>> Similarly, GEON and SEEK should probably do the same with their
>> workflows.
>>
>> With this directory structure, it would be easy to tell which workflows
>> are designed for which project, but we must also remember to check all
>> of our workflows into CVS, and update them when/if they break. Having
>> PIW-full.xml, PIW-full_new_matt.xml, PIW-int-ex0.xml, and
>> PIW-full_new.xml, as we do right now is just plain confusing!
>>
>> Currently the lib/ directory is a mess. It appears to be the garbage
>> bin, where everything is dumped if the author can't find a better
>> container for it. So we propose a series of steps to clean this up.
>>
>> 1. There are two dll's in lib/. There should probably be a subdirectory
>> called dll/ under lib/ that contains these dll's. The person who put
>> these there should probably move them ...
>>
CB>
CB> yeah, i'll do that.
CB>
>> 2. demos.htm and ptolemy-index.html should probably be moved out of lib/
>> and into a more appropriate folder, probably into src/.
CB>
CB> ptolemy-index.html isn't a demo. it's the startup view for kepler. it
CB> gets copied into the ptolemy directory as kepler-index.html. I think
CB> it's fine in lib.
CB>
>>
>> 3. Ilkay will dispose of lib/forBerkeley/ and lib/forSB/ folders or move
>> them into the top-level test/ folder since they contain testing material
>> and so don't belong in lib/. Whoever's responsible for
>> lib/ecoPipelines/ should probably do the same because that's testing
>> material also as I understand it.
CB>
CB> the ecoPipelines directory just contains some random seek stuff i was
CB> working on. i can put them under the workflows directory, whereever it
CB> ends up.
CB>
>>
>> 4. Is everyone ok with our deleting makefile and makefile.lib from
>> lib/? These are also not library files, and we're not using makefiles
>> any more.
CB>
CB> I have no problem with that. ilkay or efrat?
CB>
>>
>> 5. We should move runVergil.bat and runVergil.sh into a top-level bin/
>> directory.
CB>
CB> they aren't really binary, but sure. Efrat and Ilkay, are you still
CB> using these?
CB>
>>
>> 6. Does anyone know what lib/sample.dat and lib/scew-0.3.1.tar.gz are?
>> Can we delete them?
CB>
CB> please do not delete these. they go with the garp stuff i've been
CB> working on. i can move sample.dat into testdata/garp. scew is in there
CB> so i had access to the version that I know compiles with the garp cpp code.
CB>
>>
>> 7. We will delete the lib/soap directory because it's empty, and there's
>> already a lib/jar/soap that contains jar files.
>>
>> 8. We need to do something about lib/testdata/ because it's not a
>> library file. I personally think it should be moved into the global
>> test/ directory.
CB>
CB> i personally think it's fine where it is, though it would also be fine
CB> in a test directory. the test directory was supposed to be for junit
CB> tests, but more structure could be created under that as not many junit
CB> tests have been created yet.
CB>
>>
>> 9. We will move lib/workflow/ into the top-level workflows/ directory.
>>
>> The existence of src/exp/ seems a bit questionable. It seems to stand
>> for "experimental". Maybe it's time to either make it stable and
>> incorporate it into an existing project, or delete it ...
CB>
CB> the stuff in exp was was some stuff we were messing around with to
CB> extend the type system. it hasn't been used yet but may be in the
CB> future. please leave it there.
CB>
>>
>> Please comment! If nobody objects to the proposed restructuring here, I
>> can do nothing but assume everybody loves it =) We'd like to get this
>> finalized as soon as possible, which would make it easier to create a
>> distribution. Matt will be back next week from travel I believe, and it
>> would be wonderful to have some kind of rudimentary installer for him.
CB>
CB> Thanks a lot for looking into this. the messiness of it's been bugging
CB> me as well.
CB>
CB> chad
CB>
CB>
>>
>> Xiaowen
>>
>> _______________________________________________
>> kepler-dev mailing list
>> kepler-dev at ecoinformatics.org
>> http://www.ecoinformatics.org/mailman/listinfo/kepler-dev
CB>
CB>
CB> _______________________________________________
CB> kepler-dev mailing list
CB> kepler-dev at ecoinformatics.org
CB> http://www.ecoinformatics.org/mailman/listinfo/kepler-dev
More information about the Kepler-dev
mailing list