wiki-documentacion
documentacion
title: Documentación
Credits
El servicio de créditos cumple la función de limitar el uso de ciertas funcionalidades. Básicamente expone 2 funciones:
- validar si un usuario puede usar cierto monto de una funcionalidad
- registrar el uso de un usuario de cierto monto de una funcionalidad
Se definen cŕeditos con un identificador único llamado credit_name. Y se vinculan addons con créditos, de manera que cada addon aporte cierta cantidad de un crédito.
Cada funcionalidad de la plataforma (ej: marcadores, ambientaciones, etc) define la manera en la que usa créditos:
- de qué
credit_nameconsume - la métrica con la que consume créditos:
Estos últimos puede ser:
- ej: crear 1 marcador consume 1 crédito
- ej: crear una ambientación consume tantos créditos como hectáreas tenga el lote
Así, la funcionalidad debe implementar el consumo de créditos y avisarle al usuario cuando no pueda usarla por falta de cŕeditos. En ciertos casos puede verificar la disponibilidad de créditos antes de ejecutar la acción o alternativamente puede llevar al usuario hasta el momento de consumir los cŕeditos y dejar que falle si no dispone los suficientes.
Por otro lado, los usuarios disponen de un panel de saldos en el cual pueden consultar el saldo disponible de los distintos créditos y los plazos.
El cómputo de créditos se hace a nivel usuario en el caso de los usuarios personales y a nivel espacio en el caso de los usuarios de espacio.
cuotas personales
Los usuarios personales compran un addon de créditos que les habilita una cuota y luego consumen de su propia cuota. El panel de saldos refleja el estado de las cuotas disponibles.
cuotas de espacio
En el caso de los espacios, el addon de créditos se asigna al espacio. Los administradores disponen de un panel de administración en el que pueden ver los saldos del espacio y gestionar el consumo.
En los espacios, los usuarios puedan consumir créditos del espacio de una de dos maneras: Directamente de la cuota del espacio o mediante asignaciones. Esto se configura mediante CCSS.
Consumo directamente de la cuota del espacio
De esta manera, los créditos del espacio son libremente consumibles por todos los usuario del mismo. Es decir que un único usuario podría consumir todos los créditos del espacio.
En este caso, un usuario del espacio, en el panel de saldos de créditos, verá que los créditos que tiene disponibles son los totales del espacio. Ej: un espacio compra 100 créditos. El usuario1 consume 50 créditos. El usuario2 verá en el panel que dispone de 50/100 créditos.
Los administradores ven en el panel de administración los saldos de los créditos y los consumos de cada usuario.
Consumo mediante asignaciones
En esta modalidad, los usuarios del espacio no consumen los créditos del mismo. Los administradores, desde el panel de administración, pueden asignar créditos a los usuarios. Sólo aquellos usuarios que tengan asignaciones pueden consumir créditos.
Hay dos tipos de asignaciones que el administrador configura al momento de asignar:
De reserva:
- El monto asignado se reserva de la cuota del espacio.
- El usuario no puede consumir más que el monto asignado
- El usuario se asegura disponer de ese monto.
- Ej: en un espacio con 100 créditos se asigna como reserva 10 créditos a un usuario. El saldo del espacio ahora es 90 por más que el usuario no haya consumido ninguno.
- No se puede asignar más que lo disponible en la cuota del espacio
De límite:
- El monto asignado funciona como límite, es decir que el saldo del espacio no cambia.
- El usuario no puede consumir más que el monto asignado.
- No se asegura que el usuario disponga de los créditos cuando quiera consumirlos.
- Ej: en un espacio de 100 créditos se asigna como límite 10 al usuario1. El saldo del espacio sigue siendo 100. Si el usuario1 consume 5 créditos, el saldo del espacio pasa a 95.
- El usuario puede consumir sólo si el espacio tiene saldo disponible.
Las asignaciones no se pueden modificar, sólo se pueden crear y eliminar. Si se elimina una asignación de reserva, los créditos no consumidos se reintegran a la cuota del espacio.
Los usuarios del espacio, en el panel de saldos, ven las asignaciones.
Los administradores en el panel de administración gestionan las asignaciones y los consumos de cada usuario.
Notar que si se elimina una asignación en la que un usuario había consumido, el administrador verá que si bien no hay asignaciones, hay créditos consumidos.
Configuración de créditos
Los créditos se deben configurar para que sean consumibles. Por defecto, ninguno es consumible. Para que lo sea se debe registrar en la BD.
Se define una configuración default que indica si el crédito es consumible o no. Ese default aplica a espacios y personales. Luego se puede hacer un override con una configuración por tipo de usuario o por espacio.
Además por tipo de usuario se puede configurar una cuota default.
cuotas default
Las cuotas default son cuotas definidas por credit_name y por tipo de usuario, que se habilitan automáticamente para usuarios personales que no tengan comprada cuota. Puede verse como un limitador de funcionalidades por tipo de usuario.
Además se puede definir un tiempo de renovación de cuotas default.
El flujo es:
- Cuando un usuario desea consumir cuota y no tiene, se verifica si existe una cuota default para su tipo de usuario y el
credit_namecorrespondiente. - En caso de no existir, el usuario no puede consumir créditos.
- En caso de existir, se le crea una cuota al usuario cuya vigencia va desde ese momento hasta el tiempo de renovación definido en la cuota default.
- En ese uso y en los posteriores, el usuario tendrá cuota. Por más que la misma está agotada, no se creará una default nueva hasta que se venza.
A definir
- Cómo gestionar los paneles en caso que un espacio/usuario compre más de una cuota de un mismo crédito.
- Cómo mostrar en el panel de administración los consumos.
- Qué mostrar en el panel de saldo de los usuarios con cuotas default. Son cuotas que tienen pero no existen hasta que intentan consumir (si se ponen muchos límites de funcionalidades le llenaríamos el panel).