Thanks for providing this feedback, Brian.! Good stuff.|
On 02/12/2018 03:57 PM, Brian Bouterse wrote:
Very interesting. Can you elaborate about why?
The Synchronizer used to be the FileImporter and got renamed as part of early mitigation of the "circular import" problem. I plan to do some final refactoring as soon as the plugin API stabilizes (really soon). I suspect the Synchronizer class (at least the name), will go away. That said, I'm a little puzzled as to what led to actual "confusion" about a class named Synchronizer that was used to synchronize a repository. You also mentioned that some of the function names where somehow confusing - can you name them and why they were confusing?
True, but It does provides a good example of how to use the ChangeSet.
Yes! We really need to publish an ER diagram. I'm overdue on an action item to produce one.
The file-plugin is already a "really really simple example". Rewriting it not using the ChangeSet will significantly increase code line count and complexity. As you know, the file-plugin supports managing FileContent like .img and .iso files. The primary goal of the pulp-file project is to support real use cases. Because it's the only plugin, it has taken on a secondary goal of being an example. I'm opposed to increasing complexity in support of the secondary "example" goal at the expense of its primary goal.
The file-plugin currently provides a good example of how to use the ChangeSet. I have no doubt that plugin writers want additional examples but I think that if we intend to continue to rely on "real" plugins as natural examples, we should identify a plugin on the roadmap that has made the design choice to be implemented without the ChangeSet and prioritize it. Another choice could be to refactor the example plugin to support a broader range of examples and continue to maintain it.