From 3e8a033a778c8dd3559f047a2734125fa897be34 Mon Sep 17 00:00:00 2001 From: Maxime Beauchemin Date: Wed, 6 Apr 2016 08:52:13 -0700 Subject: [PATCH] Better installation docs --- _sources/installation.txt | 29 +++++++++++++++++++++++++++++ index.html | 2 ++ installation.html | 25 +++++++++++++++++++++++++ searchindex.js | 2 +- 4 files changed, 57 insertions(+), 1 deletion(-) diff --git a/_sources/installation.txt b/_sources/installation.txt index 40a7035335e..f4bf8748436 100644 --- a/_sources/installation.txt +++ b/_sources/installation.txt @@ -44,6 +44,9 @@ attempt it: :: C:\> set INCLUDE=C:\OpenSSL-1.0.1f-64bit\include;%INCLUDE% C:\> pip install cryptography + # You may also have to create C:\Temp + C:\> md C:\Temp + Caravel installation and initialization --------------------------------------- @@ -135,6 +138,32 @@ data source's configuration, to your database's and ultimately falls back into your global default defined in ``CACHE_CONFIG``. +Deeper SQLAlchemy integration +----------------------------- + +It is possible to tweak the database connection information using the +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 + +This JSON string contains extra configuration elements. The ``engine_params`` +object gets unpacked into the +`sqlalchemy.create_engine `_ call, +while the ``metadata_params`` get unpacked into the +`sqlalchemy.MetaData `_ call. Refer to the SQLAlchemy docs for more information. + + +Postgres & Redshift +------------------- + +Postgres and Redshift use the concept of **schema** as a logical entity +on top of the **database**. For Caravel to connect to a specific schema, +you can either specify it in the ``metadata_params`` key of the ``extra`` +JSON blob described above, or you can use a database user name to connect to +the database that matches the schema name you are interested it. + + Druid ----- diff --git a/index.html b/index.html index b7a288677b4..c3e35742e30 100644 --- a/index.html +++ b/index.html @@ -241,6 +241,8 @@ to the user
  • Caravel installation and initialization
  • Configuration
  • Caching
  • +
  • Deeper SQLAlchemy integration
  • +
  • Postgres & Redshift
  • Druid
  • diff --git a/installation.html b/installation.html index d5e0ea96366..b2dde3b6e89 100644 --- a/installation.html +++ b/installation.html @@ -91,6 +91,8 @@
  • Caravel installation and initialization
  • Configuration
  • Caching
  • +
  • Deeper SQLAlchemy integration
  • +
  • Postgres & Redshift
  • Druid
  • @@ -161,6 +163,9 @@ attempt it:

    C:\> set LIB=C:\OpenSSL-1.0.1f-64bit\lib;%LIB% C:\> set INCLUDE=C:\OpenSSL-1.0.1f-64bit\include;%INCLUDE% C:\> pip install cryptography + +# You may also have to create C:\Temp +C:\> md C:\Temp @@ -245,6 +250,26 @@ up the “timeout searchpath”, from your slice configuration, to your data source’s configuration, to your database’s and ultimately falls back into your global default defined in CACHE_CONFIG.

    +
    +

    Deeper SQLAlchemy integration

    +

    It is possible to tweak the database connection information using the +parameters exposed by SQLAlchemy. In the Database edit view, you will +find an extra field as a JSON blob.

    +_images/add_db.png +

    This JSON string contains extra configuration elements. The engine_params +object gets unpacked into the +sqlalchemy.create_engine call, +while the metadata_params get unpacked into the +sqlalchemy.MetaData call. Refer to the SQLAlchemy docs for more information.

    +
    +
    +

    Postgres & Redshift

    +

    Postgres and Redshift use the concept of schema as a logical entity +on top of the database. For Caravel to connect to a specific schema, +you can either specify it in the metadata_params key of the extra +JSON blob described above, or you can use a database user name to connect to +the database that matches the schema name you are interested it.

    +

    Druid

      diff --git a/searchindex.js b/searchindex.js index a03b90bdeb6..6d9528a4c9e 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],access:[1,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,brew:2,bring:2,browser:2,build:2,builder:2,button:3,cach:1,cache_config: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,config:2,configur:1,connect:[2,3],constant:2,construct:3,consult:2,control:1,copi:2,could:3,creat:[1,2,3,4],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,defin:[1,2],demonstr:4,depend:1,deriv:[2,4],dev:2,devel:2,develop:2,differ:[3,4],dimens:[3,4],directli:2,displai:1,document:[2,3],done:[2,3],down:1,drop:1,dropdown:3,druid:1,dynam:4,easi:2,easili:3,edit:3,editor:3,either:3,encount:2,encrypt:2,ensur:2,enter:[2,3],enterpris:1,entri:3,env:2,error:2,essenti:2,exist:4,explor:[2,3,4],expos:4,express:[1,3],extens:1,fabmanag:2,fall:2,fedora:2,fetch:3,few:[2,3],field:[1,3],figur:3,file:2,filesystem:2,fill:3,filter:[1,3],find: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,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:3,intric:1,intro:1,isn:2,item: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,login:2,made:1,mai:[2,3],major:1,make:[2,3],manag:2,march:1,markdown:4,memcach:2,memori:2,menu:[2,3],metadata:[2,3],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,3],natur:3,navig:[2,3,4],need:[2,3],next:[2,3],note:[2,3],now:3,oauth:1,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,prefix:2,project:1,provid:[1,2],purpos:2,python:2,pythonpath:2,queri:3,quick:1,rdbm:1,readi:1,redi:2,refer:3,refresh: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,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],share:1,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,specifix:2,sql:[1,3],sqlalchemi:[1,2,3],sqlalchemy_database_uri:2,sqlite:2,start:1,step:[2,3],store:2,string:2,style:3,sudo:2,support:2,sure:[2,3],tab:3,take:3,tell:3,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:3,tri:3,tutori:1,type:3,ubuntu:2,ultim:2,unfortun:2,until:3,upgrad:2,uri:3,user:[1,2],vcvarsal:2,video:1,view:[3,4],visual:1,walk:4,walkthrough:4,want:[2,3],web:2,webserver_thread:2,week:3,well:3,when:3,where:[2,3],whether:2,which:[1,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,defin:4,depend:2,druid:2,express:4,featur:1,filter:4,galleri:0,get:2,indic:1,initi:2,instal:2,intro:4,overview:1,quick:4,slice:4,sql:4,start:2,tabl:[1,4],theme:4,tutori:3,video:4}}) \ No newline at end of file +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,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,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,redi:2,redshift:1,refer:[2,3],refresh: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],share:1,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,string:2,style:3,sudo:2,support:2,sure:[2,3],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:2,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,when:3,where:[2,3],whether:2,which:[1,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,video:4}}) \ No newline at end of file