= Metadata Upload File Format = <> = Introduction = This document describes the requirements for the Master Document List ('''MDL''') of the Matrics Expert Team ('''MET''') that allows the converter program (convertMetaData.pl) to convert the MDL or part of it into the [[http://wiki.softxs.ch/drawmgt/MetadataFormat|DrawMGT Metadata Upload File ('''MUF''') format]]. It is not intended that the file format described here will be used by DrawMGT users, it is intended for SoftXS experts to help MET in mass uploading. The [[http://wiki.softxs.ch/drawmgt/MetadataFormat|'''MUF''' format]] is for general using. = Minimal Data Set = To allow to insert a new document into the DrawMGT database at least * [[METDocumentCode|Document Code]] must be complete, i.e. all required elements of the code must be filled * First 2 lines of the document title must be filled To allow to insert a new revision to a new or an existing document * Revision Code must be filled To allow to upload a file to a new revision * File Name must be filled with the full file name, including file extension = MDL File Format = The Metadata Upload file uses a simple spreadsheet format which contains columns and rows of data. Each row represents a single record and may contain information about a document, revision and comment (task). Some column represents the individual data fields used to build a MUF. Some fields of the MUF are created as a combination or as a part of MDL fields. Lines beginning with a '#' character are considered to be user information. These, as well as blank lines, are ignored by the Metadata Uploader. The first row must contain column header information. The headers must match the column names described in the table in [[UploadFormat#MDLRecordFields|MDL Record Fields section]]. The converter program ignores data in columns that have misspelled or, otherwise don't match the header list. Thus, additional columns can be placed in '''MDL''' and they will be safely ignored by the converter program provided they do not conflict with the column names listed below. All subsequent rows contain document, revision and comment data. Not all columns need to be defined. Again, [[UploadFormat#MDLRecordFields|MDL Record Fields section]], describes which columns are required.T The column headers may be in any order. The data in each column should correspond be in the same order as the headers. Column headers and values in all rows must be separated using a tab character. This type of file is easily to create by MS Office or [[http://www.openoffice.org/|OpenOffice]] from a spreadsheet. = MDL Record Definition = == MDL Record Components == The MDL record consists of a series of fields which can be divided into three categories: 1. Document definition fields 1. Revision definition fields 1. Comment definition fields A single document, revision and comment may be created in one upload record. Alternatively a revision can be updated. The following restrictions apply: * Documents can be created, but existing documents cannot be updated. * New revisions can be created or existing revisions can be updated. * If a new revision is created, then a single comment can be created. * Comments cannot be updated. Note that the document code is collected from many fields. See [[METDocumentCode|MET Document Coding System]] for detailed information. == MDL Record Fields == The following tables describe the fields handled by the converter program and displays the following information: * '''Column Name''': The name used as the header * '''Data Type''': The expected data type and maximum length of the field * '''Req''': Required (Y or N) * '''DB Field Mapping''': The database field name * '''Ref. Data''': The lookup used in the Reference Data to validate and store the reference value * '''Notes''': Additional Notes || '''Column Name''' || '''Data Type''' || '''Req''' || '''DB Field Mapping''' || '''Ref. Data''' || '''Notes''' || || Stage || num(1) || Y || Drawings.drawingCode || || First part of document code || || Phase || num(1) || Y || Drawings.drawingCode || || Second part of document code || || Coded File Name || char(255) || Y || Drawings.drawingCode, Revisions.publishFilename || || Filename format: "cc-DD ..." where cc=Key aspect, DD=language, cc-DD '''must be filled''' even if no file is available. cc and DD are the 3th and 4th part of the document code. The File Name must be '''exactly''' the name of the file to be uploaded. || || Discipline || num(1) || Y || Drawings.drawingCode || || 3th part of document code || || SOURCE || char(4) || Y || Drawings.drawingCode || || Source, the originator of the document (METS, DBR, etc) and it is the 5th part of document code. || || Doc. No. || num(5) || Y || Drawings.drawingCode || || 6th part of document code || || Doc. Part || num(5) || Y || Drawings.drawingCode || || 6th part of document code || || plannedTitle0 || char(128) || Y || Drawings.plannedTitle0 || TitleRef || It is set now to 'DBR Metro 4' || || Text || char(128) || Y || Drawings.plannedTitle1 || || || || Comment || char(128) || N || Drawings.plannedTitle2 || || || || Folder || char(1) || N || Drawings.contractId || ContractRef || Default is 'A - DBR Metro Line 4' || || Group || char(1) || N || Drawings.groupId || Groups || Default is 'G - General' || || Front Page || char() || N || || || An indicator, that the current record is a front page if the field contains 'FP'. A front page is a normal document || || Level || num(1) || N || Classifications.code_? || || Quality assurance as classification || || Year / Quarter || char(128) || N || Revisions.description || || It is stored also as classification || || author || char(128) || N || Drawings.author || || || || Sub Author || char() || N || Drawings.author || || Appended to the field author in brackets || || Document Type || char() || N || Drawings.documentTypeId || DocumentTypeRef || The column 'Document Type' is set to 'REP' as default. || || I/O || char(1) || N || Draings.workFlowTypeId || WorkFlowTypeRef || Default is 'I'. In case of 'I' work flow type is 'RAA', in case of 'O' NONE || || Expert Contract || num(1) || N || Classifications.code_B || || It is stored as classification, aspect B 2nd character. E.g. '7' in code 'B72' || || Start Date || date || N || Revisions.startDate || || || || Recd Date || date || N || Revisions.receiveCompleteDate || || Responsible will is set to 3 (TN/SXS) || || Date Issued || date || N || Revisions.designCompleteDate || || Responsible will is set to 3 (TN/SXS) || || Appendix Revision || char(64) || Y || Revisions.revisionCode || || Required if revision upload/update defined. (1-9,A-Z,AA-ZZ) without '''Rev-''' || || Original File Name if Different || char(128) || N || Revisions.title3 || || || = Open points = == Classifications == Only '''Expert Contract''' and '''Quarter''' classifications are set from the MDL file yet. == Missing required fields == Some fields are set at uploading but they are not defined in the MDL file. . || '''Field Name''' || '''Data Type''' || '''Req''' || '''DB Field Mapping''' || '''Ref. Data''' || '''Notes''' || || classificationStatus || char(1) || Y || Drawings.classificationStatus || || Classifications are not set yet, Classification Status is set to '''I'''ncomplete || || plannedTitle0 || char(?) || Y || Drawings.plannedTitle0 || TitleRef || Should be set in MDL from a '''short''' list. Currently set to 'DrawMGT (1)', 'Matrics Experts Team (2)', 'DBR Metro 4 (142)' or 'Project Handbook (1)' || == Fields not processed == There are some columns in the MDL file, not processed by the converter program. These fields are: . || '''Field Name''' || '''Notes''' || || Claim 70 || || || Rev || || || Proc || || || Filing System || || || Lang Sister || || || MX Folder || || || I-VI || || || Format || || = Misc. notes and suggestions = * If a document is already exists and a new revision will be created, the document fields will be not updated. Year/Quarter is stored in Revisions.description. Should we store there any other information (char(128))? * Key aspect and language code should be (also) in independent columns, not only in the File Name * Comments (Tasks) are not used in MDL at all (yet?). * Dates must be specified in ISO format ('''YYYY-MM-DD''') if used.