[Free] Baserow Database Extension - A Database Extension for Baserow

Great to have you here. While you are here I’d like to take the opportunity to suggest something that in my opinion could be game changer. I found out that baserow have websocket api however it is very limited. Would it be possible to implement functions to be able to use websocket api to add, update, delete data from table? This could be an alternative to firebase real time database. Thanks

That’s awesome!

I don’t have an ETA on production grade Docker images. This month (August) is going to be super busy., but I think we can reserve some time for that in September. It’s then also time for a helm chart or Kubernetes manifest files.

Thanks so much Peter! It’s always nice to hear when people like our product.

1 Like

Great suggestion. This is actually the first time I’m hearing about a request like that. The web socket API is only used for real time collaboration at this point. The backend only broadcasts certain events.

In short, it would definitely be possible! The code of Baserow is modular and clearly separated. That means that the REST API is completely separated from the code that actually creates, updates and deletes rows. We could use the web socket API to handle those actions. We just need to figure out a way to actually accept messages and call right handler function.

2 Likes

That would be a winner if you guys could make it happen. I talked to @iamwsumit about this when i purchased extension from him and he would make an extension for it.

Version 2

Version 2 of the extension is released.

Features

  • Self Hosting added. Now you can use you self hosted baserow by just changing the URL in extension property and rest is same.

  • Json Parse added for extract the lists from the response.

  • Page parameter has added. Now you can fetch custom data.

Blocks Added

Only 2 block has added to this version.

component_method

This block helps you to ectract the list of a particular column by response received from the events.
For example, if you have a response received by the Got All Row event.

{
    "count": 1024,
    "next": "https://api.baserow.io/api/database/rows/table/4946/?page=2",
    "previous": null,
    "results": [
        {
            "id": 0,
            "order": "1.00000000000000000000",
            "Name": "string",
            "Last name": "string"
        },
        {
            "id": 0,
            "order": "1.00000000000000000000",
            "Name": "string",
            "Last name": "string"
        }
    ]
}

If you want to get all the names from this json response then simply pass this json text to response parameter and Name to column Name. And the block will return you the list of all names.

image

A property has added for setting the URL for self hosting. If you are not using self host then ignore it.

Blocks Changed

image

page parameter has added to these three block for fetching the custom data from the table. Page parameter work in respected to max record and total rows of the tabel.
For example, Here I have a table

Firstname Lastname Age
Jill Smith 50
Eve Jackson 94
Eva Malik 54
Lorem Ipsum 49
Mark Hood 45

If you have used Get Column block with max record 2 and page 2 then row 3,4 will be fetched. This depend on your max record and total rows of the table. This simply divides the rows with your max record and divided rows can called page. You have 5 row, max record 2 then 5/2 then you will have 3 pages. Each page contains two record(your max record) . Now you can pass any pages from them to get the data. If you passed 1 then 1st,2nd row will be fetched and if you passed 3 page then 5th row will be fetched.

Thanks @Peter for his suggestion and testing the extension.
Thanks @72erdelyi for allowing me to use his self host account for testing.

Thanks for using my extensions
Cheers :grinning:
Sumit

5 Likes

Baserow is free means no bandwidth limits no rows limits no table limits no api request limits
like everything is free in baserow ???

1 Like

Until now so that could change. They have a fair use policy so if you put a really heavy load on the server they could limit your use of Baserow.

2 Likes

I tested with App Inventor so this is how my test app looks.

I changed my offline version of the following app to an online version.

3 Likes

Great Extension @iamwsumit I am really looking forward to use it for my app Onyx Note in the next update.

@bramw glad u are here. Can I use the self hosted version for a production app ? Currently my app don’t have much users. I have around 50 active users.

2 Likes

You can use it whatever you want. It’s on your server it costs you money. Hosted on baserow costs money to the company and they may put a cap on it when it gets abused.

1 Like

That’s right! You may use the self hosted version for free with as much users and data as you like :slight_smile:. Below you will find a couple on how to install easily on your own server.

https://baserow.io/docs/guides/installation/install-on-heroku

https://baserow.io/docs/guides/installation/install-on-cloudron

3 Likes

Thanks @bramw

Is ther any documentation for using it on my hosting.

You can install the baserow to Heroku in free. It has fast speed. After installation you dont need to do any special thing. Just put the URL to extension and the rest is same. It will be same as like baserow just URL will be changed.

2 Likes

Does it have a docker image? I always have problems with Heroku.

1 Like

What problems do you have?

Lack of knowledge. :sweat_smile:

4 Likes

:grinning: good one

1 Like

See below for the answer :wink:

2 Likes

Version 3

Version 3 of the extension is here.

Feature

Now you can filter your data with some available filters in the extension.

Block Added

component_method (1)

This block will helps you to fetch the data with given filter. Filter will be applied to the given field id with max record. Value accept the Filter valoue. For ex, if you’re using euqal filter then the value should be the string that you want to fing equal to. If not needed then you can leave it as an empty string. Got All Rows event will be triggered when the block got the values.


image

These are the available properties for defining the filters. You can see here the usage of filters in docs.

Usage

blocks (4)

This block will fetch the rows of table where field_252 is equal to sumit. You can use more filters in same way

Block Changed

component_event

Fields parameter has added in Got Columns Names block. It returns a list of your fields id.


blocks (6)

Get Columns block has updated now and it is able to fetch multiple columns at a time. Pass the list of columns names to columns Names parameter and Got Columns event will be triggered with all list of values in a list.


blocks (7)

Values parameter returns now list in list as I said above. You can get the list as shown in above blocks. Or you can use List block to extract the list from the JSON response.


image

Table Name is renamed to Table Id now for preventing confusion.


New Icon

image

Extension has baserow icon now :sweat_smile:


Make a backup of your project before importing the new version of the extension. As there are many block and their paramater changed so it may cause break in your blocks

Thanks @Peter and @michael_ngo for your suggestions and testing the extension.
Thanks for using my extensions
Cheers :grinning:
Sumit

4 Likes