yode-server v0.2.4
Yode-server
Setup
First, install MongoDB and Memcached and run both
Yode-server also requires node.js version 0.10 and above
Also we need Imagemagick for operations above images
mkdir yode
cd yode
npm install yode-server
npm start yode-server
Usage
The installer creates www
directory. Or you can choose another name during installation.
This is where your projects to be placed. In www/localhost
you’ll find a sample project.
All backend files are located in www/localhost/modules
,
all static files (css, images, browser-js) are in www/localhost/static
,
html-templates are in www/localhost/view
Each new project requires separate directory inside www
. The name of project directory must be same as host name. For example: if your project hostname is www.example.com
the path should be www/www.example.com
Command
npm start yode-server
or
node server
starts all virtual hosts located in project directory. If you need to start only one of them, specify it:
node server -p www.example.com
run yode-server as daemon:
node daemon
Admin interface
Admin panel default access (don't forget to add the port number in case it's not 80):
http://localhost/admin/
login: yeti
pass: 111111
Hello world (easy)
// file: www/localhost/modules/hello.js
// the pattern of a yode-module
// object "server" contents connections to mongodb, memcached and has more useful properties
exports.Plugin = function(server) {
this.server = server;
}
exports.Plugin.prototype.helloWorld = function(req, callback, auth) {
callback('Hello World!')
}
in the browser http://localhost/hello:helloWorld/
Hello world (MVC)
Model code
// file: www/localhost/modules/models/hello.js
exports.Plugin = function(server) {
this.server = server;
}
// as in the previous example but an object has passed to the callback.
exports.Plugin.prototype.getHello = function(req, callback, auth) {
callback({text: 'Hello World!'})
}
View, template code
<!--
file: www/localhost/view/hello.tpl
uses jqtpl engine
-->
<h1>${text}</h1>
Controller code
// file: www/localhost/modules/hellomvc.js
exports.Plugin = function(server) {
this.server = server;
}
exports.Plugin.prototype.helloWorld = function(req, callback, auth) {
var me = this
me.server.getModel('models.hello').getHello(req, function(data, e) {
me.server.tpl('hello.tpl', data, function(code) {
callback(code);
})
})
}
See the result: http://localhost/hellomvc:helloWorld/
You can also use the model as REST-service in external apps: http://localhost/models.hello:getHello/
"Hello World" on CMS virtual pages
- Log into admin interface:
http://localhost/admin/
(yeti:111111) - Go to Start -> Site tools -> Pages
- Click (+) icon
- Enter page name
- Select template
- Click Add - button (in right-bottom panel
Page blocks
) - Enter
hellomvc:helloWorld
to fieldContent type
- Save
Now you can see your "Hello World" on the new page (the path is in the second column of pages tree in admin-panel)
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago