objectum-ee v3.8.49
Objectum Enterprise Edition - javascript app platform
Deprecated.
Русская версия
Objectum platform makes it easy to create realtime single page applications that run in both Node.js and browsers.
Objectum includes a powerful user interface constructor called Visual Objectum that creates grids, tree grids, forms, etc. Automatically generates source code for CRUD (create, read, update, delete) functions.
Learn by Example project "To-Do list"
- Initialization
- Build user interface by Visual Objectum
Class
Card
Query
Layout
Menu
Building - Advanced learning
Dictionary
Table
Deployment
Objectum API
Client
Server
Sync (only client side)
Reports (only client side)
Locale
Cluster
* Objectum Firewall
Complete project https://github.com/objectum/todo
Create directories:
mkdir /opt/objectum/node
mkdir /opt/objectum/projects
mkdir /opt/objectum/projects/todo
mkdir /opt/objectum/projects/todo/binInstall:
cd /opt/objectum/node
npm install objectum-eeYou must have installed PostgreSQL 9.x (datestyle = dmy)
Add project configuration (postgres password: 12345):
cat > /opt/objectum/projects/todo/config.json
{
"rootDir": "/opt/objectum/projects/todo",
"adminPassword": "D033E22AE348AEB5660FC2140AEC35850C4DA997",
"database": "postgres",
"host": "localhost",
"port": 5432,
"db": "todo",
"dbUser": "todo",
"dbPassword": "1",
"dbaUser": "postgres",
"dbaPassword": "12345",
"dbEngine": {
"enabled": 1
},
"visualObjectum": {
"menuConstructor": 1,
"accessConstructor": 1,
"projectConstructor": 1
}
}Add platform configuration:
cat > /opt/objectum/node/config.js
module.exports = {
"rootDir": "/opt/objectum/node",
"projectsDir": "/opt/objectum/projects",
"port": 8100,
"storages": {
"todo": require ("/opt/objectum/projects/todo/config.json")
}
}Add script:
cat > /opt/objectum/node/objectum.js
var objectum = require ("objectum-ee");
var config = require ("./config");
module.exports = new objectum.Objectum (config);Add script:
cat > /opt/objectum/node/index.js
var objectum = require ("objectum-ee");
objectum.start (require ("./config"));Add script:
cat > /opt/objectum/projects/todo/bin/init.js
var $o = require ("/opt/objectum/node/objectum");
$o.db.execute ({
code: "todo",
fn: "init",
name: "To-Do list",
locale: "en" // en, ru
});Init project folder:
cd /opt/objectum/projects/todo/bin
node init.jsPrepare tablespace folder:
mkdir /opt/objectum/projects/todo/db
chown postgres:postgres /opt/objectum/projects/todo/dbAdd script:
cat > /opt/objectum/projects/todo/bin/create.js
var $o = require ("/opt/objectum/node/objectum");
$o.db.execute ({
code: "todo",
fn: "create",
path: "/opt/objectum/projects/todo/db"
});Create storage:
cd /opt/objectum/projects/todo/bin
node create.jsAdd script:
cat > /opt/objectum/projects/todo/bin/import.js
var $o = require ("/opt/objectum/node/objectum");
$o.db.execute ({
code: "todo",
fn: "import",
file: "/opt/objectum/projects/todo/schema/schema-app.js" // parent storage
});Import storage structure:
cd /opt/objectum/projects/todo/bin
node import.jsStart platform:
cd /opt/objectum/node
node index.js:Start platform with forever:
forever start -a -l /opt/objectum/node/objectum.log -o /dev/null -e /opt/objectum/node/objectum-error.log --sourceDir /opt/objectum/node index.jsStop platform with forever:
forever stop index.jsOpen URL: http://localhost:8100/projects/todo/
Login: admin
Password: admin
Add script:
cat > /opt/objectum/projects/todo/bin/remove.js
var $o = require ("/opt/objectum/node/objectum");
$o.db.execute ({
code: "todo",
fn: "remove"
});You can remove storage (drop tablespace, role, user from PostgreSQL):
cd /opt/objectum/projects/todo/bin
node remove.jsExport storage:
cd /opt/objectum/projects/todo/bin
node export.jsAdd script:
cat > /opt/objectum/projects/todo_my/bin/import.js
var $o = require ("/opt/objectum/node/objectum");
$o.db.execute ({
code: "todo_my",
fn: "import",
file: "/opt/objectum/projects/todo/schema/schema-todo.js" // parent storage
});Import your storage "todo" to new created storage "todo_my":
cd /opt/objectum/projects/todo_my/bin
node import.jsJust export "todo" and import "todo" to "todo_my" for update to new version of storage "todo". Stop platform before import storage.
startTransaction - start transaction. Only one transaction for one session allowed.
commitTransaction - commit transaction.
rollbackTransaction - rollback transaction.
createObject - create object
getObject - get object
set - set attribute value
sync - save object changes to storage
remove - remove object
execute - execute SQL query (only SELECT)
storage.commitTransaction (function (err) {
});storage.rollbackTransaction (function (err) {
});storage.createObject ("class", function (err, object) {
var id = object.get ("id");
});storage.getObject (id, function (err, object) {
object.set ("text", "Changed text");
object.sync (function (err) {
});
});object.remove ();
object.sync (function (err) {
});storage.execute ({
asArray: true,
select: [
{"a": "id"}, "id",
{"a": "name"}, "name",
{"b": "name"}, "status"
],
from: [
{"a": "task"},
"left-join", {"b": "spr.status"}, "on", [{"a": "status"}, "=", {"b": "id"}]
],
where: [
{"a": "name"}, "like", "Buy%", "and", {"a": "id"}, "in", [1000, 1002, 1003, 1004, 1005].join (".,.").split (".")
],
order: [
{"a": "name"}
]
}, function (err, recs) {
_.each (recs, function (rec) {
console.log (rec.id, rec.name, rec.status);
});
});Change index.js for start in cluster mode:
var objectum = require ("objectum-ee");
objectum.startCluster (require ("./config"));Cluster architecture:
Author
Dmitriy Samortsev
Copyright and license
GPLv3
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 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