Compare commits

...

7 Commits

Author SHA1 Message Date
870a3ee799 [run] Platform
Add platform for run

(cherry picked from commit 8b9f07e46e)
2020-03-13 11:29:22 +03:00
c3c1689170 nodejs: fix upload files
(cherry picked from commit af7101844a)
2020-03-13 11:29:09 +03:00
a271b847d5 nodejs: add run-develop
(cherry picked from commit b58bf412fa)
2020-03-13 11:28:52 +03:00
422429e742 v5.5.0 2020-03-04 18:09:04 +03:00
61826dc813 Merge branch 'feature/pkg' into release/v5.5.0 2020-02-12 12:00:19 +03:00
3dc4a6d6a3 Fix pkg building 2020-02-12 11:37:44 +03:00
4de89aa858 Preparation for pkg
Add abillity setup storage folder outside the repo
2020-02-12 11:37:04 +03:00
11 changed files with 56 additions and 57 deletions

3
.gitignore vendored
View File

@ -5,8 +5,9 @@
/build/deploy
/build/*.log
/web/documentserver-example/nodejs/node_modules
/web/documentserver-example/nodejs/public/files
/web/documentserver-example/nodejs/files
/web/documentserver-example/nodejs/config/local.json
/web/documentserver-example/nodejs/example
**/.vscode/
**/.idea
/web/documentserver-example/java/target/

View File

@ -35,6 +35,7 @@ const syncRequest = require("sync-request");
const jwt = require('jsonwebtoken');
const config = require('config');
const configServer = config.get('server');
const storageFolder = configServer.get("storageFolder");
const mime = require("mime");
const docManager = require("./helpers/docManager");
const documentService = require("./helpers/documentService");
@ -99,7 +100,7 @@ app.use(bodyParser.urlencoded({ extended: false }));
app.get("/", function (req, res) {
try {
docManager.init(__dirname, req, res);
docManager.init(storageFolder, req, res);
res.render("index", {
preloaderUrl: siteUrl + configServer.get('preloaderUrl'),
@ -119,7 +120,7 @@ app.get("/", function (req, res) {
});
app.get("/download", function(req, res) {
docManager.init(__dirname, req, res);
docManager.init(storageFolder, req, res);
var fileName = fileUtility.getFileName(req.query.fileName);
var userAddress = docManager.curUserHostAddress();
@ -140,11 +141,11 @@ app.get("/download", function(req, res) {
app.post("/upload", function (req, res) {
docManager.init(__dirname, req, res);
docManager.init(storageFolder, req, res);
docManager.storagePath(""); //mkdir if not exist
const userIp = docManager.curUserHostAddress();
const uploadDir = path.join("./public", configServer.get('storageFolder'), userIp);
const uploadDir = path.join(storageFolder, userIp);
const uploadDirTmp = path.join(uploadDir, 'tmp');
docManager.createDirectory(uploadDirTmp);
@ -297,7 +298,7 @@ app.get("/convert", function (req, res) {
app.delete("/file", function (req, res) {
try {
docManager.init(__dirname, req, res);
docManager.init(storageFolder, req, res);
let fileName = req.query.filename;
if (fileName) {
fileName = fileUtility.getFileName(fileName);
@ -322,7 +323,7 @@ app.delete("/file", function (req, res) {
app.post("/track", function (req, res) {
docManager.init(__dirname, req, res);
docManager.init(storageFolder, req, res);
var userAddress = req.query.useraddress;
var fileName = fileUtility.getFileName(req.query.filename);
@ -513,7 +514,7 @@ app.post("/track", function (req, res) {
app.get("/editor", function (req, res) {
try {
docManager.init(__dirname, req, res);
docManager.init(storageFolder, req, res);
var fileExt = req.query.fileExt;
var history = [];

View File

@ -22,13 +22,14 @@
"viewedDocs": [".pdf", ".djvu", ".xps"],
"editedDocs": [".docx", ".xlsx", ".csv", ".pptx", ".txt"],
"convertedDocs": [".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt", ".fodt", ".ott", ".xlsm", ".xls", ".xltx", ".xltm", ".xlt", ".ods", ".fods", ".ots", ".pptm", ".ppt", ".ppsx", ".ppsm", ".pps", ".potx", ".potm", ".pot", ".odp", ".fodp", ".otp", ".rtf", ".mht", ".html", ".htm", ".epub"],
"storageFolder": "files",
"storageFolder": "./files",
"storagePath": "/files",
"maxFileSize": 1073741824,
"mobileRegEx": "android|avantgo|playbook|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino",
"static":[
{
"name": "/public",
"path": "public"
"name": "/files",
"path": "./files"
}
],
"token": {

View File

@ -1,6 +1,13 @@
{
"server": {
"siteUrl": "/",
"maxFileSize": 104857600
"maxFileSize": 104857600,
"storageFolder": "/var/lib/onlyoffice/documentserver-example/files",
"static":[
{
"name": "/files",
"path": "/var/lib/onlyoffice/documentserver-example/files"
}
]
}
}

View File

@ -4,8 +4,8 @@
"maxFileSize": 104857600,
"static":[
{
"name": "/public",
"path": "public",
"name": "/files",
"path": "./files",
"options": {"maxAge": "7d"}
}
]

View File

@ -32,7 +32,6 @@ const documentService = require("./documentService");
const cacheManager = require("./cacheManager");
const guidManager = require("./guidManager");
const configServer = require('config').get('server');
const storageFolder = configServer.get('storageFolder');
const os = require("os");
let docManager = {};
@ -60,8 +59,6 @@ docManager.init = function (dir, req, res) {
docManager.dir = dir;
docManager.req = req;
docManager.res = res;
this.createDirectory(path.join(docManager.dir, "public", storageFolder));
};
docManager.getLang = function () {
@ -113,7 +110,7 @@ docManager.getCorrectName = function (fileName, userAddress) {
docManager.createDemo = function (demoName, userid, username) {
const fileName = docManager.getCorrectName(demoName);
docManager.copyFile(path.join(docManager.dir, "public", "samples", demoName), docManager.storagePath(fileName));
docManager.copyFile(path.join(__dirname, "..","public", "samples", demoName), docManager.storagePath(fileName));
docManager.saveFileData(fileName, userid, username);
@ -149,9 +146,8 @@ docManager.getFileUri = function (fileName) {
docManager.getlocalFileUri = function (fileName, version, forDocumentServer) {
const serverPath = docManager.getServerUrl(forDocumentServer);
const storagePath = storageFolder.length ? storageFolder + "/" : "";
const hostAddress = docManager.curUserHostAddress();
const url = serverPath + "/" + storagePath + hostAddress + "/" + encodeURIComponent(fileName);
const url = serverPath + configServer.get("storagePath") + "/" + hostAddress + "/" + encodeURIComponent(fileName);
if (!version) {
return url;
}
@ -172,13 +168,13 @@ docManager.getCallback = function (fileName) {
docManager.storagePath = function (fileName, userAddress) {
fileName = fileUtility.getFileName(fileName);
const directory = path.join(docManager.dir, "public", storageFolder, docManager.curUserHostAddress(userAddress));
const directory = path.join(docManager.dir, docManager.curUserHostAddress(userAddress));
this.createDirectory(directory);
return path.join(directory, fileName);
};
docManager.forcesavePath = function (fileName, userAddress, create) {
let directory = path.join(docManager.dir, "public", storageFolder, docManager.curUserHostAddress(userAddress));
let directory = path.join(docManager.dir, docManager.curUserHostAddress(userAddress));
if (!this.existsSync(directory)) {
return "";
}
@ -195,7 +191,7 @@ docManager.forcesavePath = function (fileName, userAddress, create) {
};
docManager.historyPath = function (fileName, userAddress, create) {
let directory = path.join(docManager.dir, "public", storageFolder, docManager.curUserHostAddress(userAddress));
let directory = path.join(docManager.dir, docManager.curUserHostAddress(userAddress));
if (!this.existsSync(directory)) {
return "";
}
@ -233,7 +229,7 @@ docManager.changesUser = function (fileName, userAddress, version) {
docManager.getStoredFiles = function () {
const userAddress = docManager.curUserHostAddress();
const directory = path.join(docManager.dir, "public", storageFolder, userAddress);
const directory = path.join(docManager.dir, userAddress);
this.createDirectory(directory);
const result = [];
const storedFiles = fileSystem.readdirSync(directory);

View File

@ -5,6 +5,7 @@
"scripts": {
"start": "node ./bin/www"
},
"bin": "bin/www",
"description": "OnlineEditorsExampleNodeJS",
"author": {
"name": "ONLYOFFICE",
@ -32,5 +33,11 @@
"repository": {
"type": "git",
"url": "git+https://github.com/ONLYOFFICE/document-server-integration.git"
},
"pkg": {
"assets": [
"public/**/*",
"views/*"
]
}
}

View File

@ -0,0 +1,19 @@
#!/usr/bin/env python
import sys
sys.path.append('../../../../build_tools/scripts')
import os
import base
def install_module():
base.print_info('Install')
base.cmd('npm', ['install'])
def run_integration_example():
install_module()
base.set_env('NODE_CONFIG_DIR', './config')
base.print_info('run integration example')
base.run_nodejs(['bin/www'])
base.set_env('NODE_ENV', 'development-' + base.host_platform())
run_integration_example()

View File

@ -1,18 +0,0 @@
#!/bin/bash
BASEDIR="$(cd "$(dirname "$0")" && pwd)"
cd $BASEDIR
echo "----------------------------------------"
echo "Install nodejs modules "
echo "----------------------------------------"
npm install
echo "----------------------------------------"
echo "Run server "
echo "----------------------------------------"
export NODE_CONFIG_DIR=$BASEDIR/config && export NODE_ENV=development-mac && node bin/www

View File

@ -1,15 +0,0 @@
ECHO OFF
ECHO.
ECHO ----------------------------------------
ECHO Install node.js modules
ECHO ----------------------------------------
call npm install
ECHO.
ECHO ----------------------------------------
ECHO Run server
ECHO ----------------------------------------
SET NODE_CONFIG_DIR=%~dp0\config
SET NODE_ENV=development-windows
start /min /b node bin/www