On July 1, 2020, SeaTable 1.0 saw the light of day. Since then, it has been pulled from Docker Hub over 100.000 times. This overwhelming interest in SeaTable has pushed us ahead, and we are happy to announce a major milestone in the development of SeaTable: We rolled out SeaTable 2.0 on SeaTable Cloud and published it on Docker Hub for private installations.
At first glance, SeaTable 2.0 has a striking resemblance with SeaTable 1.0. In terms of features, user experience, stability, and integration, however, SeaTable 2.0 has come a long way from version 1.0 in July 2020. If you liked SeaTable 1.x, you'll love our latest release.
SeaTable 2.0 boasts an enormous number of feature additions and improvements - all of which you find documented in SeaTable's SeaTable Changelog. Highlights of this release are three new column types, several new column customization options, two entirely new plugins and major improvements to SeaTable's existing plugins. There are also important changes under the hood: SeaTable 2.0 ships with a new environment for running Python scripts, and system admins will appreciate the monitoring capability provided by the external link page.
And there is more good news! Thanks to a fantastic community effort, we could add Russian as a fifth interface language besides English, German, French and Chinese.
Column type #22: Formula for links
The ability to establish relationships between records through links is one of SeaTable's key differentiators over traditional spreadsheets like Excel and Google Sheets. While the latter can link cells (e.g., in formulas), SeaTable, being a spreadsheet-database hybrid, supports 1:1, 1:n, and n:m relationships between records.
The link formula column is a special column to evaluate existing links and to perform calculations. Five different queries are available: lookup, countlinks, rollup, findmax, and findmin. Where sensible, filter options allow even more detailed calculations (e.g., calculation of an average over records that are not older than 6 months old). Thanks to the graphical wizard, using the link formula column and specifying more complicated queries is effortless even for non-technical users.
More control over linking records
By default, SeaTable does not limit the kind of relationship between records in columns of type 'link other records'. In some use cases, however, a 1:1 or a 1:n relationship should or must be enforced. An asset management system is just one example: A projector can only be in one room at any time. Similarly, a test machine can only be used for one test at a time.
Starting with SeaTable 2.0, link columns come with the additional control "Allow linking to multiple rows". When disabled - it is enabled by default - a record in the current table can only be linked to one record in the associated table. For the two examples above, this means that SeaTable ensures that the projector doesn't have to be looked for in several rooms, and it prevents the test machine from being allocated to multiple tests at the same time.
Besides the control for restricting the number of linked records, we added a second control for limiting the type of records that can be linked. By enabling the switch "Limit row selection to a view", records in the current table can only be linked to records in the associated table that are contained in the chosen view. If a record in the associated table is filtered, it is not available for linking. The control comes into use where it is essential to prevent relationships between particular records. Using the test machine example once again: When the test machine undergoes its annual service, the corresponding status flag excludes it from the view containing the available test devices. As a consequence, the machine cannot be linked to new test sessions.
Column type #23: Rating
SeaTable's web forms are great for simple surveys. In no time, a web questionnaire is set up and ready for circulation. All the responses end up in the SeaTable base where all the simple and more advanced analysis tools are available for data crunching.
The new rating column is ideal for such surveys: "Were you happy with the service provided?" or "Would you recommend us to your friends?" Five stars is a clear vote of confidence; two stars leaves lots of room for improvement. But the new column type is not only good for customer satisfaction surveys. You want your team to cast a vote on a new product name? Leads collected in a base need a high-level quality assessment? The new rating column is there to help you!
The rating field supports ratings from 1 to 10 stars. If you don't like the stars' default orange, one of the other nine colors will certainly do the job. As the need arises to change the rating scale, you can do this on the fly. When extending the rating scale, the existing ratings are not altered, when shortening the scale, the existing ratings are trimmed to the newly set maximum rating.
More flexible forms: Custom logo, linked record support, and prefilled fields
The rating column is not the only change in SeaTable 2.0 boosting the versatility of SeaTable's web forms. The custom logo is the most notable new feature in SeaTable's web forms. You can embed a logo of your choice atop the form.
Less visible than the logo, but all the more important: SeaTable 2.0's web forms can now handle link columns. Link columns are more flexible and dynamic than the alternative single select columns and so allow even more detailed surveys.
Invisible in the editor, yet extremely powerful, is the prefill option. In order to prefill a field in a form, just add '?prefill_COLUMNNAME=PREFILLVALUE' to the form's URL. (COLUMNNAME is the name of the field to be prefilled, PREFILLVALUE is the value to insert by default. Spaces in column names must be entered as "%20" and they are case-sensitive.) Several fields in a form can be conveniently prefilled by concatenating multiple columnname-prefillvalue pairs using the ampersand ("&").
Column type #24: Geolocation
Thanks to the map plugin, visualizing the geographic distribution of a data collection is a matter of seconds in SeaTable. The plugin interprets and plots addresses as well as other location information on a Google Map. In some cases, however, location descriptions are just not precise enough. Worse, location descriptions may not be precise over time. This is why we decided to add the geolocation column as SeaTable's 24th column type.
A geolocation column stores latitude and longitude coordinates as comma-separated values. So whether you are a biologist tracking the sightings of your object of study or a photographer geocoding your shots, the geolocation column does exactly what you need: it captures the precise, inalterable position for your later analyses.
Optional default values for columns
There are columns whose cells almost always contain one particular value when creating a new record. Think a status column in project management or a text field that is to always start with an identical string. Wouldn't it save a lot of time if, for every new record, this value was automatically set?
We think so, and this is why, beginning with SeaTable 2.0, text, number, and single-select columns support default values. If a default value is defined, a new cell is automatically filled when a new record is created. If the new record is the odd one out and the default value is not the right one, the default value can be manually overridden at any time.
New plugin: Page design
The new page design plugin generates single and multi-page PDF documents using data saved in a SeaTable base. We at SeaTable generate license certificates with the new plugin. Yet, the use cases go way beyond that: You can just as well create partner certificates for your business associates or membership cards for your tennis club. If you manage your product portfolio in SeaTable, datasheets for all your products are just a few clicks away. If you use SeaTable for recruiting purposes, a PDF job posting does not cost you any extra time.
Every document created by the page design plugin is based on a template. The design of a template takes place in a WYSIWYG editor which the plugin ships with - no external editor required. The page design editor offers a variety of static elements such as texts, tables, and images and supports many editing functions (e.g. crop, rotate, align). If your template does not look nice, it's not the editor's fault! ;-) The editor saves the templates as JSON-files; a straightforward import and export function guarantees template portability.
New plugin: Kanban
A Kanban board is a great tool for visualizing, managing, and supervising projects, lead pipelines and many other business challenges. In fact, Kanban has proven to be so successful in many real-world applications that a great number of programs have been developed with a Kanban board at its core.
With version 2.0, SeaTable can also visualize tabular data on a Kanban board. A board's categories are taken either from a single select or a collaborator column. The Kanban view can be thus used for applications as various as human resource management, manufacturing, sales, software development, and task management. New categories and records can be created right in the Kanban view without leaving the plugin. Making the view as interactive as possible, the plugin also supports dragging and dropping.
Improved plugins: Calendar, Timeline, Gallery, and Map
While we have dedicated a lot of time to our two new plugins, we haven't forgotten the existing plugins. All four major plugins have been improved!
The calendar plugin in SeaTable 2.0 now features an agenda, a daily and a weekly view in addition to the existing annual and monthly views. Additionally, the daily, weekly, and monthly views support dragging and dropping, and new events can be created right in the view by clicking and pulling. The agenda view lists off all events in a weekly period and in chronological order. It is great when the content of the calendar needs to be printed. Last but not least, we also added a color option for events. Events can take the color of a single select column.
The new timeline view offers a color and label option for the events shown in the Gantt diagram.
The gallery view is now optimized for mobile devices and the user interface has undergone some changes to improve user experience and data display.
Keeping track with the developments in the column type department, SeaTable 2.0's map plugin now supports the new geolocation column type.
Snapshots capture the state of a base at the time of their creation. They prove invaluable when, after some wide-ranging changes, a base needs to be reverted to an earlier state.
In the past, SeaTable created a snapshot of a base automatically every 24 hours when it recorded activity in the base. SeaTable 2.0 now also knows manual snapshots: One click and a snapshot of the base as-is is made. As insurance against unintended data loss, this click is highly recommended whenever the structure of the base (especially column and table deletions) is to be changed.
Folders for bases
As you use SeaTable every day for more and more tasks, the number of bases in your base library will start to multiply. In SeaTable 2.0, we introduce folders as an easy way to bring structure to your ever-growing number of bases. You can create new bases inside a folder or you can move existing bases inside a folder by just dragging and dropping.
Data leakage prevention
When a base contains confidential data, it is imperative to prevent the accidental or malicious leakage of data. Similarly, privacy regulations mandate sensible technical measures to protect personal information. Data leakage prevention is certainly one of those measures.
In order to meet these high standards, SeaTable 2.0 offers additional security settings to safeguard data in bases. In the new security settings, the base owner can decide whether or not a base can be printed, duplicated, and/or exported. The owner can set these permissions independently for all users and users that have a sharing permission to the base. If a base is group-owned, the group owner and the group administrators have the right to set these settings.
Python script environment
This flexibility comes at a price though: The server-side execution of Python scripts raises security concerns. In order to minimize implied risks, we have added two components and isolated the main system from the execution environment of the Python scripts. As a team, the new SeaTable FAAS Scheduler and Python Runner ensure security and scalability. Every time a python script is run, a Docker container spins up and executes the script. The result is returned to SeaTable and the Docker Container is destroyed. By deploying multiple Python Runners, large numbers of scripts can be processed without waiting time. (More details are available in the SeaTable Admin Manual).
External link page
An external link is quickly created to share information with external partners. The option "Automatic expiry" can also be used to limit the lifetime of a link. In reality, however, this does not always happen and so external links can persist even after their use has ended.
So that the team administrator can get an idea of the existing external links, SeaTable now offers an overview page of the external links in the team administration. The existing external links for bases and views are listed in two tabs. The tabular display offers information about the creator and creation date as well as the number of calls. However, the team administrator does not only have read rights. If a link is to be deactivated, he can do this as well.