I haven't even started writing code yet
I understand, and I hope you don't mind this kind of input at this stage.
I assume it's preferable to design,
then code. At the same time, I do understand design ideas often have to radically change when you're doing the coding and discovering what actually works and what doesn't. So please consider my comments as having a helpful intent, in the spirit of "talk is cheap."
Yes, I suppose things could go wrong, especially the first time you export from PVD to MC. But you could still browse the received data in MC. I'm not saying that we don't *need* the PVD GUI, I'm just saying that, hopefully, MC's theater view browsing will improve over time.
The point I'm making has nothing to do with which GUI is preferred. It's that the critical database management function of ensuring the completeness and accuracy of the metadata is being performed using PVD. Once I've done that, I don't want it undone by the MC plugin adding more records (with a significant likelihood of inaccuracy or incompleteness) I don't "know" about. Yes, it's possible to detect errors in MC, and it's possible to determine what records the plugin has added to PVD (so I can check them for completeness and accuracy). But why would I want to waste time doing so? Why would I want to give up the peace-of-mind of simply knowing the metadata in MC is exactly the same as that which I ensured was complete and accurate in PVD?
Perhaps few users take data integrity as seriously as I do, but I really believe my point is far from an academic one. Maintaining some degree of data integrity in one database is challenging enough. Doing so with two databases is that much more difficult. There's not much that can be done about the two being out-of-sync because of timing differences in the importing of media files (including the possibility one or the other import routines fails for a particular file). If MC is being updated using the PVD database, the user has a known point of reference, can assess the results, and deal with those matters. If the plugin is adding items, however, the point of reference is lost, and the user has no way of telling what the difference is, or whether it matters. Once users see their data is out-of-sync and they can't determine why (or, more likely, just become confused), they will lose confidence in the plugin.
This seems to be a "phase 2" issue.
What do you mean—the ability to update only changed records?
I was assuming a reasonable "phase 1" would be simply importing directly from the database data for matching media files in MC, and things that might require the plugin to interact with PVD would be "phase 2."
The plugin on the PVD side would then be installed together with a default template (with a "pages template" for Credits which would surly accomodate your sequencing request).
Yes, I can see that working, but it seems to be a very indirect method of accessing information in an open SQL database. Are there not software "tools" you could use that would provide the core functionality you need? I'm sorry—I don't have a clue what I'm talking about—it just that pulling data from a database to put in another seems to be such a "generic" requirement.
Regardless of the technical challenges, I think there is a more serious problem with this. Having to configure a template is not very "user-friendly." Those of use who are used to this system (who are also MC users—all 4 of us?) could handle this. For MC users coming to PVD for a video metadata solution, however, I fear it adds too much to the learning curve. Also, it would make the whole exercise not that much different than the current export/import solution. I was imagining what I consider to be a fairly common field mapping interface. In it's simplest form, it would display all the fields (standard and custom) found in the database in one column. In a second column, drop-down boxes would be used to select from the fields available for mapping the data to. A fancier version would display field types and assist in the selection of a compatible MC field type, or other types the plugin is able to convert the data to. It might also offer default mappings, and allow the adding of new MC fields "on-the-fly."
For the MC user coming to PVD, the experience I'm hoping for is one where they can focus on learning PVD and building a database, without concern about how the information is going to get into MC. When they're done, the plugin will provide them with a user-friendly means of mapping and importing the data, regardless of what information their database contains or how they want it imported to MC. Furthermore, I think it reasonable to assume—especially in early days—users will want to make regular changes to their configuration. They should be able to do so directly in the plugin interface, at any time.
So, this has been my
very long-winded way of suggesting... Maybe the simplest and best solution is one which pulls the data directly from the PVD database, and maps it to MC fields based on a flexible (map anything to anything) configuration interface.