<p>This software is meant to be a simple way to post community databases to the web. The newest version is BFC4. You can read about the previous version, BFC3 at the old BFC3 Home Page.</p>
<h2>A Community Database</h2>
<p>A <i>community database</i> is a collection of items which</p>
<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>
<p>In practice, this software is meant to allow</p>
<ul> <li>Easy, Powerful Editing of the Database <ul> <li><b>√ graphically edit HTML right in the browser (better in BFC4)</b></li> <li><b>√ paste in complex HTML from other web pages (new in BFC4)</b></li> <li>√ upload documents for retrieval</li> <li>√ automatically generate table of contents for complex pages</li> </ul> </li> </ul>
<ul> <li>Support for LaTeX? and BibTeX? <ul> <li>√ use inline LaTeX? for symbols</li> <li>√ edit directly in LaTeX? to build images of equations and whole documents</li> <li><b>√ create embedded PDFs or multiple PNGs (better in BFC4)</b></li> <li>√ allow different LaTeX? stylesheets</li> <li>√ recognize and display BibTeX? entries intelligently</li> </ul> </li> <li>Easy Powerful Search and Collection <ul> <li>√ personal “shopping cart” to track and process items of interest</li> <li><b>√ export items in interesting formats, e.g. BibTeX? or LaTeX?. (new in BFC4)</b></li> <li>√ search within fields and over whole records</li> <li>√ search using regular expressions</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> </ul>
<ul> <li>Other Nice Features <ul> <li> <p>√ set up Administrator and Editor accounts, anonymous edits can be turned on or off</p> </li> <li> <p>√ Auto-discoverable RSS feed to be alerted about new additions to the database (either as a whole or specific pages)</p> </li> <li> <p>... add comments on items</p> </li> <li> <p>... Generate valid XHTML 1.0 Strict and CSS 2.1.</p> </li> <li> <p>... Tag Clouds and other graphical ways to analyze connections in the data</p> </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>
<p>Be sure to check out the Quick Tour on these two sites.</p>
<h2>BFC4 Technical Details</h2>
<p>BFC4 is built on <a class="url http outside" href="http://oddmuse.org">Oddmuse</a>. We heavily customized the CSS <<a href="http://bfc.sfsu.edu/bfc4.css">http://bfc.sfsu.edu/bfc4.css</a>> which we took from <a class="url http outside" href="http://fletcher.freeshell.org/wiki/">Fletcher Penney</a>.</p>
<p> </p>
<p>Then we installed several standard Oddmuse modules.</p>
<ul> <li>wiki.pl,v 1.929 </li> <li>admin.pl,v 1.11 </li> <li>ckeditor.pl,v 1.5a </li> <li>forms.pl,v 1.6 </li> <li>latex-bfc.pl,v 1.6b </li> <li>localtime.pl,v 1.1 </li> <li>password-bfc.pl,v 0.1 </li> <li>searchpaged-bfc.pl,v 0.3 </li> <li>toc.pl,v 1.60 </li> </ul>
<p>Then we added a lot of custom-written modules, which I am making available under GPL2. The ones marked bfc4 don't work with BFC3, and expect raw wikitext to be HTML.</p>
<p> </p>
<ul> <li><a href="http://bfc.sfsu.edu/source/bfc4.pl">bfc4.pl</a>. Implements the new menus, the Add New Page form and other settings for BFC4.</li> <li><a class="url http outside" href="http://bfc.sfsu.edu/source/bibtex-bfc4.pl">bibtex-bfc4.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-bfc4.pl">cart-bfc4.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>Uses the <a class="url http outside" href="http://developer.yahoo.com/yui/">Yahoo User Interface Libraries</a> 2.7 for cross-platform cookie management. It grabs these from Yahoo's CDN by default (with Yahoo's blessing). </li> </ul> </li> </ul>
<div> <ul> <li><a class="url http outside" href="http://bfc.sfsu.edu/source/commentcount-bfc.pl" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">commentcount-bfc.pl</a><a class="url http outside" href="http://bfc.sfsu.edu/source/commentcount-bfc.pl" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">.</a> commentcount.pl with different words and comment formatting.</li> </ul> </div>
<ul> <li><a class="url http outside" href="http://bfc.sfsu.edu/source/formsearch-bfc.pl" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">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-bfc4.pl" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">latex-bfc4.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-bfc4.pl" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">mysearchresults-bfc4.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" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">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" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">searchpaged-bfc4.pl</a>. Makes search results come in pages with a little navigation menu. (Requires Oddmuse >1.926.)</li> <li><b>CKEditor</b>. This is a Javascript WYSIWYG editor. It requires: <div> <ul> <li><a class="url http outside" href="http://bfc.sfsu.edu/source/fckeditor-bfc.pl" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">ckeditor.pl</a>. This module expects wikitext to be in pure HTML. </li> <li>This requires <a href="http://ckeditor.com/" style="color: rgb(204, 85, 85); font-weight: 700; text-decoration: none;">CKEditor 3.0</a>.</li> </ul> </div>
<ul> </ul> </li> </ul>
<h2>More Thoughts</h2>
<ul> <li>History and Plans</li> <li>Grand Unifying Theory</li> <li>Some Ideas</li> <li><a class="url http outside" href="http://www.oddmuse.org/cgi-bin/oddmuse/Notes_On_Oddmuse_Internals" style="color: rgb(204, 0, 0); font-weight: 700; text-decoration: none;">Notes on Oddmuse Internals</a> <ul> <li>Internal Version</li> </ul> </li> <li>BFC3 Home Page, previous version of the BFC.</li> <li>KwikiEH, older wiki software.</li> </ul>
<h2>Who Wrote This Software?</h2>
<p><br /> Eric Hsu wrote the software and hosts the site. You can find our more about him at <a href="http://math.sfsu.edu/hsu">http://math.sfsu.edu/hsu</a></p>