username wrote:My intention was to implicitely cache via priorities. E.g. higher priorities decide whether to override/update, but the manager decides what to cache where. (Decision to be externalized in an algoritm class.) What did you have in mind for priorities?
What I was thinking for the priorities was they represent how expensive it is to get the asset from the location. E.g. you will grab an asset from the cache or local asset library or campaign file before you try grab it from a network repository which you would grab it from before the MT server. Caching is separate from this, as some local sources wont need to be cached, or only hashes cached and the location of the real file (kinda like what happens now with stuff in your asset library, but I am by no means saying it should work exactly that way).
username wrote:I strongly disagree on mixing ids and hashes. Mostly because it contraints external sources. External sources may be able to generate unique ids, but not the exact same hashes. This is currently broken in 1.3. I generate tokens from my own repository with an external script, which MT is seemingly able to import nicely. Next time I start the campaign it freezes MT. Last thing I see is that the id doesn't match the hash. (And it takes some MT-fu to recover the campaign too.)
There is no requirement to implement current bugs btw
Ok so here is the issue if I play with more than one group they will often have the same images, be they from the large 4gig repo that was floating around, the RPTools web albums, or many other places. Ideally I don't want to download these from a repo (or worse still MT server) if they are already on my disk, I also don't want to end up with 4 or 5 versions of many of them in my cache on top of the ones I already have on my disk. Using a well known hashing algorithm like md5 for and id for the most part solves this problem (if some one converts all the jpegs to pngs there is really nothing you can do).
username wrote:I propose to have the uniqueness check be part of the handlers. I.e., if a new asset is added, it scans via md5 (or other mechanism), whether it is aleady present. It should act accordingly.
This could work, but it would have to be either part of the index for the list of files, or the small metadata file that lives with the file (i.e. there is no use retrieving the file to calculate the md5 of the file to check if you already have it). The one question I do have though is what does the ID represent? Because it still seems that you are still using the md5 hash as the true ID of the object. Or did you have some other thoughts on how you were going to achieve this?
Now for the "coding standard" stuff, so hopefully we are all doing something near consistant
You could provide some style package for eclipse.
Given that we are moving away from requiring people to use eclipse thats not a great idea (I also don't use eclipse so someone else would have to provide that).
username wrote:Or run some checker in sonar, should we create a continous build.
It would be nice, in all honesty I would really like to have a continuos build system, but then I look at the requirements for even a small to mid size project, and speak to a few people I know who are using them to make sure said requirements are not just completely overstated, then do a search for hosted VM environments with > 512m memory and at this point I find the cost kinda hard to justify. The next option is I run it on some machine I find lying around at home but thats not necessarily going to be reliable, something more like sporadic build system
username wrote:If you feel strongly about these rules, this should be automated. At least I work in different projects with different philosophies in that respect and it is easy to get confused. Personally, I'm of the "Don't complain, do something about it" school of development.
Just letting you know the detail, not complaining, and by doing that I "have done something about it"
Surely you were not expecting to be able to contribute to an open source project without following some standards? Now I am more than willing to entertain more automated solutions the will help with the enforcing/flagging of rules but if they require everyone using eclipse or having to throw a chunk of money at it, then its hard to get past entertaining to doing.