Re: [Opensim-dev] Refactoring IClientAPI.Close and Friends

2009-02-22 Thread Stefan Andersson

I know that part of why the Close() thing is so tangly is because we need to 
make sure certain packets have been sent before just killing the connection, 
and that some of them might need to wait for a response from the client. So 
it's a difference between Close() as in Dispose() and Close() as in 'shut down 
user connection correctly' afaicanrecall.

 

Also, I think part of the confusion is a somewhat fuzzy diversion of 
responsibility between the client itself and the client manager.

 

Ideally, all core code outside the manager and its clients should ask the 
Client Manager to close a Client correctly (as it should know how to remove 
references to clients, but also to interact with other system management 
resources) - the emptying of queues and actual closing down should probably be 
a private matter for the client class.

 

The Client Thus probably would need to have a 'shutting down' flag, throwing 
non-essential packets, and it would signal to the client manager when it's done 
with its internal closing down work, so the manager can remove the references 
from the system. I believe that can be the origin of the event vs dispose bool. 
Which is ugly as hell, and I'm probably the one to introduce it.
 
Best regards,
Stefan Andersson
Tribal Media AB



 


From: a...@deepthink.com.au
To: opensim-dev@lists.berlios.de
Date: Sun, 22 Feb 2009 02:21:05 -0500
Subject: [Opensim-dev] Refactoring IClientAPI.Close and Friends





Right now, we have four separate close methods for clients, enumerated they are 
(for LLClientView):
 
-  Close(bool circuit)
o   Either fires an event, or closes the connection depending on parameter[!?]
-  Kick(string msg)
o   Asks the client politely to quit. [!?]
-  Stop()
o   Initialises some shutdown cleanup
-  Restart()
o   Undo-‘s the above
-  Terminate()
o   Stops processing packets for the user and removes their entry in the packet 
server
 
I would like to propose changing this into three methods.
 
-  Close(string msg) – Combines Kick, Terminate and Close into one 
method. We need to find out why Close branches onto the event when the 
parameter is true, or closes when false, and streamline it. Kick should 
automatically terminate the connection – there should be no ‘requests’ 
involved, it should be a very straight forward ‘You are the weakest link. 
Goodbye.’
-  Pause() – Equivilent to Stop() as it is now. Function described as 
‘Suspend Packet Processing’
-  Resume() – Equivilent to Restart() as it is now. Function described 
as ‘Resume Packet Processing’
 
Adam___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] ProcessInPacket - Can this be moved out of IClientAPI?

2009-02-22 Thread Stefan Andersson

+1, does seem like an archaic remnant.

Best regards,
Stefan Andersson
Tribal Media AB



 
 Date: Sun, 22 Feb 2009 11:39:18 +
 From: mela...@t-data.com
 To: opensim-dev@lists.berlios.de
 Subject: Re: [Opensim-dev] ProcessInPacket - Can this be moved out of 
 IClientAPI?
 
 I guess originally a greater sparateion of the packet stack and 
 client logic was anticipated. It has now show itself to be untrue. 
 SHould be no problem to take that out of the API if it has no 
 external callers. Nothing dealing with Packets should be in the API 
 in the first place.
 
 Melanie
 
 
 Frisby, Adam wrote:
  Quick question for folks, can we move ProcessInPacket out of ClientAPI, and 
  onto LLClientView directly? It's only ever called from within LLClientStack 
  so we already know it's a LLClientView class and should be able to just 
  call it from there.
  
  Adam
  
  
  
  
  
  ___
  Opensim-dev mailing list
  Opensim-dev@lists.berlios.de
  https://lists.berlios.de/mailman/listinfo/opensim-dev
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] oddities with asset storage

2009-02-20 Thread Stefan Andersson

 

  i thought the reasoning goes also the other way around:
  if someone has a use case where they'd benefit from using Tahoe with 
  OpenSim, they are free to do it
  
  if it doesn't give much benefit for OpenSim otherwise, that doesn't 
  matter, as long as people who want to use it can, without hurting 
  OpenSim (by requiring a lot of / strange, otherwise unbeneficial 
  changes in the core).
 
 +1 As Stefan said, we're a general platform that should allow people to 
 plugin the modules that they want. OpenSim 
 should benefit the people using it, not those people primarily benefiting 
 OpenSim.


I think we have a general confusion here over whether we're discussing the 
technonolgy for inclusion in core, or whether the technology would be a cool 
thing in general.

 

We would probably never include that kind of experimental code in core without 
it being tried out first - that's what the forge is for.

 

But OpenSim as a platform should always strive to make third party 
implementations like this as easy as possible (examples in point, hypergrid, 
Cable Beach) and listen carefully to the suggestions and wishes of plugin 
implementators.

 

  Ok well so be it for OSGrid.
  
  But perhaps some other user, maybe e.g. some intranet somewhere, has it 
  differently.
 
 +1 again


So write it. It's that simple. We promise to be there to help anyone wanting to 
have a go with documentation and general advice.

 
  Feel free, but there is a wealth of good software as GPL, and I sure 
  hope to be able to use those too. Like I'm happy to use Linux to run 
  our company servers, and it being GPL is just fine for me. But I'm also 
  happy that Ogre is BSD so we are free to license our games however we 
  need.
 
 +1 I have no problems with the GPL general, just this particular project is 
 BSD and I think BSD is better here. If 
 other people prefer BSD always than that is their own personal opinion.


Again, that is partly what the forge is for. You can have GPL modules on the 
forge. It's actually a quite good way to sidestep the whole issue.

 
  but can a 3rd party plugin for using them together still 
  exist? I'm sure it can it an at least internally if I don't tell 
  anyone! :p
 
 Yes, I'm guessing this is what Adam meant - we couldn't bundle Tahoe plugins 
 with OpenSim, not that you wouldn't be free 
 to write a third party plugin for using it.


*looks at the forge*

 
  I sure hope this doesn't explose to a huge license discussion, please 
  just point to a better place or reply in private if that would happen.


Again, we are working to get a better structure with regards to what is 
included in the core distribution and what is not. That is an ongoing process, 
but:

 

* Experimental modules not implementing reference client behaviour should be 
tried out on the forge first. This has the added benefit of boosting the API 
thru external change request sources.

* Modules that rely on linking resources under non-compatible licenses should 
be developed and maintained on the forge.

* We are constantly thinking about how to better integrate the forge projects 
and the core distro. That is also an ongoing process.

 

Please, feel free to start hacking away on an customized and prototypical 
IAssetDataPlugin on the forge. I'm looking forward to seeing it!

 

/Stefan

 
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] oddities with asset storage

2009-02-19 Thread Stefan Andersson

Initiatives like this is why I'm a hardcore proponent of keeping the services 
encapsulated, indirected, modular and flexible, ie, not tie core to any given 
technology or assumptions about data storage configuration. 

 

Best regards,
Stefan Andersson
Tribal Media AB

 Date: Thu, 19 Feb 2009 10:29:10 +0100
 From: eu...@leitl.org
 To: opensim-dev@lists.berlios.de
 Subject: Re: [Opensim-dev] oddities with asset storage
 
 On Thu, Feb 19, 2009 at 10:24:40AM +0100, Dirk Krause wrote:
  As soon as you buy it, the asset gets copied to your regions asset 
  repository (if it is something that persists while you are not online, like 
  a house maybe) and it goes into your personal repository when it's an 
  attachement (like clothing).
 
 Speaking about asset repository, Tahoe v1.3 has recently been released
 (see below). Are there any show-stoppers against using Tahoe for asset
 storage?
 
 http://allmydata.org/trac/tahoe/browser/relnotes.txt?rev=20090214000500-92b7f-26d07f519c69a3e086ee4599620f6d2c0c9b2fcd
 
 ANNOUNCING allmydata.org Tahoe, the Least-Authority Filesystem, v1.3
 
 We are pleased to announce the release of version 1.3.0 of Tahoe, the
 Least Authority Filesystem.
 
 Tahoe-LAFS is a secure, decentralized, fault-tolerant filesystem. All
 of the source code is available under a choice of two Free Software,
 Open Source licences.
 
 This filesystem is encrypted and distributed over multiple peers in
 such a way it continues to function even when some of the peers are
 unavailable, malfunctioning, or malicious.
 
 Here is the one-page explanation of the security and fault-tolerance
 properties that it offers:
 
 http://allmydata.org/source/tahoe/trunk/docs/about.html
 
 This is the successor to v1.2, which was released July 21, 2008 [1].
 This is a major new release, adding a repairer, an efficient backup
 command, support for large files, an (S)FTP server, and much more.
 
 See the NEWS file [2] and the known_issues.txt file [3] for more
 information.
 
 In addition to the many new features of Tahoe itself, a crop of related
 projects have sprung up, including Tahoe frontends for Windows and
 Macintosh, two front-ends written in JavaScript, a Tahoe plugin for
 duplicity, a Tahoe plugin for TiddlyWiki, a project to create a new
 backup tool, CIFS/SMB integration, an iPhone app, and three incomplete
 Tahoe frontends for FUSE. See Related Projects on the wiki: [4].
 
 
 COMPATIBILITY
 
 The version 1 branch of Tahoe is the basis of the consumer backup
 product from Allmydata, Inc. -- http://allmydata.com .
 
 Tahoe v1.3 is fully compatible with the version 1 branch of Tahoe.
 Files written by v1.3 clients can be read by clients of all versions
 back to v1.0 unless the file is too large -- files greater than about
 12 GiB (depending on the configuration) can't be read by older clients.
 v1.3 clients can read files produced by clients of all versions since
 v1.0. v1.3 servers can serve clients of all versions back to v1.0 and
 v1.3 clients can use servers of all versions back to v1.0 (but can't
 upload large files to them).
 
 This is the fourth release in the version 1 series. We believe that
 this version of Tahoe is stable enough to rely on as a permanent store
 of valuable data. The version 1 branch of Tahoe will be actively
 supported and maintained for the forseeable future, and future versions
 of Tahoe will retain the ability to read files and directories produced
 by Tahoe v1 for the forseeable future.
 
 
 WHAT IS IT GOOD FOR?
 
 With Tahoe, you can distribute your filesystem across a set of
 computers, such that if some of the computers fail or turn out to be
 malicious, the entire filesystem continues to be available, thanks to
 the remaining computers. You can also share your files with other
 users, using a simple and flexible access control scheme.
 
 Because this software is new, we do not categorically recommend it as
 the sole repository of data which is extremely confidential or
 precious. However, we believe that erasure coding, strong encryption,
 Free/Open Source Software and careful engineering make Tahoe safer than
 common alternatives, such as RAID, removable drive, tape, or on-line
 storage or Cloud storage systems.
 
 This software comes with extensive unit tests [5], and there are no
 known security flaws which would compromise confidentiality or data
 integrity. (For all currently known issues please see the
 known_issues.txt file [2].)
 
 This release of Tahoe is suitable for the friendnet use case [6] --
 it is easy to create a filesystem spread over the computers of you and
 your friends so that you can share disk space and files.
 
 
 LICENCE
 
 You may use this package under the GNU General Public License, version
 2 or, at your option, any later version. See the file COPYING.GPL
 [7] for the terms of the GNU General Public License, version 2.
 
 You may use this package under the Transitive Grace Period Public
 Licence, version 1.0. The Transitive Grace Period Public

Re: [Opensim-dev] Heads Up: Updating Prebuild to Upstream

2009-02-19 Thread Stefan Andersson

First of all, sorry for the cross-post, just felt the 'users' (whatever that 
means) should be aware of this as well:

 

I have now updated Prebuild from upstream. Please, try the latest rev out and 
report to me if I have caused any breakage or regressions. Thank you to Kunnis 
and JHurliman for back-porting the OpenSim fixes into Prebuild upstream.

 

This is the commit log entry for the update:

 

=== PREBUILD UPSTREAMS UPDATE : POTENTIAL BREAKAGE ===

* Applied upstreams changes to allow for auditing and debugging in our various 
environments.
* This should, in theory, bring back 'multiple ref dirs'.
* Temporarily Removed xmlns because prebuild-1.7 schema does not allow for 
multiple solutions per prebuild node (This will be a moot issue once the 
Prebuild node is moved out of prebuild.xml)
* Autotools target: Various minor fixes
* MonoDevelop Target : No changes.
* Nant Target: Various minor fixes, support for net-3.5 and mono-2.0/3.5 targets
* Sharpdevelop targets: No changes.
* VS Targets: Refactored into using VSGenericTarget, and supports 2.0-3.5
* XCode Target: No changes.

 

--- Regressions and outstanding issues ---
* The Solution is assigned a random Guid - will lead to unnecessary reloads and 
loss of user settings. [in Visual Studio, that is]

 

--- New features of Prebuild 2.0.4 ---
* (Better) support for Web, WinForms and Database Projects and build actions
* Conditional Framework Version compilation support (1.1, 2.0-3.5)
* ArrayList - List, ICollection - IList
  (this means Prebuild can generate 1.1 solutions, but can't itself be built 
under 1.1 - how very meta)
* Added ?include file=sub_prebuild.xml ? preprocessor directive.

Best regards,
Stefan Andersson
Tribal Media AB



 


From: ste...@tribalmedia.se
To: opensim-dev@lists.berlios.de
Subject: Heads Up: Updating Prebuild to Upstream
Date: Wed, 18 Feb 2009 22:14:43 +0100



Dear colleagues,
 
Kunnis and JHurliman has been working to incorporate our Prebuild 
customizations into the upstream source, and we're now at the point where we 
can do an upstream update and subsequentially move the Prebuild source out of 
the trunk and into opensim-libs. (Or should it go on the forge?)
 
Since the code hasn't changed that much, I believe we should simply go ahead 
and do the switch, and if any cross-environment breakage would happen, work 
together to solve it.

So please help us troubleshoot Prebuild on your environment.

Best regards,
Stefan Andersson
Tribal Media AB



___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] oddities with asset storage

2009-02-19 Thread Stefan Andersson

Dirk,

 

I think you are on the right track here - concentrating on one use case at a 
time. That is probably the way to move forward on this issue.

 

BUT do keep in mind that the overshadowing, out-there-right-now, case is the 
'Linden Viewer Compatible Social World'.

 

So whatever we discuss, that case has to be one of the supported ones.

 

That said, optionality and configuration is (as in, should be) our forte.
 
Best regards,
Stefan Andersson
Tribal Media AB



 
 Date: Thu, 19 Feb 2009 13:40:14 +0100
 From: dirk.kra...@pixelpark.com
 To: opensim-dev@lists.berlios.de
 Subject: Re: [Opensim-dev] oddities with asset storage
 
 Ok, then in my naive little world this would be the cloning business case 
 with some kind of quality of service.
 
 Basically you only sell me a link to your variety of assets. Then we have 
 three cases:
 - you keep this in your personal assets store, which might be something like 
 a stand-alone cable beach server. When this server is unavailable, I cannot 
 access your item.
 - you run or rent some 'home/office space' on a particular region; if the 
 region is unavailable, I again cannot access your item.
 - you run your own grid or rent some 'grid space' on a particular grid; if 
 the grid is unavailable, I again cannot access your item. Assuming that grid 
 uptimes are good, this would be the best option in terms of accessibility.
 
 In all three cases you yourself are a customer of either a region or a grid, 
 because you need some level of QOS, which they provide unless you don't want 
 to do this yourself.
 
 If a grid owner is nice she gives you free access to, say, 20MB of personal 
 inventory.
 
 -Ursprüngliche Nachricht-
 Von: opensim-dev-boun...@lists.berlios.de 
 [mailto:opensim-dev-boun...@lists.berlios.de] Im Auftrag von Melanie
 Gesendet: Donnerstag, 19. Februar 2009 12:58
 An: opensim-dev@lists.berlios.de
 Betreff: Re: [Opensim-dev] oddities with asset storage
 
 The issue I have with the concept is one of copyright. I may not 
 grant the right to keep a local copy of an asset, because I may not 
 want it to work on local installations or another grid, I may not 
 want to give up my script source.
 
 Melanie
 
 Dr Scofield wrote:
  Dirk Krause wrote:
  Glad you asked :-).
  
  I would do a mixture of the following (and admit that I didn't think it 
  all through to the very end).
  
  - introduce grid wide, region wide and personal (user) asset domains
  - introduce quotas for these
  - allow clones ('byref') assets, and copies that go into one of the 
  domains, resp.
  
  I then would expect to have grid wide assets that are 'always on', region 
  wide assets that only are important when the region is connected, and 
  personal assets that are only visible when the user is online (could even 
  be an FTP server behind a cable beach server).
  
  It boils down to: if someone treasures something, she better keeps it in 
  her treasure chest, in her responsibility (and maintenance cost).
  
  
  ok. so i now buy something in your region, take it with me, rezz it on my
  region. how would that work and how would that address your concerns? oh, 
  and my
  region is rather volatile, it might be there one moment, it might be 
  off-line
  the next.
  
  DrS/dirk
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] oddities with asset storage

2009-02-18 Thread Stefan Andersson

Um. Having immutable assets do bring a number of optimization shortcuts. I'm 
not saying it's all good - merely that it's not all bad.


The OpenSim solution, as always, is to address each case by itself, and to make 
divergence optional.

 

So, maybe region map textures should be overwriteable. Maybe some scripts 
should be overwriteable as well, maybe only on some type of scripts. Maybe we 
should have a table enumerating what assetIds now point to newer assetIds.

 

Maybe the real problem is that we are talking about 'assets' and 'textures' 
instead of 'prim face textures', 'sculptie maps', 'photos', 'region map 
images', 'script sources', 'sounds', 'prims in inventory', 'notecards', 
'animations' - my point being that we can probably implement various 
configurable strategies for each of them, linden viewer or no linden viewer.


Best regards,
Stefan Andersson
Tribal Media AB


 Date: Wed, 18 Feb 2009 16:37:12 +0100
 From: dirk.kra...@pixelpark.com
 To: opensim-dev@lists.berlios.de
 Subject: Re: [Opensim-dev] oddities with asset storage
 
 ...
 
  This would mean that any grid runs into a severe problem over time.
 
  Yep :). On a standalone one could implement some cleanup scheme
 which checks everything to see
  if an asset is still referenced, and deletes that asset if it is not.
  In grid mode this is a much more difficult problem since references
 are scattered across many different
  regions servers. The situation is even worse if you are running a
 grid where not all of them are
  guaranteed to be connected.
 
 But isn't that ... horrible? (in lack of a better/worse word.)
 
 As I said yesterday, IMHO there is no real need to think about
 optimizations when you have
 a serious blocker like this. I would even go so far that this is a major
 roadblock for grid based technologies per se. (grid as in Rosedale's
 'Happily now, Second Life has been proven to exist. If we disappeared
 tomorrow, the grid would be rebuilt by you.')
 
 I take it the bad news is that any proposed solution to this breaks SL
 compatibility?
 
 Maybe now would be a good time to take a step away from it.
 
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev

___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] oddities with asset storage

2009-02-18 Thread Stefan Andersson

I suggest we talk more about complementary and parallell scenarios and 
strategies, and less about either/or - this is a platform, and various 
implemetations will prioritize differently.

Best regards,
Stefan Andersson
Tribal Media AB



 
 Date: Wed, 18 Feb 2009 20:02:38 +0100
 From: dirk.kra...@pixelpark.com
 To: opensim-dev@lists.berlios.de
 Subject: Re: [Opensim-dev] oddities with asset storage
 
 There could be business modell attached to it.
 Lets say you sell only the 'right to use it for a given time' to the user, 
 then you would have only one set of assets with multiple inventory pointers 
 from your 2000 customers. Once you delete/disable it, no one can use it 
 anymore. Once you update it, all 2000 have a newer version of it. The other 
 model would be the 'I buy it so I get a real copy of it'. The asset will be 
 copied (in my scenario to my local inventory domain, so I 'really' own it). 
 If you delete yours, mine is still there. If you update it, I need to obtain 
 a newer copy. There could even be a concept that something is there only once 
 (maybe art); you create it, give it a away (for a good price) and you don't 
 have it anymore. The asset vanishes from your inventory domain.
 
 Regarding the SL compatibility - maybe it doesn't need to be broken. IIRC 
 isn't there this CAPS mechanism that already proxies assets? Couldn't there 
 be some kind of intelligence behind it that collects and distributes assets 
 from the different domains?
 
 -Ursprüngliche Nachricht-
 Von: opensim-dev-boun...@lists.berlios.de 
 [mailto:opensim-dev-boun...@lists.berlios.de] Im Auftrag von Melanie
 Gesendet: Mittwoch, 18. Februar 2009 19:57
 An: opensim-dev@lists.berlios.de
 Betreff: Re: [Opensim-dev] oddities with asset storage
 
 Making a copy is the greater evil. With implicitly shared assets, 
 only content creators create assets. With asset copying, each 
 sale/give creates assets.
 Take SL:
 
 I make a clothing item. I have to make 18 uploads (creating 18 
 assets) to finally use 2 of the uploaded textures. I have also 
 created 36 wearable assets through this.
 
 Then i put that item for sale. 2000 users buy it.
 
 With implicitly shared assets, assets consumed: 18 texture, 36 wearable.
 
 With asset copying, assets consumed: 4001 texture, 4003 wearable
 
 See, the point of diminishing returns for copying is very close.
 
 Melanie
 
 
 John Ward wrote:
  Justin Clark-Casey wrote:
  The problem is that you may have given that item to somebody else.
  Giving an item does not make an asset copy, it just makes an
  inventory item copy (both inventory items still point towards the
  same asset).
  
  So you may delete your item, but we don't know if the asset
  referenced by that item lives on in someone else's inventory (or in
  an object inventory). So we can't delete the underlying asset.
  
  Why not make an asset copy when one makes an inventory copy? Then 
  delete the asset when deleted from inventory. Is each user having their 
  own copy of many things a bigger problem? I guess this doesn't address 
  one having out of ban knowledge of an assets UUID and expecting it to be 
  there. Also, I accept that I may be missing some fundamental knowledge 
  of how things work. Please be gentle :-)
  
  John.
  ___
  Opensim-dev mailing list
  Opensim-dev@lists.berlios.de
  https://lists.berlios.de/mailman/listinfo/opensim-dev
  
  
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


[Opensim-dev] Heads Up: Updating Prebuild to Upstream

2009-02-18 Thread Stefan Andersson

Dear colleagues,

 

Kunnis and JHurliman has been working to incorporate our Prebuild 
customizations into the upstream source, and we're now at the point where we 
can do an upstream update and subsequentially move the Prebuild source out of 
the trunk and into opensim-libs. (Or should it go on the forge?)

 

Since the code hasn't changed that much, I believe we should simply go ahead 
and do the switch, and if any cross-environment breakage would happen, work 
together to solve it.


So please help us troubleshoot Prebuild on your environment.


Best regards,
Stefan Andersson
Tribal Media AB



___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Setting default locale for opensim processes

2009-02-17 Thread Stefan Andersson

Yes. It will probably also have to be set on each new spawned thread.

Best regards,
Stefan Andersson
Tribal Media AB



 


Date: Mon, 9 Feb 2009 23:42:28 +0200
From: tommi.s.e.laukka...@gmail.com
To: opensim-dev@lists.berlios.de
Subject: [Opensim-dev] Setting default locale for opensim processes


Hello
 
Should we set default locale programmatically when we launch the exe files as 
there are various functions which will get mixed results if system locale has 
different decimal separator defined?
 
regards,
Tommi___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Proposal for a cleanup/correction of the region-module system

2009-02-17 Thread Stefan Andersson

Actaully, how would y'all feel about a simple abstraction of our own;

 

Making an OpenSim.Framework IConfig interface of our own, that just exposes a 
few, simple config methods, like;

 

TValue IConfig.SetConfigValueTValue(string key, TValue value);

TValue IConfig.GetConfigValueTValue(string key, TValue default);

 

Then for each module instantiation the core would just create a 'facade' to the 
right config source/section (nini or not) - that would be responsible for 
negotiating config sections and config source (file)name resolution.


A simple and elegant solution to getting the nini ref out of the region modules.

 

While we're at it, why don't we introduce a sibling IConfigBridge that the 
MODULE is optionally supposed to implement, that could provide simple config 
negotiation info like;

 

string IConfigBridge.GetConfigSectionName();

string IConfigBridge.GetConfigSourceName();

Best regards,
Stefan Andersson
Tribal Media AB



 
 From: a...@deepthink.com.au
 To: homer.horw...@gmail.com; opensim-dev@lists.berlios.de
 Date: Sun, 25 Jan 2009 02:37:01 -0500
 Subject: Re: [Opensim-dev] Proposal for a cleanup/correction of the 
 region-module system
 
 One other suggested change.
 
 Let's remove IConfigSource from the RegionModule Initialise method - and 
 instead make some kind of globally accessible (via Scene?) .Config. The 
 reason for this is twofold:
 
 1. We pass config in multiple times, one per scene.
 2. It introduces a dependency on Nini that every region module must fill - 
 this is annoying when a module isn't configurable.
 
 Regards,
 
 Adam
 
  -Original Message-
  From: opensim-dev-boun...@lists.berlios.de [mailto:opensim-dev-
  boun...@lists.berlios.de] On Behalf Of Homer Horwitz
  Sent: Saturday, 24 January 2009 12:04 PM
  To: opensim-dev@lists.berlios.de
  Subject: [Opensim-dev] Proposal for a cleanup/correction of the region-
  module system
 
  Hi all,
 
  the current system for handling region-modules is slightly broken if
  you add/remove regions dynamically (or even for region-restarts). I've
  put up some thoughts at
  http://opensimulator.org/wiki/New_Region_Modules for discussion.
  Please answer on the associated 'discussion' page or here on the list.
 
  Cheers,
  Homer
  ___
  Opensim-dev mailing list
  Opensim-dev@lists.berlios.de
  https://lists.berlios.de/mailman/listinfo/opensim-dev
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Hypergrid and Interoperability workshop

2009-02-17 Thread Stefan Andersson

Diva,

 

sorry I couldn't attend this meeting; however, I would be able to attend one 
this friday, 20th if you are going to host one?

Best regards,
Stefan Andersson
Tribal Media AB



 
 Date: Mon, 2 Feb 2009 11:58:09 -0800
 From: lo...@ics.uci.edu
 To: opensim-dev@lists.berlios.de
 Subject: [Opensim-dev] Hypergrid and Interoperability workshop
 
 Hi,
 
 We're planning a first meeting to talk about defining a roadmap for 
 Hypergrid interoperability in OpenSim worlds. The meeting will be this 
 Friday at 10am PST. We'll meet in the UCI Grid, Gateway 7000, until it 
 crashes :-); then we'll move to an IRC channel.
 
 Note that this is not intended to be a support group meeting about the 
 hypergrid, so don't come with support questions. The meeting has three 
 main objectives:
 
 1) Taking a picture of the maximum number of foreign avatars ever 
 assembled in one place
 
 2) Figure out how to define a roadmap for interoperability without 
 falling into the trap of formal working groups
 
 3) Start talking about trust in the decentralized HG-enabled Metaverse
 
 Crista
 
 
 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Please do not revert fixes without careful comtemplation

2009-02-17 Thread Stefan Andersson

 

  1. We have a significant number of assets whose name is blank that are 
  created with a default constructor. And I suspect are never accessible.
 

 In fact, this field has always seemed redundant to me since the user only 
 ever manipulates assets by their inventory 
 name, which is entirely separate from the asset name. The asset name is never 
 visible to the user (and afaik is not 
 used anywhere else in the code).

 At one point I thought about proposing to remove it. Possibly this issue 
 should be revisited.


I believe it's kept there just as a convenience - to be able to get some kind 
of semantics, not necessarily exact, when browsing the table.

 
  2. We have a significant number of assets of each and every edit of 
  terrain, where only the very last one is accessible.
 
 Yes, this does seem wasteful to me since old terrain assets are not used by 
 anything, afaik.


I have proposed a number of times that we could have a virtual asset_key as 
well as an asset_id - so that things that would rewrite assets could use the 
asset_key as an aux method to actually try to overwrite the asset. In the 
terrain case, the asset would be overwritten by key, not by id. This would 
allow us to implement a number of parallell schemas where some assets would be 
overwritten (asset_key = asset_id) and some where we would keep a history (only 
asset_key) and some where doing either or would be configurable.

 
  3. We have a significant number of assets of each and every text edit 
  for each and every textual assets. Where only the last one should be 
  accessible.
 
 Unfortunately, this is not the case. For instance, imagine that you create a 
 script in your inventory. You drag this 
 script into a region object. At this point, both the entry in your inventory 
 and the entry in the region point to the 
 same textual asset.
 
 But then you edit the script in your inventory. After the edit it points to a 
 new asset containing the edited text. 
 However, the region object is still pointing to the old script asset. So we 
 need to keep both the old and new textual 
 assets.


Not to mention the fact that the viewer caches stuff.


 However, you're right in that textual assets which are never used elsewhere 
 (i.e. are intermediate edits that never get 
 dragged into an object, given to someone else, or otherwise transmitted) 
 might possibly be eliminated with some 
 sufficiently careful scheme.


Binary de-duplication and added semantics in the form of 'key' or 'class' would 
probably go a long way.


  Its a bit like collecting every scrap of paper ever written with either 
  text or binary glyphs and putting them in a big filing cabinet.
  
  After a while, finding the ones that are interesting in a timely 
  manner starts to get a little challenging.


Let's keep the shining torch of this discussion burning.

 

/Stefan

 
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Blockers for unit testing physics modules

2009-02-17 Thread Stefan Andersson

I just committed a fix to actually honour the 'path' in Nant and vs2005/8 
targets, something that was actually not done. (Bloody hell, we need to get 
back to upstream prebuild.)


I believe you should be able to do this now.
 
Best regards,
Stefan Andersson
Tribal Media AB



 


Date: Tue, 17 Feb 2009 18:05:04 +0200
From: tommi.s.e.laukka...@gmail.com
To: opensim-dev@lists.berlios.de
Subject: Re: [Opensim-dev] Blockers for unit testing physics modules


The thing with the ode tests is that instead of having them in separate test 
dll as with all the rest of the tests the ode tests are placed in the same dll 
as ode plugin. Because of this it does not need to reference the ode plugin dll 
which would not work. I think we should really push for improvements to 
prebuild as getting everything to same output directory is not very clean 
solution considering for example deployment of different exe files to different 
machines. There is also problem of not being able to clean the bin directory as 
it permanently contains dll dependencies and even runtime data. In practice I 
think it is a good pattern that the bin directory is completely emptied on 
build clean. It would be also nice to be able to build different exe files to 
their own distribution folders. These last two as a long term goals to consider.
 
regards,
Tommi


On Tue, Feb 17, 2009 at 4:29 PM, Teravus Ovares tera...@gmail.com wrote:

Stefan,

No, this doesn't work. We've tried all sorts of ways to do that.  But,
there is a solution that we're already using for this very problem
with bamboo.   Simply copy the physics assembly to bin when running
the tests.   As I said, bamboo already does this.   The test harness
is currently in the odeplugin assembly and gets run successfully.

Best Regards

Teravus




On Tue, Feb 17, 2009 at 6:24 AM, Stefan Andersson ste...@tribalmedia.se wrote:
 You should be able to specify a 'path' attribute on the prebuild reference
 element.

 Reference name=Test localCopy=false path=../../Whatever/Dir/Test.dll
 /

 If that doesn't work, let me know and I'll have a look at a solution.

 (Sorry for the late reply)

 Best regards,
 Stefan Andersson
 Tribal Media AB




 
 Date: Mon, 9 Feb 2009 20:54:33 +0200
 From: tommi.s.e.laukka...@gmail.com
 To: opensim-dev@lists.berlios.de
 Subject: [Opensim-dev] Blockers for unit testing physics modules

 Hello

 I was writing some unit tests for physics modules and I collided with the
 following problem with prebuild and nant:

 Currently physics modules are stored in bin/Physics and because of this you
 can not reference them in further steps of the build as you can define only
 one reference directory for a project. I have referenced ode plugin dll from
 test dll but because of the reference problem the nant build fails. The test
 itself builds and works well in visual studio.

 I dont see any way around this. We would need to move the physics plugin
 dlls to bin directory like rest of the dlls or forget doing separate unit
 test dlls which refer to these plugins.

 This limitation is good to know for all prebuild work we do. Do not place
 the build output to any other directory than OpenSim/bin or you cannot
 reference that in other projects of nant build.

 If someone knows how to fix this easily please let me know.

 regards,
 Tommi

 ___
 Opensim-dev mailing list
 Opensim-dev@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-dev


___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev

___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


[Opensim-dev] Let's post-tag 0.6.3 [Was: some instability ahead r8399+]

2009-02-16 Thread Stefan Andersson

Um, that's basically what the 'stable' and 'post-fixes' should be considered - 
so basically, we should have found a good rev and bumped up to 0.6.3 before 
doing any destabilizing work.

 

Good fixes still can go into the corresponding post-fixes branch, so basically, 
the post-fixes should be considered your best bet.


Let's do that ASAP. Is there a good 0.6.3 candidate rev?


Best regards,
Stefan Andersson
Tribal Media AB



 
 Date: Sun, 15 Feb 2009 14:31:39 -0800
 From: aerow...@gmail.com
 To: opensim-us...@lists.berlios.de
 Subject: Re: [Opensim-users] some instability ahead r8399+
 
 I wonder. What would it take to have tags associated with certain
 revisions, like latest-recommended-stable? At the least, this could
 be something that would allow people to get the latest SVN that is
 believed to not have as many issues?
 
 -Kyle H
 
 On Sun, Feb 15, 2009 at 2:00 PM, Diva Canto d...@metaverseink.com wrote:
  Before issue reports start flying, just wanted to let everyone know that
  starting in r8399, svn head is a bit unstable with respect to avatar
  crossings/TPs. Mileage may vary depending on many things. LL viewer
  seems more solid than the Hippo.
 
  Please bear with us while we clean up a lot of old assumptions out of
  the code.
  If you want something recent and relatively stable, stick to r8398 for
  the next few days. Please refrain from submitting crossing/TP-related
  mantis for the next week or so -- we know there are problems. Progress
  is two steps forward, one step back.
 
  As usual, we value the brave of heart who go with svn head no matter
  what, and provide valuable informal feedback on how things are looking.
 
  Thanks,
  Crista
 
  ___
  Opensim-users mailing list
  opensim-us...@lists.berlios.de
  https://lists.berlios.de/mailman/listinfo/opensim-users
 
 ___
 Opensim-users mailing list
 opensim-us...@lists.berlios.de
 https://lists.berlios.de/mailman/listinfo/opensim-users
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Avatar movement packet optimization

2009-02-13 Thread Stefan Andersson

 

 I do agree with you. I think that the important thing here is that the patch 
 creator and applier both think carefully 
 about the situation when private members are being made protected.


Of course.

 
 One advantage of private members is that they tend to make debugging and 
 reasoning about code considerably easier. For 
 instance, if I know no other code can call a particular method because it is 
 private, then that means I don't need to 
 hunt down references or reason about possible interactions between different 
 callers. However, these arguments are 
 stronger, I think, when fields are public rather than protected (I have spent 
 too much time trying to unpick 
 interactions with Scene where callers were directly manipulating public 
 fields where this was not desirable or necessary).


You make a very good point; I actually was going to write that for example 
functions that are extracted to add semantic information normally should be 
kept private (and does not really need to be separately tested) since they are 
conceptually still a part of another context; then again, if any derived code 
would see fit to use those methods, I would have a hard time accepting a 'no'.

 

And regarding 'public', one of my pet decoupling strategies is just to turn 
stuff that is public to protected and see what breaks, then have a really hard 
think about why the 'breakee' needs public access. Another one is to 
encapsulate a public field in a getter-only property and see what breaks.

 

Those two excercises can be very enlightening.

  If I have recieved no strong objections, 
  I will add this to the code conventions by friday 20/2 2009.
 
 Well, you know, I was just idly agreeing with you :) But it would be good to 
 have such things in the code conventions.


Yeah, I'm just jumping at the occasion. ;-D

 

Btw, I suggested a 'commit recipe' a while ago, I think I'll add that as well.

 

/Stefan

 
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] [Opensim-users] User Server issues with 8236

2009-02-13 Thread Stefan Andersson

Guys,

 

we (Tribal) have seen this behaviour since a couple of months back; our 
hypthesis is that there's something wrong with the mono-addins lib, possibly in 
conjunction with old dlls.

 

The symptom is that the database modules just don't load, and with no error, 
and since the db logic is a foreach(plugin) over an empty plugin set, nothing 
happens.


Usually, a clean checkout, rebuild and copying over only of data files will 
remedy the whole thing.

 

Make sure not to copy over into an old directory - a total wipe and rebuild is 
necessary.

 
Best regards,
Stefan Andersson
Tribal Media AB



 
 From: lordofpleas...@pleasureplanet.net
 To: opensim-us...@lists.berlios.de
 Date: Fri, 13 Feb 2009 09:18:59 -0800
 Subject: [Opensim-users] User Server issues with 8236
 
 
 I tried a full build letting the OS regenerate the XML and I did a copy 
 paste with the xml files. No good either way. It seems to just not be 
 executing the connection to the Mysql database.
 Here's what I get when I run the 8236 user server
 
 10:07:04 - Launching UserServer...
 10:07:04 - [STARTUP]: Beginning startup processing
 10:07:04 - [STARTUP]: Version: OpenSimulator Server 0.6.2.8236
 10:07:04 - [STARTUP]: Establishing data connection
 10:07:04 - [PLUGINS]: Initializing addin manager
 10:07:06 - [PLUGINS]: Loading extension point /OpenSim/UserData
 10:07:06 - [GridInfoService]: Grid info service initialized with 11 keys
 10:07:06 - [LIBRARY INVENTORY]: Loading library control file 
 .\inventory\Librari
 es.xml
 10:07:06 - [STARTUP]: Starting HTTP process
 10:07:06 - [GRID]: Login Level set to 0
 10:07:06 - [HTTPD]: Starting up HTTP Server
 10:07:06 - [HTTPD]: Spawned main thread OK
 10:07:06 - [STARTUP]: Startup took 0m 1s
 Enter help for a list of commands
 
 User# :
 
 Here's what I get when I run the 8131 User Server
 
 10:08:54 - Launching UserServer...
 10:08:54 - [STARTUP]: Beginning startup processing
 10:08:54 - [STARTUP]: Version: OpenSimulator Server 0.6.2.8131
 10:08:54 - [STARTUP]: Establishing data connection
 10:08:54 - [PLUGINS]: Initializing addin manager
 10:08:57 - [PLUGINS]: Loading extension point /OpenSim/UserData
 10:08:57 - [PLUGINS]: Trying plugin /OpenSim/UserData/NHibernateUserData
 10:08:57 - [PLUGINS]: Trying plugin /OpenSim/UserData/SQLiteUserData
 10:08:57 - [PLUGINS]: Trying plugin /OpenSim/UserData/MySQLUserData
 10:08:57 - [PLUGINS]: Plugin Loaded: OpenSim.Data.MySQL
 10:08:57 - [PLUGINS]: Trying plugin /OpenSim/UserData/MSSQLUserData
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Creating 10 DB connections...
 10:08:58 - Connecting to DB... [0]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [1]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [2]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [3]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [4]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [5]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [6]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [7]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [8]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - Connecting to DB... [9]:
 10:08:58 - [MYSQL]: Connection established
 10:08:58 - [REGION DB]: Connection wait timeout 28860 seconds
 10:08:58 - [MIGRATIONS]: UserStore up to date, no migrations to apply
 10:08:58 - [GridInfoService]: Grid info service initialized with 11 keys
 10:08:58 - [LIBRARY INVENTORY]: Loading library control file 
 .\inventory\Librari
 es.xml
 10:08:58 - [STARTUP]: Starting HTTP process
 10:08:58 - [GRID]: Login Level set to 0
 10:08:58 - [HTTPD]: Starting up HTTP Server
 10:08:58 - [HTTPD]: Spawned main thread OK
 10:08:58 - [STARTUP]: Startup took 0m 4s
 Enter help for a list of commands
 
 
 For some reason it seems the MySql connection just isn't being called.
 Here's the .xml for the user server.
 
 Root
 Config default_startup_message=Welcome to Pleasure Planet 
 default_grid_server=http://64.150.177.108:8001/; grid_send_key=1234 
 grid_recv_key=1234 default_inventory_server=http://64.150.177.108:8004/; 
 library_location=.\inventory\Libraries.xml 
 database_provider=OpenSim.Data.MySQL.dll

[Opensim-dev] Refactoring the backend codepaths

2009-02-12 Thread Stefan Andersson

Esteemed colleagues, friends, lovers;

 

I have taken upon me to embark on an long and arduous journey; to try to 
refactor the mess that is called 'LoginService' - and in the process probably 
touch on quite a lot of the backend codepath messiness.

 

The general idea is to eliminate duplication by abstracting the architecture 
into 'service proxies', 'service implementations', 'model managers' and 
'service interfaces'.

 

This will be done in babysteps, over a long time - my goal is to never do any 
big restructuring, but merely work with my trusty refactoring tools, and as 
fast as time permits.

 

This said, the current tangliness may cause me to break something in some code 
path; if so, I beg your forgiveness and support in rectifying the situation.

 

Now, at this very moment, I have but one question upon my mind; pray answer it 
if you are among the wise -

 

why is RegionProfileData marked as Serializable - what is serializing it?


Thank you for your time, effort, support and understanding.


Best regards,
Stefan Andersson
Tribal Media AB

___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Organization and naming patterns of commands on the console

2009-02-05 Thread Stefan Andersson

Well, I don't mean anything that advanced; It just struck me that commands 
could just as well contain spaces.
 Best regards,Stefan AnderssonTribal Media AB

Date: Thu, 5 Feb 2009 10:53:26 -0800From: dahliatrim...@gmail.comto: 
opensim-...@lists.berlios.desubject: Re: [Opensim-dev] Organization and naming 
patterns of commands on the consoleI always liked a feature often seen on some 
older unix terminal based programs, like some curses based IRC clients, where 
just typing enough characters of a command to resolve any ambiguity would give 
you the complete command, and where the help section is  nicely organized. It 
sounds to be like that may be what you are describing?

Another issue I find, not sure if it's related or not, is the inability to use 
the backspace key in the OpenSim console while running on various linux 
distributions. I don't know where this is coming from, but I wonder if it's 
something OpenSim could control?

On Thu, Feb 5, 2009 at 10:28 AM, Stefan Andersson ste...@tribalmedia.se wrote:

Just chipping in my 2c: How about the modules are supposed to register the 
'command' whatever that is, but that the 'command' can include spaces? So, 
create user should be a valid command, sending the remainder to that region 
(via the registered delegate). which means another module can register create 
region but not create user, as that would have already been registered. Of 
course, it cannot register a non-character terminated subset either, like 
simply create. the command parser would simply run thru the list, doing a 
'starts with characters' match, probably with a non-character terminator in the 
regexp. (If you're really anal on performance, the whole list of matches can be 
concatenated into a regexp and compiled once) Of course, you would have to 
register help create user as well, but it seems to me that there could be an 
abstract base class providing some protected generative helper functions. (To 
either create and register verb+ +noun and/or noun+ +verb, and the 
corresponding help text in one go)This seems like the most flexible approach to 
me, as it poses no limitations on what commands makes the most sense for each 
context.Best regards,Stefan AnderssonTribal Media AB Date: Thu, 5 Feb 2009 
18:30:25 +0100 From: drscofi...@xyzzyxyzzy.net
 To: opensim-dev@lists.berlios.de Subject: Re: [Opensim-dev] Organization and 
 naming patterns of commands on the console


  Justin Clark-Casey wrote:  Ai Austin wrote:  Any chance we can have 
  the verb first, as this is much more intuitive? E.g.  create user  
  create region  i prefer addressing the entity that is supposed to do 
  something first (to get it's attention, so to speak), then tell it what to 
  do:  region create user create user reset password  that approach 
  also has the advantage that it's up to the module what vocabulary to 
  support.  --  dr dirk husemann  virtual worlds research  ibm 
  zurich research lab SL: dr scofield  drscofi...@xyzzyxyzzy.net  
  http://xyzzyxyzzy.net/ RL: h...@zurich.ibm.com - +41 44 724 8573 - 
  http://www.zurich.ibm.com/~hud/ 
  ___ Opensim-dev mailing list 
  Opensim-dev@lists.berlios.de 
  https://lists.berlios.de/mailman/listinfo/opensim-dev___Opensim-dev
   mailing 
  listopensim-...@lists.berlios.dehttps://lists.berlios.de/mailman/listinfo/opensim-dev___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] AssetBase and metadata

2009-02-02 Thread Stefan Andersson

Hm, thinking a bit more about it, I guess you have a very good point there;
 
of course, you could let there be an 'virtual' inventory item (with the assetId 
as the inventoryId) that translates to the asset itself - and that would have 
some special way of determining permissions.
 
That said, I'd much rather do something like separating out the 'permissions' 
bit in inventory and have that mean 'asset permissions for the trust domain' - 
you can still operate on the permissions in the same manner, and the net result 
will be the same, I guess.
 
In other words; instead of having restricted inventory and full access assets, 
I'd rather say you had full access inventory and restricted assets, if that is 
any the least clearer?
 
If you strip out permissions and type from inventory, the only thing left is 
name, owner and some data - and the inventory has most oftenly a pretty 
straightforward perms set (only let owner see and change on trusted regions) 
while assets parms can vary wildly with application.
Best regards,Stefan AnderssonTribal Media AB Date: Mon, 2 Feb 2009 08:24:52 
-0500 From: tera...@gmail.com To: opensim-dev@lists.berlios.de Subject: Re: 
[Opensim-dev] AssetBase and metadata  To the 'all assets have inventory items 
associated with them', no, they don't, however, there's no harm in requesting 
the inventory item where possible. It would limit the UUIDs that systems would 
have access to as a reference, as well. I'm sure that there will be some 
methods that must use Asset ID. Mostly, images. I suppose object inventory 
might use Asset ID also, but probably does not have to until they're requested 
by the client for editing.  To the 'So I guess I don't understand what 
specific case you're referring to?', See last Tuesday's Zero meeting for 
several references to the pitfalls of Hypergrid (and it's not just Zero saying 
things to criticize it. It's our users as well. That was a widely positive 
meeting towards Hypergrid to the detriment of LLOGP. Mingled within that, the 
way we handle property was the main criticism.  Reference: 
http://wiki.secondlife.com/wiki/User:Zero_Linden/Office_Hours/2009_Jan_27  I 
was saying that currently, we're doing nothing at all to limit trust. If we 
maintain this approach, it will be a big factor in other, 
non-currently-codified, standards being adopted and It'll likely be impossible 
to fully implement other 'permissioned' standards without some way to check 
the permissions first (such as OGP). Currently, directly requesting Assets 
precludes this option. Not all virtual worlds will have 'Property', but the 
ones that do will suffer. Comparing to a web server, think .htaccess.  Best 
Regards  Teravus  On 2/2/09, Stefan Andersson ste...@tribalmedia.se 
wrote:  Are we sure all assets have inventory items associated with them?  
 I can think of scripted objects that set textureIds programatically.  
(Melanie pointed that out to me)   You can also have the case where you 
upload a texture (yes, it's in  inventory) apply it to a shirt, then delete 
the original inventory item (the  asset is still referenced from within the 
shirt asset, but is in no  inventory)   So I guess I don't understand 
what specific case you're referring to?   Best regards,  Stefan 
Andersson  Tribal Media AB Date: Sun, 1 Feb 2009 23:58:55 -0500  
 From: tera...@gmail.com   To: opensim-dev@lists.berlios.de   Subject: 
Re: [Opensim-dev] AssetBase and metadata Is there any reason that we 
don't request items from the asset server   internally by the inventory UUID 
instead of the asset UUID?   Requesting assets by inventory UUID would make 
it a LOT simpler to   apply permissions at the trusted service level instead 
of at the   simulator level. Best Regards Teravus   
  On 2/1/09, Mike Mazur mma...@gmail.com wrote:Hi,   On 
Fri, 30 Jan 2009 07:37:27 -0500Sean Dague sda...@gmail.com wrote:  
  It's fine for the object to be called AssetMetaData, just don't 
make the property that.   On Fri, 30 Jan 2009 14:51:12 
+ (GMT)MW michaelwr...@yahoo.co.uk wrote:I 
agree, I'd say call the class AssetMetaData, but just call the 
property (in AssetBase) MetaData.   Makes perfect sense. Thanks for 
the feedback.   Mike
___Opensim-dev mailing 
listOpensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev  
___   Opensim-dev mailing list 
  Opensim-dev@lists.berlios.de   
https://lists.berlios.de/mailman/listinfo/opensim-dev
___  Opensim-dev mailing list  
Opensim-dev@lists.berlios.de  
https://lists.berlios.de/mailman/listinfo/opensim-dev   
___ Opensim-dev mailing list 
Opensim-dev@lists.berlios.de 
https://lists.berlios.de/mailman/listinfo/opensim-dev___
Opensim

Re: [Opensim-dev] asset_database = local or grid?

2009-02-01 Thread Stefan Andersson

I believe the general concensus was to support all three (four?) asset server 
configs (internal, local, grid, hg(?))  but refactor the code paths.
 
While I do understand the confusion, I have already shown how we could 
re-arrange the services so that we get a uniform set of interfaces - ideally, 
the config option should turn from specifying a mode to specifying a module and 
its config.
 
Best regards,Stefan AnderssonTribal Media AB Date: Sun, 1 Feb 2009 22:29:18 
+ From: mela...@t-data.com To: opensim-dev@lists.berlios.de Subject: Re: 
[Opensim-dev] asset_database = local or grid?  Hi,  funny you would 
suggest that. That is one of the code paths I  suggested removing a long time 
ago, and was booed and rejected.  Melanie   Justin Clark-Casey wrote:  
Chris Hart wrote:  Setting asset_database to local will store your assets 
in a .db sqlite  database on your file system, and not in MySQL at all. If 
you run in  grid mode, you should always set this to grid to avoid 
confusion  unless you are connecting to someone else's grid and want your 
assets to  be stored locally and not on their asset server. I have 
to say I made that same mistake when first starting out with  opensim and 
had to migrate all my assets over to my database server.  Several others 
have made the same mistake and I've had to help them to  migrate their 
assets too - is the local storage model really that widely  used? Should it 
actually be the default? For standalone I'm guessing it  is ignored(?), but 
in grid mode I've found it just causes pain and  confusion.Chris is 
right - I find the asset_database switch annoying because it catches me out on 
occasion.The problem with using local assets on a grid is one of grid 
asset blakanization - people coming to your region can't   see your assets 
(because their requests go to the grid asset service rather than your local 
asset store) and when you go   to other people's regions you can't rez 
objects you created on your local region.But it strikes me that now, if 
you wanted to retain your regions assets locally, you could set up your region 
as a   hypergrid enabled region, as Hypergrid regions use the local asset 
store (there is conceptually no global).In view of this, I'd like to 
completely remove the asset_database option. This would mean that in standalone 
and   hypergrid modes, the db used would always be local and in grid mode the 
grid asset service would always be used.Are there any objections to 
this?  Chris / Strawberry Fride-Original 
Message-  From: opensim-dev-boun...@lists.berlios.de  
[mailto:opensim-dev-boun...@lists.berlios.de] On Behalf Of Ai Austin  Sent: 
01 February 2009 17:12  To: opensim-dev@lists.berlios.de  Subject: 
[Opensim-dev] asset_database = local or grid?I have MySQL running 
on the same system that the UGAIM servers are   running on at the moment, 
though we want to separate some of them out...I am wondering if I set 
asset_database = grid rather than   asset_database = local is there any 
performance penalty... or will   it run identically if the assets are in 
fact local anyway?___  
Opensim-dev mailing list  Opensim-dev@lists.berlios.de  
https://lists.berlios.de/mailman/listinfo/opensim-devNo virus found 
in this incoming message.  Checked by AVG - www.avg.com   Version: 
8.0.233 / Virus Database: 270.10.16/1926 - Release Date:  01/30/09 17:31:00 
 ___  Opensim-dev mailing 
list  Opensim-dev@lists.berlios.de  
https://lists.berlios.de/mailman/listinfo/opensim-dev   
___ Opensim-dev mailing list 
Opensim-dev@lists.berlios.de 
https://lists.berlios.de/mailman/listinfo/opensim-dev___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] proposal: cleanup and break up region modules

2009-01-29 Thread Stefan Andersson

I think that some confusion stems from the fact that it's a difference between 
referencing the assembly, and dynamically instancing classes out of it.
 
If you reference classes directly, as in
 
mything = new Thing();
 
where thing could be a module, albeit _referenced_, not _loaded_
 
is a huge difference to
 
mything = loadedAssembly.Instantiate( Thing );
in the former, the jit compiler can do all kinds of neat optimizations when 
referencing classes in the Assembly, since it has both the referenced component 
and the referrer at hand. It can also inline and optimize away type validity 
checks and trusted domain checks.
 
In the latter, it really can't, and need to wrap everything in prudent 
encapsulation, protection and indirection.
Optimization points aside, I would hate for us to expand the core modules into 
separate projects just because we can; I think we would have to add 20 more 
projects to the solution and that would just suck - especially now that we have 
cleaned out so many. Some of the these new projects will have just a handful of 
classes, which is just an absurd waste of resources for something that should 
be used in 95% of the setups.
 
I actually don't know how mono addins work, but in the .net framework 
individual classes are referenced by assembly and class if loaded at runtime, 
so for examble
 
authModule= MyAuthLib.dll, MyAuthenticator would reference the class 
MyAuthenticator in the dll MyAuthLib.dll - which means that you can lump as 
many of those together in an dll that you want to.
 
so we should make sure we can do something liket that, and instead try to lump 
modules that share a common domain together.
 
The only two reasons to ever split an assembly into two is from
* references being too different (if you want to re-use them separately)
* encapsulation and security issues (actuallly USING internal as it was 
intended)
 
So, what I'm saying is that we should strive towards a situation where the core 
modules are bundled into a minimal set of assemblies, and the rest put on forge.
Best regards,Stefan AnderssonTribal Media AB
 Date: Thu, 29 Jan 2009 11:28:19 +0100 From: drscofi...@xyzzyxyzzy.net To: 
 opensim-dev@lists.berlios.de Subject: Re: [Opensim-dev] proposal: cleanup 
 and break up region modules  Tleiades Lauridsen wrote:  Date: 
 Thu, 29 Jan 2009 08:31:48 +0100  From: drscofi...@xyzzyxyzzy.net  To: 
 opensim-dev@lists.berlios.de  Subject: Re: [Opensim-dev] proposal: cleanup 
 and break up region modules   Tleiades wrote:   I'd be much more 
 of a fan of having each module a seperate dll. Files   are cheap too. :) 
 And that makes it very clear to people what they are   loading, and what 
 they aren't loading.   (On the fear of talking about 
 performance prematurely)   Won't that cause problems for the JIT'er?  
Normally access to member variables gets optimized away into a 
 direct   memory access rather than invocation of a JSR. If I recall 
 correctly   this optimization does not work for dynamically loaded 
 assemblies.   well, if that's the case, then it's not working currently 
 either :-)  currently  we lump all region modules into one large super 
 DLL and load that  dynamically.I guess what I'm saying is that dll 
 files are not as cheap as it is  being implied. Having an application 
 dynamicallly load a large number of  dll's at runtime, is less efficient 
 that loading a few large dll's  during load time. The JIT'ed code will be 
 less efficient and loadtime of  the application will increase. While load 
 time may not be a big issue, I  believe it is best to give the JIT engine 
 the best working condition.  we are always loading at runtime --- or let me 
 ask the other way round: what do you define as loadtime?  As I 
 understand it the JIT engine and assembly loader have been designed  based 
 on a use pattern which states: Most assemblies will be loaded  during 
 application load time, and only few assemblies will be loaded at  a latter 
 stage,  well, we are loading at runtime then.  --  dr dirk husemann 
  virtual worlds research  ibm zurich research lab SL: dr scofield 
  drscofi...@xyzzyxyzzy.net  http://xyzzyxyzzy.net/ RL: 
 h...@zurich.ibm.com - +41 44 724 8573 - http://www.zurich.ibm.com/~hud/ 
 ___ Opensim-dev mailing list 
 Opensim-dev@lists.berlios.de 
 https://lists.berlios.de/mailman/listinfo/opensim-dev___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


[Opensim-dev] Proposal: Removal of the Data Framework

2009-01-26 Thread Stefan Andersson

As I understand it, we have no longer anything actually using the Data Mapper 
Framework introduced as a proposed alterantive to NHibernate a year ago.
 
I propose we now retire that piece of code. These are the projects that will be 
removed:
 
* OpenSim.Data.MySQLMapper
* OpenSim.Data.MSSQLMapper
* OpenSim.Data.Base
In OpenSim.Data, the following classes would be removed:
* OpenSimDatabaseConnector.cs
* OpenSimDataReader.cs
* OpenSimObjectFieldMapper.cs* PrimitiveBaseShapeTableMapper.cs
 
Also, the AvatarFactoryModule erroneously still references these namespaces, 
but that's a minor fix.
 
If nobody has a strong objection, I will start removing these files Feb 2 2009.
Best regards,Stefan AnderssonTribal Media AB___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Proposal: Killing off AvatarFactory

2009-01-26 Thread Stefan Andersson

Argh.
 
s/Jan/Feb/ Best regards,Stefan AnderssonTribal Media AB



Date: Mon, 26 Jan 2009 09:54:12 +From: michaelwr...@yahoo.co.ukto: 
opensim-...@lists.berlios.desubject: Re: [Opensim-dev] Proposal: Killing off 
AvatarFactoryMy preference is that we modulariSe the whole avatar creation, its 
much more flexible. Also on that subject I suggest we move the server side 
avatar data from the user server to one of the other servers (most likely the 
inventory server). I don't think it should be in the user server for a number 
of reasons. But one reason we have came across is wanting to share a single 
user server with multiple grids. I think the user server really should just be 
account infomation.But anyway back onto the AvatarFactoryModule, yes if we 
aren't going to modularise it then we should just move it all to 
IAvatarService. No point in having the current half way solution.Also I think 
the process should even a more general, start modularising the whole of the 
CommsManager.But not sure anyone is going to be able to give a +1 or -1 on any 
idea before Jan 2 2009 ;)Stefan Andersson ste...@tribalmedia.se wrote:


It's kind of crazy that we have a RegionModule (AvatarFactoryModule) that 
really just look up the CommsManager AvatarService and forwards a request to 
that.I propose we either modularize the whole thing (the prefferrable thing) or 
merge the AvatarFactory module code into the IAvatarService. If nobody has 
objected strongly until Jan 2 2009, I will mantis this.Best regards,Stefan 
AnderssonTribal Media 
AB___Opensim-dev mailing 
listopensim-...@lists.berlios.dehttps://lists.berlios.de/mailman/listinfo/opensim-dev
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Proposal for a cleanup/correction of the region-module system

2009-01-25 Thread Stefan Andersson

Ok, so I suggest we establish an 0.7 roadmap page. With that one as a 
'definite', not a 'discussion'.Best regards,Stefan AnderssonTribal Media AB  
Date: Sun, 25 Jan 2009 15:27:29 -0500 From: sda...@gmail.com To: 
opensim-dev@lists.berlios.de Subject: Re: [Opensim-dev] Proposal for a 
cleanup/correction of the region-module system  MW wrote:  actually should 
we wait a while and get more reaction. As this is going to effect anyone who 
has a module that isn't in trunk. Seems a lot of hasle for such a small thing. 
   Would seem better to wait and make the change when/if we change to 
homer's new module interface.  Yes, agreed. I'll both wait for reactions, and 
wait for Homer's work, to minimize the number of times we break things. I 
think normalizing that would make sense prior to 0.7, just to give us some 
more consistency. I know every time I walk someone new through parts of the 
code there is a lot of head scratching over the inconsistency. For those of us 
that have been here a long time, we are used to it. From the outside it looks 
like we are all just a bunch of crazies... which may or may not be true, but 
I'd rather not get the reputation from method naming. :)  -Sean  --  Sean 
Dague / Neas Bade sda...@gmail.com http://dague.net  ___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


Re: [Opensim-dev] Hooking in Scene.EventManager

2009-01-21 Thread Stefan Andersson

One might add that if you want to hook into grabs of a small set of specific 
objects, you should probably look into patching the sceneobjects up with event 
hooks, and then use those. There _are_ OnGrab functions, but afaik there's no 
events firing in them, which there should be, really.Best regards,Stefan 
AnderssonTribal Media AB



Date: Wed, 21 Jan 2009 21:13:12 +From: garrett.hus...@gmail.comto: 
opensim-...@lists.berlios.desubject: Re: [Opensim-dev] Hooking in 
Scene.EventManager
Great stuff - thanks for your help Diva
 
Cheers
Garrett
2009/1/21 Diva Canto d...@metaverseink.com

Yep, that's it.Those events are there for being used.When writing region 
modules just keep in mind that your region module code runs natively with the 
core code; if you mess up, the core behavior may get messed up too. So, for 
example, if your module adds significant delays in processing an event, it may 
interfere with the normal OpenSim operation. So be smart with your region 
modules :-) 


Garrett Hussey wrote: 

Hi, sorry  - I should have elaborated a bit more.
 
At the moment the EventManager exposes a number of events. I want to do the 
following in
my region module ...
 // TEST TEST SET 
m_scene.EventManager.OnObjectGrab += new 
EventManager.ObjectGrabDelegate(MYObjectGrabDelegate); So my module with get 
notified of every object grab event in the scene. So my question is -  is this 
a 
good/reasonable way to trap every objectgrab event in the scene or is there 
another mechanism I should be using?
 
 
Thanks again
   Garrett
 
2009/1/21 Diva Canto d...@metaverseink.com

Which ones do you need that aren't there?Garrett Hussey wrote: 



Hi,
 
I'm playing around with my own region module and was wondering ifs its 
reasonable/sane,
good/bad practise to add extra event handlers to the Scene.EventManager and 
handle the events in my
region module ?
 
Thanks
 Garrett
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev
  ___Opensim-dev mailing 
listopensim-...@lists.berlios.dehttps://lists.berlios.de/mailman/listinfo/opensim-dev
___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev
  ___Opensim-dev mailing 
listopensim-...@lists.berlios.dehttps://lists.berlios.de/mailman/listinfo/opensim-dev___
Opensim-dev mailing list
Opensim-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/opensim-dev


<    1   2