Tuesday, June 13, 2006

Week 2: Configuring OS X

Today, I finished setting up our Trac server and configured it to run on boot. There were a few Gotchas:
  • I can't run Trac through mod_python, because of some strange OS X bug. It's a known issue, and I left a comment on Trac bug #2629 to let them know that it's still broken with recent versions of PySqlite.
  • I tried to get Apache to rewrite all requests on port 80 to our Trac server - intending to "mount" tracd on /trac, and redirect / to /trac until we have something better - but it didn't work. Here is my current attempt:

    RewriteEngine on
    RewriteRule ^/(.*) http://twowayweb.rit.edu:9000/twowayweb/$1 [R]

  • The first time I loaded it, I forgot to use "launchctl load -w" to make sure it started at the next reboot - oops. It's working now.
  • Drat, I just noticed that Login is broken. I'll fix it tomorrow.
Subversion and Apache are also loading on boot, but twowayweb isn't; it probably still deadlocks under heavy load, so I don't want to run it as a system process until we can reliably restart it automatically.

For that matter, I want to simulate high load on demand, without getting 30 people in one place to move windows around willy-nilly. Unfortunately, I don't think traditional tools like siege would apply, because as far as I can tell, the problem is triggered by too much javascript action.

A browser-driver like Selenium might work, but I'd rather use something I can drive from the command-line... I remember reading about a no-output X server that could be used to launch Firefox (or whatever) sessions without cluttering the display. That might be just what I need, along with an automatic driver.

The other problem with Selenium is that it's missing a few events, most notably doubleclick and drag. I'm sure we could add them if it's worth it, but it might not be.

In short, I want a javascript-capable program-driven web browser.

In other news, I'm almost done with a drop-in WYSIWYG replacement for the current text editor. As far as I can tell, there are only a few issues remaining:
  • Since the editor overlays the current panel rather than making another floating one, we need a new way to close editors.
  • Several of our javascripts redefine the $() function. I want to get DRY again as soon as possible.
  • When open in TinyMCE, text appears much smaller than when the editor is closed:

  • TwoWayweb's "clone" function currently obliterates the innerHTML of its target element, but my integraton of TinyMCE requires another nested DIV around a panel's contents. Clone needs to be fixed to reflect this.
  • Finally, people might want to edit raw HTML from TinyMCE -- I should re-enable the 'code' button.
That's it for now; i'm going home. I might get my Macbook in time to bring it in tomorrow, but I suspect I'll have to wait until Thursday.

1 Comments:

At 12:34 PM, Blogger jonschull said...

re simulating high load.
in firefox you can save and open a set of tabs as a suite. So create a suite of 30 tags pointing to 2way web....

I appreciate the links to trac

re closing the editor, clicking outside would be fine ....

There is a recent python recipe for port forwarding

 

Post a Comment

<< Home