I'm using Adobe Drive 184.108.40.206 on Windows 7. When I drag and drop multiple assets into the Explorer Window, right-click those assets and choose "Check In..", none of the handlers associated with my custom checkin dialog (i.e., CanEnableCustomCheckInUIHandler, GetCustomCheckInUIContextInfoHandler and GetCustomCheckInUIHandler) are called. Only the default check in comments dialog appears. However, if I select a single asset for check in, then my handlers are correctly called. Is this the expected behavior? I want the user to be able to determine the type of object and some metadata in my CMS on import, but don't have this capability when multiple assets are selected.
The second issue I have is that the CanEnableCustomCheckInUIHandler, GetCustomCheckInUIContextInfoHandler do not have any visibility into non-remote assets through the API (i.e., assets with a null Asset ID). The getAssetIdentities() call only returns information about assets that already have an assetId. In these two handlers, I would like to make decisions and set context based on the the entire list of files, not just those that already live in the remote CMS.
The third issue I have is that I would like capture ContextInfo for each asset individually. For example, if a user checks in an InDesign file and a linked Image at the same time, I would like capture separate context info for each asset that I can store in my CMS. I might also want to capture global context that applies to all assets (i.e., the comments are a good example of this, but there could be others).
Based on these three issues, I am limited to allowing only one asset to be checked in at a time. However, with the current API, I can't even prevent a check in until my CheckInHandler is called, which is the first opportunity for me to throw an Exception to stop the checkin. In my opinion, this is not a good user experience because the user will be prompted to enter the comments and then get an error, which means they will loose the information they typed in the comments.
I'm mostly trying to provide feedback to improve the API, but if there is something I'm overlooking here, please let me know.