jump to navigation

This Week in OpenSim Dev – week ending Saturday 21st June 2008 June 23, 2008

Posted by justincc in opensim, opensim-dev, opensim-news, secondlife, twiod.
trackback

Hello everybody. This is a short summary of OpenSim development for the past week up until the end of last Saturday, as culled from our source code repository logs. The changes picked out are prominent user visible changes – most refactoring and stability revision are left out, unless they’re of particular interest. The numbers in brackets are the final svn revision numbers in which the work was completed for this week. This is right at the cutting edge so there is no guarantee that this functionality is stable.

From this week onwards, as well as listing features and bug fixes significant to users, I’m going to start listing major infrastructure work going on in the project.  This is going to be a little more impressionistic than the features/bug fixes section, but hopefully it will give a better picture of how OpenSim is evolving from week to week.

This week in OpenSim ( r5110 – r5176 )

General news

  • This week, ckrinke released OpenSim version 0.5.8 alpha (r5111).  The source can be downloaded here.  Since OpenSim is still in alpha, we do not yet release official binary builds.

Features & bug fixes

  • Dahlia contributed a patch to implement high accuracy and precision collision meshes for the prim types box, cylinder, and prism (r5114).
  • Dahlia contributed a patch to implement the Linden viewer editor parameters twist, dimple, path cut, and profile cut to the sphere mesh for meshmerizer/ODE (r5155).
  • sdague implemented a database migration so that MySQL now stores asset uuids in standard dashed format as used by sqlite, rather than as a binary field.  Databases in the old format will be automatically upgraded, which may take some time if you have a large number of assets (r5122).
  • Teravus implemented a feature such that region servers now make their map images available via http.  For instance, if you had a region with the uuid cc4583cd-269b-41bf-a525-dd198e19a5c5 at the IP address 192.168.1.127 using the default http_listener_port of 9000, the map image would be available at

    http://192.168.1.127:9000/index.php
    ?method=regionImagecc4583cd269b41bfa525dd198e19a5c5

    (sorry for the line splits, I should get a wider theme).  The new osgrid map makes use of this facility (r5137).

  • Jonc contributed a patch to implement terrain bake from the region/estate dialog.  This patch also contributes code to respect the terrain_raise_limit and terrain_lower_limit values in the estate settings xml file when terraforming, and handles negative values in this xml file (r5156).
  • mikem contributed a patch to solve a potential infinite loop in llParseString2List() (r5160).
  • Teravus added region ban capability to regions through the Linden client gui.  This is only currently implemented for MySQL (r5168).
  • I made a small change to remove some redundancy in the xml which allows prim region crossing.  Please note, that if region A is before this revision and region B is past it, prim crossings (which includes attachments) will not work properly when moving from region A to region B until region A is updated (r5175).

Infrastructure

  • sdague added a proper database migration infrastructure.  This is a very good thing, since up until now, database migration has been very adhoc and difficult to perform.  This will make it easier to preserve existing data as the project evolves.
  • sdague continued to work on NHibernate support for data storage or assets, inventory, etc.  This will hopefully eventually allow us to support more databases through NHibernate – we won’t have to write plugins for these ourselves.
  • I continued to work on a region data archiver/dearchiver.  Currently, we have a load-xml2/save-xml2 facility to save and reload region prim data from a file.  This does not save or reload the assets required for those prims.  The archiver aims to save out and reload the additional data required to fully realize objects.  This facility will initially only be accessible from the region console command line.  More information as things mature over the coming weeks.
  • joha1 implemented plugin support for ClientStack, with LindenUDP as one plugin.  This is cool since it means that people can now more easily experiment with alternative communication protocols for OpenSim.
Advertisements

Comments»

1. Bob Wellman - June 23, 2008

Justin

I just spent about 30 minutes typing a comment to this blog and then hit “say it”. The comment disappeared and unfortunately I didnt have the text saved and dont have time to rewrite right now. Could you check if “say it£ is working and I will retype it later

Thanks Bob

2. justincc - June 23, 2008

Bob, it seems to be working, though unfortunately I can’t see any trace of your earlier comment.

3. Bob Wellman - June 23, 2008

Ok Ill try to remeber what I wrote and post again later. Moral of the story.. always back up what you typed before sending it into the wild blue yonder..LOL

4. Bob Wellman - June 24, 2008

here goes again…

As usual you cast a light into the gloom, lighting a path for all of us to help us walk forward a little swifter. Thianks for that. I particularly like the new infrastructure section. I read all the commits as they occur but, as a non techie in the opensim sense, I am often lost as to there meaning. Now I understand what “Migration” is about. I had narrowed it down to about 3 possible meanings but now I know which is correct,

A couple of other things that seem to be mentioned a lot are “nhibernate” and “SVN” which have me baffled but I assume are also infrastructure. So I am hoping they turn up in your infrastructure section soon and all will become clear to me.

One infrastructure change we did notice recently was that the avatar appearance table moved for being in its own MYSQL database to being in the same MYSQL database as the other tables. We noticed that whereas the old table was being updated every time we changed clothing/body parts the new table does not. (we use MYSQL and a php web page to display the database tables on our grid so we can debug issues). Avatar appearance persistance worked perfectly for us before this change and doesnt work after the change. So we added a comment to this effect on the Mantis issue about avatar appearance persitence problem hoping the info may help the developers fix the issue.

The reason for the last paargraph is to emphasise how useful it is for non developers to be aware if the infrarstructure changes. The more people that are aware, the more pairs of eyes there are spotting possible causes of issues. So keep up the great information flow Justin it helps us all.

Regards… Bob

5. justincc - June 24, 2008

I try Bob – I find it quite difficult even for me, as an OpenSim developer, to get a grip on everything that’s going on. However, I’m glad you find the weekly summaries useful 🙂

Regarding appearance, could you tell me which mantis you’re referring to? Thanks.

6. Bob Wellman - June 25, 2008

Mantis 1370.

My comment was added on 17th June. No replies to my comment so far. I am not sure if that means no one has looked at the issue since then or if my comment was of no help. Must be hard for the developers to keep up to date on all the Mantis comments.

Just a thought on your remark “difficult even for me, as an OpenSim developer, to get a grip on everything “: There is a lot of jargon used on the commit log, but that is always true of things written by technical guys, they never document in plain english…LOL.. I have been guilty of that myself over the years. Maybe if there was a glossary of these terms avalable it would make everything clearer to the outsider and ensure amongst developers that you all mean the same thing by that jargon word. My first candidate for inclusion is “Update SVN properties” = ?

Best Regards… Bob

7. justincc - June 26, 2008

Yeah, I think there were big changes in the avatar persistence between those two revisions and activity on 1370 appears to have died down a bit. Hopefully somebody will pick this up again soon, though it might be a while. There tend to be more bugs than developers just at the moment (I myself have a backlog of 20, and I’m also working on some functionality rather than bug fixing at the moment, though I do regard bug fixing as important).

Regarding the jargon, I think that is a good idea which is worth bearing in mind. In this case, ‘Update SVN Properties’ simply means that some file property changes are being made to our Subversion code repository to ensure that developers working on both Windows and Linux can edit the source code. It doesn’t have any effect on the functionality of OpenSim iself.

8. salahzar stenvaag - June 27, 2008

Hi Justin. Kudos to the programmers for trying to solve many interesting things like llGiveInventory (I just have seen it is almost working).
I’m still wondering if I can help in some ways. I tried to go to the IRC asking for directions but nobody listened to me. 😦
It would be nice if a (minimal) coordination can be set up with people willing to understand how OpenSim is working. You are doing a brilliant job with this blog but if Opensim wanted to really rock and be seriously competitive a strategy for dealing with people willing to help should be established 🙂
Just a note: While playing with the trunk I’ve came across a BIG bug (which seems being also on the version deployed to openlife socalled 0.6r3). If you rez an object and just take it you produce an error and be logged out 😦 😦 :(. I was convinced to have broken everything with a minor change I was willing to do to allow objects to have a proper date when took in the inventory (I’m almost there and the modification is just ONE line), but I’m stuck with this bad problem…
Greetings from Italy,
salahzar

9. justincc - June 29, 2008

Hi salahzar. More people seem to be asking for OpenSim hacking guides now, so this may be something to consider (I haven’t looked to see what, if anything, is already on the openimulator.org wiki). IRC response can depened heavily on the day and the time of day – but, of course, sometimes people are very busy and don’t necessarily have time to respond (particularly in the case of us coders with day jobs 🙂

The problem you’re seeing may actually be the result of a bug introduced in r5252 on Friday. You might want to try upgrading past r5287.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: