Skip to content
This repository has been archived by the owner on Sep 19, 2021. It is now read-only.
Nate Bross edited this page Jun 13, 2013 · 4 revisions

##fmDotNet: a wrapper for the FileMaker Server XML API

This is a fork of the original fmDotNet. It includes additional coverage of the FileMaker XML API that was not present in the original version. Most notibly support for the -findquery operation via the fmDotNet.Requests.CompoundFind class. Our fork also includes a set of unit/integration tests.

If you are familiar with FileMaker 6 CDML Web Publishing or the FileMaker PHP API, fmDotNet will feel familiar to you. Many of the core principles and techniques are the same. The operations and vocabulary are the same as in FileMaker Pro.

Getting Started with fmDotNet

You can start querying data from your FileMaker database with just a few lines of code:

var fms = new fmDotNet.FMSAxml("YourServerName", "user", "passw0rd");
fms.SetDatabase("yourDatabase");
fms.SetLayout("yourLayout");
var request = fms.CreateFindRequest(Enumerations.SearchType.Subset);
request.AddSearchField("YourFieldName", "value-to-query-for");
var response = request.Execute();

You can query on related data too:

var fms = new fmDotNet.FMSAxml("YourServerName", "user", "passw0rd");
fms.SetDatabase("yourDatabase");
fms.SetLayout("yourLayout");
var request = fms.CreateFindRequest(Enumerations.SearchType.Subset);
request.AddSearchField("RELATEDTALE::RelatedField", "value-to-query-for");
var response = request.Execute();

You can edit also perform complex finds with code like the following:

var fms = new fmDotNet.FMSAxml("YourServerName", "user", "passw0rd");
fms.SetDatabase("yourDatabase");
fms.SetLayout("yourLayout");
var cpfRequest = fms.CreateCompoundFindRequest();
cpfRequest.AddSearchCriterion("Colors::Name", "Blue", true, false);
cpfRequest.AddSearchCriterion("Colors::Name", "Red", true, false);
var response = cpfRequest.Execute();

This finds all items where the color is Red OR Blue. Note the search is on related fields via Table::Field.

Additional fmDotNet Example Usage

Browse the code in the test project fmDotNet.Tests for basic usage of the library. This is the automated test code that is used to ensure that fmDotNet functions correctly. It is a good place to see how specific tasks are completed using fmDotNet. In the future, we would love to have a full sample application showing usage of fmDotNet in the context of a real application.

Contributing to fmDotNet

  1. Fork us, hit hte Fork button at the top right! Make improvements, add additional tests, and submit a pull request.
  2. Submit an issue/bug with steps to reproduce it.
  3. Submit a wiki page with more detailed examples.

Please make sure that that changes you submit to the core fmDotNet project pass the tests in fmDotNet.Tests or explain why they don't and why the test should be updated.

FileMaker Documentation

Documentation for the FileMaker APIs that fmDotNet covers.

  1. FileMaker Server 12 Web Publishing with XML
  2. FileMaker Server 11 Web Publishing with XSLT and XML

Version

We attempt to stick to Semantic Versioning. Using the Major.Minor.Patch syntax, we attempt to follow the basic rules

  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. PATCH version when you make backwards-compatible bug fixes.

Available on NuGet.org

From Visual Studio, open the Package Manager Console

PM> Install-Package fmDotNet

https://nuget.org/packages/fmDotNet/

License

Common Public License Version 1.0

Clone this wiki locally