SFSU GTA Resources RecentChanges

Better File Cabinet Software

This software is meant to be a simple way to post community databases to the web.

<h2>A Community Database</h2> A <i>community database</i> is a collection of items which

<ul><li>a specific community of practice uses for actual work</li><li>is edited, updated and annotated by central members of the community</li><li>triggers discussion around specific elements in the collection</li><li>and therefore makes authentic practice more <i>transparent</i> to newcomers by explicit organization and through rich discussion</li></ul>

In practice, this software is meant to allow

<ul><li>Easy, Powerful Editing of the Database<ul><li>√ edit in plain text right in the browser</li><li>√ include simple text formatting and images</li><li>√ use inline LaTeX? for symbols</li><li>√ edit directly in LaTeX? to build images of equations and whole documents<ul><li>√ create embedded PDFs or multiple PNGs</li><li>√ allow different LaTeX? stylesheets</li></ul></li><li>√ upload documents for retrieval</li><li>√ automatically generate table of contents for complex pages</li><li>mix in keywords and other custom data fields on the page which can be searched by field<ul><li>simply add a line of the form “Field Name = Data data data”</li></ul></li></ul></li><li>Easy Powerful Search and Collection<ul><li>√ personal “shopping cart” to track and process items of interest</li><li>√ export items in interesting formats, e.g. BibTeX? or √LaTeX.</li><li>√ recognize and display BibTeX? entries intelligently</li><li>search within fields and over whole records<ul><li>search using boolean operations, the NEAR operator, and some wildcard</li></ul></li></ul></li><li>Other Nice Features<ul><li>√ set up Administrator and Editor accounts… anonymous edits can be turned on or off</li><li>√ add comments on items</li><li>√ Auto-discoverable RSS feed to be alerted about new additions to the database (either as a whole or specific pages)</li><li>√ Generate valid XHTML 1.0 Strict and CSS 2.1.</li><li>Tag Clouds and other graphical ways to analyze connections in the data</li></ul></li></ul> <h2>Some Examples</h2><ul><li><a class="url http outside" href="http://bfc.sfsu.edu/cgi-bin/prob.pl">Better File Cabinet</a>, database of math problems</li><li><a class="url http outside" href="http://bfc.sfsu.edu/cgi-bin/rume.pl">Math Education Literature Database</a></li></ul>

Be sure to check out the Quick Tour on these two sites.

<h2>BFC3 Technical Details</h2> BFC3 is built on <a class="url http outside" href="http://oddmuse.org">Oddmuse</a>. We heavily customized the CSS (<a class="url http" href="http://bfc.sfsu.edu/bfc.css">http://bfc.sfsu.edu/bfc.css</a>) which we took from <a class="url http outside" href="http://fletcher.freeshell.org/wiki/">Fletcher Penney</a> and installed several standard Oddmuse modules.

<ul><li>wiki.pl,v 1.863</li><li>admin.pl,v 1.11</li><li>creoleaddition.pl,v 1.14</li><li>download.pl,v 1.4</li><li>forms.pl,v 1.6</li><li>localtime.pl,v 1.1</li><li>mac.pl,v 1.2</li><li>markup.pl,v 1.31</li><li>multi-url-spam-block.pl,v 1.9</li><li>mysearchresults.pl,v 0.1</li><li>searchtags.pl,v 1.6a</li></ul>

Then we added a lot of custom-written modules, which I am making available under GPL2.

<ul><li><a class="url http outside" href="http://bfc.sfsu.edu/source/bibtex-bfc.pl">bibtex-bfc.pl</a>. Allows BibTeX? entries to be displayed nicely and downloaded.</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/cart-bfc.pl">cart-bfc.pl</a>. Adds a “shopping cart” for items. Adds smart checkboxes to each item when displayed alone or in searches which update a cart cookie.<ul><li>Requires the <a class="url http outside" href="http://developer.yahoo.com/yui/">Yahoo User Interface Libraries</a> for cross-platform cookie management.</li></ul></li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/commentcount-bfc.pl">commentcount-bfc.pl</a><a class="url http outside" href="http://bfc.sfsu.edu/source/commentcount-bfc.pl">.</a> commentcount.pl with different words and comment formatting.</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/formsearch-bfc.pl">formsearch-bfc.pl</a>. Allow searches to accept form parameters with multiple values (as in multiple selects).</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/latex-bfc.pl">latex-bfc.pl</a>. Allows latex documents to be displayed nicely and downloaded as latex and figures, or as a PDF.</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/mysearchresults-bfc.pl">mysearchresults-bfc.pl</a>. Adds hooks to Oddmuse to allow custom displays of items in search listings (e.g. LaTeX? and BibTeX? items have custom displays in searches).</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/password-bfc.pl">password-bfc.pl</a>. Tidies up the password entry box and notably adds a link back to the referring page.</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/searchpaged-bfc.pl">searchpaged-bfc,pl</a>. Makes search results come in pages with a little navigation menu.</li><li>FCKEditor. This is a Javascript WYSIWYG editor. We’ve configured it to output wiki markup. It works well enough to, say, edit this page, but does add the occasional extra newline or odd bit of markup. It requires:<ul><li><a class="url http outside" href="http://bfc.sfsu.edu/source/fckeditor-bfc.pl">fckeditor-bfc.pl</a>. Read the<a class="url http outside" href="http://www.oddmuse.org/cgi-bin/oddmuse/Using_FCKeditor_In_Addition_To_Wiki_Markup"> instructions at oddmuse.org about fckeditor.pl</a>. But use this module instead.</li><li>This works with FCKEditor v 2.6.2.</li><li>The following replacement modules which have hooks so special post-markup processing doesn’t get included in the editor text…<ul><li><a class="url http outside" href="http://bfc.sfsu.edu/source/creole-bfc.pl">creole-bfc.pl</a>. If you use creole.pl.</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/toc-bfc.pl">toc-bfc.pl</a>. If you use toc.pl.</li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/searchtags-bfc.pl">searchtags-bfc.pl.</a> If you use searchtags.pl.</li></ul></li></ul></li><li><a class="url http outside" href="http://bfc.sfsu.edu/source/multi-url-spam-block-bfc.pl">multi-url-spam-block-bfc.pl</a>. Altered version of multi-url-spam-block.pl, which blocks any post with a URL link. There is now an in-module whitelist (as opposed to setting one up on a per-site basis).</li></ul>

And here are <a class="url http outside" href="http://www.oddmuse.org/cgi-bin/oddmuse/Notes_On_Oddmuse_Internals">Notes on Oddmuse Internals</a>.

<h2>More Thoughts</h2><ul><li>Grand Unifying Theory</li><li>History and Plans</li><li>Some Ideas</li><li>KwikiEH, older wiki software.</li></ul>