Difference between revisions of "Pyogp Client Lib"

From Second Life Wiki
Jump to navigation Jump to search
(Pyogp/Client Lib has been moved, it is now a redirect to PyOGP Client Library)
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
This page is dedicated to the client library aspect of the Pyogp project. The more general page is [[AWG_Test_Harness]]
#redirect [[PyOGP Client Library]]
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
** [http://www.muthukadan.net/docs/zca.html 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| Interop Live Protocol]] - Current Interop project status, aka, what the beta agent domain has working
*[http://pysecondlife.googlecode.com/svn/pyogp/pyogp.lib.base/trunk: Tao Takashi's Pyogp] - svn repo - Tao Takashi has hit the ground running with an experimental framework which has been made available [http://code.google.com/p/pysecondlife/ here].
**Read more at his blogpost describing the start of his work at his very long [http://mrtopf.de/blog/secondlife/worldofsl/setting-up-a-framework-for-a-python-implementation-of-the-open-grid-protocol-technical url].
*[https://svn.secondlife.com/svn/linden/projects/2008/pyogp/ Linden Pyogp] - svn repo of Linden's first stab at framework
**[https://svn.secondlife.com/svn/linden/projects/2008/pyogp/examples/pyogp.lib-login.py 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...
*[[Presence_Code_Python| Sai's Presence]] and [[Presence_Code_Python_cmd_line| Sai's Presence_cmd_line]] - Saijanai Kuhn's first attempts at some Python presence
* [http://zhaewry.wordpress.com/2008/06/05/happy-jumpy-ruths-interop-takes-a-step/ Interop Ruths] - some 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.
#Pre-project Tasks
#*Determine whether to [http://www.muthukadan.net/docs/zca.html 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 [http://pypi.python.org/pypi/zc.buildout/1.0.0b30 buildout]
#*Decide whether to [http://docs.python.org/lib/module-doctest.html doctest] or not to doctest. We are certainly planning to use [http://docs.python.org/lib/module-unittest.html unittest]
#Develop requirements specification - let's first get an idea of what it is, exactly, that we want to build
#*Requirements
#*Use cases - these might help to identify how the lib might be used by someone
#*Identify target audience and the corresponding limitations - this project is not meant solely for Linden Lab, so we should identify we could use it and how they may use it
#Design the structure of the code according to the spec
#Implement the design
#*Determine how to distribute the code so nobody's toes hurt and no elbows bumped

Latest revision as of 12:53, 14 May 2009