Giter Site home page Giter Site logo

24u / fmrestor Goto Github PK

View Code? Open in Web Editor NEW
45.0 15.0 11.0 160 KB

Leverage the FileMaker® 17, 18, 19 & 20 Data API with ease!

Home Page: https://www.24usoftware.com/fmRESTor

License: GNU Lesser General Public License v3.0

filemaker-api filemaker php filemaker17 filemaker-17 api filemaker-dataapi filemaker-databases filemaker18 filemaker-18

fmrestor's Introduction

Leverage the FileMaker® 17, 18, 19 & 20 Data API with ease!

fmRESTor an object-based library developed to seamlessly interact with databases and custom apps hosted on a FileMaker Server via the new powerful FileMaker Data API from within a PHP or JavaScript code. Forget about learning FileMaker Data API in detail, just create a new object, passing it necessary parameters to connect to the database, and use our easy to understand methods to access or modify your data. fmRESTor will take care of authentication, exceptions, and even session preservation in order for your code to be a well-behaving client for the FileMaker Data API without you having to worry about these technical details.

We created fmRESTor for ourselves to make it easier and faster to interact with FileMaker databases from within custom web apps we create, without having to waste our valuable time on repeating writing the same patterns over and over again, hunting for unnecessary bugs, and to be able to produce clean, easy to read and easy to maintain code.

We at 24U believe that the whole FileMaker developers community will benefit from the FileMaker Platform not only having new powerful RESTful API, but also developers using the API nicely and efficiently, therefore we decided to make our library available as Open Source, under the GNU LGPLv3 license.

We will greatly appreciate your contributions, although we cannot provide free support for the library. You may, however, hire us to help you with your projects for money by purchasing our services at https://www.24uSoftware.com/fmRESTor or by utilizing our custom development services, available at https://www.24uSoftware.com/custom-apps.

Flavors

fmRESTor comes in two flavor to let you choose the right match for your project. Each flavor has its own repository you can access below, but the methods of flavors are the same, so once you get used to one, switching to the other one when your projet needs it should be a matter of minutes.

fmRESTor.php

fmRESTor.js


License

fmRESTor is licensed under the "GNU LGPLv3" License.

fmrestor's People

Contributors

filip24u avatar nciske avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fmrestor's Issues

runScript

will version 17 ever support runScript? is there an alternative to running scripts on v17 of Filemaker?

destroySessionToken

destroySessionToken() doesnt check if $_SESSION isset, so it crashes for bots/webcrawlers

Redundant parameters

Thanks for this awesome library, we have one concern about it.

The $fmDataSource array already has some of the variables that are needed for the db connection, but they are also required in the other parameters, seems like only $layout and $host is missing from the array, by adding that to the array wouldn't be better to just pass $options, $fmDataSource?

$fmDataSource = array(
array(
"database" => "fmRESTorBUDY",
"username" => "budy",
"password" => "budy123456"
)
);

$fm = new fmRESTor($host, $database, $layout, $user, $password, $options, $fmDataSource);

Constant not being recognized

The constant like: LOG_TYPE_DEBUG is not being recognized.

I'm using this code without using composer like this:
session_start(); require_once __DIR__ . '/src/fmRESTor.php'; use fmRESTor\fmRESTor; $fm = new fmRESTor($host, $database, $layout, $user, $password, $options, $fmExternalSource);

updating fields to an empty value results in a 507 error

When setting a field to an empty value using editRecord, I get the error response code 507 with the message, "Value in field failed calculation test of validation entry option".

The scenario is that I'm updating a bunch of fields in a record. Some of the fields have a value, and I'm looking set them to empty.

fieldData array looks something like this:
Array
(
[field_1] => 5
[field_2] => banana
[field_3] =>
)

field_3 index is empty and should make the field in FileMaker empty.

Even if there are no validation restrictions on the field in FileMaker, I still get the 507 error.

Passing big parameter in runScript doesn't work

When I pass big parameter in runScript (for example, a big json data) via parameter, I get nothing returned.

However, when I pass small parameter like "abc". It does work.

I think it's a problem with parameter being passed via GET method. Is there any way to pass big parameter?

Can't connect to databases with spaces in db name

I had an issue connecting to a database with space in the name. After replacing the spaces with %20 it successfully connected. Would it make sense to URL encode the db and layout parameters that are used in the URLs?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.