|Anonymous | Login | Signup for a new account||2013-05-18 11:59 UTC|
|Main | My View | View Issues | Change Log | Roadmap | Summary | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005983||opensim||[GRID] Inventory Service||public||2012-04-24 07:59||2012-05-04 19:52|
|Target Version||Fixed in Version|
|Summary||0005983: [PATCH] Allow deleting folders even if they're not in the Trash|
|Description||The Inventory Service currently prevents deleting folders unless they're in the Trash. This patch adds new functions, DeleteFoldersEx() and PurgeFolderEx(), which do allow that. The existing functions work the same as before, however.|
It's sometimes useful to delete any folder, e.g. in order to delete an avatar.
|Tags||No tags attached.|
|Git Revision or version number||a584efee87e8f594b9e8a64ad89b003764a6ddac|
|Run Mode||Grid (1 Region per Sim)|
|Environment||.NET / Windows64|
|Attached Files||0001-Allow-deleting-folders-even-if-they-re-not-in-the-Tr.patch [^] (2,846 bytes) 2012-04-24 07:59 [Show Content]|
I see this is only done on XInventoryService and not exposed on IInventoryService (which is just as well since service interfaces are nto the easiest of things to evolve).
I also see there is no route to these functions from XInventoryConnector. I presume you use them internally in some way?
Why not overload DeleteFolder()/PurgeFolder() rather than use a different method name? Is this to avoid confusion as they're not exposed on the IInventoryService interface? Is there a better name available than DeleteFolderEx()?
When I added this capability, I suspected that it might be considered dangerous. (Someone said that in the last dev meeting, IIRC.) So I wanted to make as little impact as possible on existing code, both for ease of integration and to ensure no-one calls this method with incorrect parameters. That's why I created new functions instead of changing the existing ones.
If it's acceptable then I will change the main functions instead.
Yeah, it would be an issue if this was externally exposed, but if this just sits on the internal class then I don't think it's a big deal.
As it's not on IInventoryService then a different name is probably the best thing, actually. What does the Ex() stand for in your function names?
|"Ex" stands for "Extended". I stole this naming convention from Microsoft (I did a lot of Win32 programming back in the day). Because they can never change Windows API's (or applications would break), whenever they want to add capabilities they have to create new functions. So you've got DrawText() and DrawTextEx(), CreateWindow() and CreateWindowEx(), etc.|
Applied as ad23774. I took the liberty of changing method names in e83bc04 - in the end I think overloads make more sense even if they're not exposed on IInventoryService. Happy to discuss this if you want.
I also made the other PurgeFolders() method public for consistency.
|2012-04-24 07:59||orenh||New Issue|
|2012-04-24 07:59||orenh||File Added: 0001-Allow-deleting-folders-even-if-they-re-not-in-the-Tr.patch|
|2012-04-24 07:59||orenh||Status||new => patch included|
|2012-04-27 21:38||justincc||Note Added: 0021327|
|2012-04-27 21:38||justincc||Assigned To||=> justincc|
|2012-04-27 21:38||justincc||Status||patch included => patch feedback|
|2012-04-29 06:03||orenh||Note Added: 0021338|
|2012-04-30 19:31||justincc||Note Added: 0021342|
|2012-05-01 06:03||orenh||Note Added: 0021344|
|2012-05-04 19:52||justincc||Note Added: 0021363|
|2012-05-04 19:52||justincc||Status||patch feedback => resolved|
|2012-05-04 19:52||justincc||Resolution||open => fixed|
|Copyright © 2000 - 2012 MantisBT Group|