[Date Prev] [Date Next] [Thread Prev] [Thread Next] Indexes: Main | Date | Thread | Author

[ba-unrev-talk] [ba-urev-talk]Tech Impediments? ... see "In-line Text Display": "TreeDoc" & rendering :Fluid Annotations" via DOM, CSS, XLink, XPointer, and RDF

  1. xml2tree - creating and manipulating XML tree objects in PHP (Gnu Lesser Public License)


    The TreeDoc system gives documents and pages that same nested, open-in-place behavior, like this. TreeDoc is a new way of displaying hypertext, related to the Fluid Documents project, which visually distinguishes in-place commentary by indentation, font face, and color, while using that common color to highlight both the keyword and commentary. (More info: <http://www2.parc.com/istl/projects/fluid/>)

  2. For illustration, this TreeDoc documentation is in TreeDoc form, so you should click the links below to explore further...AND DON'T FORGET TO CLICK EACH ONE A SECOND TIME TO CLOSE!

  3. Why TreeDoc?

    Screenshots: <http://www.softky.com/TreeDoc/screenshots.php>
    TreeDoc helps relate a link's content to its context; it relates what's inside the link to what's outside the link.

    1. Easier navigation
    2. Keeping context
    3. Nesting
    4. Visual Trickery
  4. Disadvantages

    Summary: A badly-designed TreeDoc page can look funny and make things harder (rather than easier) to read.

    1. Over-decoration
    2. Broken context
    3. Speed
  5. How to write TreeDocs

    Summary: Just put a simple tag like <?inlink("tabText", "href.php"); ?> into your HTML pages wherever you want an folder-tab inlink, or even a whole row of them.

    PHP Server language
    the inlink() function
    The tabRow() function
    Passing variables
    Remote links
    Topmost pages

    Quick Reference

  6. How to install it

    Summary: Make sure PHP works on Apache (they are often pre-installed together), copy over one small TreeDoc file, and start writing.

    1. Installing PHP

      The Apache web server (sometimes called "httpd") is the world's most reliable and popular; you can learn more about it from apache.org. It came already included and running in my Red Hat Linux distribution; all I had to do was aim the browser at http://localhost to verify it was running.

      PHP is not officially part of Apache. The two came bundled together on my Linux system; if you aren't so lucky, check out the PHP site. To make PHP work on my version of Apache, I edited Apache's httpd.conf file (under /etc/httpd/conf on my system) to look like this, by removing some '#' comment symbols:

         LoadModule php_module         modules/mod_php.so
         AddModule mod_php.c

      Likewise, I edited the src.conf file (same directory) to look like:

         AddType application/x-httpd-php .php
         AddType application/x-httpd-php-source .phps

      Then I just restarted httpd ( "/etc/rc.d/init.d/httpd restart" as root) to make the changes take effect.

      To verify PHP is working, create the following single-line file and name it test.php:

          <? phpinfo(); ?>
      Put that file somewhere your browser will see it (e.g. under /home/httpd/html/, or wherever you usually put web pages), and aim your browser at it; you should get a huge table of PHP information. (If not, I probably can't help you.... sorry!)

    2. Getting the TreeDoc code
    3. Customizing

      All the properties of the TreeDoc display are set in the file TreeDoc.inc , which you are free to modify. To change the pale box-colors, modify the array $bgColors; to change the fonts, modify $fonts; to change the HTML header, modify the headWrapper() function.

      The deepest (and least obvious) modification you might make is to set

         $noBlocks = "yes";
      Then, the font color will change instead of having the box-color change, like this.

  7. Legal and personal information

    Summary: The software components are free and Open Source, but your documents are your own. And TreeDoc still needs work...

    1. Public License

      The TreeDoc system is supposed to be maximally free and useful to everyone. In practice, that means that the "code" (i.e. the routines in the file TreeDoc.inc) is considerered part of a libarary protected by the Gnu Lesser Public License, , leaving you to create TreeDoc documents with proprietary content, implemented with public code. In short: any TreeDoc documents you create are not public, they are yours alone.