Buzz 0.9
In IE and Mozilla this document is interactive. Click on titles to expand/collapse
Other Renderings of this Document
Userland
Black and White
Color (Best in Mozilla or Konqueror)
ScreenShots
Linux
linbuzz.jpg
Windows
winbuzz.jpg
What does Buzz do?
Outlines
Outlines can be imported and exported from:
Windows
Word
Directly as word html format
View as an outline to see the tree
Powerpoint
Via Word 97 Outline Format
Excel
Via XSL Rendering (csv.xsl)
IPAQ
List Pro
Palm
Shadow Planner
HTML
Static and Active Documents
Like this Page!
XML Decision Trees
Text
Arbitrary Text Files with indentation
Buzz contains cross file (cross internet) xml search, XLINK and link
This is coded as an external command also:
xsearch "something to search for" "filename" "casesensitive(0 or 1)"
This will recursively search and create a set of xlinks into the web
caveat coder: There is no depth limit
It supports the subset of xlinks where the path elements are referenced by offset only
This currently only works under linux with the sabcmd secondary to speed considerations
Outlines are syntactically compatible with Userland
Buzz and Userland have overlapping functionality.
With Peerkat and Buzz one can have Userland functionality on Linux or anywhere Python runs
Outlines can be editted in structured manner or free form (text edittor)
XML
Buzz can create its schema by example. Give it a set of files and it will produce a schema
Complete with values for the attributes
XML can be transformed to multiple modalities using XSL
EG Export you XML as a spreadsheet, Bibliography,
XSL
Buzz has a schema for XSL and supports accurate white space preservation
Buzz can export,import save and send to the browser any xml file passed thru XSL
For example Buzz renders to HTML using the format you see here but
you can render using many formats including the "standard" Userland formats
Choose render to browser and then the opml2smart.xsl file
Buzz can pass xml thru xsl:fo via FOP
HTML
Buzz has a schema for html/ xhtml
Speed
Buzz is faster than Userland, Xeena and JOE by 2-10 times
The 3000 line Buzz source OPML file takes 15 seconds to load in Userland on a PIII 650
The same file takes 1.5-2 seconds in Buzz
Interacting with XML on the Web
I use Buzz to do all my Pubmed queries in XML
You can exchange them with Endnote via the XSL rendering facilities
You can do RSS queries and view the results in Buzz and render them with XSL to a browser
Talk to a Manila XMLRPC server
Writing Python Code
Buzz was written in Buzz
What is Buzz really?
Buzz is a Document Object Model Editor
Download
buzz.tgz
Source
buzz.py.opml
Author
Charles Nofsinger
Helpful Feedback
Simon Kittle
Andrew Pearle
David Rosen
Installation
Necessary
The minimal installation will allow editting and saving opml and xml
Download and Install python 2.1
http://www.python.org
If you plan to use manila install xmlrpclib
http://www.pythonware.com/downloads/xmlrpc-0.9.9-010226.zip
Download and install wxpython/wxwindows
http://sourceforge.net/projects/wxpython/
If on windows:
Download and install cygwin
http://sources.redhat.com/cygwin/download.html
Don't install the python for cygwin component
Download buzz.tgz to /usr/share
buzz.tgz
cd /usr/share ; tar xzvf buzz.tgz
cp buzz.cfg.unix (or buzz.cfg.win) to ~/buzz.cfg
cd /usr/share/buzz
chmod +x
cp buzz /usr/bin
vi ~/buzz.cfg
Configuration File
first line is buzzdir a "shared directory". For example:
nix
/usr/share/buzz/
win2k
e:\\buzz\\
win98
e:\buzz\
next line is the command that will "expand"/open any file
explorer.exe on windows
I use konqueror on linux
next line is a temporary directory
next line is a command to execute scripts
Under windows this should be the cygwin bash command
E.G. bashcmd="e:\\cygin\\bin\\bash --login -i "
The next line is a configuration switch to turn on free form editting of XML while a schema is set.
The next line is the "Home" file
Next is your manila site
Next is your manila username
Under windows a shortcut can be created with this command
Properties of shortcut
D:\cygwin\bin\bash.exe --login -c /usr/bin/buzz
Verify that the HOME environment variable is set
Optional
These functions are necessary for importing, exporting, printing etc
Install Java 1.3 or greater
http://www.sun.com
Download and install instant-saxon
http://saxon.sourceforge.net
Download and install sabcmd
http://www.gingerall.com/charlie/ga/xml/d_sab.xml
Download and install FOP
http://xml.apache.org/fop/
You'll need to modify the fop script to point to the installation directory of fop
Download and install tidy
http://www.w3.org/People/Raggett/tidy/
Schemas
Schemas are currently implemented at a crude level and use a modified BNF syntax
However, that is ameliorated by the schema generator. It builds schema from xml files by example
Use the schema from example option in the XML menu
This is a work in progress. I recommend that you edit the schemas generated to validate their
structure
The syntax is: tag | required children | optional children
Double quoted elements are assumed to be text, underscores are translated to spaces
You must order the file in dependency tree order with the leaves first and the root last
schemas should be named foo.schema. Files created with the schema should be named
baz.foo (for the foo schema). and placed in the buzzdir
Quickstart
The keys to editting OPML or XML in buzz are the keys that insert, move, and edit elements
- Inserting
- The Right Mouse button opens a menu F5 inserts a new element at the level above F6 inserts a new element at the current level F7 inserts a new element at the level below Ctrl-P Inserts data from other programs that you've copied into the tree
- Moving
- Home: moves the current item up the list of elements in the tree End moves the current item down Ctrl-C Copies an element or tree into a list of previously copied or cut elements Ctrl-X Removes an element or tree in the the list of previous copies Ctrl-V Inserts <Insert> Inserts the most recent element from the list of previous copies and makes the next oldest item the most current
- Editting
- Hit the return on the current element to edit it
To undo an edit of an element while editting, hit the escape key
ChangeLog
7/27/01 - First Schema Validating Version
8/21/01 - Switched to Sax2 parser from Expat
8/31/01 - Added xsl:fo functionality and compatibility
9/01/01 - Added Cross File XML Search and XLINK functionality
9/14/01 - XLINK history added. Schema generation from GUI
10/19/01 - Added Toolbar and Popup on Right Click
11/2/01 - Added Preliminary Manila Functionality
11/15/01 - Added Free Form Text Editting of Outlines
Background
Buzz is an XML/OPML editor based on Woody, Radio Userland and Xeena
It Run's on Windows and Linux and should run anywhere wxwindows and python do.
Mouse
Left Click: On Text: Select; On Button: Expand
Double Click: Expand Node
Right Click: Popup Menu
Menus
This is out of date
File Menu
Open: Opens an XML File
New OPML:
Choose Recent: 10 recent files are maintained the most recent file is opened by default
Choose Recent: 10 recent URLS
Open URL: Open an XML file at an arbitrary URL
Print OPML: Prints to from HTML Version. Places images inline
Webify: Like print except centralizes external references into directory of document
Save
Save As: Save a copy as
Save HTML
Exit
Import Menu
Import: Import a text file as an indented Outline
Export: Export OPML as indented text
Import HTML Outline: Import MS word html outline file
Import / Export ...: Imports and exports Lpro, Shadow and MS Word documents
MS Word import and export works via HTML as an intermediary format
In other words use Save As HTML in MS Word prior to importing
Export HTML Outline: Useful for interacting with MS products like Word
If you open a file exported as an HTML Outline Word will open it as an outline
This is especially useful for interacting with Powerpoint for slides
- Rendering
- Buzz is setup to render XSL and XSL:FO in place, to a browser, file, acrobat etc Render Directory This will render all the OPML files in a directory as HTML and create a document with links to all the files Edit Menu Paste Clipboard: Converts clipboard text to OPML and inserts at highlighted node Insert URL Insert Image Insert File Insert File from URL Find Item Find and Replace Xsearch This starts a text search that will procede across any LINK,XLINK,HREF,URL and returns the result as a file of XLINKS XML Open XML This differs from Open in that characters are forced into ISO-8859-1 and long text blocks are broken word wrapped to less than 200 character blocks. New XML Webify XML: Display XML as HTML Document Preview Decision Tree: Shows an HTML version of a DT schema Save as XML It is easy to mix XML and OPML when editting OPML files Using this converts all OPML elements to XML on the presumptions: Outline items are tag names or attributes Attributes come before children and anything with the = sign is an attribute Text elements are not assumed and must be created using the appropriate keys New from schema: create a document using schema layout Set XML Schema: Loads a BUZZ specific schema to appropriately structured XML X Favorites: Set of XLINK favorites Delete Favorites Add Favorite Schema from example: Creates a buzz schema from a set of XML files Schema from example with attributes: as above but includes values of attributes Options Toggle Find and Replace: Useful for interactive find and replace Toggle Case sensitive find: By default find is not case sensitive Toggle Free Form XML Mode: While a schema is active allows arbitrary XML to be entered Can be set from the config file Toggle Continous text entry: When set to 1 will continuously enter text into tree. Exit with ESC key Default Keys Left/Right/Up/Down: Navigate Tree Ctrl-R: Open Recent File F1: [s]ave F2: Copy Node F3: Repeat Current Find Ctrl-F: Find below current node Ctrl-C : Copy Node Copies into the cut buffer ring Allows one to select multiple items and paste them in back somewhere else F4: Open node as URL F5: Open a node next to my parent F6: [o]pen a node at the same level F7: open a [c]hild node F8: Goto last selected node Useful under Windows where alpha keystrokes jump to nearest node that starts with that key Useful under wxGTK because editting text deselects item Ctrl-J: Join Node with next sibling Shift-J: Join Node with first child F9: Toggle between most recent files F10: Expand/Collapse everything to depth set in configuration file F11: Expand URL below current Item F12: Insert an OPML/XML file below the current Item Ctrl-A: open attribute <enter>: edit node text <Home>: Move Node Up <End>: Move Node Down Ctrl-X or <Delete>: Cut branch to buffer Ctrl-V :paste into tree from buffer <Insert> or Ctrl-B: Repeated use will progressively insert the cut ring <space>: expand or collapse branch Ctrl-T: open child [t]ext node <up>/<down>: up/down visible nodes <left>/<right>:Parent/Child of current node PgUp/PgDn: Move Fast Command Line Options First item on line is assumed to be an XML file Second Item is optional. 0 turns off highlighting Crash Recovery Buzz copies the file to filename~ before saving for crash recovery sourceforge.png
