wiki-DeepLinks
DeepLinks
¿ Que son los deeplinks ?
Los deeplinks son direcciones URL a traves de las cuales podemos hacer que la plataforma se inicialice en algun estado predefinido.
¿ Como esta formado un deeplink ?
Esta formado por una URL Base/Endpoint#Parametros
URL Base: auraview.auravant.com
Endpoint:
Parametros: configuracion inicial de features
Por ejemplo, si quisieras que la paltaforma se inicialice en algun campo y lote en particular y en la funcionalidad de anomalias marcando una anomalia:
auraview.auravant.com/anomalias#field=2133&id=153
¿ Que endpoints desarrollados hay ?
/weather
- farm=<FARM_ID>
/image
- field=<FIELD_ID>
- layer=<LAYER_NAME>
- date=<FECHA_DE_IMAGEN> en el siguiente formato "AAAA-MM-DD" ( sin comillas )
/anomalies
- field=<FIELD_ID>
- id=<ID_ANOMALIA_PRESELECCIONADA>
/marketplace
- install=<APP_CLIENT_ID>
/planification
/cropstatus
/report
/histogram
/zooning
/rc_ordenes_trabajo
/markers
/sensors
/staff
/machines
/stocks
- farm=<FARM_ID>
/aurapp
- client_id=<APP_CLIENT_ID>
Tambien estan los parametros iniciales que se puede usar sin ruta de funcionalidad:
- farm --> /#farm=494
- field --> /#field=283
- latLon --> /#latLon=[-62,-40]
SoftLinks
¿Qué son los softlinks?
Mismo concepto que los deeplinks, pero a diferencia de los anterior que los utilizabamos para iniciar la plataforma en alguna seccion especifica ( sin estar en la plataforma ), los softlinks serán utilizados para ir a alguna sección especifica de la plataforma ya inicializada. Por ejemplo, estando en la funcionalidad de clima, podemos mandar a ese usuario a instalar una extension, sin que tenga que reiniciar la pagina.
¿Cómo funciona?
Para utilizar estos softlinks debemos incluir un elemento en el DOM. Condiciones del elemento:
- Tipo de elemento ancla -->
- Clase del elemento = softlink -->
- Href a un deeplink -->
¿ Cómo agrego un deeplink si soy desarrollador ?
1- en el archivo features.jsx, en el feature correspondiente agregar la key "url_code" que sera con la que se entre al deeplink por ejemplo /marketplace
2- en la funcion "deeplinkIndexHandler" agregar handler de la funcionalidad en nuevo "case" con el nombre/codigo del punto anterior y que ejecute el handler.
3- en la funcion del handler ejecutar lo que queremos que haga el deeplink y tener en cuenta los parametros que recibe
4- en la constante "featuresParamsFilter" esstan los parametros que recibe cada ruta, agregar ahi en caso de que haya parametros