77
Getting Started New to SpagoBI? Want to easily install and run SpagoBI? Then follow these steps: From SpagoBI 4.2 you have to use the JDK 7 Download the All-in-one package. This package contains a ready-to-use installation of SpagoBI running on Tomcat, all engines already configured for you and a simple demo of SpagoBI functionalities. Unzip and start Tomcat server by executing SpagoBIStartup.bat (Windows) or SpagoBIStartup.sh (Linux) from the bin folder. Depending on your CPU you may need to change the catalina.bat script file. In particular if you have a 32-bit CPU on a Windows machine and you experiment problems in launching SpagoBI, you might reduce the size of memory allocation parameters for the JVM. Instead of -Xms2048m - Xmx2048m -XX:MaxPermSize=512m try with -Xms512m -Xmx512m - XX:MaxPermSize=256m Open your browser and type http://localhost:8080/SpagoBI Login as the default user: biadmin/biadmin or bidemo/bidemo Now you are ready to play with the demo and explore SpagoBI functionalities. SpagoBI Server Architecture SpagoBI Server is the main module of the suite. It offers all the core and analytical functionalities.

Getting Started with SpagoBI

Embed Size (px)

DESCRIPTION

Getting started with SpagoBI

Citation preview

Getting StartedNew to SpagoBI?Want to easily install and run SpagoBI?Then follow these steps: From SpagoBI 4.2 you have to use the JDK 7 Download the All-in-one package. This package contains a ready-to-use installation of SpagoBI running on Tomcat, all engines already configured for you and a simple demo of SpagoBI functionalities. Unzip and start Tomcat server by executing SpagoBIStartup.bat(Windows) or SpagoBIStartup.sh(Linux) from the bin folder. Depending on your CPU you may need to change the catalina.bat script file. In particular if you have a 32-bit CPU on a Windows machine and you experiment problems in launching SpagoBI, you might reduce the size of memory allocation parameters for the JVM. Instead of -Xms2048m -Xmx2048m -XX:MaxPermSize=512m try with -Xms512m -Xmx512m -XX:MaxPermSize=256m Open your browser and type http://localhost:8080/SpagoBI Login as the default user: biadmin/biadmin or bidemo/bidemo Now you are ready to play with the demo and explore SpagoBI functionalities.

SpagoBI Server ArchitectureSpagoBI Server is the main module of the suite. It offers all the core and analytical functionalities.

The Analytical Model is the core of SpagoBI Server and covers the whole range of analytical needs, providing many solutions for each analytical area: Reporting, to realize structured reports and export them in several formats OLAP, allowing the multidimensional analysis on data through flexible and user-friendly OLAP engines Charts, allowing to develop single ready-to-use graphical and interactive widgets KPI, to create, manage, view and browse KPI hierarchical models Interactive cockpits, to aggregate several documents into a single view, fostering their interactive and intuitive usage Ad-hoc reporting, to freely create multi-sheet reports through the Worksheet engine Location Intelligence, for run-time connections between geographic and business data Free Inquiry (Driven Data Selection), to build queries through entirely graphical tools Data Mining, to find out hidden information patterns among a great amount of data Real-time dashboards and console, allowing to produce real-time monitoring consoles Collaboration, to automatically create organized report dossiers, with comments and notes Office Automation, for the publication of personal documents in BI environments ETL, allowing to load data into the data warehouse and manage it Mobile, based on the common devices interaction touch-screen paradigm, conceived for an efficient off-line workability External processes, to manage customized processes, running in the background and/or starting at a scheduled time Master Data Management, to take advantage of write-back functionalities on the database Network analysis, which allows users to visualize and interpret relations among a set of entities.Based on Open Standards adoption, SpagoBI allows the end-user to compose the most suitable BI platform, also mixing open source and proprietary products in order to maximize the overall ROI, to save investments already done, providing quickly the first results with a smooth insertion in pre-existing environments.The Behavioural Model regulates visibility over documents and data according to the end-users' roles. It allows to: reduce the required number of analytical documents code only once the behavioural and visibility rules on data guarantee the uniform growth of the project over time guarantee the respect of the visibility rules over time, with no limit on the number of engines and analytical documents that the user adds.All the analytical documents are strictly related to the behavioural model. In fact, the behavioural model guides the behaviour of the analytical documents according to the user's role, managing the visibility of documents and data.The Administration Tools support developers, testers and administrators in their daily work, providing various functionalities, such as: scheduler roles synchronization user profile system import/export menu management maps catalogue management of the documents repository management of the analytical model management of the behavioural model engine configuration data sources configuration configuration of Data Sources and engines audit & monitoring subscription management management of business metadataThe Cross Services include the platform common features that can be used on all analytical areas: SSO alert and notification workflow search engine collaborative tools rules engine sending e-mails ranking multiformat exporter RT events document browser personal files cross navigation subscriptions metadata visualization. The full list of the analytical engines of SpagoBI suite, according to their Module and Analytical Area, follows.AreaEngine nameDownload software packagesNotes

CoreSpagoBI-bin-_.zipCasServer-_.zipThe maintenance on the analytical engines included in SpagoBI-bin-_.zip is applied as detailed below.

ReportingSpagoBIJasperReportEngineSpagoBIBirtReportEngineSpagoBIAccessibilityEngineSpagoBIBOEngineSpagoBIJasperReportEngine-bin-_.zipSpagoBIBirtReportEngine-bin-_.zipSpagoBIAccessibilityEngine-bin-_.zipSpagoBIBOEngine-bin-_.zipMaintenance on SpagoBIBOEngine on demand.

OLAPSpagoBIJPivotEngineSpagoBIWhatIfEngineSpagoBIJPivotEngine-bin-_.zipSpagoBIWhatIfEngine-bin-_.zipSpagoBIWhatIfEngine contains new SpagoBI OLAP Client

ChartSpagoBIChartsEngineSpagoBIHighChartsEngineSpagoBIJfreeChartsEngineSpagoBIChartEngine-_.zipPackages included in SpagoBI-bin-_.zip:- it.eng.spagobi.engines.chart- it.eng.spagobi.engines.dashboardMaintenance on SpagoBIHighCartsEngine on demand

Interactive cockpitSpagoBIComposedDocumentEngineSpagoBICockpitEngineSpagoBIInMemoryEngine-bin_.zipPackage included in SpagoBI-bin-_.zip:- it.eng.spagobi.engines.documentcomposition-SpagoBICockpitEngine-bin-_.zip

KPISpagoBIKPIEnginePackage included in SpagoBI-bin-_.zip:- it.eng.spagobi.engines.kpi

Data MiningSpagoBIDataMiningEngineSpagoBIDataMiningEngine-bin-_.zip

Free InquirySpagoBIQbeEngineSpagoBISmartFilterEngineSpagoBIQbeEngine-bin-_.zip

Ad-hoc reportingSpagoBIWorksheetEngineSpagoBIQbeEngine-bin-_.zip

Location IntelligenceSpagoBIGeoEngineSpagoBIGeoReportEngineSpagoBIGeoEngine-bin-_.zipSpagoBIGeoReportEngine-bin-_.zip

Real-timeSpagoBIConsoleEngineSpagoBIDashboardEngineSpagoBIConsoleEngine-bin-_.zipPackage included in SpagoBI-bin-_.zip:- it.eng.spagobi.engines.dashboard

MobileSpagoBIMobileReportEngineSpagoBIMobileChartEngineSpagoBIMobileCockpitEngineSpagoBIMobileKPIEngine *SpagoBIMobile-bin-_.zip

OfficeSpagoBIOfficeEnginePackage included in SpagoBI-bin-_.zip:- it.eng.spagobi.engines.officedocument

CollaborationSpagoBIAnalyticalDossierEnginePackage included in SpagoBI-bin-_.zip:- it.eng.spagobi.engines.dossier

ETLSpagoBITalendEngineSpagoBITalendEngine-bin-_.zip

External processSpagoBICommonJEngineSpagoBICommonJEngine-bin-_.zip

Master Data ManagementSpagoBIQbeEngineSpagoBIQbeEngine-bin-_.zip

Network AnalysisSpagoBINetworkEngineSpagoBINetworkEngine-bin-_.zip

SDKSpagoBISDKSpagoBISDK-bin-_.zip

SpagoBI ConfigurationThis section describes the configuration procedure for SpagoBI 3 and later. For older versions, pleasecheck here. Engines Configuration Internal Engines External Engines Summary of engine configuration options Data Source Configuration SpagoBI Configuration Logging Mail Server DBMS Type Database schema Maximum file size Date Format Language Context name JNDI name SpagoBI Installation as a portal applicationEngines ConfigurationAll Engines have a default configuration at startup.You can manually edit engines configuration via the Engines Managementfunctionality under the Resources menu in SpagoBI homepage.

In this list you can find one instance of each engine type. Using the editor you can modify engine configuration as follows: edit the URL of external engines, in case you installed that engine in a diferent server. create a duplicate instance of an engine to balance load.There are 2 types of engines: Internal: installed within /SpagoBI context External: installed within a specific context (e.g., /SpagoBIJPivot )For each type of engine the administrator can set: label name description document type: predefined list of document types that can be implemented using the engine engine type: external or internal Data Set: if this option is enabled, any analytical document of this type can be associated to a dataset from the document detail page Data Source: if this option is enabled, any analytical document of this type can be associated to a data source from the document detail pageDetails about the configuration process for each engine are provided below.Internal EnginesIn this case you only need to set the implementation class.

External EnginesIn this case you need to set: URL: the URL used by browser to call the Engine Driver: the implementation class of specific driver

Summary of engine configuration optionsINTERNALNameData SetData SourceClass

DashboardXit.eng.spagobi.engines.dashboard.SpagoBIDashboardInternalEngine

ChartXit.eng.spagobi.engines.chart.SpagoBIChartInternalEngine

DossierXit.eng.spagobi.engines.dossier.SpagoBIDossierInternalEngine

Office Documentit.eng.spagobi.engines.officedocument.SpagoBIOfficeDocumentInternalEngine

Document Compositionit.eng.spagobi.engines.documentcomposition.SpagoBIDocumentCompositionInternalEngine

KpiXit.eng.spagobi.engines.kpi.SpagoBIKpiInternalEngine

EXTERNALNameData SetData SourceDriverURL

BirtXXit.eng.spagobi.engines.drivers.birt.BirtReportDriver/SpagoBIBirtReportEngine/BirtReportServlet

GeoXit.eng.spagobi.engines.drivers.geo.GeoDriver/SpagoBIGeoEngine/servlet/AdapterHTTP

JPivotX

JPaloX

JasperReportXXit.eng.spagobi.engines.drivers.jasperreport.JasperReportDriver/SpagoBIJasperReportEngine/JasperReportServlet

QBEXit.eng.spagobi.engines.drivers.qbe.QbeDriver/SpagoBIQbeEngine/servlet/AdapterHTTP

Talendit.eng.spagobi.engines.drivers.talend.TalendDriver/SpagoBITalendEngine/JobRunService

Wekait.eng.spagobi.engines.drivers.weka.WekaDriver/SpagoBIWekaEngine/WekaServlet

Worksheet EngineXit.eng.spagobi.engines.drivers.worksheet.WorksheetDriver/SpagoBIQbeEngine/servlet/AdapterHTTP

ConsoleEngineXit.eng.spagobi.engines.drivers.console.ConsoleDriver/SpagoBIConsoleEngine/servlet/AdapterHTTP?ACTION_NAME=CONSOLE_ENGINE_START_ACTION

GeoReportEngineXit.eng.spagobi.engines.drivers.generic.GenericDriver/SpagoBIGeoReportEngine/GeoReportEngineStartAction

Accessibility EngineXit.eng.spagobi.engines.drivers.accessibility.AccessibilityDriver/SpagoBIAccessibilityEngine/servlet/AccessibilityServlet

SmartFilterEngineXit.eng.spagobi.engines.drivers.smartfilter.SmartFilterDriver/SpagoBIQbeEngine/servlet/AdapterHTTP

Data Source ConfigurationSpagoBI administrator must configure every DB connection used in documents under Resource -> Engines Management.Once defined, these connections can be used in Analitical Documents.

There are two different options to configure the connection to a DB: Use JNDIThis is the recommended way, but you must configure JNDI resource in your Application Server.For example in Tomcat you have to define Connection Pool in server.xml and add a resource link in every Context. Use JDBCIn this case SpagoBI create a new connection for every document execution, remember to insert JDBC Driver Library in your System.After that, you can TEST your connection using button {The result should be:

SpagoBI ConfigurationThis section describes how to configure different options for SpagoBI.LoggingEach WebApplication uses Log4J to log debug and error information.You can adjust the logging verbosity level by editing the following file:WEB/classes/log4j.propertiesThere are four possible logging levels: DEBUG ERROR WARN INFONote: for more information about log4j configuration [http://logging.apache.org/log4j/]Each WebApplication writes its log file under TOMCAT_HOME/logs. This option can be changed if needed.SpagoBI uses Spagoas J2EE Application Framewor. Spago has a specific logging system that gets redirected in log4j. Hence, if you want to debug Spago, you will need to change the Spago Log Level at TOMCAT_HOME/webapps/SpagoBI/WEB-INF/conf/config/tracing.xml

Simply set debug="true" and debug for Spago will be enabled.Mail ServerSpagoBI uses 3 mail profiles scheduler: used by SpagoBI Scheduler user: used to send documents by e-mail kpi_alarm: used to send alarmsThese profiles can be configured via Tools -> Manages Configurations:

In order to configure mail profiles, select MAIL in the filter bar and you will be shown the mail profiles.Below the parameters that can be configure for each mail profile:MAIL.PROFILES.scheduler.smtphost="mail.eng.it" vMAIL.PROFILES.scheduler.smtpport="110" MAIL.PROFILES.scheduler.from="[email protected]" MAIL.PROFILES.scheduler.user="" MAIL.PROFILES.scheduler.password=""

MAIL.PROFILES.user.smtphost="mail.eng.it"MAIL.PROFILES.user.smtpport="110"MAIL.PROFILES.user.from="[email protected]" MAIL.PROFILES.user.user=""MAIL.PROFILES.user.password=""

MAIL.PROFILES.kpi_alarm.smtphost="mail.eng.it" MAIL.PROFILES.kpi_alarm.smtpport="110" MAIL.PROFILES.kpi_alarm.from" name="[email protected]" MAIL.PROFILES.kpi_alarm.user" name=""MAIL.PROFILES.kpi_alarm.password=""DBMS TypeIt is compulsory to properly configure the type of DBMS used by SpagoBI. This is done by editing the hibernate.cfg.xmlfile and setting the proper Hibernate , as shown below.org.hibernate.dialect.MySQLDialectIf you are using the SpagoBIWorkflowEngine, you also need to configure the Hibernate dialect for JBPM workflow engine. This can be done by editing apache-tomcat-6.0.18/webapps/SpagoBI/WEB-INF/classes/jbpm.cfg.xmlAs shwon below, this file contains a reference to JBPM hibernate file:

In case your file reads jbpm.hibernate.cfg.hsql.xml instead of jbpm.hibernate.cfg.xml: jbpm.hibernate.cfg.hsql.xml is the hibernate file suitable for HSQLDB; if you are not using HSQLDB change resource.hibernate.cfg.xml property to jbpm.hibernate.cfg.xml, then edit apache-tomcat-6.0.18/webapps/SpagoBI/WEB-INF/classes/jbpm.hibernate.cfg.xml and changeorg.hibernate.dialect.MySQLDialectaccording to your database server.Finally, in case you are using SpagoBI Scheduler, you need to configure the Quartz scheduler engine by editing apache-tomcat-6.0.18/webapps/SpagoBI/WEB-INF/classes/quartz.properties.The file looks similar to what is shown below:# job store delegate class -# Hsqldb delegate classorg.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.HSQLDBDelegate

# Mysql/Ingres delegate class#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate

# Postgres delegate class#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

# Oracle delegate class#org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.oracle.OracleDelegate#-Simply uncomment the job store delegate class suitable to your database server and comment all others.Database schemaSpagoBI metadata repository (DB tables) should reside in the default schema of the user using the JDBC connection.In case this is not possible, you should edit hibernate.cfg.xmlby adding the following line:

- modify SpagoBI/WEB-INF/classes/jbpm.hibernate.cfg.xml by adding the following line:

- modify SpagoBI/WEB-INF/classes/quartz.properties by adding the following line:org.quartz.jobStore.tablePrefix=.qrtz_ - modify the queries inside SpagoBI/WEB-INF/conf/config/statements.xml adding the schema before tables' names.Maximum file sizeYou can set different values via Tools -> Manages Configurations. To set a different maximum file size, change the following property of GENERIC_CONFIGURATION Category

SPAGOBI.TEMPLATE_MAX_SIZE=5242880Date FormatIt is possible to customize the date format displayed by SpagoBI drivers. The date format depends in general on the LOCALE options.You can configure it via Tools -> Manages Configurations by editing the following properties of the DATE-FORMAT CategorySPAGOBI.DATE-FORMAT-SERVER.format="dd/MM/yyyy" SPAGOBI.DATE-FORMAT-SERVER.extJsFormat="d/m/Y" SPAGOBI.DATE-FORMAT.format"dd/MM/yyyy"SPAGOBI.DATE-FORMAT.extJsFormat="d/m/Y"SPAGOBI.DATE-FORMAT-IT_IT.format="dd/MM/yyyy"SPAGOBI.DATE-FORMAT-IT_IT.extJsFormat="d/m/Y" SPAGOBI.DATE-FORMAT-EN_US.format="MM/dd/yyyy"SPAGOBI.DATE-FORMAT-EN_US.extJsFormat=valueCheck="m/d/Y" SPAGOBI.DATE-FORMAT-FR_FR.format="dd/MM/yyyy" SPAGOBI.DATE-FORMAT-FR_FR.extJsFormat="d/m/Y" SPAGOBI.DATE-FORMAT-ES_ES.format="dd/MM/yyyy" SPAGOBI.DATE-FORMAT-ES_ES.extJsFormat="d/m/Y" SPAGOBI.TIMESTAMP-FORMAT.format="dd/MM/yyyy hh:mm:ss" SPAGOBI.TIMESTAMP-FORMAT.extJsFormat="d/m/Y H:i:s"Note that these formats only affect formats of dates shown in documents parameter selection. The format of dates actually passed to SpagoBI reports (as parameters values) do not depend on the LOCALE.LanguageSpagoBI supports Java standard i18n. Each user can choose the preferred language. The default language is read from the browser.You can set different language supported via Tools -> Manages Configurations by changing the following properties of the LANGUAGE_SUPPORTED CategorySPAGOBI.LANGUAGE_SUPPORTED.LANGUAGES="[it,IT],[en,US],[fr,FR],[es,ES]"SPAGOBI.LANGUAGE_SUPPORTED.LANGUAGE.default="en,US"Context nameYou can change the context name via Tools -> Manages Configurations by changing this property of GENERIC_CONFIGURATION CategorySPAGOBI.SPAGOBI_CONTEXT=/SpagoBIJNDI nameYou can change the JNDI names used to lookup environment variables via Tools -> Manages Configurations by changing the following properties of the GENERIC_CONFIGURATION CategorySPAGOBI.SPAGOBI_HOST_JNDI=java://comp/env/spagobi_host_urlSPAGOBI.RESOURCE_PATH_JNDI_NAME=java://comp/env/spagobi_resource_pathSPAGOBI_SSO.INTEGRATION_CLASS_JNDI=java://comp/env/spagobi_sso_classNote that these properties are valid only within SpagoBI core project.In addition, each External Engine has engine-config.xml where you can change some JNDI names such as:

java://comp/env/spagobi_sso_classjava://comp/env/spagobi_service_urljava://comp/env/spagobi_resource_path

We recommend to chane these names only in case you have trouble with your Application ServerSpagoBI Installation as a portal applicationYou can install SpagoBI as simple WebApplication or in Portal Environment via Tools -> Manages Configurations by changing the SPAGOBI.SPAGOBI-MODE property of theGENERIC_CONFIGURATION Category

SPAGOBI.SPAGOBI-MODE.mode="WEB or "PORTLET"SpagoBI 2.0 is distributed as Web Application by default.In case you wish to install as a portal, you will need to: Modify SPAGOBI.SPAGOBI-MODE.mode Modify security connector ( read next paragraph ) Comment inizializer in TOMCAT_HOME/webapp/SpagoBI/WEB-INF/conf/config/initializer.xml

Uncomment listner in TOMCAT_HOME/webapp/SpagoBI/WEB-INF/web.xmleXo platform uses this listener. If you are using another portal you will need to insert other specific configurations.You may have problems with classloader and missing libraries, depending on the portal.User Management

This section describes user management in SpagoBI 3 or later. Earlier versions only store role information for the purpose of setting up the behavioral model. 1 Role-based access 1.1 Role Management GUI 2 Connectors 2.1 ISecurityInfoProvider 2.2 ISecurityServiceSupplier 3 Configuration of connectors 4 Implementation of new connectors 4.1 Internal Connector (default ) 4.2 LDAP based 4.3 eXo 4.4 Role based access rights 5 Change User Password 5.1 Password checking rules

6 Public user 1 Role-based accessSpagoBI behavioral model is based on users, roles and attributes. Users are assigned roles. Each role has a TYPE, which determines the type of permissions associated to each user with that role. Role types are: ADMIN: SpagoBI administrator MODEL_ADMIN: Behavioural model administrator DEV_ROLE: developer TEST_ROLE: tester USER: the final userWhenever a new role is created or imported, the Role-Type-Patterns is useful to associate the default type to the new role.At login, SpagoBI retrieves all permissions (functionalities) associated to the role of the current user and uses this information during the session to check whether the user is allowed to perform an action. 1.1 Role Management GUIThe administrator is allowed to manage users and roles via a graphical user interface, accessible via Profile Management -> Roles management In particular, the following operations are available: Start the synchronization of roles Change the Role Type Assign some features to display2 ConnectorsStarting SpagoBI 3.x the administrator is allowed to directly manage users from within the DBMS by means of an InternalConnector. To retrieve infomation about users SpagoBI relies on two connectors that allow to read: Role and Attributes name. User Profile of the current session.2.1 ISecurityInfoProviderThis interface retrieves all defined roles and user attributes.

public interface ISecurityInfoProvider {public List getRoles();public List getAllProfileAttributesNames ();}

SpagoBI invokes these methods to retrieve the user roles and attributes from the external system. Roles name and description are inserted in the SBI_EXT_ROLES table. User attributes are displayed when the administrator displays the attributes list. Note that all defined roles are handled by SpagoBI, not only the roles defined for a specific user. Roles can be filtered with a regular expression stored in SPAGOBI.SECURITY.ROLE-NAME-PATTERN-FILTER property configuration ( you can change this setting via Tools->Manage Configuration).2.2 ISecurityServiceSupplierSpagoBI invokes these methods at user login to retrieve roles and attributes associated to the current user. Note that the checkAuthentication and checkAuthenticationWithToken methods are used if SSO is disabled.

public interface ISecurityServiceSupplier {SpagoBIUserProfile createUserProfile(String userId); SpagoBIUserProfile checkAuthentication(String userId,String psw); SpagoBIUserProfile checkAuthenticationWithToken(String userId,String token);}

3 Configuration of connectorsYou can set up the above connectors by changing some properties (via Tools->Manage Configuration). For example: SPAGOBI.SECURITY.PORTAL-SECURITY-CLASS.className=it.eng.spagobi.security.InternalSecurityInfoProviderImpl SPAGOBI.SECURITY.USER-PROFILE-FACTORY-CLASS.className=it.eng.spagobi.security.InternalSecurityServiceSupplierImpl SPAGOBI.SECURITY.PORTAL-SECURITY-INIT-CLASS.className=it.eng.spagobi.security.init.InternalSecurityInitializerYou can also configure the default mapping used to assign the default type to imported roles. SPAGOBI.SECURITY.ROLE-TYPE-PATTERNS.DEV_ROLE-PATTERN=/spagobi/dev SPAGOBI.SECURITY.ROLE-TYPE-PATTERNS.TEST_ROLE-PATTERN=/spagobi/test SPAGOBI.SECURITY.ROLE-TYPE-PATTERNS.MODEL_ADMIN-PATTERN=/spagobi/modeladmin SPAGOBI.SECURITY.ROLE-TYPE-PATTERNS.ADMIN-PATTERN=/spagobi/dev4 Implementation of new connectorsIf you have to write a new connector you must implement the previous Java Interface, create a JAR with implementation class ad configure these properties: SPAGOBI.SECURITY.PORTAL-SECURITY-CLASS.className=it.eng.spagobi.security.InternalSecurityInfoProviderImpl SPAGOBI.SECURITY.USER-PROFILE-FACTORY-CLASS.className=it.eng.spagobi.security.InternalSecurityServiceSupplierImpl SPAGOBI.SECURITY.PORTAL-SECURITY-INIT-CLASS.className=it.eng.spagobi.security.init.InternalSecurityInitializerSpagoBI includes these connectors:4.1 Internal Connector (default )If you want to use internal user (defined in SpagoBI metadata db): SPAGOBI.SECURITY.PORTAL-SECURITY-CLASS.className=it.eng.spagobi.security.InternalSecurityInfoProviderImpl SPAGOBI.SECURITY.USER-PROFILE-FACTORY-CLASS.className=it.eng.spagobi.security.InternalSecurityServiceSupplierImpl SPAGOBI.SECURITY.PORTAL-SECURITY-INIT-CLASS.className=it.eng.spagobi.security.init.InternalSecurityInitializer4.2 LDAP basedIf you want to use LDAP : SPAGOBI.SECURITY.PORTAL-SECURITY-CLASS.className=it.eng.spagobi.security.LdapSecurityProviderImpl SPAGOBI.SECURITY.USER-PROFILE-FACTORY-CLASS.className=it.eng.spagobi.security.LdapUserProfileFactoryImpl SPAGOBI.SECURITY.PORTAL-SECURITY-INIT-CLASS.className=it.eng.spagobi.security.init.LdapSecurityProviderInitThis connector uses ldap.jar library and ldap_authorizations.xml to configure connection and some specific parameters. You MUST set up how connector retrive informations in LDAP in ldap_authorizations.xml:

cn=*,ou=People,dc=spagobi,dc=comcn=Manager,dc=spagobi,dc=com CAS Validation Filter /proxyCallback ....Remember to set the right Address In the configuration properties Web.xml of alla Web Applications Server.xmlRemember to check the right filter receipt for the external engines: engine-config.xml/proxyCallback3 Configure HTTPSThe detail documentation on how to configure HTTPS in tomcat v6 is available [here]. Hereafter the configuration procedure is streamlined step by step.3.1 Certification creationExecute the following command to generate a new certificate:%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA -validity 3650The tool asks some information to the user. Insert the logical name of your server as nama/surname property (ex. localhost).Here is an example: Immettere la password del keystore:Immettere nuovamente la nuova password:Specificare nome e cognome [Unknown]: localhostSpecificare il nome dell'unit aziendale [Unknown]: DCISpecificare il nome dell'azienda [Unknown]: ENGSpecificare la localit [Unknown]: MilanoSpecificare la provincia [Unknown]: MISpecificare il codice a due lettere del paese in cui si trova [Unknown]: ITIl dato CN=localhost, OU=DCI, O=ENG, L=Milano, ST=MI, C=IT [no]: si

Immettere la password della chiave per (INVIO se corrisponde alla password del keystore):This operation generates a new certificate in file .keystore in the user home directory. If you recieve the following error when insert the password property...keytool error: java.io.IOException: Keystore was tampered with, or password was incorrectprobably you have already a .keystore file in your user home. In that case you must provide the password you have inserted when you have defined it. If you have never created it but the file is there try changeit as password. If it does not work delete the existing .keystore file and reacreate it from scratch.3.2 Export the certificate%JAVA_HOME%\bin\keytool -export -alias tomcat -file tomcat.crtInsert the password that you have specified when you have created the store (see previous step) and press enter. The certificate will be exported in tomcat.crt file.3.3 Copy certificate under TomcatCopy the file .keystore in the conf/ directory of tomcat.3.4 Import the certificate in the cacertsTo import the certificate in the cacerts of the JDK using KeyTools: %JAVA_HOME%\bin\keytool -import -trustcacerts -alias tomcat -file tomcat.crt -keystore C:\Programmi\Java\jdk1.5.0_11\jre\lib\security\cacertsC:\temp>%JAVA_HOME%\bin\keytool -import -trustcacerts -alias jbftomcat -file cert.crt -keystore C:\Programmi\Java\jdk1.5.0_11\jre\lib\security\cacertsImmettere la password del keystore: changeitProprietario: CN=zerbetto.engilab.ewebpd.eng.it, OU=DCI, O=ENG, L=PD, ST=PD, C=ITOrganismo di emissione: CN=server.engilab.ewebpd.eng.it, OU=DCI, O=ENG, L=PD,ST=PD, C=ITNumero di serie: 493ea04fValido da Tue Dec 09 17:43:59 CET 2008 a Fri Dec 07 17:43:59 CET 2018Impronte digitali certificato: MD5: F4:93:FD:9E:8A:39:3F:10:47:1B:11:2E:D1:9B:E0:22 SHA1: C9:D9:26:7B:E9:57:79:45:34:66:3A:9D:86:F8:8E:4D:98:0C:E0:46Considerare attendibile questo certificato? [no]: siIl certificato stato aggiunto al keystoreIt is possible to use some environment variable to set up truststore: CAS_OPTS="-Djavax.net.ssl.trustStore=$CATALINA_HOME/conf/.keystore -Djavax.net.ssl.trustStorePassword=mypassword"3.5 Configure Tomcat You must acrivate HTTPS connector under Tomcat, edit server.xml file and uncomment this:

Note: keystoreFile="conf/.keystore" 4 Change Password moduleFrom 2.5 SpagoBI version is possible change the user password using CAS environment. It's useful when you use the Internal Connector of SpagoBI. To do this, you should install the new version of CAS webapp and change, like ever, all url, in particular pay attention to modify the url in file /webapps/cas/WEB-INF/login-webflow.xml for set the correct link for the external redirect (SpagoBI's change password module). Ie:

Then, if all is correct you should view a new link in login page :

For more informations about the roles available on this module look at https://wiki.spagobi.org/xwiki/bin/view/spagobi_server/User+management (chapter "Change Password module" )Engines Installation & Configuration Detailed explanation on how to install and configure specific engines: HighCharts installationJPalo installationWeka installation HighCharts installationIn this page we will describe how install HighCharts libreries into SpagoBI Core and QBE EngineSpagoBIDownload the version 2.1.6 of the library Hightcharts from the official web site (http://www.highcharts.com/downloads/zips/Highcharts-2.1.6.zip) or from our public SVN http://websvn.ow2.org/listing.php?repname=spagobi&path=%2FV_3.x%2FServer%2Ftrunk%2FSpagoBIProject%2Fweb-content%2Fjs%2Flib%2Fhighcharts-2.1.6%2FIf you have downloaded the zip from the official Hightcharts web site open you installation of SpagoBI and perform these steps: Open the home folder of your SpagoBI installation. Open the folder where youve deployed the SpagoBI war (for tomcat webapps). Open the folder SpagoBI/js/lib Create a folder SpagoBI/js/lib/highcharts-2.1.6 Copy the content of the folder Highcharts-2.1.6.zip/js/ of the downloaded zip file into the folder SpagoBI/js/lib/highcharts-2.1.6If you have downloaded folder highcharts-2.1.6 from our SVN act in this way: Open the home folder of your SpagoBI installation. Open the folder where youve deployed the SpagoBI war (for tomcat /webapps). Open the folder SpagoBI/js/lib Create a folder SpagoBI/js/lib/highcharts-2.1.6 Copy the content of the SVN folder highcharts-2.1.6 into the folder SpagoBI/js/lib/highcharts-2.1.SpagoBIQbeEngineDownload the version 2.1.4 of the library Hightcharts from the official web site (http://www.highcharts.com/downloads/zips/Highcharts-2.1.4.zip) or from our public SVN at this link http://websvn.ow2.org/listing.php?repname=spagobi&path=%2FV_3.x%2FServer%2Ftrunk%2FSpagoBIQbeEngine%2FWebContent%2Fjs%2Flib%2Fhighcharts-2.1.4%2FIf you have downloaded the zip from the official Hightcharts web site open you installation of SpagoBI and perform these steps: Open the home folder of your SpagoBI installation. Open the folder where youve deployed the SpagoBIQbeEngine war (for tomcat webapps). Open the folder SpagoBIQbeEngine/js/lib Create a folder SpagoBIQbeEngine/js/lib/highcharts-2.1.4 Copy the content of the folder Highcharts-2.1.4.zip/js/ of the downloaded zip file into the folderSpagoBI/js/lib/highcharts-2.1.4If you have downloaded folder highcharts-2.1.4 from our SVN act in this way: Open the home folder of your SpagoBI installation. Open the folder where youve deployed the SpagoBIQbeEngine war (for tomcat webapps). Open the folder SpagoBIQbeEngine/js/lib Create a folder SpagoBIQbeEngine/js/lib/highcharts-2.1.4 Copy the content of the SVN folder highcharts-2.1.4 into folder SpagoBIQbeEngine/js/lib/highcharts-2.1.4To configure the library you want to use in the worksheet for the chart rendering, you should change the file SpagoBI-Server-3.5xxx/webapps/SpagoBIQbeEngine/js/spagobi/commons/Settings.js So open the file and act in the line 119, more or less, of this file. If the value of this line is ,chartlib : 'ext3'the worksheet engine will use the extJS library; If the value is ,chartlib : 'highcharts'it will use the highcharts JS library. If you change this file you dont have to restart the server, but you should clean the cache of your browser and refresh the web page.JPalo Installation 1 Install SpagoBI JPalo Engine 1 Install SpagoBI JPalo EngineTo install SpagoBI JPalo Engine, download the war file from SpagoBI OW2 website at the following URL:http://forge.ow2.org/project/showfiles.php?group_id=204Simply choose the SpagoBIJPaloEngine 3.x - Binary zip file and download it. Unzip it under your application server webapp folder (web application deployment folder).Startup the server so that the web application is exploded. Once you removed the .war file, you can configure JPalo just like describedin the following wiki page: http://wiki.spagobi.org/xwiki/bin/view/spagobi_server/JPaloRemember to configure JPaloEngine from SpagoBI GUI Resources/Engine Management:

SpagoBI Weka Engine 1 Install SpagoBI Weka Engine 1 Install SpagoBI Weka EngineTo install SpagoBI Weka Engine, download the war file from SpagoBI OW2 website at the following URL:http://forge.ow2.org/project/showfiles.php?group_id=204Simply choose the SpagoBIWekaEngine 3.x - Binary zip file and download it. Unzip it under your application server webapp folder (web application deployment folder).Startup the server so that the web application is exploded. Once you removed the .war file, you can configure Weka changing the sql dialect in /SpagoBIWekaEngine/WEB-INF/classes/database.properties in file.Remember to configure WekaEngine from SpagoBI GUI Resources/Engine Management: Internationalization1. 1. How to use Localization in Data Set and LOV2. Jasper Engine specific issues3. Birt Engine specific issues4. JPivot Engine specific issues5. Domains value6. How to localize titles, messages and labels7. I18n of User Menu8. Automatic label translationWhen using SpagoBI in web-mode configuration it is possible to dinamically select the language by using the selection box in the up-right corner of the page. This way any user can change the language of all labels that have been localized.Languages supported by the system are registered in the spagobi.xml file under the tag.

A user registering a new language must also add the corresponding .properties file, by adopting the following suntax for the file name: messages_{language}_{country}.properties (e.g. messages_fr_FR.properties for a french translation); this file should be filles with all pair of codes and their correct translation, in the form code=translation (e.g. cod_ProductAnalysis=Analyse de produits for French or cod_ProductAnalysis=Product Analysis for English).

How to use Localization in Data Set and LOVA profile attribute named languageis put in session when a user logs in, taking the value of the default language (see spagobi.xml); the value of this session attribute is changed when the user selects a different lanaguage. In any dataset and LOV query it is possible to acces this profile attribute with the syntax ${language} .As an example, if you have a tabel with this schema:DROP TABLE IF EXISTS test_language;CREATE TABLE test_language (`id` int(10) unsigned NOT NULL auto_increment,`lang` varchar(45) NOT NULL,`name` varchar(45) NOT NULL,`descr` varchar(45) NOT NULL,PRIMARY KEY (`id`)) ;With this table of data:Idlangnamedescr

1itMarioMario Rossi

2enJohnWayne

If you create a Data Set with this query:select name,descr from test_language where lang='${language}'The result of Data Set depends on the user selected language.

You can do the same with LOV.

Jasper Engine specific issuesWhile writing the template you need to write a field in the form$R{message_code} wheremessage_code is the code of the text you want to be localized.(Pay attention that you must write$R{message_code} in a dynamic text field, it will not work if you write it in a static text field).message_code must be placed then in the properties file with the syntax message_code = internationalised_message,for example:title_code = title of the documentThe name of the properties file is "messages_" plus the current locale; for example:- messages_en_US for english USA language- messages_it_IT for italian language- messages_fr_FR for french language(For release after 2.2)All properties files have to be put either in the resources folder under the folder jasper_messages, or in a zip file with the jrxml template and then uploaded as template of the Jasper Document.

Birt Engine specific issuesFor what concern Birt, when user wants to localize a message in a field in report template, he needs to define the code filling the Text key field by clicking on the Localizationvoice under the field properties tab.

Select then the report and set the resource file bundle name in the resources tab of the Property Editor; the default message bundle is "messages".

message_code must be placed then in the properties file with the syntax message_code = internationalised_message,for example:title_code = title of the documentThe name of the properties file is "messages_" plus the current locale; for example:- messages_en_US for english USA language- messages_it_IT for italian language- messages_fr_FR for french language(For release after 2.2)All properties files have to be put either in the resources folder under the folder birt_messages, or in a zip file with the rptdesign template and then uploaded as template of the Birt Document.

JPivot Engine specific issues

Domains valueContents in sbi_domains table has been localized too; this way system translates the domain name if is found in the properties file of the current language, otherwise write the name itself, due to back-compatibility.

How to localize titles, messages and labelsIn order to localize SpagoBI in a specific language, you have to follow the below-reported instructions (by way of an example, here we suppose you wish to localize SpagoBI in Polish).1) Configure the new language Log into SpagoBI as Administrator Go to Tools - Manage Configurations In the Select Category combo box, select "LANGUAGE_SUPPORTED" Add the language at the end of the existing string as follows: ,[pl,PL] Add the icon of the related flag into the file: SpagoBI\themes\sbi_default\css\analiticalmodel\execution\main.css , by adding the following lines:.icon-pl {background-url('../../../img/pl_PL.gif') !important;} The image containing the new flag shall be added into the folder SpagoBI\themes\sbi_default\img .2) Translate the titles, messages and labelsAt this point, translate all the titles, messages and labels included in SpagoBI packages: SpagoBI\WEB-INF\classes\MessageFiles\ SpagoBI\js\src\ext\sbi\locale SpagoBIQbeEngine\js\spagobi\locale\.... SpagoBIGeoReportEngine\js\src\ext\sbi\locale SpagoBIConsoleEngine\js\spagobi\localeAll .properties files must be copied and renamed as xxxxxx_pl_PL.properties, before making any changes inside.I18n of User MenuIn order to localize menu items for the User Menu toolbar in a specific language, you have to follow the below-reported instructions.First of all enter the new Menu item from the SpagoBI administrator Tools/Menu configuration toolbar.The name of the newly created item, must have "cod_" prefix.Suppose you create a menu item called "cod_testi18n".Now you have to manually fill the sbi_i18n_messages table in SpagoBI metadata database, as follows: LANGUAGE_CD: The value_id of the sbi_domain table corrensponding to the language you want to use. (Use SELECT VALUE_ID FROM sbi_domains WHERE DOMAIN_CD = 'LANG'; to detect value_id) LABEL: the name of the menu item (ex. cod_testi18n) MESSAGE: the localized message ORGANIZATION: the tenant name (you can find querying SELECT * FROM sbi_organizations s;)Automatic label translationSpagoBI Babel is a small application to automatically translate document labels within a SpagoBI project.ThemesFrom SpagoBI 4 is possibile to define a complete theme activable from the setting GUI by the administrator. For 'complete' theme we intend that you can also specify the styles as well as the content of home pages. In fatc under the jsp folder are present : adminHome.jsp : the layout file for administration role publicUserHome.jsp : the layout file for the public user when is presents userHome.jsp: the layout file for final users login.jsp: the layout for the login actionInstead, the 'signup' folder contains the pages used to manage the final user signup / modify action. Images, html, css, jsp files are grouped under the path: web_content/themes/theme_name There is a sbi_default theme where all resources are grouped, and this is taken as default if the user does not define other themes. To activate a different theme from the sbi_default is necessary specify the folder name into the configuration GUI (we suggest you to use the filter on THEMES category):

So, to create a new theme: create a new folder under themes (you can copy the sbi_default just to start with all files) modify the interested files (css, jsp, js, ...)Multi tenancyMulti-tenancy is supported starting SpagoBI 3.5 1 Overview 2 Configuration 1 OverviewStarting version 3.5, SpagoBI supports multi-tenancy, i.e., the use of the same SpagoBI instance by different organizations, called tenants.In a multi-tenancy architecture, each tenant owns and manages its users, documents, analytical drivers and so on, which are completely independent from those owned by other tenants.In the current version, multi-tenancy is implemented according to certain criteria. As far as the behavioral model is concerned, the following rules apply: each user belongs to one tenant only; each user is defined unambiguously over the whole set of users, belonging to all tenants. This means that if a user has been defined for a given tenant, no user with the same name can be defined for another tenant; roles and profile attributes can be defined across tenants. This means that users belonging to different tenants may assume the same role or have the same attribute profiles.The following elements are shared across tenants: general configuration and domain management; layout of the web interface is also shared across tenants; repository of static resources (e.g., OLAP schemas, QbE datamarts, HTML static pages); data source configuration in the application server. Although the data source configuration is shared across tenants in the application server, each tenant will have to define his own data sources at application level.2 ConfigurationAt first execution, SpagoBI will create the default tenant, called SPAGOBI. If you do not need multiple tenants, you can simply ignore this feature as SpagoBI will normally work with the default tenant.In case you wish to change the name of the default tenant, you must do this before first server execution. In particular, you should perform the following operations: change the name of the unique tenant you find inside file SpagoBI/WEB-INF/conf/config/tenants.xml:

in file SpagoBI/WEB-INF/conf/config/internal_profiling.xml change the name of the default tenant for all pre-defined users.If you dont need additional tenants, you are done.In case you need to add multiple tenants, here is the procedure you should follow: stop the application server edit file SpagoBI/WEB-INF/conf/config/tenants.xml to add more tenants. An example with two tenants is shown below:

edit file SpagoBI/WEB-INF/conf/config/internal_profiling.xml to add at least one adiministrator per tenant. This will allow the administrator to further define roles, users, documents and so on. Below an example:

.... .... .... < default attributes for TENANT A> .... .... ....

restart the application server.You are done! At server startup the new tenant will be created with its default users, which will then create the analytical and behavioral model for that tenant.

Login page, banner and footer customizationLogin page customizationTo customize the login page you have to modify the file login.jsp located into folder [YOUR_APPLICATION_SERVER_PATH]\webapps\SpagoBI\WEB-INF\jsp\wappwhere [YOUR_APPLICATION_SERVER_PATH] is the path to the root dir of the application server in which you have deployed SpagoBI (ex. C:\apache-tomcat-6.0.33).Main page customizationTo customize the header and footer of the main page (the one that you can see after login) you have to modify respectively the files banner.html and footer.html located into folder [YOUR_APPLICATION_SERVER_PATH]\webapps\SpagoBI\themes\[YOUR_THEME_NAME]\html/where [YOUR_APPLICATION_SERVER_PATH] is the path to the root dir of the application server in which you have deployed SpagoBI (ex. C:\apache-tomcat-6.0.33) and is the name of the theme on which you want to apply the modification. The banner and footer are infact related to the theme. Different themse have different headers and footers associated to them. When the user change the theme, the footer and the header change also properly. If you have not defined your custom themes you can just modify the header.html and footer.hatml file of the default theme located into folder: [YOUR_APPLICATION_SERVER_PATH]\webapps\SpagoBI\themes\sbi_default\html/Advanced topics 1 Tomcat security constraints 1 Tomcat security constraintsWhen a Tomcat security constraint ( tag in web.xml) is defined in a SpagoBI context (SpagoBI core or external engine) you can experience problems when you try to print documents containing images (images are not printed) or when exporting documents in PDF, XLS, (you get an error when downloading file), in particular if you use IE.This can occur, as an example, if you use SiteMinder as SSO system.This is because, when a context is protected by a security constraint, Tomcat adds the following HTTP headers into the response containing a file:

Pragma: No-cacheCache-control: No-cache

while SpagoBI engines put opposite HTTP headers in order to let the browser cache the images.To fix this, you just have to configure the authenticator to not do this: when defining the authenticator class in the context definition file, add the disableProxyCaching="false" property. Here below you the see example for SpagoBIJasperReportEngine context.xml:

Remember that JBoss has an embedded Tomcat servlet container, therefore this can be applied also to JBoss. In this case, the context.xml file is something like that:

Some useful links:http://www.cafesoft.com/products/cams/tomcat-security.htmlhttp://www.mail-archive.com/[email protected]/msg151294.html SpagoBI can run in Portlet or Web mode.

To switch into Web mode you have to:

1) change the parameter 'mode' inside the configuration file 'WEB-INF/conf/spagobi/spagobi.xml'

\\

2) Change the security configuration into the configuration file 'WEB-INF/conf/spagobi/spagobi.xml'. Please note that you need to put inside the WEB-INF/lib directory the jar of the ldap security provider implementation. \\\\ it.eng.spagobi.security.init.LdapSecurityProviderInit\\ \\ \\ \\ \\ .*\\

\\\\

To learn how to start with an ldap server and how to configure SpagoBI for using ldap read the document 'SpagoBI_ldap_security.doc'.

3) Uncomment the initializers inside the file 'WEB-INF/conf/config/initializer.xml'

\\\\\\

4) Comment, into the file 'WEB-INF/web.xml', the definitions and mappings of the portlet listener and portlet servlet.\\ \\

6) Uncomment master configuration file enabling webapp files:\\ \\ \\ \\ \\ \\ \\ \\

7) check that the following libraries are contained into the WEB-INF/lib directory or into the classpath of the application server. You can find all this libraries into the directory 'WebModeLibraries'. - hibernate-3.1rc2.jar (or major) - ehcache-1.1.jar (or major) - slf4j-log4j12.jar - cglib-2.1_2.jar (or major) - asm-1.5.3.jar (or major) - portlet-api-1.0.jar - commons-digester-1.6.jar (or major) - xercesImpl.jar (or major) - jdt-compiler-3.1.1.jar (or major) Functionalities tree 1 SpagoBI Functionalities Tree 2 How to create a new folder (functionality) 3 How to assign role visibility 1 SpagoBI Functionalities TreeSpagoBI uses its own file system, named Functionalities Tree, which allows to better organize documents by grouping them in folders. Access to those folders is regulated by role-based permissions. This multi-level hierarchical structure can be created and modified only by the administrator via the Functionalities Management menu item.

2 How to create a new folder (functionality)By clicking on a node of the Functionalities Tree a set of possible actions is shown: Delete to remove an existing functionality, if this does not contain any sub-node. Move up or Move down to change folders order. Insert to create a new functionality.By choosing the Insert option, the administrator is prompted a window where he can fill in all required information. This new element will be child of the selected one. Detailed information regarding an existing functionality can be displayed and modified by selecting the Detail option.

3 How to assign role visibilityEach folder is characterized by a name, a unique code and a optional brief description.The list of the Roles allows the administrator to choose for the selected functionality whether to assign or remove permissions required for the development, test or execution phase for each role.For instance, checking the Development and the Test boxes of the SpagoBI developers group, all users belonging to that group will only be able to develop and test documents contained into the selected functionality, but not to execute them when they are in Released state.When the administrator adds or modifies a functionality, all permissions that can be added or removed wrt.to each role follow a well defined policy: When we create a new functionality, by adding a new folder to the tree, it inherits automatically all permissions of the father node. Any permission not owned by the father node cannot be assigned neither to its direct children, nor to any other descendant.Basically, permission management is configured in such a way that we can never assign to a child functionality a permission that his father does not have, and this behaviour is propagated from the root to the leaves of the functionalities tree.

Profile Management 1 SpagoBI Profile Management 1.1 Roles GUI 1.2 Attributes GUI 1.3 User GUI 1 SpagoBI Profile ManagementSpagoBI server provides its own profile management. Users, roles and user attributes are stored in SpagoBI database.At server startup the internal profile initializer checks if default datas (such as administrator user and role) are already present on database, otherwiseit loads them using its configuration informations.It is possible to access SpagoBI Profile Management for administrators to add/modify or delete profile informations.1.1 Roles GUIBy accessing Roles Management menu voice, user can see the list of available roles.

Selecting one record of the list it is possible to see its detail in the right tab "Details". While clicking over the "Authorizations" tab, user can see authorizations for the selected role. Editing these forms and selecting the save buttonat the top of the right panel, saves the changes on database.Clicking over the erase button, user is able to delete the selected role.To add a new role user clicks on add button at the top of the list, and an empty form is shown in the right tab.To synchronize the roles list with external roles clicks on refresh button at the top of the list. This functionality is available only for the systems that don't use the internal profiling management.To save changes user clicks on the save button at the top of the right panel.1.2 Attributes GUIBy accessing Profile Attributes Management menu voice, user can see the list of available attributes as name and value pair.

Double clicking on the desired record of the list, user can edit attribute name and value. Clicking over the erase button, user is able to delete the selected attribute.To add a new attribute user clicks on add button at the top of the list, and an empty record is added.1.3 User GUIBy accessing Users Management menu voice, user can see the list of available users.

Selecting one record of the list it is possible to see its detail in the right tab "Details". While clicking over the "Roles" tab, user can see roles for the selected user and clicking on the "Attributes" tab user can see all available profile attributes for the selected user.Editing these forms and selecting the save button at the top of the right panel, saves the changes on database.Clicking over the erase button, user is able to delete the selected user.To add a new user, it is possible to click on add button at the top of the list, and an empty form is shown in the right tab. To save changes user clicks on the save button at the top of the right panel. Analytical DriversAnalytical Drivers 1 Introduction 2 Analytical drivers and LOV 2.1 LOV 2.1.1 LOVs in the SpagoBI Demo 2.2 The relationship between Analytical Driver and LOV 2.2.1 Analytical Driver and LOV in the SpagoBI Demo 2.2.2 How to create a new analytical driver - LOV association 1 IntroductionAn analytical driver is an autonomous entity that models a business concept in order to use it as a discriminating criterion in the global data context, according to the different end-user roles. Designing an analytical driver means answering to the following questions: Who? Which role use the analytical driver What? Which is the list of valid values for the analytical driver How? What checks are necessary when using the analytical driver

The same analytical driver may be shared between different analytical documents. Whenever possible it is strongly suggested to detect the set of analytical drivers before starting developing the corresponding analytical documents. In that way changes to the company role or structure that can occur after the design of the behavioural model has been completed, can be managed by modifying only the involved analytical drivers without affecting the analytical documents already in place.2 Analytical drivers and LOV2.1 LOVLOV stands for List of Values. They represent the valid values for an analytical driver. To define a LOV in SpagoBI you can use several methods: a query a script a list of fixed values a Java objects a DatasetWhen using a query you have to provide the SQL statement to retrieve values from the database.When using a script you have to write a Groovy or Javascript script in order to generate the values.When using a list of fixed values you are actually providing a list of value, description pairs.When using a Java objects you must indicate the classname of a Java class that will generate the values.When using a dataset you must indicate the dataset label have already definied in dataset list. Note that the dataset must not contain parameters, while profile attributes are allowed.Indipendently from the method you are using to retrieve or produce values for the LOV, you should consider that each value for the LOV can be a tuple with several columns. You will have to specify the column that contains the actual value that will be used in the analytical driver linked to the LOV.As an example, imagine a LOV representing cities, countries and continents as in the following list: {1,Paris,France,Europe},{2,Marseille,France,Europe},{3,Milan,Italy,Europe},{4,London,UK,Europe},{5,NewYork,USA,NorthAmerica} and so on Each LOV row contains 4 columns, only one of them (e.g. the ID) can be selected as the column representing the actual value of the LOV, all other columns can be used as description and made visible or not2.1.1 LOVs in the SpagoBI DemoIf you look at the SpagoBI demo you can find examples of LOV and practice with them. Connect to the demo as a SpagoBI administrator (e.g. with the user biadmin/biadmin) and go to the Behavioural Model - LOVS Management menu. Then select as an example the FOODMART_DEPARTMETNTS LOV and edit its detail by clicking on the corresponding magnifying glass. You will see all properties of this LOV: label name description input type (in this case a query) data source query definitionThe last two properties depends on the fact that a query has been chosen as the input type for the LOV. If you click on the Test icon you will execute the query and get the results for this LOV, that is a list of values that you will attach to an analytical driver as explained in the next section. You can verify that ony one column, in this case the "department" has been selected as the column containing the actual value for the LOV, all other columns add useful information for the user and can be made visbile or not.2.2 The relationship between Analytical Driver and LOVYou can attach several LOV to an analytical driver. Each LOV represents different ways to use the same analytical driver. These different ways can be: a different user interface to pick the value for the LOV (list selecion, check list, combo box) a different set of values to be selected (two or more LOVS attached to the same analytical driver typically returns different values according to the user role) different set of check on the LOV values2.2.1 Analytical Driver and LOV in the SpagoBI DemoLet's have a look to the SpagoBI demo in order to better understand the conecpt of associating a LOV to an Analytical Driver. Connect to the Demo by using an administrative user, as biadmin/biadmi and select the Behavioural Model - Analytical Drivers Management menu. Look as an example to the FOODMART_DEPARTMENTS analytical driver. You can see, in the column "N. Use Modes" the number of different ways to manage this analytical driver. Click on the magnifying glass to look at the analytical driver's properties. You will see in the upper window: the label the name the description the type the functional and temporal check optionIn the lower window you will see a tab for each different way to user the anaytical driver and the "New ..." Tab to define a new way to use the analytical driver. In this example you can see that there is a single way to use the parameter, called "All", that represent the association between the FOODMART_DEPARTMENT analytical driver and the FOODMART_DEPARTMENTS LOV. Let's look at the properties of this association: a Label the name of the association the description of the association the associated LOV the type of input selection a section indicating the roles that will use the analytical driver in the way described by this association a section indicating the predefined checks on the anaytical driver values2.2.2 How to create a new analytical driver - LOV association Now suppose we want to create a new assocation for our analytical driver FOODMART_DEPARTMENT. The operation we will have to do are the following: choose and if necessary create the role that will use this new association create a new LOV to return valid values for this role define a new association between the analytical driver and the newly created LOV and specify the role that will use this associationTypically new LOVs are created to restrict the set of valid values for an analytical driver, so in this example you can practice to limit the number of records to those that belongs to the "Food" product family. You will create a FOODMART_DEPARTMENTS_FOOD LOV, attach it to the FOODMART_DEPARMENTS analytical driver and authorize, as example, to a PRODUCT_FOOD role that you will create and associate to some users. But what if you have more product family to manage ? You will have to create a LOV and a role for each product family or you can do more and better by using profile attributes. Imagine to define a "product_family" attribute for your users that can get several values (Food, Drink, ...). You will create for example the FOODMART_DEPARTMENTS_BYFAMILY LOV and add a clause in the query statement to restrict the result set to records matching the product_family user attributes to the product_family column in the database. The syntax to do this is to use the $ sign to access the profile attributes, that is as example where product_family = '${product_family}'. Create a new Document 1 What is a SpagoBI document 2 How to manage documents 3 How to assign Analytical Driver to a Document 1 What is a SpagoBI documentEach SpagoBI analysis must be configured as a document, e.g., report, olap, chart, etc. Each document has some information attached to it (metadata) and a template (i.e., a file in a specific format).

The developer can create a new document using button + in DOCUMENTS DEVELOPMENT LIST ( in the right corner ) 2 How to manage documentsA list of all Analytical Documents registered in SpagoBI is shown in the Documents Configuration by the developer. This area allows the developer to manage the documents.Each document is described by a subset of its attributes, as follows: Label: the document unique identifier; Name: the document name; Description: a brief description of the document (optional); Type: this field shows if the document is a Report, an On-line analytical processing (OLAP), a Data Mining model, a Dashboard, etc.; Engine: the Engine that this document are using. Data Source: the Data Source used by this document for read the data. State: this information indicates if the document must be developed (Development), tested (Test) or can be executed (Released). Moreover the document can also be Suspended if it cannot be executed anymore; Refresh in second: the number of second used to refresh this document. Visible: a flag indicationg if the document is visible when it is in Released state; Visibily restriction: a logical expression that can be used to hide this document. Template: a file containing the model of the document to be created with an external application suitable for the specific type of the Analytical Document. On the right hand side of the page, in the Template Version table, all templates that have been selected for this document since it was created are listed. For each template, this list specifies the version identifier, the date when this selection occurred first and the name of the file. Through this view, the user will always be able to erase, download or select one of the listed templates.Each document must have one or more folder associated ( selected from the tree right )

3 How to assign Analytical Driver to a DocumentIn the lower part of the page you can see all parameters applied to the document. In the DOCUMENT ANALYTICAL DRIVER DETAILS section the following information can be defined: Title: the title of the document parameter; Parameter: the parameter that is applied to this document; Url Name: the key of the parameter: the URL for the document execution will contain an attribute with key specified by the content of this field and value specified by the parameter value; Priority: the document parameters are sorted by this number; clicking on the yellow arrows you can make a single step shift for the current document parameter.You can switch from one parameter to another by clicking on the required element in the tab list.