Seafile server 6.3 is ready for testing! A WYSIWYG Markdown editor and more

Introduction

The major new feature in Seafile CE 6.3 is a WYSIWYG Markdown editor.

The most two missing features when we edit markdown files in Seafile (also for most other Markdown editors) are table editing and images inserting.

The new editor enables you to edit tables in a WYSIWYG manner.

You can also easily insert images to the document dragging image files to the editor or by paste the images in your clipboard.

Links to other files in the same library can also be easily added by drag and drop.

The editor also support markdown shortcuts. For example, * + space at the beginning of a line will insert a list.

Implementation details

The old Markdown editor is not a WYSIWYG editor. It also has some bugs not easy to fix and is limited for extension.

So far, there is no good open source WYSIWYG Markdown available. So we decided to develop one to replace the old Markdown editor used in Seafile.

The new editor can come true thanks to the advance in Web technologies these years. The new editor is based on the Slate.js, which is an extensible core for online editors. It has a clean document model. The document is then rendered to HTML with the React technology. In this way, it is much easier to write a correct and safe editor.

Django upgrade

The other major change is the upgrade of Django to 1.11. Django 1.8, which is used in version 6.2, was deprecated in 2018 April.

With this upgrade, the fast-cgi mode is no longer supported. You need to config Seafile behind Nginx/Apache in WSGI mode.

UI Improvement

This version also introduces a redesign of the navigation bar.

The buttons are put to the top bar, making the navigation bar and the place of buttons more consistent across pages.

Changelog

  • UI Improvements: moving buttons to top bar, improve scrolling in file/library list
  • Update Django to 1.11, remove fast-cgi support
  • Update jQuery to version 3.3.1
  • Update pdf.js
  • Add invite people link to share dialog if the feature is enabled
  • Remove login log after delete a user
  • [admin] Support customize site title, site name, CSS via Web UI
  • [beta] Wiki, users can create public wikis
  • Add an option to define the listening address for WSGI mode
  • [fix] Fix a bug that causing seaf-fsck crash
  • [fix] Fix support for uploading folder via ‘Cloud file browser’
  • [fix] Cancel Zip download task at the server side when user close zip download dialog
8 Likes

Great, thx!

This version also introduces a redesign of the navigation bar.

btw: Would be more convincing to merge “Shared with all” and “Shared with groups”. The current listing structure of shared libraries is mixing to aspects: The “direction” of shares and “targets of shares”. More logical in my opninion:

  • Shared with me (listing all shares I’m not the owner of)
  • Shared by me (listing all shares I am the owner of, instead of separating “all” and “groups” this information could just be listed in another column of the opened share list)

Thx for Seafile CE!

Hi @daniel.pan
Unfortunately, an error occurred during the update:

seafile@myserver:~/seafile-server-6.3.0/upgrade$ ./upgrade_6.2_6.3.sh 

-------------------------------------------------------------
This script would upgrade your seafile server from 6.2 to 6.3
Press [ENTER] to contiune
-------------------------------------------------------------



Updating seafile/seahub database ...

[INFO] You are using MySQL
[INFO] updating ccnet database...
[INFO] updating seafile database...
[INFO] updating seahub database...
[ERROR] Failed to execute sql: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `slug` (`slug`),\n  UNIQUE KEY `' at line 8")

Failed to upgrade your database

I tried to upgrade from version 6.2.5. That’s the mySQL-Version:

seafile@myserevr:~/seafile-server-6.3.0/upgrade$ mysql -V
mysql  Ver 14.14 Distrib 5.5.60, for debian-linux-gnu (x86_64) using deadline 6.3

There seems to be a problem creating the table “wiki-wiki”, see “~/seafile-server-6.3.0/upgrade/sql/6.3.0/mysql/seahub.sql”.

Is anyone good in MySQl and finds the error?

 CREATE TABLE IF NOT EXISTS `wiki_wiki` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `username` varchar(255) NOT NULL,
   `name` varchar(255) NOT NULL,
   `slug` varchar(255) NOT NULL,
   `repo_id` varchar(36) NOT NULL,
   `permission` varchar(50) NOT NULL,
   `created_at` datetime(6) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `slug` (`slug`),
   UNIQUE KEY `wiki_wiki_username_3c0f83e1b93de663_uniq` (`username`,`repo_id`),
   KEY `wiki_wiki_fde81f11` (`created_at`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

I suspect this to be the problem:
created_at datetime(6)

https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html#data-types-storage-reqs-innodb

Date and Time Type Storage Requirements
DATETIME
Storage Required Before MySQL 5.6.4: 8 bytes
Storage Required as of MySQL 5.6.4: 5 bytes + fractional seconds storage

It’s just a guess
Wolle

Good news! :slight_smile:


[admin] Support customize site title, site name, CSS via Web UI

I guess that there is a field where one can select the desired basic color(s)?
Just having to upload CSS code still requires having a valid CSS code that allows to edit colors.


What about the OnlyOffice secret?

This seems fairly simple to implement. Can you please add this to 6.3.1?


Why does it still say the following in the download page?
Debian 9 is out for a very long time already. Ubuntu 18.04 LTS was release last month.
Seafile seems to work fine in both distros.

Server for generic Linux

Tested on:

    Debian 8
    Ubuntu 16.04
    Centos 7

On Debian 9 SeaFile works well, was something important for seafile changed between 9 and 8?

Thank you, that really seems to be the problem. Unfortunately, it is not enough to replace

`created_at` datetime(6) NOT NULL 

with

`created_at` datetime(8) NOT NULL

I am using Debian 8, which unfortunately does not come with a newer MySQL version by default.

[Bug] Clean installation, if you enter an incorrect password, a message appears indicating that the page is not available.
image

Switch to mariadb-server? As I can see, Debian 8 offers version 10.0.32-0+deb8u1. I don’t know, if this will be sufficiant.

I’m using version 10.1.33 (on CentOS 7). You can get 10.1 (and even newer) for Debian 8 from MariaDB Repositories:

https://downloads.mariadb.org/mariadb/repositories

2 Likes

Just upgraded to 6.3.0 beta
Everything went fine. It would be great, if the /seahub-data/custom/style.css would be imported to the new css textfield in admin settings. I had to manually copy the content and enable custom css.

Remove login log after delete a user

Some questions:

  • Does login log refer to an actual web log file or the (desktop/mobile) client log, too?
  • What happens with history in shared libraries, where one user was deleted?

It should be possible to change the colors via color selectors. Adding css config via gui doesn’t really add any advantage to what we could do until now. O_o
This looks more like adding “something” to fulfill the promised “customization” options. :frowning:
Why is it so difficult to add color selectors that define the basic colours. :unamused:

2 Likes

+1 It would be nice if we could get this feature as soon as possible.

@all Thanks for your work on Seafile

1 Like

Thank you very much, I really appreciate the new features. Would it be possible to fix this little issue in the next point release @daniel.pan ?

It is only about showing a little notification that javascript has to be enabled if it is disabled. The current behaviour is a forever rotating circle which made me think that the Seafile instance is broken many times… :grin:

2 Likes

Hi @Simsala, please manually create wiki table with following SQL:

CREATE TABLE IF NOT EXISTS `wiki_wiki` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `repo_id` varchar(36) NOT NULL,
  `permission` varchar(50) NOT NULL,
  `created_at` datetime NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  UNIQUE KEY `wiki_wiki_username_3c0f83e1b93de663_uniq` (`username`,`repo_id`),
  KEY `wiki_wiki_fde81f11` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

We will update the upgrade/sql/6.3.0/mysql/seahub.sql soon.

Could u please paste your logs/seahub.log ? There should be some error message.

Can the WSGI port be configured? Else I’m unable to run multiple instaces of Seafile on the same server. See Github #87 for details.

1 Like

You could start using docker which might be a better options anyways if you run multiple instances on one machine.
It also makes upgrading very easy.

2 Likes

Thank you @xiez that fixed the MySQL problem. Unfortunately Seafile 6.3 still does not start, the file gunicorn_error.log contains the following error message:

[2018-05-28 23:29:46 +0000] [24202] [INFO] Starting gunicorn 19.8.1
[2018-05-28 23:29:46 +0000] [24202] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2018-05-28 23:29:46 +0000] [24202] [ERROR] Retrying in 1 second.
[2018-05-28 23:29:47 +0000] [24202] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2018-05-28 23:29:47 +0000] [24202] [ERROR] Retrying in 1 second.
[2018-05-28 23:29:48 +0000] [24202] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2018-05-28 23:29:48 +0000] [24202] [ERROR] Retrying in 1 second.
[2018-05-28 23:29:49 +0000] [24202] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2018-05-28 23:29:49 +0000] [24202] [ERROR] Retrying in 1 second.
[2018-05-28 23:29:50 +0000] [24202] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2018-05-28 23:29:50 +0000] [24202] [ERROR] Retrying in 1 second.
[2018-05-28 23:29:51 +0000] [24202] [ERROR] Can't connect to ('0.0.0.0', 8000)

The problem is that there is already an OnlyOffice service running on port 8000 where I haven’t figured out how to change the port yet.

So far it was sufficient to change the port in the NGINX configuration file with proxy_pass http://127.0.0.1:8002; and then start Seahub with ./seahub.sh start 8002
Is this no longer possible?

Update: Okay, I figured out how to change the port for OnlyOffice. If someone else has installed OnlyOffice via repository, here are the instructions to change the port: http://dev.onlyoffice.org/viewtopic.php?f=44&t=11577

So far the port of wsgi cannot be changed.

Okay, that’s too bad. Back to version 6.2.5 there it works without problems, although I already changed everything in the NGINX configuration according to the WSGI configuration.