Pyogp Client Lib
Revision as of 05:43, 26 June 2008 by Locklainn Linden (talk | contribs)
This page is dedicated to the client library aspect of the Pyogp project. The more general page is AWG_Test_Harness This page is in progress and so may be incomplete and some information may be incorrect at this point.
Overview
The longer term vision of the Pyogp project is essentially to create 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...
Documentation
- AWG_Test_Harness_Intro
- Current Protocols
- Current_login_protocols - what login is like now
- OGP Protocols
- SLGOGP_Draft_1 - the outline of the OGP protocols
- SLGOGP_Teleport_Strawman - what login may be like
- Second_Life_Login_API_Strawman - what login may be like
- General Messaging
- Second_Life_Grid_Protocols/Foundation - general protocol information
- Protocol - this is general information about messaging and the various protocol systems
- Eventlet - a networking library written in Python, probably going to be used for this project
- Circuit - the way to pass two-way information along a UDP connection
- Message - more detail of messages
- Reverse_HTTP - I believe this is used (or will be) in the OGP protocols
- Coding notes
- ZCA Guide - ZCA that the lib project will be using
Components (and supporting environmental details)
These are the currently envisioned components.
- Login
- The beta grid has an agent domain login accessible at https://login1.aditi.lindenlab.com/cgi-bin/auth.cgi
- Parameters = firstname, lastname, password (or md5-password as '$1$' + md5-hash)
- Regionuri list (log into the agent domain running on aditi, show up on vaak!). Use the regionuri parameter in viewers built from http://svn.secondlife.com/trac/linden/browser/branches/agent-domain-2
- http://sim1.vaak.lindenlab.com:13000 Dore
- http://sim1.vaak.lindenlab.com:13001 Card
- http://sim1.vaak.lindenlab.com:13002 Grigiano
- http://sim1.vaak.lindenlab.com:12035 Island for Misfit Toys
- http://sim2.vaak.lindenlab.com:12035 Ahern
- http://sim2.vaak.lindenlab.com:13000 Miramare
- http://sim2.vaak.lindenlab.com:13001 Morris
- Caps (and while it's around the UDP pipe)
- Message Handlers (see chttp)
- Basic web server parts for the Agent, Region and grid bits (ideally a snap in framework)
Status
- Interop Live Protocol - Current Interop project status, aka, what the beta agent domain has working
- Tao Takashi's Pyogp - svn repo - Tao Takashi has hit the ground running with an experimental framework which has been made available here.
- Read more at his blogpost describing the start of his work at his very long url.
- Linden Pyogp - svn repo of Linden's first stab at framework
- pyogp.lib-login.py - sample script which logs into aditi's agent domain and establishes a presence on a simulator on vaak:
- Disclaimer*: Everything in the repo now will change dramatically in the next few weeks as things firm up structure wise. My desires for the work include: a simple, well defined library, a separate test framework (unittest, the initial high level code to be added this week), an samples/examples sandbox, and clean well commented code. That said, none of the above are in place now. They will be. More sophisticated implementations can evolve over time, or can be included on the side of the library...
- Interop Ruths - something news that may be of interest to us
Plan
Task list for the client library. These may get PJIRA tasks someday, or some other format we decide upon.
- Determine whether to ZCA or not to ZCA - ZCA enables flexibility via modularity with a component based framework. The intent would be to incorporate this into the library, while the test harness bits would remain 'stock' python. Tao Takashi will extend his initial attempt at this one for AWG and LL to review early next week.
- Decide whether or not to incorporate buildout
- Decide whether to doctest or not to doctest. We are certainly planning to use unittest
- Determine how to handle test data. I imagine we'll build a template and interface to an implementation of the template, and leave contents up to the developer.