So, why are the custom fields needed instead of that info going into the Additional Rating, Actors, and Duration fields as they did with the old AllMovie script?
The reason is as I explained above. There are all sorts of ways you might want it to work. It's up to the user to modify/configure it according to his particular needs. Having said that, there's a logical reason for the default handling of each of the items you mention...
Rovi rating is not put in [orating] because that's the only field available to a secondary
plugin. A script has the option of using a custom field, so that's what's used. If there is no likelihood of ever needing to use a secondary plugin, set the GET_RATING option to 'True' to put it in [orating].
Actors (and other people fields) should be filled by a source that can provide both movie
and people data—like IMDb. If you are maintaining people data, mixing sources is a bad idea. If this script is your primary source, set the GET_ACTORS option to 'True' to put it in [Actors].
Run time is that of the original theatrical release. In PVD, [Length] (aka 'Duration') is that of the actual media—as scanned by the program. The very point of getting Rovi's
Run time is the two are not necessarily the same. I suppose another use of the data could be to provide a duration for records for which there is no media (e.g., 'Wish list' items). When media is acquired, it would be overwritten. If there's an expressed need, I'll add an option for that.
BTW, in looking at the original Allmovie script, I see it has a "Custom field names to use" section for setting those in script variables. Maybe we should do that, so it would be a little easier for users to change the field names to whatever they want to use. The same variables could also be used to indicate if the default PVD field should be used. Each available data element would be set to 'Default' or '[a custom field name]'. Then the code would be something like...
if ROVI_DATA = 'Default' then
AddFieldValue(mfField, TmpStr)
else
AddCustomFieldValueByName(ROVI_DATA, TmpStr);
The current "Field Use" documentation could be replaced with a "Fields to Use" section in which all the field variables are set.