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".

Issues
  • 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
  • [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
  • 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
  • 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
  • Why did you guys remove MS SQL from the free version.?

    Why did you guys remove MS SQL from the free version.?

    I just updated to beta 3. And it shows unsupported ms sql. My all databases are gone.

    opened by damionx7 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
  • Packets out of order

    Packets out of order

    Hello everyone. I'm trying to call an stored procedure but apparently it doesn't work when i use cursor inside.

    DreamFactory Instance

    DreamFactory Version: 2.14.0 System Database: mysql

    Server

    Operating System: linux Release: 4.15.0-1021-aws Version: 21-Ubuntu SMP Tue Aug 28 10:23:07 UTC 2018 Machine: x86_64 PHP Version: 7.1.30 PHP Server API: Apache 2.0 Handler

    {"statusCode":500,"body":"{\\"error\\":{\\"code\\":500,\\"context\\":null,\\"message\\":\\"Failed to call database stored procedure.\\\\nPackets out of order. Expected 1 received 12. Packet size=75\\",\\"trace\\":[\\"0 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-sqldb/src/Resources/StoredProcedure.php(258): DreamFactory\\\\\\\\Core\\\\\\\\SqlDb\\\\\\\\Resources\\\\\\\\StoredProcedure->callProcedure()\\",\\"1 [internal function]: DreamFactory\\\\\\\\Core\\\\\\\\SqlDb\\\\\\\\Resources\\\\\\\\StoredProcedure->handlePOST()\\",\\"2 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(335): call_user_func(Array)\\",\\"3 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(197): DreamFactory\\\\\\\\Core\\\\\\\\Components\\\\\\\\RestHandler->processRequest()\\",\\"4 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(254): DreamFactory\\\\\\\\Core\\\\\\\\Components\\\\\\\\RestHandler->handleRequest(Object(DreamFactory\\\\\\\\Core\\\\\\\\Utility\\\\\\\\ServiceRequest), 'procedure...')\\",\\"5 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Components/RestHandler.php(172): DreamFactory\\\\\\\\Core\\\\\\\\Components\\\\\\\\RestHandler->handleResource(Array)\\",\\"6 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(146): DreamFactory\\\\\\\\Core\\\\\\\\Components\\\\\\\\RestHandler->handleRequest(Object(DreamFactory\\\\\\\\Core\\\\\\\\Utility\\\\\\\\ServiceRequest), '_proc/indicador...')\\",\\"7 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Services/ServiceManager.php(496): DreamFactory\\\\\\\\Core\\\\\\\\Services\\\\\\\\BaseRestService->handleRequest(Object(DreamFactory\\\\\\\\Core\\\\\\\\Utility\\\\\\\\ServiceRequest), '_proc/indicador...')\\",\\"8 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): DreamFactory\\\\\\\\Core\\\\\\\\Services\\\\\\\\ServiceManager->handleServiceRequest(Object(DreamFactory\\\\\\\\Core\\\\\\\\Utility\\\\\\\\ServiceRequest), 'mydb', '_proc/indicador...', false)\\",\\"9 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(159): Illuminate\\\\\\\\Support\\\\\\\\Facades\\\\\\\\Facade::__callStatic('handleServiceRe...', Array)\\",\\"10 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(118): DreamFactory\\\\\\\\Core\\\\\\\\Http\\\\\\\\Controllers\\\\\\\\RestController->handleServiceRequest(Object(DreamFactory\\\\\\\\Core\\\\\\\\Utility\\\\\\\\ServiceRequest), 'mydb', '_proc/indicador...')\\",\\"11 [internal function]: DreamFactory\\\\\\\\Core\\\\\\\\Http\\\\\\\\Controllers\\\\\\\\RestController->handleVersionedService('v2', 'mydb', '_proc/indicador...')\\",\\"12 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)\\",\\"13 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\\\\\\\Routing\\\\\\\\Controller->callAction('handleVersioned...', Array)\\",\\"14 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\\\\\\\Routing\\\\\\\\ControllerDispatcher->dispatch(Object(Illuminate\\\\\\\\Routing\\\\\\\\Route), Object(DreamFactory\\\\\\\\Core\\\\\\\\Http\\\\\\\\Controllers\\\\\\\\RestController), 'handleVersioned...')\\",\\"15 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\\\\\\\Routing\\\\\\\\Route->runController()\\",\\"16 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\\\\\\\Routing\\\\\\\\Route->run()\\",\\"17 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\\\\\\\Routing\\\\\\\\Router->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"18 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Middleware/AccessCheck.php(62): Illuminate\\\\\\\\Routing\\\\\\\\Pipeline->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"19 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): DreamFactory\\\\\\\\Core\\\\\\\\Http\\\\\\\\Middleware\\\\\\\\AccessCheck->handle(Object(Illuminate\\\\\\\\Http\\\\\\\\Request), Object(Closure))\\",\\"20 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\\\\\\\Pipeline\\\\\\\\Pipeline->Illuminate\\\\\\\\Pipeline\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"21 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Middleware/AuthCheck.php(232): Illuminate\\\\\\\\Routing\\\\\\\\Pipeline->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"22 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): DreamFactory\\\\\\\\Core\\\\\\\\Http\\\\\\\\Middleware\\\\\\\\AuthCheck->handle(Object(Illuminate\\\\\\\\Http\\\\\\\\Request), Object(Closure))\\",\\"23 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\\\\\\\Pipeline\\\\\\\\Pipeline->Illuminate\\\\\\\\Pipeline\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"24 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/dreamfactory/df-core/src/Http/Middleware/VerbOverrides.php(42): Illuminate\\\\\\\\Routing\\\\\\\\Pipeline->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"25 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): DreamFactory\\\\\\\\Core\\\\\\\\Http\\\\\\\\Middleware\\\\\\\\VerbOverrides->handle(Object(Illuminate\\\\\\\\Http\\\\\\\\Request), Object(Closure))\\",\\"26 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\\\\\\\Pipeline\\\\\\\\Pipeline->Illuminate\\\\\\\\Pipeline\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"27 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/barryvdh/laravel-cors/src/HandleCors.php(37): Illuminate\\\\\\\\Routing\\\\\\\\Pipeline->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"28 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Barryvdh\\\\\\\\Cors\\\\\\\\HandleCors->handle(Object(Illuminate\\\\\\\\Http\\\\\\\\Request), Object(Closure))\\",\\"29 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\\\\\\\Pipeline\\\\\\\\Pipeline->Illuminate\\\\\\\\Pipeline\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"30 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\\\\\\\Routing\\\\\\\\Pipeline->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"31 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\\\\\\\Pipeline\\\\\\\\Pipeline->then(Object(Closure))\\",\\"32 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\\\\\\\Routing\\\\\\\\Router->runRouteWithinStack(Object(Illuminate\\\\\\\\Routing\\\\\\\\Route), Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"33 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\\\\\\\Routing\\\\\\\\Router->runRoute(Object(Illuminate\\\\\\\\Http\\\\\\\\Request), Object(Illuminate\\\\\\\\Routing\\\\\\\\Route))\\",\\"34 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\\\\\\\Routing\\\\\\\\Router->dispatchToRoute(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"35 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\\\\\\\Routing\\\\\\\\Router->dispatch(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"36 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\\\\\\\Foundation\\\\\\\\Http\\\\\\\\Kernel->Illuminate\\\\\\\\Foundation\\\\\\\\Http\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"37 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\\\\\\\Routing\\\\\\\\Pipeline->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"38 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\\\\\\\Foundation\\\\\\\\Http\\\\\\\\Middleware\\\\\\\\ValidatePostSize->handle(Object(Illuminate\\\\\\\\Http\\\\\\\\Request), Object(Closure))\\",\\"39 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\\\\\\\Pipeline\\\\\\\\Pipeline->Illuminate\\\\\\\\Pipeline\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"40 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\\\\\\\Routing\\\\\\\\Pipeline->Illuminate\\\\\\\\Routing\\\\\\\\{closure}(Object(Illuminate\\\\\\\\Http\\\\\\\\Request))\\",\\"41 /home/ubuntu/dreamfactory-2.14.1-13/apps/dreamfactory/htdocs/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\\\\\\\Foundation\\\\\\\\Http\\\\\\\\Middleware\\\\\\\\CheckForMaintenanceMode->handl...

    opened by alsohi24 1
  • Ubuntu 20 installer support

    Ubuntu 20 installer support

    null

    opened by yaroslavmo 0
  • Bad script file for Ubuntu --with-oracle

    Bad script file for Ubuntu --with-oracle

    There are some documentation mistakes that prevent Oracle from being properly installed.

    1. The readme file expelectly calls out `instantclient_19_5'. Oracle doesn't offer version 19.5 of the basic and sdk instantclients respectfully.

    ... README After navigating to the Oracle website you'll want to download the basic and sdk instant client files: instantclient-basic-linux.x64-18.5.0.0.0dbru.zip instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip ...

    I corrected the script by modifying line 416 from echo "/opt/oracle/instantclient_19_5" >/etc/ld.so.conf.d/oracle-instantclient.conf to echo "/opt/oracle/instantclient_18_5" >/etc/ld.so.conf.d/oracle-instantclient.conf

    1. Pecl install is invalid for PHP 7. According to their website to download and install OCI8 for PHP you have to use pecl install oci8-2.2.0 The script on line 418 needs to be changed to since DreamFactory still uses PHP 7. NOTE - I did change the instantclient reference to 18_5. That matches the aforementioned note. printf "instantclient,/opt/oracle/instantclient_18_5\n" | pecl install oci8-2.2.0
    opened by AlphaGeek509 0
  • Issues in Overriding GET request using POST (X-HTTP-METHOD tunneling)

    Issues in Overriding GET request using POST (X-HTTP-METHOD tunneling)

    I need to use POST request (with X-HTTP-METHOD = GET header) instead of GET, since in some cases the query is tool long and I would have issues like 414 URI Too Long.

    I have used the DF APU for this (verb tunneling via POST), but it is odd it behaves differently and not working properly: if I send the payload as { ids: "228, 229", id_field: "id" } it won't work, but I realized that if I use the payload as in the following, it works fine! { filter: "id IN (228, 229)" }

    it seems a bit weird to me and if this tunneling feature is fully compatible with all queries.

    thanks for your attention

    opened by ebrahimm2020 0
  • Google OAuth fails with {

    Google OAuth fails with {"error":{"code":500,"message":"Undefined index: id"}}

    What was done:

    1. OAuth2 application was created at Google. 1.1. Redirect url: https://my-host/dreamfactory/dist/index.html?service=google (my-host is changed value)
    2. Google OAuth service was created at DF with name: google. Redirect url: https://my-host/dreamfactory/dist/index.html?service=google

    Expected result:

    • Successfully login by OAuth Google authentication method at my-host

    Actual result:

    • Error message is shown: "{"error":{"code":500,"message":"Undefined index: id"}}"

    We session details: Call from google https://my-host/api/v2/user/session?oauth_callback=true&service=google&state=tmclDBCGoJaDaueXr5k4PM1alFZOoOrWUi4nfJOj&code=4%2F0AY0e-g5oZ1v6OWfaOpQ983SssvUqBWA_gPFj-PYDxEI60qyBaX6bGBS1e6rRSR571H8ipg&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=0&....

    ends with 500, "{"error":{"code":500,"message":"Undefined index: id"}}"

    opened by play-io 0
  • Problem with Jeanie installer Ubuntu

    Problem with Jeanie installer Ubuntu

    I had an issue installing DF with jeanie. It was due to an outdated installation version of couchbase. To correct it I modified the necessary part by this :

    INSTALL COUCHBASE

    php -m | grep -E "^couchbase" if (($? >= 1)); then if ((CURRENT_OS == 16)); then wget -P /tmp http://packages.couchbase.com/releases/couchbase-release/couchbase-release-1.0-4-amd64.deb dpkg -i /tmp/couchbase-release-1.0-4-amd64.deb

    elif ((CURRENT_OS == 18)); then wget -O - https://packages.couchbase.com/clients/c/repos/deb/couchbase.key | apt-key add couchbase.key - echo "deb https://packages.couchbase.com/clients/c/repos/deb/ubuntu1804 bionic bionic/main" >/etc/apt/sources.list.d/couchbase.list fi

    apt-get update apt install -y libcouchbase3 libcouchbase-dev libcouchbase3-tools libcouchbase-dbg libcouchbase3-libev libcouchbase3-libevent pecl install couchbase if (($? >= 1)); then echo_with_color red "\ncouchbase extension installation error." >&5 exit 1 fi echo "extension=couchbase.so" >"/etc/php/${PHP_VERSION_INDEX}/mods-available/xcouchbase.ini" phpenmod -s ALL xcouchbase php -m | grep couchbase if (($? >= 1)); then echo_with_color red "\nCould not install couchbase extension." >&5 fi

    fi

    opened by agenda51 0
  • PHP-mongodb isn't compatible with Debian 10

    PHP-mongodb isn't compatible with Debian 10

    On Debian 10 (Buster) I tried to update from previous version, then the following error occurred:

    Loading composer repositories with package information
    Installing dependencies from lock file
    Your requirements could not be resolved to an installable set of packages.
    
      Problem 1
        - Installation request for mongodb/mongodb 1.6.0 -> satisfiable by mongodb/mongodb[1.6.0].
        - mongodb/mongodb 1.6.0 requires ext-mongodb ^1.7 -> the requested PHP extension mongodb has the wrong version (1.5.3) installed.
      Problem 2
        - mongodb/mongodb 1.6.0 requires ext-mongodb ^1.7 -> the requested PHP extension mongodb has the wrong version (1.5.3) installed.
        - jenssegers/mongodb v3.6.3 requires mongodb/mongodb ^1.4 -> satisfiable by mongodb/mongodb[1.6.0].
        - Installation request for jenssegers/mongodb v3.6.3 -> satisfiable by jenssegers/mongodb[v3.6.3].
    
      To enable extensions, verify that they are enabled in your .ini files:
        - /etc/php/7.3/cli/php.ini
        - /etc/php/7.3/cli/conf.d/10-mysqlnd.ini
        - /etc/php/7.3/cli/conf.d/10-opcache.ini
        - /etc/php/7.3/cli/conf.d/10-pdo.ini
        - /etc/php/7.3/cli/conf.d/15-xml.ini
        - /etc/php/7.3/cli/conf.d/20-apcu.ini
        - /etc/php/7.3/cli/conf.d/20-bcmath.ini
        - /etc/php/7.3/cli/conf.d/20-bz2.ini
        - /etc/php/7.3/cli/conf.d/20-calendar.ini
        - /etc/php/7.3/cli/conf.d/20-ctype.ini
        - /etc/php/7.3/cli/conf.d/20-curl.ini
        - /etc/php/7.3/cli/conf.d/20-dom.ini
        - /etc/php/7.3/cli/conf.d/20-exif.ini
        - /etc/php/7.3/cli/conf.d/20-fileinfo.ini
        - /etc/php/7.3/cli/conf.d/20-ftp.ini
        - /etc/php/7.3/cli/conf.d/20-gd.ini
        - /etc/php/7.3/cli/conf.d/20-gettext.ini
        - /etc/php/7.3/cli/conf.d/20-iconv.ini
        - /etc/php/7.3/cli/conf.d/20-igbinary.ini
        - /etc/php/7.3/cli/conf.d/20-imap.ini
        - /etc/php/7.3/cli/conf.d/20-intl.ini
        - /etc/php/7.3/cli/conf.d/20-json.ini
        - /etc/php/7.3/cli/conf.d/20-mbstring.ini
        - /etc/php/7.3/cli/conf.d/20-mongodb.ini
        - /etc/php/7.3/cli/conf.d/20-msgpack.ini
        - /etc/php/7.3/cli/conf.d/20-mysqli.ini
        - /etc/php/7.3/cli/conf.d/20-pdo_mysql.ini
        - /etc/php/7.3/cli/conf.d/20-pdo_pgsql.ini
        - /etc/php/7.3/cli/conf.d/20-pgsql.ini
        - /etc/php/7.3/cli/conf.d/20-phar.ini
        - /etc/php/7.3/cli/conf.d/20-posix.ini
        - /etc/php/7.3/cli/conf.d/20-readline.ini
        - /etc/php/7.3/cli/conf.d/20-shmop.ini
        - /etc/php/7.3/cli/conf.d/20-simplexml.ini
        - /etc/php/7.3/cli/conf.d/20-sockets.ini
        - /etc/php/7.3/cli/conf.d/20-sysvmsg.ini
        - /etc/php/7.3/cli/conf.d/20-sysvsem.ini
        - /etc/php/7.3/cli/conf.d/20-sysvshm.ini
        - /etc/php/7.3/cli/conf.d/20-tidy.ini
        - /etc/php/7.3/cli/conf.d/20-tokenizer.ini
        - /etc/php/7.3/cli/conf.d/20-wddx.ini
        - /etc/php/7.3/cli/conf.d/20-xmlreader.ini
        - /etc/php/7.3/cli/conf.d/20-xmlrpc.ini
        - /etc/php/7.3/cli/conf.d/20-xmlwriter.ini
        - /etc/php/7.3/cli/conf.d/20-xsl.ini
        - /etc/php/7.3/cli/conf.d/20-zip.ini
        - /etc/php/7.3/cli/conf.d/25-apcu_bc.ini
        - /etc/php/7.3/cli/conf.d/25-memcached.ini
      You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
    

    I deleted "dreamfactory/df-mongo-logs": "~1.0.2", in composer.json and completed updating successfully, but this isn't an essential solution. Could you update DreamFactory to be compatible with Debian 10?

    opened by mzch 0
  • Upgrading from 2.x to 3.x documentation

    Upgrading from 2.x to 3.x documentation

    Since MySQL is removed from the opensource version in version 3.0, and all users are stored in MySQL as the default storage, I guess we will have to migrate that to SQLite that is the new default storage for config and DF users. But there are no documentation at all about upgrading from 2.x -> 3.x, nor any release notes in the Wiki for 3.x.

    Are there more breaking changes or things to consider when upgrading? Is the upgrade process automatic? Database migrations moving from MySQL to SQLite and so on?

    Documentation about this is really required.

    Thanks!

    opened by tvarsis 3
  • Stored Procedures in a Firebird 3.0 database

    Stored Procedures in a Firebird 3.0 database

    I have several stored procedures in a firebird 3.0 database. Trying to access any of them does not succeed.

    Feedback from the system is always an empty resource, for both _func or _proc:

    { "resource": [] }

    If I try to access any of them with its name e.g.: https://my-server/api/v2/fbdb/_func/SP_DELETE_INVOICE

    or https://my-server/api/v2/fbdb/_proc/SP_DELETE_INVOICE

    I always receive: { "error": { "code": 404, "context": null, "message": "Function 'SP_DELETE_INVOICE' does not exist in the database.", "status_code": 404 } }

    I tried flushing the cache via the admin console and also from the command line with: php artisan cache:clear

    But I did not find any way to see or access my stored procedures.

    opened by MrSpockDe 0
  • Postgres setup triggering exception

    Postgres setup triggering exception

    Postgres 10, PHP 7.3, Ubuntu 18.04

    **********************************************************************************************************************
    * Welcome to DreamFactory Setup.
    **********************************************************************************************************************
    Running Migrations...
    Migration table created successfully.
    Migration driver used: pgsql
    Migration driver used: pgsql
    SQLSTATE[42703]: Undefined column: 7 ERROR:  column "service" of relation "service" does not exist
    LINE 1: update "service" set "service"."type" = $1 where "service"."...
                                 ^ (SQL: update "service" set "service"."type" = bitbucket2 where "service"."type" = bitbucket)
    

    Fixed by changing service.type to type. Then...

    Running Seeder...
    Seeding: AppSeeder
    "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
    

    File: vendor/dreamfactory/df-core/src/Database/Schema/ColumnSchema.php:124

    Fixed by commenting out continue temporarily.

    opened by alexc-hollywood 0
Releases(4.9.0)
  • 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)
  • 3.0.5(Sep 23, 2019)

    After an incredible 20 years of releases, the Python team stopped support for Python 2 on January 1, 2020 (see this announcement for more information. Of course, this doesn't mean organizations will quit using Python 2; it still has a vibrant and huge ecosystem, and let's face it upgrading scripts can be difficult and expensive.

    To accommodate those who desire to use Python 3.X, the DreamFactory 3.0 release includes support for both Python 2.X and Python 3.X. Because it's possible some users may desire to simultaneously use both language versions within the same DreamFactory environment, we've added a dedicated Python 3 environment variable named DF_PYTHON3_PATH to the .env configuration file. You'll use this to explicitly set the Python 3 executable path.

    Notes:

    • DP-91. Add DF_PYTHON3_PATH environment variable.
    Source code(tar.gz)
    Source code(zip)
  • 3.0.4(Sep 11, 2019)

    • DP-86. Fixes issue associated with role management and the SFTP connector.

    DreamFactory can natively generate APIs for a wide variety of databases and file-based data sources, including SFTP. In this release we fixed a bug associated with how role-based access controls are configured for SFTP-based REST APIs.

    Source code(tar.gz)
    Source code(zip)
  • 3.0.3(Sep 6, 2019)

    • DP-71. Offer cache clear option when editing service
    • DP-66. Error popup not shown for invalid values on info tab when clicking Save button.
    • DP-72. Change Service Name creation field label to Namespace.

    In this release we've made a number of UI improvements. DP-71 pertains to adding a Save and Clear Cache button to the service editing interface. This shortcut means administrators will no longer have to navigate to the Config > Cache interface after modifying a service's configuration.

    DP-66 fixes a bug associated with the popup error widget not always appearing when invalid values are used in the service creation Info tab.

    DP-72 alleviates some longstanding confusion regarding the purpose of the service UI's Name field. This name forms part of the generated API's URI, and should therefore be lowercase and not contain any special characters. We've changed the field name to Namespace and added an error message should the field value not confirm to the aforementioned requirements.

    Source code(tar.gz)
    Source code(zip)
  • 3.0.2(Sep 5, 2019)

    • DP-78. Fixes a user reported issue pertaining to the inability to edit a global lookup key.

    This release fixes a lingering UI issue associated with the new DreamFactory interface. The global lookup key button was not properly triggering an event.

    Source code(tar.gz)
    Source code(zip)
  • 3.0.1(Aug 1, 2019)

    • Remove Bitbucket service for deprecated API v1.

    In version 3.0.0 we upgraded the Bitbucket connector to use the most recent Bitbucket API, and in this 3.0.1 release we removed the old connector integration.

    Source code(tar.gz)
    Source code(zip)
  • 3.0.0(Jul 19, 2019)

    DreamFactory 3.0 is the most significant platform release in more than two years! Highlights include:

    • New administration console design and countless UI improvements
    • Restricted administrators (commercial version)
    • API lifecycle auditing (commercial version)
    • MS SQL Server encryption and optional trust server certificate options (commercial version)
    • Upgrades to the GitHub, GitLab, and BitBucket connectors
    • Added scripting support for Python 3
    • Automated installers for several Linux distributions (see the installers directory)
    Source code(tar.gz)
    Source code(zip)
Owner
DreamFactory Software, Inc.
DreamFactory Software, Inc.
Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols

Tyk API Gateway Tyk is an open source Enterprise API Gateway, supporting REST, GraphQL, TCP and gRPC protocols. Tyk Gateway is provided ‘Batteries-inc

Tyk Technologies 6.7k Sep 18, 2021
The simplest, fastest way to integrate your app with an OAuth API 😋

Pizzly ?? - The OAuth Integration Proxy How it works? - Demo - Getting started - Documentation Examples - Supported APIs - Contributing Pizzly makes i

Bearer.sh 902 Sep 14, 2021
🦍 The Cloud-Native API Gateway

Kong is a cloud-native, fast, scalable, and distributed Microservice Abstraction Layer (also known as an API Gateway or API Middleware). Made availabl

Kong 30.2k Sep 23, 2021
Ultra performant API Gateway with middlewares

The KrakenD framework An open framework to assemble ultra performance API Gateways with middlewares; core service of the KrakenD API Gateway. Looking

Devops Faith - Open source for DevOps 4.5k Sep 14, 2021
Open source back-end server for web, mobile and IoT. The backend for busy developers. (self-hosted or hosted)

A scalable, multitenant backend for the cloud. Para is a scalable, multitenant backend server/framework for object persistence and retrieval. It helps

Erudika 408 Sep 20, 2021
👽 Open source API development ecosystem used by 200k+ developers https://hoppscotch.io

Hoppscotch - Open source API development ecosystem Helps you create requests faster, saving precious time on development - Subscribe Built with ❤︎ by

Hoppscotch 31.1k Sep 15, 2021
Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.

Hasura GraphQL Engine Hasura GraphQL Engine is a blazing-fast GraphQL server that gives you instant, realtime GraphQL APIs over Postgres, with webhook

Hasura 24k Sep 25, 2021
:fast_forward: Hapttic is a simple HTTP server that forwards all requests to a shell script.

hapttic What is this good for? You want to run some code in response to a webhook, like a github push. You have some code on your Raspberry Pi that yo

Jan Söndermann 139 Aug 19, 2021