- For " the HandlerFactorty is instantiated for about 7 times", could you tell me which version of Adobe Drive you use? If you use Adobe Drive 3.0,there will be 2 instances at most.
- For "the GetAssetsHandler is called 14 times", this is reasonable for the first time. Because GetAssetsHandler will be used to fetch thumbnail, asset modification date, and other asset info. If you always get 14 times call when you browse that folder, I think you need to check ETags in your connector implementataion when you fill recipes to handler response. Becasue ETag are used to update cache.
- Actually, there are indeed some differences between Bridge and Finder. But for you mentioned "When I move an item in bridge, the CopyHandler is called and the file is copied instead of moved", I guess that operation you did is moving an item in one project to another project.(We call folders under root as projects). If you move an item within project, you'll get MoveHandler invoked.
- For OpenHandler and CloseHandler, as this is invoked from Finder/Explorer which I mean it's called from Driver, we don't have too much control for it. But, take performance into consideration, I suggest you cache the asset in your connector implementation so that OpenHandler and CloseHandler can execute quickly.
1. I'm using Adobe Drive 3.0.070. In the mean while we've tested this on several developers machines (windows, not mac) and on the most of them it is instantiated more then 2 times
2. Problem is, that we are calling a webservice for retriving our Assets, and it would be way more performant that we can make 1 call with 14 files instead of 14 calls with 1 file. Is there an alternitave available for this handler so that we can make 1 call to our service?
3. Indeed, I was moving items between root classifications. When I move between folders underneath the root, it does actually move.
4. We'll take a look at caching the assets in our connector.
Thx for the advice.
Currently I'me investigating the Caching posibilities, more specific the cache state checking. I have implemented a Custom (dummy) statechecker, which is registered in the ConnectHandler (as explained in the Advanced topics in the Programmers guide). This checker always returns false.
But when I debug my plugin, the isAssetStale is never triggered. Could you tell me when this function is normally triggered?
Update: the isAssetStale is triggered when I'me debugging with Explorer..., but never from Bridge
Could you explain me the use of ETags? Currently when a file modifies, I put a timestamp in it. Is this a correct usage?
When the file on the server is not modified, you should not change the ETags. For example, you check out a file, assuming that the ETags value is 123456, then you edit that file, the ETags should still be 123456. After you check in that file, the ETags should be updated with new value which is greater than 123456.