#community-help

Discussing Features for Typesense Cloud Dashboard

TLDR Stephano expressed the need for a Typesense Cloud dashboard to manage collections. Jason confirmed its development, also including features like editing and deleting items. James and Mica added comments about API key management and self-hosted Typesense compatibility.

Powered by Struct AI

5

2

2

1

50
30mo
Solved
Join the chat
May 14, 2021 (31 months ago)
Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:01 PM
For typesense cloud is there a dashboard to view the items in your collections?
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:02 PM
Not at the moment, but I am working on it as we speak!

1

Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:02 PM
Awesome
07:03
Stephano
07:03 PM
Would be great to be able to add items, remove items and edit items all from the dashboard
07:03
Stephano
07:03 PM
And also perhaps do so with batches of items
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:04 PM
Yup! Here's a sneak peak from my local machine

1

Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:04 PM
Cool, btw can we build the schema in the dashboard so we dont need to have it in code?
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:05 PM
Yup, here's how that looks:
07:05
Jason
07:05 PM
You still have to specify a JSON structure though
Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:06 PM
Oh wicked
07:07
Stephano
07:07 PM
I might move my TypeSense to cloud because of this. So I dont have to run CLI commands just to seed and drop my typesense
07:07
Stephano
07:07 PM
If I delete collection, is there a way to keep the schema via dashboard?
07:07
Stephano
07:07 PM
Or even, could I batch delete documents while keeping the collection
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:07 PM
Unfortunately no, state is only stored in the Typesense Cluster, so once a collection is deleted, it's gone
07:08
Jason
07:08 PM
Are you essentially looking to "reset" the collection to 0 documents?
Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:08 PM
Yes
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:08 PM
Got it, alright I'll add that in as well!
07:09
Jason
07:09 PM
In hindsight, that's a pretty useful feature! Don't know why I didn't think about it :)
Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:09 PM
Maybe it could be better to have a way to select multiple items and then perform the action (delete)
07:09
Stephano
07:09 PM
And you can have an option to select all
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:10 PM
Selecting individual docs across millions of documents could be chore though. I'm essentially thinking of adding a way to delete by filter query through the UI: https://typesense.org/docs/0.20.0/api/documents.html#delete-by-query
07:11
Jason
07:11 PM
So you can either delete all documents, or delete a subset by specifying a filter
Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:12 PM
Right, in practice I only need to delete all during dev anyway
07:12
Stephano
07:12 PM
But would be nice in production to be able to delete by specific ID using dashboard

1

07:13
Stephano
07:13 PM
Another thing that’s really important for me is creating a batch of documents
07:13
Stephano
07:13 PM
In my code I do this:
export const importDocumentsReq = (collection: string, data: Array<any>) =>
  axios({
    method: 'post',
    url: `${protocol}://${host}:${searchPort}/collections/${collection}/documents/import`,
    headers,
    data: toJSONL(data),
  }).catch(throwSearch);
07:14
Stephano
07:14 PM
Where I basically run the import request
07:14
Stephano
07:14 PM
When I want to seed a bunch of documents
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:14 PM
Adding documents looks like this, which does an import behind the scenes
Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:14 PM
Oh wicked
07:14
Stephano
07:14 PM
Is there a way to import a file to do this easier?
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:15 PM
Not at the moment (wanted to get a MVP out soon)
Stephano
Photo of md5-1b5a9819eb84d9342bdcd7da73258779
Stephano
07:15 PM
Gotcha, looks good to me
07:15
Stephano
07:15 PM
Resetting Users and uploading batches/schemas is really all I needed
07:15
Stephano
07:15 PM
Super excited man, great work
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
07:16 PM
Thank you!
07:16
Jason
07:16 PM
Can't wait to get this out... So many people have asked for this now!

1

James
Photo of md5-73a13a5101abfa5eb1a267e7a51e2459
James
08:31 PM
Listing existing API keys would be useful. Also, I do not like how the api keys are downloaded to a txt file
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
08:49 PM
James Got it, I need to refactor some parts of the code to centralize key management in one place, so decided to skip it for mvp. But definitely part of the plan.
08:50
Jason
08:50 PM
I guess instead of downloading a txt file, we could just show the API key one time on the page itself
James
Photo of md5-73a13a5101abfa5eb1a267e7a51e2459
James
08:51 PM
I think so. More secure and in “one place”.
A sandbox search/facet area would also be useful - test before production. Maybe performance suggestions

1

Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
08:57 PM
Yup, here's how the search sandbox looks:

2

May 17, 2021 (30 months ago)
Mica
Photo of md5-a9a351e11d64f05b41fec183816a0cda
Mica
12:14 PM
Would this visual dashboard work for self-hosted Typesense too? It looks really nice!
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
06:09 PM
Thanks Mica! The dashboard is baked into Typesense Cloud, and so works only with Typesense Cloud clusters
06:10
Jason
06:10 PM
Stephano James Good news! Powered through some remaining pieces over the weekend and deployed the dashboard to prod this morning!

1

06:11
Jason
06:11 PM
I'd love to get your feedback!
Mica
Photo of md5-a9a351e11d64f05b41fec183816a0cda
Mica
06:17 PM
So it's not planned to have this dashboard for self-hosted Typesense? It would be awesome to be able to play with, since Typesense Cloud doesn't have a free tier.
Jason
Photo of md5-8813087cccc512313602b6d9f9ece19f
Jason
06:28 PM
&gt; So it's not planned to have this dashboard for self-hosted Typesense?
Not at the moment, because the dashboard has some hard dependencies on the cloud management console for auth, etc and it would take some effort to make it work with self-hosted Typesense. In full transparency though, Typesense Cloud is how we sustain our small bootstrapped team and the Typesense project, so we're hoping the dashboard gives people a reason to use Typesense Cloud... Still thinking this through, but that's our thought process at the moment.

&gt; It would be awesome to be able to play with, since Typesense Cloud doesn't have a free tier
Typesense Cloud has a 30-day free tier on the 512MB config

1

James
Photo of md5-73a13a5101abfa5eb1a267e7a51e2459
James
06:29 PM
Jason Top Work!

1

May 26, 2021 (30 months ago)
Mica
Photo of md5-a9a351e11d64f05b41fec183816a0cda
Mica
09:05 AM
I fully understand that you rely on Typesense Cloud and that if it's hard to make it work for local use it's not a priority. Thanks for the explanation!

It's been a while I looked at the pricing I forgot there was a 30-day trial, that's cool! I'll just have to make sure when to activate it, haha.