[FREE] Baserow - Open source no-code database

💽 Baserow Extension

An Opensouce no-code airtable alternative database

Baserow is open-source database that helps you to store data like an airtable. This extension has method to get, create, update or delete data of your baserow’s database. You can upload file to the baserow server through this extension.

Blocks & Documentation :

1. SetToken

component_set_get

This block is used to set API token & must be initialized . On baserow, Go to your dashboard, Click on your profile, then setting and API token to get the token for the particular group.

2. Set TableId

component_set_get (1)

This block is used to set the table id of your particular table from which you wanted to fetch/write data. This block must be initialized.

3. Set URL

component_set_get (2)

If you are using self-hosting of base, you should set the URL to your particular url. By default, its value is https://api.baserow.io/.

4. Get Column

component_method

This method will help you to get the particular column data. Page defines page of data which should be returned and accepts int. Size defines how many rows of data should be returned per page and accepts int. It will trigger Got Column event. size should be less than 200 otherwise, it will call OnError event with size error.

Remember, page and size should not be zero.

5. GetListFields

component_method (1)

This method helps you to get the information about the columns in your table. It will trigger GotListFields event.

6. Get All Rows

component_method (2)

This block will help you to get the rows of the table of particular page and particular size. Page defines page of rows which should be returned and accepts int. Size defines how many rows should be returned per page and accepts int. It will trigger GotAllRows event method. size should be less than 200 otherwise, it will call OnError event with size error.

Remember, page and size should not be zero.

7. Get Row

component_method (3)

GetRow method will help you to get the particular row of the table. Remember row id is not a index id. rowId accepts integer row id. If success, GotRow Event will be triggered.

8. Create Row

This block will help you to create a new row in your table. columns and values accepts YailList. Remember columns length and values length should be same. If success, then it will trigger RowCreated Event.

9. Update Row

This block will help you to update existing row with new values. columns & values both accepts YailList. If success, It will trigger RowUpdated Event.

10. DeleteRow

blocks (3)

This method will help you to delete particular row of your table. If deletion is success then it will trigger RowDeleted Event

11. MoveRow

blocks (4)

This block will help you to move the existing row before another row. rowId and beforeId both accepts integer. beforeId helps to move the row related to the given rowId before the row related to the provided value. It will trigger RowMoved method.

12. Get Cell

blocks (5)

This method will help you to get a single cell from rowId and column name . If got cell is success then it will trigger GotCell method.

13. Got Column

This event is trigger from GetColumn method. It will give two objects, values & response. values is YailList which provides data in all cell of particular column and response gives true JSON response.

14. OnFieldsListed

This event is triggered from GetListFields method. It will give you ids, names, types, if table is primary and tableId of the columns of your database. Basically, it gives information of you table’s columns. The above example will give you name of columns in your database in List.

15. Got All Rows

This event is triggered after GetAllRows method. It will give you values, numberOfRows and response. Values is in list of rows which again contains list of data in row. So above example will give you data in your first row. You can get number of rows in your table from numberOfRows. And response will give you true JSON response.

16. Got Row

This event is triggered from GetRow method. values will give you list of datas present in the particular row and response will give you true JSON response.

17. Got Cell

This event is triggered from GetCell method. value will give you the data stored in the particular cell and response will give you the true JSON response.

18. Row Created

This event is triggered from CreateRow method. response will give you JSON response from baserow.

19. Row Updated

This event is triggered from UpdateRow method. response will give you JSON response from baserow.

20. Row Deleted

This event is triggered from DeleteRow method. response will give you JSON response from baserow.

21. Row Moved

This event is triggered from RowMoved method. response will give you JSON response from baserow.


Version 3 :

22. UploadFileByUrl

component_method (4)

This method will help you to upload file through url to baserow server. token parameter needsjwtToken which can be generated from GenerateToken block. The single token generated from this method will be valid for only 60 minutes, So you can refresh token to generate a new one from old token by RefreshToken method. You can also check validity of the token from VerifyToken method. fileUrl parameter need direct file url.

23. GenerateToken

component_method (5)

This method will help you to generate new jwtToken. It needs username & password of your baserow account as parameters. So, I’ll not suggest you to use this method in public app instead you can make an admin app and send jwtToken to your public app. This block will trigger TokenGenerated event.

24. RefreshToken

component_method (6)

This method will help you to refresh a new jwtToken from your old valid jwtToken. It will trigger TokenGenerated event.

25. VerifyToken

component_method (7)

This method will help you to check token’s validity whether it is still valid to use or you have to generate new token. It will trigger TokenVerified event.

26. TokenGenerated

component_event (1)

This event is triggered from GenerateToken & RefreshToken method. It provides you new jwtToken which you can use to upload file as well as response is true Json response.

27. TokenVerified

component_event (2)

This event is raised from VerifyToken method. This can be used to check if the jwtToken is valid or not. isVerified will give you boolean wether jwtToken is still valid or not.

28. FileUploadedByUrl

This event is raised from UploadFileByUrl method. It will give you size, url, mimeType, isImage, name, originalName of the file you have uploaded as well as give you true jsonResponse.


Version 4 :

29. Filter

blocks (6)

This method help to filter table data. fieldIds , filters and values can accept both list or string which means you can provide single as well as multiple filters. After this method, you should call GetAllRows or GetColumn method to get filtered values in GotAllRows or GotColumn events respectively. Below, it is a table of different filters and example value. (Copied from Baserow Api Documentation)

Filter Example value Full example
equal string field is ‘string’
not_equal string field is not ‘string’
date_equal 2020-01-01 field is date ‘2020-01-01’
date_not_equal 2020-01-01 field is not date ‘2020-01-01’
date_equals_today field is today
date_equals_month field in this month
date_equals_year field in this year
date_equals_day_of_month 1 field day of month is ‘1’
date_before 2020-01-01 field is before date ‘2020-01-01’
date_after 2020-01-01 field is after date ‘2020-01-01’
contains contains field contains ‘string’
filename_contains string field filename contains ‘string’
has_file_type image | document field has file type ‘image | document’
contains_not string field contains not ‘string’
length_is_lower_than 5 field length is lower than ‘5’
higher_than 100 field higher than ‘100’
lower_than 100 field lower than ‘100’
single_select_equal 1 field is ‘1’
single_select_not_equal 1 field is not ‘1’
boolean true field is ‘true’
link_row_has 1 field has ‘1’
link_row_has_not 1 field has not ‘1’
multiple_select_has 1 field has ‘1’
multiple_select_has_not 1 field has not ‘1’
empty field is empty
not_empty field is not empty

30. FilterType

FilterType can either be OR or AND . FilterType can be used when you are using multiple filters.

  • AND : Indicates that the rows must match all the provided filters.
  • OR : Indicates that the rows only have to match one of the filters.

31. Search

blocks (8)

This method helps to search particular text from table. After this method, you should call GetAllRows or GetColumn method to get searched values in GotAllRows or GotColumn events respectively.

31. OrderAscendingTo

This block helps to get data in ascending order of a particular column. After this method, you should call GetAllRows or GetColumn method to get ordered values in GotAllRows or GotColumn events respectively.

32. OrderDescendingTo

This block helps to get data in descending order of a particular column. After this method, you should call GetAllRows or GetColumn method to get ordered values in GotAllRows or GotColumn events respectively.

33. AutoReset

blocks (11)

This block accepts boolean, and true as default. When true, if you have used some filter in GetAllRows or GetColumn of Baserow1 component then again you are using these method for second time, then it will clear the filter and you again have to add a filter for next GetAllRows or GetColumn method.


Downloads & Open-Source :

See all version released from here

Download Latest Version : com.oseamiya.baserow

This extension is open-source at github at here :

7 Likes

Excellent work @oseamiya

1 Like

Wow, a database extension with source code
Thanks, this extension will be helpful for me

2 Likes

Version 3.1

Many users were getting problems on fetching rows more than 200. Before this update, If you have tried to fetch more than 200 rows from single page, then it triggers OnError event with Invalid page as error message. However, I have explained more with the solution for version 3 here.
Since, many users were not understanding the concept, So, I wrapped this concept within V3.1 of this extension so that user can easily manage his workflow. Now, If size is more than 200 then it will automatically fetch all the rows available in your particular baserow database.
So if you wanted to fetch all the rows then you can give max size more than 200.

Source code is already updated at GitHub at here.
You can find changes in codes from GitHub Commits

Download V3.1 From GitHub : com.oseamiya.baserow

If you found any bugs in this extension or getting any issue then please reply it here :blush:

Version 3.2

Now the extension is updated to version 3.2 .

What is new in this version ?

Yesterday, I have launched V3.1 of this extension. That version was launched to help users to be able to fetches all the rows of particular table.

Let assume I have a table with 1000 rows, and I need to fetches first 400 rows.

If I used V3.1 and give size 400, even then it would have fetched all the rows and give you 1000 rows.

This version of the extension will fix it. Now, It works similar like max value of Airtable database.
Now, If I assign size parameter to 400, It will only fetch 400 rows. So, you can fetch any particular amount of rows data you wanted.

Why I didn’t removed page parameter in this version ?

Now, If I can fetch any max amount of rows then what is the need of page parameter in GetColumn method and GetAllRows method ?

Yeah, If you are not experimenting with databases & you are a Airtable user and you are migrating to Baserow then you can simply set page parameter to 1 and use size as maxSize like Airtable.

But page can be very important in some scenarios & can be used to experiment . For example, If have 1000 rows but I only need to fetch value from 200 to 400 then I can assign page as 2 and size as 200.

Download From Github : com.oseamiya.baserow

1 Like

Great work. i will try this aix soon

2 Likes

Amazing work @oseamiya I wil sure try this extension

Before that can you give the JAVA File for this aix file. :slightly_smiling_face:

**

THANKS

**``

1 Like

You can check its source from Github.

2 Likes

@moderators I am not able to edit this post. I need to update documentation about a new version. Please help !

Version 4.1


Overview :

In this version, I’ve changed the internal working of methods GetAllRows & GetColumn. In version 3, these methods used to wait for an error(internally) when fetching all available data of the table. Now, it doesn’t wait for any error. It will calculate counts and is able to fetch size of data user needs, which make it one response faster than of V3.

Six new methods are added in this version for getting filtered, ordered, and/or searched data.

Blocks :

1. Filter

blocks (6)

This method help to filter table data. fieldIds , filters and values can accept both list or string which means you can provide single as well as multiple filters. After this method, you should call GetAllRows or GetColumn method to get filtered values in GotAllRows or GotColumn events respectively. Below, it is a table of different filters and example value. (Copied from Baserow Api Documentation)

Filter Example value Full example
equal string field is ‘string’
not_equal string field is not ‘string’
date_equal 2020-01-01 field is date ‘2020-01-01’
date_not_equal 2020-01-01 field is not date ‘2020-01-01’
date_equals_today field is today
date_equals_month field in this month
date_equals_year field in this year
date_equals_day_of_month 1 field day of month is ‘1’
date_before 2020-01-01 field is before date ‘2020-01-01’
date_after 2020-01-01 field is after date ‘2020-01-01’
contains contains field contains ‘string’
filename_contains string field filename contains ‘string’
has_file_type image | document field has file type ‘image | document’
contains_not string field contains not ‘string’
length_is_lower_than 5 field length is lower than ‘5’
higher_than 100 field higher than ‘100’
lower_than 100 field lower than ‘100’
single_select_equal 1 field is ‘1’
single_select_not_equal 1 field is not ‘1’
boolean true field is ‘true’
link_row_has 1 field has ‘1’
link_row_has_not 1 field has not ‘1’
multiple_select_has 1 field has ‘1’
multiple_select_has_not 1 field has not ‘1’
empty field is empty
not_empty field is not empty

2. FilterType

FilterType can either be OR or AND . FilterType can be used when you are using multiple filters.

  • AND : Indicates that the rows must match all the provided filters.
  • OR : Indicates that the rows only have to match one of the filters.

3. Search

blocks (8)

This method helps to search particular text from table. After this method, you should call GetAllRows or GetColumn method to get searched values in GotAllRows or GotColumn events respectively.

4. OrderAscendingTo

This block helps to get data in ascending order of a particular column. After this method, you should call GetAllRows or GetColumn method to get ordered values in GotAllRows or GotColumn events respectively.

5. OrderDescendingTo

This block helps to get data in descending order of a particular column. After this method, you should call GetAllRows or GetColumn method to get ordered values in GotAllRows or GotColumn events respectively.

6. AutoReset

blocks (11)

This block accepts boolean, and true as default. When true, if you have used some filter in GetAllRows or GetColumn of Baserow1 component then again you are using these method for second time, then it will clear the filter and you again have to add a filter for next GetAllRows or GetColumn method.


Downloads:

Download Version 4.1

Download Latest Version

All Releases

Fantastic work @oseamiya
Awesome :sunglasses:

1 Like

Thankyou @Horizon !!

1 Like

@oseamiya Try to edit now and also nice work

1 Like