Quick verification: "Last Login" in admin interface says what?

Hi,

is our impression true that the “Last login“ data in the admin interface

refers to the last actual login (i.e. explicitly using the login screen), and not the last time a user was active?

To be more clear: The “remember for x days” option seems to not only validate a browser session which is not older than X days, but also seems to extend that session by those X days.

Some of our users just have a tab with a seatable app pinned in their browser, because the App serves a central process here. Is it safe to assume that such a user, provided that he/she opens the browser every [ less than X days ], i.e. every working day, …

  • will always extend the session when the browser opens
  • will stay logged in as long as they are opening the browser every working day
  • even over the Chrismas holidays, because we extended the “remember me“ to 21 days,
  • will never need to log in again,
  • and the “Last login“ stays at the date of the last proper login?

The point: The login of above user was 5 months ago according to the admin console, even though he showed me his logged-in Seatable session this morning.

The background: Using LDAP, our users are automatically self-registered upon login. Over time, possibly a lot of users have logged in either once, out of curiosity, or to contribute as a named user temporarily for a one-off purpose. We’d like to clean up the user base and deactivate those users for a realistic estimate of our licencing needs.

The above phenomenon, if verified, makes the “last login“ information useless for that purpose. It would bother power users who work in Seatable truly every day, and keep their browser session running.

When researching this, I stumbled upon the table dtable_db.user_activity_statistics. This looks very promising - when are the records in this table written? Any other suggestions?

And, of course, a “last active“ datum in the admin interface would be perfect!

1 Like

“Last Login”

“Last Login” is updated if the user hits the home page of SeaTable (=the overview page with all the bases). If a user only uses the base editor or the apps, then this value is currently not updated.

This behaviour will change with version 6.1. Then “Last Login” will also be updated, if a uses a base.

Statistics

SeaTable already provides a lot of API’s: Get Active Users (per Day).
Also these will be enhanced with version 6.1. Therefore I would ask to be patient for some more weeks and then you will get an updated documentation with the latest features.

Best regards
Christoph

1 Like

Thanks for the quick verification. Since some of our main use cases use Apps for 80% of their users, a lot of them will never see the home page.

However, I have minor doubts about “the overview with all the bases“ - sorry about that. Quick check: This is my current user - and since I basically live within Seatable, there has been no day in the last eleven that passed without me visiting the home screen, apart from the weekend:

grafik

and this is the same user after I explictly logged in using a private browser window.

grafik

Anyway, that’s not the point - what is really urgent for me is some plausible data to start cleaning up our user base. As much as I appreciate (as always) the stellar amount of improvements you stuff into each Seatable release, I’m afraid this time I’m under enormous pressure to do this now, so I can’t wait for 6.1.

Therefore one final question: I had a look into that Stats API, and got the feeling that the dtable_db.user_activity_statistics table may be the basis for those stats. Is that correct? From my reading, the following extract just tells me the days that I was active in Seatable, right?

If that is true, I think I might have enough data to find inactive users if you could answer me these questions:

  • What qualifies as activity to get an entry in that table?
  • How often is the data purged? I have users with no data in that table at all - either they didn’t do stuff that counts as activity, or the data has been purged after X days

If someone is interested: Here is my SQL (bad style, maybe wrong, but the best I have at the moment) to find the newest active day for each user:

select distinct a.username,
    (select distinct max(b.timestamp)
    from dtable_db.user_activity_statistics b
    where b.username = a.username)
from dtable_db.user_activity_statistics a;

And one final note: The whole exercise also helps me to write an upcoming data protection review. Just logging a “yes/no“ activity summary per day is just the right amount of data to collect IMHO.

In general, this is the correct database table. However, the problem is that not all activities are recorded in it. To be specific: every user listed in this table definitely used SeaTable on that day, but if a user is missing from the table, it doesn’t necessarily mean they didn’t use SeaTable at all.

I’m sorry to repeat myself, but this limitation will be fixed in version 6.1. The APIs will then provide more comprehensive data and improved filter options.

Or to say it with my words: currently, you can’t be 100% sure, that this database is complete.

1 Like

Thank you! Your reply, together with the information we gain from the “last login“ data and other information, are sufficiently plausible to find quite a lot of users who never actually worked in Seatable. Enough to give us some breathing space. Now I can live in peace (and patience) again :slight_smile:

For the imminent future, we have an automation in place which prohibits the self-registration through LDAP, which threatened to kill our server every time users exceeded the license limit.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.