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

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

It was great working with you on the extension. It is worth every cent because it makes a lot of things easier to do. :+1:

2 Likes

This post was flagged by the community and is temporarily hidden.

Version 4

Version 4 of the extension is released.

What’s New

  • A lot of blocks has been added to this update.
  • Extension is now able to upload file from device to baserow server.

Bug Fixed

  • Error occured block is not showing errors correctly, it has not fixed

Blocks

component_event (1)

This event raises when file uploaded success with a response and file name and url. File name and file url can be extracted from the JSON response. There are a lot of detalis about files returned in response paramter from baserow server

component_event (2)

This event raises when the token is generated. It will give your email address and token in response.

component_event (3)

This event raises when token is validated. isValid returns true if the token is valid.

component_method

component_method (3)

These two block will help you to upload a file from device or a direct url of the file. Upload file block with path paramter works same as clloudinary component works.

token parameter accept a JWT token. Baserow need JWT authorization for uploading the files to server. A single generated token will be valid for only 60 minute so You will need to generate a new token in every 60 second that is not the recommended way. It will not work with toke key that you generates on your token panel. You can generate it with GenerateToken block.(This block is not recommended to use in public apps).

component_method (4)

This block helps you to generate the JWT token for using in upload file features. This requires your account email and password.
This block is not recommended to use in public apps. Use it in admin app and save the generated token in an database then use it in your pubic app after fetching the saved token.
TokenGenerated block will be trieggered when the token will be generated.

component_method (5)

This block refresh the old token to a new one(will be valid for 1 hour). Make sure the old token must be valid. TokenGenerated event will be trieggered with a new token.

component_method (6)

This block validates the given token. TokenValidated event will be reaised with true if the token is valid otherwise false.

Block Changed

component_event (4)

responseCode parameter has added to the Error Occurred block. With response code you can find the error cause own. For ex, If response code is 401 then it mean you are not authorized or your token is not valid or expired.

How to Use

How to generate the token

blocks (14)

You will just need to pass your email address and password to the block and then Token Generated event will be raised with a token.

blocks (15)

You can save it now to a global variable for using it.

Let see how to use the new upload files blcoks.

Upload the file by URL

  • You need to generate the token first for uploading the file.
  • You must have a direct url of the file that you are uploading.

I am going to upload an extension by its direct drive url.

blocks (17)

Response

After file uploaded I recieved a response from File Uploaded block that contains all details of the file.

{
   "size":115564,
   "mime_type":"",
   "is_image":false,
   "image_width":null,
   "image_height":null,
   "uploaded_at":"2021-08-23T16:15:43.057906Z",
   "url":"https://baserow-media.ams3.digitaloceanspaces.com/user_files/Pq106A58a5om3YNdLoNjtFoIwIqQNJoy_b6ae3da634f462e90cda2a5670ddd3491b148528c8aff414e4b000dcc1ed9097.",
   "thumbnails":null,
   "name":"Pq106A58a5om3YNdLoNjtFoIwIqQNJoy_b6ae3da634f462e90cda2a5670ddd3491b148528c8aff414e4b000dcc1ed9097.",
   "original_name":"uc?id=1k6uKbgPwgttzMOobitSgEWuiIlBEhfUh&export=download"
}

Upload file from the device

blocks (16)

Now I will upload an image selected by image picker component. We just have to give the path of the file to path paramter and file will start to upload.

Response

{
   "size":1287489,
   "mime_type":"image/jpeg",
   "is_image":true,
   "image_width":3280,
   "image_height":1476,
   "uploaded_at":"2021-08-22T11:12:25.028537Z",
   "url":"https://baserow-media.ams3.digitaloceanspaces.com/user_files/0NoJR6nsfSsVuko3qsUOBUFi2g6HUHLb_9894cefa70ae5e9565b83d62864576465da1128a1d316ed43a44da3be94b7af5.jpg",
   "thumbnails":{
      "tiny":{
         "url":"https://baserow-media.ams3.digitaloceanspaces.com/thumbnails/tiny/0NoJR6nsfSsVuko3qsUOBUFi2g6HUHLb_9894cefa70ae5e9565b83d62864576465da1128a1d316ed43a44da3be94b7af5.jpg",
         "width":null,
         "height":21
      },
      "small":{
         "url":"https://baserow-media.ams3.digitaloceanspaces.com/thumbnails/small/0NoJR6nsfSsVuko3qsUOBUFi2g6HUHLb_9894cefa70ae5e9565b83d62864576465da1128a1d316ed43a44da3be94b7af5.jpg",
         "width":48,
         "height":48
      }
   },
   "name":"0NoJR6nsfSsVuko3qsUOBUFi2g6HUHLb_9894cefa70ae5e9565b83d62864576465da1128a1d316ed43a44da3be94b7af5.jpg",
   "original_name":"IMG_20210607_204334.jpg"
}

If we uploads an image then we get it two thumbnail size image url and its normal image url.
I hope you understood all thing now.

I hope you liked and enjoyed the new update
I have sent the latest extension to their email. Notify me by PM if I forget you.

Cheers
Sumit

3 Likes

I see i will have to test a lot of new features. Nice work @iamwsumit. This is a quality extension. I think it took you a lot of time to get this working.

2 Likes

Yes. I have searched a lot for this even made an issue on Baserow gitlab respirotry. Bram has said me to make file upload possible without JWT token and with a persistent token in future updates.

1 Like
1 Like