The current state of things:
1. Git repository
I have made changes to the BITE repository for better development
processes. I have changed it to use a three tier branch system.
master - This will contain the latest release version of the code.
This is what most people will pull from.
staging - This will contain changes that need testing before being
pushed to master. Most of the time staging and master will be the
same.
dev- This repository will always be in flux and may not always work as
development rolls ahead on the system. When issue fixes or useful
chunks of code that we want pushed to the community are ready, the
code will be pushed to staging.
2. v1.0.0.0
With some fixes to the extension, pushing of the server, and updates
to the build.py to make it more cross-platform, I decided to create a
tag of the original BITE open source code. The tag was designated
v1.0.0.0. A zip of the code was also made and is available under
downloads. There is also a zip where I had already downloaded the
dependencies as some people had problems access the repositories for
the dependencies due to firewall issues.
3. Repo structure
I am currently in the process of changing the structure of the
repository. I have already reworked most of the extension code under
a set of general categories.
extension- This where code specific to the extension resides.
server- This where code specific to the server resides. (currently
not refactored)
common- This is where code used between all the tools and the
extension/server reside.
tools- This is where tools used by the extension reside. This folder
will be used to add tool dependencies as BITE grows.
tools/bugs- This is where code related to bug filing, overlays, and
details reside.
tools/rpf- This is where code related to the record and playback
framework reside.
Under command and each tool, their folder will be split into extension
and server (and potentially common later). This allows all code
related to that tool to reside in the same place. This will
facilitate an easy move in the future if we split the tools into the
own repositories. And makes development for these tools easier.
Current work- I am working on refactoring the bugs server code into
tools/bugs/server. This code is in a local branch and has not been
merged with dev yet as it is incomplete as of this writing.
4. Build
I changed the build file to make it easier to develop. In general,
downloaded dependencies go in a deps folder. All compiled code goes
in the genfiles folder, and extension and server bundles go in the
output folder. If I make a specific change I can delete the
appropriate compiled file and only it will be recompiled. Likewise,
if I want to update a dependency, just delete it and rebuild.
I have added more detailed information to the building wiki as part of
the "Update to doc coming soon" section.
I have tested the build on
Ubuntu Linux (python2.7)
Mac 10.7(python2.7)
Windows XP command line (python2.7) - Something is wrong with my
mercurial paths, so have to run that manually.
I have tested with python 3.2.2 on Windows XP and Mac, and the build
script does not work.
5. State of BITE
The current release version of BITE will build as specified above, and
can be loaded in Chrome. There was a modification to the default
server url to point at a server we created for people to test out
their versions of the extension called bite-playground.appspot.com.
NOTE: This server is not intended for people to use for their work and
has not guarantee of privacy or persistence of data over time. I can
wipe the datastore at any point, and look at what is in the datastore.
The AppEngine server code is also working for the most part and can be
pushed to your own AppEngine application by downloading the AppEngine
sdk and running
"appcfg.py -V {version_name} -A {application_name} update output/
server"
Once I have a stable version of the server where all the expected
features are working, I will then create a release, staging, and dev
version of the server push out our changes for people to test.
5a. State of BITE tools - RPF
RPF seems to be working ok. I have not tested saving, loading, and
replaying of RPF scripts. But the main interface and recording and
immediate playback seem to work. This code is largely untested.
5b. State of BITE tools - Bugs
So far I have only been working with filing bugs as the datastore does
not contain any bugs. I have been finding issues filing a new bug
when the datastore is empty and certain information is missing. I
have been fixing these issues as I find them as noted in other
discussions on this group. Bug filing should work all the way up to
pressing the "Bug it" button. However, while it appears to file a
bug; no bug is actually filed.
I will add a status to let people know and what I will be working on
next.
6. Wiki pages
We are still working on the server handlers information; i.e. bringing
it up to date. In that attempt, we have polluted the wiki with a ton
of pages. We will be resolving this issue in the near term to make
the wiki cleaner and easier to look stuff up. I have had little wiki
experience so it will take some time as I experiment with it.