Seafile server core changes license to AGPLv3 and will be separated from client source code

From the beginning, the Seafile server and Seafile syncing client’s source code are managed in one repository (https://github.com/haiwen/seafile). We thought this was more convenient since the client and the server share some common data structures (like commits, fs and blocks). The common code can be reused by both components.

But this also introduces some confusion about Seafile’s copyrights. The syncing client uses Git’s index data structure source code, which is under GPLv2. The server code doesn’t rely on GPLv2 code so it doesn’t have to be released under GPLv2. We still release it under GPLv2 so that we could keep the client and the server code in the same repository.

Now as the Seafile project becomes more and more mature and popular, we reconsider our earlier decisions. As a cloud storage server software, we believe the most suitable license for the community server is AGPLv3 instead of the old GPLv2.

Today we announce a separate project for the Seafile server core on github. The code is released under AGPLv3. Future development of Seafile server will be continued on this repository. From version 6.0.1 on, the community server will be built from this repository.

The change of license for the community server doesn’t affect the license of Seafile Professional server. The Seafile servers are released in a dual license model. The community server is in GPL, while the Pro server is in proprietary license.

Seafile server 6.0.0 beta is ready for testing

We are proud to announce that Seafile 6.0 has been released. Version 6.0 introduces a full screen Web UI and several other improvements. The translations are not ready yet.

Because we have done a significant amount of code cleaning, some minor features may be broken though we have tested as much as we can.

You are welcome to test it and give us feedback.

You can download it from: https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_6.0.0_x86-64.tar.gz

Here is an overview of changes in version 6.0:

Full screen Web UI

If you have a wide screen, the new full screen can take the advantage to show more content in a line. If you have a narrow screen, the new interface can also adapt to it.

Change of navigation labels

The navigation label is changed according to feedbacks from users:

  • Mine -> My Libraries
  • Shared -> Shared with me
  • Organization -> Shared with all
  • Groups -> Shared with groups
  • Starred -> Favorites
  • Devices -> Linked Devices

Improve zip downloading by adding zip progress

In the old version, a problem with the zip download is that when the zip takes a lot of time, the web UI does not respond. If the zip task takes a few minutes, the user does not know what is happening.

In version 6.0, the zip task will be performed in the background and the Web UI will show the progress. This greatly improves usability.

Add file comment

In the Seafile old version, there was a function where you could comment on a file. It was actually starting a group discussion with the file as attachment. When we redesigned the group feature in version 5.1, this “group discussion with a file” was removed. But there were some requests and use cases for file comment, so in this version, we added a real file comment feature back.

Other Changes

  • [admin] Add group transfer function in admin panel
  • Remove number of synced libraries in devices page for simplify the interface and concept
  • Update help pages

How to fix tray icon display issue on Ubuntu 14.04

If you’re using ubuntu desktop 14.04, there is a known problem in the seafile linux client 5.1 and later: The tray icon of seafile client would appear on the top-left corner of the screen.

This is a bug that exists in Qt versions earlier than qt 5.5. And lots of other software are also affected by it. Ubuntu 16.04 is not affected by this bug because it ships with Qt 5.5 (while ubuntu 14.04 ships Qt 5.2).

Here we provide a workaround for this bug.

The Workaround

First install the opt-qt561-trusty ppa and Qt 5.6 packages. The packages are installed to /opt/ so your system won’t be affected.

sudo add-apt-repository ppa:beineri/opt-qt561-trusty
sudo apt-get update
sudo apt-get install qt56base qt56translations qt56webengine

Download the wrapper script, which tells seafile-applet to use the Qt 5.6 libs we installed just now.

wget -O seafile-applet-qt56 https://gist.githubusercontent.com/lins05/6468059d8130ad50464b1b3b43ec46dc/raw/c23e84c435b60c528d06e40be239689f9947b9ed/seafile-applet-qt56
chmod +x seafile-applet-qt56
sudo mv seafile-applet-qt56 /usr/local/bin/

Then download the updated seafile client desktop file, which launchs seafile client through the wrapper scripts you downloaded just now:

wget -O seafile.desktop https://gist.githubusercontent.com/lins05/6468059d8130ad50464b1b3b43ec46dc/raw/c23e84c435b60c528d06e40be239689f9947b9ed/seafile.desktop
sudo cp seafile.desktop /usr/share/applications/seafile.desktop

Now you can launch seafile-applet from the ubuntu dashboard (quit the client first if it’s running). The tray icon of seafile client should appear in the correct position.

Finally, tell apt not to override the seafile.desktop file when you upgrade seafile client in the future:

sudo dpkg-divert --add /usr/share/applications/seafile.desktop

Seafile Pro server 5.1.10 adds file lock auto-expiration

Version 5.1.10 is another maintenance release. File locks will auto expire in 12 hours. This is to prevent file syncing errors when someone forget to unlock a file.

Here is full change log:

  • Remove user from groups when a user is deleted.
  • File lock only valid for 12 hours
  • [multi-institution] Enable institution admin to activate/inactive a user
  • [fix] Showing contact email in user auto-completion if it is set
  • [fix, multi-tenancy] Fix syncing sub-folder of a shared library
  • [fix, multi-tenancy] Fix file audit page broken when a group corresponding to an item is deleted
  • [fix] Fix seaf-fsck.sh –export fails without database
  • [fix] Fix users with Umlauts in their display name breaks group management and api2/account/info on some special Linux distribution
  • [fix] Fix can’t generate shared link for read-only shared library
  • [fix] Fix can still view file history after library history is set to “no history”.
  • [fix] Fix after moving or deleting multiple selected items in the webinterface, the buttons are lost until reloading
  • Check user before start seafile. The user must be the owner of seafile-data directory
  • Don’t allow emails with very special characters that may containing XSS string to register
  • [fix] Fix migrate from community edition to pro edition

 

Seafile desktop client 5.1.1 comes with two new user interface improvements

Seafile desktop client 5.1.1

We have just released Seafile desktop client 5.1.1 with two new user interface improvements and some smaller changes and fixes.

“Groups” category in the client’s library view

This release improves the library organization in the library view of the client interface. Up until this release, the libraries of all groups were listed at the top level. If a user was a member of a lot of groups, the interface would became crowded and the user sometimes had a hard time finding the library he was looking for.

Seafile desktop client 5.1.1 improves this by adding a new top level category called “Groups”. This category can be optionally extended or closed – similar to the new “Groups” section in the Seahub navigation.

groups category

Clicking on Notification pop up opens (sub)folder

The second new feature in the Seafile desktop client 5.1.1 improves the notification popup. In previous versions, clicking on a notification opened the library root folder. Now, if you click a notification, the (sub)folder containing the actual modified file will be opened.

notification popup

Other changes

  • Change “Get Seafile Share Link” to “Get Seafile Download Link”
  • [Fix] Use case-insensitive sorting in cloud file browser
  • [Fix] Don’t sync a folder in Windows if it contains invalid characters instead of creating an empty folder with invalid name
  • [Fix] Fix a rare bug where sometimes files are synced as zero length files. This happens when another software doesn’t change the file timestamp after changing the content of the file.

Seafile Pro 5.1.3 add Excel/PPT editing and device management

We are happy to announce that Seafile Pro 5.1.3 is ready. Two useful features are added:

  • Support xlsx/pptx editing via office web app (OWA)
  • List devices and syncing errors in admin panel

Support xlsx/pptx editing via OWA

Preview for office files via OWA was added a long time ago. Now the office file editing comes too. Unfortunately, We find that only pptx/xlsx editing via OWA is possible. Supporting docx is not possible with Office Web App. But with the new version of OWA (now called office online server 2016, not released yet), it may be possible. We will come back to this issue when office online server 2016 is ready.

List devices and syncing errors

As system admin, you likely want to know whether all the desktops syncing files as expected. Listing syncing errors for desktop clients are now available in the admin panel. Enjoy this feature and better manage your devices!

The full change log

  • [fix] Fix group rename
  • [UI] Remember the expanded status of groups
  • [accessibility] Improve accessiblity of library trash page
  • [accessibility] Improve file/folder upload menu
  • list all devices in admin panel
  • list device syncing errors in admin panel
  • Support server side file content encryption
  • Support xlsx/pptx editing via OWA
  • Add syslog support for seafile.log

Seafile Pro Server 5.1 Stable Released

We are happy to announce that Seafile Pro 5.1 is finished. This release includes the following major features:

  • Re-design of the Seahub web interface and usability improvements
  • Seafile Realtime Backup Server
  • Manage users into multiple institutions (workgroup model)
  • Automatic file locking for office files when a document is opened in the Windows desktop client
  • Accessibility improvements

Attention: In addition, the Django framework is upgraded to v1.8, which no longer supports Python 2.6. All users still running Python 2.6 must manually update Python to 2.7.

Please enjoy the new version and give us feedback.

Changes and improvements to the Seahub web interface

Nagivation

The new navigation reflects our current re-evalutaion of the importance of different features.

In the previous design we saw each group as a hub for collaboration with files and discussions for each group. There was a standalone page for each group with files and discussions on the same level of navigation. But the group discussions feature was not as widely used as we anticipated. It actually turned out to be a relatively minor feature.

The new navigation has a uniform left-side navigation that combines the files from mine, shared, groups and organization. Not widely used features like the group discussions are now hidden to make the file navigation easier and even more intuitive to use.

5.1-group-view

Grid View now available everywhere in Seahub

Bigger image thumbnails have been high on our users’ wishlist for quite some time. In combination with the improved image preview, a grid view helps to better keep track of files in folder or library.

Seafile Professional 5.1 sees the grid view now being introduced everywhere in Seahub. It’s no longer limited to just share links.

The view can be changed by clicking on the grid view icon in the file menu at the top.

5.1-files-view

Easier access to Library Operations

In Seafile Professional 5.1 operations for libraries like renaming, transferring and sharing as well as the history settings can now be accessed from the library listings page, just like operations for folders.

5.1-library-ops

Seafile Realtime Backup Server (Beta feature)

Please note that the real-time backup feature is currently still in beta state. Minor issues on the backup server, while unlikely, might happen. But this feature will not affect the functionality or data integrity of the primary server.

The Seafile Realtime Backup Server uses a syncing algorithm similar to the Seafile desktop client to retrieve data from the primary server.
Whenever a library is updated, the primary server notifies the backup server to retrieve the changed data. With a delta syncing algorithm, this procedure runs quickly and updates the backup server almost in real-time.
The backup server also checks all libraries on the primary server at a fixed period. Any new or updated libraries will be synced to the backup server. This will pick up any delayed updates due to glitches in the real-time syncing procedure.
The backup server always keeps the database and data directory consistent. So that no libraries on the backup server will be in a “corrupted” state (unless they’re already corrupted on the primary server).
The full history of all libraries will be backed up. This is different from the desktop client, which only syncs the latest state of a library.

If you are familiar with MySQL or another database, you likely know master/slave replication. Seafile realtime backup is exactly like the master/slave replication, except that it is for files (metadata and file blocks).

You can find more information about the Seafile Realtime Backup Server at http://manual.seafile.com/deploy_pro/real_time_backup.html

Multiple institutions support (“Workgroup model”)

From Seafile Professional 5.1 you can add institutions into Seafile and assign users into institutions. Each institution can have one or more administrators.

This feature makes user administration easier when multiple organizations (for example branches of company or different universities) share a single Seafile server instance. Unlike multi-tenancy, the users are not-isolated. A user from one institution can share files with another user from a different institution.

You can find more information about this feature and how to deploy it at http://manual.seafile.com/deploy_pro/multi_institutions.html

Accessibility improvements

We want to make sure that Seafile can be enjoyed by a wide range of people with diverse abilities and devices.

That’s why we will start working on responsiveness for the Seafile web interface for version 5.2 But responsiveness is just one aspect for including a wider range of users with different requirements. The other, even more important factor is accessibility support for people with disabilities.

We are aware that Seafile needs to improve in this aspect. That’s why Seafile Professional 5.1 will put down the groundwork for improving accessibility.

Here are the accessibility improvements we have done for Seafile Professional 5.1. More will follow in later versions:

  • Use standard checkbox instead of styled checkbox based on image
  • Make library/folder/file operation icons visible on focus
  • Make operation icons focusable
  • Add aria-label to operation icons
  • Make library/folder sort operations focusable
  • Add role (navigation, banner, main) to regions
  • Make dropdown menu items focusable

Other changes in Seafile Professional 5.1

  • Improvement for user auto-completion
  • Removement of group avatar
  • Improved file sorting for large folders
  • Remember the sorting option for folders
  • Use HiDPI icons for libraries and files
  • Auto-focus on username field when loading the login page
  • Don’t show share menu in top bar when multiple items are selected
  • Remove self-introduction in user’s profile
  • Disable the possibility to add non-existing users to a group
  • Force the user to change his password if the user was added by an admin or if his password was reseted by an admin

Seafile Server 5.1 Comes with Brand New UI

It’s been about 5 months since the last major update of Seafile server (5.0). Now it’s time to release something fresh! Seafile server 5.1 includes quite a lot of UI re-design and improvements. In addition, the Django framework is upgraded to v1.8, which no longer support Python 2.6. The change to Django v1.8 also improves security since it’s the LTS and gets more security fixes.

There are a few major changes to the web user interface.

Flatter Navigation

A long-time critics about Seafile’s web UI is that it uses two navigation bars, one at the top and one on the left (see the screenshot below). The rationale of the old design is that we thought groups are collaboration places with files and discussion. So it’s better to put groups on the same level of navigation as files. The top bar is the level-1 navigation, while the left bar is the level-2 navigation. But this old design confuses many users. And it’s inconvenient to switch between the groups page and files page.

old-design

The new navigation reflects our recent thinking on the importance/priority of a few features. As we discovered that the discussion feature is a minor feature, it is better to hide it and make the file navigation flatter and simpler. Thus in the new design, an uniform left-side navigation is used that combines the files from mine, shared, groups and organization. Now the users don’t need to frequently switch between file view and group view.

5.1-group-view

Grid View

Users can now use grid view to list files in a folder. Previously it is only available in share link.

5.1-files-view

Library Operations

In the new version, operations for library, like rename and history settings, are put directly in the library listing page, much like operations for folders. This makes operations on libraries more similar to operations on folders/files. It’s more intuitive for users.

5.1-library-ops

Improvements on web UI is a continuing mission of Seafile. There are more to come in the future. Any suggestions are welcome!