From d54e0ea600ecc330c9ace4ff4a1301203140bf4d Mon Sep 17 00:00:00 2001
From: Maxime Beauchemin
Date: Fri, 8 Apr 2016 08:45:32 -0700
Subject: [PATCH] Added FAQ and db dependencies to docs
---
_sources/index.txt | 1 +
_sources/installation.txt | 35 +++++++++++++++++++++++
gallery.html | 2 ++
genindex.html | 1 +
index.html | 7 +++++
installation.html | 60 ++++++++++++++++++++++++++++++++++++++-
search.html | 1 +
searchindex.js | 2 +-
tutorial.html | 1 +
videos.html | 1 +
10 files changed, 109 insertions(+), 2 deletions(-)
diff --git a/_sources/index.txt b/_sources/index.txt
index 07c19448eb0..29478e2b395 100644
--- a/_sources/index.txt
+++ b/_sources/index.txt
@@ -34,6 +34,7 @@ Contents
tutorial
videos
gallery
+ faq
Indices and tables
diff --git a/_sources/installation.txt b/_sources/installation.txt
index 5fb341f733a..fcfc63c5335 100644
--- a/_sources/installation.txt
+++ b/_sources/installation.txt
@@ -121,6 +121,40 @@ the `Flask App Builder Documentation
`_
for more information on how to configure Caravel.
+Database dependencies
+---------------------
+
+Caravel does not ship bundled with connectivity to databases, except
+for Sqlite, which is part of the Python standard library.
+You'll need to install the required packages for the database you
+want to use as your metadata database as well as the packages needed to
+connect to the databases you want to access through Caravel.
+
+Here's a list of some of the recommended packages.
+
++---------------+-------------------------------------+-------------------------------------------------+
+| database | pypi package | SQLAlchemy URI prefix |
++===============+=====================================+=================================================+
+| MySQL | ``pip install mysqlclient`` | ``mysql://`` |
++---------------+-------------------------------------+-------------------------------------------------+
+| Postgres | ``pip install psycopg2`` | ``postgresql+psycopg2://`` |
++---------------+-------------------------------------+-------------------------------------------------+
+| Presto | ``pip install pyhive`` | ``presto://`` |
++---------------+-------------------------------------+-------------------------------------------------+
+| Oracle | ``pip install cx_Oracle`` | ``oracle://`` |
++---------------+-------------------------------------+-------------------------------------------------+
+| sqlite | | ``sqlite://`` |
++---------------+-------------------------------------+-------------------------------------------------+
+| Redshift | ``pip install sqlalchemy-redshift`` | ``redshift+psycopg2://`` |
++---------------+-------------------------------------+-------------------------------------------------+
+| MSSQL | ``pip install pymssql`` | ``mssql://`` |
++---------------+-------------------------------------+-------------------------------------------------+
+
+Note that many other database are supported, the main criteria being the
+existence of a functional SqlAlchemy dialect and Python driver. Googling
+the keyword ``sqlalchemy`` in addition of a keyword that describes the
+database you want to connect to should get you to the right place.
+
Caching
-------
@@ -147,6 +181,7 @@ parameters exposed by SQLAlchemy. In the ``Database`` edit view, you will
find an ``extra`` field as a ``JSON`` blob.
.. image:: _static/img/tutorial/add_db.png
+ :scale: 30 %
This JSON string contains extra configuration elements. The ``engine_params``
object gets unpacked into the
diff --git a/gallery.html b/gallery.html
index 6cf00490bbe..6da2658334f 100644
--- a/gallery.html
+++ b/gallery.html
@@ -31,6 +31,7 @@
+
@@ -71,6 +72,7 @@
@@ -239,6 +241,62 @@ Flask App Builder, the web framework used by Caravel. Please consult
the Flask App Builder Documentation
for more information on how to configure Caravel.
Caravel does not ship bundled with connectivity to databases, except
+for Sqlite, which is part of the Python standard library.
+You’ll need to install the required packages for the database you
+want to use as your metadata database as well as the packages needed to
+connect to the databases you want to access through Caravel.
+
Here’s a list of some of the recommended packages.
+
+
+
+
+
+
+
+
database
+
pypi package
+
SQLAlchemy URI prefix
+
+
+
+
MySQL
+
pipinstallmysqlclient
+
mysql://
+
+
Postgres
+
pipinstallpsycopg2
+
postgresql+psycopg2://
+
+
Presto
+
pipinstallpyhive
+
presto://
+
+
Oracle
+
pipinstallcx_Oracle
+
oracle://
+
+
sqlite
+
+
sqlite://
+
+
Redshift
+
pipinstallsqlalchemy-redshift
+
redshift+psycopg2://
+
+
MSSQL
+
pipinstallpymssql
+
mssql://
+
+
+
+
Note that many other database are supported, the main criteria being the
+existence of a functional SqlAlchemy dialect and Python driver. Googling
+the keyword sqlalchemy in addition of a keyword that describes the
+database you want to connect to should get you to the right place.
diff --git a/searchindex.js b/searchindex.js
index ac31730438c..ba299180495 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({envversion:46,filenames:["gallery","index","installation","tutorial","videos"],objects:{},objnames:{},objtypes:{},terms:{"1thisismyscretkei":2,"64bit":2,"default":2,"function":1,"new":[3,4],"short":4,"true":2,"while":2,abl:2,about:[2,3],abov:2,access:[1,2,3,4],account:2,action:2,add:3,admin:2,affect:4,after:2,aggreg:[1,3],ago:3,all:2,allow:[1,2],alreadi:4,also:[2,3],alter:[3,4],ani:3,annot:1,app:2,appbuild:1,appli:4,applic:2,apt:2,arbitrari:3,around:3,aspect:4,attempt:2,authent:1,avail:[1,4],awar:2,back:[2,3],backend:2,bar:3,basic:3,bat:2,been:[1,3],best:1,blob:2,brew:2,bring:2,browser:2,build:2,builder:2,button:3,cach:1,cache_config:2,call:2,can:[1,2,3,4],caravel:1,caravel_config:2,caravel_webserver_port:2,certain:4,cflag:2,chart:4,check:3,checkbox:3,click:3,cluster:2,collect:[3,4],column:3,come:[2,4],command:2,compli:2,concept:2,config:2,configur:1,connect:[2,3],constant:2,construct:3,consult:2,contain:2,control:1,copi:2,could:3,creat:[1,2,3,4],create_engin:2,creation:1,credenti:2,cryptographi:2,csrf:2,csrf_enabl:2,css:[1,3],current:2,custom:1,cut:3,dashboard:[1,2,3],data:[1,2,3,4],databas:[1,2,3],dataset:[1,4],datasourc:2,date:3,debian:2,debug:2,deep:1,deeper:1,defin:[1,2],demonstr:4,depend:1,deriv:[2,4],describ:2,dev:2,devel:2,develop:2,differ:[3,4],dimens:[3,4],directli:2,displai:1,doc:2,document:[2,3],done:[2,3],down:1,download:2,drop:1,dropdown:3,druid:1,dynam:4,easi:2,easili:3,edit:[2,3],editor:3,either:[2,3],element:2,encount:2,encrypt:2,engine_param:2,ensur:2,enter:[2,3],enterpris:1,entiti:2,entri:3,env:2,error:2,essenti:2,exist:4,explor:[2,3,4],expos:[2,4],express:[1,3],extens:1,extra:2,fabmanag:2,fall:2,fedora:2,fetch:3,few:[2,3],field:[1,2,3],figur:3,file:2,filesystem:2,fill:3,filter:[1,3],find:[2,3],first:3,flag:2,flask:[1,2],follow:2,form:3,found:3,framework:2,from:[1,2,3,4],gcc:2,get:1,global:2,goe:2,granular:1,guess:3,hard:3,have:2,here:[2,3,4],high:[1,4],hit:[2,3],hostnam:2,how:[1,2,3,4],http:2,icon:3,immun:4,includ:2,index:1,individu:1,inform:[2,3],init:2,initi:1,instal:1,integr:1,interest:[2,3],intric:1,intro:1,isn:2,item:2,json:2,just:3,kei:2,languag:[3,4],layer:1,ldap:1,ldflag:2,let:3,level:[2,4],lib:2,libffi:2,librari:[1,2],libssl:2,linear:3,list:3,load:2,load_exampl:2,local:2,localhost:2,logic:2,login:2,made:1,mai:[2,3],major:1,make:[2,3],manag:2,march:1,markdown:4,match:2,memcach:2,memori:2,menu:[2,3],metadata:[2,3],metadata_param:2,metric:[1,3,4],modal:3,mode:2,model:1,modul:[1,2],moment:3,more:2,most:1,move:3,multipl:2,name:[1,2,3],natur:3,navig:[2,3,4],need:[2,3],next:[2,3],note:[2,3],now:3,oauth:1,object:2,offici:2,onc:[2,3],onli:2,openid:1,openssl:2,option:3,origin:3,osx:2,other:[3,4],out:3,own:4,page:1,panoramix:1,paramet:2,password:2,past:2,path:2,pen:3,permiss:[1,2],pick:3,pip:2,pkg:2,plai:2,pleas:2,plu:3,point:2,popul:2,popup:3,port:2,posit:3,possibl:2,postgr:1,prefix:2,project:1,provid:[1,2],purpos:2,python:2,pythonpath:2,queri:3,quick:1,rdbm:1,readi:1,recommend:2,redi:2,redshift:1,refer:[2,3],refresh:2,refresh_druid:2,rel:3,relev:3,remote_us:1,renam:[1,3],requir:2,resiz:3,rhel:2,rich:1,right:[2,3],roadmap:2,role:2,row_limit:2,rule:1,run:2,runserv:2,same:3,save:3,schema:2,search:1,searchabl:3,searchpath:2,secret:2,secret_kei:2,secur:1,see:3,select:3,semant:[1,4],server:2,set:[1,2],setuptool:2,share:1,ship:2,should:[1,2,3],show:[1,2,3,4],shown:3,sign:[2,3],similar:3,simpl:[1,2,4],simplecach:2,simpli:3,size:3,slice:[1,2,3],some:[1,2,3],soon:4,sourc:[1,2,3],specif:2,specifi:2,specifix:2,sql:[1,3],sqlalchemi:1,sqlalchemy_database_uri:2,sqlite:2,start:1,step:[2,3],store:2,straightforward:2,string:2,style:3,sudo:2,support:2,sure:[2,3],system:2,tab:3,take:3,tell:3,temp:2,templat:4,test:[2,3],textbox:3,thei:2,them:[2,3,4],theme:1,thi:[1,2,3,4],thing:3,through:[1,3,4],time:3,timeout:2,tini:3,tmp:2,toggl:4,top:[2,3],tri:3,tutori:1,tweak:2,type:3,ubuntu:2,ultim:2,unfortun:2,unpack:2,until:3,upgrad:1,uri:3,user:[1,2],vcvarsal:2,video:1,view:[2,3,4],visual:1,walk:4,walkthrough:4,want:[2,3],web:2,webserver_thread:2,week:3,well:3,wheel:2,when:3,where:[2,3],whether:2,which:[1,2,3],who:1,widget:4,window:[2,3],won:2,work:[3,4],wtf:2,x86_amd64:2,year:3,yet:3,you:[2,3,4],your:[2,3,4],yum:2},titles:["Gallery","Overview","Installation & Configuration","Tutorial","Videos"],titleterms:{annot:4,cach:2,caravel:2,configur:2,content:1,creation:4,css:4,custom:4,dashboard:4,deeper:2,defin:4,depend:2,druid:2,express:4,featur:1,filter:4,galleri:0,get:2,indic:1,initi:2,instal:2,integr:2,intro:4,overview:1,postgr:2,quick:4,redshift:2,slice:4,sql:4,sqlalchemi:2,start:2,tabl:[1,4],theme:4,tutori:3,upgrad:2,video:4}})
\ No newline at end of file
+Search.setIndex({envversion:46,filenames:["faq","gallery","index","installation","tutorial","videos"],objects:{},objnames:{},objtypes:{},terms:{"1thisismyscretkei":3,"64bit":3,"abstract":0,"default":3,"function":[2,3],"import":0,"new":[4,5],"return":0,"short":5,"true":3,"while":3,abl:3,about:[3,4],abov:[0,3],accept:0,access:[2,3,4,5],account:3,action:3,add:4,addit:3,admin:3,affect:5,after:3,aggreg:[2,4],ago:4,all:[0,3],allow:[0,2,3],alreadi:5,also:[3,4],alter:[4,5],analysi:0,ani:4,annot:2,app:3,appbuild:2,appli:[0,5],applic:3,apt:3,arbitrari:[0,4],around:4,aspect:5,attempt:3,authent:2,avail:[2,5],avoid:0,awar:3,back:[3,4],backend:3,bar:4,basic:4,bat:3,batch:0,been:[2,4],best:2,blob:3,brew:3,bring:3,browser:3,build:3,builder:3,bundl:3,button:4,cach:2,cache_config:3,call:3,caravel:[0,2],caravel_config:3,caravel_webserver_port:3,certain:5,cflag:3,chart:5,check:4,checkbox:4,click:4,cluster:3,collect:[4,5],column:4,come:[3,5],command:3,compli:3,concept:3,config:3,configur:2,connect:[3,4],constant:3,construct:4,consult:3,contain:[0,3],control:2,copi:3,could:4,creat:[2,3,4,5],create_engin:3,creation:2,credenti:3,criteria:[0,3],cryptographi:3,csrf:3,csrf_enabl:3,css:[2,4],current:3,custom:2,cut:4,cx_oracl:3,dashboard:[2,3,4],databas:[0,2],dataset:[2,5],datasourc:[0,3],date:4,debian:3,debug:3,deep:2,deeper:2,defin:[2,3],demonstr:5,depend:2,deriv:[3,5],describ:3,dev:3,devel:3,develop:3,dialect:3,differ:[4,5],dimens:[4,5],directli:[0,3],displai:2,distribut:0,doc:3,document:[3,4],doe:3,done:[3,4],down:[0,2],download:3,driver:3,drop:2,dropdown:4,druid:2,dynam:5,easi:3,easili:4,edit:[3,4],editor:4,effect:0,either:[3,4],element:3,encount:3,encrypt:3,engine_param:3,enough:0,ensur:3,enter:[3,4],enterpris:2,entiti:3,entri:4,env:3,error:3,essenti:3,except:3,execut:0,exist:[3,5],experi:0,explor:[3,4,5],expos:[3,5],express:[0,2,4],extens:2,extra:3,fabmanag:3,factor:0,fall:3,fashion:0,fast:0,fedora:3,fetch:4,few:[3,4],field:[0,2,3,4],figur:4,file:3,filesystem:3,fill:4,filter:[2,4],find:[3,4],first:4,flag:3,flask:[2,3],follow:3,form:4,found:4,frame:0,framework:3,from:[2,3,4,5],gcc:3,get:2,gigant:0,global:3,goe:3,good:0,googl:3,granular:2,group:0,guess:4,hard:4,have:3,here:[3,4,5],high:[2,5],hit:[3,4],hostnam:3,http:3,icon:4,immun:5,includ:3,index:2,individu:2,inform:[3,4],init:3,initi:2,instal:2,integr:2,interact:0,interest:[3,4],intric:2,intro:2,isn:3,item:3,json:3,just:4,kei:3,keyword:3,languag:[4,5],larg:0,layer:[0,2],ldap:2,ldflag:3,let:4,level:[3,5],lib:3,libffi:3,librari:[2,3],libssl:3,like:0,limit:0,linear:4,list:[3,4],load:3,load_exampl:3,local:3,localhost:3,logic:[0,3],login:3,made:2,mai:[0,3,4],main:[0,3],major:2,make:[3,4],manag:3,mani:[0,3],march:2,markdown:5,match:3,materi:0,memcach:3,memori:3,mention:0,menu:[3,4],metadata:[3,4],metadata_param:3,metric:[2,4,5],might:0,modal:4,mode:3,model:2,modul:[2,3],moment:4,more:3,most:[0,2],move:4,mssql:3,mysql:3,mysqlclient:3,name:[2,3,4],natur:4,navig:[3,4,5],need:[0,3,4],next:[3,4],note:[3,4],now:4,oauth:2,object:3,offici:3,onc:[3,4],onli:[0,3],openid:2,openssl:3,option:4,oracl:3,origin:4,osx:3,other:[3,4,5],out:[0,4],own:[0,5],packag:3,page:2,panoramix:2,paramet:3,part:3,password:3,past:3,path:3,pen:4,perform:0,permiss:[2,3],pick:4,pip:3,pkg:3,place:3,plai:3,pleas:3,plu:4,point:3,popul:3,popup:4,port:3,posit:4,possibl:[0,3],postgr:2,postgresql:3,practic:0,prefix:3,presto:3,process:0,project:2,provid:[0,2,3],psycopg2:3,purpos:3,pyhiv:3,pymssql:3,pypi:3,python:3,pythonpath:3,quick:2,rdbm:2,readi:2,recommend:3,redi:3,redshift:2,refer:[3,4],refresh:3,refresh_druid:3,rel:4,relev:4,remote_us:2,renam:[2,4],requir:3,resiz:4,result:0,rhel:3,rich:2,right:[3,4],roadmap:3,role:3,row_limit:3,rule:2,run:[0,3],runserv:3,same:4,save:4,scan:0,schedul:0,schema:3,search:2,searchabl:4,searchpath:3,secret:3,secret_kei:3,secur:2,see:4,select:4,semant:[2,5],serv:0,server:3,set:[2,3],setuptool:3,share:2,ship:3,should:[2,3,4],show:[2,3,4,5],shown:4,sign:[3,4],similar:4,simpl:[0,2,3,5],simplecach:3,simpli:4,singl:0,size:4,slice:[2,3,4],slow:0,small:0,solut:0,some:[0,2,3,4],soon:5,specif:3,specifi:3,specifix:3,sql:[0,2,4],sqlalchemi:[0,2],sqlalchemy_database_uri:3,sqlite:3,standard:3,start:2,step:[3,4],store:3,straightforward:3,string:3,style:4,sudo:3,support:3,sure:[3,4],system:3,tab:4,take:4,tell:4,temp:3,templat:5,terabyt:0,test:[3,4],textbox:4,thei:3,them:[3,4,5],theme:2,thi:[0,2,3,4,5],thing:4,through:[0,2,3,4,5],timeout:3,tini:4,tmp:3,toggl:5,top:[0,3,4],transform:0,tri:4,tutori:2,tweak:3,twice:0,type:4,ubuntu:3,ultim:3,unfortun:3,union:0,unpack:3,until:4,upgrad:2,uri:[3,4],user:[0,2,3],vcvarsal:3,video:2,view:[0,3,4,5],virtual:0,visual:2,walk:5,walkthrough:5,want:[3,4],web:3,webserver_thread:3,week:4,well:[3,4],wheel:3,when:[0,4],where:[0,3,4],whether:[0,3],which:[2,3,4],who:2,widget:5,window:[3,4],won:3,work:[0,4,5],would:0,wtf:3,x86_amd64:3,year:4,yet:4,you:[0,3,4,5],your:[0,3,4,5],yourself:0,yum:3},titles:["FAQ","Gallery","Overview","Installation & Configuration","Tutorial","Videos"],titleterms:{annot:5,big:0,cach:3,can:0,caravel:3,configur:3,content:2,creation:5,css:5,custom:5,dashboard:5,data:0,databas:3,deeper:3,defin:5,depend:3,druid:3,express:5,faq:0,featur:2,filter:5,galleri:1,get:3,how:0,indic:2,initi:3,instal:3,integr:3,intro:5,join:0,multipl:0,overview:2,postgr:3,queri:0,quick:5,redshift:3,slice:5,sourc:0,sql:5,sqlalchemi:3,start:3,tabl:[0,2,5],theme:5,time:0,tutori:4,upgrad:3,video:5}})
\ No newline at end of file
diff --git a/tutorial.html b/tutorial.html
index f087e4b57e6..0b69631c653 100644
--- a/tutorial.html
+++ b/tutorial.html
@@ -72,6 +72,7 @@