home
contents
background
models description
design
GUIs
events
calculations
publishing

Publishing Models and Data

Building websites

The easiest way to make models and data accessible on the web is to let Catacomb make the website and notify the NueroML server that the site exists. A robot running on neuroml will then visit the site, retreive information on what it contains, and add the contents to its searchable lists.

The key point to making it work, is putting sufficient information in the files about what they contain so that they can be usefully indexed and searched. Catacomb will handle writing this in a format that NeuroML understands, but you have to supply most of the information.

For a Catacomb model, this amounts to filling out the fields in the models "ModelDescription" object (accessible under the "utils" menu). By default, it will have a simple form letting you specify your name, keywords for the model, and a brief description. Catacomb will suggest values for the data, object type and version. Once this is done, making the website is pretty simple - see the online help for the "ModelSite" component.

In general, however, you will want more than the basic form it lets you fill out. There may be informatin which doesn't correspond to any of the predefined fields. In this case, you can design your own form with the Form component and fill that out. All the information provided will be included in the website. Depending how clever they are, search tools may or may not be able to make sensible use of it. But that is not the problem for now: clever tools won't be written until there are sites for them to work on. Of course, it is not certain that a tool will come along which can make use of the information, but I think the chances are very good.

DIY model distribution

There are a number of scenarios to be considered:

The first one is easy. Just email it as an attachment. The recipient should save it to disk and open it with Catacomb. The second and third can be done with Catacomb's normal file storage functions as explained in the next section. The fourth requires the "model dissolving" function and elements from the data publishing toolset discussed later.

Putting models on the web

When a model is saved with the ordinary "save" function, Catacomb actually writes a HTML file, with the data of the model included in a comment string. The header refers to a second file, catacomb.js which is available from the download site, which in turn refers to the standard catacomb.jar file. If you put the model, catacomb.js, and catacomb.jar all in the same directory and open the model file with a web browser, you will have a link inviting you to load the model. Any text supplied in the "modelInfo" field will also be on the page. Clicking the link should start up Catacomb with the model loaded.

If in addition you have used the Applet Configuration Builder to add applet configurations to the model, then a link will be provided for each of these. Clicking the link generates a new window with the compound applet.

Publishing model components

This is under development. You can try the "save dissolved" option from the file menu to see the plan. It creates a directory structure corresponding to the package structure of the frameworks used in the current model and puts each flat model component in the appropriate place. This is how models are stored in the built-in library. When they are loaded back in, references are resolved by looking up the required components in the directory according to their package. For the library, it works fine. For publishing a model and all its dependencies there is a bit of work yet to do....

The above is unnecessarily subtle for many purposes. If you simply save a component of a model, Catacomb will find all the other objects it needs and dump these in the file too. This works fine in many cases. The disadvantage is that if you save ten different cell models which all use the same channels, then the resulting files will contain ten copies of each channel model (and each solution, specie, etc). Apart from taking up space, this means that Catacomb must resolve the ambiguities (and perhaps ask the user to help) when loading such models back in. When it encounters a new subcomponent whose name matches an existing model, it checks if they are the same, and only queries what to do if they re not.

Building Websites and getting them Indexed

The last phase of data publishing is to put it on the web and tell someone that it is there. The second part is easy - once the data is accessible on the web, it is sufficient to access the URL http://www.compneuro.org/....i dont know yet where xxxx is replaced by the web address of the site with the data. Catacomb will do this for you as part of the website build process. Accessing the link causes a script to run on compneuro.org which adds your site to its list of data-containing websites. The current list of all such sites is available at .... Anyone can develop software to go through this list, fetch indexes and other documents from participating sites and build a catalogue.