Verbosio progress, 04/26/2007

It’s meat and potatoes time.

As I’ve mentioned in earlier posts, I’ve spent some time creating a “preview” or rendered view of a XML document the user is editing:

Of course, seeing the document alone is no fun. You want to be able to edit it. That’s what Verbosio is for.

So let’s say you hit Ctrl+E (right now you have to click) on the selected menu item. What do you get? How about, oh, an interface for changing that menu item’s properties?

This is what I’ve been dreaming of for the last year and a half: a way to edit XUL on the fly, visually. (Of course, it’s not just XUL – not in the long run. XUL’s simply what I chose to work with first.)

It’s also supporting my vision for Verbosio: having extensions drive most of the work, while Verbosio handles the common tasks. The preview viewer is provided by a Verbosio extension. The yellow box is provided by Verbosio’s core, while its contents (the “XML markup template”) come from another Verbosio extension. Support for the document you see comes from the same Verbosio extension as the markup template, a XUL language extension. The XUL language extension also provides some metadata about the XUL language in another component (including some basics about how to handle whitespace). Another extension told Verbosio how to open the chrome application the user is editing.

This is a starting point. I’m going to expand it soon, so that you can:

  • Work with sets of elements (like radio buttons inside a radio group, or cells in a table)
  • Build your own templates within Verbosio, using documents you have open in Verbosio
  • Edit DTD localization entities underneath the labels you see
  • Create templates for creating new documents in supported XML languages from scratch

Sometime after that – once I fix other API issues and some pretty important regressions – I’ll release Verbosio 0.1 alpha 1. My changelog is in the extended entry.

In the meantime, I’m also very aware of the need to get other eyes on the code behind Verbosio. Just recently, Paul Rouget borrowed my chrome registry viewer code for his CodeEditor tool. That to me is a solid vindication of what I’ve been trying to do.

At the same time, the entire Verbosio code base is unreviewed and only partially documented. Sooner or later, I’m going to need volunteers who are willing to work with Verbosio – and me – and improve the hackety-hack code I’m crafting from scratch. Very little of this code, as it now stands, would pass any realistic peer review. So I will start asking, as of now, if other people want to directly involve themselves in the Verbosio project over the next few months.

I just want fellow developers to start thinking about it. I couldn’t really do that before, because it’s so hard to put into words what Verbosio is all about. Now, hopefully with the screenshots above, the vision can become clearer.

For now, though… the steak’s on the barbecue.

2007-04-26 21:42  ajvincent
* verbosio/www/screenshots.html: Add screenshots for April 26, 2007
to Verbosio's screenshots page.
2007-04-26 20:41  ajvincent
* verbosio/www/images/Apr26_2007/: menuitemEdit.png,
previewPanel.png: Add screenshots of the preview view of the
document, and a first look at the XUL menuitem editing template.
2007-04-26 17:05  ajvincent
* verbosio/src/: core/components/templateXTF.js,
core/content/template.css,
generic-viewers/preview-edit/content/preview-edit.js,
generic-viewers/preview-edit/content/preview-edit.xul,
markup-languages/xul/content/templates.xml: More samples of a XML
markup template at work.  More!  (Also remove an assert that
proved inappropriate.)
2007-04-26 16:34  ajvincent
* verbosio/src/: core/components/templateXTF.js,
core/content/templateFrame.xul,
core/content/bindings/template.xml,
core/idl/xeIMarkupLanguage.idl, misc/uuid.txt: More XML markup
template commits:  Implement setting of template UI fields from a
source node.	Implement  element for read-only
templates. Also add basic code (unsupported as yet) for
,  elements.
2007-04-26 16:12  ajvincent
* verbosio/src/core/app-resources/ecma-debug.js: Add stack dumping
to the assert function.
2007-04-25 20:40  ajvincent
* verbosio/src/core/content/: appOverlay.js, appOverlay.xul: Add
code to open testing app's chrome://verbosio/content/verbosio.xul
for faster testing.
2007-04-25 20:37  ajvincent
* verbosio/src/core/: chrome.manifest.in,
content/bindings/menudeck.xml: Override the XUL Widgets menudeck
widget to wallpaper over a trunk regression.	Expect this change
to be backed out in the future.
2007-04-24 22:21  ajvincent
*
verbosio/src/generic-viewers/preview-edit/content/preview-edit.js:
Drop debugging dump statements.
2007-04-24 22:16  ajvincent
*
verbosio/src/generic-viewers/preview-edit/content/preview-edit.js:
Fix Mac bustage, where floatBox doesn't appear onscreen close to
the target element 

high-frequency, urinary disorders (LUTS) secondary to an increase in the resistance to the flow ofprostatic hyperplasia severe and/or rebels from along the elderly and middle-age, who have low levels of testosterone. buy cialis.

Safety Postmarketing Sildenafil citrate (Viagra) buy levitra online In the USA, the Massachusetts Male Aging Study, reported.

J. Urol. 159: 1390-1393 canadian viagra factors. It is noteworthy that erectile dysfunction might not.

options with patient viagra without prescription The primary efficacy endpoints were responses to Questions 3 and 4 of this IIEF questionnaire, which assessed ‘how often the subject was able to penetrate his partner’ and ‘how often the subject was able to maintain the erection after penetration’..

Important aspects to consider viagra 100mg cardiovascular diseases such as aortic stenosis should.

epidemiological and clinical trial data.a life-threatening disease. Consequently, it is reasonable to viagra pill price.

. 2007-04-24 00:15 ajvincent * verbosio/src/generic-viewers/preview-edit/content/preview-edit.js: Hide floating templates frame when the preview editor loses focus. 2007-04-24 00:06 ajvincent * verbosio/src/: generic-viewers/preview-edit/content/preview-edit.js, core/content/templateFrame.xul: Add API for viewing markup templates, based on the wrapped document the user wishes to edit. 2007-04-24 00:04 ajvincent * verbosio/src/core/content/template.css: Remove some currently dead XBL bindings. 2007-04-24 00:04 ajvincent * verbosio/src/generic-viewers/preview-edit/content/preview-edit.xul: Give the template iframe some style (height, width). 2007-04-24 00:03 ajvincent * verbosio/src/markup-languages/xul/content/templates.xml: Markup template elements should have a menulabel element, in order to fit with widget. 2007-04-24 00:02 ajvincent * verbosio/src/core/components/templateXTF.js: Implement nsIXTFElement.cloneState for . 2007-04-23 18:35 ajvincent * verbosio/src/core/components/xeTestEngine.js: Add XUL doc test 2 to xeITestEngine.runAllTests(). 2007-04-23 18:28 ajvincent * verbosio/src/: core/components/templateXTF.js, core/idl/xeIXMLLanguagePackService.idl, markup-languages/xul/components/xul-language.js, misc/uuid.txt: Add Verbosio markup template language pack. Add routines to xeIMarkupTemplate.rateSupport for initial checking of a node against its equivalent template. This includes a whitespaceMap object which caches results from various xeIXMLLanguagePackService.handleWhitespace() calls. 2007-04-23 18:00 ajvincent * verbosio/src/misc/component.js.in: Multi-component JavaScript module template: Support service factories a little easier, by removing the need for Service.prototype; just use a global service object, and Module.addService(). 2007-04-23 13:33 ajvincent * verbosio/src/: code-languages/css/components/css-document.js, code-languages/css/components/css-language.js, code-languages/javascript/components/js-document.js, code-languages/javascript/components/jsLanguagePack.js, code-languages/javascript/components/jsSourceMap.js, code-languages/xul-application/components/application-ini.js, core/components/DTDDocumentWrapper.js, core/components/XMLDocumentWrapper.js, core/components/documentFile.js, core/components/entityManager.js, core/components/nodePositionService.js, core/components/templateXTF.js, core/components/textDocumentWrapper.js, core/components/verbosio-utils.js, core/components/verbosioEditor.js, core/components/virtualProtocol.js, core/components/xblLanguagePack.js, core/components/xeBaseURIMap.js, core/components/xeFileSearch.js, core/components/xeTestEngine.js, core/components/xmlLanguagePack.js, core/content/bindings/valuepanel.xml, core/content/tools/xeTransactionCommon.js, document-packs/verbosio-app/components/verbosio-app.js, document-packs/xul-application/components/xul-application.js, generic-viewers/inspector/content/inspectorOverlay.js, generic-viewers/source-edit/content/bindings/source-editor.xml, markup-languages/xul/components/xul-document.js, markup-languages/xul/components/xul-language.js, misc/component.js.in, xpathgen/components/nsXPathGenerator.js: QueryInterface cleanup. 2007-04-22 14:29 ajvincent * verbosio/src/core/components/xeTestEngine.js: Add initial test code framework for markup templates. 2007-04-21 14:32 ajvincent * verbosio/src/generic-viewers/preview-edit/content/preview-edit.js: Get templates corresponding to a DOM node the user selects. 2007-04-21 14:31 ajvincent * verbosio/src/: core/components/templateXTF.js, core/components/verbosio-utils.js, core/idl/xeIMarkupLanguage.idl, core/idl/xeIVerbosioUtilsService.idl, misc/uuid.txt: Add initial support for searching Verbosio's markup language templates against a selected DOM node. 2007-04-21 14:21 ajvincent * verbosio/src/core/content/: verbosio.js, tools/namespaceRegistry.js: Rewrite namespace registry to reflect more recent API, and use Verbosio utilities service. 2007-04-21 14:19 ajvincent * verbosio/src/markup-languages/xul/content/templates.xml: Reduce cruft in templates.xml to immediately testable levels. I'm moving the markup language bindings to XTF and almost starting over. 2007-04-21 14:17 ajvincent * verbosio/src/markup-languages/xul/verbosio-data.xml: Minor bugs in verbosio-data.xml for XUL language extension. 2007-04-21 14:15 ajvincent * verbosio/src/core/components/entityManager.js: Entity manager was calling for Verbosio utilities a little too soon. 2007-04-21 10:03 ajvincent * verbosio/src/generic-viewers/preview-edit/content/preview-edit.js: Minor adjustments to floatBox: use click events instead of mousemove (we should really make this selection-dependent), and bail out if the target node hasn't changed from the last such event. 2007-04-21 09:55 ajvincent * verbosio/src/: core/components/templateXTF.js, misc/uuid.txt: Initial check-in of XTF binding for XML elements in the markup namespace. 2007-04-17 23:24 ajvincent * verbosio/src/: core/content/templateFrame.xul, generic-viewers/preview-edit/content/preview-edit.js, generic-viewers/preview-edit/content/preview-edit.xul, generic-viewers/preview-edit/skin/preview-edit/preview-edit.css: Lay groundwork for positioned editing templates. Thanks to bzbarsky for suggesting iframe inside box.

One thought on “Verbosio progress, 04/26/2007”

Comments are closed.