Seafile Server 9.0 is production ready

Seafile Server Community and Professional Edition are now available in version 9.0. Improvements in file sharing and document server integration make file collaboration more comfortable and scalable. The new custom sharing permissions give unprecedented control and flexibility in managing users’ access rights. Share links are also more flexible thanks to several new features and feature improvements. Additionally, a completely new file server accelerates library access, especially for large libraries. An upgrade of Seafile’s PDF rendering engine allows the preview of password-protected PDFs right in the browser.

We are pleased to present the highlights of Seafile Server 9.0 in these release notes. A complete list of changes for Seafile Server is available in the Seafile Manual. The Seafile Server Professional Edition (Seafile PE) can be downloaded from the Seafile Customer Center. The Community Edition (Seafile CE), whose source code is available on GitHub, can be downloaded directly from the Seafile website.

Custom Sharing Permissions (only for Seafile PE)

Seafile Server 8.0 knew five sharing permissions: read-only, read-write, online read-only, online read-write, and admin. In Seafile 9.0, library owners and department admins can define sharing permissions of their own on top of the five preset permissions. The uncountable number of sharing permissions that can be created by picking and choosing individual permissions gives virtually limitless control over how library owners can share their data with other users.

A custom sharing permission is composed of any combination of the following seven permissions:

  • Upload (upload files and folders into the library and sub-folders)
  • Download (download files and folders)
  • Modify (create/rename/move files and folders as well as modify files)
  • Copy (copy files and folders to other libraries – copying within the library requires the modify permission)
  • Delete (delete files and folders)
  • Preview online (preview files in Seahub; image file preview (e.g., PNG, JPEG) does not require this permission)
  • Generate share link (create share links for files and folders)

Being a precondition for all other permissions, the View permission – see and browse a library’s folder structure (including metadata such as file size and last update) – is inherent to all custom sharing permissions.

Every custom sharing permission is identified by its name. A description provides extra space for more information on the sharing permission’s purpose and specifications (see below).

Custom Sharing

Custom sharing permissions are defined on the library level. This has three consequences: Firstly, a custom permission created for one library is not automatically available for other libraries. Secondly, when a library with a custom permission is shared to another user using the admin sharing permissions, this other user can also use and edit the custom sharing permission. Thirdly, department admins can use the custom sharing permissions defined for the department’s libraries.

Finally, a nice little new feature complements the new custom sharing permissions: When deleting a library, a warning appears if the library is shared with other users.

Improved Sharing Links

Seafile Server 9.0 offers new options to work with existing sharing links and adds collaborative features to share links for folders and office documents.

You do not recall the share link’s password that you created the other day? No worries! Seafile 9.0 can display the password of a password-protected share link after the link’s creation. Similarly, Seafile 9.0 now supports the modification of an existing link’s expiration time. The expiration of an expired link can be reset too. In previous Seafile Server versions, a link’s password could not be recreated when forgotten and expired links could not be resuscitated. In both cases, it was necessary to delete the existing link and create a new one.

New collaborative features also make share links more powerful for teamwork. A download link’s page in Seafile 9.0 now displays the file tags defined in the folder. The tags can be used to carry additional metainformation (i.e., for status information) and the new feature makes it possible to share them with external partners. To further strengthen Seafile’s file tag feature, the file tagging UI was improved for greater ease of use.

Improved Tags

In previous versions, users accessing an office document via a share link with edit permission did so as “anonymous” users. The consequence was that whenever two or more people accessed an office document via such a link, there was confusion about who is who. This confusion ends in Seafile 9.0. Anonymous users can identify themselves by setting their name. The entered name is used in the document when editing the file as well as in the document’s chat.

New File Server

The biggest, but probably least visible new feature in Seafile 9.0 is the new file server. The new file server represents a major improvement compared to its predecessor:

  • Support for larger libraries
  • ZIP-streaming
  • Rate limits for up- and download

The file server is Seafile’s workhorse. As a component of the seaf-server process, it handles file uploads, downloads, and file syncing. The new file server is written in Go (https://en.wikipedia.org/wiki/Go_(programming_language) ). Compared to C, which was the language of the old file server, Go offers much better performance in high concurrency situations thanks to the language’s native support for concurrent programming.

The new file server is an answer to the ever-growing number of files saved in Seafile libraries. Due to Seafile’s idiosyncratic data model, the retrieval of a file list for large libraries is inherently slow. When Seafile processes multiple file list requests at the same time, worker threads can get exhausted causing high latency and, in turn, user frustration. Seafile 8.0 introduced a (configurable) file number limit. With such a limit, very large libraries would not be synced “clogging up” the system. But obviously, this treatment of symptoms was only a temporary solution. The new file server now addresses root causes.

But, as the list above attests, the advantages of the new file server go beyond a mere performance boost. It also improves Seafile’s usability and increases its scalability. In Seafile 8.0, when downloading a folder, the folder needed to be zipped and saved in its entirety before it could be downloaded. With larger folders, this could take a long time. The temporarily created ZIP-file also consumed a lot of hard disk space. The new file server’s support for ZIP-streaming, the simultaneous zipping and downloading, addresses both issues: No more wait and no more dead weight on the hard drive. Last but not least, the new file server also allows the active management of the available bandwidth. The old file server did not offer such options.

Seafile 9.0 continues to use the old file server as the default file server for stability reasons. The parameter use_go_fileserver = True in Seafile’s configuration file seafile.conf enables the new file server. In the future, as the new file server matures, it will become Seafile’s default and fully replace its forerunner.

Component Update

In addition to the totally new file server, Seafile Server 9.0 also updates three of its components. The indexing server ElasticSearch is upgraded from version 5.6 to 7.x. PDFjs version 2.1 is now working under the hood of Seafile CE and Seafile PE. The Python framework Django is updated to version 3.2.

The update of ElasticSearch entails important consequences for its deployment. Elasticsearch introduced new license conditions in version 6.2. The new conditions put a stop to the bundling of ElasticSearch with other commercial software packages. Consequently, ElasticSeach is no longer a part of Seafile PE 9.0’s install package. The installation instructions have been updated accordingly. When upgrading from Seafile PE 8.0 to Seafile PE 9.0, pay attention to the special upgrade notes. The separation of ElasticSeach out of Seafile implies some extra effort. On the other hand, it facilitates the configuration of ElasticSearch in the future (i.e., when using an external ElasticSearch server).

A frequently expressed request in the Seafile community was support for password-protected PDFs. Thanks to the upgrade of PDFjs, the PDF rendering engine used by Seafile, this wish has now come true. When opening a protected PDF document in the web interface, a password prompt opens up in a new tab. Entering the password will make the PDF appear in the browser tab.

Previewing Enrypted PDF Files

Seafile Server 8.0 is production ready

After being in Beta for a few months, we’re pleased to announce that Seafile server 8.0 version is production ready.

Seafile Server 8.0 makes file collaboration even easier: The federation of Seafile servers, using the Open Cloud Mesh API, enables file sharing between users of different Seafile instances. The new combined share link allows the convenient, bidirectional exchange of files with third parties. Share links as QR codes and a redesigned link upload page help you get your work done faster.

The web interface of the Community Edition of Seafile Server 8.0 now also features a file search. By adding a search function to the web interface, the developers respond to a often expressed wish of the community.

The most important changes are presented in these release notes; a complete list of changes can be found in the Seafile Manual. The Seafile Server Professional Edition can be downloaded from the Seafile Customer Center. The Community Edition, whose source code is available on GitHub, can be downloaded directly from Seafile’s website.

Federation of Seafile Servers

The simplicity of sharing files with other users of a Seafile server has been one of Seafile’s hallmarks. With Seafile 8.0, sharing files with users of other Seafile servers becomes just as easy. The need for multiple user accounts on different Seafile servers is now a thing of the past.

Sharing files with remote Seafile users is done the same way as files are shared with local users: Using the share dialog, a library or folder is shared with a few clicks. You can access resources shared by remote users via the new item “Shared from other servers” in the navigation menu of Seafile’s web interface. Only the federation of the Seafile Servers involved must be set up by a Seafile administrator.



Seafile uses the federation protocol of Open Cloud Mesh (OCM). OCM is an initiative of European, Asian and Australian research institutions under the leadership of the pan-European research network society GÉANT. OCM’s objective is to create a worldwide network of interconnected research clouds. The Federated Cloud Sharing Application Programming Interface (API), which provides a vendor-independent file access layer, is the basis for this.

In version 8.0, Seafile Server Professional Edition and Community Edition support federation with Seafile servers. The full implementation of the OCM API will follow in version 9.0. The next major release will then also support federation with file clouds based on Nextcloud and ownCloud.

Share links are the tool of choice for exchanging files with partners who do not have a Seafile user account. So far, Seafile knew two link types: A download link makes files available for download; an upload link allows a third party to upload files to Seafile. Now, a new, third link type provides even more flexibility in file collaboration.

With the new combined link, the Professional Edition of Seafile 8.0 introduces a link type that combines the functions of the existing two: you can send files and folders to your partners, but they can also use it to send data back to you. One link can do the work of two.



QR codes, automatically generated in the web interface for every share link, are another new feature. These graphical codes are a practical alternative to textual URLs whenever the share links are to be accessed by mobile devices. Smartphone and tablet cameras can scan the QR code and read the embedded URLs to open the page directly without manual input.

Since all good things come in threes: Following its recoding in React, the file upload page presents itself in a more modern design and with improved usability: Dragging and dropping files now works with all major browsers.



LaTex Formula Support in Markdown Editor

Markdown (MD) as a simple markup language is ideally suited for convenient and platform-independent storage of textual information. Thanks to the new formula function, Seafile’s integrated Markdown editor can now also display mathematical formulas professionally and attractively. This makes the MD format even more versatile in Seafile – especially in published libraries.

Formulas are input using the LaTex formula commands and syntax. A small graphical wizard supports formula construction. The wizard interprets the input in real-time and displays a preview of the resulting formula. The input can thus be corrected immediately when necessary. A good overview of the possibilities of LaTex formulas can be found at Wikibooks.org.

Simplification of Application Architecture

With version 8.0, the RPC service daemon (ccnet-server), which controlled, in previous versions, the internal communication between the file service (seaf-server) and the web interface (seahub), has been removed from Seafile Server. Relevant code components were merged into seaf-server. Communication now runs directly between the two services. The figure below juxtaposes the old and new architecture of Seafile Server. (While the ccnet-server component has been removed, the configuration file ccnet.conf and the database ccnet-db are still necessary for the time being.)

(For simplicity, other prerequisites (e.g., database) and Seafile Server components (i.e., seafdav-server) have been omitted).

Code Update and Optimization

When the web interface was migrated from Django to React in 2020, most elements of Seahub were rewritten in JavaScript. Yet, a few pages continue to use the Python web framework Django. Django was updated from version 1.11 to version 2.2 in Seafile 8.0. The update to Django 3.2 will follow with Seafile 9.0.

During the development of Seafile 8.0, the developers also paid special attention to the Garbage Collector. When Seafile “collects garbage”, it eliminates data blocks belonging to deleted files and libraries. It is only this process that frees up disk space after deleting files in Seafile. The code optimization significantly reduces the duration of database accesses for large libraries.

Similarly, the code for automatic locking of office files also received a makeover. In Seafile 8.0, an office file gets unlocked the very moment the last user closes the editing tab. ONLYOFFICE and MS Online Office Server users will notice the change immediately! The implementation of direct server to server communication is responsible for this great improvement. Earlier version of Seafile relied on the browsers of the editing users to signal the lock status causing high server load and delays in the unlocking of files.



Seafile Drive Client 2.0: Next generation alternative to traditional file servers

The new Seafile Drive Client 2.0 is a quantum leap in terms of stability, functionality and integration. It now supports encrypted libraries on all platforms, bringing convenient end-to-end file encryption to Windows, Mac and Linux desktops. The new Windows client, in particular, is a hit! Thanks to the use of Microsoft’s cloud API, it integrates absolutely seamlessly into Windows’ file system. The result: an unprecedented user experience. Users will love the client’s selective sync functionality, while Seafile administrators will enjoy the new enterprise deployment options. The new version has something in store for everyone.

Encrypted library support

The Seafile Drive Client (SeaDrive) 2.0 introduces end-to-end encryption to all desktop platforms. Being a privilege of Seafile’s sync client so far, encrypted libraries can now also be accessed on-demand right from the computer’s file explorer. No prior synchronization of encrypted libraries is necessary. Working with files securely stored in Seafile Server has never been so easy.

By default, the new SeaDrive mounts only unencrypted libraries to the local file system in order to protect the confidential data in encrypted libraries. To add an encrypted library to SeaDrive’s library list, the user must enter the library’s secure key once. The key is then saved – encrypted of course – in SeaDrive’s local SQLite database. This way, SeaDrive can automatically mount encrypted libraries after a reboot if desired.

Migration to Microsoft’s cloud API

The Windows version of SeaDrive 2.0 is much more than an incremental improvement of its predecessor. A large part of its code has been rewritten. The outcome of this major effort, however, is impressive: The new SeaDrive for Windows is the best of two worlds. It combines the ease-of-use of network drives and the feature-richness of sync & share solutions. Why exactly is anyone still using file servers?

截屏2020-08-08 上午11.23.36

SeaDrive 2.0 makes use of Microsoft’s cloud API. The use of this native Windows 10 technology ensures a seamless integration of Seafile’s libraries into Windows’ file systems and boosts speed, stability and compatibility with third-party programs. Dokany, an open-source kernel driver, which powered SeaDrive 1.0, is no longer part of the new SeaDrive.

Selective sync in Windows 10

Just like its predecessor, SeaDrive 2.0 uses a local cache to provide offline access to files previously downloaded. The new Windows client now takes offline support to the next level. Its ‘Always keep on this device’ context menu option downloads libraries or folders to the user’s local disk and keeps them permanently in sync. Any change – server- or client-side – is immediately synced to the other side.

截屏2020-08-08 上午11.24.30

A particular library is used frequently and must be available independent of internet access or at full hard disk speed? Just enable the option in the Windows Explorer’s context menu and you will always have access to these important files as fast as possible and wherever you go.

Enterprise readiness

SeaDrive 2.0 comes as a MSI package. System administrators can use Windows Installer to roll-out SeaDrive across the entire organization using Windows’ own deployment technology. The common features such as rollback of unsuccessful installs, repair of broken installations and installing over existing broken installations are all available. Combined with its preconfiguration options, SeaDrive can be put into service on the users’ desktops requiring no end-user interaction.

Installation and upgrade

SeaDrive 2.0 for Windows, Mac and Linux can be downloaded from the download section on the Seafile website (https://www.seafile.com/en/download/). Usage instructions are available at https://download.seafile.com/published/seafile-user-manual/drive_client/drive_client_2.0_for_windows_10.md. (A German version of the manual is available on the German Seafile website at https://de.seafile.com/support/benutzer/anleitung/seafile-drive-client/)

A special note on the Windows client: SeaDrive 1.0’s auto-update function will not downloaded/install SeaDrive 2.0. Please download it from the download page and install it manually. SeaDrive 2.0 will import accounts and their metadata from a preexisting SeaDrive 1.0 instance, yet it will not use version 1.0’s local cache under %userprofile%\seadrive (or the path chosen in the client’s advanced settings).

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 https://download.seafile.com/published/web-api/v2.1/library-api-tokens.md

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.

Zimbra and Seafile: the New Collaboration Dream Team

The popular collaboration software Zimbra can now be seamlessly integrated with Seafile’s powerful file sharing and file collaboration functions. We proudly present: the Seafile Plugin for Zimbra, version 1.0! Accessing files stored in Seafile conveniently from Zimbra‘s webinterface, sending sharing links via Zimbra Mail and archiving emails directly in Seafile – the plugin makes it possible. Seafile in combination with Zimbra is a safer, more economical, self-hosted alternative to Google’s G Suite and Microsoft‘s Office 365. In short: a dream team.

Seafile’s seamless integration in Zimbra

In recent years, Zimbra has made a name for itself as a low-cost, open-source collaboration solution with the key features including email, calendar, contacts, and tasks. Messaging and video-conferencing can be easily added. The new Seafile zimlet, as Zimbra plugins are called, merges Zimbra’s and Seafile’s capabilities into a powerful and user-friendly collaboration powerhouse.

The Seafile zimlet extends Seafile’s strengths in file collaboration by complementing functions for efficient team work. Seafile users can enjoy so far absent calendaring and contact management features. For Zimbra users, the zimlet puts all their files at just one click away. Switching webinterfaces is a thing of the past, sharing links can be generated right in Zimbra’s web client and emails can be archived straight in Seafile. Seafile and Zimbra users benefit!

Convenient Seafile access via Zimbra’s webinterface

A new tab ‘Seafile’ appears in Zimbra’s web client after installation. This is how users can access their unencrypted Seafile libraries and manage their files in Zimbra. All file operations including create, move, rename, and delete are available in the new tab. This goes for folders and files as well as for libraries. To create a sharing link, the Seafile tab is the right place for that too.

Managing files in Zimbra works just like in any file manager. A navigation pane displays all unencrypted libraries and their subfolders in a hierarchical structure. The detailed file list shows the content of the selected folder. File operations are easily accessible via the right-click context-menu. File management is quite as simple as it can be.

The file preview takes up the most real estate in the new tab. The zimlet supports previews for many graphic files (i.e., JPG, PNG) as well as PDF- and diverse text file format (i.e., TXT, MD). Office files (i.e., DOCX, XLSX, …) can also be previewed with an integrated online editor such as ONLYOFFICE or Collabora. Zimbra has the editor render the document and a double-click opens the document, spreadsheet or presentation for editing.

Integrating Zimbra email in Seafile

Besides file access, the zimlet also makes generating and sending sharing links very easy. One click generates an email and sends a user-friendly, short sharing link instead of a clumsy file attachment. For protection of sensitive information, password protection and automatic link expiration are two options to choose from when generating the link.

And that’s not all! The zimlet allows users to export emails directly in Seafile. As per the user’s choice, Seafile saves the mail either as EML or PDF file. If only the email attachment is to be saved, that can be done as well.

One-click-switching between Seafile and Zimbra

The zimlet makes working and managing files in Zimbra really easy. If, occassionally, a user wants to switch over to Seahub – for instance, to use the Markdown editor– all it needs is one click on the Go

 to Seafile button. It teleports the user from Zimbra’s web client to the same position in the folder structure in Seahub. Work continues in Seahub where it was left off in Zimbra. And no authentication is required either – the zimlet takes care of that.

Technical integration

The zimlet builds on the Zimbra WebDAV Client by Zeta Alliance. It was amended on behalf of our partner datamate to reflect Seafile’s ideosyncracies. Specifically, the zimlet uses WebDAV commands for all operations on files and folders and API calls for library-level operations. It also uses Seafile’s API to generate links and to implement the one-click switch.

Just like the server code of Zimbra’s open-source edition and Seafile’s sync client, the Seafile Zimlet is released under the open-source license GPL2. This license imposes no restrictions regarding the viewing, the modification, and the further development of the source code.

Requirements and installation

The zimlet requires installation on your Zimbra server. The Zimbra WebDAV client’s website as well as the zimlet’s GitHub page contain detailed install instructions. The installation is initiated by executing a SH-script. A wizard walks the administrator through the installation.

After installation, the user must equip the zimlet with access credentials for Seafile. This can be done in the zimlet’s settings. Once the zimlet has successfully authenticated against Seafile’s user database, the user can access all his/her data in the Seafile tab.

The zimlet is compatible with Seafile Professional and Community Edition. It has been tested intensively with Seafile Professional 7.0.7 and Seafile Community 7.0.4.

Zimbra – worldclass email and groupware

D24C9CF3-15C5-4F11-9C81-218B2A3C42CF.png

Zimbra is the collaboration software suite of Synacor from Buffalo, New York. More than 100 million users in more than 140 countries use Zimbra.

Zimbra is – like Seafile – available in a free, open-source as well as a commercial business edition with closed-source components. The Zimbra Collaboration Open Source Edition (OSE), with its email server and calendaring features, is an attractive solution for medium-sized enterprises and startups. The Zimbra Collaboration Network Edition (NE) as an entreprise-class groupware, boasting MAPI and ActiveSync support, a Zimbra-Outlook connector, and professional consulting and advisory services, is geared towards large companies, public sector institutions and research bodies. Both editions share the AJAX-based web interface that facilitates using Zimbra’s many features. Besides the web client, Zimbra Desktop is a full-featured free desktop email client available for Windows, Mac and Linux.

Zimbra runs on Red Hat, Suse Enterprise Linux as well as Debian, Fedora, Mandriva and Ubuntu and supports all popular virtualisation environments. A docker image is also available.

Thanks to Synacor’s commitment to the open-source idea and Zimbra’s open interfaces, an active ecosystem has evolved around the collaboration suite over the years. Dozens of zimlets facilitate the expansion of Zimbra’s native capabilities with additional user and administrator features. Most zimlets can be downloaded from Zimbra’s community website.

Outlook

We invite all Seafile and Zimbra users to thoroughly test the new zimlet and to comment in the Seafile forum. Based on emerging demand and feedback, we will push forward with the zimlet’s development. Thanks to the collaboration with the Zeta Alliance and, in particular, Barry de Graaff as lead developer of Zimbra’s WebDAV client, the Seafile zimlet will benefit from all developments in the shared code basis.

Changelog

September 2, 2019 version

  • Integration of Seafile as file backend in Zimbra‘s webinterface via WebDAV and API
  • Display of file meta data (file name, file type, file size, last modification date)
  • Support of common file operations (create, download, rename, move, delete) on file, folder and library level
  • Function Download as PDF for many file formats
  • File preview for many graphic and text files as well as PDF documents
  • Online editing of TXT and MD files
  • File preview and editing for office files with integrated online editors
  • Generation of sharing links for files, folders and libraries incl. password protection and automatic expiration
  • One-click-switch to Seahub
  • Saving emails to Seafile (either in PDF or EML format)
  • Saving email attachments to Seafile
  • Support of German special characters

Seafile Professional Server 7.0: Integrating knowledge management with sync & share

Following the release of two beta versions and intense testing in April and May 2019, we are pleased to officially release the Seafile Server Professional Edition 7.0 today. It is available for download in the Customer Center; please consult the changelog before upgrading. Version 7 of the Community Edition of the Seafile Server is also officially released. You may download it on our website.

Seafile 7 comes with many new as well as improved file sharing and file management features: A new tree-like view, file tags, more sharing permissions, more flexible favorites, and a real-time search render file management and team collaboration easier and more comfortable than ever before.

But this is not all. Seafile 7 also addresses the growing need for the easy capturing, managing and sharing of knowledge. The revised wiki function, in combination with the improved Markdown editor, lends itself to FAQs, internal knowledge databases and manuals in particular. The new functions have been designed as extensions to Seafile’s existing features and therefore they leverage its sync & share functions, make use of Seafile’s file versioning as well as full text search. Last, but not least, they seamlessly integrate into the web interface.

Seafile’s web interface Seahub has also seen tremendous changes. Visible at first glance, the user interface has undergone a facelift. All of Seahub’s components such as dialogs, buttons, and menus now have a consistent look and feel. Dialogs and menus have been improved based on user feedback. But the even bigger change happened under the hood beyond the first glance. Seahub has been completely rewritten using React, a JavaScript library specially developed for dynamic user interfaces. The technology switch was prompted by the increasing difficulty of integrating new, dynamic functions into Seahub’s old, Django-based framework. The new React-based Seahub provides the foundation for many of the new features in Seafile 7 and will be the basis for many new features to come.

Managing and publishing knowledge in wikis

Capturing and storing little structured data in an easy-to-use fashion – that is what Seafile’s wikis are for. Wiki pages are written in Markdown (MD), a simple markup language, to ensure cross platform compatibility. MD files store textual, tabular as well as graphical information; other files can be linked to MD files by a related-files function. Related files are directly accessible from the wiki page.

Since Seafile implements wikis as standard Seafile libraries, they can be synced and shared with other users just like any ordinary library. Additionally, wikis can be made publicly available. With one click, a wiki gets published under its idiosyncratic URL (i.e., seafile.com/published/faq). Working collaboratively, editing offline, sharing drafts with external parties and making content available to a public audience – everything is possible.

Editing wiki files

MD files are best edited straight from Seafile’s web interface with the improved MD editor. The web-based editor offers a smoother user experience and richer formatting options for text, images, and tables than its predecessor in Seafile 6.3. Images can be imported into MD files from libraries and local storage as well as by hyperlinks. Basic image editing functions such as scaling can also be performed in the editor’s what-you-see-is-what-you-get (WYSIWYG) interface. Tables can be inserted and modified with just a few clicks. The same thing goes for a table’s content: A table can be copied in its entirety or in part without leaving the WYSIWYG view. To facilitate co-editing, the MD editor also supports collaborative commenting and a newly-introduced diff-function visualizes the edits the document has undergone in its history.

image
Markdown Editor

Adding sharing permissions

Two new sharing permissions complement the existing permissions giving users more control over access to shared libraries in online collaboration projects, especially with guests. The ‘Preview-on-cloud’ permission grants read-only access to files through the web interface, yet files cannot be downloaded or synchronized with Seafile’s clients. ‘Preview-edit-on-cloud’ adds write-access to the restricted preview-on-cloud permission while maintaining the access restriction through the web interface.

Facilitating file management

The new column view allows users to manage files just like in Windows Explorer and Mac Finder. When enabled, an extra column displays a library’s tree-like folder structure. Users can browse in it and move files and folders just by dragging and dropping. And the similarity to desktop file managers does not end there: File actions such as renaming, moving, and opening via client are available in a right-click-accessible context menu. Extra layout options give users the means to adjust the view to fit their needs.

image
Column View

image
Drag and Drop

image
Context Menu

Tagging files

File tags in Seafile 7 make it very easy to enrich files with meta data regarding priority, responsibility and/or status information. Tagging files helps individuals to organize their files and teams to work collaboratively.

Tags in Seafile are organized on a library-level. Seahub shows all tags used within a library in the library’s root. A click on a tag filters within the library for the selected tag and provides fast access to the tagged files.

Users set one or multiple tags, change and remove them via the context menu or the file details. Every tag is linked to a color which the user can also choose and which helps convey some additional information on tagged files.

image
File Tags

Finding files

While Seafile’s search function has already been powerful in previous versions, it has become even more powerful in the new version. Seafile 7 shows search results in real-time as the users type. By adjusting the search terms during the search, the user finds the needed document faster than ever. When entering a library, the scope of the search is limited to the library. More fine-grained search options including file type, last update date and size are available in the advanced search options.

image
Real-time Search

The improved favorites are a second feature that assists in finding files in ever growing data systems. Seafile 7 does away with the restriction to files as favorites. Files, folders and libraries can now be starred. All favorites are directly accessible from the favorites menu in Seahub as well as in Seafile’s sync client.

Staying up-to-date on activities

The activities menu has undergone a major revision to better support activity monitoring in larger teams. The interface has become cleaner and better organized. Similar activities are no longer displayed as discrete activities, but get aggregated in a smart way. Instead of multiple individual records for the similar transactions in one library, the reports just shows a single line stating the number of affected elements and the library in question.

Email notification for activities is another brand new feature for activities. Users can subscribe to email notifications and select the update frequency in their user settings. The activity update contains the new activities since the last notification. This way, users are always up to date even when on the go.

Improved Encrypted Libraries

Encrypted library is one of the most liked features in Seafile. We supported encryption of users data in an end-to-end way from the first day we released Seafile. In Seafile 7 we further improve the security of the encryption mechanism by using different encryption salts for each library. In cryptography, salts are used to make brute-force hacking harder. It would make such kind of attacks even harder with different salts used for different libraries. (More details about Seafile’s encryption algorithm can be found in our manual.)

To use this improved encryption mechanism, you must add the following option to seahub_settings.py:

ENCRYPTED_LIBRARY_VERSION = 3

After that, all new encrypted libraries will use the new version of encryption algorithm. Please note that sync clients before 7.0.0 cannot work with new encrypted library version. So the clients has to be upgraded to sync new encrypted libraries. Existing encrypted libraries are not affected.

Seafile Professional Server 6.3 now production-ready

Improved group functions, support for several storage backends, persistent sharing links as well as new API calls for multi-tenancy systems are the major improvements of the Seafile Server Professional Edition 6.3.2. Additionally, Seafile‘s Professional server inherits all improvements from Seafile‘s Community Server released at the end of May. Beginning today, the Seafile Professional Server Version 6.3.2 is available in Seafile’s Customer Center (https://customer.seafile.com).

Seafile 6.3.2 production-ready

Since the release of the Seafile Professional Server 6.3.0 at the end of June, the beta release of the Seafile Server has been thoroughly tested and is now ready for production use. License holders can download the Seafile Professional Server 6.3.2 from the Customer Center, and interested parties can use the Professional Edition of the Seafile Server with up to three users without a license.

Expanded group concept

In Seafile Professional 6.3, Seafile‘s development team has greatly extended the software’s group concept and implemented new group functions. In the past, groups were distribution lists facilitating the sharing of resources to multiple users. The new version introduces a new kind of a group: ‘Departments’. Departments can own libraries and system admins have their own storage quotas assigned to them. By default, group members have read-and-write access to all group-owned libraries, yet group admins can restrict access. Just like user-owned libraries, group libraries can be shared with other users and other groups. If needed, departments can also have sub-departments to reflect the organizational structure.

The reworked group concept removes several limitations that were brought about by Seafile’s user-exclusive library ownership:

  • User storage quotas need not reflect users‘ roles in groups anymore.
  • User-to-user transfers of libraries made necessary by a user‘s departure from a group are a thing of the past.
  • Organisational units can manage their resources more independently.

Version 6.3.2 supports file and folder transfer from user-owned to group-owned libraries. Ownership transferability of libraries will be implemented with a future update. (More on departments on Seafile’s help pages (https://help.seafile.com/en/sharing_collaboration/departments.html).

Support for multiple storage backend

Another new feature of the new Seafile Professional Server is the support for the combined operation of different local storage backends. Based on the specific configuration, the server decides in which backend to store the data.

This development prepares Seafile for areas of application in which Seafile has not been well represented so far. One attractive use case, for instance, is the side-by-side operation of fast disk/solid state drives and optical strorage for long-term archiving. When creating a library, the user chooses which storage to use. (Documentation for multiple storage backend support in the Seafile Manual (https://manual.seafile.com/deploy_pro/multiple_storage_backends.html) .

Persistent sharing links and internal links

Seafile’s public sharing links are the means of choice for sharing large files with external parties. Unfortunately, sharing links were not immune against file transactions. Previously, renaming or moving a file or its folder broke the link resulting in an error message when calling the link.

With the new server, this limitation is no more. Seafile Server 6.3 introduces persistent links. They prove resilient against changes in name, location and even libarary ownership. The only thing left to break links is a move from one library to another. All existing links automatically become persistent with the update to 6.3.2.

Besides improving on the existing links, Seafile Professional 6.3.2 introduces a second type of link. Developed for improving team-collaboration and other internal use cases, the new internal links serve as pointers to files and folders stored on the Seafile Server. They have the intuitive URL structure and the links‘ persistence in common with their public counterparts. Contrary to them, they require read permission for the linked resource. The Seafile team uses them extensively in their chat and task management systems.

Faster preview

In Seafile 6.3, document preview in Seahub benefits from the implementation of PDF.js for rendering PDF files (https://mozilla.github.io/pdf.js/). Compared to the preview with Collabora in previous versions, the generation and display of PDF files is now much faster and more precise.

And not only has PDF preview become better, but also the preview of office documents. Office documents are now converted into PDF format and displayed directly using PDF.js. The slow conversion into HTML is omitted.

New API calls for multi-tenancy systems

The new Seafile Server complements the exisiting user-level API calls with the equivalent calls on the tenant-level. New tenants can be created, existing tenants can be modified and deleted, and usage data can be queried using the improved WebAPI. (Details on the WebAPI in the Seafile Manual at https://manual.seafile.com/develop/web_api_v2.1.html.)

The extension of Seafile’s API takes place against the background of the increased use of Seafile by hosting providers. The new API makes it possible to integrate the wholesale administration of multi-tenant systems in existing administrative tools. Managing a multi-tenant system in Seafile has never been easier. What is more: The API paves the way for on-demand pricing models in which users pay only for used resources, not for assigned resources.

Improved file locking

File locking prevents file conflicts when files are simultaneously edited by multiple people. Only one user can open the file with the permission to write to the file. Previous versions of the Seafile Sync Client only supported file locking under Windows. The current version also supports file locking under Mac in combination with Office for Mac.

And this is not all! Seafile’s file locking was improved in a second way: File locking also kicks into action when a file is open in an online editor (e.g., OnlyOffice, Collabora Online, Microsoft Office Online Server). A user trying to edit a synced copy on his local machine receives a file-locking notification and opens the file in read-only mode.

What’s new in Seafile Community Server 6.3

The Seafile Community Server 6.3 was released at the end of May as a beta version. Since mid-June, it has become production-ready. The Professional Edition of the Seafile Server inherits all new features and improvements introduced in the Community Edition. In version 6.3, these three stand out:

WYSIWYG Markdown Editor

Chief among the improvements in Seafile Community 6.3 is a new, inhouse-developed Markdown Editor. The new editor provides two important features so far missing from (almost all) other markdown editors: table-editing and image inserting in WYSIWYG mode – the view mode users are used to from text editors such as Microsoft Word. The new editor replaces the old one that has reached the end of its lifetime for lack of extensibility.

图片 2

Django and jQuery update

Both Seafile Server editions now use Django version 1.11. Django 1.8, used since version 5.2 in Seahub, was deprecated in April 2018. Django 1.11 is in long-term support until mid 2020. As a consequence of the update, FastCGI mode is no longer supported by either edition in a configuration with Nginx/Apache as reverse proxies. WSGI mode is the required mode.

Repositioning of Seahub’s action buttons

Aiming at unifying and streaminling Seahub’s site layout, the action buttons, formerly located underneath the breadcrumbs, now sit in the top ribbon (see figure). As a positive side effect, the change in position frees up extra space in the main window.Picture1

The full release statement for the Seafile Server Community Edition 6.3 is available at https://forum.seafile.com/t/seafile-server-6-3-is-ready-for-testing-a-wysiwyg-markdown-editor-and-more/6250/48

Seafile Professional Server 6.3 is ready for testing! Major new group functions

Following the release of the beta version of the Community Server 6.3 on May 26, we are pleased to release the Seafile Professional Server 6.3 for testing today. The production version is slated for the end of July.

The redefinition of the role of groups in Seafile is the most notable change in version 6.3. Group-owned libraries and the nesting of groups are completely new features. The support of multiple storage backends and the persistence of public links are two more major improvements introduced in version 6.3. More details about these and the many other improvements are coming up in the rest of this announcement.

Redefined groups: Group-owned libraries & group nesting

Through version 6.2, the ownership of libraries was limited to users. Reacting to feedback from user base, this changes in the current release! Beginning with version 6.3, ownership of a library can lie with a user or with a group. Additionally, groups can be assigned quotas and they can have sub-groups. With this change, we aim to facilitate file and storage management in larger organizations with frequent group entries and exits. Here is just one example of where we think group-owned libraries will be of help: If a user leaves a group, no more libraries must be transferred from this user to another.

Groups able to own libraries are called departments, their sub-groups sub-departments. All libraries created in a department by a department administrator belong to this department and can be accessed by all department members – either with read-only or read-write permission. Of course, commonly-owned libraries can be shared to other groups and users outside the department.

图片 1

Departments can be created and managed via the admin panel (see figure). An unlimited number of admins and users can be named as members. In a future release, we will add the ability to transfer ownership from a user to a department.

More storage options: Support for multiple storage backends

With Seafile Professional 6.3, different local storage backends (e.g., local disk and Ceph storage) can be combined and used together for one Seafile server instance. To use this feature, all data need to be sent to the Seafile server which then determines where to store the data based on the individual configuration.

Besides increasing general storage flexibility, multiple storage backend support also opens up new application areas for Seafile. In one implementation scenario, which we deem attractive, fast disk storage is operated side-by-side with slow, high-density optical storage. When a new library is created, the user chooses whether to make the library hot access and to store the library in the disk array or on the optical storage for long-term archiving.

Reliable URL-file access: Persistent public links

Did you know: A sharing link was rendered unusable when the file or its folder was moved or renamed? We did know and we did not like it! This is why Seafile Professional 6.3 does away with it!

Beginning with version 6.3, public links are persistent and immune to file transactions such as renaming or moving. Public links also stay intact when library ownership changes. Only deleting a library, this you can’t do without harming the public link.

Faster document previews: PDF and office file preview with pdf.js

Good news for all those that use Seahub without Collabora or OnlyOffice integration: Seafile’s built-in document file preview is a great deal faster now. Instead of rendering office documents in HTML, they are converted into PDF format and displayed as such. pdf.js, which Seafile uses for that purpose, has also been updated.

New markdown editor and updates: Shared improvements with the Seafile Community Server

Seafile Professional Server 6.3 inherits all improvements and updates that the earlier released Seafile Community Server 6.3 features – for which a production version was made available since the beginning of the week. Below a summary of the three most important shared improvements.

WYSIWYG Markdown editor

Seafile Community Server 6.3 introduces a brand new, Seafile-made WYSIWYG markdown editor. The new editor provides two important features so far missing from (almost all) other markdown editors: WYSIWYG table-editing and image inserting.

It replaces the old non-WYSIWIG editor which – unfit for extensions – proved to have reached the end of its lifetime.

A new table is added by clicking on the table icon in the menu bar. Rows and columns can be added/removed and alignment changed quickly by means of context-sensitive menu buttons (see figure).

图片 2

Images can be inserted by simply dragging&dropping the files form the file manager into the editor, through the clipboard or the image icon in the menu bar. Similarly, links to other files in the same library can also be easily added by drag and drop. Another boon of the new editor: It supports markdown shortcuts. For example, * + space at the beginning of a line inserts a list.

WYSIWYG is enabled in the Rich Text Editor. The lovers of MD code’s clarity can switch to the Plain Text Editor by clicking on the three dots button.

Django and jQuery Update

Django 1.8, which was used since Seafile version 5.1, was deprecated in April 2018. Both Seafile Server editions have now been updated to Django 1.11. The long-term support of Django 1.11 runs until mid-2020. As a consequence of the upgrade, the FastCGI mode is no longer supported. Seafile behind Nginx/Apache must be configured in WSGI mode as of now.

jQuery was also updated to version 3.3.1

Minor Seahub redesign

Version 6.3 introduces a slight modification of Seahub’s navigation bar. In an attempt to make the positioning of the action buttons more consistent across pages, the buttons moved to the top bar (see figure).

图片 3.png

 

For more details on the Seafile Community Server 6.3, see the corresponding release statement (https://forum.seafile.com/t/seafile-server-6-3-is-ready-for-testing-a-wysiwyg-markdown-editor-and-more/6250).

Changelog

  • Support nested group and group-owned libraries
  • Update Django to version 1.11, remove FastCGI support
  • Update jQuery to version 3.3.1
  • Update pdf.js to version 1.19, use pdf.js for preview pdf files
  • Docx files are converted to PDFs and preview via pdf.js in built-in preview
  • [fix] Fix some bugs with OnlyOffice and CollaboraOffice
  • [fix] Use mobile version of OnlyOffice if viewed via mobile devices
  • Shared sub-folders can be searched
  • Show terms and condition link if terms and condition is enabled
  • Remove login log after delete a user
  • [admin] Support customizable site title, site name, CSS via Web UI
  • [fix] Fix a bug that causing seaf-fsck crash
  • [fix] Cancel Zip download task at the server side when user close zip download dialog
  • [fix] Fix crash when seaf-fsck, seaf-gc receive wrong arguments
  • [fix] Fix a few bugs in realtime backup server
  • [beta] Wiki, users can create public wikis
  • Some other UI improvements.

Seafile Pro edition 6.2 is ready

In this release, we continue our effort to improve the user interface of Seafile web and offer features to make organizing files easy and intuitive.

There are three major new features:

1. The login page is redesigned, adding a background image.

2. A statistics module is added. Now you can find report charts for daily active users, daily file operations, and used space

This feature is turned off by default, you need to turn on it by adding the following config to seafevents.conf.

[STATISTICS]
## must be "true" to enable statistics
enabled = true

3. “Admin” permmision when sharing a library to another user/group

Other changes include:

  • Add the ability of tagging a snapshot of a library (Use ENABLE_REPO_SNAPSHOT_LABEL = True to turn the feature on)
  • Add a field Reference ID to support changing users primary ID in Shibboleth or LDAP
  • [Admin] Add an option to enable users to share a library to any groups in the system.
  • Use WSGI as the default mode for deploying Seahub.
  • Use multi-threads in search indexing
  • Support adding a custom user search function (https://github.com/haiwen/seafile-docs/commit/115f5d85cdab7dc272da81bcc8e8c9b91d85506e1)
  • Clean the list of languages
  • Improved performance of loading library list
  • [improve] Improve performance of file history page.
  • [improve] Show two file history records at least.
  • Support OAuth.
  • Support Swift v1 protocol.
  • Enable publish library update events to message queue (like Redis)
  • Other small UI improvements

Enjoy the new version!

How to use Seafile library snapshot to protect your data from Ransomware

A few weeks ago, a new ransomware named “WannaCry” attacked a lot of computers around the world. The ransomware encrypts all the data in affected computer and asks for ransom with BitCoin for “decrypting” the data. However, security experts warn that even if users transfer the ransom, it’s still not possible to recover the data.

This kind of ransomware appears from now and then. It never stops threatening people’s data. “WannaCry” got people to know that how vulnerable their data is. The only valid defense against ransomware is an up-to-date backup of your precious data. Since backup is something Seafile is very good at, we’d like to share how to use one of Seafile’s special feature — library snapshot to easily recover your data.

How does Seafile Protect Your Data

First of all, Seafile cannot help you to decrypt the data encrypted by ransomeware. Whenever you change or add a file inside a synced library, Seafile automatically creates a new version on the server. The old versions of a file is still kept in library history. From Seafile’s point of view, when the ransomeware encrypts a file, it just creates a new version of that file. So you can still find the original version on the server.

File history is a pretty standard feature of all file sync and share products. However, Seafile goes one step further to help you recover all of your encrypted data very easily. Seafile creates a snapshot of the entire library whenever any change is applied to the library. Users can look into any snapshot in the history and restore the entire library to the status of that snapshot, in just one click. Simply put, every library has a “time machine” built into it. With other cloud storage products, you have to either recover the files one by one, or write a script to recover the files in batch. Dropbox does provide a similar service, but users have to contact support manually to ask for recovery.

How to Restore to a Snapshot

In Seafile web interface, navigate into a library. You can find a small “clock” icon on the top-right position of the file list. You can click that icon to view library’s history.

library

Hover your mouse over any change record in the history page. You’ll see the “view snapshot” link.

view-snapshot

Click that link, you’ll see the status of the library after that change was applied.

restore

To the top-right of the file list, you can find a “Restore” button. Clicking that button will restore the entire library to this snapshot state.

That’s it! You defeat ransomeware within a minute. Enjoy!