Message:

  • Home
  • Articles by: markpiller

Author Archives

We have had a very successful beta release and received a lot of positive feedback. We would like to thank everyone for your contribution which helped us make the product better than ever.

As we are preparing for the GA release of 4.0, there are changes which may affect your apps. Please see the list below:

  1. All Github repositories for our SDKs will be updated where the current “4.0” branches will become “master”.
  2. Both JS SDK and JS CodeRunner for version 4.0 will be released into NPM.
  3. Plan limits and billing will be turned on for Backendless 4.
  4. Any new app created in 4.0 after it goes GA will be on a 14 days trial for the Cloud99 plan, after that, it will switch to the free plan.
  5. All existing apps in 4.0 will also be switched to the Cloud99 trial. Once it runs out (14 days), the app will go to the free plan and you will need to assess if it should be upgraded to a paid plan. If the app’s usage of the backend resources exceeds the limits of the free plan, you will receive an email notification.
  6. We will continue running the 3.x backend. If you have an app on the free plan in 3.x you would either need to migrate to 4.0 before November 1st, 2017 or switch it to a paid plan in 3.x.

If you have any questions, please contact us on the support forum or the Slack channel.

Posted in Status Update

With the introduction of Deployment Models for business logic (Cloud Code), we also added support for “invocation chains”. This is an ability to chain together multiple server-side event handlers registered to process the same event. Previously, you could inject cloud code into the API invocation flow as shown in the image below:

api-flow-single-handler

For any API call, you could have only one before/after event handler with your own custom business logic. This is changing with deployment models and you can have multiple event handlers chained together:

api-flow-multiple-handlers

This is a HUGE improvement. It promotes better design for cloud code with a clean division of responsibilities between the event handlers. It is important to note that any data received as arguments for an API call is passed from one event handler to another. If an event handler sitting at the beginning of the chain makes a change to an argument (or the return value), then all other event handlers down the chain will get the modified value.

Setting up chains in console

A question you might be asking is how to configure the order of the event handlers. This is done in the Backendless Console. Consider the following example:

multiple-event-handlers-console

As you can see there are three "beforeCreate"  event handlers for the "*"  context (which means they apply to every data table). When Backendless detects you have more than one event handler applicable to a particular context, it displays the “handler ordering” icon:

chain-ordering-icon

Clicking the icon opens up a popup where you can control the execution order for all applicable event handlers:

We’ll have a video posted to our YouTube channel with a demo of the functionality soon. That’s all for now, guys. Happy coding!

Posted in Server Code

We are preparing one of the final Beta builds for Backendless 4. The build should be released early in the week of June 19th. We plan to release the service out of beta shortly after that. One of the important changes in the upcoming service update will be the introduction of deployment models. When the service is updated with that build, it will be necessary to redeploy your business logic (API Services, Event Handlers, and Timers) using the latest release of CodeRunner. If you do not do that, any existing business logic in the Backendless 4 apps will stop working.

We realize it is going to cause an inconvenience – we really wanted to avoid it. However, the service is in beta and we thought you’d cut us some slack.

If you have any questions about this, please ask either on the support forum or our slack channel.

One of the new features we will be releasing in the final update of Backendless 4 beta is support for “business logic deployment models”. This is a new concept introduced in Backendless 4. A “deployment model” combines individual API event handlers, timers and API services into a single group. The purpose of that grouping will become more apparent once we start opening up Backendless Marketplace for submissions, however, the introduction of this feature already opens some very cool features.

This change will be available in the Backendless 4 applications the week of June 19th.

Some important things to keep in mind when working with deployment models:

  • Models are associated with languages. It means a model with the same name may exist with Java business logic and JS business logic, but it is not the same model – they will contain different business logic.
  • A model cannot contain more than one API event handler attached to the same “asset”, which is a table/file/messaging channel. This means, for instance, if you have a JavaScript “afterUpdate” event handler processing events for the “Person” table and the event handler is in model “X”, the same model “X” cannot have another “afterUpdate” handler for the table “Person”.
  • Contrary to what’s stated above, you can have the same kind of an API event handler in different models.
  • When downloading code from the Backendless Console, you must identify the language and then the model for which to download the code.
  • When deploying code using CodeRunner (JS or Java), the deployment model name for the code must be specified either in the CodeRunner’s configuration file or from the command line.
  • Deploying code into a model deletes all previously deployed code in the same model.
  • When the code is debugged locally (while being plugged into the Cloud servers), it takes precedence over the same code which may have been previously deployed. In other words, the Debug mode has higher precedence than the Production mode.

Let’s take a look at how to work with the deployment models:

Creating new event handlers and timers

When creating an event handler or timer in the Backendless Console you will see a new drop-down list where you can select an existing model. To create a new one, simply type in the desired model and click the menu option to create it. The screenshot below is for creating a new event handler. You will see an identical change in the “New Timer” popup:

event-handler-model

The Event Handlers screen in console displays the model name for every handler (see the MODEL column):

multiple-event-handlers

When you download the generated code for event handlers and timers, you need to choose the model for which to download the code. The downloaded code contains only the event handlers and the timers for the selected model:

downloading-model

Similarly, if you were to edit the code directly in the Backendless Console on the CODING screen, you need to choose the language and the model. The displayed tree of directories and files will contain only the code for the selected model:

models-in-coding

For most use-cases, you will find it sufficient to work with the same model. We considered how developers use business logic now and tried to make the developer experience mostly unchanged.

Posted in Server Code

As we are preparing to launch Backendless 4 out of Beta we need to perform a few maintenance tasks on our servers which will require some downtime. The 4.0 beta cluster will be unavailable on:

May 19th, between 2:00am and 6:00am US Central time (UTC-5)

The 3.x cluster and development console will not be impacted. We apologize for the inconvenience this may cause.

Posted in Status Update

Backendless 4 is a powerful platform that can instantly turn your JS code into an API service. Every declared method (unless it is excluded) gets a dedicated API endpoint accessible via REST and native libraries, which Backendless automatically generates for you. As a developer, you can easily specify what the REST route must look like for every method and you can define the schema for the arguments.

Generated services can be used for multiple purposes. For example, they make it very easy to centralize the business logic for your Backendless app. IoT apps can use the services as the integration points.

Backendless Console gives you a test drive for invoking the services and inspecting requests and responses. Best of all the service code can be written and deployed right from the console. Check out the video below for an overview of Backendless API Services written in JS:

The service code shown in the video is:

Enjoy!

join-backendless-slack

You are invited to join our team on slack, follow the link below to join:
http://slack.backendless.com

See on on Slack!

Posted in Uncategorized

release-history-v4

We release often and one of the frequent requests we received is the lack of release history. This is changing with Backendless 4, we still plan to release often and now you can see (a very visual) release history for Backendless Cloud and the SDKs at:
https://backendless.com/products/release-history/

Check out the new page and let us know what you think.

Posted in Status

We have published an update for the 4.0 deployment of Backendless – 4.0b3. The update includes the following changes:

  • Fixed problem with developer account confirmation via link in email;
  • Fixed “Login with Twitter” for developer accounts;
  • The “Manage” screen in Backendless console rendered blank in Safari;
  • Fixed error with app deletion;
  • Fixed a bug which caused invocation of unrelated API event handlers on object deletion;

backendless4-banner
It is finally here! Backendless version 4.0 Beta 1 is now available in our Cloud! This is a major release packed with some amazing functionality. New management console, generated project templates, online server-side code editing and deployment, AWS lambda integration – these are just some of the new features you will find in version 4. To learn more about version 4, visit the Backendless v4 product page.

Please keep in mind that this is a Beta release and we need to hear from you. If you encounter a problem, please send us an email (support@backendless.com) or post to the support forum.

Enjoy!