Giter Club home page Giter Club logo

dreamfactory's Introduction

DreamFactory

DevOps for Private APIs

Getting Started GuideTry OnlineContributeCommunity SupportDocs

GitHub Docker Pulls GitHub Release Date

Twitter Follow

Deploy

Table of Contents

Overview

DreamFactory is an API generation solution best known for its ability to automatically generate secure and documented APIs for databases like Microsoft SQL Server, MySQL, Snowflake, PostgreSQL, Oracle, and MongoDB. It is built on top of the Laravel framework, and includes a convenient web-based administration client. So what can you do with DreamFactory?

v6demo.mp4

Installation

  • Install DreamFactory and all of the required dependencies in less than 5 minutes using our installers for CentOS/RHEL, Debian, Fedora, and Ubuntu.
  • Docker provides a Docker compose image or you can build your own.
  • Our Helm chart provides a convenient way to install DreamFactory within your Kubernetes cluster.
  • Raspberry Pi allows you to configure DreamFactory on everybody's favorite tiny computer.

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 playground instance right now!

DreamFactory's Cloud Playground

Start testing for free with our cloud playground 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".

dreamfactory's People

Contributors

chas688 avatar daniilly avatar davidweiner-df avatar dependabot-preview[bot] avatar dependabot[bot] avatar df-arif avatar df-jablan avatar javascriptboss99 avatar nicdavidson avatar oleglazaryev avatar oleksandrono avatar rmariuzzo avatar thekevinm avatar tomonorman avatar volodymyrpoli avatar wjgilmore avatar yaroslavmo avatar

Stargazers

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

Watchers

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

dreamfactory's Issues

DF doesn't substitute private lookup key values

I have created a SQL DB service for connecting to SQL Server. When I use lookup keys I get the following error, But It works if I use values instead of lookup keys.

{"error":{"context":null,"message":"Failed to connect to database.\nConnection failed to open the DB
connection: SQLSTATE[01002] Adaptive Server connection failed (severity 9)"

I have investigated the source code and think DF substitutes keys with ********** in connection string.

Could not find Service - Problem with Apache VirtualHost

I create a new issue, as the error is slightly different and I think it might be a different problem.

When I created a virtualHost and tried to access dreamfactory I got the error: Could not find a service for dreamfactory.
I'm using the newest version of dreamfactory directly from the GitHub Repository.

Steps to reproduce:

  1. Install XAMPP
  2. Clone Dreamfactory Repo
  3. Setup Dreamfactory Repo
  4. Setup VirtualHost:
    <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/DEV/xampp/dreamfactory/public" ServerName dreamfactory.localhost
  5. Open URL http://dreamfactory.localhost
    ERROR:
    Could not find a service for dreamfactory

I also created a VirtualDirectory Alias to use instead of the VirtualHost.. and it works!

Related field editing not working.

If I do thefollowing...

Create Table called for example Widget with a Unique ID and a Title
Create Table called say Components with a Unique ID and a Title
Create a many-to-many table called WidgetComponents with WidgetID and ComponentID

The user interface graciously offers to allow WidgetComponets to be edited with a drop down list mapping title to UniqueID, and offer st eh same for ComponentID.

However due to a bug in the data editing, you cannot edit the 2nd related item - -ComponentID.

It will not allow any modification whatsoever.

Try it.

CORS configuration

Hi, there!

While testing Dream Factory using a SQLite config I couldn't create CORS rules.
Got that:

SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: cors_config.created_date (SQL: insert into "cors_config" ("origin", "path", "method", "enabled", "header", "max_age", "created_by_id") values (http://localhost:8080, *, 31, 0, *, 0, 1))

That's mainly because cors_config table's definition says that created_date is a datetime not null and doesn't have a default value.
Don't know if the fix should be placed in the application or in the database migration.

can't get apache2 to run it on raspberry pi2

I am running jessie on my raspberry pi2. I was able to do the install, and I can run locally as a service. But I am unable to figure out an appropriate apache2 config file for it.

The one on the wiki here for example refers to the wrong path, but even with the right one I can't get it served up...

Installed in /opt/dreamfactory

In post_process custom script the "event.response.content" is broken after updating from DF 2.0.4 -> DF 2.1.2

Hi,

In the version 2.1.2 in the post_process custom script the "event.response.content" is not reflecting the data pushed to it.

This is how the issue can be replicated:

  • create a table "test" on a mysql database
  • set a script for the post process "db._table.test.post.post_process", with this content:
event.response.status_code = 400;
event.response.content = {"test": "value"};

Push a record on the table. The expected result should be a 400 code response and {"test": "value"} as an output.
Instead, the return code is modified correctly, but not the response.content, that will return always the original response.

Please advise.
Best regards

Gabriel

Facebook OAuth API error after upgrading from DF 2.0.1 -> DF 2.0.4

I have two instance of DF, one is 2.0.1, while the other is 2.0.4, They both have identical settings except the domain name. The redirect URL at facebook included both domains. However, my app can login via facebook OAuth service with DF 2.0.1 but not 2.0.4.

I am able to acquire an access code from both version, but not able to create a new user from 2.0.4 with the last API call in the OAuth flow.

The API call POST to /api/v2/user/session?oauth_callback=true&service=facebook&code={my code}

The call to DF 2.0.4 returns error 500 with no message. The trace is:

"0 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-oauth/src/Services/BaseOAuthService.php(92): Laravel\\Socialite\\Two\\AbstractProvider->user()",
"1 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-core/src/Resources/UserSessionResource.php(81): DreamFactory\\Core\\OAuth\\Services\\BaseOAuthService->handleOAuthCallback()",
"2 [internal function]: DreamFactory\\Core\\Resources\\UserSessionResource->handlePOST()",
"3 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(271): call_user_func(Array)",
"4 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(177): DreamFactory\\Core\\Components\\RestHandler->processRequest()",
"5 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(224): DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), '')",
"6 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-core/src/Components/RestHandler.php(172): DreamFactory\\Core\\Components\\RestHandler->handleResource(Array)",
"7 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(65): DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'session')",
"8 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/dreamfactory/df-core/src/Utility/ServiceHandler.php(57): DreamFactory\\Core\\Services\\BaseRestService->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'session')",
"9 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(17658): DreamFactory\\Core\\Utility\\ServiceHandler::processRequest('v2', 'user', 'session')",
"10 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(17634): DreamFactory\\Http\\Controllers\\RestController->handleService('v2', 'user', 'session')",
"11 [internal function]: DreamFactory\\Http\\Controllers\\RestController->handlePOST('v2', 'user', 'session')",
"12 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(8873): call_user_func_array(Array, Array)",
"13 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(8942): Illuminate\\Routing\\Controller->callAction('handlePOST', Array)",
"14 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(8922): Illuminate\\Routing\\ControllerDispatcher->call(Object(DreamFactory\\Http\\Controllers\\RestController), Object(Illuminate\\Routing\\Route), 'handlePOST')",
"15 [internal function]: Illuminate\\Routing\\ControllerDispatcher->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))",
"16 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9593): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
"17 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(17807): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"18 [internal function]: DreamFactory\\Http\\Middleware\\AccessCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"19 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"20 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"21 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9575): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
"22 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(8923): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
"23 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(8908): Illuminate\\Routing\\ControllerDispatcher->callWithinStack(Object(DreamFactory\\Http\\Controllers\\RestController), Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request), 'handlePOST')",
"24 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(7862): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request), 'DreamFactory\\\\Ht...', 'handlePOST')",
"25 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(7833): Illuminate\\Routing\\Route->runWithCustomDispatcher(Object(Illuminate\\Http\\Request))",
"26 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(7486): Illuminate\\Routing\\Route->run(Object(Illuminate\\Http\\Request))",
"27 [internal function]: Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))",
"28 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9593): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
"29 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"30 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9575): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
"31 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(7487): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
"32 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(7475): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))",
"33 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(7460): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))",
"34 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(2307): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))",
"35 [internal function]: Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))",
"36 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9593): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
"37 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/app/Http/Middleware/AuthCheck.php(170): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"38 [internal function]: DreamFactory\\Http\\Middleware\\AuthCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"39 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"40 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/vendor/barryvdh/laravel-cors/src/HandleCors.php(42): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"41 [internal function]: Barryvdh\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"42 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"43 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(17899): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"44 [internal function]: DreamFactory\\Http\\Middleware\\FirstUserCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"45 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"46 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(12957): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"47 [internal function]: Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"48 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"49 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(11551): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"50 [internal function]: Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"51 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"52 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(12694): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"53 [internal function]: Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"54 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"55 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(12631): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"56 [internal function]: Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"57 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"58 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(2982): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"59 [internal function]: Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))",
"60 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9585): call_user_func_array(Array, Array)",
"61 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
"62 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(9575): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
"63 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(2254): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
"64 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/bootstrap/cache/compiled.php(2237): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))",
"65 /var/lib/openshift/{my_id}/app-root/runtime/repo/dreamfactory/public/index.php(53): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))",
"66 {main}"

Use of "size" in SQL DB schema not defined

In the SQL DB Service Specifics the example on this page: http://wiki.dreamfactory.com/DreamFactory/Features/Database/SQL

Shows the use of "size" instead of "length" in the JSON. Is this a bug or are they interchangeable?

Should this be discussed in the documentation?

Also related to Size. How is Integer actually managed. There are multiple integer types that can be used across systems and mixing them up can cause problems. The standard sizes are 16, 32 and 64 bit. Does dream factory default all integer settings to 64? SQL has these definitions:

TINYINT = 1 byte (8 bit)
SMALLINT = 2 bytes (16 bit)
MEDIUMINT = 3 bytes (24 bit)
INT = 4 bytes (32 bit)
BIGINT = 8 bytes (64 bit)

Is there a way to force the use of a specific integer size in the API?

Could not find a service for user

Installed into wamp. Configured a name in hosts file. Setup a vhost (dreamfactory.dev). Setup a database.
Initial setup created the tables in mysql but when trying to create the initial user got error "NotFoundException in Service.php line 263:
Could not find a service for user"

I queried the user table and no user is being created on form submission.
I can also confirm that the cache directory is being written to as well as session files are being written.

Thanks

Installation Issue

Getting the following error after installation.

2016/03/03 13:21:44 [error] 8276#0: *5 FastCGI sent in stderr: "PHP message: REST Exception #404 > Could not find a service for user" while reading response header from upstream, client: 172.26.10.15, server: dreamfactory.dev, request: "GET /api/v2/system/environment HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "dreamfactory.dev", referrer: "http://dreamfactory.dev/dreamfactory/dist/index.html"

Verified nginx running, and reachable.

PHP Version 5.5.9-1ubuntu4.14

System Linux B2BWebDev 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64
Build Date Oct 28 2015 01:37:05
Server API FPM/FastCGI
Virtual Directory Support disabled
Configuration File (php.ini) Path /etc/php5/fpm
Loaded Configuration File /etc/php5/fpm/php.ini

Followed these instruction to configure nginx. http://wiki.dreamfactory.com/DreamFactory/Installation/Linux/Apt#Nginx

Mobile friendly confirmation enhancement

Problem: DF current confirmation is not user friendly. If user registers via mobile and are not sitting next to a computer they have to close current session, open email client, copy 36-char confirmation code, click on link to open browser, reenter their email address, create a password, and paste the confirm code. If successful, then they need to close their browser, open the app again and enter their username and password once more. That is way too much to expect users to complete to try your app - even a lot to ask users that want your app.

Here's the enhancement I would like to see:

In the User Service, the ability to either (1) use the sys generated confirm as is now or (2) let the system generate a code but allow me to specify length/charset (alpha/numeric/alphanumeric) or (3) allow me to create my own confirmation code in app that is stored and sent with the registration/confirmation email or (4) allow me to to require confirmation and put user in 'suspended' state until my app or the user completes the confirmation.

I need (2) & (4). If my app is on a mobile phone with service, the user will enter their mobile number on registration and using a 3rd party service will receive an SMS right away with a short 5 char number to authenticate. For tablets, going to send a push notification with confirm code. I would like to do this through a DSP service to make sure I capture the user info first, but if I can't get it to work I can do it outside the DSP then when complete send a registered user to DSP with confirm=FALSE and we're good.

But...I also need a fallback if they do not receive the SMS/push notice or didn't confirm for whatever reason. So ideally the user registers uname/pw/phone like they do today and will still get a "welcome" email that has a URL deeplink confirm code that takes them to the DSP for evaluation. If deeplink is expired or not there, the user is taken to an error page with remedial instruction (likely re-register). If deeplink confirms token is good it pre-fills the receiving email address that is deep linked in the URL and asks them for their password.

I am going to work around this with my own confirmation scheme for now, but thought this would be a compelling and needed feature in your DSP. I'll let you know in the community forums how I integrate the 3rd part SMS service. Of course there is twilio which should be easy enough to build a service for but not sure I want to pay the expense so searching alternatives...

Random "CORS / No ‘Access-Control-Allow-Origin’ header is present" after upgrading from DF 2.0.1 -> DF 2.0.4

Hi,

I think this is a new bug, After updating from ver 2.0.1 to 2.0.4 I receive a No 'Access-Control-Allow-Origin' header error, something like 3 times out of 5.
For example, this is what I get in the login request at the first try:

XMLHttpRequest cannot load http://v2.amicido.it:8080/api/v2/user/session. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

If I repeat the call it works. The CORS setup is setup to allow everything

cors_issue

If I roll back to v 2.0.1 it works properly.
Please advise

Mapping bug in Data editor

To reproduce..

  1. In SQLLite db use Schema to create two tables with Primary keys.
  2. Create a third table that maps the two primary keys as foreign keys so that you can create a Many to Many relationship.
  3. Add some records to the first two tables.
  4. Open up the mapping table in the editor.
  5. The First data value you CAN select from the list of items to set it's ID to the ID in the mapping table.
  6. The 2nd data value you CANNOT select from the list of items.

This makes Create or Edit operations impossible.

Failed to launch service "df"

Hello,

I just installed DreamFactory as per the steps provided.
But when I try to open the application, the following error is shown:
"Failed to launch service "df": Service not found"

How can I resolve this, any idea?

Custom Scripting Service not saving Service Definition

Hello,
I've tested this on a Windows and MacOS installation, both presented the same problem.

The routine:
Services > Create > Custom Scripting Service. Tab > Service Definition

Fill all fields then save. Everything on that tab just disappears, using Chrome Debug to watch transactions, all data is being sent and no error occurs.

What could be happening? What could I debug to have more information about that?
Thanks.

DreamFactory 2.0 _schema POST creates wrong value for "required" field attribute

I am writing an app that creates dream factory tables for pre-existing data sets in another database format. For some reason my data record writes were failing. On further investigation it seems that dream factory is ignoring the POST request to set "required" to TRUE.

I am attaching a file with the dream factory log with relevant dump_var() output.

The file dumps the request content and what is returned by dream factory when the schema for the table is requested.

The relevant sections of the debug file are:

["required"] => bool(true) which appears in the _schema POST request and
["required"] => bool(false) which appears in the _schema.{table_name} response.

In every field record case, the required field is returned as the exact opposite of the value requested. For example:

# POST (schema request) field record:
[0] =>
object(Object)#1734488873 (6) {
["fixed_length"] =>
bool(false)
["label"] =>
string(14) "Test Entity_id"
["allow_null"] =>
bool(false)
["name"] =>
string(13) "testentity_id"
["type"] =>
string(2) "id"
## * ["required"] => bool(true)*
}

# GET (_schema.{tableName} request) field record:

[0] =>
object(Object)#272133281 (30) {
["alias"] =>
NULL
["name"] =>
string(13) "testentity_id"
["label"] =>
string(14) "Test Entity_id"
["description"] =>
NULL
["type"] =>
string(2) "id"
["db_type"] =>
string(7) "integer"
["length"] =>
NULL
["precision"] =>
NULL
["scale"] =>
NULL
["default"] =>
NULL
## * ["required"] => bool(false)*
["allow_null"] =>
bool(false)
["fixed_length"] =>
bool(false)
["supports_multibyte"] =>
bool(false)
["auto_increment"] =>
bool(true)
["is_primary_key"] =>
bool(true)
["is_unique"] =>
bool(false)
["is_index"] =>
bool(false)
["is_foreign_key"] =>
bool(false)
["is_virtual_foreign_key"] =>
bool(false)
["is_foreign_ref_service"] =>
bool(false)
["ref_service"] =>
NULL
["ref_service_id"] =>
NULL
["ref_table"] =>
NULL
["ref_fields"] =>
NULL
["ref_on_update"] =>
NULL
["ref_on_delete"] =>
NULL
["picklist"] =>
NULL
["validation"] =>
NULL
["db_function"] =>
NULL
}

Attachment...
dreamfactory-post-schema-bug.txt

File manager not working

File manager not displays file list on local or remote file service (Amazon S3)
However Amazon S3 API works well.

Actions:

  1. Open File Manager
  2. Click on any local or remote file storage
  3. Nothing happens, no errors in Firebug console on click

AngularJS error displaying in console when loading file manager:

21:41:07.180 "Error: [$injector:unpr] Unknown provider: aProvider <- a <- modalDirective
http://errors.angularjs.org/1.2.16/$injector/unpr?p0=aProvider%20%3C-%20a%20%3C-%20modalDirective
d/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:2193
Ia/s.$injector<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18355
c@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17620
Ia/w.$injector<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18448
c@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17620
d@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17905
m/</<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:22509
f@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:2521
m/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:22478
d@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17938
Ia/w.$injector<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18466
c@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17620
N@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:29669
G@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24909
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24075
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
C@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:23390
J@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:28543
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24111
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
C@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:23390
J@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:28543
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24111
E@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:24234
R/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:30850
n/o.success/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:5098
Bb/h/g.promise.then/k@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:19438
Bb/i/<.then/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:20124
Db/this.$get</k.prototype.$eval@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25187
Db/this.$get</k.prototype.$digest@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:23713
Db/this.$get</k.prototype.$apply@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25508
f@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:5530
r@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:7603
ab/</w.onreadystatechange@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:8147
EventHandlerNonNull*ab/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:7994
q@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:6057
n/m@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:4797
Bb/h/g.promise.then/k@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:19438
Bb/i/<.then/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:20124
Db/this.$get</k.prototype.$eval@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25187
Db/this.$get</k.prototype.$digest@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:23713
Db/this.$get</k.prototype.$apply@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25508
f@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:5530
r@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:7603
ab/</w.onreadystatechange@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:8147
EventHandlerNonNull*ab/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:7994
q@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:6057
n/m@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:4797
Bb/h/g.promise.then/k@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:19438
Bb/i/<.then/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:20124
Db/this.$get</k.prototype.$eval@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25187
Db/this.$get</k.prototype.$digest@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:23713
Db/this.$get</k.prototype.$apply@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25508
f@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:5530
r@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:7603
ab/</w.onreadystatechange@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:8147
EventHandlerNonNull*ab/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:7994
q@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:6057
n/m@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:4797
Bb/h/g.promise.then/k@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:19438
Bb/i/<.then/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:20124
Db/this.$get</k.prototype.$eval@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25187
Db/this.$get</k.prototype.$digest@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:23713
Db/this.$get</k.prototype.$apply@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:25508
qb/this.$get</<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:13885
_.event.dispatch@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:14488
_.event.add/q.handle@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:11298
EventListener.handleEvent*_.event.add@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:11776
.on/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:19117
.each@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:1:12113
_.prototype.each@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:1:10087
.on@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:19096
qb/this.$get<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:13519
d@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17938
Ia/w.$injector<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18466
c@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17620
d@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17905
Ia/w.$injector<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18466
c@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17620
Za/this.$get</<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:6396
f@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:2521
Za/this.$get<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:5:6365
d@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17938
Ia/w.$injector<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18466
c@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17620
d@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:17905
Ia/<@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18513
f@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:2521
Ia@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:18494
_/e@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:8113
_@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:8327
$@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:4:7844
@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:7:14586
_.Callbacks/k@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:3527
_.Callbacks/l.fireWith@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:4344
.ready@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:6137
g@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:1:962
EventListener.handleEvent*_.ready.promise@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:6337
@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:2:6430
@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:1:209
@http://dreamfactory2.dev/dreamfactory/dist/scripts/vendor.9dee0f5e.js:1:1
"1 vendor.9dee0f5e.js:5:14909
e/<() vendor.9dee0f5e.js:5
Ua/this.$get</<() vendor.9dee0f5e.js:5
<анонимная> app.8b3ee238.js:10
m/</<() vendor.9dee0f5e.js:4
forEach() self-hosted:211
f() vendor.9dee0f5e.js:4
m/<() vendor.9dee0f5e.js:4
d() vendor.9dee0f5e.js:4
Ia/w.$injector<() vendor.9dee0f5e.js:4
c() vendor.9dee0f5e.js:4
N() vendor.9dee0f5e.js:4
G() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
C() vendor.9dee0f5e.js:4
J() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
C() vendor.9dee0f5e.js:4
J() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
E() vendor.9dee0f5e.js:4
R/<() vendor.9dee0f5e.js:4
n/o.success/<() vendor.9dee0f5e.js:5
Bb/h/g.promise.then/k() vendor.9dee0f5e.js:5
Bb/i/<.then/<() vendor.9dee0f5e.js:5
Db/this.$get</k.prototype.$eval() vendor.9dee0f5e.js:5
Db/this.$get</k.prototype.$digest() vendor.9dee0f5e.js:5
Db/this.$get</k.prototype.$apply() vendor.9dee0f5e.js:5
f() vendor.9dee0f5e.js:5
r() vendor.9dee0f5e.js:5
ab/</w.onreadystatechange() vendor.9dee0f5e.js:5

Installation failed. Please run the migration and seeder manually.

Hi,
I get following error message when I install dreamfactory 2.0 on wamp:

SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (dreamfactory.service, CONSTRAINT service_type_foreign FOREIGN KEY (type) REFERENCES service_type (name) ON DELETE CASCADE) (SQL: insert into service (name, label, description, is_active, type, mutable, deletable, last_modified_date, created_date) values (db, Local SQL Database, Service for accessing local SQLite database., 1, sql_db, 1, 1, 2015-10-07 08:40:11, 2015-10-07 08:40:11))

NetworkError: 401 Unauthorized

Hi

I have installed dreamfactory 2 directly from GitHub on wamp.
After re-running "php artisan migrate" and "php artisan db:seed" at the install root and creating System Admin User, I get following error when I want to login:

Browser POST http://localhost/api/v2/user/session response:

{"error":{"context":null,"message":"Invalid credentials supplied.","code":401,"trace":["0 C:\wamp\www
\dsp2\vendor\dreamfactory\df-core\src\Resources\UserSessionResource.php(90): DreamFactory\Core\Resources\UserSessionResource->handleLogin(Array, false)","1 [internal function]: DreamFactory\Core\Resources\UserSessionResource->handlePOST()"
...
}

dreamfactory.log file:

[2015-10-19 21:21:06] local.DEBUG: Resource event: user.session.post.pre_process
[2015-10-19 21:21:06] local.DEBUG: Resource event: system.admin.session.post.pre_process
[2015-10-19 21:21:06] local.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Maximum function nesting level of '100' reached, aborting!' in C:\wamp\www\dsp2\vendor\tymon\jwt-auth\src\Validators\ValidatorInterface.php:3
Stack trace:
#0 C:\wamp\www\dsp2\bootstrap\cache\compiled.php(2088): Symfony\Component\Debug\Exception\FatalErrorException->__construct()
#1 C:\wamp\www\dsp2\bootstrap\cache\compiled.php(2083): Illuminate\Foundation\Bootstrap\HandleExceptions->fatalExceptionFromError()
#2 C:\wamp\www\dsp2\bootstrap\cache\compiled.php(0): Illuminate\Foundation\Bootstrap\HandleExceptions->handleShutdown()
#3 C:\wamp\www\dsp2\vendor\composer\ClassLoader.php(301): Composer\Autoload\includeFile()

...

Filter SQL with in

I'm using the API in version 2.0 and am having trouble using IN in my sql, below the details...

search

Error

mysql table

Admin panel: error when saving config preferences

  1. Open admin console
  2. Select "Config" section
  3. Select "Preferences"
  4. Change any checkbox and click "Update"

Request Details
Url: http://dreamfactory2.dev/api/v2/user/custom
Method: POST

Request body:

{
    "adminPreferences": {
        "application": {
            "notificationSystem": {
                "success": "pnotify",
                "error": "pnotify",
                "warn": "pnotify"
            }
        },
        "data": {
            "app": {
                "include_count": true,
                "limit": 100,
                "related": "role_by_role_id"
            },
            "app_group": {
                "include_count": true,
                "limit": 100,
                "related": "app_to_app_group_by_group_id"
            },
            "role": {
                "include_count": true,
                "related": "role_service_access_by_role_id,role_lookup_by_role_id",
                "limit": 100
            },
            "admin": {
                "include_count": true,
                "limit": 20,
                "related": "user_lookup_by_user_id"
            },
            "user": {
                "include_count": true,
                "limit": 20,
                "related": "user_lookup_by_user_id,user_to_app_to_role_by_user_id"
            },
            "service": {
                "include_count": true,
                "include_components": true,
                "limit": 100,
                "related": "service_doc_by_service_id"
            },
            "config": {},
            "email_template": {},
            "lookup": {},
            "cors": {},
            "event": {
                "full_map": true
            }
        },
        "sections": {
            "app": {
                "autoClose": true,
                "manageViewMode": "table"
            },
            "role": {
                "autoClose": true,
                "manageViewMode": "table"
            },
            "admin": {
                "autoClose": true,
                "manageViewMode": "list"
            },
            "user": {
                "autoClose": true,
                "manageViewMode": "table"
            },
            "service": {
                "autoClose": true,
                "manageViewMode": "table"
            }
        }
    }
}

Full responce text:

{
    "error": {
        "context": null,
        "message": "No record(s) detected in request.",
        "code": 400,
        "trace": ["|", "|", "|#0 /Users/frost/Sites/dreamfactory2.dev/vendor/dreamfactory/df-user/src/Resources/Custom.php(29):", "|----> DreamFactory\\Core\\Resources\\System\\BaseSystemResource->handlePOST()", "|", "|#1 [internal function]: DreamFactory\\Core\\User\\Resources\\Custom->handlePOST()", "|", "|#2 /Users/frost/Sites/dreamfactory2.dev/vendor/dreamfactory/df-core/src/Components/RestHandler.php(263):", "|----> call_user_func(Array)", "|", "|#3 /Users/frost/Sites/dreamfactory2.dev/vendor/dreamfactory/df-core/src/Components/RestHandler.php(169):", "|----> DreamFactory\\Core\\Components\\RestHandler->processRequest()", "|", "|#4 /Users/frost/Sites/dreamfactory2.dev/vendor/dreamfactory/df-core/src/Components/RestHandler.php(216):", "|----> DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), '')", "|", "|#5 /Users/frost/Sites/dreamfactory2.dev/vendor/dreamfactory/df-core/src/Components/RestHandler.php(164):", "|----> DreamFactory\\Core\\Components\\RestHandler->handleResource(Array)", "|", "|#6 /Users/frost/Sites/dreamfactory2.dev/vendor/dreamfactory/df-core/src/Utility/ServiceHandler.php(68):", "|----> DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'custom')", "|", "|#7 /Users/frost/Sites/dreamfactory2.dev/app/Http/Controllers/RestController.php(221):", "|----> DreamFactory\\Core\\Utility\\ServiceHandler::processRequest('v2', 'user', 'custom')", "|", "|#8 /Users/frost/Sites/dreamfactory2.dev/app/Http/Controllers/RestController.php(152):", "|----> DreamFactory\\Http\\Controllers\\RestController->handleService('v2', 'user', 'custom')", "|", "|#9 [internal function]: DreamFactory\\Http\\Controllers\\RestController->handlePOST('v2', 'user', 'custom')", "|", "|#10 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(8490):", "|----> call_user_func_array(Array, Array)", "|", "|#11 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(8559):", "|----> Illuminate\\Routing\\Controller->callAction('handlePOST', Array)", "|", "|#12 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(8539):", "|----> Illuminate\\Routing\\ControllerDispatcher->call(Object(DreamFactory\\Http\\Controllers\\RestController), Object(Illuminate\\Routing\\Route), 'handlePOST')", "|", "|#13 [internal function]: Illuminate\\Routing\\ControllerDispatcher->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#14 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9196):", "|----> call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))", "|", "|#15 /Users/frost/Sites/dreamfactory2.dev/app/Http/Middleware/Limits.php(111):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#16 [internal function]: Dreamfactory\\Http\\Middleware\\Limits->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#17 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#18 /Users/frost/Sites/dreamfactory2.dev/app/Http/Middleware/AccessCheck.php(232):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#19 [internal function]: DreamFactory\\Http\\Middleware\\AccessCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#20 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#21 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#22 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9178):", "|----> call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))", "|", "|#23 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(8540):", "|----> Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", "|", "|#24 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(8525):", "|----> Illuminate\\Routing\\ControllerDispatcher->callWithinStack(Object(DreamFactory\\Http\\Controllers\\RestController), Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request), 'handlePOST')", "|", "|#25 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(7500):", "|----> Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request), 'DreamFactory\\\\Ht...', 'handlePOST')", "|", "|#26 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(7471):", "|----> Illuminate\\Routing\\Route->runWithCustomDispatcher(Object(Illuminate\\Http\\Request))", "|", "|#27 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(7124):", "|----> Illuminate\\Routing\\Route->run(Object(Illuminate\\Http\\Request))", "|", "|#28 [internal function]: Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#29 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9196):", "|----> call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))", "|", "|#30 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#31 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9178):", "|----> call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))", "|", "|#32 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(7125):", "|----> Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", "|", "|#33 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(7113):", "|----> Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))", "|", "|#34 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(7098):", "|----> Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))", "|", "|#35 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(2088):", "|----> Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))", "|", "|#36 [internal function]: Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#37 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9196):", "|----> call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))", "|", "|#38 /Users/frost/Sites/dreamfactory2.dev/vendor/barryvdh/laravel-cors/src/HandleCors.php(43):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#39 [internal function]: Barryvdh\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#40 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#41 /Users/frost/Sites/dreamfactory2.dev/app/Http/Middleware/FirstUserCheck.php(45):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#42 [internal function]: DreamFactory\\Http\\Middleware\\FirstUserCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#43 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#44 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(12456):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#45 [internal function]: Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#46 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#47 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(11104):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#48 [internal function]: Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#49 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#50 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(12193):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#51 [internal function]: Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#52 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#53 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(12132):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#54 [internal function]: Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#55 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#56 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(2758):", "|----> Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#57 [internal function]: Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "|", "|#58 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9188):", "|----> call_user_func_array(Array, Array)", "|", "|#59 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "|", "|#60 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(9178):", "|----> call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))", "|", "|#61 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(2035):", "|----> Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", "|", "|#62 /Users/frost/Sites/dreamfactory2.dev/bootstrap/cache/compiled.php(2018):", "|----> Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))", "|", "|#63 /Users/frost/Sites/dreamfactory2.dev/public/index.php(53):", "|----> Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))", "|", "|#64 {main}"]
    }
}

MS SQL table with image type column

When I try to access a table (HTTP GET) with a column type image returns the follow error message:

{
  "error": {
    "context": null,
    "message": "The Response content must be a string or object implementing __toString(), &quot;boolean&quot; given.",
    "code": 500,
    "trace": [...]
   }
}

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!

MySQL subquery in filter does not work in Version 2.0.1

Valid for Bitnami VM and hosted version.
Prerequisites

{
"error": {
"context": null,
"message": "Field 'id' must be a valid integer.",
"code": 400,
"trace": [
"0 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-sqldb/src/Resources/Table.php(594): DreamFactory\Core\SqlDb\Resources\Table->parseFilterValue('select id from ...', Object(DreamFactory\Core\Database\Sqlite\ColumnSchema), Array)",
"1 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-sqldb/src/Resources/Table.php(473): DreamFactory\Core\SqlDb\Resources\Table->parseFilterString('id in (select i...', Array, Array)",
"2 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-sqldb/src/Resources/Table.php(235): DreamFactory\Core\SqlDb\Resources\Table->convertFilterToNative('id in (select i...', Array, NULL, Array)",
"3 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Resources/BaseDbTableResource.php(467): DreamFactory\Core\SqlDb\Resources\Table->retrieveRecordsByFilter('contact', 'id in (select i...', Array, Array)",
"4 [internal function]: DreamFactory\Core\Resources\BaseDbTableResource->handleGet()",
"5 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(271): call_user_func(Array)",
"6 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(177): DreamFactory\Core\Components\RestHandler->processRequest()",
"7 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(224): DreamFactory\Core\Components\RestHandler->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), 'contact')",
"8 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Services/BaseDbService.php(116): DreamFactory\Core\Components\RestHandler->handleResource(Array)",
"9 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(172): DreamFactory\Core\Services\BaseDbService->handleResource(Array)",
"10 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(65): DreamFactory\Core\Components\RestHandler->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), '_table/contact')",
"11 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Utility/ServiceHandler.php(57): DreamFactory\Core\Services\BaseRestService->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), '_table/contact')",
"12 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Controllers/RestController.php(223): DreamFactory\Core\Utility\ServiceHandler::processRequest('v2', 'db', '_table/contact')",
"13 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Controllers/RestController.php(128): DreamFactory\Http\Controllers\RestController->handleService('v2', 'db', '_table/contact')",
"14 [internal function]: DreamFactory\Http\Controllers\RestController->handleGET('v2', 'db', '_table/contact')",
"15 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(256): call_user_func_array(Array, Array)",
"16 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(164): Illuminate\Routing\Controller->callAction('handleGET', Array)",
"17 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(112): Illuminate\Routing\ControllerDispatcher->call(Object(DreamFactory\Http\Controllers\RestController), Object(Illuminate\Routing\Route), 'handleGET')",
"18 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))",
"19 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
"20 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/DataCollection.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"21 [internal function]: Dreamfactory\Http\Middleware\DataCollection->handle(Object(Illuminate\Http\Request), Object(Closure))",
"22 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"23 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/Limits.php(141): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"24 [internal function]: Dreamfactory\Http\Middleware\Limits->handle(Object(Illuminate\Http\Request), Object(Closure))",
"25 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"26 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/AccessCheck.php(234): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"27 [internal function]: DreamFactory\Http\Middleware\AccessCheck->handle(Object(Illuminate\Http\Request), Object(Closure))",
"28 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"29 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"30 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
"31 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(114): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
"32 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(69): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(DreamFactory\Http\Controllers\RestController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'handleGET')",
"33 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'DreamFactory\Ht...', 'handleGET')",
"34 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Route.php(134): Illuminate\Routing\Route->runWithCustomDispatcher(Object(Illuminate\Http\Request))",
"35 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(704): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))",
"36 [internal function]: Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))",
"37 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
"38 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"39 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
"40 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(706): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
"41 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(671): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))",
"42 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(631): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))",
"43 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(236): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))",
"44 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request))",
"45 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
"46 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/barryvdh/laravel-cors/src/HandleCors.php(43): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"47 [internal function]: Barryvdh\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))",
"48 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"49 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/FirstUserCheck.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"50 [internal function]: DreamFactory\Http\Middleware\FirstUserCheck->handle(Object(Illuminate\Http\Request), Object(Closure))",
"51 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"52 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"53 [internal function]: Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))",
"54 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"55 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"56 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))",
"57 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"58 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"59 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))",
"60 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"61 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"62 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))",
"63 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"64 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(42): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"65 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))",
"66 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
"67 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
"68 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
"69 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
"70 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(87): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))",
"71 /var/www/_releases/instance/dreamfactory/2.0.0-beta/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))",
"72 {main}"
]
}
}

CURL cacheing Amazon S3 bucket name

  1. Create a Service for Amazon S3
  2. Set the container name to an incorrect bucket name (example use an upper case name)
  3. Try to access via Files -- you'll get an error creating the bucket.
  4. Correct the container name to an existing or new bucket name that is correct.
  5. Access it in Files -- it will show you the old URL

No workaround except rebooting server.

Server-Side scripting on file upload not triggered in v 2.0.1

Hi,

On image upload I am using a server-side script to generate a thumbnail and different sizes of the image uploaded.
After migrating to version 2.0.1-1, after the upload the server-side script is not triggered anymore.

I have tried both pre and post process (the snapshot is for "files.{folder_path}.post.post_process") but it seems that this feature is not there anymore.
Event based scripting is working for the other services, but not for the file service. I have tried both on my hosted environment (ubuntu 14.0 x64) and on the 1 hour AWS demo.

Maybe I do something wrong. Any advice would be greatly appreciated.
I have posted this also on the Forum, but there is little or no activity on this topic (http://community.dreamfactory.com/t/server-side-scripting-on-file-upload-not-triggered-in-v2/1853)

image

open_basedir restriction

Hi

I'm using php5-fpm pools and php_admin_value[open_basedir] to limit the directories that can be accessed by Custom Scripting Services (php). When I want to open dreamfactory instance in browser I get the following error.

file_exists(): open_basedir restriction in effect. File(/var/www/html/df2/public/../../.bitnamimeta/demo_machine) is not within the allowed path(s): (/var/www/html/df2:/tmp)","code":500,"trace":["0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'file_exists(): ...', '/var/www/html/m...', 85, Array)","1 /var/www/html/df2/vendor/dreamfactory/df-core/src/Resources/System/Environment.php(85): ...

DF doesn't pass additional headers to the remote service

Hi,
I was using remote web services with no problems before upgrading to DF v2.1 (df-rws v0.2.0)
But in the last version of DF (df-rws) I can't pass additional header from server to the remote service.

Header name: Authorization
Header value: {myLookupKey}
Pass From Client: false
Verbs: 5 Selected

Unable to init SQL Server modules - VC11 vs VC12 builds

Wondering if there’s possibly an issue with the build of the latest DreamFactory related to SQL Server support. I'm using the Bitnami image for 2.0.4 on Windows 7. When I follow the documentation—including the various steps described on this page: http://wiki.dreamfactory.com/DreamFactory/Installation/Databases/SQLServer I receive the following error from issuing “php -v" on my Windows box. Note that under a 2.0.1-1 Bitnami image this worked fine.

C:\Bitnami\dreamfactory-2.0.4-0\php>php -v
PHP Warning:  PHP Startup: sqlsrv: Unable to initialize module
Module compiled with build ID=API20121212,TS,VC11
PHP    compiled with build ID=API20121212,TS,VC12
These options need to match
 in Unknown on line 0
PHP Warning:  PHP Startup: pdo_sqlsrv: Unable to initialize module
Module compiled with build ID=API20121212,TS,VC11
PHP    compiled with build ID=API20121212,TS,VC12
These options need to match
 in Unknown on line 0
PHP 5.5.30 (cli) (built: Dec  6 2015 19:39:50)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2015, by Zend Technologies

Security problem

I have 2 instances of dreamfactory v2 on my Debian, in the following directories:

  1. /var/www/html/df1
  2. /var/www/html/df2

Now, I can write a custom php script on df1 and read content of .env in df2 root directory and retrieve DB_DATABASE, DB_USERNAME, DB_PASSWORD and ...

My simple script:
return file_get_contents("/var/www/html/df2/.env");

How can I solve this problem?

MySQL statement RLIKE / REGEXP in filter does not work in Version 2.0.1

Valid for Bitnami VM and hosted version.
Prerequisites

{
"resource": [
{
"id": 3,
"first_name": "Ruben",
"last_name": "Torres",
"image_url": "",
"twitter": "@Ruben35",
"skype": "ruben35",
"notes": ""
}
]
}

  • https://df-jbe.enterprise.dreamfactory.com:443/api/v2/db/_table/contact?filter=first_name%20rlike%20'ruben'
    returns:
    {
    "error": {
    "context": null,
    "message": "Invalid or unparsable filter request.",
    "code": 400,
    "trace": [
    "0 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-sqldb/src/Resources/Table.php(473): DreamFactory\Core\SqlDb\Resources\Table->parseFilterString('first_name rlik...', Array, Array)",
    "1 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-sqldb/src/Resources/Table.php(235): DreamFactory\Core\SqlDb\Resources\Table->convertFilterToNative('first_name rlik...', Array, NULL, Array)",
    "2 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Resources/BaseDbTableResource.php(467): DreamFactory\Core\SqlDb\Resources\Table->retrieveRecordsByFilter('contact', 'first_name rlik...', Array, Array)",
    "3 [internal function]: DreamFactory\Core\Resources\BaseDbTableResource->handleGet()",
    "4 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(271): call_user_func(Array)",
    "5 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(177): DreamFactory\Core\Components\RestHandler->processRequest()",
    "6 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(224): DreamFactory\Core\Components\RestHandler->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), 'contact')",
    "7 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Services/BaseDbService.php(116): DreamFactory\Core\Components\RestHandler->handleResource(Array)",
    "8 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Components/RestHandler.php(172): DreamFactory\Core\Services\BaseDbService->handleResource(Array)",
    "9 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(65): DreamFactory\Core\Components\RestHandler->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), '_table/contact')",
    "10 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/dreamfactory/df-core/src/Utility/ServiceHandler.php(57): DreamFactory\Core\Services\BaseRestService->handleRequest(Object(DreamFactory\Core\Utility\ServiceRequest), '_table/contact')",
    "11 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Controllers/RestController.php(223): DreamFactory\Core\Utility\ServiceHandler::processRequest('v2', 'db', '_table/contact')",
    "12 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Controllers/RestController.php(128): DreamFactory\Http\Controllers\RestController->handleService('v2', 'db', '_table/contact')",
    "13 [internal function]: DreamFactory\Http\Controllers\RestController->handleGET('v2', 'db', '_table/contact')",
    "14 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(256): call_user_func_array(Array, Array)",
    "15 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(164): Illuminate\Routing\Controller->callAction('handleGET', Array)",
    "16 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(112): Illuminate\Routing\ControllerDispatcher->call(Object(DreamFactory\Http\Controllers\RestController), Object(Illuminate\Routing\Route), 'handleGET')",
    "17 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))",
    "18 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
    "19 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/DataCollection.php(32): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "20 [internal function]: Dreamfactory\Http\Middleware\DataCollection->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "21 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "22 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/Limits.php(141): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "23 [internal function]: Dreamfactory\Http\Middleware\Limits->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "24 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "25 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/AccessCheck.php(234): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "26 [internal function]: DreamFactory\Http\Middleware\AccessCheck->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "27 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "28 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "29 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
    "30 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(114): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
    "31 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(69): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(DreamFactory\Http\Controllers\RestController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'handleGET')",
    "32 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Route.php(203): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'DreamFactory\Ht...', 'handleGET')",
    "33 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Route.php(134): Illuminate\Routing\Route->runWithCustomDispatcher(Object(Illuminate\Http\Request))",
    "34 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(704): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))",
    "35 [internal function]: Illuminate\Routing\Router->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))",
    "36 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
    "37 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "38 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
    "39 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(706): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
    "40 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(671): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))",
    "41 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Routing/Router.php(631): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))",
    "42 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(236): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))",
    "43 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http{closure}(Object(Illuminate\Http\Request))",
    "44 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
    "45 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/barryvdh/laravel-cors/src/HandleCors.php(43): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "46 [internal function]: Barryvdh\Cors\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "47 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "48 /var/www/_releases/instance/dreamfactory/2.0.0-beta/app/Http/Middleware/FirstUserCheck.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "49 [internal function]: DreamFactory\Http\Middleware\FirstUserCheck->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "50 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "51 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "52 [internal function]: Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "53 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "54 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(62): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "55 [internal function]: Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "56 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "57 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "58 [internal function]: Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "59 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "60 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "61 [internal function]: Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "62 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "63 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(42): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "64 [internal function]: Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))",
    "65 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(124): call_user_func_array(Array, Array)",
    "66 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))",
    "67 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Illuminate\Http\Request))",
    "68 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(122): Illuminate\Pipeline\Pipeline->then(Object(Closure))",
    "69 /var/www/_releases/instance/dreamfactory/2.0.0-beta/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(87): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))",
    "70 /var/www/_releases/instance/dreamfactory/2.0.0-beta/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))",
    "71 {main}"
    ]
    }
    }

Unable to using OCI8 Oracle connection - (Bitnami Windows Installer)

Hi all,

i have the problem that i get an error if i will activate the OCI8 extension in php.ini

Error message:
"PHP Warning: PHP Startup: oci8: Unable to initialize module\nModule compiled with build ID=API20121212,TS,VC11\nPHP compiled with build ID=API20121212,TS,VC12\nThese options need to match\n in Unknown on line 0"

At the moment there is no possibility to connect to a oracle database.

Please can you help me with this issue.

Thank you
Best regards
Alex

Not able to set up another database server

This is my .env config
DB_DRIVER=sqlsrv
DB_HOST=192.xx.xx.xx
DB_PORT=1433
DB_DATABASE=bitnamidb
DB_USERNAME=bitnami
DB_PASSWORD=bitnami@123

When I run php artisan dreamfactory:setup command, I get this error
[InvalidArgumentException] Command "dreamfactory:setup" is not defined.

If I open dreamfactory in browser it gives me error like MySQL server has gone away which means its not picking my driver. I'm using DF2 beta-2

can't export schema of tables. and can't import .dfpkg exported from 2.0.4 into 2.1.0

  1. I have a single table in 2.0.4, and if I check the user_details and user_details/* in mysql export schema, I get the following error :
    "error":{"context":null,"message":"Table 'user_details/' does not exist in the database.","code":404,"trace"

  2. A dfpkg package is created without including the mysql schemas, but when I'm trying to import it into an azure instance (DreamFactory 2.1.0-4-r05 (Ubuntu 14.04)) I get :
    "Could not create the services.
    Validation failed."

platform.api.post("user/session",param) is broken after updating from DF 2.0.1 -> DF 2.0.4

Hi,

After updating to DF 2.0.4 the server side scripts will fail when calling platform.api.post("user/session",{}).

How to replicate: I created a service test1 that will execute this:

var param = {"email": "[email protected]", "password": "test1","remember_me": true, "duration": 64000};
var res_login = platform.api.post("user/session",param);
event.response = res_login ;
return;

This will return an 500 Internal Server Error, with this message:

<span class="exception_title">
    <abbr title="Symfony\Component\Debug\Exception\FatalErrorException">FatalErrorException</abbr> in 
    <a title="/home/bitnami/dreamfactory-2.0.1-0/apps/dreamfactory/htdocs/app/Http/Middleware/AuthCheck.php line 29" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">AuthCheck.php line 29</a>:
</span>
<span class="exception_message">Call to a member function query() on a non-object</span>

</h2>
<div class="block">
<ol class="traces list_exception">
    <li> in 
        <a title="/home/bitnami/dreamfactory-2.0.1-0/apps/dreamfactory/htdocs/app/Http/Middleware/AuthCheck.php line 29" ondblclick="var f=this.innerHTML;this.innerHTML=this.title;this.title=f;">AuthCheck.php line 29</a>
    </li>

</ol>
</div>

This i happening only on custom serverside script. If you make direct calls to "api/v2/user/session" with the API Docs or via Postman it works. It seems to be broken only on scripts.

Please check and advise when this will be fixed.
Best regards
Gabriel

How to install firebird driver

Hi,

has anyone installed driver for Firebird in official docker?

I did it like that, but i don't see the driver inside DF.

RUN apt-get source php5
RUN find / -name "configure"
RUN cd /php5-5.6.17+dfsg/ext/pdo_firebird/ phpize
RUN ln -s /usr/include/php5 /usr/include/php
RUN git clone https://github.com/jbq/php5.git /tmp/git
RUN cp -a /tmp/git/ext/json /php5-5.6.17+dfsg/ext/
RUN /php5-5.6.17+dfsg/configure
RUN make
RUN make install
RUN echo "extension=pdo_firebird.so" >> /etc/php5/mods-available/pdo.ini

Can't change the primary key field when creating a schema.

  • Create a table
  • Push the key button of the example_field
  • Save the table
  • Create a string field
  • Push the key button of the created field
  • Try to update the table

It gives me this SQLSTATE[42000]: Syntax error or access violation: 1068 Multiple primary key defined

Getting more done in GitHub with ZenHub

_SPAM_

Hola! @delebash has created a ZenHub account for the dreamfactorysoftware organization. ZenHub is the leading team collaboration and project management solution built for GitHub.


How do I use ZenHub?

To get set up with ZenHub, all you have to do is download the browser extension and log in with your GitHub account. Once you do, you’ll get access to ZenHub’s complete feature-set immediately.

What can ZenHub do?

ZenHub adds a series of enhancements directly inside the GitHub UI:

  • Real-time, customizable task boards for GitHub issues;
  • Burndown charts, estimates, and velocity tracking based on GitHub Milestones;
  • Personal to-do lists and task prioritization;
  • “+1” button for GitHub issues and comments;
  • Drag-and-drop file sharing;
  • Time-saving shortcuts like a quick repo switcher.

Add ZenHub to GitHub

Still curious? See more ZenHub features or read user reviews. This issue was written by your friendly ZenHub bot, posted by request from @delebash.

ZenHub Board

Export roles

When exporting/importing users, roles should also be processed

S3 File Service Cert Issue

Bitnami Windows DF 2.1.0-4. S3 File Service cannot connect to S3 repo do to CA cert error:

DF Log Error:
Failed to create container 'mycontainer345': Error executing "CreateBucket" on "https://s3.amazonaws.com/mycontainer345"; AWS HTTP error: cURL error 60: Peer certificate cannot be authenticated with given CA certificates

Update cacert.pem file referenced in the php.ini and still no luck.

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.