buzz.opmlTue, 28 Aug 2001 21:10:01 Thu, 25 Apr 2002 01:29:53 nof/opml[1]/body[1]/outline[17]/outline[3]/outline[4]12052808451120►
►
►ScreenShots►OS X imgbuzzosx.jpg☼ ►Linuximglinbuzz.jpg☼ ►Windowsimgwinbuzz.jpg☼
►What does Buzz do?►Buzz is fundamentally an outliner►Design Philosophy►Buzz views outlines as part of a web of outlines that refer to each other. Buzz
►supports links and xlinks between the outlines and keeps a history of
►navigation as well as recently editted files.
►As my note taking as evolved closer to Topic Maps I have begun implementing Topic Map features
►Outlines can be imported and exported from:►Windows►Word►Save as html and then import into Buzz
►Reverse for export. In Word view as an outline to see the tree
►Powerpoint►Via Word 97 Outline Format
►Excel►Export Via XSL Rendering (csv.xsl) to csv
►Import into XML from csv
►All rows of your spreadsheet must have the same number of elements
►You may be able to Repair poorly formed csv files with icsv2xml.py
►Spreadsheets►Export Via XSL Rendering (csv.xsl) to csv
►Import into XML from csv
►Repair poorly formed csv files with icsv2xml.py
►Dot graphviz graphs ►This allows exporting to graphs for example: imgpclflowchart.opml.gif☼ ►use opml2svg
►Palm►Shadow Planner 2.0
►ThoughtMill - via Word Format
►Doc Format using the Pyrite Project
►HTML►Static and Active Documents
►Like this Page!
►vCal Calendar files►This makes it easy to turn OPML into ToDo lists
►This is verified to work with Korganizer, Gnomecal, Exchange►NB: Use merge calendar from Korganizer
►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
►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
►Because Peerkat is SLOW, I created a script that feeds RSS/RDF to a web server via XSL ►In addition a script that filters a pubmed query through XML is here
►Outlines can be editted in structured manner or free form (text edittor)
►Topic Map like outlines ►Buzz handles topic maps by adding instance and role attributes to outline elements
►xlinks and links are supported as a means of turning the tree into a true graph
►The files .buzztopics and .buzzroles currently define the defaults but any role or topic can be assigned
►Ultimately I plan to export my knowledge bases to topic maps or RDF frameworks
►The xsearch capability of Buzz will be extended to include or exclude nodes based on their XTM characteristics
►XML►Buzz can convert back and forth between OPML and 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 rendep to browser and then the opml2userland.xsl file
►NB:remember to copy the javascript file to the target directory
►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
►Author►Charles Nofsinger
►Helpful Feedback ►Simon Kittle
►Andrew Pearle
►David Rosen
►Christian Boehme
►Installation►Necessary ►The minimal installation will allow editting and saving opml and xml
►Download and Install python 2.1 ( on OS X use python 2.2 - see below)►If you plan to use manila install xmlrpclib
►Download and install wxpython/wxwindows (on OS X use wxwindows from CVS)►On X-windows systems this will require wxGTK that can be found in the "other" section of the wxpython download
►If on windows:►Download and install cygwin►Don't install the python for cygwin component
►Download buzz.tgz to /usr/share►Open a terminal (cygwin terminal in windows)
►Verify that the HOME environment variable is set
►cd /usr/share ; tar xzvf buzz.tgz
►cd /usr/share/buzz
►cp buzz /usr/bin
►windows:►cp buzz.win /usr/bin/buzz
►cp xfind.py.win xfind.py
►OS X ►cp truesaxon /usr/bin/saxon
►python buzz.py ►Buzz will ask you to configure it if this is the first time you've run it.
►If you are *nix wizard you can edit the configuration file as described below ►Configuration File►first line is buzzdir a "shared directory". For example:►*nix and OS X►/usr/share/buzz/
►next line is the command that will "expand"/open any file►explorer.exe on windows
►I use konqueror on linux
►On OS X use "open"
►next line is a temporary directory
►next line is a command to execute scripts►Under windows this should be the cygwin bash command►e:\\cygin\\bin\\bash --login -c
►If your default shell on *nix or OS X is bash leave this blank
►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
►Next is 0 or 1 for whether or not to use the size parameters of the OPML file ►They are always saved this enables automatic resizing to the location and size that
►the file was last saved with.
►Next is the font name
►Next is the font size
►Under windows a shortcut can be created with this command►Properties of shortcut►C:\cygwin\bin\bash.exe --login -c /usr/bin/buzz
►Optional ►These functions are necessary for importing, exporting, printing etc
►Necessary for all exporting: ►Download and install sabcmd for Unix or instant-saxon for Windows or full Saxon for OS X►Make sure the saxon command is in your PATH ►Unix ►There is a script that uses sabcmd to emulate saxon
►You should copy this script to your PATH. Sabcmd is orders of magnitude faster than saxon
►If you don't use sabcmd copy xfind.py.win to xfind.py. It's compatible with saxon's parameter passing
►NB: instant-saxon requires the MS JVM, which you must install if you're using windows 2000 or greater
►Necessary for Schema from example under linux
►Necessary for rendering Acrobat Files ►Download and install FOP►You'll need to modify the fop script to point to the installation directory of fop
►Necessary for Importing HTML ►Download and install tidy
►Necessary for Importing Spreadsheets to XML ►The file csv-0.5.tgz is included in the tarball. decompress this and install it with ►python setup.py build ; python setup.py install
►Windows ►put csv.pyd where python can find it.
►Necessary for creating Graphs (GIF,SVG) of OPML files ►Necessary for communicating directly with Palm ►Use pyrpub to publish buzz html files to Doc format
►Install with Jpilot or pilot-link
►Coming soon direct integration...
►Mac OS X Notes ►Os X installation is not for the weak of *nix skills or heart
►NB: Buzz is somewhat crippled by the standard Mac mouse - use a wheel mouse ►you'll love the functionality in all the mac programs
►Notes on OS X weirdness►use 'sudo command' to do anything as root
►or use 'sudo -s'
►The Shift key works like the control key in buzz on os x
►Guide►Install the Mac OS X developer tools
►Install the libdl library
►Install Python 2.2 from CVS►Install customsite.py
►Make a symbolic link to /usr/local/bin/python from the real path
►Install PyXML 0.7
►Install wxWindows and wxPython from CVS
►from the command line in OS X "open" is the command to open any mimetype
►Saxon is the only XSL processor I've had success with
►The rest of the guide applies
►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
►F10: Opens a free text editting window
►Moving:►Home: moves the current item up the list of elements in the tree
►End moves the current item down
►Tab indents the item
►Shift-Tab or backspace outdents the item
►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
► 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 Supporting 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
►11/28/01 - ►Updated Shadow Plan import export to 2.0
►Controls keys working under wxGTK
►12/1/01 - Cleaned up importing text and free form text editting
►12/2/01 - Import and Export of CSV Spreadsheets to XML,HTML
►12/5/01 - Added Todo Schema and Export to Vcal
►12/8/01 - Cleaned up multiple issues with wxGTK
►12/11/01 - Fixed the Dreaded wxGTK Label Editting focus bug
►12/14/01 - Continued wxGTK bug cleanup
►12/19/01 - Pyrite Palm OS integration started
►3/3/02 - Automated configuration file creation
►3/11/02 - Made history more reliable
►3/12/02 - Under *nix Sablotron can be used for all XSL - Rendering is FAST!!!
►3/19/02 - Toolbar help - web rendering clean up
►3/21/02 - Font selection added
►3/30/02 - Added SVG and Flowchart XSL rendering
►4/2/02 - Added initial Topic Map capabilities
►4/10/02 - Added Xsearch attribute that automatically recreates an xsearch
►4/21/02 - minor fixes to allow buzz to run on Mac OS X
►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►File Menu►Open: Opens a File
►New OPML:
►Choose Recen Filet: 10 recent files are maintained the most recent file is opened by default
►Choose Recent URL: 10 recent URLS
►Open URL: Open an XML file at an arbitrary URL
►Render Open: Render a file with XSL and open the product
►Print OPML: Prints to from HTML Version. Places images inline
►Preview HTML: Send the actual content of the file unrendered to the browser
►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
►X Render Directory this render the files you choose from a directory with an xsl file you choose
►Edit Menu►Paste Clipboard: Converts clipboard text to OPML and inserts at highlighted node
►Paste Clipboard as CDATA
►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.
►Webify XML: Display XML as HTML Document
►Preview Decision Tree: Shows an HTML version of a DT schema
►Save as XML►It is easy tm 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
►Wrap text fields
►Configure Buzz: Setup default configuration options
►Manila►Preliminary functions
►Toolbar►The toolbar includes a set of icons for the following actions:►navigation►Back in history ringimgbackarrow.png☼ ►Forward in historyimgforwardarrow.png☼ ►Historyimgrecent.png☼ ►Home Fileimghome.png☼ ►Recent Filesimgrecentfile.png☼
►creating, saving, opening►Open Fileimgopen.png☼ ►New Fileimgnew.png☼ ►New File From Schemaimgschema.png☼ ►Save Fileimgsave.png☼
►printing, previewing, rendering►Webifyimgglobe.png☼ ►Printimgprint.png☼
►searching, editting, pasting, copying, deleting►Search from top of fileimgrootfind.png☼ ►repeatimgrepeat.png☼ ►Paste External Clipboardimgpaste.png☼ ►Enter Free Form Textimgfreetext.png☼ ►Insert Imageimgpicture.png☼ ►Copy Nodeimgcopy.png☼ ►Paste Nodeimglocalpaste.png☼ ►Delete Nodeimgdelete.png☼
►XML features►Add Attributeimgattr.png☼ ►Add CDataimgtext.png☼ ►Insert Xlink from Favorites imgxlink.png☼
►Expanding and collapsing the tree►Join Nodesimgjoin.png☼ ►Toggle x layers deepimgone.png☼ imgtwo.png☼ imgthree.png☼ imgfour.png☼ ►Sort children imgsort.png☼ ►Xsearch from Home file imgxfind.png☼
►Default Keys►NOTE: ON MAC OS X the SHIFT KEY is the equivalent of the Control key
►Left/Right/Up/Down: Navigate Tree
►Ctrl-R: Open Recent File
►F1: [s]ave
►F2: Assign Topic
►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
►Ctrl-J: Join Node with next sibling
►Shift-J: Join Node with first child
►F9: Toggle between most recent files
►F10: Enter Free text
►F11: Expand URL below current Item
►F12: Insert an OPML/XML file below the current Item
►Ctrl-A: open attribute
►: edit node text
►: Move Node Up
►: Move Node Down
►: Indent item
►Shift-: Outdent Item
►Backspace: Outdent Item
►Ctrl-X or : Cut branch to buffer
►Ctrl-V :paste into tree from buffer
►Ctrl-D :paste into tree from buffer as child
►Ctrl-U : Insert URL
►Ctrl-O : Insert Picture
►Ctrl-P: Paste Clipboard
►Shift-X: Store an xmark to this location
►Shift-V: Paste the stored xmark
►Shift-G: Goto the stored xmark
► or Ctrl-B: Repeated use will progressively insert the cut ring
►: expand or collapse branch
►Ctrl-T: open child [t]ext node
►/: up/down visible nodes
►/: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
imgsourceforge.png☼