[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[orion-dev] Firebug integration
|
I've played around with two approaches to Firebug - Orion integration:
open Orion editor in a new Firefox window
Orion Firebug panel.
Neither one is great so I'm trying to figure out how to make progress.
The new window version gives the same result you get from clicking on a
link in the navigation-table page. Except worse because you don't have
the navigation table page open and you have a new window to deal with.
From the integration point of view, this path seems like a dead end:
the thing that is in the window is some complicated dojo application not
a component that can be talked to. (I'm basing this on trying to read
the code, I didn't find any docs). However, the editor is fully functional.
The Orion panel has the opposite properties. (It's based on Andrew
Niefer's 'Embedding the Orion Editor' example). Firebug provides the
navigation part and the Firebug panel UI deals with screen management.
I'm able to read the editor code and, eg hook the change events to a
Firebug Save button to PUT changes back to the server. But the editor
has only character-level functionality. I haven't yet figured out how
to get the keybindings to work.
I guess there must be a layer between these two points? I'd like to have
the panel editor to act exactly like the web page editor except without
the toolbar and with hooks I can use to connect to firebug.
Just as a bit of background, the Firebug panel is a div in an html
document. If you use Firebug detached you can size the window just like
a web page. The main user experience differences will be around
navigation: in panel will feel like an editor-in-debugger while web page
will feel like a editor connected to a debugger.
Architecturally both the choices above are similar for Firebug: the
editor lives in a separate window from the Firebug code. At the coding
level the panel solution is much easier because Firebug has an extensive
framework to deal with its panel documents. However it does mean that
the code needs to behave itself and stay within it's div, something the
current embedding does wonderfully.
Any suggestions welcome.
jjb