Backendless supports multiple ways to perform a geopoint search. You can search in radius, a rectangular area and there is a search with an SQL query. Additionally, there is a way to search on partial metadata match. This type of search can be combined with all other aforementioned search types. A partial match search will return geopoints whose metadata matches the values specified in the query for the specified (or greater) number of percent. Consider the sample geodata from the article on how to import geodata from a CSV file. The imported data is rendered as shown below in Backendless console:
Previously I wrote about importing data table schemas, relations and data objects to Backendless with CSV files. The data import feature can also work with the geolocation storage. The process is extremely simple – browse to a CSV file with the geolocation data and let Backendless process it. A file you import may include as many geopoints as you need. For each geopoint you can provide the latitude and longitude coordinates, the categories the data point should belong to and the geopoint metadata. Consider the following example of a geolocation CSV file:
[table “” not found /]
Geolocation CSV files must follow the following structure:
Once Backendless completes the import of the data, it sends an email to the application developer email address with a status report about the import procedure. If all the data is successfully processed, you can see it in the geolocation screen of Backendless console. For example, the data from the table shown above is rendered as:
In my post yesterday I wrote about unlimited API calls for all Backendless apps. That means your application can make as many API requests as it needs during a billing period, which is one month even if the app is on the free plan. This also means all of the calls could be spread out over time, but there may also be spikes of traffic – an increase of the number concurrent transactions handled by the backend. You may often see with other mBaaS platforms that they limit your apps to XX requests/second or worse yet start charging you for increasing that XX number. An important distinction of our service is we do not limit the number of the concurrent calls, that’s right, with Backendless you get unlimited, un-throttled requests per second.
As I am continuing my endeavor to describe all Backendless features, I wanted to step back and look at it differently. Not at the micro-technical level where I typically show an API or something you can do in our console, but something more fundamental. Something that differentiates Backendless in its core. There is one thing we hear very frequently from the customers who switched to Backendless from other mBaaS platforms. Yes, they do talk about pathetic customer support that Parse provides or the lack of usability of Kinvey, but there is one thing our customers absolutely love – unlimited API calls. To many this may not even sound like a technical feature. And, yes, it is a business value proposition. However, it is by far one of the most complex technical features we have to offer. Being able to manage computing resources to provide such a guarantee is not easy, but we figured out how, and we’re doing it. So yes, please enjoy your unlimited API calls with Backendless – we’re happy to have you as a customer.
In one of my previous posts I wrote about how to load data from the Backendless mbaas server using paging. In fact, data paging is only one of the features available in the data loading API. In this post I am going to show how to fetch data objects with sorting. The sorting option can be combined with any other data loading feature. For example, you could have both sorting and the “where clause” in your data loading request. For this example, I am going to use the Restaurant-to-go app schema.
Previously I described how to upload files to Backendless file storage using File Service API. In addition to the file upload API, Backendless console supports online (built into the console) text editor. The editor lets you create new files with just a click of a button:
The use-case for updating a user account is rather frequent. Either the user herself or the admin may need to update user properties. Backendless provides the API for updating user accounts, although app admins/developers can do it using Backendless console as well. The code below demonstrates the API for updating a user:
It has happened to a lot of people, especially with the online banking applications – you try logging in a couple of times and get your password wrong. Then the screen changes saying the account is locked out and you need to try again in XX minutes. If this is the behavior you would like your app to have, it could not be easier to set up with Backendless:
Can you think of an easier way to configure it? ) Enjoy!
Previously I reviewed how to use user registration API to register users for an app. When registering a user your app sends to the server a collection of user registration properties. Values for these properties typically come from a registration form in your app. Some form fields may be required and have a special validation logic. To assist with these use-cases Backendless provides a very simple way to enforce these rules on the backend. In this post I review the process of configuring registration properties as required. Once you do that, any registration API request which does not include a required property is rejected by the server with an error.
In my previous posts I wrote how to create developer-defined security roles and how to secure data table access for a security role. Ultimately when a client application makes API requests, the security evolves around users, since it is a user who authenticates himself against the system. A user may have roles assigned to him or her and in that case any permissions granted (or denied) to a role would be applicable to the user as well. In this article I will review how to assign roles to users using Backendless console. Keep in mind that these assignments can also be done using API and I will be writing another article in this series on that feature as well.
The instructions below assume you already have some users registered for your app or created using console. Also, you need to have at least one custom security role. To assign roles to users:
The same User Role Management popup can be used to edit role to user assignments. The dialog is smart enough to handle multiple user selection and will properly display conflicting assignments using the three-state checkbox.