Skip to content

Releases: idevz/vanilla

V0.1.0-rc6.2

11 Feb 01:14
Compare
Choose a tag to compare

Features add

  • Add Vanilla page_cache as an proxycache or fastcgicache similar caching for high performance
  • Add sysconf for convenience configuration such as sys resource like MC, DB etc.
  • Update resty-template to the orgin version
  • Add Vanilla cache libs like vanilla.v.libs.cache,vanilla.v.cache.mc,vanilla.v.cache.lru etc.
  • Add the Chinese Docs for Vanilla

V0.1.0-rc6.1

06 May 09:22
Compare
Choose a tag to compare
V0.1.0-rc6.1 Pre-release
Pre-release

New Features

  • A sequence of lib Loader(like LoadLibrary,LoadController,LoadModel,LoadPlugin,LoadApplication,LoadApp,LoadV) instead of require for Multi App.
  • Add framework/init.lua and framework/registry.lua As Vanilla base lib
  • Save ngx.var* to VANILLA_REGISTRY for performance improve.
  • Add Class function for good OO practice.
  • Update controllers for OO design.

1.install vanilla 0.1.--rc6.0 is same to rc5.

2.Loaders useage.

-- LoadLibrary to load application's Library.
LoadLibrary('aa')       -- ~/data/vanilla/ok/application/library/aa.lua
-- LoadController to load application's Controller.
LoadController('index')     -- ~/data/vanilla/ok/application/controllers/index.lua
-- LoadModel to load application's Model.
LoadModel('service.user')       -- ~/data/vanilla/ok/application/models/service/user.lua
-- LoadPlugin to load application's Plugin.
-- LoadApplication to load application's Application dir.
LoadApplication('controller.index')     -- ~/data/vanilla/ok/application/controllers/index.lua
-- LoadApp to load libs from Application root.
LoadApp 'application.bootstrap'     -- ~/data/vanilla/ok/application/bootstrap.lua
-- LoadV to load Vanilla FrameWork libs.
LoadV 'vanilla.v.error'     -- ~/data/vanilla/framework/0_1_0_rc6/vanilla/v/error.lua

3.OO practice

-- ~/data/vanilla/ok/application/library/bb.lua
local LibBb = Class("bb")

function LibBb:idevzDo(params)
    local params = params or { lib_bb = 'idevzDo LibBb'}
    return params
end

function LibBb:__construct( data )
    print_r('===============init bbb=========')
    self.lib = 'LibBb---------------xxx' .. data.info
    -- self.a = 'ppp'
end

function LibBb:idevzDobb(params)
    local params = params or { lib_bb = 'idevzDo idevzDobb'}
    return params
end

return LibBb

-- ~/data/vanilla/ok/application/library/aa.lua
local LibAa = Class("aa", LoadLibrary('bb'))

function LibAa:idevzDo(params)
    local params = params or { lib_aa = 'idevzDo LibAa'}
    return params
end

function LibAa:__construct( data )
 print_r('===============init==aaa=======' .. data.info)
 -- self.parent:init()
 self.lib = 'LibAa----------------------------aaaa'
end

return LibAa

-- ~/data/vanilla/ok/application/controllers/index.lua
local IndexController = Class('controllers.index')
local aa = LoadLibrary('aa')

function IndexController:__construct()
     self.aa = aa({info='ppppp'})
    local get = self:getRequest():getParams()
    self.d = '===============index===============' .. get.act
end

function IndexController:index()
    -- self.parent:fff()
    do return user_service:get() 
              .. sprint_r(aa:idevzDobb()) 
              .. sprint_r(self.aa:idevzDobb()) 
              -- .. sprint_r(self.parent.aaa) 
              .. Registry['APP_NAME']
              .. self.d
    end
    local view = self:getView()
    local p = {}
    p['vanilla'] = 'Welcome To Vanilla...' .. service:get()
    p['zhoujing'] = 'Power by Openresty'
    view:assign(p)
    return view:display()
end

return IndexController

V0.1.0-rc5.0

13 Apr 06:35
Compare
Choose a tag to compare
V0.1.0-rc5.0 Pre-release
Pre-release

New Features

  • Multi applications deployment.
  • Multi version of framework coexistence, easier framwork upgrade.
  • Auto complete the Nginx configration.
  • A convenient way to manage Services.

1.install vanilla with its version, thus for easier updating.

$ git clone git@github.com:idevz/vanilla.git
$ cd vanilla
$ ./setup-framework -v $VANILLA_PROJ_ROOT -o $OPENRESTY_ROOT        #see ./setup-framework -h for more details

after installation you can got two commands vanilla- and v-console which with a version number.

2.Vanilla apps use thire own vhost conf both in development and production environment. You shoud give a full path(-a $VANILLA_APP_ROOT) to setup a Vanilla app.

$ ./setup-vanilal-demoapp  [-a $VANILLA_APP_ROOT -u $VANILLA_APP_USER -g $VANILLA_APP_GROUP -e $VANILLA_RUNNING_ENV]    #see ./setup-vanilal-demoapp -h for more details

3.You can use va-{{vanilla app name}}-service script to manage each service.

$ ./$VANILLA_APP_ROOT/va-appname-service start

V0.1.0-rc4.1

22 Mar 07:42
Compare
Choose a tag to compare

1.fix a bug about restful route,when get params from request
2.add a way to parse request params
3.The most important thing is V0.1.0-rc5.0 is coming, create this tag for this milepost.

V0.1.0-rc4.0

19 Jan 07:53
Compare
Choose a tag to compare
  1. LUA_PACKAGE_PATH Is not must
  2. update function buildconf to a instance method for multiple APP support
  3. update dispatcher when remove init operation, More segmentation request stage
  4. Add busted for unit test
  5. Add restful route 'vanilla.v.routes.restful'
  6. Add vanilla restar, reload commands

V0.1.0-rc3.2

23 Dec 09:07
Compare
Choose a tag to compare

fix some bugs:
1.Waf bug about "attempt to yield across C-call boundary"
2.change lua file permissions to 644
3.add BSD installnations
4.update luarocks installnations
5.update errinfo "Vanilla Inner Lpcall Err." and "Plugins Err"

V0.1.0-rc3

18 Dec 04:58
Compare
Choose a tag to compare
V0.1.0-rc3 Pre-release
Pre-release

Use "make" instead luarocks to install vanilla, make vanilla more easy to ues.
Reduce package dependency.
Implements a router and a set of pluggable routing protocol.
Specifies �nginx bin PATH for vanilla start or stop, Specifies lua or luajit bin PATH for vanilla command.
Pcall call local static functions instead of dynamic functions.
Ning conf file can use {{NGX_PATH}} as a config params.

V0.1.0-rc2

27 Nov 15:35
Compare
Choose a tag to compare
V0.1.0-rc2 Pre-release
Pre-release

This version includes specification request process, perfect routing, plug-ins, request distribution, view and controller, the bootstrap components.Vanilla's infrastructure has been completed

base rc0 for vanilla

17 Sep 13:57
Compare
Choose a tag to compare
base rc0 for vanilla Pre-release
Pre-release

just contain the base feature

--vanilla system settings

sys/application
sys/vanilla
sys/application
sys/config
sys/nginx/handle
sys/nginx/directive
sys/nginx/config

--a vanilla app
v/application
v/bootstrap
v/controller
v/dispatcher
v/error
v/libs/utils
v/libs/http
v/registry
v/request
v/response
v/routes/simple
v/view
v/views/rtpl