List of bugs and requests from a newish user

Hello,

I’ve been using Seatable for about 2 months, I’m on v 1.8.4 of the self hosted professional edition. First of all, thanks for the great tool, I’m really enjoying it so far. I love that it can be self-hosted, and I’m getting lots of use from the API (which has great documentation) and the scripting capabilities. I thought I’d share my list of bugs and requests from my experience so far.

  1. (Request) When I have more linked records than what can fit in the ‘row details’ popup, I find it difficult to find the rest of the records. The ‘…’ indicator at the bottom of the list should be clickable to show all records. Same goes for the Print function from the Row Details pop-up, I do sometimes print these to PDF but without all the records shown it’s less useful.

  2. (Request) I see that in v2.0 you have added the feature to specify default column values, which is great! I’m hoping this includes dynamic values. The best example is when I want to populate a date cell with today’s date by default, to have a cell keep a record of what date the row was added.

  3. (Bug, I think) The calendar plug-in is great, but for some reason all my rows appear in the calendar view on the day before the one shown in my date cell. My simple fix is to add a new column that adds 1 day and to use that as the calendar date field. Which leads to #4:

  4. (Request) When any date in my column is not valid (for example: adding 1 day to a blank date cell results in #VALUE) and the calendar plug-in is using that date, the calendar plug-in simply doesn’t open. No error message or any indication of the problem, just nothing happens on a click. It would be nice if there was a useful error message, I uninstalled/re-installed the plugin multiple times before I figured this out.

  5. (Request) What would take the views to the next level would be the ability to have a different column order and column width in each view. For my use cases I care about different columns in my different views but the fixed order makes it more difficult to see what is important.

  6. (Bug) On a Button-type column, the ‘Edit button’ menu selection results in a complete crash of the application. I’m using the chrome app if it helps.

  7. (Bug, maybe) For the most part the Javascript scripting works well. The exception is the base.addLink function - I have never been able to get this to work. I have no trouble adding a link through the API using identical values for the linkID, table names, and row IDs, but when I use the Javascript funciton I get an error about an invalid table name, no matter what I do. Happy to provide more details if needed.

  8. (Request) I have seen elsewhere in the forum that Python scripting is not available in the self-hosted version, and I have not been able to get it to work. Is this still the case?

Thanks,

Peter

1 Like

Hi Peter,

this is Ralf. I am part of SeaTable GmbH’s management team.

We’re glad to hear that SeaTable has proven to be a great productivity tool for you. Thanks also for your explicit thumbs up on the API reference. It confirms that our recent switch to postman is paying off.

Thanks also a lot for taking the time to write down your feedback. Let me quickly comment on your eight points - that’s the least thing I can do.

As for 1.) We’re working on that. We are aware that the display of linked records offers room for improvement. Not only in the row details. Give us a little more time.

As for 2.) SeaTable 2.0 will support static default values in columns of type text, number and single select. Your proposal is interesting and we’ll think about it. This said: The one use case you explicitly point out we’ve already taken care of: Just use the “Created time” column (see below)

As for 3.) The calendar plugin is currently under review. SeaTable 2.0’s calendar plugin will have additional views and support drag’n’drop. The plugin in our development system is quite great. This is something to look forward to. The issue described by you we have never heard of before though. (Maybe it’s got something to do with the timezone. Which timezone are you in?)

As for 4.) Thanks for pointing this out. This is obviously a bug we need to fix.

As for 5.) Great idea. We’ll keep that in mind. But no promises as for implementation. As you can imagine, we are not short of great ideas for SeaTable.

As for 6.) Thanks again for highlighting.

As for 7.) @Karlheinz Can you comment?

As for 8.) You can run Python scripts in the self-hosted version. We updated the SeaTable manual recently. Please have a look at the new section on the Python Runner.

To summarize: If my tally is correct, we have already completed two of your five requests! :wink: We’ll work hard to fix the bugs and also implement the other requests.

Hi, thanks for your requests and bug report, really appreciate them!

About 7) - base.addLink works perfectly fine by me. Would you please provide your JS code and the API request?

Thanks very much @rdb for all the great feedback, much appreciated.

@Karlheinz, here are selected lines from my JS code:

const linkID = base.getColumnLinkId(‘Test Table’, ‘linktest’)
alert("adding " + row[‘Name’] + " " + linkID + " " + base.context.currentRow._id + " " + row._id);
base.addLink(linkID, ‘Test Table’, ‘TestTable2’, base.context.currentRow._id, row._id);

The way I create the API request is to copy/paste the values of linkID and row IDs from the alert pop-up, (so I know the variables are properly set) which results in:

curl --location --request POST ‘https://abc.ca:14020/dtable-server/api/v1/dtables/b15c1550-9bf0-4c0f-a00f-621959db8c00/links/
–header 'Authorization: Token
–header ‘Accept: application/json’
–header ‘Content-Type: application/json’
–data-raw ‘{
“table_name”: “TestTable2”,
“other_table_name”: “Test Table”,
“link_id”: “KQ1s”,
“table_row_id”: “Ha7zXRtIRbWrKsxywi3SoQ”,
“other_table_row_id”: “Gg20IucTTBSHY-BaYa7w9Q”
}’

reply is:
{“success”:true}

and I see the link appear in the table.

In the JS console I get: "error: Invalid linked table “TestTable2” although the table does exist and the same table name in the API works fine.

Any ideas? Much appreciated!

Peter

Hi Peter, thanks for sharing your codes.

In your API code, the ‘Test Table’ is the other_table_name and the ‘TestTable2’ is the table_name, while this is the opposite in your JS code.

Perhaps switching ‘Test Table’ and ‘TestTable2’ could do the trick?

base.addLink(linkID, ‘TestTable2’, ‘Test Table’, base.context.currentRow._id, row._id);

Let me know if this works!

Karlheinz

Amazing, I had tried that during my troubleshooting and ruled it out, but I must have made a mistake somewhere because I tried it again this morning and it worked perfectly.

@rdb - for #3, I am in the America/Edmonton timezone. My server and computer are both set to the same timezone. My ‘fix’ works fine, but during my troubleshooting I found a new bug. I turned on the “accurate to minute” toggle, which I previously had turned off. That shifted everything in the calendar back one day. When I turned the option off, the date in the column was now moved back one day. Every time I turn the option on, then off, all dates in the column shift back by one day. Perhaps the way the calendar and the date column interpret dates/times exactly at midnight could be the issue?

Thanks,

Peter

Also, one more comment, perhaps related to the calendar issue #3.
When I have a date column with a date (say - 2021-05-03) and I use the formula “dateAdd({Date}, 1, “days”)” in a formula column, the result is the same day (2021-05-03). If I use “dateAdd({Date}, 2, “days”)” I get the next day (2021-05-04). This is all with the “Accurate to minute” turned off, and I use the ISO date format.

Peter

Hi Peter,
this is odd. It works perfectly on my end. We’ll investigate. Thanks for taking the time to report this.
Best

Hi Peter,

in SeaTable 2.0, we fixed your #4. Can you confirm?

As for #2, SeaTable 2.0 also adds optional default values for text, number and single select columns. We may add default value options to other columns too. (But it’s a 2nd order priority.)

Could you solve your #7 with Karlheinz?

Is #6 still a problem?

The big mystery is #3. We haven’t had time to investigate the problem in greater detail due to 2.0. But it’s on our list.

Hi Ralf, thanks for the follow up, I’m looking forward to upgrading to 2.0 next week.

For #7, this has been resolved. It looks like there is some kind of ‘directionality’ in the linkID which is not transparent, and the correct ordering of the parameters depends on this direction. Maybe a documentation fix would help clarify.

For everything else, I’ll let you know after I try out 2.0!

Peter

Indeed, linking is directional. Once a link column is created, a “direction” is also defined in this column, from the “source row” to the “destination” row.

Hi @rdb,

#4 is indeed fixed, thanks.

#3 is not fixed, so I am still using a second column which adds 1 to the date as the date field for the calendar plugin. I am also still having the issue where, on a date column, with ISO format, turning on “Accurate to Minute” then turning it off again decrements all the dates in the column by 1 day. Not sure if it’s related but both issues seem to point to handling of times exactly at midnight.

#6 was fixed with the latest update, thanks!

Peter

Ok, great! Thanks for getting back and confirming.

Going through this topic, it understand that

  • #2 (request) has been (partly) taken care of
  • #4 (bug) has been fixed
  • #6 (bug) has been fixed
  • #7 (bug) could be solved with Karlheinz
  • #8 (request) has been added

This leaves us with #1, which, for me, falls in the category of constant optimization, and #5 as a 2nd order priority feature request. We’ll keep those in mind, we won’t follow up on these two in this thread. Hope this is ok.

And, ultimately, there is the big mystery #3 which we have on the high priority list. We’ll get back to you.

#1 will be fixed in the 2.1.1, the issue is related to a task called “Linked records only display 10 records”

Great, happy to hear that #1 is on the roadmap!
Peter

@Karlheinz , I just upgraded to 2.1.6, thanks for fixing #1, it was a big headache before but works great in the new version.

2 Likes

Hi Peter,
I wanted to come back to your feedback from April 2021 and summarize the current status:
#1 (request): You can show all records with the (actually not so new) expand icon.
#2 (request): The current version has default values for text, number, single select, rating, and long-text columns. The date column will get static and dynamic default values with the next release, scheduled for release next week.
#3 (bug): Could you please check if this post provides an explanation for your observation?
#4 (bug): fixed
#5 (request): this is on our long-term roadmap
#6 (bug): fixed
#7 (bug): fixed
#8 (request): Script support is available in both self-hosted edition

If you agree, I will close - or actually you can close - this thread. #5 has been noted as a feature request and I don’t think it makes sense to keep this post open just for thie one aspect.

Hello, thanks for the follow-up!

  1. Fixed
  2. I’m happy with the suggested work-around, but this sounds like a great improvement
  3. The post helps explain the behaviour. I still think this could be improved. For example, when I use a date column and put on a filter for Date Is Today, I have discovered through trial and error that it only shows me entries that are before today before 17:00, because of my local timezone. The Date column does not display a time, so what appear to be identical values get filtered differently. Note that in this case I’m populating the date field via the API with an input that does contain time information, which explains the unpredictable answers when I used the dateAdd function.
    Related to this, I still have the issue where turning on, then off, the “accurate to minute” toggle changes the date, see the attached screen capture.
    date problem
  4. Fixed!
  5. Great, still really looking forward to this one.
  6. Fixed
  7. There is still a problem here, but I have a workaround. If I write javascript to add a link, it never works on the first try, running the code produces an error. But, if I then add a link using the API to that specific link column, just one time, the javascript link function (with no changes to the script) works perfectly from then on. So making that one API request has just become a step for me to make a new script that does linking.
  8. Thanks, I haven’t tried it yet due to the relative complexity of setting it up, the javascript is working fine, so far I can live without the schedule-driven execution although it would be nice.

Thanks for the great support and follow-up.

Peter

@Karlheinz Could you have a look?

We redid the setup tutorial. I think we made description much more straighforward to follow.

@Karlheinz , here is the error message shown within the script editor:
error message
and here is my script:
script

Once I execute the same operation using the API (copying the linkID and row IDs from the pop-up, into the curl command copied from the API reference) the code above works perfectly. I only have to do the API request once per linkID, from then on the script is fine.

Peter