Wikified approach to the spreadsheet

A Happy Union


wikiCalc is a unique tool that offers a combination of spreadsheet functionality and wiki features. This may sound like a strange pairing, but wikiCalc provides a refreshingly new approach to the spreadsheet concept.

By Dmitri Popov

WikiCalc [1] is written in Perl and requires virtually no installation. Simply download a tarball archive of the latest version of wikiCalc, unpack it, and then run the perl wikicalc.pl command in the terminal. Point your browser to http://127.0.0.1:6556 and you should see wikiCalc's setup page.

Of the two options on the setup page, the manual setup gives you more control over the setup settings. Or you can opt for the demonstration setup that configures all the required options for you and creates a demo page. If you are new to wikiCalc, the latter option is the best way to go. Pressing the Demo setup button lets wikiCalc do the rest for you.

Before you can start tinkering with the wikiCalc pages, you have to configure a few settings that wikiCalc needs in order to publish pages on the web. First, press the Manage Sites button, then press the Edit button next to the Current Settings table. In the URL for HTML field, specify the path to the published wikiCalc pages, which can be a path to an FTP server or, if you want to publish pages on the same machine that runs wikiCalc, a path to a local directory (e.g., wiki-pages). You should also specify the URL for Editing, which allows visitors to switch to the editing mode so they can modify the published spreadsheets. If you are running wikiCalc on a local machine, the URL for Editing is http://localhost:6556. Press Save to save the changes, then press Done to return to the Pages window. Now you are ready to create your first wikiCalc spreadsheet.

Figure 1: Setting up wikiCalc is a matter of pressing the desired setup button.

Figure 2: wikiCalc supports wiki-like markup.

Figure 3: You can import data from other sources with wikiCalc's tools.

Getting Started

To familiarize you with wikiCalc's basics, I'll create a simple spreadsheet to track your daily expenses. Press the Create New Page button, give your page a short and long name, choose a page template (for the sake of simplicity, use the default template), and press Create. To start working on the spreadsheet, press the Edit button.

By default, the spreadsheet contains only one column, so you have to add extra columns to accommodate the expenses data. In this case, you need at least four additional rows, and you can use the Add Column button to add them. Now you need to enter the spreadsheet's title (e.g., Daily Expenses) and column labels (e.g., Expense, Amount, Date, Notes). Select the appropriate cell - for example, A1 for the title - and start typing. The text in the cells accepts wiki-like markup, which you can use to format the title like this:

'= Daily expenses =
A list of my dailyexpenses including:
* Expense
* Amount
* Date
* Notes

Click the Help button to see a list of the supported markup. You can "stretch" the title over all four columns by merging cells, which is a handy technique to know when working with spreadsheets. First, select the cells you want to merge, press the :Range button, and click on the desired cells. In this case, you should select all cells in the first row. Next, press the Merge Cells button and you are done.

Specify the column labels in a similar manner. To format the column labels, you can use the wiki markup, and wikiCalc offers a slew of formatting options under the Format tab. You can specify the font type and color, background color, borders, and other settings.

The Format section lets you specify other important settings. Press the Numbers button to set the format for any cell or range of cells. wikiCalc supports several cell formats, including Number, Currency, Date, and Text. In your spreadsheet, you might want to format the cells in the Amount column as currency, the Date column as date, and the Notes column as text. The Column button allows you to set the width of each column and change the visibility setting for a particular column. The latter option can come in handy if you want to hide certain data in the spreadsheet when you publish it on the web.

wikiCalc can also handle calculations and the list of supported functions is impressive. Click on the Function Help link in the Help window to see the functions. Next, I'll add a cell that shows the total amount of your expenses to see how calculations work in wikiCalc. If you've tried this task in OpenOffice.org, you'll feel at home with wikiCalc. Select the desired cell and then enter the calculation into the Formula field. The calculation looks like this: =SUM(B4:B9)

Once you are satisfied with your spreadsheet's structure and appearance, you can populate it with data. If you already have expense data in an OpenOffice.org Calc spreadsheet, for example, you can add the expenses to your spreadsheet by using wikiCalc's import tools. Open the Calc spreadsheet, select the rows you want, and then copy them into the Clipboard.

In wikiCalc, press the Tools button and press Load from Text in the Tools Options section. In the Text to Load section, select the last option (Tab-delimited with single cell data ...), paste the contents of the Clipboard into the empty data field, and then press Load. Switch to the Edit tab, select the cell where you want to insert the data, press the More button, and press Paste All.

Figure 4: wikiCalc offers several ways to publish the spreadsheet on the web.

Figure 5: wikiCalc keeps track of spreadsheet versions and modifications.

Figure 6: wikiCalc includes a simple yet effective user management feature.

Publishing and Versioning

Pressing the Publish button takes you to the publishing options. wikiCalc offers several ways to publish your spreadsheet on the web, and choosing the one you want is a matter of selecting the right boxes. Select the Publish HTML box to publish the spreadsheet as a static HTML page. You can also publish the spreadsheet as a JavaScript file, which you can embed into a web page. Select the Publish Embeddable ".js" option, which creates a JavaScript file in the wikipages directory. You can link to it from any HTML page using the following code:

<script type="text/javascript"src="wkcpages/expenses.js"></script>

Each time you publish the spreadsheet, wikiCalc saves a copy of its current version along with the attached comments and a list of changes. This lets you track modifications and also revert to older versions, if needed.

Conclusions

wikiCalc is hands down the most capable and innovative web-based spreadsheet application out there, and as such, it offers a viable alternative to desktop applications like Gnumeric and OpenOffice.org Calc. If you plan to move from a desktop spreadsheet application to a web-based one, wikiCalc should be at the top of your list.

INFO
[1] wikiCalc: http://www.softwaregarden.com/products/wikicalc/
THE AUTHOR

Dmitri Popov holds a degree in Russian language and computer linguistics. He has been working as a technical translator and freelance contributor for several years. He has published more than 500 articles in Danish, British, US, and Russian magazines and websites.