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.

Photo of Stephano
Stephano
Fri, 14 May 2021 19:01:36 UTC

For typesense cloud is there a dashboard to view the items in your collections?

Photo of Jason
Jason
Fri, 14 May 2021 19:02:28 UTC

Not at the moment, but I am working on it as we speak!

Photo of Stephano
Stephano
Fri, 14 May 2021 19:02:38 UTC

Awesome

Photo of Stephano
Stephano
Fri, 14 May 2021 19:03:25 UTC

Would be great to be able to add items, remove items and edit items all from the dashboard

Photo of Stephano
Stephano
Fri, 14 May 2021 19:03:53 UTC

And also perhaps do so with batches of items

Photo of Jason
Jason
Fri, 14 May 2021 19:04:07 UTC

Yup! Here's a sneak peak from my local machine

Photo of Stephano
Stephano
Fri, 14 May 2021 19:04:57 UTC

Cool, btw can we build the schema in the dashboard so we dont need to have it in code?

Photo of Jason
Jason
Fri, 14 May 2021 19:05:37 UTC

Yup, here's how that looks:

Photo of Jason
Jason
Fri, 14 May 2021 19:05:46 UTC

You still have to specify a JSON structure though

Photo of Stephano
Stephano
Fri, 14 May 2021 19:06:21 UTC

Oh wicked

Photo of Stephano
Stephano
Fri, 14 May 2021 19:07:06 UTC

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

Photo of Stephano
Stephano
Fri, 14 May 2021 19:07:22 UTC

If I delete collection, is there a way to keep the schema via dashboard?

Photo of Stephano
Stephano
Fri, 14 May 2021 19:07:57 UTC

Or even, could I batch delete documents while keeping the collection

Photo of Jason
Jason
Fri, 14 May 2021 19:07:58 UTC

Unfortunately no, state is only stored in the Typesense Cluster, so once a collection is deleted, it's gone

Photo of Jason
Jason
Fri, 14 May 2021 19:08:30 UTC

Are you essentially looking to "reset" the collection to 0 documents?

Photo of Stephano
Stephano
Fri, 14 May 2021 19:08:34 UTC

Yes

Photo of Jason
Jason
Fri, 14 May 2021 19:08:46 UTC

Got it, alright I'll add that in as well!

Photo of Jason
Jason
Fri, 14 May 2021 19:09:21 UTC

In hindsight, that's a pretty useful feature! Don't know why I didn't think about it :)

Photo of Stephano
Stephano
Fri, 14 May 2021 19:09:40 UTC

Maybe it could be better to have a way to select multiple items and then perform the action (delete)

Photo of Stephano
Stephano
Fri, 14 May 2021 19:09:51 UTC

And you can have an option to select all

Photo of Jason
Jason
Fri, 14 May 2021 19:10:56 UTC

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:

Photo of Jason
Jason
Fri, 14 May 2021 19:11:20 UTC

So you can either delete all documents, or delete a subset by specifying a filter

Photo of Stephano
Stephano
Fri, 14 May 2021 19:12:17 UTC

Right, in practice I only need to delete all during dev anyway

Photo of Stephano
Stephano
Fri, 14 May 2021 19:12:40 UTC

But would be nice in production to be able to delete by specific ID using dashboard

Photo of Stephano
Stephano
Fri, 14 May 2021 19:13:08 UTC

Another thing that’s really important for me is creating a batch of documents

Photo of Stephano
Stephano
Fri, 14 May 2021 19:13:36 UTC

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);```

Photo of Stephano
Stephano
Fri, 14 May 2021 19:14:00 UTC

Where I basically run the `import` request

Photo of Stephano
Stephano
Fri, 14 May 2021 19:14:10 UTC

When I want to seed a bunch of documents

Photo of Jason
Jason
Fri, 14 May 2021 19:14:13 UTC

Adding documents looks like this, which does an import behind the scenes

Photo of Stephano
Stephano
Fri, 14 May 2021 19:14:32 UTC

Oh wicked

Photo of Stephano
Stephano
Fri, 14 May 2021 19:14:42 UTC

Is there a way to import a file to do this easier?

Photo of Jason
Jason
Fri, 14 May 2021 19:15:01 UTC

Not at the moment (wanted to get a MVP out soon)

Photo of Stephano
Stephano
Fri, 14 May 2021 19:15:10 UTC

Gotcha, looks good to me

Photo of Stephano
Stephano
Fri, 14 May 2021 19:15:27 UTC

Resetting Users and uploading batches/schemas is really all I needed

Photo of Stephano
Stephano
Fri, 14 May 2021 19:15:35 UTC

Super excited man, great work

Photo of Jason
Jason
Fri, 14 May 2021 19:16:01 UTC

Thank you!

Photo of Jason
Jason
Fri, 14 May 2021 19:16:24 UTC

Can't wait to get this out... So many people have asked for this now!

Photo of James
James
Fri, 14 May 2021 20:31:05 UTC

Listing existing API keys would be useful. Also, I do not like how the api keys are downloaded to a txt file

Photo of Jason
Jason
Fri, 14 May 2021 20:49:38 UTC

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.

Photo of Jason
Jason
Fri, 14 May 2021 20:50:00 UTC

I guess instead of downloading a txt file, we could just show the API key one time on the page itself

Photo of James
James
Fri, 14 May 2021 20:51:38 UTC

I think so. More secure and in “one place”. A sandbox search/facet area would also be useful - test before production. Maybe performance suggestions

Photo of Jason
Jason
Fri, 14 May 2021 20:57:24 UTC

Yup, here's how the search sandbox looks:

Photo of Mica
Mica
Mon, 17 May 2021 12:14:20 UTC

Would this visual dashboard work for self-hosted Typesense too? It looks really nice!

Photo of Jason
Jason
Mon, 17 May 2021 18:09:36 UTC

Thanks Mica! The dashboard is baked into Typesense Cloud, and so works only with Typesense Cloud clusters

Photo of Jason
Jason
Mon, 17 May 2021 18:10:26 UTC

Stephano James Good news! Powered through some remaining pieces over the weekend and deployed the dashboard to prod this morning!

Photo of Jason
Jason
Mon, 17 May 2021 18:11:08 UTC

I'd love to get your feedback!

Photo of Mica
Mica
Mon, 17 May 2021 18:17:30 UTC

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.

Photo of Jason
Jason
Mon, 17 May 2021 18:28:23 UTC

> 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. > 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

Photo of James
James
Mon, 17 May 2021 18:29:49 UTC

Jason Top Work!

Photo of Mica
Mica
Wed, 26 May 2021 09:05:51 UTC

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.