Para colaborar con Predesys, una buena aportación puede ser la creación de algún servicio de Predesys.
Un servicio de Predesys no es más que un script de Python que debe implementar una función con unos parámetros de entrada y tipo de salida concretos. Esta función varÃa en función del tipo de servicio que quiera implementar (ver sección Arquitectura). Veamos cómo tiene que ser esta función en cada caso:
- Para servicios automáticos y servicios de usuario sin autentificación:
def run(args)
Donde args es una lista (de cadenas de texto) de las direcciones MAC detectadas.
- Para servicios de usuario con autentificación:
def run(userId, args)
Donde userId es el usuario que ha solicitado ejecutar el servicio (una cadena de texto) y args es una lista de (de cadenas de texto) las direcciones MAC detectadas
Todos los servicios tienen acceso a la API de Servicios de Predesys (un módulo de Python), que ofrece un acceso limitado al Núcleo del Servidor. Con esta API, se pueden obtener los usuarios registrados en el sistema, formatear un mensaje para que se envÃe por bluetooth a alguno de los dispositivos detectados (si se tratan de dispositivos bluetooth detectados por el Radar Bluetooth), obtener las direcciones MAC que están registradas en el sistema… De momento, la API de Servicios ofrece muy poca funcionalidad, pero se le irán añadiendo nuevas caracterÃsticas en el futuro.
Una vez terminado el servicio, para añadirlo al Servidor hay que ejecutar como administrador la siguiente orden:
- “predesys-server services add -id <id-servicio> -v <versión> -tid <id-tipo-servicio> -a <autentificado> -e <habilitado> -p <ruta-script> -n <nombre-servicio> -au <autor>”
Donde:
-a -> 0 = Servicio sin autentificación del usuario, 1 = servicio con autentificación del usuario
-e -> 0 = Servicio deshabilitado inicialmente, 1 = servicio habilitado inicialmente
-v, -n, -au -> Opcionales - O bien, podemos ejecutar esta otra orden (también como administrador) e ir dando valores a las mismas propiedades según nos lo vaya pidiendo la interfaz de usuario de terminal:
“predesys-server services add”