Node-solid-server: UI to read the remaining space

Created on 8 Nov 2018  路  7Comments  路  Source: solid/node-solid-server

Quota enforcement is nearly finished in #841 , but obviously, we'd like the user to be able to track the amount that they are using.

The easiest fix for this is to have a simple API exposure, but AFAIK, we can't use an ACL to restrict who can see the remaining quota, and I don't think we should expose it.

So, the better solution is to put it in the RDF along with the quota. That's more work, but it also means that the space left doesn't need to be computed real-time, so it is a solution that would scale better.

However, as there are many issues open, it needs a different prioritization, so I'm opening this issue for it.

feature

All 7 comments

I've proposed a property to indicates how much disk space is in use (https://github.com/solid/vocab/issues/37), but think I also need a property that indicates where serverSide.ttl resides, so that I can fetch that data. Or am I missing an existing property for this already?

Regarding serverSide.ttl: https://github.com/solid/vocab/issues/37#issuecomment-438685697

This may not be the best issue to add this comment; feel free to redirect me/it.

In catching up on a lot of discussion and updates, it seems that when the "test quota on write" fails it results in a notification to the attempting writer -- so if @kjetilk tries to write to @RubenVerborgh's INBOX and that write would exhaust quota, @kjetilk gets notified -- but @RubenVerborgh does not.

This is troublesome, as @kjetilk's best (and possibly only) way to inform @RubenVerborgh of this problem is via his inbox ... which is full. I think that this is a place where NSS might use @RubenVerborgh's email address to send such a notification without consuming further NSS-quota.

This may not be the best issue to add this comment; feel free to redirect me/it.

In catching up on a lot of discussion and updates, it seems that when the "test quota on write" fails it results in a notification to the attempting writer -- so if @kjetilk tries to write to @RubenVerborgh's INBOX and that write would exhaust quota, _@kjetilk_ gets notified -- but @RubenVerborgh does not.

This is troublesome, as @kjetilk's best (and possibly only) way to inform @RubenVerborgh of this problem is via his inbox ... which is full. I think that this is a place where NSS might use @RubenVerborgh's email address to send such a notification without consuming further NSS-quota.

I think this is better suited as its own issue? But I think it's definitely something we should consider some solution for.

So I'm getting to the point where a user has a virtual resource that gives you the size available in the POD (solid:storageQuota) and how much is currently used (solid:storageUsed). We should use some kind of caching mechanism, and I'm wondering if anyone has any suggestions?

Can you cache in a tree? If you keep a tree, wherein each node is a tuple (size, max(lastModified, children))?

And then use one of the tricks in https://stackoverflow.com/questions/5566310/how-to-recursively-find-and-list-the-latest-modified-files-in-a-directory-with-s to see whether a file was modified in the last 5 minutes?

I introduced this conversation in solid/node-solid-server as well, and think I landed on using lru-cache to cache the response that is created.

I think that's a better match then creating a cache-mechanism from scratch.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JornWildt picture JornWildt  路  6Comments

ludwigschubi picture ludwigschubi  路  3Comments

rubensworks picture rubensworks  路  4Comments

WhyINeedToFillUsername picture WhyINeedToFillUsername  路  3Comments

jaxoncreed picture jaxoncreed  路  5Comments