Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005983opensim[GRID] Inventory Servicepublic2012-04-24 07:592012-05-04 19:52
Reporterorenh 
Assigned Tojustincc 
PrioritynormalSeverityfeatureReproducibilityN/A
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0005983: [PATCH] Allow deleting folders even if they're not in the Trash
DescriptionThe 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.
TagsNo tags attached.
Git Revision or version numbera584efee87e8f594b9e8a64ad89b003764a6ddac
Run Mode Grid (1 Region per Sim)
Physics EngineODE
Environment.NET / Windows64
Mono VersionNone
Viewer
Attached Filespatch file icon 0001-Allow-deleting-folders-even-if-they-re-not-in-the-Tr.patch [^] (2,846 bytes) 2012-04-24 07:59 [Show Content]

- Relationships

-  Notes
(0021327)
justincc (administrator)
2012-04-27 21:38

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()?
(0021338)
orenh (developer)
2012-04-29 06:03

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.
(0021342)
justincc (administrator)
2012-04-30 19:31

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?
(0021344)
orenh (developer)
2012-05-01 06:03

"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.
(0021363)
justincc (administrator)
2012-05-04 19:52

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.

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker