Too Many Choices
Aura Lind determined there are too many paths over which similar inventory operations can take place. This is a programming thing for those building viewers. In other words programmers have multiple ways to do the same thing. So, to get developers using the newer more robust processes they are depreciating many of the old obsolete processes and will be turning them off.
The first step is to begin eliminating depreciated messages. The message deprecation is to happen first. The first ones targeted will be the old UDP messages. They will be replaced by HTTP messages going into the new system. In the near future the receivers that handle the older messages will be turned off server side. This means viewer to Sim messages that use those services will fail. The Lab has given a list of the calls/messages they plan to turn off to developers.
For a list of depreciated messages see this document. These are the messages being taken out of the Linden viewer now. They are replaced by new messages, API calls, using the new AISv3. Most of the ones targeted for this phase are already OLD and have been mostly out of use for some time. So, this first step should cause very little if any disruption. But, we can’t know for sure. So, a step at a time.
The server side changes will be deployed on ADITI soon. TPD’s can test their viewers there. They can see if there are any surprises before the changes move to the main grid.
Inventory and viewer inventory files are being refactored. I think they were talking about the files used to hold the code that makes up the inventory system. So, the change only affects those compiling viewers and the servers.
This inventory file thing is mostly code clean up to promote easier maintenance and better define how the files are used and what they are about. Plus getting related components into the same file. See this document: Viewer Inventory ReOrganization.
Aura Linden describes it this way:
This is a first pass refactoring of llinventory.cpp/h an llviewerinventory.cpp/h The goal of this work was simply to sort out classes and related functions into distinct concepts without making any other structural or functional changes. The purpose of the change is to lay the groundwork for more easily adding unit testing to the code and future cleanup and refactor with the smallest amount of pain possible for third party developers. With the move complete it will be far easier to put testing in place and improve the reliability and maintainability of the code.
This is a preliminary step to refactoring more of the inventory code.
In the future, once old messages are depreciated, server side integrity checks will go into the server side. With better organization it will be easier to built in the checks. These checks will do things like prevent users making and remove multiple copies of user made system folders. Integrity checks will prevent 3rd party viewers messing things up accidentally or deliberately (griefer viewers).
This work should make inventory more robust over time. It is not a small quick project. But, neither is it a huge multi-year project.