OMR Spec - Updated 8/25


OMR Spec - Updated 8/25
#1
Here's the latest draft. Discuss!! (Note: there is a quote bug that's removing the text between <>. Be aware of that and restore the text if needed)
--
The Offical Model Repository Specification
Version: 0.4 (will turn 1.0.0 upon ratification by the LSC)
Author: Orion Pobursky

Purpose:
--------
The Official Model Repository (OMR) is a database of file in the LDraw File Format describing models that are released as sets by LEGO®.

For consistency between models and ease of indexing by software, a standard for the file headers, names, and hierarchy in the OMR is needed. This document will outline the extra requirements (in addition to those set forth in the current LDraw File Format specification) for a model to be included in the OMR

Base Requirements:
------------------
All files in the model will conform to the current LDraw File Format

Base File Naming:
-----------------
Each model in the OMR will consist of several files that are packaged together into a single MPD file. For sets that include instructions for multiple models, each model will have its own MPD file. Each MPD for the set will be named in the following manner:

<Set Number> - <Set Name> - <Sub Model Name>

Where:
<Set Number>: the number assigned on the container of the set
<Set Name>: The name of the set printed on the container in Australian English
<Sub Model Name>: This is Optional in most cases. This is required for alternate models that are detailed in instructions (e.g. the Creator theme). In this case the naming is left to the discretion of the author but should be descriptive of the model contained in the MPD.

Example:
The creator set 4896 - Roaring Roadsters has 3 models in the instructions:
Set 4896 - Roaring Roadsters - Roadster.mpd
Set 4896 - Roaring Roadsters - Dragster.mpd
etc...

For playsets or other sets where there are multiple models that are part of an integral whole, all of the submodels will be contained in one MPD.

MPD File Structure:
-------------------
The MPD will conform to the MPD File Specification.

The naming of the individual files in the MPD is up to the discretion of the author with the following guidance:
- A logical naming scheme is highly desired.
- Individual models in the set (e.g. a vehicle or minifig) shall have their own separate file inside the MPD.
- Minifig file name should have the name of the character, if known
- The <MPD Filename> is required to be pre-pended to the file name of each individual file in the MPD

The unofficial parts are allowed to be used. The filename of the unofficial part is subject to the naming rules above (e.g. 33056.dat would be renamed to <MPD Filename> - 33956.dat). It is highly encouraged that any parts created for use in a OMR file be submitted to the LDraw.org Parts Tracker.

If a part is unavailable either officially or on the LDraw.org Parts Tracker, a suitable substitution may be made. If the unavailable part is a patterned part with an unpatterned version available use the unpatterned version. A comment should be inserted stating that a substitution has been made or, if no substitution is available/suitable, that a piece has been omitted. Reference the step and page number of the instructions if possible.

Example:
0 // The next piece should have the Star Wars Hatch pattern per step X on page Y
or
0 // Bionicle piece X should go here per step Y on page Z

File Headers:
-------------
Each individual model file in the MPD must have a standard header format.

Standard Header:
0 FILE <MPD Filename> - <Filename>.ldr
0 <MPD Filename> - <File Description>
0 Name: <MPD Filename> - <Filename>.ldr
0 Author: <Author Name>
0 !LDRAW_ORG Official Model Repository
0 !LICENSE Redistributable under CCAL version 3.0 : see CAreadme.txt

0 !THEME Theme name
0 !KEYWORDS words, more words,…,
0 !KEYWORDS words in second row, …, final words

0 !HISTORY YYYY-MM-DD [<Author Name>] Free text description of change. This can wrap to a
0 !HISTORY YYYY-MM-DD [<Author Name>e] second row with the same date if necessary. However authors should lean toward writing longer
0 !HISTORY YYYY-MM-DD [<Author Name>e] single !HISTORY lines(and not feel constrained to the historic 80-character limit on line length)

Where:
<MPD Filename>: The name of the containing MPD
<Filename>: The name of the file
<Author Name>: The name of the author. Real full name are highly desired but not required. If the full name is not provided, a first or last name, with or with out initials, is requested.

Optional commands are !THEME, !KEYWORDS, and !HISTORY

Example:
To Be Inserted Later

META commands:
--------------
All META commands are allowed in the model file but not specifically required except as specified for the header. If included, any META commands used should enable any instructions generated to be as close to the official instructions as possible.
Reply
Re: OMR Spec - Updated 8/25
#2
Outstanding questions:
  • Require the 0 !THEME tag. Is it even neccessary? - I say yes to both
  • What if the author uses Alias or Physical Colour parts? - I say scan the file and provide a download warning
  • pre-pending <MPD Filename> to everything is excessive - I say that it is needed to keep the filenames unique for tracking purposes and if multiple MPDs are unrolled in the same directory.
Reply
Re: OMR Spec - Updated 8/25
#3
Orion Pobursky Wrote:
-------------------------------------------------------
> Outstanding questions:
> [*] What if the author uses Alias or Physical
> Colour parts? - I say scan the file and provide a
> download warning

NOT allow them.

w.
LEGO ergo sum
Reply
Re: OMR Spec - Updated 8/25
#4
I think that's too restrictive. If we're going to allow unofficial parts to be embedded then we should allow official parts to be used, even if they are distributed separately.
Reply
Re: OMR Spec - Updated 8/25
#5
Orion Pobursky Wrote:
-------------------------------------------------------
> Outstanding questions:
> [*] Require the 0 !THEME tag. Is it even neccessary? - I say yes to both
> [*] What if the author uses Alias or Physical Colour parts? - I say scan the file and provide a download warning
> [*] pre-pending to everything is excessive - I say that it is needed to keep the filenames unique for tracking purposes and if multiple MPDs are unrolled in the same directory.

Actually, I asked a question here that was never answered. To summarize the question: How should non-available parts be handled (e.g. the part is not available officially or unofficially)?

I think this is an important question, especially when considering how many patterned minifig parts are unavailable in any form.
____________________________________________________________________________________________________
I'm theJude! So that's what you call me. You know, that or, uh, his Judeness, or uh, Juder, or el Juderino if you're not into the whole brevity thing.
Reply
Re: OMR Spec - Updated 8/25
#6
I adress it in the spec. It's at the bottom of the the MPD File Structure section.
Reply
Re: OMR Spec - Updated 8/25
#8
Orion Pobursky Wrote:
-------------------------------------------------------
> Outstanding questions:
> [*] pre-pending to everything is excessive - I
> say that it is needed to keep the filenames unique
> for tracking purposes and if multiple MPDs are
> unrolled in the same directory.

Well if <MPD Filename> - <Individual submodel> is going to be <Set Number> - <Set Name> - <Sub Model Name> - <Individual model> with the result that you have:

4896 - Roaring Roadsters - Roadster - Chassis.ldr

it is surely excessive. IMHO <Set Number>-<Optional Qualifier> - <Individual submodel> would be enough:

4896-1 - Chassis.ldr instead of 4896 - Roaring Roadsters - Roadster - Chassis.ldr
4896-2 - Motor.ldr instead of 4896 - Roaring Roadsters - Dragster - Motor.ldr

or

928 - Galaxy Explorer.mpd

with

928-1 Minifig.ldr
928-1 Buggy.ldr
928-1 Ship.ldr
928-1 Left back door.ldr
928-1 Right back door.ldr
928-1 Base.ldr
928-1 Baseplates.ldr

However this leaves out the small number of sets of the pre '80s where the set number wasn't unique.

w.
LEGO ergo sum
Reply
Re: OMR Spec - Updated 8/25
#10
I like that. I'll add it to the coming revision.
Reply
Re: OMR Spec - Updated 8/25
#7
> 0 !LDRAW_ORG Official Model Repository

I thought that this had been discussed elsewhere, but if those suggestions were rejected and we are going !LDRAW_ORG, I'd prefer to align the syntax with parts files, as much as possible. In that context, the absence of "Unofficial" implies official, and the first (space delimited) word defines the file type. Also I think that the file is not a "Model Repository", but a "Repository Model". So, IMHO, this would be clearer

0 !LDRAW_ORG Unofficial_Repository_Model (only needed if you intended to implement a review process)
0 !LDRAW_ORG Repository_Model

or even just

0 !LDRAW_ORG Unofficial_Model
0 !LDRAW_ORG Model

> 0 !LICENSE Redistributable under CCAL version 3.0 : see CAreadme.txt

What's new in CCAL 3.0? The existing CAreadme.txt (in the LDRAW root folder) refers to CCAL 2.0. If you need a CCAL 3.0 version it probably needs a new name.

> 0 Author: <Author Name>

How do you intend to ensure affirmation of the CA by Model providers? The Parts Tracker does this by only allowing web-submission by CA-affirmed users. Part of that checking is standardization of "RealName" and the reason for the inclusion of [UserName].


Chris
Chris (LDraw Parts Library Admin)
Reply
Re: OMR Spec - Updated 8/25
#9
Good points. I'll address them in the next revision.
Reply
« Next Oldest | Next Newest »



Forum Jump:


Users browsing this thread: 1 Guest(s)