== Reloading Cached Simulation Results == Go through run*.xml files and pull out input values: {{{ tool: cntbands-ext version: 18 input.chirality.CarbonTypeN: 3 input.chirality.CarbonTypeM: 7 input.temperature: 300K input.structure.? <- handle this case? ... }}} Be careful: * handle 300.0K vs. 300K vs. 300000mK (see Rappture::LibraryObj::value) * nevermind "ignore" directive in inputs * Use Rappture::library (trunk/lang/tcl/scripts/library.tcl) * See [wiki:rappture_tcl_api Rappture Tcl API] MD5 function in Tcl (just like md5sum) * C lang function with Tcl bindings Tcl_CreateCommand() -- use Tcl_GetByteArrayFromObj() * Put with rest of Tcl extensions in [source:trunk/lang/tcl/src] MySQL interface within Tcl * Add to rappture-runtime === Database === All known results are compiled in a "database" of some sort. Store data in the file system: {{{ /data /results /toolName /subversionRevision /1b/2f/33/run1212435-1b2f33229129392921...192.xml -- -- -- ------- ------------------------ first time MD5 hash few digits stamp of MD5 }}} * Keep log files with metadata in this same directory structure? * Build a MySQL database table for metadata? Either way... * Keep track of run time * Keep track of what runs a particular user did in a particular session * Compute each result for the user, and then recompute ourselves (trusted way) and store that as cached result * Allow trusted users to deposit results? * Mark results as untrusted?