Seafile Server Professional Edition 7.1: Preparing the foundation for the next development stage

We are pleased to officially release Seafile Server Professional Edition 7.1. The Community Edition of Seafile 7.1 was released on 2020-03-26.

Seafile 7.1 brings to an end a major upgrade of its code-basis. The ambition was to create a rock-solid, high performance platform for Seafile’s development in the years to come. The first step of this undertaking was accomplished roughly 12 months ago with the release of Seafile 7.0. The user-part of Seafile’s frontend was recoded in React, a JavaScript library developed from dynamic websites. Seafile 7.1 completes the job begun. The system administration in Seahub is now also written in React. But the recoding of the frontend is only one part of the code-basis upgrade! Under the hood, Python 2, which reached end of life at the beginning of 2020, was completely replaced by Python 3 code. We think we delivered on our ambition.

Our developers haven’t busied themselves with recoding though. We have also added some new and interesting features to this release. We present the most important ones here; for a complete list, check the changelog.

Easy integration of Seafile and third party programs (CE + PE)

You can now generate API tokens for a library and integrate Seafile with third party programs. In the old version, you need to create an access token using a user email and password. The access token can do anything the user can do. The new API token restricts the access to a single library, which is more secure and more convenient to manage.

You can find the API documents for using the library token here Library API Tokens - web-api

Guest invitation plus (PE)

The more intensive the collaboration with external partners gets, the less fitting exchanging data by sharing links becomes. As a guest, an external party has a user account and can use the web interface as well as the clients – within the limits of the restricted guest role. In Seafile 7.1, sharing with guests has become a lot smoother as a guest invitation and a library share can be made in one go. With the acceptance of the invitation, the guest is granted access to the shared library. In previous versions of Seafile, a library share could only be made after the acceptance of the invitation.

Improved document handling (CE + PE)

New features in Seafile 7.1 also make the handling of documents more straighforward, more comfortable, and more secure. Seahub’s PDF-preview now offers various zoom levels to be changed by the click of a zoom-in and a zoom-out button. Taking Markdown files into the analog world – on paper – is also much improved. When using the browser’s print function, the resulting document shows only the MD-file’s content with the proper formating. Finally, beginning with Seafile 7.1, the integration of Seafile and ONLYOFFICE supports JSON web tokens which prevent the substitution of important parameters in ONLYOFFICE Document Server.

Installation and upgrade

While Seafile 7.1’s installation procedure has not changed compared to earlier versions, the upgrade from Seafile 7.0 is a bit more complicated than usual due to the migration to Python 3. The upgrade notes guide you through the process.

The Professional Edition is available for download in our Customer Center, the installation packages for Debian/Ubuntu and CentOS can be downloaded from our download site. Docker images for both Seafile editions will also be available soon.

The lifetime and supported OS for CE and PE are shown in the following table:

6 Likes

Thanks @daniel.pan

there is no pro edition in 7.1.3 in download link …
Or I am blind (what is possible: p)

@daniel.pan
Hi
can the seafile-pro-server_7.1.3_x86-64_Ubuntu.tar.gz version be used with debian 10?

thank you

The uploading script uploaded the files to the top folder. It is fixed now.

Yes, the ubuntu build version can be used with Debian 10

1 Like

Maybe you want add the exact Python3 version required (Internal Server Error 7.1.3 at least 3.6?) to the upgrade notes, since 3.5 (the Ubuntu 16 default) is not supported. :slight_smile:

Edit: Maybe pyenv (Server >> 7.0.5 with Debian 9?) might be an (easy) solution in this case…?

Update;
Well turns out the password has a %…
And that’s not allowed. So removing that fixed it.

Could be me but upgrading from 7.0.16 failed.
CentOS 7.7, MySQL (MariaDB 10.4)

Errorlog
[seafile@seafile seafile-pro-server-7.1.3]$ upgrade/upgrade_7.0_7.1.sh

-------------------------------------------------------------
This script would upgrade your seafile server from 7.0 to 7.1
Press [ENTER] to contiune
-------------------------------------------------------------



renaming the gunicorn.conf to gunicorn.conf.py ...

Done

Updating seafile/seahub database ...

Traceback (most recent call last):
  File "/home/seafile/seafile-pro-server-7.1.3/upgrade/db_update_helper.py", line 386, in <module>
    main()
  File "/home/seafile/seafile-pro-server-7.1.3/upgrade/db_update_helper.py", line 380, in main
    db_updater = DBUpdater.get_instance(version)
  File "/home/seafile/seafile-pro-server-7.1.3/upgrade/db_update_helper.py", line 86, in get_instance
    ccnet_db_info = DBUpdater.get_ccnet_mysql_info(version)
  File "/home/seafile/seafile-pro-server-7.1.3/upgrade/db_update_helper.py", line 164, in get_ccnet_mysql_info
    password = config.get(db_section, 'PASSWD')
  File "/usr/lib64/python3.6/configparser.py", line 800, in get
    d)
  File "/usr/lib64/python3.6/configparser.py", line 394, in before_get
    self._interpolate_some(parser, option, L, value, section, defaults, 1)
  File "/usr/lib64/python3.6/configparser.py", line 444, in _interpolate_some
    "found: %r" % (rest,))
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%hWgsvvmt'

Failed to upgrade your database

Any news about 7.1 Pro Docker version? :stuck_out_tongue:

It will be available in the next week.

Hi, we’re running Pro 7.0.10 on Scientific Linux (CentOS) 7.7. Can we upgrade to 7.1 on that version? Some of the required Python packages (python3-ldap) are not available on 7.7. It also seems, that Pro 7.0.10 can not be installed on CentOS 8, right? So, how do we manage to upgrade our servers?

Thanks,
Dirk

When we test with CentOS, we use CentOS 7.5. python3-ldap can be installed. What error do you have?

Hi Daniel, I don’t have any errors. I tried to install python3-ldap on SL7.7, but the package is not available. On CentOS8 it is. So I’m wondering how I should do the upgrade:

  1. Trying to upgrade to Seafile 7.1 on SL 7.7 and then moving to CentOS 8, or
  2. Installing Seafile 7.0.10 on CentOS8 and then upgrading to Seafile 7.1

In either way I have to install new machines with CentOS8 and move my Seafile installation to them.

Hi,

You can install it via pip3, which should not depend on the operating system. Please check the screenshot below:

Anyway, python3-ldap is not needed to run the system, it is only needed when syncing LDAP users in background. You can upgrade to 7.1 in CentOS 7, then migrate to CentOS 8.

Thanks for the hint. I will try this :+1:

I could successfully upgrade my test server to Pro 7.1 under SL 7.7. Sorry for the confusion. I read the installation instruction, where is written:

# on CentOS 8
yum install python3 python3-setuptools python3-pip python3-ldap -y

This doesn’t work under SL 7.7. But the “pip3 install” works, as is described in the upgrade document.

I currently run Seafile Pro 7.1.1 (beta) on Arch, for syncing my masses of documents.

With the upgrade to 7.1.3, it seems the generic Linux build has vanished… I’d prefer not to reinstall my server PC, and I don’t mind dealing with potential instabilities, but I’m not exactly sure which variant to use now - Ubuntu or CentOS?

Cheers,
Zach

We have updated the document.

The package with CentOS suffix is the original general one. You can use this version.

Could you ever have plays of making some sort of white labeling for clients, along with some sort of user type that doesn’t eat up a license?

The Office Preview functionality seems not to work out of the box:

not sure if for the preview some special settings are needed. I just gave it a try.

This is my installation string: