Import Annotations

When import scripts are long, complex or rerun often we benefit from recording within imported pages details of the import process.

We use as an example the importation of material sustainability computations from a suite of workbooks. This process, which took weeks of incrementally converting and checking was to be considered done with wiki could duplicate the results from excel.

We used a two step process: visual basic code wrote a text file of cells and cell contents while ruby read that file and wrote the equivalent federated wiki pages. All steps needed to be checked.

The batch conversion created complete pages which were added to previously created pages as a subsequent create action. We kept the last three creates.

The create action includes as a field for the newly created page which is normally empty. Clicking on the desired create in the journal allowed us to compare subsequent runs without leaving wiki.

We signed each page with a 'certificate' that included the database identification from the visual basic run and the git source code identification for the version of the ruby import script applied to it.

{ "type": "create", "id": "9aa5b64242d5796c", "certificate": "from db/9-24-12, git sha-1: 35cdc555", "date": 1348599785000, "item": { "title": "Nylon-6,6 fabric", "story": [ { "text": "Material Summary", "id": "d0b7d7b8fbf9ce9c", ...

As we spent more time tracking down small mistakes in the spreadsheet and the scripts that converted it we tired of searching through converter sources. We modified the converter to include the source code line numbers that touch data and included the expected 'check' value from the spreadsheet.

{ "type": "method", "id": "ab52d6713cd2ccdb", "text": " ... PRODUCT Municipal Solid Waste", "source": { "file": "folded-pages.rb", "from": 761, "to": 770 }, "checks": { "Municipal Solid Waste": "3.6174342925" } }

A temporary modification to the Method plugin looked for results with checks and reported mismatches. Ultimately there would be mismatches as a key motivation for the project was to make revising calculations a community process based on wiki.