Server Deployments – Week 20
As always, please refer to the release forum thread on the weekly deployments for the latest updates and discussions.
Second Life Server (Main channel)
On Tuesday May 14th, the Main channel received the Experience Keys project which is widely regarded (and referred to by LL staff) as the “experience permissions”. This means the project is now available across the grid, although there are no visible changes to be seen at this point. Release notes.
Speculation is still running high on exactly what the new project is – and whether it is “just” the experience permissions to partner the existing advanced creation tools ot something more – as well as whether the capabilities will be available for use across the grid (i.e. on Mainland as well as private estates). Details will be forthcoming from the Lab in time; for the moment, they’re holding their cards close to their collective chest.
Release Candidate (RC) Channels – JSON Capabilities
On Wednesday May 15th, all three RC channels should receive a new server maintenance project (release notes (Bluesteel)). The project is designed to fix two crash modes and two bugs, namely:
- A fix for ‘Overriding “Sitting on Ground” animation while sitting on the ground makes “stand up” button disappear’ (BUG-2424)
- A fix for ‘ApplyImpulse now works only in the root prim’ (SVC-8227)
In addition, this project introduces new LSL support creating and parsing for JSON-formatted strings. The new LSL functions comprise:
- list llJson2List(string json) – converts the top level of the json string to a list.
- string llList2Json(string type, list values) –
- Type is JSON_ARRAY or JSON_OBJECT
- Converts either a strided list of key:value pairs to a JSON_OBJECT or a list of values to a JSON_ARRAY
- string llJsonGetValue(string json, list specifiers) – gets the value indicated by spcifiers from the json string.
- string llJsonSetValue(string json, list specifiers, string value) – returns a new json string that is the json given with the value indicated by specifiers set to value
- string llJsonValueType(string json, list specifiers) – returns the type constant for the value in json indicated by specifiers.
At the time of writing, the RC deployments still had a question mark over them as testing was, according to Simon Linden when speaking at the Simulator User Group, “down to the wire, although it all looks good.”
Further information on the new LSL support for JSON can be found on the LSL JSON wiki page.
The project is being lead by Kelly Linden who described the reason for implementing them as being because he’s “keen on improving the ability to interface LSL with the larger web. The previous maintenance version expanded the content-type support of http-in and http-out which ties in with this.”
It is likely that further LSL support for JSON will be added in the future.
Beta Viewer and the Viewer Release Process
A further beta viewer release was made on May 11th (22.214.171.1245565) – see the release notes for details – in preparation for the deployment of the new viewer release process. The beta 3.5.2 viewer incorporates changes required by the new service.
While at the Open-source Dev meeting on Monday May 13th, I asked Oz Linden on the status of the new process. “Internally, we’re essentially already using it in that all projects are based on viewer-release,” he replied. “We’re starting system test of the server-side infrastructure changes this week… once those are tested, it’s just a matter of deploying them and we can fully switch over to the new process. ‘just deploying’ on our scale is always an understatement, incidentally.”
This does not mean the release process is about to be deployed, however. The server-side infrastructure testing is liable to be on-going for a while. One aspect which the Lab will be checking carefully is the changes made to the log-in process.
When a user logs-in to Second Life using an official viewer, a check is carried out to see if a mandatory upgrade is required. To prepare for the new release process, is check has been updated. “that’s not something one deploys without having taken every step one can think of to quadruple-check just a bit,” Oz explained.
How long the tests will take to complete is unclear, but it is unlikely the new release process will be deployed in week 20.
Work is continuing with the viewer, focusing on the UI issues which need to be resolved in order for the code to progress towards mainstream release.
Server-side Baking / Appearance
Nyx and Troy Linden appeared on Designing Worlds on May 13th, as a part of a special programme on SSB/A and Materials Processing. During the show, they answered a number of questions about SSB/A. I have a transcript of there discussion with show hosts Saffia Widdershins and Elrik Merlin for anyone wishing to catch-up on things who may not wish to watch the entire show.
Discussing the overall status things at the Content Creation User Group meeting on Monday May 13th, ahead of the show airing, Nyx said the Lab is, “Still making good progress, the back-end needs a bit more work before we’re fully ready to roll out. Pushed some bug fixes to the public branch last week for the viewer.”
Commenting on the availability of test regions on the main grid using SSB/A, Nyx added, “[I] don’t have an estimate on that just yet. Roll out of server-side appearance will be a slow process, will definitely let you guys know when there is a test region up on Agni. In the meantime, please keep testing on Aditi, we have gotten some good reports on what is left to fix.”
New Particle Capabilities
The new particle capabilities are currently stalled pending the arrival of the viewer-side rendering support. No further server-side capabilities other than those mentioned previously are being added at this time, and commenting on the situation, Simon said, “The next step is getting that viewer code out the door, and that has been making small steps in the right direction. I can’t promise any dates but I personally would like to make a bug-fix version of the viewer available, which has some changes we put in earlier this year but hasn’t been released as other things were in line.”
With the new viewer release process due to debut soon, it may well be possible that a particles project viewer could be on the horizon sooner rather than later.
Baker Linden’s Bug Stomping
Baker Linden provided a further brief update on his work in stamping out bugs as he works his way towards implementing a group ban feature. As reported last time, he’s working on a trio of issues which need to be sorted in order to ensure the group ban functionality works as he expects. The first of these is to fix a problem with searching people when using the choose resident floater; the second is fix a problem with unmuting an object / person which can see the object / person muted again after a relog; the third is the stripping-out of leading and trail spaces in display names.
“The various People API bugs have been pretty ruthless to me so far — I’m still getting used to the system we use for that,” he informed the Simulator User Group. “Unfortunately, it’s been slow-going as I try to understand the flow of the agent updating system, and I’m trying to fix a couple of bugs there before I start adding a new package to that system. I haven’t really solidified my plan on how to fix searching, but I do know that it’s currently inconsistent across various search paths, and I plan on making it consistent.”
The Simulator User Group saw discussion about the potential usefulness in a “scripted object packer”, an idea Levio Serenity described as, “A feature that’s like the opposite of llRezObject() that would let a script grab an item/copy of it that’s rezzed out and add it into the contents of the item where the script is running.”
The best way of hinging about this is to imagine a system like Builder’s Buddy or Rez-faux, where a script placed in an object would be able to “slurp up” the required items (presumably also identified by scripts of their own), and place them inside the contents of the prim containing the “master” script.
Such a capability would then make it a lot easier to pack-up builds, etc., rather than having to manually place items into a container each time – even with No Copy items. Responding to the idea, Simon Linden commented, “Hmmm, interesting … thinking from the other side of it, I’ve always wanted a few magic buttons to pack up my parcel so I could switch builds easily.”
Currently, this is just an idea, but a feature request might be in the offing in the future.