• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: SNOW-215
Type: New Feature New Feature
Status: Resolved Resolved
Resolution: Fixed
Priority: Normal Normal
Assignee: Merov Linden
Reporter: Pixel Gausman
Votes: 2
Watchers: 4
Operations

If you were logged in you would be able to see more operations.
6. Second Life Snowglobe - SNOW

OGP Interop login/teleport

Created: 02/Sep/09 11:29 AM   Updated: 24/Sep/09 04:13 PM
Return to search
Component/s: Interop
Affects Version/s: Snowglobe 1.1
Fix Version/s: Snowglobe 1.2

File Attachments: 1. Text File OGP1_Snowglobe.txt (148 kB)
2. Text File SNOW-215-llstartup.patch (32 kB)
3. Text File SNOW-215-llstartupAndMac.patch (145 kB)
4. Text File SNOW-215-OGP-CodeCleanup.patch (127 kB)
5. Text File SNOW-215-OGP-InteropMenuMerov.patch (126 kB)
6. Text File SNOW-215-OGP-MenuChange.patch (148 kB)
7. Text File SNOW-215-OGP-Works-On-Mac.patch (33 kB)

Issue Links:
Relates
 

Last Triaged: 03/Sep/09 10:20 AM
Patch attached: Patch attached


 Description  « Hide
This patch is a port + some enhancements to the OGP login/teleport functionality contained in the OGP9 SVN branch.

Since it is such a large patch, I created a wiki page that gives an overview of the different areas affected, and I am always in #opensl IRC to discuss.

https://wiki.secondlife.com/wiki/User:Pixel_Gausman/Interop_Viewer

In addition to testing the OGP capability, it's actually more important that testers verify that I didn't break anything in the XML-RPC login path.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Rob Linden added a comment - 03/Sep/09 10:18 AM
Hi Pixel, this is great! The biggest worry with this code is make sure that this has a test plan, particularly with respect to non-OGP usage (current production grid). Test plan should include elements like region crossing, teleport, login, and avatar rezzing.

Pixel Gausman added a comment - 04/Sep/09 12:06 PM
I added a Test Plan to the wiki, focusing, as you suggested, Rob, on non-OGP testing.

https://wiki.secondlife.com/wiki/User:Pixel_Gausman/Interop_Viewer#Test_Plan


Merov Linden added a comment - 09/Sep/09 07:18 PM
Patch review: code seems OK and builds (Windows) though I have not tested it yet. There was numerous code convention issues so I cleaned up the whole thing and posted a new patch here (most had to do with proper use of LL_ENDL, use of brackets, comments typos). I modified a little the logic in only one file (actually, the logic is the same, I just condensed the writing).
I reviewed the OGP code itself pairing with Infinity so I think this is good. Last part of my review then will be to do a live test on vaak.

Pixel Gausman added a comment - 10/Sep/09 07:17 AM
Hi Merov,

Thanks for the patch review. I reviewed your new patch, including the logic 'slimming' change in llstartup.cpp. The changes look fine.

Apologies for the LL_ENDL, that fell off my radar.


Melinda Latynina added a comment - 10/Sep/09 02:27 PM
Proposal from the OS meeting was to expose the new functionality first under the Advanced menu since, as Pixel says "that's where new things typically get their feet wet".

Infinity Linden added a comment - 10/Sep/09 05:22 PM
fwiw.. there's a list of regions responding to OGP protocol at https://wiki.secondlife.com/wiki/Open_Grid_Public_Beta/Public_Regions . obviously, we (linden) can't claim responsibility for any of them but the ones we own.

Pixel Gausman added a comment - 11/Sep/09 12:24 PM - edited
This includes the patch Merov made plus it moves the "Teleport Region..." menu item from World to the Advanced menu in a new submenu called Interop.

I made these changes:
removed 'Teleport Region..." from menu_viewer.xml
removed the "teleport region" if stanza in handleevent in llviewermenu.cpp
removed the places where I enable/disable

added code to init_client_menu() to add the Interop submenu to Advanced menu

It actually ended up being slightly cleaner, I only add the Interop submenu to the Advanced menu if the viewer is running in OGP mode, instead of it always being there, and additionally removed the two places I was enabling/disabling the menu item.


Merov Linden added a comment - 11/Sep/09 06:39 PM
Hi Pixel,
Several problems:
  • I was able to use OGP and teleport and go through the whole testing with my modified patch. I realized though there was a problem in the login failure test: the error dialog was displayed twice. I fixed that in llstartup.cpp. This is what the SNOW-215-llstartup patch is whole about.
  • I tried your new patch but actually was not able to use OGP with that one. Not sure why
  • Also, with that last patch, I can't seem to find the location of the new Teleport... menu. Well, may be that's because it's hidden in the case OGP didn't work.
  • It also appear that the World menu has now 2 line separators down under where the menu item was previously. I think you need to take that one out and restore the old menu.
  • Last, the test plan says that in the case of OGP, the region combo box on the login screen is widen to accomodate for the long uri. Well, I certainly haven't seen that working, even with the older patch. Hmmm...

Looks like there's a little bit more work to do on that one. Details, details... Thanks for the heavy lifting on that one though. It's pretty close now and I hope we'll nail it and commit it next week.


Merov Linden added a comment - 11/Sep/09 06:40 PM
The llstartuppatch (didn't attach last time around...)

Arrogant Cyberstar added a comment - 13/Sep/09 05:14 PM
hmm.. i've been having some problems with some of these patches on the mac.

specifically, i tried applying pixel's SNOW-215-OGP-MenuChange.patch, then got some compilation errors.

fwiw, i'm able to build rev 2757 with no problems, and i've double checked i have the right versions of OS and XCode, so i don't think my problem is related to build environment.

specifically i get errors in llstartup.cpp on lines that assign an element of a mResult into a std::string. my guess is that gcc on the mac is mildly more strict than msvc as it reports that we're attempting ambiguous operator overloading.

to help the compiler out, i added a ".asString()" to the end of each of the offending lines and the compiler seems to be happy.

so what i did:

1. check out rev 2757, put the libraries in the right place, grab fmod, etc. etc. as documented on the wiki. i have a script that does this automagically at https://wiki.secondlife.com/wiki/User:Arrogant_Cyberstar/Compiling_Snowglobe_on_MacOSX if you're lazy.

2. apply SNOW-215-OGP-MenuChange.patch

3. cd to indra/newview, revert llstartup.cpp with the command:

svn revert llstartup.cpp

4. apply SNOW-215-OGP-Works-On-Mac.patch

5. continue building.

i also tried applying merov's llstartup patch, but after that it claimed to not know about the --ogp option, which seemed "bad." so... i haven't gotten it running on the mac with merov's llstartup fix yet.


Pixel Gausman added a comment - 14/Sep/09 12:58 PM
The attached patch combines Merov's and Arrogants patches with mine, gets rid of the extra menu separator.

Hi Arrogant,
Thank you so much for compiling the patch on Mac. That's really interesting that the Mac compiler fusses over the mResult now, because back in OGP9 days (a year ago), those statements compiled on Mac. I've added your .asString() changes. Maybe now I can convince my boss to get me a shiny new Mac.

Hi Merov,

  • I was shoving the patch out on a Friday afternoon, and didn't catch the added separator in the World menu. Thank you for catching that. My bad.
  • Thanks for the change to the innards of STATE_LOGIN_PROCESS_RESPONSE. That state in the startup sequence is now around 600 lines, I get lost in there.
  • The Interop submenu is only attached to the Advanced menu right under World if the -ogp flag is passed in. So you wouldn't see it during non-OGP usage.
  • I was probably unclear in the test plan on the visual difference to the login panel. The regionuri combo box is slightly wider than the non-OGP 'home,last.region' combo box. The combo box doesn't grow to accomodate a long uri, i was just trying to point out something in the test plan to allow testers to visually distinguish the OGP vs non-OGP login panel.
  • If you cannot get your OGP testing done with vaak, let me know. It will take some extra work, but we might be able to set up an agent domain and OGP regions that would be accessible from Linden's subnets.

Merov Linden added a comment - 14/Sep/09 04:37 PM
Hi all,
Great to see lots of activity on that one
Thanks for taking in my changes Pixel. Unfortunately, I still wasn't able to see the new "Interop" menu in my test, even when loading on vaak using ogp. I did the following modifs:
  • tweak llviewermenu.cpp so that the logic for "Interop" works the same as the one for "Advanced" or "Admin" (except of course the OGP mode is the trigger to view the menu)
  • use Ctrl-Alt-Shft 'R' instead of 'L' as a shortcut as 'L' is already used in the Admin menu (for Lock)

Attached is a patch (SNOW-215-OGP-InteropMenuMerov) with all your previous changes (SNOW-215-llstartupAndMac) + the changes to llviewermenu.cpp

I still need to check Mac though


Merov Linden added a comment - 14/Sep/09 04:49 PM
Just got pinged by Pixel on Twitter (how cool!). I'm really puzzled she could see the 'Interop' menu so I'm thinking I may have screwed up some with all those patches... Rebuilding her stuff from scratch and see what happens (still, my shortcut change still stands... )

Merov Linden added a comment - 14/Sep/09 05:36 PM
OK, I'm taking my change back: the Interop sub-menu does show in "Advanced". My bad...
The short cut should be changed though to avoid collision with the Admin menu.

Last: I can compile on Mac but haven't been able to run with --ogp from the command line: I get an "unknown option ogp". Apparently something missing on Mac for the command line parsing to work. Will explore further...


Merov Linden added a comment - 14/Sep/09 09:11 PM
OK, works on Mac. My patch is wrong wrt cmd_line.xml (I don't know why...) but reapplying Pixel's patch SNOW-215-llstartupAndMac worked. So, with the caveat of the short cut mentioned here under, I'm stamping that one "good to go".
Waiting for Pixel's comment before committing it in Snowglobe and resolving that PJIRA record.
Thanks again to Arrogant and Pixel for the interactive discussion.

Pixel Gausman added a comment - 15/Sep/09 05:35 AM
OK. Hit the giant red button and commit.

Thanks for such prompt attention on this, Merov.


Pixel Gausman added a comment - 15/Sep/09 09:01 AM
Also, I've updated https://wiki.secondlife.com/wiki/User:Pixel_Gausman/Interop_Viewer#Test_Plan to reflect the new shortcut, and also clarified the size of the Start Location combo box for OGP vs non-OGP usage.

Rob Linden added a comment - 15/Sep/09 02:02 PM
Hi Pixel, a couple of pieces of housekeeping we noticed:
1. Several spots in the code have this:
//Copyright International Business Machines Corporation 2008-9

The placement of this under the license makes it look like the IBM's contribution isn't under the same license as the rest of the code, which I'm assuming isn't the intent. IBM still holds joint copyright (since the contrib agreement is joint copyright), so we don't need to nuke the notice. Unfortunately, we can't really put the notice inside the $LicenseInfo$ block because it'll get nuked the next time we run the date replacement script over the top of everything.

So, my suggestion is that we just add the following on all of the files you submitted:

//Contributed to Linden Research, Inc. under the Second Life Viewer Contribution
//Agreement and licensed as above.

Mind if we do this before committing?

2. You didn't credit yourself in doc/contributions.txt. We'll add you in there. Anyone else we need to credit?


Pixel Gausman added a comment - 15/Sep/09 02:45 PM
Hi Robla,

The clarification to the copyright statement sounds appropriate. IBM did not intend to contribute this code under a different license than the standard SL Viewer Contribution Agreement.

Leyla (LL employee) did some of the initial login coding, but all the rest of it you can blame on me.


lindenrobot added a comment - 17/Sep/09 01:50 PM
Revision 2771 by merov.linden on 2009-09-17 15:50:24 -0500 (Thu, 17 Sep 2009)

SNOW-215: OGP Interop login/teleport. Note: need to start with "--ogp" to get the feature to show up. See https://wiki.secondlife.com/wiki/User:Pixel_Gausman/Interop_Viewer. Patch by Pixel Gausman. Reviewed by Merov Linden.

Files affected:
U projects/2009/snowglobe/trunk/doc/contributions.txt
U projects/2009/snowglobe/trunk/indra/newview/CMakeLists.txt
U projects/2009/snowglobe/trunk/indra/newview/app_settings/cmd_line.xml
U projects/2009/snowglobe/trunk/indra/newview/app_settings/settings.xml
U projects/2009/snowglobe/trunk/indra/newview/llagent.cpp
U projects/2009/snowglobe/trunk/indra/newview/llagent.h
U projects/2009/snowglobe/trunk/indra/newview/llappviewer.cpp
U projects/2009/snowglobe/trunk/indra/newview/llappviewer.h
U projects/2009/snowglobe/trunk/indra/newview/lleventpoll.cpp
U projects/2009/snowglobe/trunk/indra/newview/lleventpoll.h
U projects/2009/snowglobe/trunk/indra/newview/llfloatercustomize.cpp
A projects/2009/snowglobe/trunk/indra/newview/llfloaterteleport.cpp
A projects/2009/snowglobe/trunk/indra/newview/llfloaterteleport.h
U projects/2009/snowglobe/trunk/indra/newview/llinventorymodel.cpp
U projects/2009/snowglobe/trunk/indra/newview/llinventorymodel.h
U projects/2009/snowglobe/trunk/indra/newview/llpanellogin.cpp
U projects/2009/snowglobe/trunk/indra/newview/llstartup.cpp
U projects/2009/snowglobe/trunk/indra/newview/llstartup.h
U projects/2009/snowglobe/trunk/indra/newview/llurlhistory.cpp
U projects/2009/snowglobe/trunk/indra/newview/llurlhistory.h
U projects/2009/snowglobe/trunk/indra/newview/lluserauth.cpp
U projects/2009/snowglobe/trunk/indra/newview/lluserauth.h
U projects/2009/snowglobe/trunk/indra/newview/llviewerdisplay.cpp
U projects/2009/snowglobe/trunk/indra/newview/llviewerinventory.cpp
U projects/2009/snowglobe/trunk/indra/newview/llviewermenu.cpp
U projects/2009/snowglobe/trunk/indra/newview/llviewermessage.cpp
U projects/2009/snowglobe/trunk/indra/newview/llviewerregion.cpp
A projects/2009/snowglobe/trunk/indra/newview/skins/default/xui/en-us/floater_teleport.xml
U projects/2009/snowglobe/trunk/indra/newview/skins/default/xui/en-us/panel_login.xml