¿Hay alguna guía para solucionar el Servidor Parse?

El servidor Parse es sin duda una de las mejores alternativas para Parse. Hay algunas características que no están disponibles en la versión de código abierto de Parse. Consulte Parse Open-source se está moviendo rápido pero aún tiene algunas características para abrir. Ver cual. El | Volver {4} aplicación Blog para obtener una lista detallada.

Pero hay alternativas para cada una de esas características. Echemos un vistazo rápido a algunas de las formas de cerrar las brechas entre Parse Server y hacer que funcione más cerca de Parse.

Analítica

Google Analytics es una de las mejores alternativas para aplicaciones móviles, ya que le permite medir el valor total de su aplicación en todas las etapas clave desde el primer descubrimiento y la descarga hasta las conversiones en la aplicación. Uno podría implementar las rutas en analytics.js y luego enviar el evento a otro proveedor de análisis como Google Analytics. AnalyticsRouter.js es la entidad responsable de exponer la ruta en Parse Server. Necesitamos un adaptador para integrar esta entidad con el servicio externo como Google Analytics. El equipo de Parse ha lanzado el enrutador, pero la comunidad de Parse no ha implementado los adaptadores a ninguno de los servicios de análisis externos como Google Analytics, Flurry, Amazon Mobile Analytics o Mixpanel. Quizás, actualmente, Analytics no es su prioridad.

Como puede ver en la imagen a continuación, los adaptadores para la integración externa de Analytics no están implementados en el servidor Parse.

Autenticación

Como se discutió en el blog anterior, el servidor Parse ha surgido bendiciendo disfrazado. Por lo tanto, ya no es necesario preocuparse por los problemas abiertos informados en OAuth o buscar una solución alternativa a la función de autenticación de Parse. El equipo de Parse lanzó los adaptadores y la comunidad ha implementado los componentes para integrar su aplicación con Facebook, Twitter, Google, Meetup, GitHub, LinkedIn e Instagram. Si desea hacer esta integración, debe cambiar algunos parámetros en el código fuente de su servidor Parse. Así es como puedes hacerlo.

Usando el archivo index.js inserte el siguiente código:

{

oauth: {

twitter: {

consumer_key: “”, // REQUERIDO

consumer_secret: “” // REQUERIDO

},

Facebook: {

ID de aplicación: “ID DE LA APLICACIÓN DE FACEBOOK”

}

}

}

en la sección donde se instancia el servidor Parse de la siguiente manera:

var api = nuevo ParseServer ({
oauth: {}
databaseURI: databaseUri || ‘http: // mongodb: // localhost: 27017 / dev’,
nube: process.env.CLOUD_CODE_MAIN || __dirname + ‘/cloud/main.js’,
appId: process.env.APP_ID || ‘myAppId’,
masterKey: process.env.MASTER_KEY || ”, // Agrega tu clave maestra aquí. ¡Mantenlo en secreto!
serverURL: process.env.SERVER_URL || ‘http: // localhost: 1337 / parse’, // No olvide cambiar a https si es necesario
liveQuery: {
classNames: [“Publicaciones”, “Comentarios”] // Lista de clases para admitir suscripciones de consulta
}
});

Config global

Inmediatamente después de publicar nuestro último blog, recibimos una actualización de Parse sobre la disponibilidad de Global Config en Parse Server. Si tiene Open Source Parse Server y Parse Dashboard, ejecutándose en su infraestructura, necesita actualizar su versión de Parse Server y Parse Dashboard para configurar Parse config.

Notificaciones push

La función de envío push estaba disponible desde el 11 de febrero de 2016, pero no era configurable en el Tablero. Ahora han habilitado Push en el tablero, y puede usarlo de la misma manera que lo hizo en Parse. Como Parse anunció en su blog:

La focalización potente, la creación de contenido y las ricas opciones para enviar empujes a sus usuarios es uno de los pilares de Parse, y la facilidad de uso de Parse Push es una de las cosas que hace que Parse sea excelente. Ahora, estamos brindando esa facilidad de uso al Servidor Parse de código abierto y al Panel de control Parse, ejecutándose en su propia infraestructura. Si ha configurado push ya, todo lo que necesita hacer es actualizar su versión del Servidor Parse y el Panel de control de Parse y puede comenzar a enviar notificaciones.

Trabajos en segundo plano

Para ejecutar trabajos en segundo plano, uno podría elegir Kue . Kue es una cola de trabajos prioritarios respaldada por Redis, creada para node.js.

Deberá instalar el proyecto Kue en el servidor Parse como una instalación npm. Después de instalar Kue, puede usar trabajos en sus códigos en la nube directamente.

$ npm install kue // Crear un trabajo con kue.createQueue () var kue = require (‘kue’), queue = kue.createQueue ();

Llamando a queue.create () con el tipo de trabajo (“correo electrónico”), y los datos arbitrarios del trabajo devolverán un Trabajo, que luego se puede guardar () ed, agregándolo a redis, con un nivel de prioridad predeterminado de “normal”. El método save () opcionalmente acepta una devolución de llamada, respondiendo con un error si algo sale mal. La clave del título está en mayúsculas especiales y se mostrará en las listas de trabajos dentro de la interfaz de usuario, lo que facilita la búsqueda de un trabajo específico.

Los trabajos se pueden poner en cola durante un tiempo arbitrario invocando el método .delay (ms), donde debe pasar el número de milisegundos en relación con ahora o puede pasar un objeto de fecha JavaScript con un tiempo particular en el futuro. Esto marca automáticamente el trabajo como “retrasado”.

Kue verificará los trabajos retrasados ​​con un temporizador, promoviéndolos si se ha excedido el retraso programado, por defecto a una verificación de los 1000 mejores trabajos por segundo.

Hay otras características, como pubsub de progreso y eventos de trabajo, TTL de trabajo, reintentos opcionales con retroceso, cierre de trabajadores agraciado, registro específico de trabajo adicionalmente disponible con Kue.

Correos electrónicos del sistema

La comunidad de código abierto de Parse ya proporciona una solución alternativa para enviar la contraseña de restablecimiento y la confirmación http://emails.Para configurar los correos electrónicos del sistema, debe modificar index.js .

Verificar las direcciones de correo electrónico de los usuarios y habilitar el restablecimiento de la contraseña a través de correo electrónico requiere un adaptador de correo electrónico. Como parte del paquete parse-server , proporcionamos un adaptador para enviar correos electrónicos a través de Mailgun. Para usarlo, regístrese en Mailgun y agréguelo a su código de inicialización.

Auto-indexación

El Parse alojado agrega automáticamente índices basados ​​en la secuencia de consultas entrantes. Pero para mejorar el rendimiento, necesita algún soporte para administrar los índices en las instancias de Mongo-DB. La comunidad de Parse está más centrada en el desarrollo de las funciones funcionales y ha dado una menor prioridad a tales problemas de rendimiento. Por ahora, no hay una solución alternativa disponible para la indexación automática y la comunidad de Parse aún no ha llegado a una discusión sobre cuándo planean proporcionar este complemento de rendimiento.

Registros

Debe depender de los registros de solicitudes por ahora hasta que el Panel de código abierto proporcione la consola. Registro y salidas de errores

. Puede agregar “VERBOSE”: argumento “1” como una variable de entorno que permite ver todas las consultas ejecutadas por el servidor Parse. Al usar Linux en su servidor, el servidor de análisis debe escribir los registros en stdout / stderr, así como en la carpeta de registro (/ logs).

Código de la nube

El SDK de Parse JavaScript en npm es una biblioteca que le brinda acceso a la potente plataforma de nube de Parse desde su aplicación de JavaScript. Los entornos de Cloud Code se cargan y descargan individualmente para cada solicitud, mientras que los servicios de node.js suelen atender múltiples solicitudes a la vez. Entonces, usando Parse JavaScript SDK, puede cambiar del código de la nube a node.js.

Puede insertar cualquier función de nube en main.js (o llamarla con cualquier otro nombre de archivo) y hacer referencia a ella en index.JS en New ParseServer (); mando.

Por ejemplo, supongamos que tiene una función de nube en helper.js. Así es como escribes main.js

CLP

Con la introducción del nuevo tablero, el Servidor Parse tiene los puntos finales necesarios para establecer CLP. La versión más reciente de Parse Dashboard le permite configurar CLP, siempre que tenga la última versión de Parse Server. El Panel de control de Parse se actualiza para comprender este nuevo formato en el cuadro de diálogo de permisos.

Webhooks

Hay dos tipos principales de webhooks. La asignación de una función a una API externa es la primera. Ejecutar el código JavaScript cuando suceden algunos eventos al guardar y eliminar registros en las clases Parse es el segundo.
Los webhooks son códigos de JavaScript que se ejecutan en el servidor, así como los códigos de nube de Parse. Incluso puede notar que Parse ha publicado en su documentación una guía sobre cómo programar códigos avanzados en la nube ( antes de guardar , después de guardar , antes de eliminar , después de eliminar ). Estos documentos son pautas sobre cómo implementar webhooks con códigos en la nube.
Por lo tanto, la solución para webhooks es implementar códigos de nube en Parse Open Source.
Para implementar el webhook (función o tipo de disparadores) en su aplicación, puede usar el siguiente código en su archivo de código de nube main.js.

var http = require (‘http’);
var url = require (‘url’);

función webhook (urlStr, datos, cb) {
var postData = JSON.stringify (datos);

opciones var = url.parse (urlStr);
options.method = ‘POST’;
options.headers = {‘Content-Type’: ‘application / json’, ‘Content-Length’: postData.length};

var req = http.request (opciones, función (res) {
var cuerpo = ”;
res.setEncoding (‘utf8’);
res.on (‘datos’, función (fragmento) {
cuerpo + = trozo;
});
res.on (‘fin’, función () {
cb (nulo, cuerpo);
})
});

req.on (‘error’, función (err) {
cb (err);
});

req.write (postData);
req.end ();
}

// Función Webhook
Parse.Cloud.define (‘hola’, función (solicitud, respuesta) {
var urlStr = ”; // TODO: reemplazar con URL de webhook
datos var = {functionName: ‘hola’, params: request.params};
webhook (urlStr, data, function (err, data) {
si (err) {
respuesta.error (err);
} más {
respuesta.suceso (datos);
}
});
});

// Desencadenar Webhook
Parse.Cloud.afterSave (‘Persona’, función (solicitud) {
var urlStr = ”; // TODO: reemplazar con URL de webhook
datos var = {triggerName: ‘afterSave’};
webhook (urlStr, data, function (err, data) {
si (err) {
console.error (err);
} más {
console.log (datos);
}
});
});

Monitoreo de tiempo de actividad

Cuando aloja la instancia de Parse Server en un proveedor de servicios externo, debe depender del tiempo de actividad que proporcionan. Puede usar Pingdom para monitorear la URL. Necesitas iniciar sesión en mi Pingdom . Agregue la URL que desea monitorear y configure otras configuraciones en su tablero .

Debe sentirse aliviado de ver estas alternativas para las características que faltan en Parse Server. Hay algo más por lo que estar feliz. Busque nuestra próxima publicación donde detallamos cómo back4app está sacando Push, configuración global y CLP en su aplicación.

Hola,

Cuando llegué a saber sobre Parse Shutdown. He molestado mucho y muchos otros que han alojado sus aplicaciones en la plataforma Parse, están buscando una solución alternativa. Yo también soy uno de ellos.

Ya he hablado con varios proveedores de plataformas de desarrollo de aplicaciones y verifico sus plataformas. Firebase fue uno de ellos. Pero necesita escribir una API completa y tomará mucho tiempo. El otro que obtuve fue ConfigureIT. Lo encontré como la buena solución en comparación con otras plataformas. En realidad, mis 10 a 15 aplicaciones están en Parse. Así que estoy un poco preocupado por eso. Ahora, después de comprobar todas las soluciones, finalmente llegué a una decisión.

También quiero guiar a todas las personas que están pasando por la misma situación que yo estoy pasando. Verifiqué todas las características e instalaciones proporcionadas por esta plataforma y también hablé con las personas autorizadas de esta plataforma. Realmente uno genuino. Chequea aquí:

Migrar de Parse a la plataforma Configure.IT | Alternativa a Parse

Finalmente, he dado el proyecto de migración de mis aplicaciones a Configure.IT y lo están haciendo muy bien. Gracias a todo el equipo. Muchas gracias.

Espero que esto pueda ayudarte.

Hola. Hay algunas características que no están disponibles en el código abierto de Parse. Escribí un artículo sobre cómo hackear algunos de estos vacíos. Espero que disfrutes.