Menu

Tree [r85] /
 History

HTTPS access


File Date Author Commit
 Documentation 2008-08-01 kevin_richards [r72]
 ExampleAPIServer 2008-11-03 kevin_richards [r74]
 Include 2007-11-08 kevin_richards [r55]
 Release 0.3 2008-08-01 kevin_richards [r72]
 Release 0.4 2009-09-13 kevin_richards [r85]
 TapirDotNET 2009-07-02 kevin_richards [r80]
 TapirDotNETAdmin 2009-07-02 kevin_richards [r80]
 TapirDotNETClasses 2009-09-13 kevin_richards [r84] bug where search request with Start > 0 was cau...
 config 2009-07-02 kevin_richards [r80]
 debug 2009-07-02 kevin_richards [r80]
 log 2009-07-02 kevin_richards [r80]
 oai-pmh 2007-08-20 kevin_richards [r3]
 statistics 2007-07-24 kevin_richards [r1]
 DNSResolver.dll 2007-11-06 kevin_richards [r48]
 INSTALL.txt 2007-10-01 kevin_richards [r39]
 LSIDClient.dll 2007-11-06 kevin_richards [r48]
 Microsoft.Uddi.Sdk.dll 2007-11-06 kevin_richards [r48]
 README.txt 2007-10-01 kevin_richards [r39]
 TapirDotNET.sln 2009-05-22 kevin_richards [r78]
 TapirDotNET.suo 2009-07-02 kevin_richards [r80]

Read Me

ABOUT THIS SOFTWARE
===================

TapirDotNET is a data provider software compatible with the 
TAPIR protocol (http://www.tdwg.org/subgroups/tapir). 

"TAPIR specifies a standardised, stateless, HTTP transmittable, 
request and response protocol for accessing structured data that 
may be stored on any number of distributed databases of varied 
physical and logical structure."

Data provider software is one of the key components of TAPIR 
networks. All participants of a TAPIR network, ie. people or 
institutions that want to share data through TAPIR, need to 
install a data provider software. TapirDotNET allows data providers 
to map their local databases against one or more conceptual 
schemas (used as a data abstraction layer). It translates TAPIR 
search requests to the local query language and local database 
structure to return an XML response based on the output model 
requested.

ACKNOWLEDGEMENTS
================ 

TapirDotNET has been generously funded by the Biodiversity 
Information Standards, TDWG, with resources from the Gordon and 
Betty Moore Foundation. 

This software was ported from the TapirLink PHP provider implementation
for TAPIR, which was originally developed by Renato De Giovanni from CRIA.


NOTES
=====

A single instance of TapirDotNET can provide access to multiple 
TAPIR resources, each one with its own address. After 
installing this software and adjusting your web server 
configuration, you may be tempted to guess that the access 
point of your service is something like:

http://example.net/tapirdotnet/tapir.aspx

However, this will only give you generic documentation about 
the service. Real interaction with the service can only be 
done through one of the resources' access points. After 
configuring TapirDotNET, you will notice that each resource has 
a local id (or code). The local id must be appended to the 
previous URI to give you the corresponding address of the 
service, like: 

http://example.net/tapirdotnet/tapir.aspx/myres/

TapirDotNET can map conceptual schemas that either follow the 
DarwinCore pattern or the CNS configuration file pattern. In the
DarwinCore pattern, concepts are defined as global elements 
of an XML Schema document having a "substitutionGroup" attribute 
referencing dwe:dwElement (where "dwe" is a prefix for the 
namespace "http://rs.tdwg.org/dwc/dwelement"). Please note that 
this is NOT the original format of DarwinCore. It comes from 
a more recent version of the schema. 

TapirDotNET allows each resource to map one or more conceptual 
schemas, but it will only be able to serve instances of a single 
"class" or "entity". In other words, when mapping multiple 
conceptual schemas, each mapped concept will actually refer to an 
"attribute" or "property" of the same underlying class. In search 
responses, instances of that class will be bound to instances of 
the "indexingElement" defined in the output model.

This means that TapirDotNET has limited use with response structures 
that relate instances of different classes, for example multiple 
specimens, each one with multiple identifications. However, in 
these cases sometimes it is possible to use fixed value mappings,
especially when response structures include metadata elements 
(for example "collection code") enclosing all instances of a class.

FEATURES
========

* All TAPIR operations (metadata, capabilities, inventory, search
  and ping). 
* Request encoding can be KVP or XML.
* Inventories on any mapped concepts.
* Searches with any output models involving concepts from mapped 
  schemas.
* Response structures with basicSchemaLanguage.
* Several types of relational databases supported 
* Complete filter parsing. "Equals" and "like" can be case sensitive 
  or not.
* Max element repetitions and max element levels settings.
* Multiple resources can be exposed from a single TapirDotNET instance.
* Each resource can map one or more conceptual schemas based on the 
  new DarwinCore pattern or the CNS configuration file format.
* A simple client for testing.
* OAI-PMH message handling.

LIMITATIONS
===========

* Any XML Schema used as a response structure should not include or 
  import other schemas that redeclare the same prefix and associate
  it with a different namespace.

INSTALLATION
============

Please read the INSTALL.txt file for installation instructions.

TROUBLESHOOTING
===============

Try running in your browser the script tapirdotnetadmin/check.aspx to see if 
there are any problems with your installation.

When you are having problems, it is also be a good idea to activate 
debugging. To do this, set the _DEBUG setting to true in the tapirdotnet/web.config file. 

Restart your web server to clear any cache and settings.

As a last resource, instead of using:

http://somehost/somepath/tapir.aspx/someresource

You can define your accesspoint as:

http://somehost/somepath/tapir.aspx?dsa=someresource

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.