diff --git a/12.0/404.html b/12.0/404.html
index 1c3039d4..b25c7b9c 100644
--- a/12.0/404.html
+++ b/12.0/404.html
@@ -2114,7 +2114,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2123,6 +2123,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Full text search is not enabled by default to save system resources. If you want to enable it, you need to follow the instructions below.
- cd /data/haiwen/seafile-pro-server-1.7.0/
- ./seafile.sh restart
+Modify seafevents.conf
+Deploy in Docker Deploy from binary packages
+
+
+
cd /opt/seafile-data/seafile/conf
+nano seafevents.conf
-
You need to delete the existing search index and recreate it.
-
./pro/pro.py search --clear
- ./pro/pro.py search --update
+
+
+
cd /opt/seafile/conf
+nano seafevents.conf
+
+
+
+
set index_office_pdf to true
+
...
+[INDEX FILES]
+...
+index_office_pdf=true
+...
+
+
Restart Seafile server
+
Deploy in Docker Deploy from binary packages
+
+
+
docker exec -it seafile bash
+cd /scripts
+./seafile.sh restart
+
+# delete the existing search index and recreate it
+./pro/pro.py search --clear
+./pro/pro.py search --update
+
+
+
+
cd /opt/seafile/seafile-server-latest
+./seafile.sh restart
+
+# delete the existing search index and recreate it
+./pro/pro.py search --clear
+./pro/pro.py search --update
+
+
+
+
Common problems
How to rebuild the index if something went wrong
You can rebuild search index by running:
-
./pro/pro.py search --clear
-./pro/pro.py search --update
+Deploy in Docker Deploy from binary packages
+
+
+
docker exec -it seafile bash
+cd /scripts
+./pro/pro.py search --clear
+./pro/pro.py search --update
+
+
+
cd /opt/seafile/seafile-server-latest
+./pro/pro.py search --clear
+./pro/pro.py search --update
+
+
+
+
+
+
Tip
If this does not work, you can try the following steps:
Stop Seafile
@@ -4402,6 +4488,7 @@ repo_files_index_name = your-repo-files-index-name # default is `repofiles`
Restart Seafile
Wait one minute then run ./pro/pro.py search --update
+
Access the AWS elasticsearch service using HTTPS
@@ -4435,9 +4522,21 @@ repo_files_index_name = your-repo-files-index-name # default is `repofiles`
Make sure you have started Seafile Server
Update the search index manually:
-cd haiwen/seafile-pro-server-2.0.4
-./pro/pro.py search --update
+Deploy in Docker Deploy from binary packages
+
+
+
docker exec -it seafile bash
+cd /scripts
+./pro/pro.py search --update
+
+
+
cd /opt/seafile/seafile-server-latest
+./pro/pro.py search --update
+
+
+
+
Encrypted files cannot be searched
This is because the server cannot index encrypted files, since they are encrypted.
Increase the heap size for the java search process
@@ -4447,79 +4546,20 @@ repo_files_index_name = your-repo-files-index-name # default is `repofiles`
### It is recommended to set the values of the above two configurations to the same size.
Restart the seafile service to make the above changes take effect:
-./seafile.sh restart
-./seahub.sh restart
+Deploy in Docker Deploy from binary packages
+
+
+
-
Distributed indexing
-
If you use a cluster to deploy Seafile, you can use distributed indexing to realize real-time indexing and improve indexing efficiency. The indexing process is as follows:
-
-
Install redis and modify configuration files
-
First, install redis on all frontend nodes(If you use redis cloud service, skip this step and modify the configuration files directly):
-
For Ubuntu:
-
$ apt install redis-server
-
-
For CentOS:
-
-
Then, install python redis third-party package on all frontend nodes:
-
-
Next, modify the seafevents.conf on all frontend nodes, add the following config items:
-
[EVENTS PUBLISH]
-mq_type=redis # must be redis
-enabled=true
-
-[REDIS]
-server=127.0.0.1 # your redis server host
-port=6379 # your redis server port
-password=xxx # your redis server password, if not password, do not set this item
-
-
Next, modify the seafevents.conf on the backend node to disable the scheduled indexing task, because the scheduled indexing task and the distributed indexing task conflict.
-
[INDEX FILES]
-enabled=true
- |
- V
-enabled=false
-
-
Next, restart Seafile to make the configuration take effect:
-
$ ./seafile.sh restart && ./seahub.sh restart
-
-
Deploy distributed indexing
-
First, prepare a seafes master node and several seafes slave nodes, the number of slave nodes depends on your needs. Deploy Seafile on these nodes, and copy the configuration files in the conf directory from the frontend nodes. The master node and slave nodes do not need to start Seafile, but need to read the configuration files to obtain the necessary information.
-
Next, create a configuration file index-master.conf in the conf directory of the master node, e.g.
-
[DEFAULT]
-mq_type=redis # must be redis
-
-[REDIS]
-server=127.0.0.1 # your redis server host
-port=6379 # your redis server port
-password=xxx # your redis server password, if not password, do not set this item
-
-
Execute ./run_index_master.sh [start/stop/restart] in the seafile-server-last directory to control the program to start, stop and restart.
-
Next, create a configuration file index-slave.conf in the conf directory of all slave nodes, e.g.
-
[DEFAULT]
-mq_type=redis # must be redis
-index_workers=2 # number of threads to create/update indexes, you can increase this value according to your needs
-
-[REDIS]
-server=127.0.0.1 # your redis server host
-port=6379 # your redis server port
-password=xxx # your redis server password, if not password, do not set this item
-
-
Execute ./run_index_worker.sh [start/stop/restart] in the seafile-server-last directory to control the program to start, stop and restart.
-
-
Note
-
The index worker connects to backend storage directly. You don't need to run seaf-server in index worker node.
-
Some commands in distributed indexing
-
Rebuild search index, execute in the seafile-server-last directory:
-
$ ./pro/pro.py search --clear
-$ ./run_index_master.sh python-env index_op.py --mode resotre_all_repo
+
+
cd /opt/seafile/seafile-server-latest
+./seafile.sh restart
+./seahub.sh restart
-
List the number of indexing tasks currently remaining, execute in the seafile-server-last directory:
-
$ ./run_index_master.sh python-env index_op.py --mode show_all_task
-
-
The above commands need to be run on the master node.
+
+
+
diff --git a/12.0/config/env/index.html b/12.0/config/env/index.html
index df97a5ae..27b9ef87 100644
--- a/12.0/config/env/index.html
+++ b/12.0/config/env/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/index.html b/12.0/config/index.html
index b5d215cd..e2e8c815 100644
--- a/12.0/config/index.html
+++ b/12.0/config/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/ldap_in_11.0_ce/index.html b/12.0/config/ldap_in_11.0_ce/index.html
index e3ed5e4e..627f52fb 100644
--- a/12.0/config/ldap_in_11.0_ce/index.html
+++ b/12.0/config/ldap_in_11.0_ce/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/ldap_in_11.0_pro/index.html b/12.0/config/ldap_in_11.0_pro/index.html
index 9d6dedd7..da52fdd2 100644
--- a/12.0/config/ldap_in_11.0_pro/index.html
+++ b/12.0/config/ldap_in_11.0_pro/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/multi_institutions/index.html b/12.0/config/multi_institutions/index.html
index a31c4313..66ef9481 100644
--- a/12.0/config/multi_institutions/index.html
+++ b/12.0/config/multi_institutions/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/multi_tenancy/index.html b/12.0/config/multi_tenancy/index.html
index ee318a88..75376e85 100644
--- a/12.0/config/multi_tenancy/index.html
+++ b/12.0/config/multi_tenancy/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/oauth/index.html b/12.0/config/oauth/index.html
index 35806f27..0f3d2aa5 100644
--- a/12.0/config/oauth/index.html
+++ b/12.0/config/oauth/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/ocm/index.html b/12.0/config/ocm/index.html
index 5a94eeb1..3950c599 100644
--- a/12.0/config/ocm/index.html
+++ b/12.0/config/ocm/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/remote_user/index.html b/12.0/config/remote_user/index.html
index 46b02823..755a6bff 100644
--- a/12.0/config/remote_user/index.html
+++ b/12.0/config/remote_user/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/roles_permissions/index.html b/12.0/config/roles_permissions/index.html
index c8a5cd37..70c03232 100644
--- a/12.0/config/roles_permissions/index.html
+++ b/12.0/config/roles_permissions/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
@@ -4180,105 +4249,136 @@
Roles and Permissions Support
-You can add/edit roles and permission for users. A role is just a group of users with some pre-defined permissions, you can toggle user roles in user list page at admin panel.
+You can add/edit roles and permission for users. A role is just a group of users with some pre-defined permissions, you can toggle user roles in user list page at admin panel. For most permissions, the meaning can be easily obtained from the variable name. The following is a further detailed introduction to some variables.
+
+
role_quota is used to set quota for a certain role of users. For example, we can set the quota of employee to 100G by adding 'role_quota': '100g', and leave other role of users to the default quota.
-can_add_public_repo is to set whether a role can create a public library, default is "False".
+
+
+can_add_public_repo is to set whether a role can create a public library, default is False.
+
+
Since version 11.0.9 pro, can_share_repo is added to limit users' ability to share a library
+
The can_add_public_repo option will not take effect if you configure global CLOUD_MODE = True
-The storage_ids permission is used for assigning storage backends to users with specific role. More details can be found in multiple storage backends .
-Since version 10.0, upload_rate_limit and download_rate_limit are added to limit upload and download speed for users with different roles. After configured the rate limit, run the following command in the seafile-server-latest directory to make the configuration take effect :
-./seahub.sh python-env python3 seahub/manage.py set_user_role_upload_download_rate_limit
+
+
+storage_ids permission is used for assigning storage backends to users with specific role. More details can be found in multiple storage backends .
+
+
+upload_rate_limit and download_rate_limit are added to limit upload and download speed for users with different roles.
+
+
Note
+
After configured the rate limit, run the following command in the seafile-server-latest directory to make the configuration take effect:
+
./seahub.sh python-env python3 seahub/manage.py set_user_role_upload_download_rate_limit
-
Since version 11.0.9 pro, can_share_repo is added to limit users' ability to share a library.
+
+
+
Seafile comes with two build-in roles default and guest, a default user is a normal user with permissions as followings:
- 'default': {
- 'can_add_repo': True,
- 'can_share_repo': True,
- 'can_add_group': True,
- 'can_view_org': True,
- 'can_add_public_repo': False,
- 'can_use_global_address_book': True,
- 'can_generate_share_link': True,
- 'can_generate_upload_link': True,
- 'can_send_share_link_mail': True,
- 'can_invite_guest': False,
- 'can_connect_with_android_clients': True,
- 'can_connect_with_ios_clients': True,
- 'can_connect_with_desktop_clients': True,
- 'storage_ids': [],
- 'role_quota': '',
- 'can_publish_repo': True,
- 'upload_rate_limit': 0, # unit: kb/s
- 'download_rate_limit': 0,
- },
+
+
New in 12.0
+
+can_drag_drop_folder_to_sync: allow or deny user to sync folder by draging and droping
+can_export_files_via_mobile_client: allow or deny user to export files in using mobile client
+
+
+ 'default' : {
+ 'can_add_repo' : True ,
+ 'can_share_repo' : True ,
+ 'can_add_group' : True ,
+ 'can_view_org' : True ,
+ 'can_add_public_repo' : False ,
+ 'can_use_global_address_book' : True ,
+ 'can_generate_share_link' : True ,
+ 'can_generate_upload_link' : True ,
+ 'can_send_share_link_mail' : True ,
+ 'can_invite_guest' : False ,
+ 'can_drag_drop_folder_to_sync' : True ,
+ 'can_connect_with_android_clients' : True ,
+ 'can_connect_with_ios_clients' : True ,
+ 'can_connect_with_desktop_clients' : True ,
+ 'can_export_files_via_mobile_client' : True ,
+ 'storage_ids' : [],
+ 'role_quota' : '' ,
+ 'can_publish_repo' : True ,
+ 'upload_rate_limit' : 0 , # unit: kb/s
+ 'download_rate_limit' : 0 ,
+ },
While a guest user can only read files/folders in the system, here are the permissions for a guest user:
-
'guest': {
- 'can_add_repo': False,
- 'can_share_repo': False,
- 'can_add_group': False,
- 'can_view_org': False,
- 'can_add_public_repo': False,
- 'can_use_global_address_book': False,
- 'can_generate_share_link': False,
- 'can_generate_upload_link': False,
- 'can_send_share_link_mail': False,
- 'can_invite_guest': False,
- 'can_connect_with_android_clients': False,
- 'can_connect_with_ios_clients': False,
- 'can_connect_with_desktop_clients': False,
- 'storage_ids': [],
- 'role_quota': '',
- 'can_publish_repo': False,
- 'upload_rate_limit': 0,
- 'download_rate_limit': 0,
- },
+ 'guest' : {
+ 'can_add_repo' : False ,
+ 'can_share_repo' : False ,
+ 'can_add_group' : False ,
+ 'can_view_org' : False ,
+ 'can_add_public_repo' : False ,
+ 'can_use_global_address_book' : False ,
+ 'can_generate_share_link' : False ,
+ 'can_generate_upload_link' : False ,
+ 'can_send_share_link_mail' : False ,
+ 'can_invite_guest' : False ,
+ 'can_drag_drop_folder_to_sync' : False ,
+ 'can_connect_with_android_clients' : False ,
+ 'can_connect_with_ios_clients' : False ,
+ 'can_connect_with_desktop_clients' : False ,
+ 'can_export_files_via_mobile_client' : False ,
+ 'storage_ids' : [],
+ 'role_quota' : '' ,
+ 'can_publish_repo' : False ,
+ 'upload_rate_limit' : 0 ,
+ 'download_rate_limit' : 0 ,
+ },
Edit build-in roles
If you want to edit the permissions of build-in roles, e.g. default users can invite guest, guest users can view repos in organization, you can add following lines to seahub_settings.py with corresponding permissions set to True.
-ENABLED_ROLE_PERMISSIONS = {
- 'default': {
- 'can_add_repo': True,
- 'can_share_repo': True,
- 'can_add_group': True,
- 'can_view_org': True,
- 'can_add_public_repo': False,
- 'can_use_global_address_book': True,
- 'can_generate_share_link': True,
- 'can_generate_upload_link': True,
- 'can_send_share_link_mail': True,
- 'can_invite_guest': True,
- 'can_connect_with_android_clients': True,
- 'can_connect_with_ios_clients': True,
- 'can_connect_with_desktop_clients': True,
- 'storage_ids': [],
- 'role_quota': '',
- 'can_publish_repo': True,
- 'upload_rate_limit': 2000, # unit: kb/s
- 'download_rate_limit': 4000,
- },
- 'guest': {
- 'can_add_repo': False,
- 'can_share_repo': False,
- 'can_add_group': False,
- 'can_view_org': True,
- 'can_add_public_repo': False,
- 'can_use_global_address_book': False,
- 'can_generate_share_link': False,
- 'can_generate_upload_link': False,
- 'can_send_share_link_mail': False,
- 'can_invite_guest': False,
- 'can_connect_with_android_clients': False,
- 'can_connect_with_ios_clients': False,
- 'can_connect_with_desktop_clients': False,
- 'storage_ids': [],
- 'role_quota': '',
- 'can_publish_repo': False,
- 'upload_rate_limit': 100,
- 'download_rate_limit': 200,
- }
-}
+ENABLED_ROLE_PERMISSIONS = {
+ 'default' : {
+ 'can_add_repo' : True ,
+ 'can_share_repo' : True ,
+ 'can_add_group' : True ,
+ 'can_view_org' : True ,
+ 'can_add_public_repo' : False ,
+ 'can_use_global_address_book' : True ,
+ 'can_generate_share_link' : True ,
+ 'can_generate_upload_link' : True ,
+ 'can_send_share_link_mail' : True ,
+ 'can_invite_guest' : False ,
+ 'can_drag_drop_folder_to_sync' : True ,
+ 'can_connect_with_android_clients' : True ,
+ 'can_connect_with_ios_clients' : True ,
+ 'can_connect_with_desktop_clients' : True ,
+ 'can_export_files_via_mobile_client' : True ,
+ 'storage_ids' : [],
+ 'role_quota' : '' ,
+ 'can_publish_repo' : True ,
+ 'upload_rate_limit' : 2000 , # unit: kb/s
+ 'download_rate_limit' : 4000 ,
+ },
+ 'guest' : {
+ 'can_add_repo' : False ,
+ 'can_share_repo' : False ,
+ 'can_add_group' : False ,
+ 'can_view_org' : False ,
+ 'can_add_public_repo' : False ,
+ 'can_use_global_address_book' : False ,
+ 'can_generate_share_link' : False ,
+ 'can_generate_upload_link' : False ,
+ 'can_send_share_link_mail' : False ,
+ 'can_invite_guest' : False ,
+ 'can_drag_drop_folder_to_sync' : False ,
+ 'can_connect_with_android_clients' : False ,
+ 'can_connect_with_ios_clients' : False ,
+ 'can_connect_with_desktop_clients' : False ,
+ 'can_export_files_via_mobile_client' : False ,
+ 'storage_ids' : [],
+ 'role_quota' : '' ,
+ 'can_publish_repo' : False ,
+ 'upload_rate_limit' : 100 ,
+ 'download_rate_limit' : 200 ,
+ }
+}
More about guest invitation feature
An user who has can_invite_guest permission can invite people outside of the organization as guest.
@@ -4299,68 +4399,74 @@ INVITATIONS_TOKEN_AGE = 72 # hours
Add custom roles
If you want to add a new role and assign some users with this role, e.g. new role employee can invite guest and can create public library and have all other permissions a default user has, you can add following lines to seahub_settings.py
-ENABLED_ROLE_PERMISSIONS = {
- 'default': {
- 'can_add_repo': True,
- 'can_share_repo': True,
- 'can_add_group': True,
- 'can_view_org': True,
- 'can_add_public_repo': False,
- 'can_use_global_address_book': True,
- 'can_generate_share_link': True,
- 'can_generate_upload_link': True,
- 'can_send_share_link_mail': True,
- 'can_invite_guest': False,
- 'can_connect_with_android_clients': True,
- 'can_connect_with_ios_clients': True,
- 'can_connect_with_desktop_clients': True,
- 'storage_ids': [],
- 'role_quota': '',
- 'can_publish_repo': True,
- 'upload_rate_limit': 2000, # unit: kb/s
- 'download_rate_limit': 4000,
- },
- 'guest': {
- 'can_add_repo': False,
- 'can_share_repo': False,
- 'can_add_group': False,
- 'can_view_org': False,
- 'can_add_public_repo': False,
- 'can_use_global_address_book': False,
- 'can_generate_share_link': False,
- 'can_generate_upload_link': False,
- 'can_send_share_link_mail': False,
- 'can_invite_guest': False,
- 'can_connect_with_android_clients': False,
- 'can_connect_with_ios_clients': False,
- 'can_connect_with_desktop_clients': False,
- 'storage_ids': [],
- 'role_quota': '',
- 'can_publish_repo': False,
- 'upload_rate_limit': 100,
- 'download_rate_limit': 200,
- },
- 'employee': {
- 'can_add_repo': True,
- 'can_share_repo': True,
- 'can_add_group': True,
- 'can_view_org': True,
- 'can_add_public_repo': True,
- 'can_use_global_address_book': True,
- 'can_generate_share_link': True,
- 'can_generate_upload_link': True,
- 'can_send_share_link_mail': True,
- 'can_invite_guest': True,
- 'can_connect_with_android_clients': True,
- 'can_connect_with_ios_clients': True,
- 'can_connect_with_desktop_clients': True,
- 'storage_ids': [],
- 'role_quota': '',
- 'can_publish_repo': True,
- 'upload_rate_limit': 500,
- 'download_rate_limit': 800,
- },
-}
+ENABLED_ROLE_PERMISSIONS = {
+ 'default' : {
+ 'can_add_repo' : True ,
+ 'can_share_repo' : True ,
+ 'can_add_group' : True ,
+ 'can_view_org' : True ,
+ 'can_add_public_repo' : False ,
+ 'can_use_global_address_book' : True ,
+ 'can_generate_share_link' : True ,
+ 'can_generate_upload_link' : True ,
+ 'can_send_share_link_mail' : True ,
+ 'can_invite_guest' : False ,
+ 'can_drag_drop_folder_to_sync' : True ,
+ 'can_connect_with_android_clients' : True ,
+ 'can_connect_with_ios_clients' : True ,
+ 'can_connect_with_desktop_clients' : True ,
+ 'can_export_files_via_mobile_client' : True ,
+ 'storage_ids' : [],
+ 'role_quota' : '' ,
+ 'can_publish_repo' : True ,
+ 'upload_rate_limit' : 2000 , # unit: kb/s
+ 'download_rate_limit' : 4000 ,
+ },
+ 'guest' : {
+ 'can_add_repo' : False ,
+ 'can_share_repo' : False ,
+ 'can_add_group' : False ,
+ 'can_view_org' : False ,
+ 'can_add_public_repo' : False ,
+ 'can_use_global_address_book' : False ,
+ 'can_generate_share_link' : False ,
+ 'can_generate_upload_link' : False ,
+ 'can_send_share_link_mail' : False ,
+ 'can_invite_guest' : False ,
+ 'can_drag_drop_folder_to_sync' : False ,
+ 'can_connect_with_android_clients' : False ,
+ 'can_connect_with_ios_clients' : False ,
+ 'can_connect_with_desktop_clients' : False ,
+ 'can_export_files_via_mobile_client' : False ,
+ 'storage_ids' : [],
+ 'role_quota' : '' ,
+ 'can_publish_repo' : False ,
+ 'upload_rate_limit' : 100 ,
+ 'download_rate_limit' : 200 ,
+ },
+ 'employee' : {
+ 'can_add_repo' : True ,
+ 'can_share_repo' : True ,
+ 'can_add_group' : True ,
+ 'can_view_org' : True ,
+ 'can_add_public_repo' : True ,
+ 'can_use_global_address_book' : True ,
+ 'can_generate_share_link' : True ,
+ 'can_generate_upload_link' : True ,
+ 'can_send_share_link_mail' : True ,
+ 'can_invite_guest' : True ,
+ 'can_drag_drop_folder_to_sync' : True ,
+ 'can_connect_with_android_clients' : True ,
+ 'can_connect_with_ios_clients' : True ,
+ 'can_connect_with_desktop_clients' : True ,
+ 'can_export_files_via_mobile_client' : True ,
+ 'storage_ids' : [],
+ 'role_quota' : '' ,
+ 'can_publish_repo' : True ,
+ 'upload_rate_limit' : 500 ,
+ 'download_rate_limit' : 800 ,
+ },
+}
diff --git a/12.0/config/saml2_in_10.0/index.html b/12.0/config/saml2_in_10.0/index.html
index 7175de76..d6738a87 100644
--- a/12.0/config/saml2_in_10.0/index.html
+++ b/12.0/config/saml2_in_10.0/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/seafevents-conf/index.html b/12.0/config/seafevents-conf/index.html
index dd4fc01d..21785cbf 100644
--- a/12.0/config/seafevents-conf/index.html
+++ b/12.0/config/seafevents-conf/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/seafile-conf/index.html b/12.0/config/seafile-conf/index.html
index b6b2a606..a79833cc 100644
--- a/12.0/config/seafile-conf/index.html
+++ b/12.0/config/seafile-conf/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/seahub_customization/index.html b/12.0/config/seahub_customization/index.html
index 47f0c227..0de80e76 100644
--- a/12.0/config/seahub_customization/index.html
+++ b/12.0/config/seahub_customization/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
@@ -4287,7 +4356,19 @@
Seahub customization
Customize Seahub Logo and CSS
-Create a folder <seafile-install-path>/seahub-data/custom. Create a symbolic link in seafile-server-latest/seahub/media by ln -s ../../../seahub-data/custom custom.
+Create customize folder
+Deploy in Docker Deploy from binary packages
+
+
+
mkdir -p /opt/seafile-data/seahub/media/custom
+
+
+
+
mkdir /opt/seafile/seafile-server-latest/seahub/media/custom
+
+
+
+
During upgrading, Seafile upgrade script will create symbolic link automatically to preserve your customization.
Customize Logo
Add your logo file to custom/
@@ -4301,23 +4382,30 @@
Customize Favicon
Add your favicon file to custom/
Overwrite FAVICON_PATH in seahub_settings.py
-FAVICON_PATH = 'custom/favicon.png'
+LOGO_PATH = 'custom/favicon.png'
Customize Seahub CSS
Add your css file to custom/, for example, custom.css
Overwrite BRANDING_CSS in seahub_settings.py
-BRANDING_CSS = 'custom/custom.css'
+LOGO_PATH = 'custom/custom.css'
Customize help page
-Note: Since version 2.1.
-First go to the custom folder
-cd <seafile-install-path>/seahub-data/custom
+Deploy in Docker Deploy from binary packages
+
+
+
mkdir -p /opt/seafile-data/seahub/media/custom/templates/help/
+cd /opt/seafile-data/seahub/media/custom
+cp ../../help/templates/help/install.html templates/help/
-
then run the following commands
-
mkdir templates
-mkdir templates/help
-cp ../../seafile-server-latest/seahub/seahub/help/templates/help/install.html templates/help/
+
+
+
mkdir /opt/seafile/seafile-server-latest/seahub/media/custom/templates/help/
+cd /opt/seafile/seafile-server-latest/seahub/media/custom
+cp ../../help/templates/help/install.html templates/help/
+
+
+
Modify the templates/help/install.html file and save it. You will see the new help page.
You can add an extra note in sharing dialog in seahub_settings.py
@@ -4345,7 +4433,10 @@ cp ../../seafile-server-latest/seahub/seahub/help/templates/help/install.html te
},
]
-**Note: The icon field currently only supports icons in Seafile that begin with sf2-icon. You can find the list of icons here:
+
+
Note
+
The icon field currently only supports icons in Seafile that begin with sf2-icon. You can find the list of icons here:
+
Then restart the Seahub service to take effect.
Once you log in to the Seafile system homepage again, you will see the new navigation entry under the Tools navigation bar on the left.
Add more links to the bottom bar
diff --git a/12.0/config/seahub_settings_py/index.html b/12.0/config/seahub_settings_py/index.html
index 03ac420e..60d4b352 100644
--- a/12.0/config/seahub_settings_py/index.html
+++ b/12.0/config/seahub_settings_py/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
@@ -2975,30 +3044,6 @@
-
-
-
-
@@ -4241,30 +4286,6 @@
-
-
-
-
@@ -4384,7 +4405,9 @@
Refer to email sending documentation .
Cache
Seahub caches items(avatars, profiles, etc) on file system by default(/tmp/seahub_cache/). You can replace with Memcached or Redis.
-Memcached
+Memcached Redis
+
+
# on Debian/Ubuntu 18.04+
apt-get install memcached libmemcached-dev -y
pip3 install --timeout=3600 pylibmc django-pylibmc
@@ -4399,9 +4422,22 @@ systemctl enable --now memcached
},
}
-
Redis
-
Redis support is added in version 11.0.
+
+
+
+
Security settings
# For security consideration, please set to match the host/domain of your site, e.g., ALLOWED_HOSTS = ['.example.com'].
# Please refer https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts for details.
@@ -4837,14 +4873,27 @@ def custom_get_groups(request):
You should NOT change the name of custom_get_groups and seahub_custom_functions/__init__.py
-
-
Success
+
+
Tip
You need to restart seahub so that your changes take effect.
+
+
Deploy in Docker Deploy from binary packages
+
+
+
+
cd /opt/seafile/seafile-server-latest
+./seahub.sh restart
+
+
+
+
+
If your changes don't take effect, You may need to delete 'seahub_setting.pyc'. (A cache file)
-
diff --git a/12.0/config/sending_email/index.html b/12.0/config/sending_email/index.html
index 024cfcd3..a8a39bbc 100644
--- a/12.0/config/sending_email/index.html
+++ b/12.0/config/sending_email/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/shibboleth_authentication/index.html b/12.0/config/shibboleth_authentication/index.html
index 2231eef8..90747a11 100644
--- a/12.0/config/shibboleth_authentication/index.html
+++ b/12.0/config/shibboleth_authentication/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/config/single_sign_on/index.html b/12.0/config/single_sign_on/index.html
index c77a6793..e6c30037 100644
--- a/12.0/config/single_sign_on/index.html
+++ b/12.0/config/single_sign_on/index.html
@@ -2131,7 +2131,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2140,6 +2140,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/build_seafile/index.html b/12.0/develop/build_seafile/index.html
index c89fc2c5..141693d3 100644
--- a/12.0/develop/build_seafile/index.html
+++ b/12.0/develop/build_seafile/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/data_model/index.html b/12.0/develop/data_model/index.html
index 20e1940a..0d4f4b58 100644
--- a/12.0/develop/data_model/index.html
+++ b/12.0/develop/data_model/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/index.html b/12.0/develop/index.html
index fec510a8..d714df00 100644
--- a/12.0/develop/index.html
+++ b/12.0/develop/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/linux/index.html b/12.0/develop/linux/index.html
index ac98353e..1c8c6263 100644
--- a/12.0/develop/linux/index.html
+++ b/12.0/develop/linux/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/osx/index.html b/12.0/develop/osx/index.html
index 9d122698..3bd4a81e 100644
--- a/12.0/develop/osx/index.html
+++ b/12.0/develop/osx/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/rpi/index.html b/12.0/develop/rpi/index.html
index c928ccad..5a29a038 100644
--- a/12.0/develop/rpi/index.html
+++ b/12.0/develop/rpi/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/server/index.html b/12.0/develop/server/index.html
index 2a2944ff..5a8aca30 100644
--- a/12.0/develop/server/index.html
+++ b/12.0/develop/server/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/translation/index.html b/12.0/develop/translation/index.html
index f1e3feb5..8b4bf86b 100644
--- a/12.0/develop/translation/index.html
+++ b/12.0/develop/translation/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/web_api_v2.1/index.html b/12.0/develop/web_api_v2.1/index.html
index 83075b16..6cb4be85 100644
--- a/12.0/develop/web_api_v2.1/index.html
+++ b/12.0/develop/web_api_v2.1/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/develop/windows/index.html b/12.0/develop/windows/index.html
index 4e8f85ab..d997d675 100644
--- a/12.0/develop/windows/index.html
+++ b/12.0/develop/windows/index.html
@@ -2127,7 +2127,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2136,6 +2136,75 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/extension/distributed_indexing/index.html b/12.0/extension/distributed_indexing/index.html
new file mode 100644
index 00000000..4999d7f9
--- /dev/null
+++ b/12.0/extension/distributed_indexing/index.html
@@ -0,0 +1,4556 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Distributed indexing - Seafile Admin Manual
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Distributed indexing
+If you use a cluster to deploy Seafile, you can use distributed indexing to realize real-time indexing and improve indexing efficiency. The indexing process is as follows:
+
+Install redis and modify configuration files
+1. Install redis on all frontend nodes
+
+
Tip
+
If you use redis cloud service, skip this step and modify the configuration files directly
+
+Ubuntu CentOS
+
+
+
$ apt install redis-server
+
+
+
+
+
+2. Install python redis third-party package on all frontend nodes
+
+3. Modify the seafevents.conf on all frontend nodes
+Add the following config items
+[EVENTS PUBLISH]
+mq_type=redis # must be redis
+enabled=true
+
+[REDIS]
+server=127.0.0.1 # your redis server host
+port=6379 # your redis server port
+password=xxx # your redis server password, if not password, do not set this item
+
+4. Modify the seafevents.conf on the backend node
+Disable the scheduled indexing task, because the scheduled indexing task and the distributed indexing task conflict.
+[INDEX FILES]
+enabled=true
+ |
+ V
+enabled=false
+
+5. Restart Seafile
+Deploy in Docker Deploy from binary packages
+
+
+
docker exec -it seafile bash
+cd /scripts
+./seafile.sh restart && ./seahub.sh restart
+
+
+
+
cd /opt/seafile/seafile-server-latest
+./seafile.sh restart && ./seahub.sh restart
+
+
+
+
+Deploy distributed indexing
+First, prepare a seafes master node and several seafes slave nodes, the number of slave nodes depends on your needs. Deploy Seafile on these nodes, and copy the configuration files in the conf directory from the frontend nodes. The master node and slave nodes do not need to start Seafile, but need to read the configuration files to obtain the necessary information.
+Next, create a configuration file index-master.conf in the conf directory of the master node, e.g.
+[DEFAULT]
+mq_type=redis # must be redis
+
+[REDIS]
+server=127.0.0.1 # your redis server host
+port=6379 # your redis server port
+password=xxx # your redis server password, if not password, do not set this item
+
+Execute ./run_index_master.sh [start/stop/restart] in the seafile-server-last directory (or /scripts inner the Seafile-docker container) to control the program to start, stop and restart.
+Next, create a configuration file index-slave.conf in the conf directory of all slave nodes, e.g.
+[DEFAULT]
+mq_type=redis # must be redis
+index_workers=2 # number of threads to create/update indexes, you can increase this value according to your needs
+
+[REDIS]
+server=127.0.0.1 # your redis server host
+port=6379 # your redis server port
+password=xxx # your redis server password, if not password, do not set this item
+
+Execute ./run_index_worker.sh [start/stop/restart] in the seafile-server-last directory (or /scripts inner the Seafile-docker container) to control the program to start, stop and restart.
+
+
Note
+
The index worker connects to backend storage directly. You don't need to run seaf-server in index worker node.
+
+Some commands in distributed indexing
+Rebuild search index, execute in the seafile-server-last directory (or /scripts inner the Seafile-docker container):
+$ ./pro/pro.py search --clear
+$ ./run_index_master.sh python-env index_op.py --mode resotre_all_repo
+
+List the number of indexing tasks currently remaining, execute in the seafile-server-last directory (or /scripts inner the Seafile-docker container):
+$ ./run_index_master.sh python-env index_op.py --mode show_all_task
+
+The above commands need to be run on the master node.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Back to top
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/12.0/extension/fuse/index.html b/12.0/extension/fuse/index.html
index 4247e33c..a800fa87 100644
--- a/12.0/extension/fuse/index.html
+++ b/12.0/extension/fuse/index.html
@@ -2218,7 +2218,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2227,6 +2227,78 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/extension/libreoffice_online/index.html b/12.0/extension/libreoffice_online/index.html
index dfcf8051..6d0c19d8 100644
--- a/12.0/extension/libreoffice_online/index.html
+++ b/12.0/extension/libreoffice_online/index.html
@@ -2245,7 +2245,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2254,6 +2254,78 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/extension/notification-server/index.html b/12.0/extension/notification-server/index.html
index a617a98f..79e5f098 100644
--- a/12.0/extension/notification-server/index.html
+++ b/12.0/extension/notification-server/index.html
@@ -2230,7 +2230,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2239,6 +2239,78 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
diff --git a/12.0/extension/office_web_app/index.html b/12.0/extension/office_web_app/index.html
index 26d5ae5a..6104747f 100644
--- a/12.0/extension/office_web_app/index.html
+++ b/12.0/extension/office_web_app/index.html
@@ -16,7 +16,7 @@
-
+
@@ -2194,7 +2194,7 @@
- Virus Scan (Pro)
+ Cluster
@@ -2203,6 +2203,78 @@
+
+ Cluster
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Virus Scan (Pro)
+
+
+
+
+
+
+
+
Virus Scan (Pro)
@@ -4252,13 +4324,13 @@
-