Posts: 1,106
Threads: 77
Joined: Jul 2011
Re: Tutorial: Adding unofficial LDraw parts to MLCad
2014-07-10, 16:18
I think Willy has been pretty explicit in identifying most of the risks, but it would be nice to put that standard disclaimer at the very top of the document.
I have some comments:
1) The zip file is normally refreshed every 5 minutes, but if only there have been any changes. [Sometimes it also gets refreshed manually in between, if I've done a bunch of renames].
2) I may have missed it, but there should be a recommendation to never, ever put the Unofficial "library" ahead of the Official library in the search path. This can potentially break existing models, and although it's rare and hard to explain, it might be worth adding.
a) This can happen because sometimes we change already official files to move code in or out of their parents. Whilst at Parts Update time we ensure that fixes to all dependent files are released together, they won't all necessarily exist on the Parts Tracker at a particular point in time. The most common case is when an existing official part is subparted to allow for patterning. The symptoms depend on what has been changed and in what order the author adds the new subpart and its parent to the Parts Tracker. If the parent is added first there will be missing surfaces until the subpart is added.
b) If the interface between a subpart and its parent get changed then even adding the subpart first may cause problems if it takes a while to upload all it related parents.
3) Sometime when a bunch of related parts and subparts get added with bad names, the renaming and re-organising can span across several interations of the file refresh. In extreme cases I may need to do something else (like eat) part way through. In these cases, even new parts the unofficial area can appear broken for extended period of time.
4) Unzipping a zip archive into an existing directory is an additive process. I think you should recommend that users clean out or delete the unofficial directory each time they unzip a new download. Otherwise they risk accumulating files that have later been renamed and will never appear in the official library with that number.
5) All files issued in a Parts Update are programmatically checked to ensure that they have valid LDraw headers, including the License statement and are authored by someone who has affirmed the Contributor Agreement. I have not implemented that check at upload to time for fear of novice authors might lose interest in failing those checks on an otherwise perfect part.
6) I can't remember if I have ever checked that we have nothing left on the Parts Tracker from any non-CA authors. If I find them I usually hold for redevelopment, but that doesn't stop them being included in the zip file. We shouldn't be distributing those (even as one-by-one downloads, really).
Chris (LDraw Parts Library Admin)