Update existing DreamFactory 1.9.4 to 2.0?

Thanks for the info.

Is the docker image production ready?

Thanks.

DreamFactory 2.0 will be in beta through mid-October (Docker and Bitnami images…it’s the same source). There will be one or two small point releases before it’s production GA.

When will we see updated documentation? Reckon if you gave us some documentation to read it might keep us busy and off your case :wink:

I’d love to know more about all the new features, especially any changes to user auth and security options, especially for anonymous mobile devices, and any server side scripting enhancements.

1 Like

Working on docs now. Should have a first cut before end of the month. Then we’ll refine thru October until they’re perfect :wink:

Here’s a quick overview of new features. We’ll publish a 2.0 roadmap in October as well and get feedback from the community on what people want.

2.0 feature enhancements…

  • Modular architecture with Laravel PHP framework
  • Users can have different security permissions for different apps
  • Custom services (i.e. custom API definition) are now just another service. Also added a UI to define your own custom services with Swagger
  • Scripts now support Javascript V8, Node.js, and PHP
  • Table and field aliasing (you can mask table and field names in your API calls so the raw names aren’t visible in API calls. Useful for security and preventing broken API calls when your schema changes)
  • Flexible authentication options with JWT (JSON web tokens)
  • OAuth integration support that is easy to use
  • Active Directory (AD) integration support that is easy to use
  • Pick any default SQL DB for system tables and user / role management
  • Nginx or Apache
  • MongoDB packaged “out of the box” with REST API for Mongo ready to use

Those are the main things. Much of the work has been “under the hood”, focused on high performance and scalability. System is now much more modular too.

Learning curve in terms of UI change is minimal. Upgrading to 2.0 from 1.x isn’t bad. We can help you migrate with scripts.

Hope that helps.

2 Likes

Sounds awesome. Only other thing I can think of is caching and cache invalidation, especially for all us dynamodb users paying for each read and write. Is there an easy solution for caching some calls, memcache or redis type thing, and will it be feasible to invalidate the cache from server side scripts?

Yes, both Redis and Memcached will work for this. We’ll provide docs on caching set up and how to invalidate the cache. If you have some specific scenarios, Lee may have time to weigh in on how you’d set up caching.

Hi Ben,

I tried following the steps mentioned here . However, I’m having some problem with this particular line.

docker run -d -p 127.0.0.1:80:80 -v /PATH_TO_ENV_FILE:/opt/dreamfactory/.env --link df-mysql:db dreamfactorysoftware/df-docker

I get the following error.

$ docker run -d -p 127.0.0.1:80:80 -v /PATH_TO_ENV_FILE:/opt/dreamfactory/.env --link df-mysql:db dreamfactorysoftware/df-docker
invalid value “C:\Program Files\Git\PATH_TO_ENV_FILE;C:\Program Files\Git\opt\dreamfactory\.env” for flag -v: bad mount mode specified : \Program Files\Git\opt\dreamfactory.env
See ‘C:\Program Files\Docker Toolbox\docker.exe run --help’.

Not sure what should be the value for the PATH_TO_ENV_FILE.

I installed Docker Toolbox on Windows 7 machine.

Appreciate any help.

Sorry the Docker Hub section was missing some steps. README will update on next build.

  1. Clone the df-docker repo

cd ~/repos (or wherever you want the clone of the repo to be)
git clone https://github.com/dreamfactorysoftware/df-docker.git
cd df-docker

  1. Copy .env file to df-docker directory

The application looks for a .env file to read its configuration. You can find an example here. Copy the file, adjust the settings to your needs and save as .env. When starting the container you have to add the file to the container using the option -v /PATH_TO_ENV_FILE:/opt/dreamfactory/.env.

Like this:

-v /home/todd/repos/df-docker/.env:/opt/dreamfactory/.env

Hi Todd,

Thanks for the response.

Tried the following steps but now getting a different error.

  1. Cloned the repository.
  2. Copied the env file and made some changes.
  3. Execute the following commands:

$ docker run -d -p 127.0.0.1:80:80 -v C:\Users\Allen\git\df-docker.env:/opt/dreamfactory/.env --link df-mysql:db dreamfactorysoftware/df-docker
invalid value “C:\Users\Allen\git\df-docker.env:/opt/dreamfactory/.env” for flag -v: bad mount mode specified : /opt/dreamfactory/.env
See ‘C:\Program Files\Docker Toolbox\docker.exe run --help’.

$ docker run -d -p 127.0.0.1:80:80 -v /c/Users/Allen/git/df-docker/.env:/opt/dreamfactory/.env --link df-mysql:db dreamfactorysoftware/df-docker
invalid value “C:\Users\Allen\git\df-docker\.env;C:\Program Files\Git\opt\dreamfactory\.env” for flag -v: bad mount mode specified : \Program Files\Git\opt\dreamfactory.env
See ‘C:\Program Files\Docker Toolbox\docker.exe run --help’.

Not sure why /opt/dreamfactory/.env is pointing to \Program Files\Git\opt\dreamfactory.env. I don’t have the dreamfactory folder there.

Additional info:

$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
mysql latest 6762f304c834 46 hours ago 283.5 MB
dreamfactorysoftware/df-docker latest 07fb6e3b695f 3 days ago 436.8 MB
dreamfactorysoftware/dsp-docker latest a7131c459678 3 months ago 676.8 MB

$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d5a1ffc66856 mysql “/entrypoint.sh mysql” 9 hours ago Up 9 hours 3306/tcp df-mysql

Any ideas on why the error occurs?

EDIT: 09/13/2015

I’ve successfully executed the command below, removing the option -v.

$ docker run -d -p 127.0.0.1:80:80 --link df-mysql:db dreamfactorysoftware/df-docker
e47722bd75ef219e7b7eec22411ca025b24bca016948de3c90798711361f8426
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e47722bd75ef dreamfactorysoftware/df-docker “/docker-entrypoint.s” 9 minutes ago Up 9 minutes 127.0.0.1:80->80/tcp nostalgic_hypatia
d5a1ffc66856 mysql “/entrypoint.sh mysql” 35 hours ago Up 13 minutes 3306/tcp df-mysql

However, when I try to browse 127.0.0.1 I get web page not available in Chrome. I have an entry in my hosts file located in C:\Windows\System32\drivers\etc.

Any other entries you had go here (new line no # no space);

127.0.0.1 dreamfactory.app

Still no go.

What am I missing?

Regards,
Allen

I haven’t tried this on Windows yet. I’ll look into it. Can you try it on a Linux machine or VM?

Ok. Will try on a Linux VM.

Any more word on that Bitnami Package for 2.0? I know you guys are just sitting around twiddling your thumbs and having a LAN party, but some of us have work to do :smiley:

The LAN party is raging. Bitnami is close I swear, there have been some annoying issues with V8.

I will update this thread, hopefully tomorrow we will ship 2.0 beta on Bitnami. Stay tuned.

And thanks for hanging in there!

Bring it for the weekend!!! Yes!

Ben you mentioned scripts now support PHP in additon to V8 and Node, does this mean that you no longer have to install v8js extension and can just use PHP. The reason I ask is that on shared hosting you can’t install any extensions so if we can still use scripts with just PHP it should work fine, also some shared hosting allows for Node.js so this could help as well.

That’s correct. The key difference is that V8 is sandboxed while PHP and Node won’t be.

If you have questions on how to use PHP scripts, start a thread on the forum and a DreamFactory developer will reply. Docs are forthcoming, sprinting on that now…will be a few weeks before docs are in solid shape. Stay tuned.

That was quick, Thanks. I just tried getting 2.0 running on windows but it tries to goto localhost/setup_db which doesn’t exist. I will just wait for the bitnami 2.0 version to test.

Thanks again.

After trying it on a CentOS 7 VM, I was able to browse the page where it started doing something. After a while I got an error “Whoops, looks like something went wrong” on Firefox.

Is there a way to see a demo for us to be able to play around with? I’m curious to see the OAuth2 feature and would like to get a head start on how I can implement it on my mobile app.

Thanks.

best thing is to wait for the bitnami packages. i’ll update this thread as soon as they are on bitnami’s website.

hi all, dreamfactory 2.0 beta has shipped on bitnami.

2 Likes