Compare commits

...

434 Commits

Author SHA1 Message Date
c4de5afd4b java-raw: inner 2025-07-07 15:52:44 +03:00
f6e04d5ab9 java-raw: set config 2025-07-07 15:52:43 +03:00
925c6e96fc java-raw: add custom cors 2025-07-07 15:52:30 +03:00
bf873519de java-raw: idk project file 2025-07-07 15:52:29 +03:00
0df41b9e36 java-raw: add docker files 2025-07-07 15:52:29 +03:00
00296b90c8 update demo files 2025-07-04 16:42:09 +03:00
3eae49253f nodejs: отображать в логах отсутствие WOPI заголовков ( for Bug 75684 ) 2025-07-02 11:55:24 +03:00
c8d28ec950 nodejs: 403 if verification fails 2025-07-02 11:47:00 +03:00
403ff78807 Merge pull request 'feature/request-users-pagination' from feature/request-users-pagination into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/68
2025-07-02 06:08:01 +00:00
bfa121f343 Merge remote-tracking branch 'remotes/origin/develop' into feature/request-users-pagination
# Conflicts:
#	CHANGELOG.md
2025-07-02 09:06:12 +03:00
f38e2779be Merge pull request 'fix/convert-box-checkmark-color' from fix/convert-box-checkmark-color into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/67
2025-07-02 06:04:03 +00:00
afdd56388c Merge remote-tracking branch 'remotes/origin/master' into develop 2025-07-01 17:19:56 +03:00
c73eece042 Merge pull request 'ci: added create-tag.yml and run release on create tag' from ci/git-actions into master
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/70
2025-07-01 14:19:30 +00:00
e8a68fad5a Merge remote-tracking branch 'remotes/origin/master' into develop 2025-07-01 17:14:05 +03:00
8701cc53e9 Merge pull request 'release/1.14.0' from release/1.14.0 into master
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/69
2025-07-01 14:09:50 +00:00
5a214b80d9 ci: added create-tag.yml and run release on create tag 2025-07-01 17:08:29 +03:00
f231b1cd72 nodejs: fix lint 2025-07-01 16:46:51 +03:00
1654d4978f changelog: set users by parts 2025-06-25 17:02:02 +07:00
86bf4d083a feat(ruby): set users by parts with infinite scroll for pagination 2025-06-25 17:00:43 +07:00
540a8ea98b feat(python): set users by parts with infinite scroll for pagination 2025-06-25 17:00:27 +07:00
729c67ab8f feat(php-laravel): set users by parts with infinite scroll for pagination 2025-06-25 17:00:09 +07:00
3d529bf57c feat(php): set users by parts with infinite scroll for pagination 2025-06-25 16:59:48 +07:00
7f2dfc37d4 feat(java-spring): set users by parts with infinite scroll for pagination 2025-06-25 16:59:33 +07:00
6c386f852d feat(java): set users by parts with infinite scroll for pagination 2025-06-25 16:59:06 +07:00
7469285d0c feat(go): set users by parts with infinite scroll for pagination 2025-06-25 16:58:54 +07:00
863eee6db7 feat(csharp-mvc): set users by parts with infinite scroll for pagination 2025-06-25 16:58:34 +07:00
74ff4cec88 feat(csharp): set users by parts with infinite scroll for pagination 2025-06-25 16:58:15 +07:00
209881f280 Merge branch 'release/1.14.0' into develop 2025-06-25 11:11:49 +03:00
32b4c49f6e changelog: conversion dialog starts with gray check mark on step 1 2025-06-24 15:16:08 +07:00
9545bd4375 fix(ruby): conversion dialog starts with gray check mark on step 1 2025-06-24 15:15:41 +07:00
2bc8081b04 fix(python): conversion dialog starts with gray check mark on step 1 2025-06-24 15:15:27 +07:00
9ce708913b fix(php-laravel): conversion dialog starts with gray check mark on step 1 2025-06-24 15:15:02 +07:00
0db101a270 fix(php): conversion dialog starts with gray check mark on step 1 2025-06-24 15:14:39 +07:00
5660b1f1c2 fix(nodejs): conversion dialog starts with gray check mark on step 1 2025-06-24 15:14:22 +07:00
ef294de17f fix(java-spring): conversion dialog starts with gray check mark on step 1 2025-06-24 15:13:52 +07:00
1759180e13 fix(java): conversion dialog starts with gray check mark on step 1 2025-06-24 15:13:30 +07:00
1ef8d40b50 fix(go): conversion dialog starts with gray check mark on step 1 2025-06-24 15:13:01 +07:00
8f9d99faf8 fix(csharp-mvc): conversion dialog starts with gray check mark on step 1 2025-06-24 15:12:26 +07:00
0d0ecc73f8 fix(csharp): conversion dialog starts with gray check mark on step 1 2025-06-24 15:12:12 +07:00
2166b31858 nodejs: infinite scroll for users pagination 2025-06-20 16:11:13 +03:00
3117231ac8 Merge pull request 'feature/load-scripts-not-in-popup' from feature/load-scripts-not-in-popup into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/66
2025-06-19 08:03:46 +00:00
0b61d7ff21 Merge remote-tracking branch 'remotes/origin/develop' into feature/load-scripts-not-in-popup
# Conflicts:
#	CHANGELOG.md
2025-06-19 11:00:21 +03:00
cda6534e5b Merge pull request 'feature/change-tab-title-on-rename' from feature/change-tab-title-on-rename into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/65
2025-06-19 07:52:30 +00:00
c51e3b8837 formats update 2025-06-18 16:03:36 +03:00
a18a5ee73f Merge remote-tracking branch 'remotes/origin/release/1.14.0' into develop 2025-06-18 15:35:03 +03:00
07b7615efd nodejs: formats update 2025-06-18 15:04:25 +03:00
a0651092f7 feat(ruby): loading scripts on page load 2025-06-18 15:55:55 +07:00
aba434f46d feat(python): loading scripts on page load 2025-06-18 15:53:28 +07:00
edb43ab59d feat(php-laravel): loading scripts on page load 2025-06-18 15:50:57 +07:00
dabd5816f1 feat(php): loading scripts on page load 2025-06-18 15:48:07 +07:00
0c7eabdf3c feat(java-spring): loading scripts on page load 2025-06-18 15:44:45 +07:00
11ef9d8a80 feat(java): loading scripts on page load 2025-06-18 15:37:16 +07:00
eb9e9f7db4 feat(go): loading scripts on page load 2025-06-18 15:28:12 +07:00
eb0a556333 feat(csharp-mvc): loading scripts on page load 2025-06-18 15:15:50 +07:00
1f661f588b feat(csharp): loading scripts on page load 2025-06-18 15:05:44 +07:00
b6577bd184 change tab title on rename 2025-06-18 14:03:08 +07:00
5e1e23176c feat(ruby): change document.title when renaming 2025-06-18 14:01:34 +07:00
6045fefe43 feat(python): change document.title when renaming 2025-06-18 14:01:34 +07:00
68f73f543a feat(php-laravel): change document.title when renaming 2025-06-18 14:01:34 +07:00
ff745e0b71 feat(php): change document.title when renaming 2025-06-18 14:01:34 +07:00
b7e267842f feat(java-spring): change document.title when renaming 2025-06-18 14:01:34 +07:00
dc54716171 feat(java): change document.title when renaming 2025-06-18 14:01:34 +07:00
60376861ce feat(go): change document.title when renaming 2025-06-18 14:01:34 +07:00
108f655fec feat(csharp-mvc): change document.title when renaming 2025-06-18 14:01:34 +07:00
4a5da5ee4e feat(csharp): change document.title when renaming 2025-06-18 14:01:33 +07:00
6a10d55e2b feat(nodejs): change document.title when renaming 2025-06-18 14:01:33 +07:00
af53ccb534 Merge pull request 'fix/popup-converted-filename' from fix/popup-converted-filename into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/64
2025-06-17 12:39:38 +00:00
acf09aa5ef change filename to changelog 2025-06-17 15:25:07 +03:00
36866764ce Merge remote-tracking branch 'remotes/origin/develop' into fix/popup-converted-filename 2025-06-17 15:24:05 +03:00
b1df939a1a Merge remote-tracking branch 'remotes/origin/release/1.14.0' into develop 2025-06-17 15:20:49 +03:00
307f15581b fix changelog 2025-06-17 15:19:53 +03:00
ada58ecb95 fix(ruby): change uploaded file name if converted 2025-06-17 16:49:03 +07:00
c78f1bd2ce fix(python): change uploaded file name if converted 2025-06-17 16:48:17 +07:00
91643fe247 fix(php-laravel): change uploaded file name if converted 2025-06-17 16:47:35 +07:00
538666f6c1 fix(php): change uploaded file name if converted 2025-06-17 16:44:53 +07:00
9402f769c6 fix(java-spring): change uploaded file name if converted 2025-06-17 16:44:02 +07:00
94f4995f3b fix(java): change uploaded file name if converted 2025-06-17 16:42:57 +07:00
bb736d85f8 fix(go): change uploaded file name if converted 2025-06-17 16:41:44 +07:00
721f2fbf6c fix(csharp-mvc): change uploaded file name if converted 2025-06-17 16:40:37 +07:00
bb22b73431 fix(csharp): change uploaded file name if converted 2025-06-17 16:39:38 +07:00
704d8bceb9 fix(nodejs): change uploaded file name if converted 2025-06-17 14:44:59 +07:00
74097ec485 Merge branch 'release/v9.0.0' into develop 2025-06-09 16:07:10 +03:00
e15d9a3163 1.14.0 2025-06-09 16:04:30 +03:00
0dd9cbca36 docs: fix api link 2025-06-03 16:40:06 +03:00
cd47a8e0de Merge remote-tracking branch 'remotes/origin/feature/setUsers' into release/v9.0.0 2025-06-02 12:39:34 +03:00
cf1541bf3a nodejs: set users by parts 2025-05-31 23:08:54 +03:00
fe0d985555 Merge remote-tracking branch 'remotes/origin/release/v9.0.0' into develop
# Conflicts:
#	CHANGELOG.md
2025-05-12 17:22:35 +03:00
d533cca184 nodejs: support md 2025-05-12 17:18:15 +03:00
9aa6e58bfc nodejs: set Content-Type for response 2025-05-12 15:10:11 +03:00
537d7eaeb9 nodejs: changed preloading (71c937ae37) 2025-05-12 15:07:23 +03:00
0d894df803 Merge pull request 'dependabot-updates' from dependabot-updates into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/63
2025-04-30 09:47:22 +00:00
b93338d5e9 build(nodejs): bump formidable from 3.5.1 to 3.5.4 2025-04-30 13:56:06 +07:00
8c18df7e4c build(java-spring): bump org.apache.httpcomponents.client5:httpclient5 from 5.4 to 5.4.3 2025-04-30 13:46:57 +07:00
5b5593240f build(php-laravel): update axios, vite, laravel-vite-plugin, rollup and esbuild 2025-04-30 13:17:15 +07:00
770b8bbe70 build(php-laravel): bump laravel/framework to 11.44.7 2025-04-30 12:52:37 +07:00
dd0987a6fc build(ruby): bump nokogiri to 1.18.8 and net-imap to 0.4.20 2025-04-30 12:18:46 +07:00
70affcc0e8 Merge pull request 'refactor(php-laravel): rename exception class file to comply with psr-4 standards' from fix/php-laravel-psr4-classname-rename into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/62
2025-04-29 12:40:35 +00:00
ceacac691d refactor(php-laravel): rename exception class file to comply with psr-4 standards 2025-04-29 12:28:36 +05:00
a5e8db73f8 ur skin language 2025-04-28 13:17:40 +03:00
05f22b9e24 nodejs: auto-convert for odg 2025-04-24 15:22:00 +03:00
84936a506f nodejs: move preload to changelog (71c937ae37) 2025-04-22 16:25:16 +03:00
501fbeacaf Merge remote-tracking branch 'remotes/origin/hotfix/v8.3.3' into release/v9.0.0
# Conflicts:
#	CHANGELOG.md
2025-04-15 09:26:36 +03:00
71c937ae37 nodejs: preload frame moved from uploading popap 2025-04-14 16:25:47 +03:00
71bcc65522 nodejs: fix host on verification (9faf628fba) 2025-04-14 15:52:47 +03:00
345e272cbb Merge remote-tracking branch 'remotes/origin/release/v9.0.0' into develop
# Conflicts:
#	CHANGELOG.md
2025-04-14 13:33:50 +03:00
9116eae2a1 nodejs: changeshistory is not used (bd784224b9) 2025-04-14 13:30:19 +03:00
e8b384f49a Merge pull request 'fix(php-laravel): fix download failure during attempt to get a token from a custom jwt header' from fix/php-laravel-jwt-header into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/61
2025-04-14 10:29:55 +00:00
8cf84391c0 php-laravel: fix to changelog 2025-04-14 13:29:34 +03:00
13554abfcb Merge branch 'feature/preload' into release/v9.0.0 2025-04-14 13:26:59 +03:00
f5e279ca11 change preload address 2025-04-14 13:22:17 +03:00
9395d183b0 nodejs: use default config 2025-04-14 12:50:04 +03:00
09600d91c2 nodejs: edit xlsb, view odg 2025-04-11 17:00:11 +03:00
dec01fe8b2 manually extract the bearer token from a jwt header 2025-04-10 22:04:24 +05:00
46d308c1b8 Merge branch 'release/v9.0.0' into develop
# Conflicts:
#	CHANGELOG.md
2025-03-28 13:48:37 +03:00
a7552677eb Merge branch 'hotfix/v8.3.3' into release/v9.0.0
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/nodejs/public/assets/document-formats
#	web/documentserver-example/nodejs/public/images/diagram.ico
2025-03-28 13:45:09 +03:00
c585e30eb8 Merge remote-tracking branch 'remotes/origin/master' into hotfix/v8.3.3
# Conflicts:
#	CHANGELOG.md
2025-03-28 13:42:34 +03:00
4af422acb3 Merge pull request 'release/1.13.0' from release/1.13.0 into master
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/60
2025-03-28 10:34:05 +00:00
6bac7ffc5b upload-artifact v4 2025-03-28 12:49:27 +03:00
b6a9a4ba77 nodejs: fix lint
# Conflicts:
#	web/documentserver-example/nodejs/helpers/users.js
2025-03-28 12:41:50 +03:00
76ee327af8 fix readme 2025-03-28 12:35:21 +03:00
2df44605c3 3rd-party license 2025-03-28 12:24:35 +03:00
888fb0e12c Merge pull request 'fix(ruby): replacing host when version download url is present. Fix Bug 73693' from fix/ruby-restore into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/59
2025-03-27 07:57:59 +00:00
f1c4e8d875 fix(ruby): replacing host when version download url is present. Fix Bug 73693 2025-03-26 12:44:04 +07:00
f394be17a4 Merge pull request '1.13.0-bugfix' from 1.13.0-bugfix into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/57
2025-03-25 08:06:11 +00:00
ebd306d2b2 fix(python): correct version author when changes exist. Fix Bug 73505 2025-03-25 14:11:12 +07:00
2447aaef12 fix(ruby): correct version author when changes exist. Fix Bug 73505 2025-03-25 13:15:01 +07:00
ed586de8c8 fix(ruby): replace public hostname in the intermediate version download url. Fix Bug 73655 2025-03-25 13:14:05 +07:00
a759f97508 fix(ruby): sort files by modification time. Fix Bug 73654 2025-03-25 11:48:16 +07:00
f40f1a4704 fix text 2025-03-24 13:06:13 +03:00
88e541971e nodejs: fix lint 2025-03-24 12:55:34 +03:00
6239e05032 Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-03-24 12:53:20 +03:00
30c541d119 Merge pull request 'bugfix-1.13.0' from bugfix-1.13.0 into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/56
2025-03-24 09:52:52 +00:00
e25f957605 Merge pull request 'features-tips' from features-tips into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/52
2025-03-24 09:51:59 +00:00
5c0c2f7baa Merge remote-tracking branch 'remotes/origin/develop' into features-tips
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/csharp-mvc/Helpers/Users.cs
#	web/documentserver-example/csharp/Users.cs
#	web/documentserver-example/go/server/managers/default/user.go
#	web/documentserver-example/java-spring/pom.xml
#	web/documentserver-example/java-spring/src/main/java/com/onlyoffice/integration/ExampleData.java
#	web/documentserver-example/java/src/main/java/helpers/Users.java
#	web/documentserver-example/nodejs/helpers/users.js
#	web/documentserver-example/php-laravel/app/Repositories/UserRepository.php
#	web/documentserver-example/php/src/helpers/ExampleUsers.php
#	web/documentserver-example/python/src/utils/users.py
#	web/documentserver-example/ruby/app/models/users.rb
2025-03-24 12:46:19 +03:00
974e728d8b Merge pull request 'feature/docs-integration-sdk' from feature/docs-integration-sdk into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/55
2025-03-24 09:40:10 +00:00
e4984f4c3e fix(php-laravel): open source with correct host. Fix Bug 73552 2025-03-21 13:13:28 +07:00
14dabe7789 fix: (java-spring) code style 2025-03-20 11:25:39 +03:00
18de6a1616 feat(java-spring): DocumentServerClient instead HttpURLConnection 2025-03-20 11:17:12 +03:00
983fa34c9f feat(java-spring): DocumentServerClient instead RequestManager 2025-03-20 11:16:42 +03:00
95a28b15b4 build(java-spring): com.onlyoffice:docs-integration-sdk:1.4.3-SNAPSHOT 2025-03-20 11:16:12 +03:00
5ca511d838 fix(go): correct file uploading error processing. Fix Bug 73601 2025-03-20 15:12:20 +07:00
6290abf5dd feat(java-spring): enable features tips for anonymous 2025-03-20 13:50:46 +07:00
d11115e452 build(java-spring): update docs-intergation-sdk to version 1.4.2-SNAPSHOT 2025-03-20 13:49:55 +07:00
649e167916 php-laravel: Copyright 2025 2025-03-19 15:46:27 +03:00
39a32011f8 Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-03-19 11:46:53 +03:00
64fce32be6 Merge pull request 'release/1.13.0 bugfix' from fix/1.13 into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/53
2025-03-19 08:46:25 +00:00
5cbb905285 refactoring 2025-03-19 11:44:07 +03:00
9769641539 fix(java-spring): correct file name for conversion instead of changing download link 2025-03-19 15:27:35 +07:00
806fee40dd fix(java): correct file name for conversion instead of changing download link 2025-03-19 15:27:35 +07:00
1db4e22007 fix(nodejs): correct file name for conversion instead of changing download link 2025-03-19 15:27:35 +07:00
1a73be6a12 fix(ruby): correct file name for conversion instead of changing download link 2025-03-19 15:27:35 +07:00
c8288b3141 fix(php-laravel): correct file name for conversion instead of changing download link 2025-03-19 15:27:35 +07:00
c03a15a230 fix(php-laravel): get server url from new SettingsManager. Fix Bug 73556 2025-03-19 15:27:34 +07:00
a16318fa71 fix(java): correct version author when changes exist. Fix Bug 73505 2025-03-19 15:27:34 +07:00
a5d98055ce fix(java-spring): correct version author when changes exist. Fix Bug 73505 2025-03-19 15:27:34 +07:00
ec0e2e1b4a fix(php): correct version author when changes exist. Fix Bug 73505 2025-03-19 15:27:34 +07:00
cbd464ad0a fix(php): correct download name of converted file. Fix Bug 73522 2025-03-19 15:27:34 +07:00
9378e4313b fix(csharp-mvc): correct download name of converted file. Fix Bug 73522 2025-03-19 15:27:34 +07:00
5d23ac7572 fix(csharp): correct download name of converted file. Fix Bug 73522 2025-03-19 15:27:34 +07:00
26adbf454b fix(python): correct download name of converted file. Fix Bug 73522 2025-03-19 15:27:25 +07:00
47a8bff158 fix(csharp-mvc): sort files by modification time. Fix Bug 73528 2025-03-19 15:27:04 +07:00
54b0735295 fix(csharp): sort files by modification time. Fix Bug 73528 2025-03-19 15:27:04 +07:00
248ca25671 fix(java): sort files by modification time. Fix Bug 73528 2025-03-19 15:27:04 +07:00
b0f3d02191 fix(java-spring): sort files by modification time. Fix Bug 73528 2025-03-19 15:27:04 +07:00
92325894f9 build(ruby): add nokogiri for linux-musl to gemfile.lock to run using docker. Fix Bug 73519 2025-03-19 15:27:04 +07:00
0a9a37e355 fix(php): replace public url in the intermediate version download link and ignore command service error code 4. Fix Bug 73526 2025-03-19 15:27:04 +07:00
2784c47873 fix(python): replace public url in the intermediate version download link. Fix Bug 73520 2025-03-19 15:27:04 +07:00
6cbe243baa fix: reloading page after upload(java, java-spring). Fix Bug 73527 2025-03-19 15:27:03 +07:00
53daf9121d fix(go): correct change reference source processing. Fix Bug 73529 2025-03-19 15:27:03 +07:00
07b0f2c5be fix(go): enable close for uid-2 and uid-3. Fix Bug 73506 2025-03-19 15:27:03 +07:00
167467e3b3 Merge pull request 'build(ruby): bump rack to 2.2.13' from ruby-bump-rack into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/54
2025-03-19 08:16:56 +00:00
0d2fb178fa build(ruby): bump rack to 2.2.13 2025-03-19 11:16:23 +03:00
938212cb6a first user with favorite option 2025-03-17 16:12:41 +03:00
267e14edde reorder user's info 2025-03-17 15:59:31 +03:00
90710b9710 nodejs: reorder user's info 2025-03-17 15:12:04 +03:00
1794ce39ab nodejs: replace symbol 2025-03-14 17:07:52 +03:00
95218e4fe4 Merge branch 'feature/roles' into develop
# Conflicts:
#	CHANGELOG.md
2025-03-14 17:03:18 +03:00
a5d2a38809 nodejs: start filling 2025-03-14 17:02:03 +03:00
a2088ae8e1 nodejs: user role 2025-03-14 16:24:16 +03:00
13ccad5fbd Merge branch 'feature/submit' into develop 2025-03-14 16:19:08 +03:00
15c23bfc40 Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-03-14 16:18:59 +03:00
f83b4a8be8 nodejs: second user can submit 2025-03-14 16:15:12 +03:00
43f1a9a800 Merge remote-tracking branch 'remotes/origin/fix/golang' into release/1.13.0 2025-03-12 12:22:44 +03:00
336e37cf44 fix version author when changes exist ( Fix Bug 73505 ) 2025-03-12 12:22:11 +03:00
f554de193e fix(go): correct converted file name. Fix Bug 73501 2025-03-12 15:02:10 +07:00
f5a11721bd Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-03-11 12:02:16 +03:00
688cdd8ee9 Merge branch 'hotfix/v8.3.1' into release/1.13.0 2025-03-11 11:53:20 +03:00
9a3865e36e Merge branch 'release/v9.0.0' into develop
# Conflicts:
#	CHANGELOG.md
2025-03-11 11:46:53 +03:00
c796154fe1 update diagram tab icon
# Conflicts:
#	web/documentserver-example/csharp-mvc/Content/images/diagram.ico
#	web/documentserver-example/csharp/App_Themes/images/diagram.ico
#	web/documentserver-example/go/static/images/diagram.ico
#	web/documentserver-example/java/src/main/webapp/css/img/diagram.ico
#	web/documentserver-example/php/assets/images/diagram.ico
#	web/documentserver-example/python/static/images/diagram.ico
#	web/documentserver-example/ruby/app/assets/images/diagram.ico
2025-03-11 11:44:48 +03:00
0599f74117 nodejs: support diagram editor
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/nodejs/public/assets/document-formats
2025-03-11 11:44:26 +03:00
8f944e203d nodejs: support vsdx in visio editor
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/nodejs/public/assets/document-formats
2025-03-11 11:43:38 +03:00
d8ea6a6dbb Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-03-11 11:24:37 +03:00
aaf8ac5328 feat(ruby): enable features tips for anonymous 2025-03-03 14:57:09 +07:00
11bbbebec1 feat(python): enable features tips for anonymous 2025-03-03 14:52:30 +07:00
27f21fd6f5 feat(php-laravel): enable features tips for anonymous 2025-03-03 14:45:08 +07:00
e76faa4671 feat(php): enable features tips for anonymous 2025-03-03 14:26:30 +07:00
4d7fe321ba feat(java): enable features tips for anonymous 2025-03-03 14:13:25 +07:00
aeda04b9e7 feat(golang): enable features tips for anonymous 2025-03-03 13:47:51 +07:00
9337ff720e Merge pull request 'fix(go): sort files by time. Fix Bug 73390' from fix/golang-sort-by-time into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/51
2025-03-03 05:41:35 +00:00
699370936a feat(csharp-mvc): enable features tips for anonymous 2025-03-03 12:01:22 +07:00
ba95202084 fix(csharp-mvc): correct null users for protect and mentions for anonymous 2025-03-03 11:57:23 +07:00
2f72904deb feat(csharp): enable features tips for anonymous 2025-03-03 11:38:09 +07:00
cd033ac3bd fix(csharp): correct null users for protect and mentions for anonymous 2025-03-03 11:37:07 +07:00
91024f8626 fix(go): sort files by time. Fix Bug 73390 2025-03-03 11:07:35 +07:00
c36f1c67a9 Merge pull request 'fix(go): return the name of the file created by url. Fix Bug 73389' from fix/golang-create-by-url into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/50
2025-02-28 06:28:56 +00:00
3e64597f45 fix(go): return the name of the file created by url. Fix Bug 73389 2025-02-28 12:20:51 +07:00
f9ab6e47b1 Merge pull request 'fix(go): remove directUrl from index page script. Fix Bug 73380' from fix/golang-direct-url into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/49
2025-02-27 10:43:15 +00:00
283687b692 fix(go): remove directUrl from index page script. Fix Bug 73380 2025-02-27 13:42:27 +03:00
6b9e5503c3 feat(nodejs): enable features tips for anonymous 2025-02-27 15:17:18 +07:00
d6d9ea024c Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-02-24 17:21:00 +03:00
08015e06b6 Merge pull request 'jwt-lifetime' from jwt-lifetime into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/31
2025-02-24 14:20:29 +00:00
ce4b905f06 feat(php-laravel): add jwt token lifetime from config 2025-02-24 17:19:43 +03:00
b6613b5d21 feat(php): add jwt token lifetime from config 2025-02-24 17:18:52 +03:00
ab0993f09f feat(ruby): add jwt token lifetime from config 2025-02-24 17:18:52 +03:00
3c4b2e2877 feat(python): add jwt token lifetime from config 2025-02-24 17:18:51 +03:00
3102f4835c feat(java-spring): add jwt token lifetime from config 2025-02-24 17:18:51 +03:00
7ea4545657 feat(java): add jwt token lifetime from config 2025-02-24 17:18:51 +03:00
635d70d8f4 feat(csharp-mvc): add jwt token lifetime from config 2025-02-24 17:18:51 +03:00
90f3a3e44e feat(csharp): add jwt token lifetime from config 2025-02-24 17:18:50 +03:00
46cf8baa28 feat(go): add jwt token lifetime from config 2025-02-24 17:18:50 +03:00
326fd4a586 Merge branch 'feature/wopi-verification' into release/1.13.0 2025-02-24 17:16:23 +03:00
f74fb7384e Merge pull request 'feat(nodejs): wopi proof key verification' from feature/wopi-verification into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/43
2025-02-24 14:15:35 +00:00
d0efe3e1f2 nodejs: proof key to changelog 2025-02-24 15:17:17 +03:00
91a601dbfe fix(nodejs): skip wopi verification when proof key is missing in discovery 2025-02-24 15:13:33 +03:00
9faf628fba feat(nodejs): wopi proof key verification 2025-02-24 15:13:32 +03:00
14458f82dd Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-02-24 15:11:21 +03:00
f4a11e2047 Merge pull request 'nodejs: move editor style to template file' from replace-editor-css into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/48
2025-02-24 12:10:13 +00:00
af9a3a97ec Merge pull request 'build(ruby): bump nokogiri to 1.18.3' from bump-nokogiri into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/47
2025-02-24 12:08:22 +00:00
c2d01c68fb build(ruby): bump nokogiri to 1.18.3 2025-02-24 15:07:27 +03:00
0f9f09d346 nodejs: move editor style to template file 2025-02-24 14:09:28 +07:00
ed0a70f071 Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-02-20 13:18:39 +03:00
f46505a07c Merge pull request 'narrow-mobile-screen-fix' from narrow-mobile-screen-fix into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/45
2025-02-20 10:17:35 +00:00
08fe615b93 fix(ruby): support for mobile screens with width less than 320px 2025-02-20 13:16:45 +03:00
da071258f6 fix(python): support for mobile screens with width less than 320px 2025-02-20 13:16:45 +03:00
8c136540be fix(php-laravel): support for mobile screens with width less than 320px 2025-02-20 13:16:44 +03:00
c65eb623a2 fix(php): support for mobile screens with width less than 320px 2025-02-20 13:16:44 +03:00
9c96a577b4 fix(java-spring): support for mobile screens with width less than 320px 2025-02-20 13:16:44 +03:00
00506049aa fix(java): support for mobile screens with width less than 320px 2025-02-20 13:16:43 +03:00
b6ace095e5 fix(go): support for mobile screens with width less than 320px 2025-02-20 13:16:43 +03:00
cce42cb94c fix(csharp-mvc): support for mobile screens with width less than 320px 2025-02-20 13:16:43 +03:00
83abe9f175 fix(csharp): support for mobile screens with width less than 320px 2025-02-20 13:16:43 +03:00
1374aeb2fd fix(nodejs): support for mobile screens with width less than 320px 2025-02-20 13:16:42 +03:00
dadba2a81f Merge remote-tracking branch 'remotes/origin/hotfix/v8.3.1' into develop 2025-02-19 11:33:47 +03:00
f0ced2f587 nodejs: encode path in url for wopi 2025-02-19 11:33:29 +03:00
fe56ec24b5 nodejs: encode path in url for wopi 2025-02-19 11:31:24 +03:00
6a11ac4ced diagram to changelog for all 2025-02-17 10:35:07 +03:00
5169b1dc97 ci: change sdk version to dev-diagram 2025-02-17 10:26:35 +03:00
dabb51bf8a Merge branch 'release/1.13.0' into develop 2025-02-17 10:23:08 +03:00
5a50edd87c ci: update sdk version 2025-02-17 10:20:49 +03:00
48d90ff2f2 Merge pull request 'ruby: bump rack to 2.2.11 and net-imap to 0.4.19' from ruby-deps into release/1.13.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/44
2025-02-17 06:32:04 +00:00
bde7dd1ae5 build(ruby): bump rack to 2.2.11 2025-02-17 09:31:23 +03:00
81bb9e22e0 build(ruby): bump net-imap to 0.4.19 2025-02-17 09:31:23 +03:00
f15f48eba5 java-spring: sdk 1.4.1-SNAPSHOT 2025-02-14 15:55:18 +03:00
12753dee19 Merge remote-tracking branch 'remotes/origin/release/1.13.0' into develop 2025-02-14 15:51:54 +03:00
5e037f13b5 java-spring: sdk 1.4.0 2025-02-14 15:51:05 +03:00
598e914452 Merge pull request 'feature/diagrams' from feature/diagrams-editor into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/33
2025-02-11 15:19:08 +00:00
099a53b24b Merge remote-tracking branch 'remotes/origin/develop' into feature/diagrams-editor
# Conflicts:
#	.gitmodules
#	CHANGELOG.md
2025-02-11 18:14:51 +03:00
d01263917c nodejs: vsdx 2025-02-11 18:14:00 +03:00
f57fa79ce2 1.13.0 2025-02-11 18:09:50 +03:00
19f01e6078 java: support pages, numbers, key formats 2025-02-11 12:55:46 +03:00
0f3c40e0b1 update diagram tab icon 2025-02-11 16:42:41 +07:00
8eb0c3d5e5 Merge pull request 'update-tab-icons' from update-tab-icons into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/42
2025-02-11 09:41:25 +00:00
3ab2e9843d php-laravel: update tab icons 2025-02-11 16:35:51 +07:00
e3a46bf88f go: update tab icons 2025-02-11 16:35:00 +07:00
47c015ec3f Merge pull request '1.12.0 update tab icons' from 1.12-icons-update into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/40
2025-02-11 09:04:02 +00:00
1074735afc Merge pull request 'Release/1.12.0' from release/1.12.0 into master
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/41
2025-02-11 08:43:18 +00:00
b4461b4424 ruby: update tab icons 2025-02-11 11:51:12 +07:00
abd337285e python: update tab icons 2025-02-11 11:50:31 +07:00
9863dc4641 php: update tab icons 2025-02-11 11:49:38 +07:00
f6fb3acb52 nodejs: update tab icons 2025-02-11 11:48:50 +07:00
e67f46c67f java-spring: update tab icons 2025-02-11 11:48:18 +07:00
20fab05971 java: update tab icons 2025-02-11 11:47:36 +07:00
f872b50f5b csharp-mvc: update tab icons 2025-02-11 11:45:06 +07:00
f32e8409e5 csharp: update tab icons 2025-02-11 11:43:54 +07:00
e2777b614b Merge remote-tracking branch 'remotes/origin/release/1.12.0' into develop
# Conflicts:
#	web/documentserver-example/java-spring/src/main/resources/templates/editor.html
2025-02-10 10:42:44 +03:00
a091891573 Merge pull request 'fix(java-spring): correct document icon name. Fix Bug 73118' from fix/java-spring-document-icon into release/1.12.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/39
2025-02-10 07:41:44 +00:00
e14be1b9c9 fix(java-spring): correct document icon name. Fix Bug 73118 2025-02-10 14:25:33 +07:00
1fe19724c2 nodejs: Updated dependencies and fixed vulnerabilities 2025-02-10 10:14:29 +03:00
40e27137ed Merge pull request 'feat(nodejs): rename in wopi' from feature/wopi-rename into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/37
2025-02-10 06:54:59 +00:00
11f335afc3 Merge remote-tracking branch 'remotes/origin/develop' into feature/wopi-rename
# Conflicts:
#	CHANGELOG.md
2025-02-10 09:53:57 +03:00
355c5c4ed1 feat(nodejs): rename in wopi 2025-02-10 13:03:11 +07:00
27456a308d Merge pull request 'style(nodejs): move mobile editor icon' from move-mobile-editor-icon into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/38
2025-02-07 09:57:39 +00:00
6e0f2e35f4 Merge pull request 'feature/on-user-action-required' from feature/on-user-action-required into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/36
2025-02-07 09:48:38 +00:00
27b63833c3 Merge remote-tracking branch 'remotes/origin/develop' into feature/on-user-action-required
# Conflicts:
#	CHANGELOG.md
2025-02-07 12:41:35 +03:00
0f895e7b38 nodejs: wopi favicon to changelog 2025-02-07 12:40:17 +03:00
81679f35a1 Merge pull request 'feat(nodejs): use favIconUrl in wopi' from wopi-faviconurl into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/35
2025-02-07 09:37:31 +00:00
3301421663 clean file 2025-02-07 12:29:54 +03:00
bf2f32b7cb Merge remote-tracking branch 'remotes/origin/develop' into feature/diagrams-editor
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/csharp-mvc/assets/document-formats
#	web/documentserver-example/csharp/assets/document-formats
#	web/documentserver-example/go/static/assets/document-formats
#	web/documentserver-example/java/src/main/resources/assets/document-formats
#	web/documentserver-example/php/assets/document-formats
#	web/documentserver-example/python/assets/document-formats
#	web/documentserver-example/ruby/assets/document-formats
2025-02-07 11:59:22 +03:00
13d5d38abc support hwp, hwpx, pages, numbers, key formats 2025-02-07 11:54:56 +03:00
5c3047850b style(nodejs): move mobile editor icon 2025-02-07 11:40:39 +07:00
ed1759181a update submodules 2025-02-06 18:24:39 +03:00
28ed07733a Merge remote-tracking branch 'remotes/origin/release/1.12.0' into develop
# Conflicts:
#	web/documentserver-example/nodejs/public/assets/document-formats
2025-02-06 18:22:44 +03:00
d4aaa38414 nodejs: update submodule 2025-02-06 18:19:54 +03:00
a53fa55a89 feat(ruby): onUserActionRequired 2025-02-06 15:29:19 +07:00
9d05480f5e feat(python): onUserActionRequired 2025-02-06 15:28:03 +07:00
edd7e8476f feat(php-laravel): onUserActionRequired 2025-02-06 15:27:17 +07:00
310d12d40a feat(php): onUserActionRequired 2025-02-06 15:25:53 +07:00
0c9d03b3f0 feat(java-spring): onUserActionRequired 2025-02-06 15:24:10 +07:00
7935998094 feat(java): onUserActionRequired 2025-02-06 15:22:40 +07:00
b355e1fa0b feat(go): onUserActionRequired 2025-02-06 15:18:53 +07:00
31e9c5380f feat(csharp-mvc): onUserActionRequired 2025-02-06 15:15:13 +07:00
5ea1eb6995 feat(csharp): onUserActionRequired 2025-02-06 15:09:45 +07:00
a1243c2ba1 feat(nodejs): onUserActionRequired 2025-02-06 15:07:33 +07:00
e1409966bd feat(nodejs): use favIconUrl in wopi 2025-02-06 14:54:38 +07:00
fad5afb32d Merge branch 'release/1.12.0' into develop 2025-02-05 14:30:17 +03:00
40c1856315 java-spring: sdk 1.2.1 ( Fix Bug 73107 ) 2025-02-05 14:29:40 +03:00
b64772de74 Merge remote-tracking branch 'remotes/origin/release/1.12.0' into develop
# Conflicts:
#	web/documentserver-example/java-spring/pom.xml
2025-02-05 11:16:19 +03:00
bc67af0fa4 java-spring: sdk 1.3.1-SNAPSHOT ( Fix Bug 73107 ) 2025-02-05 11:15:26 +03:00
ca7fb41089 Merge remote-tracking branch 'remotes/origin/release/1.12.0' into develop 2025-02-04 18:00:39 +03:00
f0b752fe2f docs(go): configure jwt 2025-02-04 18:00:21 +03:00
da6a0e9c3c Merge pull request 'jwt-in-readme' from jwt-in-readme into release/1.12.0
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/32
2025-02-04 14:59:57 +00:00
40c22da401 nodejs: configure jwt 2025-02-04 17:58:11 +03:00
314deba650 docs(java-spring): configure jwt 2025-02-04 17:57:50 +03:00
4c609a4ef4 docs(java): configure jwt 2025-02-04 17:57:50 +03:00
679adb3336 docs(csharp-mvc): configure jwt 2025-02-04 17:57:25 +03:00
f314212341 docs(csharp): configure jwt 2025-02-04 17:57:24 +03:00
acc67c0c5a update tab icons
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/29

# Conflicts:
#	web/documentserver-example/go/static/images/cell.ico
#	web/documentserver-example/go/static/images/slide.ico
#	web/documentserver-example/go/static/images/word.ico
#	web/documentserver-example/php-laravel/public/images/cell.ico
#	web/documentserver-example/php-laravel/public/images/slide.ico
#	web/documentserver-example/php-laravel/public/images/word.ico
2025-02-04 17:51:10 +03:00
534eedfae1 feat(ruby): support vsdx in diagram editor 2025-02-04 15:56:39 +07:00
77775754b6 feat(python): support vsdx in diagram editor 2025-02-04 15:47:49 +07:00
bfebc197af feat(php): support vsdx in diagram editor 2025-02-04 15:28:36 +07:00
a3d7b159da feat(java): support vsdx in diagram editor 2025-02-04 15:03:07 +07:00
f12cb242ea feat(go): support vsdx in diagram editor 2025-02-04 14:48:00 +07:00
8a5f37da3f feat(csharp-mvc): support vsdx in diagram editor 2025-02-04 14:10:43 +07:00
5c9fe8f8f5 feat(csharp): support vsdx in diagram editor 2025-02-04 13:27:05 +07:00
3e6a8e2a92 Merge branch 'release/v8.3.0' into develop 2025-02-03 16:33:02 +03:00
343705c4bd fix(nodejs): update tab icons 2025-02-03 16:31:52 +03:00
db30f43119 update file type icons
# Conflicts:
#	web/documentserver-example/csharp-mvc/Content/images/file_docx.svg
#	web/documentserver-example/csharp-mvc/Content/images/file_pdf.svg
#	web/documentserver-example/csharp-mvc/Content/images/file_pptx.svg
#	web/documentserver-example/csharp-mvc/Content/images/file_upload.svg
#	web/documentserver-example/csharp-mvc/Content/images/file_xlsx.svg
#	web/documentserver-example/csharp-mvc/Content/images/icon_docx.svg
#	web/documentserver-example/csharp-mvc/Content/images/icon_pdf.svg
#	web/documentserver-example/csharp-mvc/Content/images/icon_pptx.svg
#	web/documentserver-example/csharp-mvc/Content/images/icon_xlsx.svg
#	web/documentserver-example/csharp/App_Themes/images/file_docx.svg
#	web/documentserver-example/csharp/App_Themes/images/file_pdf.svg
#	web/documentserver-example/csharp/App_Themes/images/file_pptx.svg
#	web/documentserver-example/csharp/App_Themes/images/file_upload.svg
#	web/documentserver-example/csharp/App_Themes/images/file_xlsx.svg
#	web/documentserver-example/csharp/App_Themes/images/icon_docx.svg
#	web/documentserver-example/csharp/App_Themes/images/icon_pdf.svg
#	web/documentserver-example/csharp/App_Themes/images/icon_pptx.svg
#	web/documentserver-example/csharp/App_Themes/images/icon_xlsx.svg
#	web/documentserver-example/go/static/images/file_docx.svg
#	web/documentserver-example/go/static/images/file_pdf.svg
#	web/documentserver-example/go/static/images/file_pptx.svg
#	web/documentserver-example/go/static/images/file_upload.svg
#	web/documentserver-example/go/static/images/file_xlsx.svg
#	web/documentserver-example/go/static/images/icon_docx.svg
#	web/documentserver-example/go/static/images/icon_pdf.svg
#	web/documentserver-example/go/static/images/icon_pptx.svg
#	web/documentserver-example/go/static/images/icon_xlsx.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/file_docx.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/file_pdf.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/file_pptx.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/file_upload.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/file_xlsx.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/icon_docx.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/icon_pdf.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/icon_pptx.svg
#	web/documentserver-example/java-spring/src/main/resources/static/css/img/icon_xlsx.svg
#	web/documentserver-example/java/src/main/webapp/css/img/file_docx.svg
#	web/documentserver-example/java/src/main/webapp/css/img/file_pdf.svg
#	web/documentserver-example/java/src/main/webapp/css/img/file_pptx.svg
#	web/documentserver-example/java/src/main/webapp/css/img/file_upload.svg
#	web/documentserver-example/java/src/main/webapp/css/img/file_xlsx.svg
#	web/documentserver-example/java/src/main/webapp/css/img/icon_docx.svg
#	web/documentserver-example/java/src/main/webapp/css/img/icon_pdf.svg
#	web/documentserver-example/java/src/main/webapp/css/img/icon_pptx.svg
#	web/documentserver-example/java/src/main/webapp/css/img/icon_xlsx.svg
#	web/documentserver-example/nodejs/public/images/file_docx.svg
#	web/documentserver-example/nodejs/public/images/file_pdf.svg
#	web/documentserver-example/nodejs/public/images/file_pptx.svg
#	web/documentserver-example/nodejs/public/images/file_upload.svg
#	web/documentserver-example/nodejs/public/images/file_xlsx.svg
#	web/documentserver-example/nodejs/public/images/icon_docx.svg
#	web/documentserver-example/nodejs/public/images/icon_pdf.svg
#	web/documentserver-example/nodejs/public/images/icon_pptx.svg
#	web/documentserver-example/nodejs/public/images/icon_xlsx.svg
#	web/documentserver-example/php-laravel/public/images/file_docx.svg
#	web/documentserver-example/php-laravel/public/images/file_pdf.svg
#	web/documentserver-example/php-laravel/public/images/file_pptx.svg
#	web/documentserver-example/php-laravel/public/images/file_upload.svg
#	web/documentserver-example/php-laravel/public/images/file_xlsx.svg
#	web/documentserver-example/php-laravel/public/images/icon_docx.svg
#	web/documentserver-example/php-laravel/public/images/icon_pdf.svg
#	web/documentserver-example/php-laravel/public/images/icon_pptx.svg
#	web/documentserver-example/php-laravel/public/images/icon_xlsx.svg
#	web/documentserver-example/php/assets/images/file_docx.svg
#	web/documentserver-example/php/assets/images/file_pdf.svg
#	web/documentserver-example/php/assets/images/file_pptx.svg
#	web/documentserver-example/php/assets/images/file_upload.svg
#	web/documentserver-example/php/assets/images/file_xlsx.svg
#	web/documentserver-example/php/assets/images/icon_docx.svg
#	web/documentserver-example/php/assets/images/icon_pdf.svg
#	web/documentserver-example/php/assets/images/icon_pptx.svg
#	web/documentserver-example/php/assets/images/icon_xlsx.svg
#	web/documentserver-example/python/static/images/file_docx.svg
#	web/documentserver-example/python/static/images/file_pdf.svg
#	web/documentserver-example/python/static/images/file_pptx.svg
#	web/documentserver-example/python/static/images/file_upload.svg
#	web/documentserver-example/python/static/images/file_xlsx.svg
#	web/documentserver-example/python/static/images/icon_docx.svg
#	web/documentserver-example/python/static/images/icon_pdf.svg
#	web/documentserver-example/python/static/images/icon_pptx.svg
#	web/documentserver-example/python/static/images/icon_xlsx.svg
#	web/documentserver-example/ruby/app/assets/images/file_docx.svg
#	web/documentserver-example/ruby/app/assets/images/file_pdf.svg
#	web/documentserver-example/ruby/app/assets/images/file_pptx.svg
#	web/documentserver-example/ruby/app/assets/images/file_upload.svg
#	web/documentserver-example/ruby/app/assets/images/file_xlsx.svg
#	web/documentserver-example/ruby/app/assets/images/icon_docx.svg
#	web/documentserver-example/ruby/app/assets/images/icon_pdf.svg
#	web/documentserver-example/ruby/app/assets/images/icon_pptx.svg
#	web/documentserver-example/ruby/app/assets/images/icon_xlsx.svg
2025-02-03 16:31:52 +03:00
b759c8ba53 nodejs: interactive-widget=resizes-content ( Fix Bug 72802 ) 2025-02-03 15:07:07 +03:00
d7f45cc7a9 Merge pull request 'feature/php-laravel-sdk-integration' from feature/php-laravel-sdk-integration into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/25
Reviewed-by: Stepan Mayorov <stepan.mayorov@onlyoffice.com>
Reviewed-by: Alexander Kondratev <aleksandr.kondratyev@onlyoffice.com>
2025-01-31 12:02:28 +00:00
57b3641647 Merge remote-tracking branch 'remotes/origin/develop' into feature/php-laravel-sdk-integration
# Conflicts:
#	CHANGELOG.md
2025-01-31 15:01:35 +03:00
41fd4d9e92 Merge branch 'release/v8.3.0' into develop
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/nodejs/public/assets/document-formats
#	web/documentserver-example/nodejs/views/editor.ejs
2025-01-31 13:37:58 +03:00
ad3e6bbe15 1.12.0 2025-01-31 13:34:00 +03:00
76c7e10993 sq-AL skin language
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/go/config/configuration.json
#	web/documentserver-example/php-laravel/app/Repositories/LanguageRepository.php
2025-01-31 13:11:06 +03:00
f023a9defd nodejs: support hwp, hwps formats
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/nodejs/public/assets/document-formats
2025-01-31 12:20:11 +03:00
e9cd5e30fb nodejs: support pages, numbers, key formats
# Conflicts:
#	CHANGELOG.md
#	web/documentserver-example/nodejs/public/assets/document-formats
2025-01-31 12:20:11 +03:00
85bf35f50a nodejs: refresh file config
# Conflicts:
#	CHANGELOG.md
2025-01-31 12:20:03 +03:00
383e2dcaba fix changelog 2025-01-31 11:52:37 +03:00
b7d863b0e1 Revert "feat: add kurdish language"
This reverts commit a0da50d123.

# Conflicts:
#	CHANGELOG.md
2025-01-29 14:14:29 +03:00
d79c1d35b2 Merge branch 'develop' into feature/php-laravel-sdk-integration 2025-01-27 15:56:11 +05:00
66f1233c16 Merge pull request 'update copyright 2025' from copyright-2025 into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/30
2025-01-27 10:04:38 +00:00
eac01bfc61 update copyright 2025 2025-01-27 15:52:48 +07:00
bb4e0f2313 Merge branch 'feature/restore-by-url' into develop 2025-01-27 11:47:45 +03:00
b3de340b66 Merge remote-tracking branch 'remotes/origin/develop' into feature/restore-by-url
# Conflicts:
#	CHANGELOG.md
2025-01-27 11:47:12 +03:00
74aee6a701 Merge branch 'feature/hwp' into develop 2025-01-27 11:36:05 +03:00
2e3fdf9904 Merge pull request 'update tab icons' from update-icons into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/29
2025-01-27 08:34:20 +00:00
53a4684ece fix changelog 2025-01-27 11:31:42 +03:00
2bd367e345 Merge pull request 'add kurdish language' from feature/kurdish-language into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/28
2025-01-27 08:19:56 +00:00
afb8ab651c fix(ruby): update tab icons 2025-01-27 15:12:25 +07:00
06080ee140 fix(python): update tab icons 2025-01-27 15:11:20 +07:00
dfc4d9656f fix(php-laravel): update tab icons 2025-01-27 15:10:26 +07:00
10a9bbc2ee fix(php): update tab icons 2025-01-27 15:09:22 +07:00
3d6c4bafb2 fix(java-spring): update tab icons 2025-01-27 15:08:34 +07:00
c0a5772226 fix(java): update tab icons 2025-01-27 15:07:35 +07:00
6e8289cf82 fix(go): update tab icons 2025-01-27 15:06:26 +07:00
5a50742d89 fix(csharp-mvc): update tab icons 2025-01-27 15:05:45 +07:00
d93bdbc50d fix(csharp): update tab icons 2025-01-27 15:04:50 +07:00
c796f999f1 fix(nodejs): update tab icons 2025-01-27 15:03:05 +07:00
a0da50d123 feat: add kurdish language 2025-01-27 13:58:41 +07:00
6e624a1e2a feat(php-laravel): restore file by url 2025-01-27 12:55:48 +07:00
63d9a4fb56 feat(ruby): restore file by url 2025-01-27 12:55:48 +07:00
5450a70e8b feat(python): restore file by url 2025-01-27 12:55:48 +07:00
3016f18654 feat(php): restore file by url 2025-01-27 12:55:48 +07:00
1b03eb30cb feat(java-spring): restore file by url 2025-01-27 12:55:47 +07:00
d052523451 fix(java-spring): reading changes.json with utf-8 encoding 2025-01-27 12:55:47 +07:00
a62ae98b0e feat(java): restore file by url 2025-01-27 12:55:47 +07:00
915b1ae361 feat(go): restore file by url 2025-01-27 12:55:47 +07:00
1d7e3f50ea fix(go): change meta on file restore 2025-01-27 12:55:47 +07:00
64e53e24a6 feat(csharp-mvc): restore file by url 2025-01-27 12:55:47 +07:00
eb1dd1b3f7 feat(csharp): restore file by url 2025-01-27 12:55:28 +07:00
a20215cefb feat(nodejs): restore file by url 2025-01-27 12:54:06 +07:00
2f8306e725 update submodules 2025-01-21 15:27:03 +03:00
a4386bcff4 Merge pull request 'build(nodejs): update config package to 3.3.12' from nodejs-update-config-package into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/27
2025-01-21 08:40:36 +00:00
8e6e1bb9cb build(nodejs): update config package to 3.3.12 2025-01-21 13:51:11 +07:00
2d4c71576d use format and format manager sdk classes 2025-01-16 15:45:28 +05:00
9870ecee0b create custom document manager class extending sdk documents manager class 2025-01-16 15:44:54 +05:00
8ef74cd576 create custom format model extending sdk format class 2025-01-16 15:43:45 +05:00
ceaa9d42ed remove redundant document formats submodule 2025-01-16 15:40:48 +05:00
c07db2d6c8 update composer lock file 2025-01-15 21:54:43 +05:00
45d76b5d78 set docs sdk version to 1.1 and higher 2025-01-15 21:54:26 +05:00
4f6f05aa17 nodejs: support hwp, hwps formats 2025-01-15 13:50:51 +03:00
212939e9fc add sdk env variables 2025-01-15 14:15:10 +05:00
fe2d02673a update changelog 2025-01-14 18:49:48 +05:00
5a4c151931 Merge branch 'develop' into feature/php-laravel-sdk-integration 2025-01-14 18:46:12 +05:00
fb053f7f71 run laravel pint autofix 2025-01-14 18:23:19 +05:00
1776e758c3 delete redundant service classes 2025-01-14 17:45:32 +05:00
bfcff2b523 use convert request adapter in convert command 2025-01-14 17:44:03 +05:00
9ce227216f create adapter for sdk convert service 2025-01-14 17:43:26 +05:00
dca8684410 use sdk command request for updating meta information 2025-01-14 17:42:01 +05:00
a76dcb1c79 Merge branch 'feature/vsdx' into release/v8.3.0 2025-01-14 14:57:36 +03:00
4ceb7ee5cd nodejs: support diagram editor 2025-01-14 14:56:30 +03:00
924200ad8a use php sdk command request service 2025-01-13 18:59:06 +05:00
f715ed454d sq-AL skin language 2025-01-10 16:33:00 +03:00
2cd8cd6472 nodejs: remove logging to console with data (Fix Bug 72374) 2025-01-10 14:54:46 +03:00
3fd58754cd use sdk forms class objects in callback saving process 2025-01-09 18:29:03 +05:00
f277117f3d pass formsdataurl to callback class object 2025-01-09 18:25:25 +05:00
461f9858c3 remove redundant forcesavetype check 2025-01-09 18:24:28 +05:00
e5b4be43cb get history changes from history class object 2025-01-09 18:06:04 +05:00
80ee474993 use settings manager function for replacing docs url with internal 2025-01-09 18:04:47 +05:00
f5003c2988 check if history data is not empty 2025-01-09 18:00:54 +05:00
54e5cfcc8c use document manager for retrieving file related urls 2024-12-23 16:45:01 +05:00
5c65aec49b implement sdk document manager 2024-12-23 16:41:07 +05:00
27d293e528 use sdk callback service for tracking file changes 2024-12-19 14:01:49 +05:00
a33ef3597b implement sdk callback service 2024-12-19 13:57:59 +05:00
1e9b017c19 use the command request adapter for retrieving forgotten files list 2024-12-16 16:24:59 +05:00
f5934baffa add jwt related setting keys 2024-12-16 16:23:17 +05:00
a9e5e01990 add documentserverinternalurl key 2024-12-16 16:22:44 +05:00
9b9a715117 create an adapter for the sdk request service class 2024-12-16 16:21:29 +05:00
c6606c631d use sdk formats manager for retrieving formats list 2024-12-16 16:18:07 +05:00
82775f8d1b implement sdk request service 2024-12-16 16:15:54 +05:00
97288932ac implement sdk http client 2024-12-16 16:15:08 +05:00
69a3865fb8 Merge pull request 'feature/refresh-file' from feature/refresh-file into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/22
2024-12-16 07:27:14 +00:00
3383a00ad0 Merge remote-tracking branch 'remotes/origin/develop' into feature/refresh-file 2024-12-16 10:23:38 +03:00
7a523efaec Merge pull request 'feature/docs-integration-sdk-1.3' from feature/docs-integration-sdk-1.3 into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/24
2024-12-16 07:23:21 +00:00
cf90c42605 feat: delete model common/Changes from docs-integration-sdk 2024-12-16 10:20:08 +03:00
ec25b8a355 feat: migrate to httpclient5 2024-12-16 10:18:21 +03:00
eada50a422 feat: com.onlyoffice.docs-integration-sdk:1.3.1-SNAPSHOT 2024-12-16 10:17:11 +03:00
a20d43caac refresh file to changelog 2024-12-16 10:04:41 +03:00
2fa62b9961 Merge remote-tracking branch 'remotes/origin/develop' into feature/refresh-file 2024-12-16 10:01:58 +03:00
74d067236a Merge pull request 'feature/update-laravel-pint' from feature/update-laravel-pint into develop
Reviewed-on: https://git.onlyoffice.com/ONLYOFFICE/document-server-integration/pulls/23
2024-12-16 07:01:16 +00:00
999a944c5e run laravel pint autofix 2024-12-16 11:55:01 +05:00
db1278fa9c run composer update laravel/pint 2024-12-16 11:54:41 +05:00
56ed3bd017 feat(php-laravel): refresh file config 2024-12-16 11:58:14 +07:00
b68b543605 feat(php): refresh file config 2024-12-13 16:00:18 +07:00
31649e7203 feat(ruby): refresh file config 2024-12-13 15:01:44 +07:00
12495facdb feat(python): refresh file config 2024-12-13 14:14:44 +07:00
6511fbbf55 feat(java-spring): refresh file config 2024-12-13 14:14:44 +07:00
3e4b1b509b feat(java): refresh file config 2024-12-13 14:14:44 +07:00
bf9c1dc36c feat(go): refresh file config 2024-12-13 14:14:44 +07:00
3fe3a49edb feat(csharp-mvc): refresh file config 2024-12-13 14:14:44 +07:00
a6a1c4a4cc feat(csharp): refresh file config 2024-12-13 14:14:43 +07:00
a318a75c96 replace local settings and jwt classes with respective sdk classes 2024-11-19 18:11:27 +05:00
7f0f1739cb implement jwt manager class 2024-11-19 18:04:27 +05:00
c8cb50f89c implement settings manager class 2024-11-19 18:03:51 +05:00
de3801145a include docs-integration-sdk package 2024-11-19 18:02:13 +05:00
600 changed files with 6151 additions and 3260 deletions

View File

@ -25,7 +25,7 @@ jobs:
rsync -av --exclude='deploy' ./ ./deploy/'DotNet (Csharp MVC) Example'
rm -rf ./deploy/'DotNet (Csharp MVC) Example'/assets/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: DotNet.Csharp.MVC.Example
path: ${{ github.workspace }}/web/documentserver-example/csharp-mvc/deploy

View File

@ -24,7 +24,7 @@ jobs:
rsync -av --exclude='deploy' ./ ./deploy/'DotNet (Csharp) Example'
rm -rf ./deploy/'DotNet (Csharp) Example'/assets/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: DotNet.Csharp.Example
path: ${{ github.workspace }}/web/documentserver-example/csharp/deploy

View File

@ -25,7 +25,7 @@ jobs:
rm -rf ./deploy/'Java Example'/src/main/resources/assets/document-formats/.git
rm -rf ./deploy/'Java Example'/src/main/resources/assets/document-templates/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Java.Example
path: ${{ github.workspace }}/web/documentserver-example/java/deploy

View File

@ -25,7 +25,7 @@ jobs:
rm -rf ./deploy/'Node.js Example'/public/assets/document-formats/.git
rm -rf ./deploy/'Node.js Example'/public/assets/document-templates/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Node.js.Example
path: ${{ github.workspace }}/web/documentserver-example/nodejs/deploy

View File

@ -25,7 +25,7 @@ jobs:
rm -rf ./deploy/'PHP Example'/assets/document-formats/.git
rm -rf ./deploy/'PHP Example'/assets/document-templates/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: PHP.Example
path: ${{ github.workspace }}/web/documentserver-example/php/deploy

View File

@ -25,7 +25,7 @@ jobs:
rm -rf ./deploy/'Python Example'/assets/document-formats/.git
rm -rf ./deploy/'Python Example'/assets/document-templates/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Python.Example
path: ${{ github.workspace }}/web/documentserver-example/python/deploy

View File

@ -25,7 +25,7 @@ jobs:
rm -rf ./deploy/'Ruby Example'/public/assets/document-formats/.git
rm -rf ./deploy/'Ruby Example'/public/assets/document-templates/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Ruby.Example
path: ${{ github.workspace }}/web/documentserver-example/ruby/deploy

View File

@ -26,7 +26,7 @@ jobs:
rm -rf ./deploy/'Java Spring Example'/src/main/resources/assets/document-formats/.git
rm -rf ./deploy/'Java Spring Example'/src/main/resources/assets/document-templates/.git
- name: Upload Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: Java.Spring.Example
path: ${{ github.workspace }}/web/documentserver-example/java-spring/deploy

27
.github/workflows/create-tag.yml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Create Tag
on:
push:
branches: [master]
paths-ignore:
- '.github/**'
- '**/AUTHORS.md'
- '**/LICENSE'
- '**/README.md'
jobs:
create-tag:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Get Info
run: |
echo "version=$(grep -Eo '[0-9]+(\.[0-9]+)+' CHANGELOG.md | head -n 1)" >> $GITHUB_OUTPUT
id: info
- name: Create Tag
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
git tag -a 'v${{ steps.info.outputs.version }}' -m 'Release/v${{ steps.info.outputs.version }}'
git push origin 'v${{ steps.info.outputs.version }}'

View File

@ -2,7 +2,8 @@ name: Release
on:
push:
branches: [master]
tags:
- 'v*'
permissions:
contents: write

10
.gitmodules vendored
View File

@ -5,7 +5,6 @@
[submodule "web/documentserver-example/nodejs/public/assets/document-formats"]
path = web/documentserver-example/nodejs/public/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
branch = feature/v8.3
[submodule "web/documentserver-example/csharp-mvc/assets/document-templates"]
path = web/documentserver-example/csharp-mvc/assets/document-templates
url = https://github.com/ONLYOFFICE/document-templates
@ -20,7 +19,6 @@
[submodule "web/documentserver-example/php/assets/document-formats"]
path = web/documentserver-example/php/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
branch = master
[submodule "web/documentserver-example/python/assets/document-templates"]
path = web/documentserver-example/python/assets/document-templates
url = https://github.com/ONLYOFFICE/document-templates
@ -44,19 +42,15 @@
[submodule "web/documentserver-example/go/static/assets/document-formats"]
path = web/documentserver-example/go/static/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
branch = master
[submodule "web/documentserver-example/python/assets/document-formats"]
path = web/documentserver-example/python/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
branch = master
[submodule "web/documentserver-example/ruby/assets/document-formats"]
path = web/documentserver-example/ruby/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
branch = master
[submodule "web/documentserver-example/java/src/main/resources/assets/document-formats"]
path = web/documentserver-example/java/src/main/resources/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
branch = master
[submodule "web/documentserver-example/csharp/assets/document-templates"]
path = web/documentserver-example/csharp/assets/document-templates
url = https://github.com/ONLYOFFICE/document-templates
@ -64,10 +58,6 @@
[submodule "web/documentserver-example/csharp/assets/document-formats"]
path = web/documentserver-example/csharp/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
[submodule "web/documentserver-example/php-laravel/public/assets/document-formats"]
path = web/documentserver-example/php-laravel/public/assets/document-formats
url = https://github.com/ONLYOFFICE/document-formats
branch = master
[submodule "web/documentserver-example/php-laravel/public/assets/document-templates"]
path = web/documentserver-example/php-laravel/public/assets/document-templates
url = https://github.com/ONLYOFFICE/document-templates

View File

@ -361,6 +361,41 @@ License: MIT
License File: serializer.license
web/documentserver-example/php-laravel
jQuery.BlockUI - The jQuery BlockUI Plugin lets you simulate synchronous behavior when using AJAX, without locking the browser. (https://github.com/malsup/blockui/)
License: MIT, GPL
License File: jQuery.BlockUI.license
jQuery.FileUpload - File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads. (https://github.com/blueimp/jQuery-File-Upload/blob/master/LICENSE.txt)
License: MIT
License File: jQuery.FileUpload.license
jQuery.iframe-transport - jQuery Iframe Transport Plugin for File Upload (https://github.com/blueimp/jQuery-File-Upload/blob/master/LICENSE.txt)
License: MIT
License File: jQuery.iframe-transport.license
jQuery - jQuery is a new kind of JavaScript Library. jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript. NOTE: This package is maintained on behalf of the library owners by the NuGet Community Packages project at https://nugetpackages.codeplex.com/ (https://jquery.org/license/)
License: MIT
License File: jQuery.license
jQuery.Migrate - Upgrading libraries such as jQuery can be a lot of work, when breaking changes have been introduced. jQuery Migrate makes this easier, by restoring the APIs that were removed, and additionally shows warnings in the browser console (development version of jQuery Migrate only) when removed and/or deprecated APIs are used. (https://github.com/jquery/jquery-migrate/blob/main/LICENSE.txt)
License: OpenJS
License File: jQuery.Migrate.license
jQuery.UI - jQuery UI is an open source library of interface components — interactions, full-featured widgets, and animation effects — based on the stellar jQuery javascript library . Each component is built according to jQuery's event-driven architecture (find something, manipulate it) and is themeable, making it easy for developers of any skill level to integrate and extend into their own code. (https://jquery.org/license/)
License: MIT
License File: jQuery.UI.license
JWT - PHP package for JWT (https://github.com/firebase/php-jwt/blob/main/LICENSE)
License: BSD-3-Clause
License File: jwt.license
Laravel - Laravel is a web application framework with expressive, elegant syntax. Weve already laid the foundation for your next big idea — freeing you to create without sweating the small things. (https://github.com/laravel/framework/blob/master/LICENSE.md)
License - MIT
License File - laravel.license
web/documentserver-example/python
django-stubs - PEP-484 stubs for Django. (https://github.com/typeddjango/django-stubs/blob/master/LICENSE.md)

View File

@ -1,8 +1,33 @@
# Change Log
- nodejs: refresh config
- nodejs: support vsdx in visio editor
- nodejs: support pages, numbers, key formats
- update demo files
- set users by parts
- open the conversion dialog box with a gray check mark on the type selection step
- preload frame moved from uploading popap
- change tab title on rename
- change uploaded file name in popap if converted
- php-laravel: fix custom jwt header
- features tips for anonymous
- view odg, md
- edit xlsb
- support vsdx in diagram editor
## 1.14.0
- nodejs: set users by parts
- nodejs: preload frame moved from uploading popap
- nodejs: view odg, md
- nodejs: edit xlsb
- nodejs: support vsdx in diagram editor
- nodejs: fix wopi verification
- nodejs: user role
- nodejs: start filling
- ur skin language
- change preload.html address
## 1.13.0
- nodejs: rename in wopi
- nodejs: using faviconUrl from WOPI discovery
- nodejs: wopi proof key verification
- golang: new integration example
- golang: upload files to the server
- golang: create blank files and files with sample content
@ -17,6 +42,13 @@
- php-laravel: create, edit, and submit pdf forms
- php-laravel: show forgotten files on a seperate page
- php-laravel: fetch files
- php-laravel: integrate sdk
- jwt token lifetime from config
- onUserActionRequired
- support pages, numbers, key formats
- support hwp, hwpx formats
- restore by url
- refresh config
- on uploading xml convert to supported type only
- converting function on index page
- editing by default
@ -24,6 +56,12 @@
- filename in editor page title
- close editor
## 1.12.0
- nodejs: refresh config
- nodejs: support pages, numbers, key formats
- nodejs: support hwp, hwpx formats
- sq-AL skin language
## 1.11.0
- he-IL skin language
- ConvertService.ashx address replaced with converter
@ -57,8 +95,7 @@
- nodejs: pdf, djvu, xps, oxps as pdf documentType
- nodejs: filling pdf
- version number to page meta
- ar skin languages
- sr-Latn-RS skin languages
- ar, sr-Latn-RS skin languages
- getting history via api
- using a repo with a list of formats
- convert after uploading only tagged formats

View File

@ -5,7 +5,7 @@ Do NOT use these integration examples on your own server without proper code mod
In case you enabled any of the test examples, disable it before going for production.
These examples show the way to integrate [ONLYOFFICE Docs][2] into your own website or application using one of the programming languages.
The package contains examples written in .Net (C# MVC), .Net (C#), Java, Java Spring, Node.js, PHP, Python and Ruby.
The package contains examples written in .Net (C# MVC), .Net (C#), Go, Java, Java Spring, Node.js, PHP, PHP (Laravel), Python and Ruby.
You should change `http://documentserver` to your server address in these files:
* [.Net (C# MVC)](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/csharp-mvc) - `web/documentserver-example/csharp-mvc/web.appsettings.config`
@ -15,10 +15,11 @@ You should change `http://documentserver` to your server address in these files:
* [Java Spring](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/java-spring) - `web/documentserver-example/java-spring/src/main/resources/application.properties`
* [Node.js](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/nodejs) - `web/documentserver-example/nodejs/config/default.json`
* [PHP](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/php) - `web/documentserver-example/php/src/configuration/ConfigurationManager.php`
* [PHP (Laravel)](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/php-laravel) - `web/documentserver-example/php-laravel/.env.example`
* [Python](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/python) - `web/documentserver-example/python/src/configuration/configuration.py`
* [Ruby](https://github.com/ONLYOFFICE/document-server-integration/tree/master/web/documentserver-example/ruby) - `web/documentserver-example/ruby/app/configuration/configuration.rb`
More information on how to use these examples can be found here: [http://api.onlyoffice.com/editors/demopreview](http://api.onlyoffice.com/editors/demopreview "http://api.onlyoffice.com/editors/demopreview")
More information on how to use these examples can be found here: [https://api.onlyoffice.com/docs/docs-api/samples/language-specific-examples/](https://api.onlyoffice.com/docs/docs-api/samples/language-specific-examples/)
## API methods for test examples

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -146,7 +146,7 @@ header a {
}
}
@media (max-width: 592px) and (min-width: 320px) {
@media (max-width: 592px) {
.center, .table-main {
width: 100%;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -0,0 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5 3.707V15a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V1A.5.5 0 0 1 3 .5h7.293z" fill="#fff" stroke="#BBB"/>
<path d="M9.5 1v2.7c0 .28 0 .42.055.527a.5.5 0 0 0 .218.218c.107.055.247.055.527.055H13" stroke="#BBB"/>
<path d="M5 8h6v1H5zm0 1h1v1H5zm5 0h1v1h-1zM7 6h2v2H7z" fill="#5951BB"/>
<path stroke="#5951BB" d="M4.5 10.5h2v2h-2zm5 0h2v2h-2z"/>
</svg>

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -639,7 +639,7 @@
}
}
@media (max-width: 420px) and (min-width: 320px) {
@media (max-width: 420px) {
.tableRow,
menu.links {
width: 25%;
@ -715,7 +715,7 @@
max-width: 45%;
}
}
@media (max-width: 600px) and (min-width: 320px) {
@media (max-width: 600px) {
.main-panel{
display: flex;
flex-direction: column;
@ -742,7 +742,7 @@
}
}
@media (max-width: 592px) and (min-width: 320px) {
@media (max-width: 592px) {
body.menu-open {
overflow: hidden;
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -511,10 +511,6 @@ label .checkbox {
line-height: 150%;
}
#loadScripts {
display: none;
}
#iframeScripts {
position: absolute;
visibility: hidden;
@ -631,6 +627,11 @@ footer table tr td:first-child {
background-image: url("images/icon_pdf.svg");
}
.stored-edit.diagram,
.uploadFileName.diagram {
background-image: url("images/icon_vsdx.svg");
}
.stored-edit span {
font-size: 12px;
line-height: 12px;

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -217,7 +217,9 @@ namespace OnlineEditorsExampleMVC.Helpers
var directoryInfo = new DirectoryInfo(directory);
// take files from the root directory
List<FileInfo> storedFiles = directoryInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly).ToList();
List<FileInfo> storedFiles = directoryInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly)
.OrderByDescending(f => f.LastWriteTimeUtc)
.ToList();
return storedFiles;
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -83,7 +83,8 @@ namespace OnlineEditorsExampleMVC.Helpers
bool isAsync,
out Dictionary<string, string> convertedDocumentData,
string filePass = null,
string lang = null)
string lang = null,
string fileName = null)
{
convertedDocumentData = new Dictionary<string, string>();
@ -91,7 +92,7 @@ namespace OnlineEditorsExampleMVC.Helpers
fromExtension = string.IsNullOrEmpty(fromExtension) ? Path.GetExtension(documentUri).ToLower() : fromExtension;
// check if the file name parameter is defined; if not, get random uuid for this file
var title = Path.GetFileName(documentUri);
var title = string.IsNullOrEmpty(fileName) ? Path.GetFileName(documentUri) : fileName;
title = string.IsNullOrEmpty(title) ? Guid.NewGuid().ToString() : title;
// get document key

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,6 +20,7 @@ using JWT;
using JWT.Algorithms;
using JWT.Builder;
using JWT.Serializers;
using System;
using System.Collections.Generic;
using System.Web.Configuration;
@ -30,17 +31,25 @@ namespace OnlineEditorsExampleMVC.Helpers
private static readonly string Secret;
public static readonly bool Enabled;
public static readonly bool SignatureUseForRequest;
public static readonly int ExpiresIn;
static JwtManager()
{
Secret = WebConfigurationManager.AppSettings["files.docservice.secret"] ?? ""; // get token secret from the config parameters
Enabled = !string.IsNullOrEmpty(Secret); // check if the token is enabled
ExpiresIn = int.Parse(WebConfigurationManager.AppSettings["files.docservice.token.expires-in"]);
SignatureUseForRequest = bool.Parse(WebConfigurationManager.AppSettings["files.docservice.token.useforrequest"]);
}
// encode a payload object into a token using a secret key
public static string Encode(IDictionary<string, object> payload)
{
var now = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
var expires = now + ExpiresIn * 60;
payload["iat"] = now;
payload["exp"] = expires;
var encoder = new JwtEncoder(new HMACSHA256Algorithm(),
new JsonNetSerializer(),
new JwtBase64UrlEncoder());

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -26,12 +26,12 @@ namespace OnlineEditorsExampleMVC.Helpers
static List<string> descr_user_1 = new List<string>()
{
"File author by default",
"Doesnt belong to any group",
"Doesn't belong to any group",
"Can review all the changes",
"Can perform all actions with comments",
"The file favorite state is undefined",
"Can create files from templates using data from the editor",
"Can see the information about all users",
"This file isn't marked as favorite",
"Can create files from templates using data from the editor",
"Has an avatar",
"Can submit forms"
};
@ -41,11 +41,11 @@ namespace OnlineEditorsExampleMVC.Helpers
"Belongs to Group2",
"Can review only his own changes or changes made by users with no group",
"Can view comments, edit his own comments and comments left by users with no group. Can remove his own comments only",
"Can see the information about users from Group2 and users who don't belong to any group",
"This file is marked as favorite",
"Can create new files from the editor",
"Can see the information about users from Group2 and users who dont belong to any group",
"Has an avatar",
"Cant submit forms"
"Can't submit forms"
};
static List<string> descr_user_3 = new List<string>()
@ -53,13 +53,13 @@ namespace OnlineEditorsExampleMVC.Helpers
"Belongs to Group3",
"Can review changes made by Group2 users",
"Can view comments left by Group2 and Group3 users. Can edit comments left by the Group2 users",
"This file isnt marked as favorite",
"Cant copy data from the file to clipboard",
"Cant download the file",
"Cant print the file",
"Can create new files from the editor",
"Can see the information about Group2 users",
"Cant submit forms",
"The file favorite state is undefined",
"Can't copy data from the file to clipboard",
"Can't download the file",
"Can't print the file",
"Can create new files from the editor",
"Can't submit forms",
"Can't close history",
"Can't restore the file version"
};
@ -67,18 +67,20 @@ namespace OnlineEditorsExampleMVC.Helpers
static List<string> descr_user_0 = new List<string>()
{
"The name is requested when the editor is opened",
"Doesnt belong to any group",
"Doesn't belong to any group",
"Can review all the changes",
"Can perform all actions with comments",
"Can't see anyone's information",
"The file favorite state is undefined",
"Can't mention others in comments",
"Can't create new files from the editor",
"Cant see anyones information",
"Can't rename files from the editor",
"Can't view chat",
"Can't protect file",
"View file without collaboration",
"Cant submit forms"
"Can't refresh outdated file",
"Can't submit forms",
"Tour of tips when opening a document"
};
private static List<User> users = new List<User>() {
@ -90,7 +92,7 @@ namespace OnlineEditorsExampleMVC.Helpers
null,
new Dictionary<string, object>(),
null,
null,
false,
new List<string>(),
descr_user_1,
true,
@ -132,7 +134,7 @@ namespace OnlineEditorsExampleMVC.Helpers
{ "remove", new List<string>() { } }
},
new List<string>() { "group-2" },
false,
null,
new List<string>() { "copy", "download", "print" },
descr_user_3,
false,

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -227,6 +227,12 @@ namespace OnlineEditorsExampleMVC.Models
{ "text", user.close.text },
{ "visible", user.close. visible }
} : new Dictionary<string, object>{}
},
{
"features", new Dictionary<string, object>
{
{ "featuresTips", user.id.Equals("uid-0") }
}
}
}
}
@ -380,7 +386,7 @@ namespace OnlineEditorsExampleMVC.Models
var jss = new JavaScriptSerializer();
var id = request.Cookies.GetOrDefault("uid", null);
var user = Users.getUser(id);
usersForMentions = !user.id.Equals("uid-0") ? jss.Serialize(Users.getUsersForMentions(user.id)) : null;
usersForMentions = jss.Serialize(!user.id.Equals("uid-0") ? Users.getUsersForMentions(user.id) : null);
}
public void GetUsersInfo(HttpRequest request, out string usersInfo)
@ -397,7 +403,7 @@ namespace OnlineEditorsExampleMVC.Models
var jss = new JavaScriptSerializer();
var id = request.Cookies.GetOrDefault("uid", null);
var user = Users.getUser(id);
usersForProtect = !user.id.Equals("uid-0") ? jss.Serialize(Users.getUsersForProtect(user.id)) : null;
usersForProtect = jss.Serialize(!user.id.Equals("uid-0") ? Users.getUsersForProtect(user.id) : null);
}
}
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -35,7 +35,8 @@ namespace OnlineEditorsExampleMVC.Models
Word,
Cell,
Slide,
Pdf
Pdf,
Diagram
}
// get file type
@ -47,6 +48,7 @@ namespace OnlineEditorsExampleMVC.Models
if (FormatManager.DocumentExtensions().Contains(ext)) return FileType.Word; // word type for document extensions
if (FormatManager.SpreadsheetExtensions().Contains(ext)) return FileType.Cell; // cell type for spreadsheet extensions
if (FormatManager.PresentationExtensions().Contains(ext)) return FileType.Slide; // slide type for presentation extensions
if (FormatManager.DiagramExtensions().Contains(ext)) return FileType.Diagram; // diagram type for diagram extensions
return FileType.Null; // the default type is word
}
@ -202,6 +204,20 @@ namespace OnlineEditorsExampleMVC.Models
.ToList();
}
public static List<string> DiagramExtensions()
{
return Diagrams()
.Select(format => format.Extension())
.ToList();
}
public static List<Format> Diagrams()
{
return All()
.Where(format => format.Type == FileType.Diagram)
.ToList();
}
public static List<string> AllExtensions()
{
return All()

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -7,7 +7,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Ascensio System SIA")]
[assembly: AssemblyProduct("OnlineEditorsExampleMVC")]
[assembly: AssemblyCopyright("Ascensio System SIA 2024")]
[assembly: AssemblyCopyright("Ascensio System SIA 2025")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

View File

@ -12,7 +12,7 @@ See the detailed guide to learn how to install Document Server [for Windows](htt
## Step 2. Download the .Net (C# MVC) code for the editors integration
Download the [.Net (C# MVC) example](https://api.onlyoffice.com/editors/demopreview) from our site.
Download the [.Net (C# MVC) example](https://api.onlyoffice.com/docs/docs-api/samples/language-specific-examples/) from our site.
To connect the editors to your website, specify the path to the editors installation and the path to the storage folder in the *web.appsettings.config* file:
```
@ -21,7 +21,7 @@ To connect the editors to your website, specify the path to the editors installa
```
where the **documentserver** is the name of the server with the ONLYOFFICE Document Server installed and the **storage-path** is the path where files will be created and stored. You can set an absolute path.
If you want to experiment with the editor configuration, modify the [parameters](https://api.onlyoffice.com/editors/advanced) in the *DocEditor.aspx* file.
If you want to experiment with the editor configuration, modify the [parameters](https://api.onlyoffice.com/docs/docs-api/usage-api/advanced-parameters/) in the *DocEditor.aspx* file.
## Step 3. Install the prerequisites
Сheck if your system meets the system requirements:
@ -38,7 +38,15 @@ Configure the IIS components for the server to work correctly:
* **Common HTTP Features**: Default Document,
* **Security**: Request Filtering.
## Step 4. Run your website with the editors
## Step 4. Configure JWT
Open the *web.appsettings.config* file and [specify the same secret key](https://helpcenter.onlyoffice.com/installation/docs-configure-jwt.aspx) as used in your Document Server to enable JWT:
```
<add key="files.docservice.secret" value="secret" />
```
## Step 5. Run your website with the editors
1. Run the Internet Information Service (IIS) Manager:
**Start** -> **Control Panel** -> **System and Security** -> **Administrative Tools** -> **Internet Information Services (IIS) Manager**
@ -65,7 +73,7 @@ Configure the IIS components for the server to work correctly:
![browse](screenshots/browse.png)
## Step 5. Check accessibility
## Step 6. Check accessibility
In case the example and Document Server are installed on different computers, make sure that your server with the example installed has access to the Document Server with the address which you specify instead of **documentserver** in the configuration files.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -126,7 +126,7 @@ if (typeof jQuery != "undefined") {
if (!formatManager.isAutoConvertible(posExt)) {
jq("#step2").addClass("done").removeClass("current");
loadScripts();
onuploaded();
return;
}
@ -182,36 +182,16 @@ if (typeof jQuery != "undefined") {
if (response.step && response.step < 100) {
checkConvert(filePass, fileType);
} else {
jq("#uploadFileName").text(response.filename);
jq("#step2").addClass("done").removeClass("current");
loadScripts();
onuploaded();
}
}
});
}, 1000);
};
var loadScripts = function () {
if (!jq("#mainProgress").is(":visible")) {
return;
}
jq("#step3").addClass("current");
if (jq("#loadScripts").is(":empty")) {
var urlScripts = jq("#loadScripts").attr("data-docs");
var frame = '<iframe id="iframeScripts" width=1 height=1 style="position: absolute; visibility: hidden;" ></iframe>';
jq("#loadScripts").html(frame);
document.getElementById("iframeScripts").onload = onloadScripts;
jq("#loadScripts iframe").attr("src", urlScripts);
} else {
onloadScripts();
}
};
var onloadScripts = function () {
if (!jq("#mainProgress").is(":visible")) {
return;
}
jq("#step3").addClass("done").removeClass("current");
var onuploaded = function () {
jq("#beginView, #beginEmbedded").removeClass("disable");
var fileName = jq("#hiddenFileName").val();
@ -273,7 +253,7 @@ if (typeof jQuery != "undefined") {
jq(document).on("click", "#skipPass", function () {
jq("#blockPassword").hide();
loadScripts();
onuploaded();
});
jq(document).on("click", "#beginEdit:not(.disable)", function () {
@ -354,7 +334,7 @@ if (typeof jQuery != "undefined") {
}
jq("#hiddenFileName").val(fileName);
jq("#convertStep1").addClass("done");
jq("#convertStep1").addClass("error");
jq("#convertStep2").addClass("waiting");
});
@ -364,6 +344,7 @@ if (typeof jQuery != "undefined") {
let fileExt = jq(`#${id}`).attr("data");
jq(`#${id}`).addClass("orange");
jq("td[name='convertingTypeButton']").addClass("disable");
jq("#convertStep1").removeClass("error").addClass("done");
jq("#convertStep2").removeClass("waiting").removeClass("done").addClass("current");
jq("#convertStep2").text('2. File conversion');
jq("#convert-descr").removeClass("disable");
@ -415,14 +396,12 @@ if (typeof jQuery != "undefined") {
jq("#convertStep2").removeClass("current").addClass("done");
jq("#convertStep2").text(`2. File conversion to ${fileExt}`);
jq("#downloadConverted").removeClass("disable");
jq("#hiddenFileName").attr("data",response.filename);
if (response.error !== "FileTypeIsNotSupported") {
jq("#hiddenFileName").attr("data",response.filename);
jq("#beginEditConverted").removeClass("disable");
jq("#beginViewConverted").removeClass("disable");
jq("#downloadConverted").attr("data","fromStorage");
} else {
let newFilename = fileName.split('.').slice(0,-1).join('.')
jq("#hiddenFileName").attr("data",response.filename.split("&filename=download").join(`&filename=${newFilename}`));
jq("#downloadConverted").attr("data","fromConverter");
}
jq("td[name='convertingTypeButton']").removeClass("disable orange");

View File

@ -14,7 +14,7 @@
<meta name="mobile-web-app-capable" content="yes" />
<!--
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -111,8 +111,16 @@
innerAlert("Document editor closed successfully");
};
var onUserActionRequired = function () {
console.log("User action required");
};
// the meta information of the document is changed via the meta command
var onMetaChange = function (event) {
if (event.data.title !== undefined) {
document.title = event.data.title + " - ONLYOFFICE";
}
if (event.data.favorite !== undefined) {
var favorite = !!event.data.favorite;
var title = document.title.replace(/^\☆/g, "");
@ -187,6 +195,18 @@
}
};
var onRequestRefreshFile = function(event) {
let xhr = new XMLHttpRequest();
xhr.open("GET", "webeditor.ashx?type=config&fileName=" + encodeURIComponent(config.document.title) +
"&directUrl=" + !!config.document.directUrl +
"&permissions=" + encodeURIComponent(JSON.stringify(config.document.permissions)));
xhr.send();
xhr.onload = function () {
innerAlert(xhr.responseText);
docEditor.refreshFile(JSON.parse(xhr.responseText));
};
};
var onRequestOpen = function (event) { // user open external data source
innerAlert("onRequestOpen");
var windowName = event.data.windowName;
@ -296,9 +316,11 @@
var onRequestRestore = function (event) {
var fileName = "<%= Model.FileName %>";
var version = event.data.version;
var url = event.data.url;
var data = {
fileName: fileName,
version: version
version: version,
url: url
};
let xhr = new XMLHttpRequest();
@ -340,10 +362,33 @@
default:
users = <%= usersForMentions %>;
}
docEditor.setUsers({
if ((c === "protect" || c === "mention") && users && event.data.count) {
let from = event.data.from;
let count = event.data.count;
let search = event.data.search;
if (from != 0) users = [];
var resultCount = 234;
for (var i = Math.max(users.length, from); i < Math.min(from + count, resultCount); i++){
users.push({
email: "test@test.test" + (i + 1),
id: "id" + (i + 1),
name: "test_" + search + (i + 1)
});
}
}
var result = {
"c": c,
"users": users,
});
};
if (resultCount) {
// support v9.0
result.total = 1 + (!event.data.count || users.length < event.data.count ? 0 : (event.data.from + event.data.count));
// since v9.0.1
result.isPaginated = true;
}
docEditor.setUsers(result);
};
var onRequestSendNotify = function (event) {
@ -360,6 +405,7 @@
config.events = {
'onAppReady': onAppReady,
'onDocumentStateChange': onDocumentStateChange,
'onUserActionRequired': onUserActionRequired,
'onError': onError,
'onOutdatedVersion': onOutdatedVersion,
"onMakeActionLink": onMakeActionLink,
@ -370,6 +416,7 @@
};
if (config.editorConfig.user.id) {
config.events['onRequestRefreshFile'] = onRequestRefreshFile;
config.events['onRequestClose'] = onRequestClose;
// the user is trying to show the document version history
config.events['onRequestHistory'] = onRequestHistory;

View File

@ -14,7 +14,7 @@
<meta name="server-version" content=<%= DocManagerHelper.GetVersion() %> />
<!--
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -125,7 +125,7 @@
<tbody>
<tr>
<td>
<a href="http://api.onlyoffice.com/editors/howitworks" target="_blank">API Documentation</a>
<a href="https://api.onlyoffice.com/docs/docs-api/get-started/how-it-works/" target="_blank">API Documentation</a>
</td>
<td>
<a href="mailto:sales@onlyoffice.com">Submit your request</a>

View File

@ -16,7 +16,7 @@
<meta name="server-version" content=<%= DocManagerHelper.GetVersion() %> />
<!--
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -362,10 +362,7 @@
<span class="errorPass"></span>
<br />
</div>
<span id="step3" class="step">3. Loading editor scripts.</span>
<span class="step-descr">They are loaded only once, they will be cached on your computer.</span>
<input type="hidden" name="hiddenFileName" id="hiddenFileName" />
<br />
<span class="progress-descr">Note the speed of all operations depends on your connection quality and server location.</span>
<br />
<div class="error-message">
@ -410,7 +407,7 @@
</div>
</div>
<span id="loadScripts" data-docs="<%= WebConfigurationManager.AppSettings["files.docservice.url.site"] + WebConfigurationManager.AppSettings["files.docservice.url.preloader"] %>"></span>
<iframe id="iframeScripts" src="<%= WebConfigurationManager.AppSettings["files.docservice.url.site"] + WebConfigurationManager.AppSettings["files.docservice.url.preloader"] %>" width=1 height=1 style="position: absolute; visibility: hidden; top: 0;" ></iframe>
<footer>
<div class="center">
@ -418,7 +415,7 @@
<tbody>
<tr>
<td>
<a href="http://api.onlyoffice.com/editors/howitworks" target="_blank">API Documentation</a>
<a href="https://api.onlyoffice.com/docs/docs-api/get-started/how-it-works/" target="_blank">API Documentation</a>
</td>
<td>
<a href="mailto:sales@onlyoffice.com">Submit your request</a>

View File

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width" />
<!--
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -93,6 +93,9 @@ namespace OnlineEditorsExampleMVC
case "formats":
Formats(context);
break;
case "config":
Config(context);
break;
}
}
@ -277,7 +280,7 @@ namespace OnlineEditorsExampleMVC
// get the url and file type of the converted file
Dictionary<string, string> newFileData;
var result = ServiceConverter.GetConvertedData(downloadUri.ToString(), extension, conversionExtension, key, true, out newFileData, filePass, lang);
var result = ServiceConverter.GetConvertedData(downloadUri.ToString(), extension, conversionExtension, key, true, out newFileData, filePass, lang, fileName);
if (result != 100)
{
context.Response.Write("{ \"step\" : \"" + result + "\", \"filename\" : \"" + fileName + "\"}");
@ -702,6 +705,7 @@ namespace OnlineEditorsExampleMVC
var fileName = (string)body["fileName"];
var version = (int)body["version"];
var url = body.ContainsKey("url") ? (string)body["url"] : null;
var key = ServiceConverter.GenerateRevisionId(DocManagerHelper.CurUserHostAddress()
+ "/" + fileName + "/"
@ -723,9 +727,19 @@ namespace OnlineEditorsExampleMVC
{
File.Copy(changesPath, Path.Combine(currentVersionDir, "changes.json"));
}
File.Copy(Path.Combine(verDir, "prev" + ext), DocManagerHelper.StoragePath(fileName, null), true);
if (url != null)
{
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
var stream = req.GetResponse().GetResponseStream();
var memoryStream = new MemoryStream();
stream.CopyTo(memoryStream);
File.WriteAllBytes(DocManagerHelper.StoragePath(fileName, null), memoryStream.ToArray());
}
else
{
File.Copy(Path.Combine(verDir, "prev" + ext), DocManagerHelper.StoragePath(fileName, null), true);
}
var fileInfo = new FileInfo(DocManagerHelper.StoragePath(fileName, null));
fileInfo.LastWriteTimeUtc = DateTime.UtcNow;
@ -976,7 +990,7 @@ namespace OnlineEditorsExampleMVC
var changes = jss.Deserialize<Dictionary<string, object>>(File.ReadAllText(changesPath));
var changesArray = (ArrayList)changes["changes"];
var change = changesArray.Count > 0
? (Dictionary<string, object>)changesArray[0]
? (Dictionary<string, object>)changesArray[changesArray.Count - 1]
: new Dictionary<string, object>();
// write information about changes to the object
@ -1015,6 +1029,74 @@ namespace OnlineEditorsExampleMVC
}
}
private static void Config(HttpContext context)
{
try
{
var fileName = context.Request.QueryString.Get("fileName");
var directUrl = context.Request.QueryString.Get("directUrl").ToLower() == "true";
var permissions = context.Request.QueryString.Get("permissions") != null
? context.Request.QueryString.Get("permissions")
: "{}";
if (string.IsNullOrEmpty(fileName) || !File.Exists(DocManagerHelper.StoragePath(fileName)))
{
context.Response.Write("{ \"error\": \"File is not exist\"}");
return;
}
var id = context.Request.Cookies.GetOrDefault("uid", null);
var user = Users.getUser(id);
var jss = new JavaScriptSerializer();
var config = new Dictionary<string, object>
{
{
"document", new Dictionary<string, object>
{
{"key", ServiceConverter.GenerateRevisionId(DocManagerHelper.CurUserHostAddress() + "/" + fileName
+ "/"+ File.GetLastWriteTime(DocManagerHelper.StoragePath(fileName, null)).GetHashCode())},
{"title", fileName},
{"url", DocManagerHelper.GetDownloadUrl(fileName)},
{"permissions", jss.Deserialize<Dictionary<string, object>>(permissions)},
{"directUrl", directUrl ? DocManagerHelper.GetDownloadUrl(fileName, false) : null},
{
"referenceData", new Dictionary<string, object>
{
{"fileKey", !user.id.Equals("uid-0") ?
jss.Serialize(new Dictionary<string, object>{
{"fileName", fileName},
{"userAddress", HttpUtility.UrlEncode(DocManagerHelper.CurUserHostAddress(HttpContext.Current.Request.UserHostAddress))}
}) : null },
{"instanceId", DocManagerHelper.GetServerUrl(false)}
}
}
}
},
{
"editorConfig", new Dictionary<string, object>
{
{"callbackUrl", DocManagerHelper.GetCallback(fileName)},
{"mode", "edit"}
}
}
};
if (JwtManager.Enabled)
{
var token = JwtManager.Encode(config);
config.Add("token", token);
}
context.Response.Write(jss.Serialize(config));
}
catch (Exception e)
{
context.Response.Write("{ \"error\": \"" + e.Message + "\"}");
}
}
// delete a forgotten file from the document server
private static void RemoveForgotten(HttpContext context)
{

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<appSettings>
<clear />
<add key="version" value="1.11.0"/>
<add key="version" value="1.14.0"/>
<add key="filesize-max" value="52428800"/>
<add key="storage-path" value=""/>
@ -13,16 +13,17 @@
<add key="files.docservice.header" value="Authorization" />
<add key="files.docservice.token.useforrequest" value="true" />
<add key="files.docservice.token.expires-in" value="5"/>
<add key="files.docservice.verify-peer-off" value="true"/>
<add key="files.docservice.languages" value="en:English|ar:Arabic|hy:Armenian|az:Azerbaijani|eu:Basque|be:Belarusian|bg:Bulgarian|ca:Catalan|zh:Chinese (Simplified)|zh-TW:Chinese (Traditional)|cs:Czech|da:Danish|nl:Dutch|en-GB:English (United Kingdom)|fi:Finnish|fr:French|gl:Galego|de:German|el:Greek|he-IL:Hebrew (Israel)|hu:Hungarian|id:Indonesian|it:Italian|ja:Japanese|ko:Korean|lo:Lao|lv:Latvian|ms:Malay (Malaysia)|no:Norwegian|pl:Polish|pt:Portuguese (Brazil)|pt-PT:Portuguese (Portugal)|ro:Romanian|ru:Russian|sr-Cyrl-RS:Serbian (Cyrillic)|sr-Latn-RS:Serbian (Latin)|si:Sinhala (Sri Lanka)|sk:Slovak|sl:Slovenian|es:Spanish|sv:Swedish|tr:Turkish|uk:Ukrainian|vi:Vietnamese|aa-AA:Test Language"/>
<add key="files.docservice.languages" value="en:English|sq-AL:Albanian (Albania)|ar:Arabic|hy:Armenian|az:Azerbaijani|eu:Basque|be:Belarusian|bg:Bulgarian|ca:Catalan|zh:Chinese (Simplified)|zh-TW:Chinese (Traditional)|cs:Czech|da:Danish|nl:Dutch|en-GB:English (United Kingdom)|fi:Finnish|fr:French|gl:Galego|de:German|el:Greek|he-IL:Hebrew (Israel)|hu:Hungarian|id:Indonesian|it:Italian|ja:Japanese|ko:Korean|lo:Lao|lv:Latvian|ms:Malay (Malaysia)|no:Norwegian|pl:Polish|pt:Portuguese (Brazil)|pt-PT:Portuguese (Portugal)|ro:Romanian|ru:Russian|sr-Cyrl-RS:Serbian (Cyrillic)|sr-Latn-RS:Serbian (Latin)|si:Sinhala (Sri Lanka)|sk:Slovak|sl:Slovenian|es:Spanish|sv:Swedish|tr:Turkish|uk:Ukrainian|ur:Urdu|vi:Vietnamese|aa-AA:Test Language"/>
<add key="files.docservice.url.site" value="http://documentserver/"/>
<add key="files.docservice.url.converter" value="converter"/>
<add key="files.docservice.url.api" value="web-apps/apps/api/documents/api.js"/>
<add key="files.docservice.url.preloader" value="web-apps/apps/api/documents/cache-scripts.html"/>
<add key="files.docservice.url.preloader" value="web-apps/apps/api/documents/preload.html"/>
<add key="files.docservice.url.command" value="command"/>
<add key="files.docservice.url.example" value=""/>

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -146,7 +146,7 @@ header a {
}
}
@media (max-width: 592px) and (min-width: 320px) {
@media (max-width: 592px) {
.center, .table-main {
width: 100%;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -0,0 +1,6 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5 3.707V15a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V1A.5.5 0 0 1 3 .5h7.293z" fill="#fff" stroke="#BBB"/>
<path d="M9.5 1v2.7c0 .28 0 .42.055.527a.5.5 0 0 0 .218.218c.107.055.247.055.527.055H13" stroke="#BBB"/>
<path d="M5 8h6v1H5zm0 1h1v1H5zm5 0h1v1h-1zM7 6h2v2H7z" fill="#5951BB"/>
<path stroke="#5951BB" d="M4.5 10.5h2v2h-2zm5 0h2v2h-2z"/>
</svg>

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -639,7 +639,7 @@
}
}
@media (max-width: 420px) and (min-width: 320px) {
@media (max-width: 420px) {
.tableRow,
menu.links {
width: 25%;
@ -715,7 +715,7 @@
max-width: 45%;
}
}
@media (max-width: 600px) and (min-width: 320px) {
@media (max-width: 600px) {
.main-panel{
display: flex;
flex-direction: column;
@ -742,7 +742,7 @@
}
}
@media (max-width: 592px) and (min-width: 320px) {
@media (max-width: 592px) {
body.menu-open {
overflow: hidden;
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -511,10 +511,6 @@ label .checkbox {
line-height: 150%;
}
#loadScripts {
display: none;
}
#iframeScripts {
position: absolute;
visibility: hidden;
@ -635,6 +631,11 @@ footer a:hover {
background-image: url("images/icon_pdf.svg");
}
.stored-edit.diagram,
.uploadFileName.diagram {
background-image: url("images/icon_vsdx.svg");
}
.stored-edit span {
font-size: 12px;
line-height: 12px;

View File

@ -17,7 +17,7 @@
<title>ONLYOFFICE</title>
<!--
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -364,10 +364,7 @@
<span class="errorPass"></span>
<br />
</div>
<span id="step3" class="step">3. Loading editor scripts.</span>
<span class="step-descr">They are loaded only once, they will be cached on your computer.</span>
<input type="hidden" name="hiddenFileName" id="hiddenFileName" />
<br />
<span class="progress-descr">Note the speed of all operations depends on your connection quality and server location.</span>
<br />
<div class="error-message">
@ -412,7 +409,7 @@
</div>
</div>
<span id="loadScripts" data-docs="<%= UrlPreloadScripts %>"></span>
<iframe id="iframeScripts" src="<%= UrlPreloadScripts %>" width=1 height=1 style="position: absolute; visibility: hidden; top: 0;" ></iframe>
<footer>
<div class="center">
@ -420,7 +417,7 @@
<tbody>
<tr>
<td>
<a href="http://api.onlyoffice.com/editors/howitworks" target="_blank">API Documentation</a>
<a href="https://api.onlyoffice.com/docs/docs-api/get-started/how-it-works/" target="_blank">API Documentation</a>
</td>
<td>
<a href="mailto:sales@onlyoffice.com">Submit your request</a>

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -254,6 +254,7 @@ namespace OnlineEditorsExample
if (FormatManager.DocumentExtensions().Contains(ext)) return "word"; // word for text document extensions
if (FormatManager.SpreadsheetExtensions().Contains(ext)) return "cell"; // cell for spreadsheet extensions
if (FormatManager.PresentationExtensions().Contains(ext)) return "slide"; // slide for presentation extensions
if (FormatManager.DiagramExtensions().Contains(ext)) return "diagram"; // diagram for diagram extensions
return "word"; // the default document type is word
}
@ -469,7 +470,7 @@ namespace OnlineEditorsExample
// get the url and file type of the converted file
Dictionary<string, string> newFileData;
var result = ServiceConverter.GetConvertedData(fileUrl.ToString() , extension, conversionExtension, key, true, out newFileData, filePass, lang);
var result = ServiceConverter.GetConvertedData(fileUrl.ToString() , extension, conversionExtension, key, true, out newFileData, filePass, lang, _fileName);
if (result != 100)
{
return "{ \"step\" : \"" + result + "\", \"filename\" : \"" + _fileName + "\"}";
@ -562,7 +563,10 @@ namespace OnlineEditorsExample
var directoryInfo = new DirectoryInfo(directory); // read the user host directory contents
// get the list of stored files from the host directory
List<FileInfo> storedFiles = directoryInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly).ToList();
var storedFiles = directoryInfo.GetFiles("*.*", SearchOption.TopDirectoryOnly).ToList();
storedFiles.Sort((a, b) => b.LastWriteTimeUtc.CompareTo(a.LastWriteTimeUtc)); // sort files by the modification date
return storedFiles;
}

View File

@ -15,7 +15,7 @@
<title><%= FileName + " - ONLYOFFICE" %></title>
<!--
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -129,8 +129,16 @@
innerAlert("Document editor closed successfully");
};
var onUserActionRequired = function () {
console.log("User action required");
};
// the meta information of the document is changed via the meta command
var onMetaChange = function (event) {
if (event.data.title !== undefined) {
document.title = event.data.title + " - ONLYOFFICE";
}
if (event.data.favorite !== undefined) {
var favorite = !!event.data.favorite;
var title = document.title.replace(/^\☆/g, "");
@ -199,6 +207,18 @@
}
};
var onRequestRefreshFile = function(event) {
let xhr = new XMLHttpRequest();
xhr.open("GET", "webeditor.ashx?type=config&fileName=" + encodeURIComponent(config.document.title) +
"&directUrl=" + !!config.document.directUrl +
"&permissions=" + encodeURIComponent(JSON.stringify(config.document.permissions)));
xhr.send();
xhr.onload = function () {
innerAlert(xhr.responseText);
docEditor.refreshFile(JSON.parse(xhr.responseText));
};
};
var onRequestOpen = function (event) { // user open external data source
innerAlert("onRequestOpen");
var windowName = event.data.windowName;
@ -307,10 +327,33 @@
default:
users = <%= UsersForMentions %>;
}
docEditor.setUsers({
if ((c === "protect" || c === "mention") && users && event.data.count) {
let from = event.data.from;
let count = event.data.count;
let search = event.data.search;
if (from != 0) users = [];
var resultCount = 234;
for (var i = Math.max(users.length, from); i < Math.min(from + count, resultCount); i++){
users.push({
email: "test@test.test" + (i + 1),
id: "id" + (i + 1),
name: "test_" + search + (i + 1)
});
}
}
var result = {
"c": c,
"users": users,
});
};
if (resultCount) {
// support v9.0
result.total = 1 + (!event.data.count || users.length < event.data.count ? 0 : (event.data.from + event.data.count));
// since v9.0.1
result.isPaginated = true;
}
docEditor.setUsers(result);
};
var onRequestSendNotify = function (event) {
@ -327,6 +370,7 @@
config.events = {
'onAppReady': onAppReady,
'onDocumentStateChange': onDocumentStateChange,
'onUserActionRequired': onUserActionRequired,
'onError': onError,
'onOutdatedVersion': onOutdatedVersion,
'onMakeActionLink': onMakeActionLink,
@ -337,7 +381,7 @@
};
if (config.editorConfig.user.id) {
config.events['onRequestRefreshFile'] = onRequestRefreshFile;
config.events['onRequestClose'] = onRequestClose;
config.events['onRequestHistory'] = function (event) { // the user is trying to show the document version history
@ -369,9 +413,11 @@
config.events['onRequestRestore'] = function (event) {
var fileName = "<%= FileName %>";
var version = event.data.version;
var url = event.data.url;
var data = {
fileName: fileName,
version: version
version: version,
url: url
};
let xhr = new XMLHttpRequest();

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -294,6 +294,12 @@ namespace OnlineEditorsExample
{ "visible", user.close.visible },
{ "text", user.close.text }
} : new Dictionary<string, object>{}
},
{
"features", new Dictionary<string, object>
{
{ "featuresTips", user.id.Equals("uid-0") }
}
}
}
}
@ -327,14 +333,14 @@ namespace OnlineEditorsExample
// get users for mentions
List<Dictionary<string, object>> usersData = Users.getUsersForMentions(user.id);
UsersForMentions = !user.id.Equals("uid-0") ? jss.Serialize(usersData) : null;
UsersForMentions = jss.Serialize(!user.id.Equals("uid-0") ? usersData : null);
List<Dictionary<string, object>> usersInfo = Users.getUsersInfo(user.id);
UsersInfo = jss.Serialize(usersData);
// get users for protect
List<Dictionary<string, object>> usersProtectData = Users.getUsersForProtect(user.id);
UsersForProtect = !user.id.Equals("uid-0") ? jss.Serialize(usersProtectData) : null;
UsersForProtect = jss.Serialize(!user.id.Equals("uid-0") ? usersProtectData : null);
}
catch { }
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -85,7 +85,8 @@ namespace ASC.Api.DocumentConverter
bool isAsync,
out Dictionary<string, string> convertedDocumentData,
string filePass = null,
string lang = null)
string lang = null,
string filename = null)
{
convertedDocumentData = new Dictionary<string, string>();
@ -93,7 +94,7 @@ namespace ASC.Api.DocumentConverter
fromExtension = string.IsNullOrEmpty(fromExtension) ? Path.GetExtension(documentUri).ToLower() : fromExtension;
// check if the file name parameter is defined; if not, get random uuid for this file
var title = Path.GetFileName(documentUri);
var title = string.IsNullOrEmpty(filename) ? Path.GetFileName(documentUri) : filename;
title = string.IsNullOrEmpty(title) ? Guid.NewGuid().ToString() : title;
// get document key

View File

@ -13,7 +13,7 @@
<title>ONLYOFFICE</title>
<!--
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -126,7 +126,7 @@
<tbody>
<tr>
<td>
<a href="http://api.onlyoffice.com/editors/howitworks" target="_blank">API Documentation</a>
<a href="https://api.onlyoffice.com/docs/docs-api/get-started/how-it-works/" target="_blank">API Documentation</a>
</td>
<td>
<a href="mailto:sales@onlyoffice.com">Submit your request</a>

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -164,6 +164,20 @@ namespace OnlineEditorsExample
.ToList();
}
public static List<string> DiagramExtensions()
{
return Diagrams()
.Select(format => format.Extension())
.ToList();
}
public static List<Format> Diagrams()
{
return All()
.Where(format => format.Type == "diagram")
.ToList();
}
public static List<string> AllExtensions()
{
return All()

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,6 +20,7 @@ using JWT;
using JWT.Algorithms;
using JWT.Builder;
using JWT.Serializers;
using System;
using System.Collections.Generic;
using System.Web.Configuration;
@ -28,6 +29,7 @@ namespace OnlineEditorsExample
public static class JwtManager
{
private static readonly string Secret;
private static readonly int ExpiresIn;
public static readonly bool Enabled;
public static readonly bool SignatureUseForRequest;
@ -35,12 +37,19 @@ namespace OnlineEditorsExample
{
Secret = WebConfigurationManager.AppSettings["files.docservice.secret"] ?? ""; // get token secret from the config parameters
Enabled = !string.IsNullOrEmpty(Secret); // check if the token is enabled
ExpiresIn = int.Parse(WebConfigurationManager.AppSettings["files.docservice.token.expires-in"]);
SignatureUseForRequest = bool.Parse(WebConfigurationManager.AppSettings["files.docservice.token.useforrequest"]);
}
// encode a payload object into a token using a secret key
public static string Encode(IDictionary<string, object> payload)
{
var now = (int)DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1)).TotalSeconds;
var expires = now + ExpiresIn * 60;
payload["iat"] = now;
payload["exp"] = expires;
var encoder = new JwtEncoder(new HMACSHA256Algorithm(),
new JsonNetSerializer(),
new JwtBase64UrlEncoder());

View File

@ -7,7 +7,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Ascensio System SIA")]
[assembly: AssemblyProduct("OnlineEditorsExample")]
[assembly: AssemblyCopyright("Ascensio System SIA 2024")]
[assembly: AssemblyCopyright("Ascensio System SIA 2025")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

View File

@ -12,7 +12,7 @@ See the detailed guide to learn how to install Document Server [for Windows](htt
## Step 2. Download the .Net (C#) code for the editors integration
Download the [.Net (C#) example](https://api.onlyoffice.com/editors/demopreview) from our site.
Download the [.Net (C#) example](https://api.onlyoffice.com/docs/docs-api/samples/language-specific-examples/) from our site.
To connect the editors to your website, specify the path to the editors installation and the path to the storage folder in the *settings.config* file:
```
@ -21,7 +21,7 @@ To connect the editors to your website, specify the path to the editors installa
```
where the **documentserver** is the name of the server with the ONLYOFFICE Document Server installed and the **storage-path** is the path where files will be created and stored. You can set an absolute path.
If you want to experiment with the editor configuration, modify the [parameters](https://api.onlyoffice.com/editors/advanced) in the *DocEditor.aspx* file.
If you want to experiment with the editor configuration, modify the [parameters](https://api.onlyoffice.com/docs/docs-api/usage-api/advanced-parameters/) in the *DocEditor.aspx* file.
## Step 3. Install the prerequisites
@ -39,7 +39,15 @@ Configure the IIS components for the server to work correctly:
* **Common HTTP Features**: Default Document,
* **Security**: Request Filtering.
## Step 4. Run your website with the editors
## Step 4. Configure JWT
Open the *settings.config* file and [specify the same secret key](https://helpcenter.onlyoffice.com/installation/docs-configure-jwt.aspx) as used in your Document Server to enable JWT:
```
<add key="files.docservice.secret" value="secret" />
```
## Step 5. Run your website with the editors
1. Run the Internet Information Service (IIS) Manager:
**Start** -> **Control Panel** -> **System and Security** -> **Administrative Tools** -> **Internet Information Services (IIS) Manager**
@ -67,7 +75,7 @@ Configure the IIS components for the server to work correctly:
![browse](screenshots/browse.png)
## Step 5. Check accessibility
## Step 6. Check accessibility
In case the example and Document Server are installed on different computers, make sure that your server with the example installed has access to the Document Server with the address which you specify instead of **documentserver** in the configuration files.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -25,12 +25,12 @@ namespace OnlineEditorsExample
static List<string> descr_user_1 = new List<string>()
{
"File author by default",
"Doesnt belong to any group",
"Doesn't belong to any group",
"Can review all the changes",
"Can perform all actions with comments",
"The file favorite state is undefined",
"Can create files from templates using data from the editor",
"Can see the information about all users",
"This file isn't marked as favorite",
"Can create files from templates using data from the editor",
"Has an avatar",
"Can submit forms"
};
@ -40,11 +40,11 @@ namespace OnlineEditorsExample
"Belongs to Group2",
"Can review only his own changes or changes made by users with no group",
"Can view comments, edit his own comments and comments left by users with no group. Can remove his own comments only",
"Can see the information about users from Group2 and users who don't belong to any group",
"This file is marked as favorite",
"Can create new files from the editor",
"Can see the information about users from Group2 and users who dont belong to any group",
"Has an avatar",
"Cant submit forms"
"Can't submit forms"
};
static List<string> descr_user_3 = new List<string>()
@ -52,32 +52,34 @@ namespace OnlineEditorsExample
"Belongs to Group3",
"Can review changes made by Group2 users",
"Can view comments left by Group2 and Group3 users. Can edit comments left by the Group2 users",
"This file isnt marked as favorite",
"Cant copy data from the file to clipboard",
"Cant download the file",
"Cant print the file",
"Can create new files from the editor",
"Can see the information about Group2 users",
"Cant submit forms",
"The file favorite state is undefined",
"Can't copy data from the file to clipboard",
"Can't download the file",
"Can't print the file",
"Can create new files from the editor",
"Can't close history",
"Can't restore the file version"
"Can't restore the file version",
"Can't submit forms"
};
static List<string> descr_user_0 = new List<string>()
{
"The name is requested when the editor is opened",
"Doesnt belong to any group",
"Doesn't belong to any group",
"Can review all the changes",
"Can perform all actions with comments",
"Can't see anyone's information",
"The file favorite state is undefined",
"Can't mention others in comments",
"Can't create new files from the editor",
"Cant see anyones information",
"Can't rename files from the editor",
"Can't view chat",
"Can't protect file",
"View file without collaboration",
"Cant submit forms"
"Can't refresh outdated file",
"Can't submit forms",
"Tour of tips when opening a document"
};
private static List<User> users = new List<User>() {
@ -89,7 +91,7 @@ namespace OnlineEditorsExample
null,
new Dictionary<string, object>(),
null,
null,
false,
new List<string>(),
descr_user_1,
true,
@ -131,7 +133,7 @@ namespace OnlineEditorsExample
{ "remove", new List<string>() { } }
},
new List<string>() { "group-2" },
false,
null,
new List<string>() { "copy", "download", "print" },
descr_user_3,
false,

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -93,6 +93,9 @@ namespace OnlineEditorsExample
case "formats":
Formats(context);
break;
case "config":
Config(context);
break;
}
}
@ -486,6 +489,7 @@ namespace OnlineEditorsExample
var fileName = (string)body["fileName"];
var version = (int)body["version"];
var url = body.ContainsKey("url") ? (string)body["url"] : null;
var lastVersionUri = _Default.FileUri(fileName, true);
var key = ServiceConverter.GenerateRevisionId(_Default.CurUserHostAddress(null)
@ -509,7 +513,19 @@ namespace OnlineEditorsExample
File.Copy(changesPath, Path.Combine(currentVersionDir, "changes.json"));
}
File.Copy(Path.Combine(verDir, "prev" + ext), _Default.StoragePath(fileName, null), true);
if (url != null)
{
var req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "GET";
var stream = req.GetResponse().GetResponseStream();
var memoryStream = new MemoryStream();
stream.CopyTo(memoryStream);
File.WriteAllBytes(_Default.StoragePath(fileName, null), memoryStream.ToArray());
}
else
{
File.Copy(Path.Combine(verDir, "prev" + ext), _Default.StoragePath(fileName, null), true);
}
var fileInfo = new FileInfo(_Default.StoragePath(fileName, null));
fileInfo.LastWriteTimeUtc = DateTime.UtcNow;
@ -762,7 +778,7 @@ namespace OnlineEditorsExample
var changes = jss.Deserialize<Dictionary<string, object>>(File.ReadAllText(changesPath));
var changesArray = (ArrayList)changes["changes"];
var change = changesArray.Count > 0
? (Dictionary<string, object>)changesArray[0]
? (Dictionary<string, object>)changesArray[changesArray.Count - 1]
: new Dictionary<string, object>();
// write information about changes to the object
@ -815,6 +831,83 @@ namespace OnlineEditorsExample
}
}
private static void Config(HttpContext context) {
try
{
var fileName = context.Request.QueryString.Get("fileName");
var directUrl = context.Request.QueryString.Get("directUrl").ToLower() == "true";
var permissions = context.Request.QueryString.Get("permissions") != null
? context.Request.QueryString.Get("permissions")
: "{}";
var userAdress = HttpUtility.UrlEncode(_Default.CurUserHostAddress(HttpContext.Current.Request.UserHostAddress));
if (string.IsNullOrEmpty(fileName) || !File.Exists(_Default.StoragePath(fileName, userAdress)))
{
context.Response.Write("{ \"error\": \"File is not exist\"}");
return;
}
var id = context.Request.Cookies.GetOrDefault("uid", null);
var user = Users.getUser(id);
var callbackUrl = new UriBuilder(_Default.GetServerUrl(true));
callbackUrl.Path = HttpRuntime.AppDomainAppVirtualPath
+ (HttpRuntime.AppDomainAppVirtualPath.EndsWith("/") ? "" : "/")
+ "webeditor.ashx";
callbackUrl.Query = "type=track" + "&fileName="
+ HttpUtility.UrlEncode(fileName)
+ "&userAddress=" + HttpUtility.UrlEncode(_Default.CurUserHostAddress(HttpContext.Current.Request.UserHostAddress));
var callback = callbackUrl.ToString();
var jss = new JavaScriptSerializer();
var config = new Dictionary<string, object>
{
{
"document", new Dictionary<string, object>
{
{"key", ServiceConverter.GenerateRevisionId(_Default.CurUserHostAddress(null)
+ "/" + Path.GetFileName(_Default.FileUri(fileName, true))
+ "/" + File.GetLastWriteTime(_Default.StoragePath(fileName, null)).GetHashCode())},
{"title", fileName},
{"url", DocEditor.getDownloadUrl(fileName)},
{"permissions", JsonConvert.DeserializeObject<Dictionary<string, object>>(permissions)},
{"directUrl", directUrl ? DocEditor.getDownloadUrl(fileName, false) : null},
{
"referenceData", new Dictionary<string, object>
{
{"fileKey", !user.id.Equals("uid-0") ?
jss.Serialize(new Dictionary<string, object>{
{"fileName", fileName},
{"userAddress", userAdress}
}) : null },
{"instanceId", _Default.GetServerUrl(false)}
}
}
}
},
{
"editorConfig", new Dictionary<string, object>
{
{"callbackUrl", callback},
{"mode", "edit"}
}
}
};
if (JwtManager.Enabled)
{
var token = JwtManager.Encode(config);
config.Add("token", token);
}
context.Response.Write(jss.Serialize(config));
}
catch (Exception e)
{
context.Response.Write("{ \"error\": \"" + e.Message + "\"}");
}
}
// delete a forgotten file from the document server
private static void RemoveForgotten(HttpContext context)
{

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -126,7 +126,7 @@ if (typeof jQuery != "undefined") {
if (!formatManager.isAutoConvertible(posExt)) {
jq("#step2").addClass("done").removeClass("current");
loadScripts();
onuploaded();
return;
}
@ -182,36 +182,16 @@ if (typeof jQuery != "undefined") {
if (response.step && response.step < 100) {
checkConvert(filePass, fileType);
} else {
jq("#uploadFileName").text(response.filename);
jq("#step2").addClass("done").removeClass("current");
loadScripts();
onuploaded();
}
}
});
}, 1000);
};
var loadScripts = function () {
if (!jq("#mainProgress").is(":visible")) {
return;
}
jq("#step3").addClass("current");
if (jq("#loadScripts").is(":empty")) {
var urlScripts = jq("#loadScripts").attr("data-docs");
var frame = '<iframe id="iframeScripts" width=1 height=1 style="position: absolute; visibility: hidden;" ></iframe>';
jq("#loadScripts").html(frame);
document.getElementById("iframeScripts").onload = onloadScripts;
jq("#loadScripts iframe").attr("src", urlScripts);
} else {
onloadScripts();
}
};
var onloadScripts = function () {
if (!jq("#mainProgress").is(":visible")) {
return;
}
jq("#step3").addClass("done").removeClass("current");
var onuploaded = function () {
jq("#beginView, #beginEmbedded").removeClass("disable");
var fileName = jq("#hiddenFileName").val();
@ -273,7 +253,7 @@ if (typeof jQuery != "undefined") {
jq(document).on("click", "#skipPass", function () {
jq("#blockPassword").hide();
loadScripts();
onuploaded();
});
jq(document).on("click", "#beginEdit:not(.disable)", function () {
@ -354,7 +334,7 @@ if (typeof jQuery != "undefined") {
}
jq("#hiddenFileName").val(fileName);
jq("#convertStep1").addClass("done");
jq("#convertStep1").addClass("error");
jq("#convertStep2").addClass("waiting");
});
@ -364,6 +344,7 @@ if (typeof jQuery != "undefined") {
let fileExt = jq(`#${id}`).attr("data");
jq(`#${id}`).addClass("orange");
jq("td[name='convertingTypeButton']").addClass("disable");
jq("#convertStep1").removeClass("error").addClass("done");
jq("#convertStep2").removeClass("waiting").removeClass("done").addClass("current");
jq("#convertStep2").text('2. File conversion');
jq("#convert-descr").removeClass("disable");
@ -415,14 +396,12 @@ if (typeof jQuery != "undefined") {
jq("#convertStep2").removeClass("current").addClass("done");
jq("#convertStep2").text(`2. File conversion to ${fileExt}`);
jq("#downloadConverted").removeClass("disable");
jq("#hiddenFileName").attr("data",response.filename);
if (response.error !== "FileTypeIsNotSupported") {
jq("#hiddenFileName").attr("data",response.filename);
jq("#beginEditConverted").removeClass("disable");
jq("#beginViewConverted").removeClass("disable");
jq("#downloadConverted").attr("data","fromStorage");
} else {
let newFilename = fileName.split('.').slice(0,-1).join('.')
jq("#hiddenFileName").attr("data",response.filename.split("&filename=download").join(`&filename=${newFilename}`));
jq("#downloadConverted").attr("data","fromConverter");
}
jq("td[name='convertingTypeButton']").removeClass("disable orange");

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<clear />
<add key="version" value="1.11.0"/>
<add key="version" value="1.14.0"/>
<add key="filesize-max" value="52428800"/>
<add key="storage-path" value=""/>
@ -14,14 +14,15 @@
<add key="files.docservice.verify-peer-off" value="true"/>
<add key="files.docservice.token.useforrequest" value="true" />
<add key="files.docservice.token.expires-in" value="5"/>
<add key="files.docservice.languages" value="en:English|ar:Arabic|hy:Armenian|az:Azerbaijani|eu:Basque|be:Belarusian|bg:Bulgarian|ca:Catalan|zh:Chinese (Simplified)|zh-TW:Chinese (Traditional)|cs:Czech|da:Danish|nl:Dutch|en-GB:English (United Kingdom)|fi:Finnish|fr:French|gl:Galego|de:German|el:Greek|he-IL:Hebrew (Israel)|hu:Hungarian|id:Indonesian|it:Italian|ja:Japanese|ko:Korean|lo:Lao|lv:Latvian|ms:Malay (Malaysia)|no:Norwegian|pl:Polish|pt:Portuguese (Brazil)|pt-PT:Portuguese (Portugal)|ro:Romanian|ru:Russian|sr-Cyrl-RS:Serbian (Cyrillic)|sr-Latn-RS:Serbian (Latin)|si:Sinhala (Sri Lanka)|sk:Slovak|sl:Slovenian|es:Spanish|sv:Swedish|tr:Turkish|uk:Ukrainian|vi:Vietnamese|aa-AA: Test Language"/>
<add key="files.docservice.languages" value="en:English|sq-AL:Albanian (Albania)|ar:Arabic|hy:Armenian|az:Azerbaijani|eu:Basque|be:Belarusian|bg:Bulgarian|ca:Catalan|zh:Chinese (Simplified)|zh-TW:Chinese (Traditional)|cs:Czech|da:Danish|nl:Dutch|en-GB:English (United Kingdom)|fi:Finnish|fr:French|gl:Galego|de:German|el:Greek|he-IL:Hebrew (Israel)|hu:Hungarian|id:Indonesian|it:Italian|ja:Japanese|ko:Korean|lo:Lao|lv:Latvian|ms:Malay (Malaysia)|no:Norwegian|pl:Polish|pt:Portuguese (Brazil)|pt-PT:Portuguese (Portugal)|ro:Romanian|ru:Russian|sr-Cyrl-RS:Serbian (Cyrillic)|sr-Latn-RS:Serbian (Latin)|si:Sinhala (Sri Lanka)|sk:Slovak|sl:Slovenian|es:Spanish|sv:Swedish|tr:Turkish|uk:Ukrainian|ur:Urdu|vi:Vietnamese|aa-AA: Test Language"/>
<add key="files.docservice.url.site" value="http://documentserver/"/>
<add key="files.docservice.url.converter" value="converter"/>
<add key="files.docservice.url.api" value="web-apps/apps/api/documents/api.js"/>
<add key="files.docservice.url.preloader" value="web-apps/apps/api/documents/cache-scripts.html"/>
<add key="files.docservice.url.preloader" value="web-apps/apps/api/documents/preload.html"/>
<add key="files.docservice.url.command" value="command"/>
<add key="files.docservice.url.example" value=""/>

View File

@ -4,6 +4,7 @@ linters:
- cyclop
- depguard
- dogsled
- durationcheck
- err113
- errchkjson
- execinquery

View File

@ -13,7 +13,7 @@ See the detailed guide to learn how to install Document Server [for Windows](htt
### Step 2. Download the Go code for the editors integration
Download the [Go example](https://api.onlyoffice.com/editors/demopreview) from our site.
Download the [Go example](https://api.onlyoffice.com/docs/docs-api/samples/language-specific-examples/) from our site.
To connect the editors to your website, specify the path to the editors installation, server protocol, address and port in the *configuration.env* file:
@ -31,7 +31,7 @@ JWT_HEADER=Authorization
where the **documentserver** is the name of the server with the ONLYOFFICE Document Server installed.
**address** is the address of the server, **port** is the server port.
If you want to experiment with the editor configuration, modify the [parameters](https://api.onlyoffice.com/editors/advanced) it the *templates/editor.html* file.
If you want to experiment with the editor configuration, modify the [parameters](https://api.onlyoffice.com/docs/docs-api/usage-api/advanced-parameters/) it the *templates/editor.html* file.
### Step 3. Install the prerequisites
To run the Go example code, install the Go compiler:
@ -48,7 +48,26 @@ export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:/usr/local/go/bin
```
### Step 5. Start the application
### Step 5. Configure JWT
Open the *config/configuration.json* file and enable JWT:
```
{
"JWT_IS_ENABLED" : true,
}
```
Also, [specify the same secret key](https://helpcenter.onlyoffice.com/installation/docs-configure-jwt.aspx) as used in your Document Server:
```
{
"JWT_SECRET" : "secret",
}
```
### Step 6. Start the application
1. Go to the project root.
2. Run:
@ -57,6 +76,6 @@ export PATH=$PATH:/usr/local/go/bin
```
3. In your browser go to **server.address** and **server.port**:
### Step 6. Check accessibility
### Step 7. Check accessibility
In case the example and Document Server are installed on different computers, make sure that your server with the example installed has access to the Document Server with the address which you specify instead of **documentserver** in the configuration files.

View File

@ -1,5 +1,5 @@
{
"VERSION": "1.11.0",
"VERSION": "1.14.0",
"SERVER_ADDRESS" : "",
"SERVER_PORT" : 3000,
@ -7,10 +7,11 @@
"DOC_SERVER_HOST" : "http://documentserver/",
"DOC_SERVER_CONVERTER_URL" : "converter",
"DOC_SERVER_API_URL" : "web-apps/apps/api/documents/api.js",
"DOC_SERVER_PRELOADER_URL" : "web-apps/apps/api/documents/cache-scripts.html",
"DOC_SERVER_PRELOADER_URL" : "web-apps/apps/api/documents/preload.html",
"DOC_SERVER_COMMAND_URL" : "command",
"JWT_IS_ENABLED" : false,
"JWT_EXPIRES_IN" : 5,
"JWT_SECRET" : "secret",
"JWT_HEADER" : "Authorization",
@ -23,6 +24,7 @@
"LANGUAGES": {
"en": "English",
"sq-AL": "Albanian (Albania)",
"ar": "Arabic",
"hy": "Armenian",
"az": "Azerbaijani",
@ -65,6 +67,7 @@
"sv": "Swedish",
"tr": "Turkish",
"uk": "Ukrainian",
"ur": "Urdu",
"vi": "Vietnamese",
"aa-AA": "Test Language"
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -29,4 +29,5 @@ type ExtensionTypes struct {
Presentation []string `json:"presentation"`
Document []string `json:"document"`
Pdf []string `json:"pdf"`
Diagram []string `json:"diagram"`
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,6 +20,7 @@ package config
import (
"path/filepath"
"runtime"
"time"
"github.com/ONLYOFFICE/document-server-integration/utils"
"github.com/spf13/viper"
@ -36,6 +37,7 @@ type ApplicationConfig struct {
DocumentServerPreloader string `mapstructure:"DOC_SERVER_PRELOADER_URL"`
DocumentServerCommandUrl string `mapstructure:"DOC_SERVER_COMMAND_URL"`
JwtEnabled bool `mapstructure:"JWT_IS_ENABLED"`
JwtExpiresIn time.Duration `mapstructure:"JWT_EXPIRES_IN"`
JwtHeader string `mapstructure:"JWT_HEADER"`
JwtSecret string `mapstructure:"JWT_SECRET"`
StoragePath string `mapstructure:"STORAGE_PATH"`
@ -91,6 +93,7 @@ func NewSpecification() (specification SpecificationConfig, err error) {
fm.GetPresentationExtensions(),
fm.GetDocumentExtensions(),
fm.GetPdfExtensions(),
fm.GetDiagramExtensions(),
}
specification = SpecificationConfig{
exts,

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -33,6 +33,7 @@ type FileOperationsEndpointsHandler interface {
}
type InfoEndpointsHandler interface {
Config(w http.ResponseWriter, r *http.Request)
Files(w http.ResponseWriter, r *http.Request)
Formats(w http.ResponseWriter, r *http.Request)
History(w http.ResponseWriter, r *http.Request)

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -0,0 +1,89 @@
/**
*
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package dapi
import (
"encoding/json"
"fmt"
"net/http"
"strings"
"time"
"github.com/ONLYOFFICE/document-server-integration/server/managers"
"github.com/ONLYOFFICE/document-server-integration/server/models"
"github.com/ONLYOFFICE/document-server-integration/server/shared"
"github.com/golang-jwt/jwt"
)
func (srv *DefaultServerEndpointsHandler) Config(w http.ResponseWriter, r *http.Request) {
filename := r.URL.Query().Get("fileName")
var permissions models.Permissions
err := json.Unmarshal([]byte(r.URL.Query().Get("permissions")), &permissions)
if err != nil {
shared.SendDocumentServerRespose(w, true)
return
}
path, err := srv.GenerateFilePath(filename)
if err != nil || filename == "" || !srv.PathExists(path) {
shared.SendCustomErrorResponse(w, "File not found")
return
}
remoteAddr := generateUrl(r)
docKey, err := srv.StorageManager.GenerateFileHash(filename)
if err != nil {
shared.SendDocumentServerRespose(w, true)
return
}
config := models.Config{
Document: models.Document{
Title: filename,
Url: srv.StorageManager.GeneratePublicFileUri(
filename, remoteAddr, managers.FileMeta{}),
Key: docKey,
Permissions: permissions,
ReferenceData: models.ReferenceData{
FileKey: fmt.Sprintf("{\"fileName\":\"%s\"}", filename),
InstanceId: remoteAddr,
},
},
EditorConfig: models.EditorConfig{
CallbackUrl: fmt.Sprintf(
"%s/callback?filename=%s&user_address=%s",
remoteAddr,
filename,
remoteAddr,
),
Mode: "edit",
},
StandardClaims: jwt.StandardClaims{
ExpiresAt: time.Now().Add(time.Minute * srv.config.JwtExpiresIn).Unix(),
IssuedAt: time.Now().Unix(),
},
}
secret := strings.TrimSpace(srv.config.JwtSecret)
if secret != "" && srv.config.JwtEnabled {
token, _ := srv.JwtManager.JwtSign(config, []byte(secret))
config.Token = token
}
shared.SendResponse(w, config)
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -79,7 +79,7 @@ func (srv *DefaultServerEndpointsHandler) Convert(w http.ResponseWriter, r *http
return
}
newUrl, newExt, err := srv.ConversionManager.GetConverterUri(fileUrl, fileExt, toExt, key, true)
newUrl, newExt, err := srv.ConversionManager.GetConverterUri(fileUrl, fileExt, toExt, key, true, filename)
if err != nil {
response.Error = err.Error()
srv.logger.Errorf("File conversion error: %s", err.Error())

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -96,6 +96,10 @@ func (srv *DefaultServerEndpointsHandler) Create(w http.ResponseWriter, r *http.
srv.logger.Errorf("meta creation error: %s", err.Error())
}
res := map[string]interface{}{
"file": correctName,
}
shared.SendResponse(w, res)
return
}

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

View File

@ -1,6 +1,6 @@
/**
*
* (c) Copyright Ascensio System SIA 2024
* (c) Copyright Ascensio System SIA 2025
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.

Some files were not shown because too many files have changed in this diff Show More