La tematización del sistema SAP SuccessFactors se puede gestionar mediante el Administrador de temas.
Este administrador de temas permite definir temas propios o seleccionar temas preseleccionados para el producto. El cliente utiliza esta funcionalidad para adaptar la apariencia del producto a sus colores y logotipos corporativos.
Cuando el socio o los clientes crean una aplicación de extensión para los productos SAP SuccessFactors, a menudo existe la necesidad de aplicar la misma temática a la extensión. La buena noticia es que toda esta información de tematización se almacena dentro del producto y es accesible para una serie de API.
En esta publicación de blog, mostraré cómo recuperar esta información según el ejemplo del logotipo de la empresa que se puede configurar en el Administrador de temas utilizando la sección de ajuste fino del logotipo como se muestra a continuación.
Los factores de éxito de SAP API de tematización están documentados en la Guía de referencia de OData V2 y la primera API que debe saber es la API de ThemingInfo. Esta API devolverá la ID del tema seleccionado actualmente en el administrador de temas.
GET https://api68sales.successfactors.com/odata/v2/ThemeInfo?$format=JSON
El resultado de esta API se ve así:
{
"d": {
"results": [
{
"__metadata": {
"uri": "https://api68sales.successfactors.com/odata/v2/ThemeInfo('11uyoqg2t8')",
"type": "SFOData.ThemeInfo"
},
"id": "11uyoqg2t8",
"ui5Theme": "sap_fiori_3",
"urls": {
"baseUrl": "https://hcm68sales.successfactors.com",
"configUrl": "/public/theme-api/config/SFPRO001234/11uyoqg2t8;mod=1853f8061b1",
"cssUrl": "/public/theme-api/css/SFPRO001234/11uyoqg2t8/.dcss;mod=1853f8061b1",
"ui5BaseThemeRootUrl": "/public/theme-api/css/SFPRO001234/11uyoqg2t8/.dcss/merge_v1/verp/ui/sapui5-aux/resources_1.1.27/theming!/verp/ui/sapui5-main/resources_1.102.6/resources/"
},
"lastModifiedDate": "1671807656369",
"accessibilityPreferences": {
"blindnessSupport": false,
"colorVisionType": null,
"keyboardOnlyNavigation": false,
"lowVisionType": null
},
"locale": "en_US",
"modules": null,
"fingerprints": {
"config": "1853f8061b1",
"css": "1853f8061b1",
"ui5BaseThemeRoot": "v1"
}
}
]
}
}
Con la identificación de la respuesta anterior de la API, se puede llamar a la siguiente API, que es la API ThemingConfig:
GET https://api68sales.successfactors.com/odata/v2/ThemeConfig('11uyoqg2t8')?$format=JSON
Esta API devuelve toda la información proporcionada en el Administrador de temas, incluida la URL del logotipo de la empresa:
"logo": {
"backdropColor": {
"value": "#FFFFFF"
},
"position": "left",
"url": {
"value": "uires:638?mod=dcc48fc2b3b390735e7673714fe66323&name=sap%2dlogo%2dpng%5f2285421small.png"
},
"useBackdrop": false,
"useUploadedLogo": true
},
Esta información, junto con las URL de los recursos de la interfaz de usuario (uires), que es la URL de la interfaz de usuario del sistema SuccessFactors más «public/ui-resources/
https://hcm68sales.successfactors.com/public/ui-resource/SFPRO001234/
se puede utilizar para recuperar el logotipo de la empresa. Al agregar el valor del parámetro «url» de la respuesta de la API de ThemingConfig (excluyendo la parte «uires:»):
https://hcm68sales.successfactors.com/public/ui-resource/SFPRO001234/638;mod=dcc48fc2b3b390735e7673714fe66323
La URL anterior se puede utilizar sin ninguna autenticación adicional desde cualquier aplicación que necesite el logotipo de la empresa. Tenga en cuenta que si copia la URL anterior, no obtendrá el logotipo, ya que en todos los ejemplos anteriores, la identificación de la empresa se reemplazó por una falsa.
De manera similar, se puede acceder a todos los demás recursos o se puede extraer información CSS para aplicarla a su aplicación de extensión.
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073