FreeUKGen / BMD-X

OS X client for the BMD genealogy database
Apache License 2.0
1 stars 2 forks source link

Change of format to Transcription entries #36

Closed resnape closed 9 years ago

resnape commented 9 years ago

I have found a change to the format to the Transcription entries in the 1.0.8 version of the software as compared to the preferred format in previous versions.

My observations are annotated in the following screen shot.

screen shot 2015-03-29 at 11 46 33

resnape commented 9 years ago

Hello Steve

I have done some further research regarding the use of Capitals:

Firstly, FreeBMD is not affected by capitalisation of names etc., - the assumption is that the upload processing does not test for capitals.

However the Principles of Transcribing Data states that the transcription should be exactly as the record. So if it is all in capitals do it that way, if all in lower case, etc. Additionally, the district names vary a lot; in one case the record might say Bradford, Y, when the returned list provides Bradford Yorks. (For the windows BMD this instance can be added to the returned list in order to save time in the future - perhaps something for the future; or not?). Furthermore the Principles of Transcribing Data also alludes to the fact that entries should be SAME case as they are in the source that is being transcribed.

For the 1971 transcription currently being transcribed the record format is as follows (hence my initial observations above):

screen shot 2015-03-30 at 14 34 48

resnape commented 9 years ago

Hello Steven

I hope you don't mind but I have come up with a minor change to your code (the old code has been commented out and the else return has been amended to invoke capitalizedString) to resolve the 'Month not Capitalised' observation above:

// else if ( [strtr length] > 1 ) // { // NSString* firstChr = [strtr substringWithRange:NSMakeRange(0, 1)]; // NSString* endStr = [strtr substringFromIndex:1]; // return [NSString stringWithFormat:@"%@%@", [firstChr uppercaseString], endStr]; // } else return [strtr capitalizedString];

I have tested this and have not found any issues, yet!

I am still pondering on the 'Not all Capitals' observation

resnape commented 9 years ago

Hello Steven

I have done some additional research regarding the use of capitalisation of names etc. To this end I have "recontaminated" my iMAC (under Parallels) with the latest and greatest Windows version of the BMD software. The implementation to provide Capitulation is somewhat sophisticated, and overly so in my opinion. screen shot 2015-03-31 at 07 40 52 Above is a screen shot of the main window capability but this can be overridden, which makes this capability superfluous, by setting the case by column, as depicted below. screen shot 2015-03-31 at 07 40 23 I have also looked again at the old (original) version of MacBMD and the implementation reflects the capability provided by MacBMD-X Version 1.0.6.

Food for thought?

resnape commented 9 years ago

Hello Steven

Further to the observation that started this thread and concerning the first observation re: Version 1.0.8, namely 'Not all Capitals'

I have found that If there is an entry after the Middle Name then the Middle Name becomes all Capitals (With ABC ticked), however, if there is no entry after the Middle Name then the Middle Name is word capitalised (With ABC ticked and as in the example, in the first observation).

Addendum to above: I think I have found a solution to this observation, but I have only tested it with the 1971 deaths I am currently scripting.

In BMDDocument.m

in the case for ( TEXT_EVENT_MIDDLENAME_2 ):

Addendum 2: The solution described above does not fix the issue with transcriptions for 1974 4th Quarter Births as depicted below.

screen shot 2015-04-24 at 10 55 50

I believe I have found the solution to this issue.
In BMDDocument.m

in the routine - (void)textFieldClosing:(id)fieldOb

The following code has been updated to set the capitalisation correctly for the Middle Name

case ( TEXT_EVENT_MIDDLENAME ): if ( [[msMiddleNameFld stringValue] isEqualToString:@""] ) [self spareFieldClosing:fieldOb]; else //mLineItem.middleName1 = [msMiddleNameFld stringValue]; mLineItem.middleName1 = [self correctedFieldValue:msMiddleNameFld];

stwf commented 9 years ago

OK, hopefully this has been addressed in 1.0.9. Thanks