The Piggy Bank extension to the Firefox browser consists primarily of 3 parts:
- Back-end Java code that manages the collected “pure” information in databases and serves it up through an HTTP interface.
We are in the process of porting over as many of the XPCOM components as we can to operate over HTTP instead to separate the browser functions of Piggy Bank from its storage functions. The new method of publishing via an icon in the status bar is part of the move.
Commands such as tag, save, and publish are sent as HTTP POSTs to the embedded web server. The Ajax technique is used to provide suggestions during tagging and to refresh individual items’ views.
- Firefox, as the application platform
- XUL, as the extension’s user interface language
- HTML, as the clientside user interface language
- Java, as the serverside core programming language
- Batik, for encoding PNG files
- Informa, for parsing RSS feeds
- Jetty, as the embedded web server
- JTidy and JDom, for applying XSLT on HTML
- Log4j, as the logging framework
- Lucene, as the text indexer
- Sesame, as the RDF access and storage API
- Velocity, as the templating engine for generating HTML