DreamFactory API Management Platform

Overview

DreamFactory

Instant APIs without code

DocsTry OnlineContributeCommunity SupportGet Started Guide

GitHub Docker Pulls Docker Build Status GitHub Release Date

Twitter Follow

Deploy

Table of Contents

Overview

DreamFactory™ is an iPaaS for mobile, web, and IoT applications. It is built on top of the Laravel framework, and includes an AngularJS-driven web administration client. So what can you do with the DreamFactory Platform?

  • Generate powerful, reusable, documented APIs for SQL, NoSQL, files, email, push notifications and more in seconds.
  • Use server-side scripts to easily customize API behavior at any endpoint, for both API requests and API responses.
  • Secure every API endpoint with user management, SSO authentication, role-based access control, OAuth and Active Directory integration.

GitHub stars

Installation

  • Install DreamFactory and all of the required dependencies in less than 5 minutes using our Jeanie Installers for Ubuntu and Debian.
  • Bitnami provides a point and click install process. Just download, walk through the installation steps and you are done!
  • Docker provides a DockerHub image or you can build your own.
  • Raspberry Pi allows you to configure DreamFactory on everybody's favorite tiny computer.

Find a full list of installation options here.

Installing on Heroku

Heroku users can easily install DreamFactory by clicking on the below button. Keep in mind like many Heroku add-ons DreamFactory comes with some limitations such as the inability to deploy a local file system-based REST API due to Heroku's file system write limitations. Additionally, DreamFactory lacks support for multiple dynos. Regardless of these limitations, it's a breeze to get started using DreamFactory on Heroku so give it a whirl!

Deploy

Contact us for more information if you're interested in a feature complete version (whether hosted in our cloud environment or on-premise). Or just spin up a hosted instance right now!

DreamFactory's Cloud Environment

Start a free 14-day hosted trial now by creating a DreamFactory instance at https://genie.dreamfactory.com/.

Documentation

Learn more about DreamFactory's many features by reading our Getting Started Guide. Additional platform documentation can be found on the DreamFactory wiki.

Community

Ask and answer StackOverflow questions with the dreamfactory tag Check out our community forum, ask questions, and discuss project direction Tweet to @dfsoftwareinc or with the #dreamfactory hashtag

Commercial Licenses

In need of official technical support? Desire access to REST API generators for SQL Server, Oracle, SOAP, or mobile push notifications? Require API limiting and/or auditing? Schedule a demo with our team!

Feedback and Contributions

Feedback is welcome on our forum or in the form of pull requests and/or issues. Contributions should follow the strategy outlined in "Contributing to a project".

Comments
  • Missing email parameter after FB oauth_callback POST request

    Missing email parameter after FB oauth_callback POST request

    Hi,

    I'm implementing FB OAuth login in self hosted DF instance. I'm following the tutorial linked here: http://wiki.dreamfactory.com/DreamFactory/Tutorials/Using_OAuth

    When I make the API call to: POST https://your-url/api/v2/user/session?oauth_callback=true&{extracted_query_string_from_callback} I get status 400: {"error":{"code":400,"context":null,"message":"Login request is missing required email.","status_code":400}}

    As far as I understand, I shouldn't provide any email. It looks to me as if the request is misinterpreted as some another kind of login type.

    Same issue is mentioned here but no response was given. http://community.dreamfactory.com/t/log-in-with-facebook-does-not-work/3480

    opened by koko236 19
  • Imported App To Files.  Nothing In Files

    Imported App To Files. Nothing In Files

    I followed this process:

    1. In Apps I selected the Angular app, Storage Service = files, and created a folder in file for the app.

    2. The app imported nicely and I can see the tables and data in DF2. However, there is no new folder or the app in Files. This appears to be a bug but I'm new to DF.

    I dug deep into the DF2 files and couldn't find the app or the storage folder with files and logs folders. The app and those folders aren't in apps/dreamfactory/htdocs/storage.

    I have the recent Bitnami install and the current version of DF2 running on Ubuntu 16.04 in a Vagrant Virtualbox on a Mac. I'm using Nginx.

    question 
    opened by jmpreston 12
  • [SOLVED] Refresh of SOAP service not working properly

    [SOLVED] Refresh of SOAP service not working properly

    I added some plugins which added more API endpoints to my SOAP service.

    In my productive DF, with Redis Cache, the new endpoints showed up in API Docs when I flushed the Cache via "Config"

    However in my sandbox DF with file cache, the API Docs doesnt update. Even worse, I created a new service with same WSDL URLbut that new service also doesnt list the new endpoints.

    Why ?

    enhancement 
    opened by philicious 12
  • Unable to execute mysql _func/functions after upgrading to DF 2.9 it was working in 2.6

    Unable to execute mysql _func/functions after upgrading to DF 2.9 it was working in 2.6

    Pleas see the below error log.

    [2017-10-23 13:03:10] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Type error: Argument 1 passed to DreamFactory\Core\Database\Components\Schema::loadProcedure() must be an instance of DreamFactory\Core\Database\Schema\ProcedureSchema, instance of DreamFactory\Core\Database\Schema\FunctionSchema given, called in /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-database/src/Components/Schema.php on line 377 in /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-database/src/Components/Schema.php:716 Stack trace: #0 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-database/src/Components/Schema.php(377): DreamFactory\Core\Database\Components\Schema->loadProcedure(Object(DreamFactory\Core\Database\Schema\FunctionSchema)) #1 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-sqldb/src/Resources/StoredFunction.php(348): DreamFactory\Core\Database\Components\Schema->getResource('procedure', Object(DreamFactory\Core\Database\Schema\FunctionSchema)) #2 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-sqldb/src/Resources/StoredFunction.php(241): DreamFactory\Core\SqlDb\Resources\StoredFunction->callFunction() #3 [internal function]: DreamFactory\Core\SqlDb\Resources\StoredFunction->handleGET() #4 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(340): call_user_func(Array) #5 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(201): DreamFactory\Core\Components\RestHandler->processRequest() #6 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(259): DreamFactory\Core\Components\RestHandler->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), 'test') #7 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(176): DreamFactory\Core\Components\RestHandler->handleResource(Array) #8 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(129): DreamFactory\Core\Components\RestHandler->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), '_func/test') #9 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(262): DreamFactory\Core\Services\BaseRestService->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), '_func/test') #10 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(163): DreamFactory\Core\Http\Controllers\RestController->handleService('v2', 'dev', '_func/test') #11 [internal function]: DreamFactory\Core\Http\Controllers\RestController->handleGET('v2', 'dev', '_func/test') #12 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(55): call_user_func_array(Array, Array) #13 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(44): Illuminate\Routing\Controller->callAction('handleGET', Array) #14 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(DreamFactory\Core\Http\Controllers\RestController), 'handleGET') #15 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(160): Illuminate\Routing\Route->runController() #16 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(572): Illuminate\Routing\Route->run() #17 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #18 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Middleware/AccessCheck.php(135): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #19 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): DreamFactory\Core\Http\Middleware\AccessCheck->handle(Object(Illuminate\Http\Request), Object(Closure)) #20 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request)) #21 /opt/bitnami/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Middleware/AuthCheck.php(232): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #22 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): DreamFactory\Core\Http\Middleware\AuthCheck->handle(Object(Illuminate\Http\Request), Object(Closure)) #23 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request)) #24 /opt/bitnami/apps/dreamfactory/htdocs/vendor/barryvdh/laravel-cors/src/HandleCors.php(34): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #25 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure)) #26 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request)) #27 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #28 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(574): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #29 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(533): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request)) #30 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(511): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request)) #31 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request)) #32 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request)) #33 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #34 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure)) #35 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request)) #36 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #37 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure)) #38 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request)) #39 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request)) #40 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure)) #41 /opt/bitnami/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request)) #42 /opt/bitnami/apps/dreamfactory/htdocs/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request)) #43 {main}

    opened by hbsuhas 11
  • Blank Screen After Install Without Errors

    Blank Screen After Install Without Errors

    I just did a clean install of DF2 and I cannot seem to access the admin login. I point my browser to the index.php in the public folder but no good. All I get is a blank screen. My Apache logs have no errors and DF itself doesn't have any log files in the log directory. Database is there and so is admin user. Any ideas?

    I've also pointed to login.html and tried using that form which only gives an error that /rave/auth/login could not be found. Also, why isn't that password line a password input? It shows password in plain view?

    help wanted 
    opened by dresch86 11
  • Laravel 5.8 Shift

    Laravel 5.8 Shift

    This pull request includes the changes for upgrading to Laravel 5.8. Feel free to commit any additional changes to the shift-18928 branch.

    Before merging, you need to:

    • Checkout the shift-18928 branch
    • Review all pull request comments for additional changes
    • Update your dependencies for Laravel 5.8
    • Run composer update (if the scripts fail, add --no-scripts)
    • Thoroughly test your application (no tests?)

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by ghost 10
  • AWS SNS: All calls with {app_name} or {endpoint_name} as URL param are broken

    AWS SNS: All calls with {app_name} or {endpoint_name} as URL param are broken

    All calls like GET /push/app/{app_name} are broken. Same for the {endpoint_name}

    The problem is that you have to supply the full ARN like arn:aws:sns:eu-central-1:123456789:app/GCM/foobar which results in an URL like api/v2/push/app/arn%3Aaws%3Asns%3Aeu-central-1%3A123456789%3Aapp%2FGCM%2Ffoobar which leads to

    The requested URL /api/v2/push/app/arn:aws:sns:eu-central-1:123456789:app/GCM/foobar was not found on this server.

    So the encoding of the ARN is a problem. If you change webserver vhost to AllowEncodedSlashes On (Apache) , then at least the calls with {endpoint_name} are working. However some with {app_name} are still broken as df-aws likely does sth wrong

    (Reason: An ARN must have at least 6 elements, not 5)

    api/v2/push/app/arn%3Aaws%3Asns%3Aeu-central-1%3A123456789%3Aapp%2FGCM%2Ffoobar/endpoint
    
        "message": "Error executing "GetEndpointAttributes" on "https://sns.eu-central-1.amazonaws.com"; AWS HTTP error: Client error: `POST https://sns.eu-central-1.amazonaws.com` resulted in a `400 Bad Request` response:\n<ErrorResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">\n  <Error>\n    <Type>Sender</Type>\n    <Code>InvalidPara (truncated...)\n InvalidParameter (client): Invalid parameter: EndpointArn Reason: An ARN must have at least 6 elements, not 5 - <ErrorResponse xmlns="http://sns.amazonaws.com/doc/2010-03-31/">\n  <Error>\n    <Type>Sender</Type>\n    <Code>InvalidParameter</Code>\n    <Message>Invalid parameter: EndpointArn Reason: An ARN must have at least 6 elements, not 5</Message>\n  </Error>\n  <RequestId>6893163f-0c7e-527a-8f0e-461d820b12b3</RequestId>\n</ErrorResponse>\n",
        "code": 500,
        "trace": [
          "0 /opt/dreamfactory/vendor/dreamfactory/df-aws/src/Resources/SnsEndpoint.php(261): DreamFactory\\Core\\Aws\\Services\\Sns::translateException(Object(Aws\\Sns\\Exception\\SnsException))",
          "1 /opt/dreamfactory/vendor/dreamfactory/df-aws/src/Resources/SnsEndpoint.php(186): DreamFactory\\Core\\Aws\\Resources\\SnsEndpoint->retrieveEndpoint('foobar/endpoi...')",
          "2 [internal function]: DreamFactory\\Core\\Aws\\Resources\\SnsEndpoint->handleGET()",
    
    opened by philicious 10
  • Changing max_records_returned doesn't have any effect on returned data

    Changing max_records_returned doesn't have any effect on returned data

    Hi,

    I'm working with dreamfactory 2.0.1. When querying a SQL Server through the API, it only returns 1000 records. Searching online we found that you can change the maximum number of returned records in config/df.php modifying the following line: 'max_records_returned' => env('DF_DB_MAX_RECORDS_RETURNED', 1000), but if we modify that to 4000, we still get 1000 records.

    We then found the .env file and tried uncommenting and editing this line: ##DF_DB_MAX_RECORDS_RETURNED=1000 to something higher, but it didn't work.

    Oh, and we also tried decreasing the value to something like 500 on both files and it still returned 1000.

    So now what? Is it even possible to change the number of returned records or will it always be 1000 per query?

    Thank you!

    opened by alexarraiza 10
  • Laravel 5.6 Shift

    Laravel 5.6 Shift

    This pull request includes the changes for upgrading to Laravel 5.6. Feel free to commit any additional changes to the shift-18526 branch.

    Before merging, you should:

    • Checkout the shift-18526 branch
    • Review all pull request comments for additional changes
    • Update your dependencies for Laravel 5.6
    • Run composer update (if the scripts fail, add --no-scripts)
    • Thoroughly test your application (no tests?)

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by ghost 9
  • index.html in JavaScript Address Book Example Invalid XML Payload Error

    index.html in JavaScript Address Book Example Invalid XML Payload Error

    I'm going through the JavaScript sample program. When I open the file and try to save it having made no changes I get an xml payload error. I've attached a screenshot of the dialog box. javascript addressbook

    bug 
    opened by thallstein 9
  • Laravel 6.0 Shift

    Laravel 6.0 Shift

    This pull request includes the changes for upgrading to Laravel 6.0. Feel free to commit any additional changes to the shift-19036 branch.

    Before merging, you need to:

    • Checkout the shift-19036 branch
    • Review all pull request comments for additional changes
    • Update your dependencies for Laravel 6.0
    • Run composer update (if the scripts fail, add --no-scripts)
    • Thoroughly test your application (no tests?)

    If you need help with your upgrade, check out the Human Shifts. You may also join the Shifty Coders Slack workspace to level-up your Laravel skills.

    opened by ghost 8
  • DF using deprecated PHP version 7.4. Please upgrade to 8.2

    DF using deprecated PHP version 7.4. Please upgrade to 8.2

    opened by tvarsis 0
  • Blog page layout broken for mobile display on Chrome browser

    Blog page layout broken for mobile display on Chrome browser

    Hey all! Not sure where to best report this, but I thought I should give a heads up that while I was reading this page:

    https://blog.dreamfactory.com/microservices-examples/

    The ad to sign up for generating no-code API might not be accounted for in any CSS media queries and thus breaks the page layout like so:

    Screenshot_20220623-195512_Chrome.jpg

    opened by 7MinutesDead-Git 0
  • FirebirdSchema

    FirebirdSchema

    in line 72 of FirebirdSchema.php the compact function tries to add the variable 'parameters' to the array, but there is no such variable. Therefore one cannot define a role for access to a Firebird DB. An error message states that there is an error at a "comapct call".

    Change this line to:

    $settings = compact('schemaName', 'resourceName', 'name', 'internalName', 'quotedName'); //omit the 'parameters' variable

    opened by MrSpockDe 0
  • Firebird Stored procedure

    Firebird Stored procedure

    Firebird Stored procedure does still not work (I reported it already in 2019).

    Now, when I use API Docs to list the StoredProceured (_proc), I receive php code snippets back and not a single Proc Name.

    opened by MrSpockDe 0
  • FirebirdConnection

    FirebirdConnection

    Hi, ion the file FirebirdConnection.php overrides the method table() of its BaseClass Connection. ent Base class declaration:

    public table($table, $as = NULL)

    FirebirdConnection declaration:

    public table($table)

    at least unter php 7.4 it is not allowed to use a different declaration.

    opened by MrSpockDe 0
Releases(4.12.0)
  • 4.12.0(Jul 28, 2022)

    We are pleased to announce DreamFactory 4.12.0!

    DreamFactory 4.12.0 has two new connectors:

    • Google AlloyDB (Available to everyone)
    • Google BigQuery (Available to our Big Data package customers)

    We have also fixed an issue where the schema of a SQL Server stored procedure was not being called correctly.

    On the security side, we have strengthened the email sanitizer on the default email templates, and added headers to prevent xss issues in the Nginx template bundled with DreamFactory (installed by default when using our installers).

    Source code(tar.gz)
    Source code(zip)
  • 4.11.1(Jun 7, 2022)

    Announcing DreamFactory 4.11.1! We are excited to release DreamFactory 4.11.0! Along with the usual bug fixes, we have done some hardening on the security of the DreamFactory platform, and also added additional support on newer OS releases of Fedora and Debian

    • Added support for Fedora 35 and 36
    • Removed support for Fedora 32
    • Added support for Debian 11
    • Fixed issue with oauth and openid connectors not returning the correct response on sign in.
    • Breaking Change -> When updating your own email address, you will now need to confirm your current password (either through the UI, or by adding a current_password field to the api payload.
    • the system/environment endpoint will no longer return php variables for system / root administrators.
    • Our nginx template (used if you are setting up DreamFactory using our installer) will, by default, add an api limit of one call per second to the user/session and admin/session endpoints (i.e when logging in). This can be amended / removed to your needs in the nginx configuration file. We hope it gives you an idea of how to harden your server via nginx.
    Source code(tar.gz)
    Source code(zip)
  • 4.11.0(Mar 30, 2022)

    Announcing DreamFactory 4.11.0!

    We are excited to release DreamFactory 4.11.0! Along with bug fixes, we have added a few new features and performance improvements to DreamFactory, notably:

    • We have added native support for MongoDb Databases that utilize shards / replica sets, mainly for MongoDB Atlas databases. Now you can use the +srv prefix in your dsn connection string instead of having to write out each and every shard within your database.
    • We have added a count_only parameter to the system endpoints if you only want to return the total number of e.g. users
    • The logstash UI service endpoints should now load in a lot quicker than before, particularly if you have Azure Blob or AWS S3 services.

    Bug Fixes

    • Fixed an issue where S3 and Azure folders were returning as "not found" despite files existing within them on the Files tab.
    • Fixed an issue where S3 get requests to the root were timing out for very large buckets
    • Resolved our installer thinking that mysql already existed on the server for Debian 9
    • Resolved Snowflake driver not installing correctly on Fedora 33 and RHEL 8
    Source code(tar.gz)
    Source code(zip)
  • 4.10.2(Feb 10, 2022)

    DreamFactory 4.10.2 Installers Update

    We have made a major overhaul to the installation process (on Linux) for DreamFactory. Now instead of choosing the correct script for your OS, and then running the script with flags for the options you require, we have one file dfsetup.run which contains an interactive menu allowing you to choose which additional options (if any) you want.

    We hope this makes it a little bit easier to get DreamFactory up and running on your servers.

    Source code(tar.gz)
    Source code(zip)
  • 4.10.1(Jan 19, 2022)

    A minor patch release.

    We have made some bug fixes to our Logstash and HTTP services. in addition DreamFactory will now install on Composer versions above 2.2.0

    Source code(tar.gz)
    Source code(zip)
  • 4.10.0(Dec 15, 2021)

    Dreamfactory Release 4.10.0

    • The installers have had a major makeover, and now break down what is being installed in more detail. We hope this will provide you more feedback while the installation takes place, and soothe any "has it frozen?" fears. In addition, for nginx (i.e. default) installations, the installer will create and assign a "dreamfactory" user to the installation location and PHP-FPM automatically, providing additional security. Finally, we have now added official support for RHEL / CentOS 8, Fedora 34, and Ubuntu 20. The installers will no longer work out of the box on Fedora 31, Debian 8 nor Ubuntu 16 (and versions prior to the aforementioned).

    • UI/UX-wise, our notification system has been overhauled with a much more modern look. We have also removed a bug in the Logstash configuration screen which previously did not always save every data object the user wanted to capture.

    • Snowflake - We have now added POST request endpoints and support for stored procedures to our Snowflake connector!

    • Elsewhere we have made several bug fixes, and have improved some error messages to provide more clarity.

    Source code(tar.gz)
    Source code(zip)
  • 4.9.0(Sep 13, 2021)

    DreamFactory 4.9.0 is here! This release is a mix of bug fixes and UX improvements. Perhaps the most notable change is the addition of a "Quick Links" section (see attached screenshot) to an API's Overview tab. It's now possible to jump directly to an API's scripted endpoints, API documentation, and associated roles!

    We also improved the API creation workflow, flagging database connection issues with some additional diagnostic information, fixed some dependency issues with the CentOS / RHEL installers, and fixed a few other lingering bugs.

    In the upcoming release we'll be announcing revamped installers for CentOS, Debian, Ubuntu, Fedora, ensuring you can install DreamFactory faster and more conveniently than ever!

    Source code(tar.gz)
    Source code(zip)
  • 4.8.0(Jun 15, 2021)

    Announcing DreamFactory 4.8.0! This release focuses on user experience, notably with regards to database API generation. The most popular database connectors (MySQL, MariaDB, PostgreSQL, MS SQL Server, Oracle) have long offered a large list of options, and it hasn't always been obvious which ones are required and which are optional. To remedy this we've broken the service creation form for these connectors into three sections: Basic, Caching, and Optional Advanced Settings.

    We're also working on a series of UX improvements intended to more effectively guide new users through the API generation process. Notably, for most basic use cases the administrator completes three tasks: generate the API, create a role-based access control (RBAC), and then associate the RBAC with a newly generated API key. That first step occurs under the Services tab, so in this 4.8.0 release we've moved that tab to the second position in the navigational bar, which will hopefully be the natural first tab a user clicks on after logging in and landing on the Home tab.

    In a forthcoming release we'll be improving the service profile detail page, and providing users with additional direction regarding what steps should occur after generating a new API.

    Do you have any ideas regarding how we can improve DreamFactory's UX? Tell us about them at [email protected]!

    Source code(tar.gz)
    Source code(zip)
  • 4.7.0(May 20, 2021)

    DreamFactory 4.7.0 has been released with a collection of new features and bug fixes!

    • DP-254: The universal web connector now supports the use of single quotes, allowing for URLs such as /ecommerce/_api/Web/Lists/GetByTitle('Product Names'). This is particularly useful for SharePoint projects.
    • DP-303: We've fixed an API endpoint scripting-related bug when the endpoint is associated with a database that uses mixed table name casing.
    • DP-308: The DreamFactory web interface home screen includes references to various educational resources, and embeds an introductory YouTube video. We've updated the video to point to one of our more recently published platform introductions. You can watch the video here.
    • DFSAAS-138: When using MySQL as the system database in a high traffic environment it's now possible to define separate read and write databases for performance reasons.
    • DreamFactory is bundled with four Linux installers (CentOS, Debian, Fedora, Ubuntu) that make installation a breeze. In this release we've made some minor improvements to the installer README.
    • DP-237: After installing and configuring DreamFactory, users are prompted to create the first administrator account. This can be done using the CLI or a web-based form. We've updated the web form to match the theme introduced in an earlier release.
    • DP-298: Just a minor typo fix. The word 'foreign' was misspelled in the Schema tab when referencing MS SQL Server databases.
    • DP-320: Bumped various JavaScript libraries.
    Source code(tar.gz)
    Source code(zip)
  • 4.6.1(Apr 20, 2021)

  • 4.6.0(Apr 9, 2021)

    On Friday (April 9, 2021) we released DreamFactory 4.6. This is the most significant UI release since the 3.0 overhaul, including the following interface improvements:

    • DP-262: Instant search added for the Apps, Roles, and Services tabs.
    • DP-261: The eternally confusing external IP address widget has been removed.
    • DP-266: When creating a role via the Roles tab, the Service dropdown is now alphabetized rather than ordered according to creation date.
    • DP-269: When creating or viewing endpoint logic via the Scripts tab, the services are now alphabetized rather than ordered according to creation date.

    In addition to these UI enhancements we’ve improved AWS SES support (DP-257) by addition four more regions (Frankfurt, Paris, Stockholm, and Bahrain). We also fixed an issue (DP-239) that prevented email template from being edited directly within the DreamFactory administration interface.

    Source code(tar.gz)
    Source code(zip)
  • 4.5.3(Mar 5, 2021)

  • 4.5.2(Mar 4, 2021)

  • 4.5.1(Mar 1, 2021)

  • 4.5.0(Feb 19, 2021)

  • 4.4.0(Jan 22, 2021)

  • 4.3.3(Dec 10, 2020)

  • 4.3.2(Sep 29, 2020)

  • 4.3.1(Jul 1, 2020)

  • 4.3.0(Jun 30, 2020)

    • DP-175 Fix dreamfactory/df-mongo-logs deprecation warning
    • DP-193 Display instance_id in df-admin-app Config tab
    • DP-199 Fixed regression bug associated with DF_ALWAYS_WRAP_RESOURCES and the Services tab
    • DP-209 ORA-06502: PL/SQL: numeric or value error: character string buffer too small
    • DP-213 Updated two package.json dependencies
    • DP-214 Fix dreamfactory/df-mongo-logs deprecation warning
    • DP-193 Fix issue with LDAP group-to-role mapping
    Source code(tar.gz)
    Source code(zip)
  • 4.2.2(May 18, 2020)

  • 4.2.1(May 4, 2020)

  • 4.2.0(May 1, 2020)

    DP-39 [3.0] The background is too small on the homepage DP-181 DreamFactory on the AWS Marketplace DP-184 Integrate license keys into hosted environments DP-194 Fix dreamfactory/df-core — deprecation warning DP-195 Fix dreamfactory/df-email deprecation warning DP-196 Fix hasRole method DP-197 Windows IIS install File Upload does not work DP-199 Uncommenting DF_ALWAYS_WRAP_RESOURCES breaks the Services tab DP-200 Fix restricted admin widget paywall DP-202 Add PostgreSQL materialized view support

    Source code(tar.gz)
    Source code(zip)
  • 4.1.1(Apr 10, 2020)

    We've had another few busy weeks at DreamFactory HQ! Version 4.1.1 is largely a bug fix and maintenance release, with one new minor configuration feature. We've added an EXTERNAL_IP configuration parameter which administrators can use to specify a DreamFactory instance's external IP address. If set, DreamFactory will not automatically attempt to determine the external IP address using a web service call. This is useful for users running DreamFactory in a firewalled environment.

    • DP-180 Fixed a bug associated with the scheduler UI's ability to retain interval values.
    • DP-183 Update LDAP support for PHP 7.4+
    • DP-189 Add configuration override for remote IP retrieval method
    • DP-190 Fixed a bug associated with the OpenID Connect connector due to contract conflict with third-party package.
    Source code(tar.gz)
    Source code(zip)
  • 4.1.0(Apr 1, 2020)

  • 4.0.1(Mar 18, 2020)

    • DP-160 Update platform favicon
    • DP-153 Fixes issue associated with Microsoft SQL Server behavior when used as the system database
    • DP-170 Fixes issue associated with the restricted administration behavior when PostgreSQL is used as the system database.

    Regarding DP-160, back in late 2018 we rebranded DreamFactory, updating the logo and colors. For some reason the old favicon (the miniature website icon you see in some browser address bars) stuck around in the code base, and in this release we updated it to the genie lamp.

    Source code(tar.gz)
    Source code(zip)
  • 4.0.0(Jan 29, 2020)

    • DP-151 Remove V8JS from all versions of DreamFactory

    Like most modern software, DreamFactory relies upon a great deal of third-party software and drivers. One particular driver has been giving both us and users endless problems over the past 2 years or so. Unfortunately this driver facilitates the V8JS scripting engine that has long been a part of the platform (DreamFactory also supports 3 other scripting engines, including NodeJS, PHP, and Python). Therefore we made the difficult decision to end support for the V8JS scripting engine, and because this is a breaking change we bumped the major version to 4 so as to not cause compatibiity issues for our 3.X users.

    Source code(tar.gz)
    Source code(zip)
  • 3.1.2(Jan 14, 2020)

    • DP-100 Increase session time to 1 day

    Many DreamFactory users noted the short session expiration time when logged into the administration interface, which was previously set to 60 minutes. When the session expires, the user is forced to login anew. Sometimes DreamFactory users spend significant amounts of time inside the administration interface, and therefore to remove this annoyance we bumped the JWT token time-to-live (TTL) to 24 hours (1440 minutes).

    This value is easily changed to whatever TTL you'd like by opening the .env file and modifying the DF_JWT_TTL variable to a more suitable expiration time defined in minutes. After making this change don't forget to run the following command from your DreamFactory root directory:

    $ php artisan config:clear
    
    Source code(tar.gz)
    Source code(zip)
  • 3.1.1(Nov 26, 2019)

    • DP-115 Add API call scheduling capabilities to platform
    • Improved Excel connector's role-based access controls capabilities

    Our commercial users have long requested a point-and-click solution for scheduling API calls. Our 3.1.1 commercial release includes a new feature which allows administrators to schedule API calls at a per-minute resolution (once per minute, once every 5 minutes, once every hour, etc). The scheduler isn't limited to GET calls either! POST, PUT, PATCH, and DELETE are also supported, and you can accompany requests with companion payloads.

    In this release we also improved the Excel connector's role-based access control capabilities.

    If you'd like a demonstration of the new scheduling or Excel connector features, head over to https://www.dreamfactory.com/demo/ to schedule a quick call!

    Source code(tar.gz)
    Source code(zip)
  • 3.1.0(Oct 29, 2019)

    This release includes Laravel 6 support. Laravel 6 is an LTS (long term support) release, promising bug fixes through September 3rd, 2021 and security fixes through September 3, 2022.

    Commercial users also have access to our new Excel connector! This connector converts an Excel spreadsheet into a JSON stream. You can choose to return the entire workbook (all tabs) as JSON, or select a specific workbook tab. Learn more about this new feature in our blog post.

    If you'd like a demonstration of the new scheduling or Excel connector features, head over to https://www.dreamfactory.com/demo/ to schedule a quick call!

    Source code(tar.gz)
    Source code(zip)
Owner
DreamFactory Software, Inc.
DreamFactory Software, Inc.
The server component of API Platform: hypermedia and GraphQL APIs in minutes

API Platform Core API Platform Core is an easy to use and powerful system to create hypermedia-driven REST and GraphQL APIs. It is a component of the

API Platform 2.2k Dec 27, 2022
Open Source Telecommunications API Platform

A reimplementation of the open source Plivo framework on top of ReactPHP and FreeSWITCH. If you are not familiar with the legacy platform, please inspect its repository as well as the archived web resources here, here and here.

rtckit 33 Nov 25, 2022
Petstore is a sample API that simulates a pet shop management server🐶

Petstore is a sample API that simulates a pet shop management server. The API allows you to access Petstore data using a set of individual calls

Wilmer Rodríguez S 1 Jan 8, 2022
Official docker container of Fusio an open source API management system

Fusio docker container Official docker container of Fusio. More information about Fusio at: https://www.fusio-project.org Usage The most simple usage

Apioo 28 Dec 13, 2022
Simple and effective multi-format Web API Server to host your PHP API as Pragmatic REST and / or RESTful API

Luracast Restler ![Gitter](https://badges.gitter.im/Join Chat.svg) Version 3.0 Release Candidate 5 Restler is a simple and effective multi-format Web

Luracast 1.4k Dec 14, 2022
OpenClassify - Laravel 8 Classified Script Platform

OpenClassify is modular and most advanced open source classified platform build with Laravel 8 & PHP 7.3+ Supported

openclassify 184 Dec 28, 2022
Platform to get informations about any country.

OpenCountries This project is a web platform developped in PHP implementing the RestCountries API. The objective of the project is to get informations

null 3 May 2, 2022
Online Book Store is a E-commerce Website and Book Conversion(pdf to audio and Img to txt) and Book Sharing platform.

Online-Book-Store Online Book Store is a E-commerce Website and Book Conversion(pdf to audio and Img to txt) and Book Sharing platform. The main descr

Gokul krishnan 1 May 22, 2022
Provides tools for building modules that integrate Nosto into your e-commerce platform

php-sdk Provides tools for building modules that integrate Nosto into your e-commerce platform. Requirements The Nosto PHP SDK requires at least PHP v

Nosto 5 Dec 21, 2021
Facebook SDK for PHP (v6) - allows you to access the Facebook Platform from your PHP app

Facebook SDK for PHP (v6) This repository contains the open source PHP SDK that allows you to access the Facebook Platform from your PHP app. Installa

null 0 Aug 10, 2022
RecordManager is a metadata record management system intended to be used in conjunction with VuFind.

RecordManager is a metadata record management system intended to be used in conjunction with VuFind. It can also be used as an OAI-PMH repository and a generic metadata management utility.

National Library of Finland 42 Dec 14, 2022
This API aims to present a brief to consume a API resources, mainly for students in the early years of Computer Science courses and the like.

Simple PHP API v.1.0 This API aims to present a brief to consume a API resources, mainly for students in the early years of Computer Science courses a

Edson M. de Souza 14 Nov 18, 2021
微信支付 API v3 的 PHP Library,同时也支持 API v2

微信支付 WeChatPay OpenAPI SDK [A]Sync Chainable WeChatPay v2&v3's OpenAPI SDK for PHP 概览 微信支付 APIv2&APIv3 的Guzzle HttpClient封装组合, APIv2已内置请求数据签名及XML转换器,应

null 275 Jan 5, 2023
This API provides functionality for creating and maintaining users to control a simple To-Do-List application. The following shows the API structure for users and tasks resources.

PHP API TO-DO-LIST v.2.0 This API aims to present a brief to consume a API resources, mainly for students in the early years of Computer Science cours

Edson M. de Souza 6 Oct 13, 2022
API documentation API SCB EASY APP

SCB-API-EASY V3.0 API documentation SIAM COMMERCIAL BANK PUBLIC COMPANY LTD. API SCB Easy V3 endpoint = https://fasteasy.scbeasy.link 1.0. Get balance

SCB API Esay team 2 Sep 28, 2021
Courier API adalah project API untuk mengetahui ongkos kirim Logistik-logistik pengiriman barang antar kota & International

Courier API Courier API adalah project API untuk mengetahui ongkos kirim Logistik-logistik pengiriman barang antar kota (dalam negeri) & International

Rangga Darmajati 2 Sep 24, 2021
Laravel api tool kit is a set of tools that will help you to build a fast and well-organized API using laravel best practices.

Laravel API tool kit and best API practices Laravel api tool kit is a set of tools that will help you to build a fast and well-organized API using lar

Ahmed Esa 106 Nov 22, 2022
LaraBooks API - Simple API for iOS SwiftUI app tests.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Konrad Podrygalski 1 Nov 13, 2021
Simple PHP API client for tube-hosting.com rest API

Tube-Hosting API PHP client Explanation This PHP library is a simple api wrapper/client for the tube-hosting.com api. It is based on the provided docu

null 4 Sep 12, 2022