Difference between revisions of "PyOGP"

From Second Life Wiki
Jump to navigation Jump to search
Line 29: Line 29:


Been quiet lately. We are undertaking a refactor per: https://lists.secondlife.com/pipermail/pyogp/2009-July/000226.html.
Been quiet lately. We are undertaking a refactor per: https://lists.secondlife.com/pipermail/pyogp/2009-July/000226.html.
   
  pyogp.apps Dev: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.apps/trunk
  pyogp.lib.base Dev: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/trunk
  buildout Dev: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/buildouts/libdev/trunk


The last stable checkout is:
   pyogp.apps Stable: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.apps/tags/0.1
   URL: https://svn.secondlife.com/svn/linden/projects/2008/pyogp
   pyogp.lib.base Stable: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/tags/0.1
   Repository Root: https://svn.secondlife.com/svn/linden
   buildout Stable: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/buildouts/libdev/tags/0.1
   Repository UUID: a6265765-422e-0410-accc-9fb60e44a920
  Revision: 2596
  Node Kind: directory
  Schedule: normal
  Last Changed Author: kotler.linden
  Last Changed Rev: 2595
  Last Changed Date: 2009-08-10 14:51:57 -0700 (Mon, 10 Aug 2009)


Keep track of progress on the list: https://lists.secondlife.com/cgi-bin/mailman/listinfo/pyogp.
Keep track of progress on the list: https://lists.secondlife.com/cgi-bin/mailman/listinfo/pyogp.

Revision as of 23:10, 24 August 2009

Overview

What Is It?

Pyogp is an open source project between Linden Lab and the Architecture Working Group (AWG) to support testing the Open Grid Protocol (OGP). Written in Python, Pyogp will consist initially of a client library and test functionality to enable testing OGP-enabled virtual worlds such as Second Life and compatible OpenSim implementations. These components will expand as the effort matures.

PyOGP could be useful for:

  • checking your software's compliance with the OGP
  • quickly writing tests for software which communicates using LLMessageSystem-like messages
  • demonstrating protocol proposals

Getting Started

See PyOGP Client Library Development Sandbox for instructions on how to starting using Pyogp. See also PyOGP Client Library for a more up-to-date page.

How To Contribute

Project Status

Been quiet lately. We are undertaking a refactor per: https://lists.secondlife.com/pipermail/pyogp/2009-July/000226.html.

 pyogp.apps Dev: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.apps/trunk 
 pyogp.lib.base Dev: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/trunk
 buildout Dev: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/buildouts/libdev/trunk 
 pyogp.apps Stable: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.apps/tags/0.1 
 pyogp.lib.base Stable: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/pyogp.lib.base/tags/0.1 
 buildout Stable: https://svn.secondlife.com/svn/linden/projects/2008/pyogp/buildouts/libdev/tags/0.1 

Keep track of progress on the list: https://lists.secondlife.com/cgi-bin/mailman/listinfo/pyogp.

Pic of the Moment

the EnusBots are coming!

Image used with permission. Taken by Opensource Obscure. (thanks oo! <3)

Licensing

Contributions to Pyogp are subject to Linden Lab's contributor agreement. The Pyogp open source code is made available subject to the Apache v2 license. Read more at opensource.org and apache.org.

 <excerpt>
 Copyright 2008, Linden Research, Inc.
 
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. </excerpt>

History

Linden Lab and the AWG (in-world discussion group page) are working together to develop a set of open protocols called the Open Grid Protocol that can be used to create a virtual world where regions are independently operated (not only by Linden Lab). The project is aiming to allow people (organizations, individuals, and the like) to host their own regions in the virtual world and be able to interact and communicate with people in regions hosted elsewhere. In essence, the project's goal is to allow open-source region hosting.

AWG and Linden Lab plan to share the effort in writing a test harness that executes tests against implementations of the Open Grid Protocol.

The intent is not to test SL or OpenSim (or gridX) themselves. Rather, the desire is to create a framework where the implementations of the protocols can be tested in any virtual environment implemented per the Open Grid Protocols as documented. The goal is to use the test harness to test the implementations to make sure that the virtual environment is interoperable with the other virtual environments that have implemented the OGP. However, we also plan to test the current SL protocols (the Legacy protocols). We plan to be able to test at the smallest functional level possible, akin to unit testing, and to have the ability to use the framework to sequence steps to enable state specific tests to be run.

The longer-term vision is essentially a client library, capable of navigating the grid and interacting with the various hosts, sitting next to a testing framework, happily running along telling us what works where, and where something needs a little attention to work according to specification...

For more detail on OGP, see a visual representation of the upcoming projects and a general introduction.

Notes from the kickoff meeting

At the AWG meeting held April 29, 2008, we discussed what a test harness could look like that would be used to test the agent-domain, rez-avatar, and overall work being done implementing the open grid protocols. I'd like to summarize, and continue the discussion on the mailing list, in-world, and on the wiki. See meeting chat log.

How do we start?

Let's work on defining the test harness components (from the meeting):

  1. Login
  2. Caps (and while it's around the UDP pipe)
  3. Message Handlers (see chttp)
  4. Basic web server parts for the Agent, Region and grid bits (ideally a snap in framework)
  5. Test framework
  6. Test data (I put this here, not really as a component of the harness, more as a "i'm not telling you my test account's password and what are we gonna do about it" thing)

Python seems to be the flavor of choice here, with a requirement that it accommodate non-python components as needed. The repository for the code is proposed to be maintained by Linden Lab, distributed as an open source export, under the Apache v2 License (see http://opensource.org/licenses/apache2.0.php). The process and details here are tentative, and need more attention...

There is plenty to be figured out. How to start, who wants to play, details are all TBD. My role is primarily intended as one who will facilitate dialogue and contribute as much as possible, but this is intended as a joint effort.

-- Enus Linden