Parse open-source is moving fast

Parse open-source is moving fast

Migrating the data and setting up your own Parse Server is one of the most preferred options as Parse bids goodbye soon. Open source Parse Server and Dashboard are an excellent replacement for Parse.com with the support from Parse community. Many look at it as a great potential framework as you can develop according to your needs and get improvements and new features from developer’s community. Parse open-source already supports many features of Parse.com but here are some of them which are yet to be open sourced.

Analytics

The baseline analytics including retention metrics were useful features in Parse.com. Parse.com Analytics provided insight into user interactions around push notifications and API requests passing through Parse. It also could be customized to slice and dice the details of your use of Parse Data and Parse Push with random events and arbitrary set of dimensions. There are some paid options to replace Parse.com Analytics features.

Do you want to know more about how back4app is hosting a Parse server solution? Click here 

 Authentication

Social login is possible only through Facebook. It is supposed to login through Twitter as well by referencing facebook.js and RestWrite.js. But there are open issues reported on OAuth. But the good news is, with the Parse open source it is possible to login with facebook, twitter, google, meetup, GitHub, LinkedIn and Instagram.

Captura de Tela 2016-03-30 às 16.34.07

Global config

This feature allowed modifying the behavior of an app such as adding or removing a feature without having to rebuild it. The values changed could be quickly reflected on the Dashboard so that users could see the changes without updating the app. This feature is unavailable for now but is said to be open sourced in the first PR.

Push notifications

Push notification is available on Parse Server, but it requires effort on implementation. But it is missing on the dashboard through which the user could have managed push notifications. ‘PushAdapter’ which lets Parse Server send push notifications using any push provider abstracts the way pushes are sent so that you can easily connect it to any service that exposes an API for sending. This feature was the most requested one and Parse has recently promised to open source it.

In-App Purchase Receipt Validation

It was one of the good-to-have out of the box solutions from Parse. The receipt validation for iOS apps was as simple as adding one line of code. But Parse server does not feature this validation.

Background jobs

Using Parse.com, once the code is deployed, you could add it as a new entry to the jobs schedule in the Web Console. There were many options available to customize the frequency of these Jobs, including the start time. The statuses of any currently running jobs or previous jobs that have been completed were available. Anyways Parse had a limit on the number of background jobs and how long it could run. Background Job could be programmed to time out if set up as a Cloud Function. Background Jobs are not available on Parse Open Source.

System emails

Parse offered an easy way to send welcome, forgot password, email verification and other system-generated emails that are not supported by Parse server. Emailing the user using some mail provider is one of the available workarounds.

Do you want to know more about how back4app is hosting a Parse server solution? Click here 

Webhooks

Parse’s Cloud Code Webhooks were just a convenient feature because Parse was running in a closed and hosted server environment. The cloud functions could be called from any of the client SDKs, as well as through the REST API. You could upload arbitrary static web content or create dynamic web apps using the JavaScript SDK on the customer’s side and Cloud Code plus Express on the server side. Native Cloud Code modules like cloud image that allowed manipulating graphical images will be missed by the developers using Parse server.

Auto indexing in database

“You need to manage your indexes yourself. Hosted Parse automatically adds indexes based on the incoming query stream.” This announcement was the message from Parse.com featured auto-indexing of MongoDB collections based on an application’s query patterns. With that excellent service gone, and since parse-server doesn’t do it, they have to manage manually.

Uptime monitoring

It is necessary to know how much time your app is taking to become available to the users after deployment. While Parse dealt with some serious uptime issues after joining Facebook, they had the service relatively stable. But now since Parse server needs to be hosted on a third party hosting service, you need to rely on their uptime monitoring system. Third-party providers who offer one-click deployments can be great but only with a reliable uptime monitoring.

Logs

You could view Cloud Code logs using the command line tool if a throw block was added in the code. But console.log and console.error were useful to log messages. These are not yet open sourced.

CLPs – Class level permissions

Parse Dashboard was a standalone dashboard for managing Parse apps that could be used to control Parse Server apps and apps that are running on Parse.com. Some features such as Class Level Permissions (CLPs) were just a matter of configuration using dashboard. There are a few workarounds thought about to replace this feature. Since the _SCHEMA table in the MongoDB datastore contains the CLPs, this data can be carried through while migrating from Parse to local Parse server and updating these values will affect data access.

Cloud code

The custom code could be added by the user which would run on server side in the Parse cloud. User could add the cloud code and debug it using dashboard. But with Parse server, it is not possible anymore. Because the Parse hosted Cloud Code isn’t running a full node environment, there may be some differences in how the Cloud Code runs in Parse Server. Some native cloud code modules are not available in Parse server. So you need to use a replacement.
You can use NPM module for these cloud modules:

• Mailgun
• Mandrill
• Moment
• SendGrid
• Stripe
• Twilio
• Underscore

The buffer is included natively in NodeJS.
For app links, there is no direct replacement.
For Parse Image, it is recommended to use another image manipulation library, like the ImageMagick wrapper module.
With promises of push notifications and global config to be open sourced and a host of third parties providing other missing features such as cloud code, uptime monitoring, logs and CLPs, Parse server is still one of the best alternatives for Parse shut down. Watch out this space for the next blog post on the workaround solutions for these Parse server gaps.

 

Do you want to know more about how back4app is hosting a Parse server solution? Click here 
back4app


Leave a reply

Your email address will not be published.