From bd187c739128e02216300160fc9df4e0c3236d12 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Sun, 27 Jun 2021 16:46:50 +0100 Subject: [PATCH 01/21] Pentaho 9.1 compatability & MySQL --- build.properties | 11 +- endpoints/kettle/get_metadata.ktr | 859 ++++++++++-- .../createPentahoCEAuditMetadataTable.ktr | 968 ++++++++++--- .../install/createPentahoCEAuditTable.ktr | 1021 +++++++++++--- .../kettle/install/createProAuditTable.ktr | 1007 +++++++++++--- endpoints/kettle/set_metadata.ktr | 1207 ++++++++++++++--- lib/cpf-core-5.2.0.0-209.jar | Bin 116522 -> 0 bytes lib/cpf-core-9.0.0.0-423.jar | Bin 0 -> 138683 bytes lib/cpf-pentaho-9.0.0.0-423.jar | Bin 0 -> 160288 bytes lib/cpf-pentaho5-5.2.0.0-209.jar | Bin 157371 -> 0 bytes lib/cpk-core-5.2.0.0-209.jar | Bin 74586 -> 0 bytes lib/cpk-core-9.0.0.0-423.jar | Bin 0 -> 84412 bytes lib/cpk-pentaho5-5.2.0.0-209.jar | Bin 26943 -> 0 bytes lib/cpk-pentaho5-9.0.0.0-423.jar | Bin 0 -> 30706 bytes ...1.9.12.jar => jackson-core-asl-1.9.13.jar} | Bin 232245 -> 232248 bytes ...9.12.jar => jackson-mapper-asl-1.9.13.jar} | Bin 780385 -> 780664 bytes 16 files changed, 4165 insertions(+), 908 deletions(-) delete mode 100644 lib/cpf-core-5.2.0.0-209.jar create mode 100644 lib/cpf-core-9.0.0.0-423.jar create mode 100644 lib/cpf-pentaho-9.0.0.0-423.jar delete mode 100644 lib/cpf-pentaho5-5.2.0.0-209.jar delete mode 100644 lib/cpk-core-5.2.0.0-209.jar create mode 100644 lib/cpk-core-9.0.0.0-423.jar delete mode 100644 lib/cpk-pentaho5-5.2.0.0-209.jar create mode 100644 lib/cpk-pentaho5-9.0.0.0-423.jar rename lib/{jackson-core-asl-1.9.12.jar => jackson-core-asl-1.9.13.jar} (83%) rename lib/{jackson-mapper-asl-1.9.12.jar => jackson-mapper-asl-1.9.13.jar} (88%) diff --git a/build.properties b/build.properties index 777041f..f7812fb 100644 --- a/build.properties +++ b/build.properties @@ -11,13 +11,8 @@ impl.title=Pentaho CE Audit Plugin project.description=Pentaho CE Audit Plugin testsrc.dir=test dependency.bi-platform.revision=TRUNK-SNAPSHOT -#Properties for Pentaho 5.0 +#Properties for Pentaho 9.1 cpk.pentaho.artifact=cpk-pentaho5 -cpf.pentaho.artifact=cpf-pentaho5 +cpf.pentaho.artifact=cpf-pentaho dependency.cpk.revision=TRUNK-SNAPSHOT -dependency.cpf.revision=TRUNK-SNAPSHOT -#Properties for Pentaho 4.x -#cpk.pentaho.artifact=cpk-pentaho -#cpf.pentaho.artifact=cpf-pentaho -#dependency.cpk.revision=TRUNK-SNAPSHOT -#dependency.cpf.revision=REFACTOR-SNAPSHOT +dependency.cpf.revision=TRUNK-SNAPSHOT \ No newline at end of file diff --git a/endpoints/kettle/get_metadata.ktr b/endpoints/kettle/get_metadata.ktr index 8b52f6d..9a98d35 100644 --- a/endpoints/kettle/get_metadata.ktr +++ b/endpoints/kettle/get_metadata.ktr @@ -7,38 +7,399 @@ Normal 0 - / + / - - - - - - -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT - - -
- - -ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + @@ -66,10 +427,12 @@ - - - 2014/11/04 12:19:03.529 - - - 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N @@ -86,20 +449,75 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - TINP Get MetadataSelect valuesY - Select valuesOUTPUTY + + TINP Get Metadata + Select values + Y + + + Select values + OUTPUT + Y + + + TINP Get Metadata (MySQL) + Select values + Y + + + Get database type + DB type check + Y + + + DB type check + TINP Get Metadata + Y + + + DB type check + TINP Get Metadata (MySQL) + Y + OUTPUT @@ -108,44 +526,24 @@ Y 1 - - none - - - - - 378 - 188 + + none + + + + + + + + + + + + 720 + 192 Y - - - - - TINP Get Metadata - TableInput - - Y - - 1 - - none - - - Hibernate - SELECT "LAST_UPDATE", "NUMBER_ROWS", "USER" FROM "PENTAHO_CE_AUDIT_METADATA" - 0 - - N - N - N - - - 150 - 188 - Y - - - + + Select values SelectValues @@ -153,29 +551,31 @@ Y 1 - - none - - - LAST_UPDATE + + none + + + + + LAST_UPDATE Last update - -2 - -2 - NUMBER_ROWS + + + NUMBER_ROWS Number rows - -2 - -2 - USER + + + USER User - -2 - -2 - N - Last update + + N + + Last update Last update String 6 -2 - yyyy-MM-dd HH:mm:ss + yyyy-MM-dd HH:mm:ss false @@ -185,18 +585,263 @@ - - - 269 - 188 + + + + + + + + + + + + 592 + 192 + Y + + + + TINP Get Metadata + TableInput + + Y + + 1 + + none + + + Hibernate + SELECT + LAST_UPDATE, + NUMBER_ROWS, + USER +FROM PENTAHO_CE_AUDIT_METADATA + + + 0 + Switch / Case + N + N + N + N + + + + + + + + + + + 416 + 128 + Y + + + + Get database type + UserDefinedJavaClass + + Y + + 1 + + none + + + + + TRANSFORM_CLASS + Processor + import java.sql.*; +import org.pentaho.di.core.database.*; + +private DatabaseMeta databaseMeta; +private Database database; + +public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException +{ + Object[] r = getRow(); + if (r == null) { + setOutputDone(); + return false; + } + + if (first) + { + first = false; + } + + try { + r = createOutputRow(r, data.outputRowMeta.size()); + int index = getInputRowMeta().size(); + r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); + + putRow(data.outputRowMeta, r); + + } catch(Exception e) { + throw new KettleException(e); + } + + return true; +} + +public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) +{ + if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { + return false; + } + String dbName = getParameter("DBNAME"); + databaseMeta = getTransMeta().findDatabase(dbName); + if (databaseMeta==null) { + logError("A connection with name "+dbName+" could not be found!"); + setErrors(1); + return false; + } + + database = new Database(getTrans(), databaseMeta); + + try { + database.connect(); + } catch(Exception e) { + logError("Connecting to database "+dbName+" failed.", e); + setErrors(1); + return false; + } + + return true; +} + +public void dispose(StepMetaInterface smi, StepDataInterface sdi) +{ + if (database!=null) { + database.disconnect(); + } + + parent.disposeImpl(smi, sdi); +} + + + + + + + + database_type + String + 255 + -1 + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + + 96 + 192 Y - - + + + + TINP Get Metadata (MySQL) + TableInput + + Y + + 1 + + none + + + Hibernate + SELECT + LAST_UPDATE, + NUMBER_ROWS, + USER +FROM PENTAHO_CE_AUDIT_METADATA + + 0 + Switch / Case + N + N + N + N + + + + + + + + + + + 416 + 256 + Y + + + + DB type check + SwitchCase + + Y + + 1 + + none + + + database_type + N + String + + + + TINP Get Metadata + + + MySQL + TINP Get Metadata (MySQL) + + + + + + + + + + + + 224 + 192 + Y + + - - - N - + + + N + diff --git a/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr b/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr index 3b4fca2..037e33d 100644 --- a/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr +++ b/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr @@ -7,38 +7,399 @@ Normal 0 - / + / - - -
- - - -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT - - -
- - -ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + @@ -66,10 +427,12 @@ - - - 2014/11/04 12:19:03.529 - - - 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N @@ -86,27 +449,100 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - Get database typeSwitch / CaseY - Switch / CaseSQL for HSQL Database EngineY - Switch / CaseSQL for PostgreSQLY - Switch / CaseAbortY - create tableAbort - Error create pentaho_ce_audit_metadata table Y - create tableTable pentaho_ce_audit_metadata createdY - triggerGet database typeY - SQL for HSQL Database Enginecreate tableY - SQL for PostgreSQLcreate tableY + + Get database type + Switch / Case + Y + + + Switch / Case + SQL for HSQL Database Engine + Y + + + Switch / Case + SQL for PostgreSQL + Y + + + Switch / Case + Abort + Y + + + create table + Abort - Error create pentaho_ce_audit_metadata table + Y + + + create table + Table pentaho_ce_audit_metadata created + Y + + + trigger + Get database type + Y + + + SQL for HSQL Database Engine + create table + Y + + + SQL for PostgreSQL + create table + Y + + + Switch / Case + SQL for MySQL + Y + + + SQL for MySQL + create table + Y + Abort @@ -115,21 +551,28 @@ Y 1 - - none - - - 0 - Couldn't get the database type - Y - - - 495 - 184 + + none + + + 0 + Couldn't get the database type + Y + ABORT_WITH_ERROR + + + + + + + + + + 416 + 384 Y - - - + + Abort - Error create pentaho_ce_audit_metadata table Abort @@ -137,21 +580,28 @@ Y 1 - - none - - - 0 - Abort - Error create pro_audit_metadata table - Y - - + + none + + + 0 + Abort - Error create pro_audit_metadata table + Y + ABORT_WITH_ERROR + + + + + + + + + 781 326 Y - - - + + Get database type UserDefinedJavaClass @@ -159,18 +609,15 @@ Y 1 - - none - - - + + none + + - + TRANSFORM_CLASS - Processor - - import java.sql.*; import org.pentaho.di.core.database.*; private DatabaseMeta databaseMeta; @@ -239,32 +686,41 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) } -]]> - + + - + database_type - String - 255 - -1 - - - N -DBNAME -Hibernate -The name of the database - - + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + 190 188 Y - - - + + SQL for HSQL Database Engine ScriptValueMod @@ -272,29 +728,49 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + N 9 - 0 + + + 0 Script 1 - //Script here var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ ' "LAST_UPDATE" TIMESTAMP '+ ', "NUMBER_ROWS" INTEGER '+ ', "USER" varchar(256))'; - sql + //Script here + +var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ +' "LAST_UPDATE" TIMESTAMP '+ +', "NUMBER_ROWS" INTEGER '+ +', "USER" varchar(256))'; + + + + + + sql sql String -1 -1 N - - + + + + + + + + + + + 498 95 Y - - - + + SQL for PostgreSQL ScriptValueMod @@ -302,59 +778,97 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + N 9 - 0 + + + 0 Script 1 - //Script here var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ ' "LAST_UPDATE" TIMESTAMP '+ ', "NUMBER_ROWS" INTEGER '+ ', "USER" character varying(256))'; - sql + //Script here + +var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ +' "LAST_UPDATE" TIMESTAMP '+ +', "NUMBER_ROWS" INTEGER '+ +', "USER" character varying(256))'; + + + + + + + + sql sql String -1 -1 N - - + + + + + + + + + + + 494 260 Y - - - + + - Switch / Case + Switch / Case SwitchCase Y 1 - - none - - -database_type -N -String - - - -Abort -PostgreSQL -SQL for PostgreSQL -HSQL Database Engine -SQL for HSQL Database Engine - - + + none + + + database_type + N + String + + + + Abort + + + PostgreSQL + SQL for PostgreSQL + + + HSQL Database Engine + SQL for HSQL Database Engine + + + MySQL + SQL for MySQL + + + + + + + + + + + 311 187 Y - - - + + Table pentaho_ce_audit_metadata created Dummy @@ -362,18 +876,24 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - - - + + none + + + + + + + + + + + 943 188 Y - - - + + create table ExecSQL @@ -381,32 +901,40 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) N 1 - - none - - + + none + + Hibernate Y Y N N - ? + ? N - sql + + sql + - - + + + + + + + + + 776 188 Y - - - + + trigger RowGenerator @@ -414,10 +942,10 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + 1 @@ -425,30 +953,86 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) 5000 now FiveSecondsAgo - - + + + + + + + + + 87 189 Y - - + + + + SQL for MySQL + ScriptValueMod + + Y + + 1 + + none + + + N + 9 + + + 0 + Script 1 + //Script here +var sql = 'CREATE TABLE `PENTAHO_CE_AUDIT_METADATA` ( '+ +' `LAST_UPDATE` TIMESTAMP '+ +', `NUMBER_ROWS` INTEGER '+ +', `USER` varchar(256)) ENGINE=MyISAM DEFAULT CHARSET=utf8'; + + + + + + sql + sql + String + -1 + -1 + N + + + + + + + + + + + + 512 + 176 + Y + + - - create table - Abort - Error create pentaho_ce_audit_metadata table - Y - - - - - - - - + + create table + Abort - Error create pentaho_ce_audit_metadata table + Y + + + + + + + + - - - N - + + + N + diff --git a/endpoints/kettle/install/createPentahoCEAuditTable.ktr b/endpoints/kettle/install/createPentahoCEAuditTable.ktr index 11fa865..20ad34f 100644 --- a/endpoints/kettle/install/createPentahoCEAuditTable.ktr +++ b/endpoints/kettle/install/createPentahoCEAuditTable.ktr @@ -7,38 +7,399 @@ Normal 0 - / + / - - -
- - - -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT - - -
- - -ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + @@ -66,10 +427,12 @@ - - - 2014/11/04 12:19:03.529 - - - 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N @@ -86,27 +449,100 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - Get database typeSwitch / CaseY - create tableAbort - Error create pentaho_ce_audit table Y - triggerGet database typeY - create tableTable pentaho_ce_audit createdY - Switch / CaseSQL for HSQL Database EngineY - Switch / CaseSQL for PostgreSQLY - Switch / CaseAbortY - SQL for HSQL Database Enginecreate tableY - SQL for PostgreSQLcreate tableY + + Get database type + Switch / Case + Y + + + create table + Abort - Error create pentaho_ce_audit table + Y + + + trigger + Get database type + Y + + + create table + Table pentaho_ce_audit created + Y + + + Switch / Case + SQL for HSQL Database Engine + Y + + + Switch / Case + SQL for PostgreSQL + Y + + + Switch / Case + Abort + Y + + + SQL for HSQL Database Engine + create table + Y + + + SQL for PostgreSQL + create table + Y + + + Switch / Case + SQL for MySQL + Y + + + SQL for MySQL + create table + Y + Abort @@ -115,21 +551,28 @@ Y 1 - - none - - - 0 - Couldn't get the database type - Y - - - 493 - 166 + + none + + + 0 + Couldn't get the database type + Y + ABORT_WITH_ERROR + + + + + + + + + + 384 + 384 Y - - - + + Abort - Error create pentaho_ce_audit table Abort @@ -137,21 +580,28 @@ Y 1 - - none - - - 0 - Abort - Error create pentaho_ce_audit table - Y - - + + none + + + 0 + Abort - Error create pentaho_ce_audit table + Y + ABORT_WITH_ERROR + + + + + + + + + 779 308 Y - - - + + Get database type UserDefinedJavaClass @@ -159,18 +609,15 @@ Y 1 - - none - - - + + none + + - + TRANSFORM_CLASS - Processor - - import java.sql.*; import org.pentaho.di.core.database.*; private DatabaseMeta databaseMeta; @@ -239,32 +686,41 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) } -]]> - + + - + database_type - String - 255 - -1 - - - N -DBNAME -Hibernate -The name of the database - - + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + 188 170 Y - - - + + SQL for HSQL Database Engine ScriptValueMod @@ -272,29 +728,133 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + N 9 - 0 + + + 0 Script 1 - //Script here var sql = 'CREATE TABLE PENTAHO_CE_AUDIT( '+ ' DATA TIMESTAMP '+ ', PLUGIN varchar(256) '+ ', USER varchar(256) '+ ', ROLE varchar(256) '+ ', DIRECTORY varchar(256) '+ ', FILE varchar(256) '+ ', TYPE varchar(256) '+ ', YEAR INTEGER '+ ', MONTH INTEGER '+ ', MONTH_DESC varchar(20) '+ ', DAY INTEGER '+ ', DAY_WEEK INTEGER '+ ', DAY_WEEK_DESC varchar(20) '+ ', AM_PM VARCHAR(2) '+ ', HOURS24 INTEGER '+ ', HOURS12 INTEGER '+ ', MINUTES INTEGER '+ ', SECONDS INTEGER '+ ', TIME VARCHAR(8) '+ ', DURATION BIGINT)'; - sql + //Script here + +var sql = 'CREATE TABLE PENTAHO_CE_AUDIT( '+ +' DATA TIMESTAMP '+ +', PLUGIN varchar(256) '+ +', USER varchar(256) '+ +', ROLE varchar(256) '+ +', DIRECTORY varchar(256) '+ +', FILE varchar(256) '+ +', TYPE varchar(256) '+ +', YEAR INTEGER '+ +', MONTH INTEGER '+ +', MONTH_DESC varchar(20) '+ +', DAY INTEGER '+ +', DAY_WEEK INTEGER '+ +', DAY_WEEK_DESC varchar(20) '+ +', AM_PM VARCHAR(2) '+ +', HOURS24 INTEGER '+ +', HOURS12 INTEGER '+ +', MINUTES INTEGER '+ +', SECONDS INTEGER '+ +', TIME VARCHAR(8) '+ +', DURATION BIGINT)'; + + + + + + sql sql String -1 -1 N - - + + + + + + + + + + + 496 77 Y - - + + + + SQL for MySQL + ScriptValueMod + + Y + + 1 + + none + + + N + 9 + + + 0 + Script 1 + //Script here +var sql = 'CREATE TABLE `PENTAHO_CE_AUDIT` ( '+ +' `DATA` TIMESTAMP '+ +', `PLUGIN` varchar(256) '+ +', `USER` varchar(256) '+ +', `ROLE` varchar(256) '+ +', `DIRECTORY` varchar(256) '+ +', `FILE` varchar(256) '+ +', `TYPE` varchar(256) '+ +', `YEAR` INTEGER '+ +', `MONTH` INTEGER '+ +', `MONTH_DESC` varchar(20) '+ +', `DAY` INTEGER '+ +', `DAY_WEEK` INTEGER '+ +', `DAY_WEEK_DESC` varchar(20) '+ +', `AM_PM` VARCHAR(2) '+ +', `HOURS24` INTEGER '+ +', `HOURS12` INTEGER '+ +', `MINUTES` INTEGER '+ +', `SECONDS` INTEGER '+ +', `TIME` VARCHAR(8) '+ +', `DURATION` BIGINT) ENGINE=MyISAM DEFAULT CHARSET=utf8'; + + + + + + sql + sql + String + -1 + -1 + N + + + + + + + + + + + + 512 + 176 + Y + + SQL for PostgreSQL ScriptValueMod @@ -302,59 +862,112 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + N 9 - 0 + + + 0 Script 1 - //Script here var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT"( '+ ' "DATA" TIMESTAMP '+ ', "PLUGIN" character varying(256) '+ ', "USER" character varying(256) '+ ', "ROLE" character varying(256) '+ ', "DIRECTORY" character varying(256) '+ ', "FILE" character varying(256) '+ ', "TYPE" character varying(256) '+ ', "YEAR" INTEGER '+ ', "MONTH" INTEGER '+ ', "MONTH_DESC" character varying(20) '+ ', "DAY" INTEGER '+ ', "DAY_WEEK" INTEGER '+ ', "DAY_WEEK_DESC" character varying(20) '+ ', "AM_PM" character varying(2) '+ ', "HOURS24" INTEGER '+ ', "HOURS12" INTEGER '+ ', "MINUTES" INTEGER '+ ', "SECONDS" INTEGER '+ ', "TIME" character varying(8) '+ ', "DURATION" BIGINT)'; - sql + //Script here + +var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT"( '+ +' "DATA" TIMESTAMP '+ +', "PLUGIN" character varying(256) '+ +', "USER" character varying(256) '+ +', "ROLE" character varying(256) '+ +', "DIRECTORY" character varying(256) '+ +', "FILE" character varying(256) '+ +', "TYPE" character varying(256) '+ +', "YEAR" INTEGER '+ +', "MONTH" INTEGER '+ +', "MONTH_DESC" character varying(20) '+ +', "DAY" INTEGER '+ +', "DAY_WEEK" INTEGER '+ +', "DAY_WEEK_DESC" character varying(20) '+ +', "AM_PM" character varying(2) '+ +', "HOURS24" INTEGER '+ +', "HOURS12" INTEGER '+ +', "MINUTES" INTEGER '+ +', "SECONDS" INTEGER '+ +', "TIME" character varying(8) '+ +', "DURATION" BIGINT)'; + + + + + + sql sql String -1 -1 N - - - 492 - 242 + + + + + + + + + + + + 512 + 288 Y - - - + + - Switch / Case + Switch / Case SwitchCase Y 1 - - none - - -database_type -N -String - - - -Abort -PostgreSQL -SQL for PostgreSQL -HSQL Database Engine -SQL for HSQL Database Engine - - + + none + + + database_type + N + String + + + + Abort + + + PostgreSQL + SQL for PostgreSQL + + + HSQL Database Engine + SQL for HSQL Database Engine + + + MySQL + SQL for MySQL + + + + + + + + + + + 309 169 Y - - - + + Table pentaho_ce_audit created Dummy @@ -362,18 +975,24 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - - - + + none + + + + + + + + + + + 941 170 Y - - - + + create table ExecSQL @@ -381,32 +1000,40 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) N 1 - - none - - + + none + + Hibernate Y Y N N - ? + ? N - sql + + sql + - - + + + + + + + + + 774 170 Y - - - + + trigger RowGenerator @@ -414,10 +1041,10 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + 1 @@ -425,30 +1052,36 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) 5000 now FiveSecondsAgo - - + + + + + + + + + 85 171 Y - - - + + - - create table - Abort - Error create pentaho_ce_audit table - Y - - - - - - - - + + create table + Abort - Error create pentaho_ce_audit table + Y + + + + + + + + - - - N - + + + N + diff --git a/endpoints/kettle/install/createProAuditTable.ktr b/endpoints/kettle/install/createProAuditTable.ktr index ec2d87c..fb8e33b 100644 --- a/endpoints/kettle/install/createProAuditTable.ktr +++ b/endpoints/kettle/install/createProAuditTable.ktr @@ -6,38 +6,399 @@ Normal - / + / - - -
- - - -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT - - -
- - -ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + @@ -65,10 +426,12 @@ - - - 2014/11/04 12:19:03.529 - - - 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N @@ -85,27 +448,100 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - Get database typeSwitch / CaseY - Switch / CaseSQL for HSQL Database EngineY - Switch / CaseSQL for PostgreSQLY - Switch / CaseAbortY - Execute SQL script Abort - Error create pro_audit table Y - Execute SQL script Table pro_audit createdY - triggerGet database typeY - SQL for HSQL Database EngineExecute SQL script Y - SQL for PostgreSQLExecute SQL script Y + + Get database type + Switch / Case + Y + + + Switch / Case + SQL for HSQL Database Engine + Y + + + Switch / Case + SQL for PostgreSQL + Y + + + Switch / Case + Abort + Y + + + Execute SQL script + Abort - Error create pro_audit table + Y + + + Execute SQL script + Table pro_audit created + Y + + + trigger + Get database type + Y + + + SQL for HSQL Database Engine + Execute SQL script + Y + + + SQL for PostgreSQL + Execute SQL script + Y + + + Switch / Case + SQL for MySQL + Y + + + SQL for MySQL + Execute SQL script + Y + Abort @@ -114,21 +550,28 @@ Y 1 - - none - - - 0 - Couldn't get the database type - Y - - - 513 - 424 + + none + + + 0 + Couldn't get the database type + Y + ABORT_WITH_ERROR + + + + + + + + + + 448 + 608 Y - - - + + Abort - Error create pro_audit table Abort @@ -136,21 +579,28 @@ Y 1 - - none - - - 0 - Abort - Error create pro_audit table - Y - - + + none + + + 0 + Abort - Error create pro_audit table + Y + ABORT_WITH_ERROR + + + + + + + + + 723 584 Y - - - + + Execute SQL script ExecSQL @@ -158,32 +608,40 @@ N 1 - - none - - + + none + + Hibernate Y Y N N - ? + ? N - sql + + sql + - - + + + + + + + + + 718 446 Y - - - + + Get database type UserDefinedJavaClass @@ -191,18 +649,15 @@ Y 1 - - none - - - + + none + + - + TRANSFORM_CLASS - Processor - - import java.sql.*; import org.pentaho.di.core.database.*; private DatabaseMeta databaseMeta; @@ -271,32 +726,41 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) } -]]> - + + - + database_type - String - 255 - -1 - - - N -DBNAME -Hibernate -The name of the database - - + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + 208 428 Y - - - + + SQL for HSQL Database Engine ScriptValueMod @@ -304,29 +768,120 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + N 9 - 0 + + + 0 Script 1 - //Script here var sql = 'CREATE TABLE pro_audit( '+ 'job_id varchar(256), '+ 'inst_id varchar(256), '+ 'obj_id varchar(256), '+ 'obj_type varchar(256), '+ 'actor varchar(256), '+ 'message_type varchar(256), '+ 'message_name varchar(256), '+ 'message_text_value varchar(256), '+ 'message_num_value varchar(256), '+ 'audit_time timestamp, '+ 'duration real)'; - sql + //Script here + +var sql = 'CREATE TABLE pro_audit( '+ + 'job_id varchar(256), '+ + 'inst_id varchar(256), '+ + 'obj_id varchar(256), '+ + 'obj_type varchar(256), '+ + 'actor varchar(256), '+ + 'message_type varchar(256), '+ + 'message_name varchar(256), '+ + 'message_text_value varchar(256), '+ + 'message_num_value varchar(256), '+ + 'audit_time timestamp, '+ + 'duration real)'; + + + + + + sql sql String -1 -1 N - - - 516 - 335 + + + + + + + + + + + + 544 + 384 Y - - + + + + SQL for MySQL + ScriptValueMod + + Y + + 1 + + none + + + N + 9 + + + 0 + Script 1 + //Script here +var sql = +'CREATE TABLE `PRO_AUDIT` ( '+ + '`JOB_ID` varchar(255) NOT NULL, '+ + '`INST_ID` varchar(128) DEFAULT NULL, '+ + '`OBJ_ID` varchar(128) DEFAULT NULL, '+ + '`OBJ_TYPE` varchar(255) DEFAULT NULL, '+ + '`ACTOR` varchar(225) DEFAULT NULL, '+ + '`MESSAGE_TYPE` varchar(255) DEFAULT NULL, '+ + '`MESSAGE_NAME` varchar(128) DEFAULT NULL, '+ + '`MESSAGE_TEXT_VALUE` varchar(256) DEFAULT NULL, '+ + '`MESSAGE_NUM_VALUE` bigint(20) unsigned DEFAULT NULL, '+ + '`DURATION` decimal(7,2) DEFAULT NULL, '+ + '`AUDIT_TIME` datetime DEFAULT NULL, '+ + 'KEY `PRO_AUDIT_JOB_ID_IDX` (`JOB_ID`) USING BTREE, '+ + 'KEY `PRO_AUDIT_INST_ID_IDX` (`INST_ID`) USING BTREE, '+ + 'KEY `PRO_AUDIT_OBJ_ID_IDX` (`OBJ_ID`) USING BTREE, '+ + 'KEY `PRO_AUDIT_ACTOR_IDX` (`ACTOR`) USING BTREE '+ +') ENGINE=MyISAM DEFAULT CHARSET=utf8 '; + + + + + sql + sql + String + -1 + -1 + N + + + + + + + + + + + + 544 + 464 + Y + + SQL for PostgreSQL ScriptValueMod @@ -334,59 +889,103 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + N 9 - 0 + + + 0 Script 1 - //Script here var sql = 'CREATE TABLE pro_audit( '+ 'job_id varchar(256), '+ 'inst_id varchar(256), '+ 'obj_id varchar(256), '+ 'obj_type varchar(256), '+ 'actor varchar(256), '+ 'message_type varchar(256), '+ 'message_name varchar(256), '+ 'message_text_value varchar(256), '+ 'message_num_value varchar(256), '+ 'audit_time timestamp, '+ 'duration real)'; - sql + //Script here + +var sql = 'CREATE TABLE pro_audit( '+ + 'job_id varchar(256), '+ + 'inst_id varchar(256), '+ + 'obj_id varchar(256), '+ + 'obj_type varchar(256), '+ + 'actor varchar(256), '+ + 'message_type varchar(256), '+ + 'message_name varchar(256), '+ + 'message_text_value varchar(256), '+ + 'message_num_value varchar(256), '+ + 'audit_time timestamp, '+ + 'duration real)'; + + + + + + sql sql String -1 -1 N - - - 512 - 500 + + + + + + + + + + + + 544 + 528 Y - - - + + - Switch / Case + Switch / Case SwitchCase Y 1 - - none - - -database_type -N -String - - - -Abort -PostgreSQL -SQL for PostgreSQL -HSQL Database Engine -SQL for HSQL Database Engine - - - 329 - 427 + + none + + + database_type + N + String + + + + Abort + + + PostgreSQL + SQL for PostgreSQL + + + HSQL Database Engine + SQL for HSQL Database Engine + + + MySQL + SQL for MySQL + + + + + + + + + + + + 352 + 432 Y - - - + + Table pro_audit created Dummy @@ -394,18 +993,24 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - - - + + none + + + + + + + + + + + 885 446 Y - - - + + trigger RowGenerator @@ -413,10 +1018,10 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y 1 - - none - - + + none + + 1 @@ -424,30 +1029,36 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) 5000 now FiveSecondsAgo - - + + + + + + + + + 105 429 Y - - - + + - - Execute SQL script - Abort - Error create pro_audit table - Y - - - - - - - - + + Execute SQL script + Abort - Error create pro_audit table + Y + + + + + + + + - - - N - + + + N + diff --git a/endpoints/kettle/set_metadata.ktr b/endpoints/kettle/set_metadata.ktr index 30c6112..261f049 100644 --- a/endpoints/kettle/set_metadata.ktr +++ b/endpoints/kettle/set_metadata.ktr @@ -7,58 +7,419 @@ Normal 0 - / + / - - PENTAHO_HOST - localhost - - - - PENTAHO_PASSWORD - password - - - - PENTAHO_PORT - 8080 - - - - PENTAHO_USER - admin - - + + PENTAHO_HOST + localhost + + + + PENTAHO_PASSWORD + password + + + + PENTAHO_PORT + 8080 + + + + PENTAHO_USER + admin + + - - -
- - - -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT - - -
- - -ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + @@ -86,10 +447,12 @@ - - - 2014/11/04 12:19:03.529 - - - 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N @@ -106,24 +469,110 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - TINP Get MetadataGet System InfoY - Get System InfoGet variables access 2Y - Get variables access 2Select values 2Y - Select values 2Truncate pentaho_ce_audit_metadataY - Select values 2Wait pentaho_ce_audit_metadata finishY - Wait pentaho_ce_audit_metadata finishTOU - MetadataY + + TINP Get Metadata + Get System Info + Y + + + Get System Info + Get variables access 2 + Y + + + Get variables access 2 + Select values 2 + Y + + + Select values 2 + Truncate pentaho_ce_audit_metadata + Y + + + Select values 2 + Wait pentaho_ce_audit_metadata finish + Y + + + Get database type + DB type check + Y + + + TINP Get Metadata (MySQL) + Get System Info + Y + + + DB type check + TINP Get Metadata + Y + + + DB type check + TINP Get Metadata (MySQL) + Y + + + Wait pentaho_ce_audit_metadata finish + DB Type Check 2 + Y + + + Get database type + Wait pentaho_ce_audit_metadata finish + Y + + + DB Type Check 2 + TOU - Metadata + Y + + + DB Type Check 2 + TOU - Metadata (MySQL) + Y + Get System Info @@ -132,24 +581,30 @@ Y 1 - - none - - + + none + + LAST_UPDATE - system date (variable) - - - - - 152 - 266 + system date (variable) + + + + + + + + + + + + 544 + 112 Y - - - + + Get variables access 2 GetVariable @@ -157,14 +612,14 @@ Y 1 - - none - - + + none + + PENTAHO_USER - ${PENTAHO_USER} + ${PENTAHO_USER} String @@ -175,64 +630,20 @@ none - - - 151 - 358 + + + + + + + + + + 704 + 112 Y - - - - - TOU - Metadata - TableOutput - - Y - - 1 - - none - - - Hibernate - -
"PENTAHO_CE_AUDIT_METADATA"
- 1000 - N - N - Y - Y - N - - N - Y - N - - Y - N - - - - "NUMBER_ROWS" - NUMBER_ROWS - - - "LAST_UPDATE" - LAST_UPDATE - - - "USER" - PENTAHO_USER - - - - - 155 - 649 - Y - - - + + Select values 2 SelectValues @@ -240,24 +651,23 @@ N 1 - - none - - - NUMBER_ROWS - - -2 - -2 - LAST_UPDATE - - -2 - -2 - PENTAHO_USER - - -2 - -2 - N - NUMBER_ROWS + + none + + + + + NUMBER_ROWS + + + LAST_UPDATE + + + PENTAHO_USER + + N + + NUMBER_ROWS NUMBER_ROWS Integer 9 @@ -272,14 +682,22 @@ - - - 151 - 468 + + + + + + + + + + + + 864 + 112 Y - - - + + TINP Get Metadata TableInput @@ -287,25 +705,94 @@ Y 1 - - none - - + + none + + Hibernate - SELECT "DATA" , (select count(*) FROM "PENTAHO_CE_AUDIT") as NUMBER_ROWS FROM "PENTAHO_CE_AUDIT" ORDER BY "DATA" DESC LIMIT 1 + SELECT + "DATA" + , (select count(*) FROM "PENTAHO_CE_AUDIT") as NUMBER_ROWS +FROM "PENTAHO_CE_AUDIT" +ORDER BY "DATA" DESC +LIMIT 1 0 N N N - - - 150 - 188 + N + + + + + + + + + + + 352 + 48 Y - - - + + + + TOU - Metadata + TableOutput + + Y + + 1 + + none + + + Hibernate + + "PENTAHO_CE_AUDIT_METADATA"
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + "NUMBER_ROWS" + NUMBER_ROWS + + + "LAST_UPDATE" + LAST_UPDATE + + + "USER" + PENTAHO_USER + + + + + + + + + + + + 1328 + 224 + Y + +
Truncate pentaho_ce_audit_metadata ExecSQL @@ -313,16 +800,16 @@ Y 1 - - none - - + + none + + Hibernate N N N N - DELETE FROM "PENTAHO_CE_AUDIT_METADATA" + DELETE FROM PENTAHO_CE_AUDIT_METADATA N @@ -330,14 +817,20 @@ - - - 293 - 467 + + + + + + + + + + 1088 + 112 Y - - - + + Wait pentaho_ce_audit_metadata finish BlockUntilStepsFinish @@ -345,28 +838,324 @@ Y 1 - - none - - + + none + + Truncate pentaho_ce_audit_metadata 0 - - - - - 152 - 567 + + + + + + + + + + + + 864 + 320 Y - - + + + + Get database type + UserDefinedJavaClass + + N + + 1 + + none + + + + + TRANSFORM_CLASS + Processor + import java.sql.*; +import org.pentaho.di.core.database.*; + +private DatabaseMeta databaseMeta; +private Database database; + +public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException +{ + Object[] r = getRow(); + if (r == null) { + setOutputDone(); + return false; + } + + if (first) + { + first = false; + } + + try { + r = createOutputRow(r, data.outputRowMeta.size()); + int index = getInputRowMeta().size(); + r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); + + putRow(data.outputRowMeta, r); + + } catch(Exception e) { + throw new KettleException(e); + } + + return true; +} + +public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) +{ + if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { + return false; + } + String dbName = getParameter("DBNAME"); + databaseMeta = getTransMeta().findDatabase(dbName); + if (databaseMeta==null) { + logError("A connection with name "+dbName+" could not be found!"); + setErrors(1); + return false; + } + + database = new Database(getTrans(), databaseMeta); + + try { + database.connect(); + } catch(Exception e) { + logError("Connecting to database "+dbName+" failed.", e); + setErrors(1); + return false; + } + + return true; +} +public void dispose(StepMetaInterface smi, StepDataInterface sdi) +{ + if (database!=null) { + database.disconnect(); + } + + parent.disposeImpl(smi, sdi); +} + + + + + + + + database_type + String + 255 + -1 + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + + 80 + 320 + Y + + + + DB type check + SwitchCase + + Y + + 1 + + none + + + database_type + N + String + + + + TINP Get Metadata + + + MySQL + TINP Get Metadata (MySQL) + + + + + + + + + + + + 160 + 112 + Y + + + + TINP Get Metadata (MySQL) + TableInput + + Y + + 1 + + none + + + Hibernate + SELECT + `DATA` + , (select count(*) FROM `PENTAHO_CE_AUDIT`) as NUMBER_ROWS +FROM `PENTAHO_CE_AUDIT` +ORDER BY `DATA` DESC +LIMIT 1 + 0 + + N + N + N + N + + + + + + + + + + + 352 + 192 + Y + + + + DB Type Check 2 + SwitchCase + + Y + + 1 + + none + + + database_type + N + None + + + + TOU - Metadata + + + MySQL + TOU - Metadata (MySQL) + + + + + + + + + + + + 1152 + 320 + Y + + + + TOU - Metadata (MySQL) + TableOutput + + Y + + 1 + + none + + + Hibernate + + PENTAHO_CE_AUDIT_METADATA
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + NUMBER_ROWS + NUMBER_ROWS + + + LAST_UPDATE + LAST_UPDATE + + + USER + PENTAHO_USER + + + + + + + + + + + + 1328 + 400 + Y + +
- - - N - + + + N + diff --git a/lib/cpf-core-5.2.0.0-209.jar b/lib/cpf-core-5.2.0.0-209.jar deleted file mode 100644 index f9633a5e5ab86aacca5206aab771816420d756c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116522 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%0DupKR5k0k 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

6HGrbc*>uEhYbaLl>*r%4jcP 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%0Ai@3 z59jxi1K-)cr@$tve=qzG_}|qtSVMFa0y|hh`H_J(alSWN#{3%+QSiPcTj#H8k^q){ zfob^5?Y2CM<8%QizB|BnzAn_U|At9L^G|j0^vLV16F|lQ;)L^_Hwfpi&_RYKf5H!w zXFvzfod7QILVHNZ{TqDnME^Nm{i-CeKWv>y8U$~@@d2E#FhKSF$@Y!L`xlxoOCqAy zhE7gjv&??aIr}@Qz;r|GT%TBh=I07Dzw>lqM1MmEHeSHYKqlwOem9$I{1(Ov+}cNg zN;*$RbmM=aW4TPKO+}#l|eL^ck2VvyaEj4 zyjz$O`WKd8?xXl>fWNbei`S(8wD>sD{~y!k5?#Dg<0sD>z5mK{xz7gI&c&?IKUtj3 zE@%0^o#@gW(f_P`u(!ULQTZo)g860eKld2@nqT=M_Qm|YKd}RV4(?Y2cKWvK=#p%{ z7ojgE!2JpR7#K7B0s4>2qhNhs%nSPydCvMWZSv(LALi``h(4k}i diff --git a/lib/cpf-core-9.0.0.0-423.jar b/lib/cpf-core-9.0.0.0-423.jar new file mode 100644 index 0000000000000000000000000000000000000000..bdf7abc2685b25ca01957c1e1e45c728fc54079f GIT binary patch literal 138683 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

71xH%gx+ug zIL=nMoqW+K597YNu45=hyIhISt&24^5mW~V>@({a!FFA+OyaX#pjz{?Qo*CGEYmDh zWcAQ2N9-1=Hc%{mYsJK}b}1MEopr(q-0xuIo?T&TYOz*o8C<6V(xkD4OV1((ivTIJ zuL6&SABFayr7O-g*I>_DSEH+i`oZp5nF2j&+~he*6grMI-$H1H94Znea2wMwU(w*U zd3&dpnW&{#OYE|IBB-6cgJ7(FD${%O2SQtx#mvK~kFO%S(4@mzveldERbaTP9Dx&U zPAc@DlxvVS!Vu`Cz#tpLv{bY=Dv!%I3ucU$34>G1VdwWa-%+ad8%U^UJA={pk#N29 z)iT^=D&3aXj#hN#kd(a0WE=2M=8);InY!+%1g3;#e&9J2CnBvJW*TU?FWY|liL$@Z zEz*PrUZ3M!Z&jrg&a%%2p66oJ(J{zWY|4H>=J8t#vWomc3N-DMD$5d!hHU@j^xjzq zcd-BDjx)(25zPzO!xU@%gRLMk;m{b(spABQR~*G?4WI@|(l~ndmf@Lo^Ut3oN|_xZ zmmnNOuN9`~bHIXT4Mk>!$dK0cDY@HITr$KNkrEBqukJNMs^;FPAr?7W(`^F_-=RWs z$yEw8-z!4?h+x!586Z^vJ!Y;%P0zjpgE!Nt6@d0L%25c?ePTe7u#td?J{NY0e+ca5 zhKrl7O!NA?fJ^%ugktumlCIz98Th|@DgHO&MgOVmAZKT71F&;&`R5r>F}KkIV0(71 ze=2H@i>C!zDNvZsmVRGeH+1s}7Kf8g@}15HZ(@xnwsCqqJ%}H_aDDh8jU-${wb2g? zle^#=g4s6{GY*GO{gH0_mJ?a*2NcD!CSe+*fMc9HgS%2i(Jn!JXyzM-E zdrBam0BJ@kB3X(|hsNjs(qe?i--)egBZU`{4c$V25nc05pVOCE0$E5N;~D|Ea;+@* zN=m7>naS6Yo$MAHwa#vb7WvXbgzo}jS6i=L^Wag4-7D%x=VD(6*#>5}(Voy}xBMNs zuW!kyrVg7BYS)iZX0-oR$bG0UXn%~s_MSxlI**K(jEc`{2bGMs1c|n-pw_8FJ>cOw z?;*pfRu}Vjxc-o{|1Dae*rH8Gn8?Ms{p@?xv6PHkqhc{>-9E{1ZAM4$ggINvEI@ng zSbt$UVGq8&J59P*X8KwLEtiKH{gFV4UZEgeMUCqM?Y{HGL8J}xOo~5@q@Y}z-J~sY z>@;j-+betpBVL)OC>qaE+s$dMB)H{3YJ|3M6nt>ECGD9{0(K)_a1*H0e(FeHTxHOL zTDLDO>Wa%j-_F>FOl2zVR?noD^xoE&*+LeSEDDZK|3R5K8ru ztzB#um|zzFqRb?ITu}cSn&`c&!>&o?+Dd`ev1dcFCZ(!c3SOnZLl1ii!g?`@H?Ka4 zn9Xs%7uKliXnK~IAga?4dovyDk5ENGttU*XUD~SdkwM~MCjMDD%hde3)5QAy4wwJ6 zTgrW;r^q%UWK!+v2Z7v?R*G^_bR1s!CYOP1-BalEMgIxGS>qLl`$mr@z10psEaLV( zMyGcWjXUzM+ABbM^%Z)0{gpCz`%$-DH9D*GN~H<@838p60A^)&^aot<%%`X_j3p+g z@is126Fs>;xl>GPh?Nnm-geqkVt`+A{SrWY!1B-!=%_Op4VGE7uJ77-w9Hg>Q<%q4 z_I<)y@isf)atoOkPF-xb4TGTn5e=m*Co@3N`FD>2mg-XHid5J<=%}}vF3Rj|umnsu zfobSFrn#{Xt3_Rkxnp7KFN9}{{@Gcj5^Z3KLpq9weJDZq%tJl1N!yPXv=k2a<+bnG9{)2*SgaqY+UoD3tuPN zN3YO?@%3VMAhe;&`EU+^>SQqgwGH9j>{?>Cz+gps8C@r&xmByW&b3}nuDO+e3lkJP zft(hFscV`_je}-Bwv?o%rigz|G6=VmzF<%VL&sW``JyyJ?uW7quRt=HLxBKFP8!|E zx!h7W9ikvr%rCY;C4xbuMfIMw796=r`;ESNufBtviElP01l`aEr0lxsf!E(?`68yU znQiAS5ErNL4!Z)y;Ay&jr9$MB#7A|Xm)zxkFh5>oSwHCNZ62zD7&$nas2K{LF!TT2QeuVw7XnYO! zCp2s8()|UK<}FTkQZIT%6zZ0?9bRw_BR8QaC6bL1+T6qdZ1I~|nC$cjeTOb5eJGFj z2kG&yWa1>oU_jd9&4EtknZPJVD;A?|M#!mjyEx?*0BmkxovOL<^t-=PIteBS?5iBv zfH&K#g&gze8RQoy+bVM4PyU(AhI(*u?fj{VC)bVTXx;JO*$MI&LzU)#FQ?~6Gcl}^lI}t!FBkwXb=tkWW|55mc$aw|waz(uB z>4V(m5B-+J-gRcMFn;TyHrn9P7hX9p54|gLHVE&aMSmo;h1WR8&^+Cz3GRpKqAqS< zDcY3g4Gty%O?3gea0_+#bu))7Gd2tBT#dac{!5tnYVWvrd*{hY<~Dpc6?#&&TgWIP z((0jL9J?Eehll(woPH2ku1nvneK10x3<;6ieT`Fd#SE_!-zArDLdH^{PNBiq3@l=Y z0q+t46TkqcGE-xT%3UecPANF(NDtDYsPZaG-Hu7GbRT)2ZO|lxp1c`lFq+kax}n{n z1fCIng#}1cH4&Hx++wdYxFy*J?bW*B&VpmU%qqp#_6mZVN>1a{<5?G@8noTfCa$7!TNu11go9{@szPY zq@9e6nNntumg-HVrKtVopfM)oU%L@AciEx{??FF&2lEy-GuD5Iw-IW{Osus$x@5k#zhx#Z zzdd^qW1UU=g%DX}BTz&-hLa++-U1_^ua2CRsCym`Z zYthOcIV*H#&DaV_L`ueO#&wQ~-OO?}VmEZTYgmI<`bf~ z_(J_?J1V-pa9(M+LDWR;k;L?;PWQFBiI={t&`HCQL%J1~-}8$t%C>yUz7I~I)tC_C z#C2|D;`elDJ74O~_I2K|b9yWWaV%Csf>A+Oja<^s9D}|jpjJgw(5AFT7p0j@Jj9WQ zM_9UZJVkFyt!NQdWnR1i(do4EA`vxsjzxtMg()9`m}Ajz$(cqfC*f>Ft486s z6)aJcE7ei4@yKn9`PARUkxlYm**iol@08lN+`qQnhOZ_I#`L@H-}wIAR)_pMi@GRu zoV+*4doYQjLX=OgC<(MJdE?k+VXpcdGN0`*@CW%R#<}<7<*vOPe;E0j9m7>Yuq8hGSeeu@@r@s;ah=2B-jj3Ya>qw?NZ!*|>YA^OFe=)az&16cvuelJACp8mUDUgKl5tk@V7cZs zUtim#-jL{$v3kyDX2!`pNr9R*(t}}Sp5bkd?S?z#&MD&!N&AA*l2)frB_UbcMhE4~ zebmnLeGGU-T#vPM?c%F7Ao6O&lQ>H(#}JB+3aXV#$+0@^fs4}apum)7XicfLp!YG? zUHwGbF8;8fXDK?6TJAEkjXr2p^6OIHv`SVYvW=c{-v!Bvv?mT7*6T*FBTQ$}!SoQ| z^@g(A(8A#c%D$T&q_`52_>jQVn;D^n*;-0OVZpuxDvT?xwkbVQPY+hK{d65Ux<#kL zWtph=sUL21L*AokC1Fi{mT`5;6#YvWy5i4BIEl%wId~hi` z1{zr`2Y_L&zn3_&hZB#D+$p<;r631mF3(R~)8%slQ7_ESM{W3P<+2Hi1LLlaR%$_hCZ(sfUeHPEHT&$%ux{!#%VS{?PrZ;Ef7fTC*Y1R&3 zwOCp3@mqS{3vuB_l_@&}BZ-8xb>o^HEGv#Ma}2uje49x~`Z6GuiFQw0V&4X5UeYRS zgIu>`#VmQEW`}3Xyxi5EUCh&WVr0sEdCk|0%*+j!a?YT69tXpFZq5n%F{sX-djze~ zds~Pa9wvZB#Fa9>?;xSqm{peDEYxx)mVGu!f#_tiK8Ft5nlgS+f*-tpTU_+bir^WBqpOX$QT$S{7OL+pF?%jTs>3>@3_>!RPY%*rK&+W7}%f zaNX;z8BL(<5uHQc=c@B&fpa~#sSQ2DT;Xgvi<@Qu_{H$DR60%MlAxL>ep}!_bcJKU6Xk-mq|+gPXK8&U8_$9QJ#BPpQx-Bq2~Y44y)BF|gkixoikLzjnSnLbydio`=h zEAN+O-O{WJURkWIv`TMa+|)craZERd#dA1D+~Ix0?Qik=qF7ty%oXaVna<`y-npU) zlkg{x;b=4S^3-upniHyO8ykPqbgYZj~>c?td4|HxNj~V6K{PXt&YF~usz5Y2GXZp(o%J*+H zycMlXZEOGz|8?Y+AwMhu%8%rcVObk)#4yn8Gj4sA|a3VjV!eEj< zMd*zh+;6KJ@hYz`by$F&1I)B|U%5k7`R;M@bI^}!L5|$70fLO?QCF!a*h}VTv@(J^ zVlXsM=$wU%p^Bfk-J;-Fs&oO{L~YrR#1$vudId zW9>YO@`qw|PbIExW>QqQuPsSC&}{uW+<4jyHcGP0Jb5Bx+vYX~=x<&hK%%5cp%_{@ zEjMH94`dk7G1+`N!b2GW7MiP$)Vuy+eO7SU$e}!`lx`LuN!=ZdgKs-b-BEba#4su( zcsAoiS(-r(DkOo3*uL9TrN^Ti$sh}m+$VE7HqX1;Byz16LFxx3{F;XzXQ&vzjzU0| zRq5`ni~s?pi~tGM1rC;B5ecP4mPVw3G3x&Vxt1wkJ`=)sD9M;VK8HfcHqkZ60Pe<< zM#Dw)$&r`<_P74GVnkdKUpVTpn5M(nTl?XhuDyMPDV9oMp2$Cgvg1Z%XZS)VI$EYD?1@=JgMEdX3uf#x;geB0c)Q~j-1)sFa zPX%g;wh07_b5&tATxch!IJyeBl@wYPX!C0uOA=re;j{%q0k*RX;kAy6b@AyF;t7`Y zV6z(PbyW=EeUZ2XN#T_YPfQ}2O!edDfKEA@{pJ?pFW?P1R4=LeX8M=V?@sb{ScQkw zPABG>qxPE94%7uItcvKu>z}%^QrLwe8$}rB#B53FVzrI>=4KBufZLf|dkJ}eyU_k5 zw6-CeP_()8Rf&GRoH2QQY+`ULx_QQFd|b=Kuy2$Vshqubb-__?B{+aIFN31^(8N@d z-tV){#rrKB^JpE)m>f14;Yx@N*s)c9(m(eO7*+9R^~*ylhN%M!mII%MSSF#$Yk4Y4 z*J_Q>mD8i6s#wu}RH9Eyq*Z?JO<>#4N4w1^%~hOtJ5g*;Ufn6>VUf_rq!%iQVl4wo z0cfdIrq3CESvW*$h(Q%=AF~+ZT9qENRGjEs#^T%q*v*xs6DG}a&nG^NnId2{u#K++ z!oRlnPXUhx@4EBX7^QpBBvb+E{Ct9L1|8qsDR+50V;THCp%D!!hQ#Fnd))x79`Jjo@H$ILb(TojA6lzHzny&6C+Lp~Kcb z`1!K7FFWMchJhxQWa~>tCV?5(xK@E17Wuh@$10W)NCKLHDo&!7q)wOqCP|y+W!Nv2 z(JvAlES$+x332P0Ra_C6aCJZRg=y?0Y)ga|fjrq_evUh3Zo6WTZM!1k`PGb^9t20! zwtGDe{(FL&e!;ZA7>CUYLMJfeQN}goN|c;atk!B!6Xs6UFJs5)fJZOK{UEFqAHqo@T}XzClkgN6O{@~K9Q zm?A-Nm{YFcZ`$T*zZ8-Hrb9OGqQPKAl0P6X_qX&BMgynGw@|wT3->u>&IN9~AiFNb z1$kl(xkN4^6%*qe(|cJa^xVBi`y8jmbw;P)`DKB*qFo2mqPwr`83ZO-)P;~>_XH~h z`H-1&J$A>m$bDcvV9V0kK@Rd!wB88r{^I0)B^tJuoE%^SI=LAdWh9+J6Fd&*Ic;@8 z1hm@cJVK)cxe?eI<>tN&QMCTdm9C_y6VOxBl$SY=HAz*3Q#a*bkM8)X49U?K(|1ol z{=T!c!KS~;`N2*As0xf6S{v694aEV2U-0A1LCubftE%sE)pnKzfLv!Z_^;Yi_~ zh4$RIS^;Bgn!q}SJHJ0%g+kDg9GE9*0wHgc%eV7o(@n)5MNE8Ap=mha-MHa1Aqa~E zNQd`cbO`G5&ek=#heToF5{8q)(uUI8!BH&hI_M4FLlE%qV45ln*3vPwMhtY10 z&79%$SHYwzjnufE0rS927vXfBLw*U*oc=r&#!8D4Zpqmx2ndlThm5=b%9$q-yL_C?=KKvyg`!#siQW%&f#YDMTP!GeM;h7K+G#fM(cM+9&D zg8Jj|f?n%i;FTvs>bZ~Kmn1GN9a8xN34WKiLzXFR65R&MV8czhF}+j%?Buw)AiLz} zgeTotip2j}eq8=zuo_kH%dqwm{_eE5Vz@b4uNZ=tz{4N6J*u)J4Pj4ok(!@XBbtU{ z<+-o-bVu$eNP-$AnLimjz)g4d>z_34smIX6Px|KBp9|3~7G27I>Bc^NF$Wj9_-?nX zx|bEf5IToN9||%+VGON2v#3%2ZdMccjz!c5nhzvWZ21XW-b6=3ED?q!zH(B6ct75F zl7QuS3wsCm{r#S|9I-+VQI1SEy_$SV(Cd&NFZa`pK9DbV2Qzqqp_I0pT&L4O4O1?% zrSupz%A=27hu4C)By~w|h{jVZ zPCutYyLs7XC81kt+NnTxbE#(u!EeSvEH&IkdFUeN4A4(zWiu>JLB8A2Iqt3BiAaNK zMpb>$B~X~+_LV(Ai2(O^_Z+n)r3;W9#*Bfypc{rS>#Gz(jT&BI`Y z5k@VroF<%U5MoXvj>16CiaZwPUM@Y}LuU0eC|s|HW@U8GGS*M;1Us`3v1CMwtH+2C5LAb;TP#kvnGUly#2SKx$6us=Y2l_VPz0CWY=r&y~g-MnZ*g+Qmo4k#9Xef^KvlJG!Za-hmL38LmHw)aa`>IMj2%6@3Z!Lu~f| z*lmmaDqTZxjG5IDtEoD*lC>khDh*IymTmsucX}f_vy(I&c`KV zGQz?NFCU-#OTLQx6Dq(=8wvCz1U@Wk-T%N_XgK7Yvn>n_)yu>0f(J}b#x?XK1M-%* zUO#Q$&+VzL2{ki^YU#WT!UBvpTu`(S&8}yAVS-(g+q6Rtd~^)0x1hDr~%?z3c49cP-W>pwe`_d6Ic zos5$8tIt4xl22QOevxXm)LgGPv_A&6h2C)TUP_8;CgpCV23~x>B4aM2FGz2rW_6!Z zI4J%>Z?sJG1F4PFD_E9+EQGI%xtV-?(Xs*=g51qUBX31#Kk2DPky9vV1W80e)0!>J zNWH^M)`HpIcYg&&iy<<~uO4M=pP;9pOJ-v&S(#%x`Z%II7_pvqh3n4bTNZe_#jOaw zsBII^2GX(Oxbw?yokdun-zS)0;c^p#X#Ze$V3rgtJS?|B(BM^x5->bNgP;!?_ZKVkj*vFQm!Ju-uDyS=Web%MaIKAJsLe2AEXmaHW+9 zh6oe!P_k@9;U?oYI?8JSJHtoYK(uav}`5Y_X*>3z}0yvJ>&O{Ths zH;WrpoBVyP6N>m}Q*i^d61v(sqcJh-2f~~?((I+muHmT((;^ z6m@Xh07g4N7&=5Txzi&fV@T{OVweqT9-4(!7VRYJgvp|+8SK#BX zvLczvI&uKu!BhL$xG|jIYO674o3<5NMcBZ<`vc^(kw^~}#1>-F*Y*!6=_3N1l2B66dBF|;de#LwvX7#m9yt3<-u&2s4AtQMz!MbBbNf3>#5 zn8M1lrB#hRKjnQPL$c)r!d|Df=(5JVW?CZJ%&D4J*wOtvR@>07E1;z~TKx<0<;Zq= zBrdvo^WfalVWH}=e3`^|VIE~0Dd9@s5Pj0zRS@|VN8(G`nkKsPeUv5~w^j!o5GF&3 zC8iEh)|J61nEKiRusdkbaK{~RU6Kg6}qO%XJH5W-O!P+O)SIOj1Nc<8_>qP zpq>m9{y@(894l!0O+(hVL2em%-{iL`N+y4NCC0?dMvu>(x>)w3K`Wf`Iw*)kE@>7) z(Zj-^GXO#Z#_)JQb4Ns(*FA7QEa>3*fhmm8}(@hTf%`pVY%QPZne=2eodG`ed^SbP8rjcax)LI{aNC z7ssi4$~Wbhhw%oea2X!O5?q|Yi@$-cJ>fZcOw*&SI_bNYU_*6MIco<&V`Vr87&ai9 zz$!y3KKznMpVK{OgCMlKCUtCFQ)nMl2Bx^?2v!j{%2L8n@$-<7skVe4Uaz2PBR6?= zN%TF(#AQl4&r37xF48(10toiu z-^j1t{D1?+V2uFk%;3?m-<~S>_TusW!Ol-8)H@V7G?xE_a&@Y-%btfpF;;1l(^+(Yil3|DG zcs}*PvMLFE3-NwAJZI&BSF<32b%00Fi=Tf(qM8VonzdYQwPC$ zy}k*Hen&*ce4_U;S;kB6n@A)mh=;cKTZ0b?fgJB z<1xa1qrCxamn9(k`%hem9mw~K$m@T8{$ixqzZ?(1i2{hbXx*%>%2hXPXXz1q_ABWT z<&f={8ABBc34T0W*2!44U2YF7&TamPJ!LNM!=GG|ohhOQE~r=Zw%-=lc-@Vy53DMyI zS~36AR2x*zx^6Zo$>kjTG1LInpEk(ABpE?r9*L^Ym^MM_AZ$QbzAQ1R1x1ewKJvSH za>88_O+3|DQ*!Z!xQJOOuQXkX@vW62(~F! zFxW0}?Vxr;d>dRFKEe%LBAV{$^j5no#unay*6WAs0+E8}*qAKh|rkJ1L>oG;EGJrCNO&@eEFj zxCL%HGE=*GUEs0yy9JE8PKJVq!LkoYsTX2A3?h;o^PDu@CZ%jOieWWTSBhY=-$BL) z4A?#lKuzFyv2Dzk>l^pq#SV9~Pj9A*;Sq-n!ajVSzfF`jjYl?TFHi+3{u`ac7MiUcC-q7p^Jl}vUa&Xu&_g_ z=tUf$&du9N(g;8BvXdNVzevbcux>=9q;6yoZ{WJ9Sl8o|k$dUC2R1sKnedw}U_Cvwl5T%sT(*+FuaFCzuoXY*CiPPin<~wiD>VJ*M`~$51_n zKwp^iLlKCtB<@A%<106FR%!E=K-W_L1`M780^`F#bK8@w;V=RJ4>sRzToc*;iBzOH})a z8f2jrDAG@k+D`>p^pPmIFS@Z+N@Mkmb%o}rbLJc2bRYg^G~)z}C81;}pCJTD+63?)bN19?H>}U2oM-gw^Y+n~9Z}#B@XlrQ3r^ey+T+{R z!A7r3X~By5$f>rOMW@0ew=G5UOH5q4m3vPnJP?`Ixzus5%2qljj@8Eot}F#!^DfLN zSl~zUsaaQAKV?x`e8Q=aE6NF19P(s_F)7t1MkMEf)8Bq#SDahjEz6L56{cmGfhAqJ zs2tSbgDXvUtjx=MEnO2go}RSmByU@G;0seZ0B66Y!cv>1dzN5xY_&F+;!zySuwBT^ z%Q1eA>BI%YC68F2g*X)2yA|hFa`a}?oTt}(^PGXQPCtFqC6lqVp7QV*zuL|-N>y^; z5}>Qga852B&jtkS&{!#b34WF-Z1jq5n0kdGLq5#%cg2{AhmS^LA;q zn`odMvm;XZRN%alW@?A3DBPEND$|P07su0n-%1`CbcKE|ZVh;e!@5h@?~6eY1W zs1?xo2wBLy6srh6vJWvAZ5R4m`|cbvWN8Jd{A}aV=KeNrQ71@iRx+}0!O|VSUrySe zV4r#e5Jb!$il+ap9JqfY(}wz1R)4D?e_o96KP{$jXa2Vf{&{-LU*z$BQ{CUb-LC~D zepfpoz_ml(nIcrQXpDg?(lH zjlu8-iZJ3KWOf@%Ky#*L5}Pf^m@} zXzOd)e=W)Zwi#Hm*^e^oy`t7+(|Y~3V%{3i(DJXkoViICDn?T zNUDI#z|7qhjp+Wamd$3RVRBa6l2BUjVam95T)NCCq1f+C)^4Mb-Sv>o4dh<+uNE0q z`)zItz2JL=tc63X`F68eM>T?+G(O{1J)c(Q?Fty9W-Rf0BM1x{3h+Eg%5N_$P4r^Fb2*r-L-m zcl_UB%fBcb{O3vjw&Jfd1hl5;TN?uiDjk16&BO$)Uxsw>y;!TI%4!rBRiF>rO3D}& zm5zW)xlXgM0F0Q|`dAZf(R%i5yYZ6AY#BRwD8f-Td1jQMJH~2%Y>$n}H2C^> za*^jla#aPPpF1i#i!l9006XpXrqysz0P8sFBJ+&)V%1ktShlJ$ST+^u?@fiNOYw^Jl^9+zpk z8@)&EElsMgddivvhA%1lSfEwMS=A&w`n0OOTQ&3hBuOtYO(G_0I9c)-qYd0~aaDsW zbVgx^zAajH#s+rBbdfH09SR}w^nL@W>R($*T1`P6C|gZI9DsqXFnUgJ+fI7{ikmTL zxzEQaG8U*waa(T;qcbP$@#~k8K^I;Ek1!h4)UjT~^+~Ps;`oMk$`Z1VWr6#M6FtQc zs4wZ+)oD84Kp7Ind&6|oXsA+lfYDnL77@jzz7w)Tb#~RugR1f7`FRj{7h~f69Iat@ zh2rFg$nubz)cFgi!>Md|W|~p4MW;-z7G<)|%9UA|PxCrv@7HQlTumkQh3iwK&wGf( z)VJ0a1WIsy5n>S$b1Jz@jpY-a;e#kVQji{9810(OSWmb)N+1CTgsDa18;CQXga{!I z6vKzX~QGl$I|e`n!kKVOw0#!UbQRiGAhOS|B#uk4|3$DC$WgKLJP?$#0?UP12;f zPIn!Bl#4t=f>Znsr308-+S^yw_LtUX+ufh{`97##7{ZyCVLf13VpUi^40MSo?*izd zb~*%B;F-DS>?LGNXWEJkMMrF%$0Q#!qc|v!IV&Waa}9Mzf`iF~JZ5z(88PnLqtsn> zrjHp?ST@iV3VS_y1T4Pe4J=F=n5y-y9^ZUoTdgHR1mmHD%lllu{B!z+zN@EIofN35 zw4MfR+{Z|*q0uVXYQAE{LXpslgQ0{dB5>5OdX&C>>E5uCT2ps&C6~PezmNM4C_6=Z zKKsga^~lb5!(*RV0Bal!bOufH_||$wpMsAU`S65k{cv@jcp z{Oqe)xRPd{iU9LHMp{sAT?YHr%d6t0bk3v4=9O%?SXQ6phgsfpsAgB7h$|Y;4)jXJ zAh|6?>V_dMpKS#mhp5K$>n41K0%ZXkBSE}dal;!O42K3^dl8Cf(XGh#+*y{NeXFnL z0U=@NxVm8NCoV`p*u8`=K8;?%f@P9skk_Q4CI$j;+JNfWXnbZX##K*S zdE{_AY4xUj{n0*FO@}?S-bW=#!)>IBl$6-sGMt~gb}De!O+EBJZD`6?jmQrPLq@sm z%Edn?l(q&EPG;Wo$L(C3){a8xGF{N3X9;p136>k(hStb?90F{T-zM~vPg6Dzt8RK@ z&Jby%2P2i>A43c4jayP_XV!|#Wk$C@keDKIqz^Rqai07 ze>Ud{z_HmRJ4F+36;Emu@Jdf0g8iY^<*5l1KwUI6{&8b+_ z(nirVcU{k*y5h4Fh*<(+QfywbgJv7cHPX`l`&LCPgTf&B$WJAr8VBKBhGE3Gd|@F^ z(AS&^I3)5+7$vIRCczrBJ-Bk3(kZ3gr2KPQUZuPI2W|V8?U)`R*!!V3DSs}Ir%Vrm z?2R|UmP|H9I)*2pBE^9jNldko<_JZygew76O83Hy#RSIh3D7NyMPxO;@o89HPRoZM z2QpnuzCadd;u4(K)qf<*Y~bxmxCT0TRFL{f!6T17_$?^;dnjAzHq>dEk`9(~tFmG# z(ukywh-wY2lX2|$&GOA}7UV?ngyJi}g2({c1^$U4{*2v({w;?1TcuahcQO8@_`edf z&i`=#g-X_P02UyhhIWTjdwwnXkC&h#)*n4p5oI*1#R<%<%x>x+FK6%6FNW-`&nht9 z6BC3ZM0-tr6YO2gAz=IZoaj=Um)za6Qpeuju3yo=kbWx6+3N5EA3DTXWU%e(^G6An zh``v@PC$f@9}?G@(r4&9s>Bqv_90-^mivJi%}E%baqEp(=FSZRno4JRI`l-6wnDUB zfvzd*IS3`(irS(;{a~fCk@Z^183obX{N_OlW^GunX*jiyRa$?4%qq0k+r<(B*R&XW zqq}z%pft7}Pf zbW1k?yrS>e&w_UYea7`;%oA;E2X;BVc6*>4%SO)0LB5ou#L`)X9K}bKu>AtSgqk+p zt8~ZaV;|E_Zare^zOgE;%r1q-zB55d0iv{_kv$x?O9&C%XiQxg5Gw;DIqB6d8DwJd z^dSNn?6nOXp`J@k-s-fWy-5~b+cQXVqMt$UJ6#tyFDLUtlsXMKugsE(L_FN_x|VH> zq)R{rOp3+Dd)hxMqf0WXOME=8dZnM6`eU;O(RT6GJHEU3}4AN^#H{l_{KLI`b59 zsX%m>^5siI;{48_I38gkjF8fR-8Q+#C2jd((n5cgH;9Yd!s<7o%ZT8c420xiPLbwt zj>2<&X%_y`C~i?|rQc^U(W=WGiU3eA_#ZN=f0kP2|FzWq?w{&akAJmM^FoX75;Y3e z6X_yU-3qpCf+BtdH5sArlJCcSNGy`VE*c+LgY{?X2$zk@ z8q!89FyB9!7&f@6IFW)e-Ei16n1%X_$!yXu4b6N#DQ3m}?wh}alNhXm(sGD%l))*j z9(Sq4)2`KVUz%D{zJ}c4VxTA%I=hMM*AB5A0B=n|#jK*B^{s$@H;n>oZyddBvVx@kYo9@ZzMCJU@PbQ=ljH6?oCCSlh+ zD4Xh-kvKJ|ou(sKU>@@od(xsp(NKP>5)%BH6kQf4fq;7u2kRuXVc{5D9KdB40OaYQ19(X~i`S91|wM-f7U1gmuRuzwzpc45n1Qm3O(mM9d~-J-^-6vQ%R z3qFr-AqqS)r*3nT7(rJAFE5Fl|Nh!XN%aP}kMZ)WX!tajeiT_rd;9V8&jAhquOzhA zH3Z{|)&t|vH_9t=x^?-%GIVLZhWaD>eP!{+TCur4V6#g>E&r~UX45ZS%5JJY4ME53 z5j*HI5Byo!ybQ=tgAj5Z9-6WUyAcdp0;Qy zbM~=dHeU%0bj(6f7;)T05fm7XC|yK@6)==o@qQfpwfi;1arh05cQL^=CS-nDQ6WB~ z*tG$6sDw)me4f%6#{O=ORP@GWf@N}aBhwqeNdozubC*z5wez7WlUh zznp+pznf+Jsb$gi`dHi2WaT~l2lfzRa5x-xqZsrOQb8Ou%nk;1M{GG1?EDTi-t}ur z#&0c=cY$ zHZ7eS!9o@XWCl~y7_9M&!w~a{icAzi;<{TvT-<$MfQpTb1Q|j;nc0tH7MSk>EF$Sr z4$mguvJu#UltasHIGHfjS9fxR6BL4!12z4UWp$8RXpOlR_T*8E zdW+jxTk$Sy9ryWI8^3~vUU7_%4uG`5@gLF#e>R@~z7FQEPZV&ffH?mj=NefJ1vpn> zQ$uOy#QM)Uks$`A)cynz%S$@6r6eGZ+N%AZYcGIbC>VoMp8We>#4IJhZ!H3D+7buw<4A3kF#SVoC{NO`DQis4w#sBP0-1m0*Tk@m^ z#7r{>;2SZ?6L*2E)+2#3VCbWh z*Fyzm0YMR=V&(_!v@T6I@(Uuxc0~qVS)N(0JY=73jcPxT_RMF>oG{DmE>WUuJ5hNT z@D-$M`))nYYYMqRiR;ed?qbVJQf)&We4 z(Ps}z-gjT%uLLCv{f>zbD80m3SH4K{Z$!;dvlH+mBR=cJ`j~J*Nbx0ZyObJ3k-kh% z*e^FnL?HeLE0tjxM!J5I9uDOe2XXHeVPrU?6{PMg7T$t+pg|H(nT0tGLtZJQrPrz? zM~OPKVz0#*md)P!w^&BTQzR(MV_8WGPAgJp$U+95ZjN0{UExGb@Fiq<^V9HIj?}nCX5ESz4GKo(w*gYYrfyoJL>2V1I^_^pC4!T>DK&1gs@gOY&8aGhIzfyK$&<-Ymar-4Mhb#{eh?jf6dC~`Seq*R zxIGWIvOuP#QB)?ciXR$EHm1Gz09Ia>In}BiTzXZyMxl6>54S>E_MCh}!Yop2LZNRF zHH(JV-c-fdLrBhKeq_B>uvH*q&4?taLD|l-dM1XJoYH}xED-A=B4da~X#QjDt6v~e zlDUPsm|XBmzNT55}UjnPbvJk z=%8tsxj1M{#_B=7XZeNmxf-^fk@so`i#Mt2+1Ke?gxt#mN_MrvK5BYowbl2pNJpQG zmNhCgIm?UVkg%?9UarWp&i#;j4>J-Myc;KG*vd>ntg=T{-L2Qf_=nYNtCQq=QU}iP ziAw9&oKMaS$gy1=u>GC(dMTvC(X7Xj9jquNq=|e(<`>@f*HZ!Br~L|eqG!r_rADO9 zo&GV$Rs%CfYIOR5)Q@)aEQmiuq;TIrYs(ab<%MM#YMS6!WNn%%Z`@|TDS#>Q^Bp|* z%DF&`Q2vKooc0Pw8Z7oFQ`Vf=bU%ZWzKYb|8Dta(xZ!IAP}8&AszzRUX4uK^xZbeQ znqg2{+yZh{2V6I7AUraNwuSe+ZAdnHzTP&z{6Ei5Uy!B3Ks5cf`<3uR%o8ByEb$J1 zhObCf6{G3YXpKzrB#-EtNE2;xJ2I_Z z4iC~-kTtPFQanX!`(Y2KG)E6uQX!J&hxm~oyD&=>Axvb0>^nwcY97^R`DE<5U0RjL z#J)Gtgbj1PttX{#M!v<=eF{T;oL|XKiulnhn?XlNr3)} zKHR5PN2^EU8^8{KI@igYD93chBO02oM{HJvDKd6)EWnFwtmdW@WCT?y7udvaExUopGatof`HW-;x~J)jCR}~FUSq6BICIC{VBc> zRP1*x(Lx))bp&!8(F+X$q7D5&z@R^8+W!5e$-g+w|Lvs-!+-KWzZU%EdHyxOmZ)_6 zt61-Stz2u60v;SDMULMdIG48z9b!x&(8xmYBdJeI0%NJpiW9EIHa;kmLjLr_65oj1 znQ=Gb*Wu-x3{Tz8>z3Eo{S~Hc>pFukCMS{DfkX>hlJ)%7I zUv}8}CJ3rt1fhU|ewNl3zaT{w0W)5spkM=3jOoNpyQKVNR(K1+{T^tnDXZFS#ft%6~7 z41GCLMe?m;9KfQ@{jAa6Vi( z7~a4%-2dupW} zYL>7|5#KbHjd>tWs`~ox1}58_iY9cfXHDJtv7)3cB?5ytpRRXwIaB&%M^@c ztf97`%c!)PIFn$D0%RtjVC0F6p7NE;UTA^cS-Gbq%=~JRa!nyGnpywS$}6NMQ(~|) z=Ng%r(uq>>AW2Y85UO2~Jvl*8^i@Ey?c?~WD%JsOBVaal+R88(<4^Lc-W?57b2@*Q z=>>f^d{Of1o|r5BmB^v%ZKTZ!hzgKEzKcy{4$69V-AjW$UL2>q)vaoyT3@`8bZ zA%n@ffVsGU!HI%RMD!U9?(WWQ8;F9D!)BND)d;_4^tCy?ZpP(}wK-X4`y;(x%@rif z#r2J47`*QKGr#7|`M+$B#l7T7zV`V`dpC|{D1U`qNK=S_(e8dM6dC?bpdbpyD<@|9 zH3M(RNED35f1ul$o)LmTdnY>~F-^N?V5n=TtM3C)#HR?DF_=#TXu#AlMh1Go0PG45 z@vQ(2B?s_sYk=pkvFv|kOC$vK9nB5@8KQ~Eb;|+)2FV2sQRU>MJU}BLdtMI61O@he zfn>8aF1H+>VO^={sdWE^=69G|1>vuMvRtpHKR&)bf!T!!`1|-n3z92sb*JS>Uj!a+ z9hlSb6-=p)MNs!LqDa~d1l}2?Q=!+f@OG0D>aS_rplls|j+csuL^F$zq~0-4-JfJ^ zQ`=El+_S0KLgLlXF=-`H<4E)dxL*4O`5g622H?^RAl=TCNRXo9#S=Z{Pl zIE%Hy;$m^K9Z?LquZ?~1`df|a!q&>`3t(F<00GlqZ|#2!6Mnnf{-3QCaRU_e85tY> zBU*~-mhIt35jh98LPTLm`?bfWxm>PcWC$?fPryRYW_aeyCQm50v)UIQeG=@cSZKAI zQ(PTvf3CNsMo-?;e4)k(!3boBVjyu+S`eF#fGp0x^s>$_AGXR$6VKc|WYOQWUFB>T z8SaDc31$1)FcU%)oA}b?eZDR=5ZmTHj~8j$deu*6+Gv?-hss5%5|%L)9!8Gth)b9u zV{1ifPjjZ5a2*&Q?t$84{N1E?G;m&0HML0_bI@2J6zy#OhvL`7ySK`6>-X}tz)rHcfqXTxJSVeA{)+u_82v}_}RAbnIUK`Sgppkx0E#GUb&)~y4S}n zrxnsT^DZNLtQ>7e4oG9Xj06k3HpP@86#2IKgarCzI8g2*+ujAG#UMgJ5>b%W#fXNu z-SObi;{+Mu!ydMhG@z_tQx0Q*y_a#JDRmPghP2t%hxOjMv(>*O z1{2o^iUg0|gjz}>=Ue5OY8Qk(ca|-~ki*&I%Lt-^?;U^X`^wyV8kZscPOg`eIR0UA z6bP*F)!uv~8&ir--yW39N#I)S{p&!^$63bw~LaB~1mb^qCB=XEzzel{8sis&HDgpHF9p+7$)p7bl4R8s@c~jABuDv=mo>%ph=bAi2ut26@CuloPSt73%(+}Ko zfJw>w+l#_8GIuw5fy?#mvWEmyF~O%wWOEysKow!y9d}E+cmvhG7}0u~^7cXlx20?q zd)18*#9;^-6;W>5@{%31pl zJQO`IN5V7O=L(TabfGjX8P?t3FVGe^_KACphkU6PgIF;a6K6YW&M`+bXtvzp9WX4} zG-SXTs&n57_En$7P2R;O*z{~Q%geWwlcg~t8Z8`&6RB)$h=iJWcG*0EA<$Q3@zJSO zJEREe5X4%A%<_Q)Jp#{cW$bWdA;|S@a_@iZEI8hOR{@_l2 zM<DzVg ztVXUc9Kk?>Idt?0;t<0FSr+5aN{sq#s~#0hTA&qzB`ltNG;ud0j@Jg?fn{siaF8JsX5m`QgbrA+34ccs zHjFtjX@CuQ`hze1b68FU`1Eg4gt@id-&aTeIXf=!U#%!)rSIq{ZL4o&?4W4uXzT1? z_=h;XP{rC2FmJ=hrp7q_R57=J27*QeL=dY*U7;H&tUhs}E+~N!IJ<3WwIMuxEpsh0 zZ^!ig3ttZ%V*t|?Bm0h6#w8oac5QkxSsMKgd*-_58K6mNpTjnt@6F>9`-{{MR(de% z=zyk_UasK|y-gi$#tXc4xdM0??EzF=e6r^}Kkf>$Q5M`qXRm@CLqBa9(W9h@dyoNY z_+7Obhr&in>;BxGQ(CBq<%)>BFuG$Zl$0X|jpfdqHNVoR{k}!ek$ytf_dB1riZ2bj zi-}#>sDnz_mL_jaV@`fevVjW`&iXS{N$~#(k-NnNk%vdC)D`QOa_KXndIp zH5g!FfH>r>71Bh->_7HdTe4U7{CiR`LlG$WNqNM}er-X-b5#l*~ZJ59hbuvgab^QimMX3L z=_9a6;zD44S4ZXct=u_*LfGZL6mrj7w7`jXSv6Lj(|SzKGv~v>%VeCulb$|+xfs_p zQa&zj@b|5G|Ge91utxy_by==9yramDy%v3ovsH!yk3_aLc?kFL7|wS0oq ze13OK=QSzYoD<2LT#@HjbJANB?_ZV{JaKx{`Kd_Ri4u`^VWO0>gnpvVYv7VQNgt>9 z<@1j`mIb>bJ>B~-;zGR)KLv~4e-UqLMB;0qsGsgA#xBqFvzZI}9NRfK z6lsdF)^vgLGyf&u*Ju-HlzCFL3c@KCQ(e4U>c%Re_I~&-&uoSK{X%*G&cI9Eg)g|-Ov^)uh`7;Bk-gb*dM2mz#}M| z7Rpl4QG5YGj3r7{%~QdTar?o(;zGU1+Mv}(PH;)tMo_f8#1c1!JtAS z@b%3R(Zkb^25+SSLJ0JlzlG7G@1lh9;{*n(G8=}XbtN5!Ly}Yf$hwUj$Z^~LltlNH z)tS`=f6416eIb$^qKHit$B1O(($i0 z6L^hNFAD}KvR0YT&@XXNc}H0-4MK-aT9d+cr?)K1uygWkdYcg+aWR24K4CQlkOGro zVWokEHA&@X<}e3)Wz_Yq(KyyO5?hs2(`$>Fc6B}*ZV2{nZqX~>^N~C;A(zc+C`8Aj ziXdjbmlRJElyqi%%^xhbd_9}cM456r7=eM0jx$u}5%@ZbIImDb`toyVT;D8WPSJqo z=i$dRuwEFX$F^;Be(Kmryzd~d8oNVjl_U1~uZ$9YEIe z_-io0_wCU3{nV9WB07j@VLqtQqk1Mt?4E#Ngcf}VkFt7>xwxD7;qNo~WU_ELVU!DY|VZt|GL-Z6CQD`|(Wa4OF zfdNd!4LK5K&d6nK7S(&e?&%UaT`**s)l50+lzNDyW&24NwZi~SiuSv)rr%4?Ax|c% zj!kM*1STZomTEoF;n7n#hbF8*n=&I6DDv4}reNz0Ui&@*db7Q0?20tH1?hv~<^Ih= zaIwSiabO4XTy!WKrMtNj8-*s*drI?)s_a0SKL@w+R46T|^;Zfru@HY7?z{(!QbpvP zrmW=ZoJ}w=lmdDJLxpaF8K_{paLpqejU`S^E9R2PPAv+&a8D)F;F?r!~!_m${keJ!UaLl0-uyg&Ljl~jb@>^;tpkp z=G+Rk$J4hqle_VQtT1EFHj*X)7)l?FT9_EA0LeeT1#*w}R# z@fN8Q262;ME4@3V?(_xtFBfoku@)bgL8=MnPtO{y! zC>eibN9-yEL17YVEZX@+c+inEYf;aMJYLmAsAtTiye#-a#bw52!4hJQZMBTBi4e7s z`O|52yz2SEP)_2KF&r6tO&&Qa6Ea&mrq+6UcMg*ka(*rOX}bw}?=kth>GDK%Pc&5|t9c|FeKa;9`NCs$^Kag>?a zxAW%SRnrEtvE6l5xaHyYOxUxSOpEbU$uD}#PQgK28K^I;M$prYzTd^SAL25jFk2nN zQ&rOr*z*W$?0v^1xm>6u5|ca%SPSB!5}nu`hF>B~!eN$rWQFPoboN3eaFsZt6pN-- znl>iF0?h~^Uul!^n2xO^`cDa0!X}xn!C?C}9JA{s%(d0@B=z0K)B2rDZNZKdajtLS z3xvNPX#}rw9_?D(vG=BN_Lm3lxiLe;@NPQy%cL_>da!+3)1icIF*SiLMR#i2ua6@f z4TWumZh@jzr$-pCTU#C{s56{(gVfZ0nyajg=|=lFm~CiW#1YNul2;#ckbs1zn9Z#1 zgXKojJiDIGoH-4X=yS0e(`KRIq9v!;Itdqh_6BrEg~xFJc@SYYYoUcDVR=~HfZ0aJ z)bxNX67l(>8L7jKYt01NSVkc zv=*Pk)F0h8@c8(;d2&LwcAdNX^)(0wJE1IJU&D_sRXObQ2(*56Ro|M70z)ebzPMcS zj^%{B1TLMK8|UZA{=AGN4Yc#9MA)_4VgN(& znv#XdYbsX50(wnvDhhQbRBIaRgx1P69JbT|fC@`vKj3n(iZ zu40mxS7c(+&U#w23kyYC4N5<(yNNeE?Ubh9SlzWntGVVC7r&v80lR%NXC4D z=2O1I2IdpKF`T@C{Sa{RoNx9>j@K-=@?uGg-2Uz*if{^ai4N@BzX9{2Q}+_W{TA8? z>xHs|wUEimdc7^pZH3#`8^&ORE!VE(awAj8=77rzJpo&(ZM&z-F_E6yWXT?n<>+`c zw`iAJ`q(vw}vvlkFjA(};eEa} zjeL`At+o7xzBXOOrJh*NarNp>F3Da&lq7*=ELLoPhPlhycP`Jg{|%M6j;?I{LT>f> zt8H?bj;`oI^W*T|cwaw= ztc)ZABGfmbb9*3l`>j5exnI|jj9-xJf>Rsrs<&)*E>OM){KXf`pOytbj$$orwPvve z3dL9E9yPL5aejh*o_P)_xrN#zaUrs;NmwgixtYEjHvfLDAen)@-mFMvx+UleT-77& zTsrq$I?f8osvdvEL$z>r`=}ux7V-Ra-jR+K59jA?4+0L~fk8DCFxj|Y)Ak-Oq;5H> zMq8547+H=fe3rupuVV4cp^$41NaWx3;8%`}NUrtfZ4*W}nmf`Q^C-*Pgx&EHy>(i+*M7^4}Gz${E<} z6{+YQzizBom+Ni!JaAr`%fI5_ZoR=ccE!<@u6oF?a>(Z|j1(s4!st$mMIB}7KyHxv zIj=B3H>i8o+(qE2(+PM@lk%ZEqbU$(ziNQl%(a!V%-cFrjnd{_vnOIYY+xadXv^HJ2<&b>bVb07 zbk@sU_G^8J70N$xi=};)ihGnhxdyiEeBls@RF^#9=C+c`6w_li?@u5>#FEM;!?%+f z11o$^sdr4&F#lBRI%a9NNyr--CU4as>nX-X{f%Vql~ghI z2*vK0mYlTM`6I8BaE)4q3;}NNvshW%QGqccwCBvQynqCx~Le`43?AYeVtwDym91_ zTrE+N9PR)$@jOGN`FLkm5B^cZ2-KIyv|Fx>ikJJF6b%qvRmBWn4Xe0zKn(~j+I6?K zMBS0vVrv~If1sMp_7io%d|9A!Yimi|)sU}pwYFxt=1pagN?Q>_8#^hUT9I&Iv(Xco zPr49QH}wZ8R$ATQ!@Tu8f}#UMQe_k9!$v^u9(e;qPNCb3^D!#yvJ$?zzM&(x{D(Y% z(J8U`LTuVQ?<4{KSFaj2vqis&uMZN^J+n@Y9WfTyFTJpEzMv+f9AIL8fEsw zWk#kNa&d$UIik2m!s48b#SjS`KrXa1KIY|o5&m#}^obNB{G4vlRFw|w+e=Y2P}yz- ztxhMPsc{ky?@ZISYUHyC`wqGE9zI*tB8Q~j_t7|S`}wcyOa|6?fyQrw>lE&PUa0-k zBUo1#%YSYJ``>e+{?lIRUn~B{xr){BH-uu zhF}Oyi%yyR#jf!P&b(oi1$K->op4Gm&a28i($J7=R`!E$Wb_~H zmz^KX%G=kevdO)LthVY1oGBt^EZP~Aii9h0Z}kd1!MpuyRqD2JZ8(4btk^(t&y2bZ zv;-GKb+(-t!z|D{QF2jsmgSx29q;q2gRy^>LV~<3Xn4+X6X#~t^9zY}!3}{RlK1Kv z){B&sdnJ^-LdVDha-s_-NUQNd90wN6WE$7O@+TSOtNg|LXr z^)X5Py}I@bGJb1$ZKbJG#!y+xCO~Q)v`+~C2^>ASin`}4@i<}}D7`l1R2fLJxLIl8_1j7$G-}}VNmXoAilrvl2dD5yS4v$n;6EsBf*W`6J zKJIIvAj`K6&FB7Wd*}S9(x3y#u-n7^hd03Ihkp!45Y(O+S69)V8N5GAh(XWof&CG{ z-N{3&=hM60O9_Did~ZMi^?=~kis=*ji#EL0@;Qz06U~5On8QH{;j3gX3tJy{f9IBt z%SUJXksxv50=uX1pp(0&^dN?C98eN_GlB6%)&7+h`<4125I>;9y`6fGc(g}w_Uy>? z3HeodK;iUR9{ZJa|8?=45t}=4M22^B+E#TC8CEI8y6Xv#B4pEl&wYJNn+Ka8MXcxH zvUil-UkckBJL2l|`%pN^T%U?uDo+zk%ux~3SRRPqF^c~9ydVT`Cu%ch=%URm1Ie{@z3!~f)?YCv4jLuVw5C?t3kyo z60RmO!r6u8t%g>!o$GFp0yRT<8q0>C#NL0R$RTM1 z+wt7`&$02&8t308dpO;N@y7gE{Qk&p+^uar{0z4Z(%wlJACA@b1yx^eI>^xUw_;3f zQ67uVmMe)H5pQ(kZQ=OpT8J#IV!Z{QQXQ9ubIDpW3Y1gBlbH0L(%dBd%(2NdwrO`W zpK8_t=@H_|9+UnBuK&uS?$695h+4>GZX^CN|5}wKy~|4D5!6>RVDgfzFk2 zQi+9+!&c9Vd{tc+(kZQ}&S&9>g$v1V_;)Z zZxm}MXEp6c2&w)}OTGZESk-S2PA2YDhs`)vw<9K9(_kZYAj+5}ZNE!+eXW%m(fHBq0$Sxowm{~Y^>*OS9 zFq>7Gp%Gzx&=(q;&*fm&#ZvK6_0g8NMo^DP8M*>P!$zXG1-g)JAcOL$j~8(#vBvg& zw3ukoB-9^uzvkh!c1$8Q(2tS3Utu-RkGMNn8?5gy_kgtGb_K3|GjvGTwdZRSCxa`iW9l|&S0YL-MCfkd56@jXgX+a394 z$}WDmqemxaIbeh**dSI>-Oeu(xW5G$#z~tYoB}2ry4CgVb_o$IiLHL26>R=MGcG1l zk5~fv%drE=SgT(uja{IuI%X6@R3R2aWF?jz_++GsVh#U|N^DrfG|n#L7_>F!1N9{* zkh5VF4PG7Xvic>LXxCW8Qu0$DeGY`bFhX3!rf(q3B5^={&gR#~5FW@;l6%w0!E!v7 zy%ZvoBYDG1Bk8%ccy<>?N+`G05S8mxRps1*Z@4&7i&SV! z?cD$zOkGTYGA<{mK56r7;*4<}x`66R$=Pv;~oJb9g9oe7%p!pSwA zh%;RBTwMxm;}L z_u4@`#|;l!qO>UTkvkc_;g5>(P=^*sv~Fyo}G5q+a&d5}^*TMSSj;pS+zho&Eo@w|?><#1Uwg%A~-r6fRL zc-9b_%;{RaLSY}FK-f5tR%|v)%55S=mbYb>QObI5;W*fQ$Q!lnG@yIzIkS1sS>w?{ z`L)OoTm_COB&MdDVu~6b0v+;o-6j3Nv?7Ss+yPm|dTuxaKRd*h+bSN}-luPQcF?K@ zITqDq*^kWBsvEnP8>P&n@D0@JK%q><-td7)%a;CB zTuHt?$97lhIm=q>OEGo2nCvFjL&(~@`vZ!ZrFjQORE|G!U9xC}|S6;WSPTS0osc6&gFioT^M0%-$ z)|oxp@rVEAj?rdJ3h+e`?f0Ju6 zdxNuaxliMRc2Fhqa0@s1cVIEV7|Sn$W`L;Q8=yZ8%&u56AQ-Y6_)aq$ykxHAg4~l? zk8Q5Rcf6*p$A=K-Ziu^`xM~8(r9@`Sp+YoM5d7FIzIOE+-~9V}4k0*UsMuPV`TMOX(1zeNPb}OWbNxDo_OhA`sFzjQLOs8G;z;a3bOr{|aULNC! z8AnW;Vk}uanIT8jtm4uzu9v2MLW*Ch&V5#$+8__pk*NV{OS&C6)P_=Qak8gZCJfn9 z81>b02Jc-8<%Y=~TPA~WU`Lkz5G&Oe1ke*NXOsr@dnez=bR2qx+j%Rt((86tbzj!E zcx3e$*e))uuVTNfwto=waS2s{S{@yu>!#@1pB%hkTaaxObvz4|pP@aNqB+Z8)2$^L z#vNyVtr|R5DUl@{(<J!^|7$5}*%n@y*Gd0^r2zJeORfs}9@CuRB*t^{ zgi#}}@ex-VOx~CZ;~wl2H@}7(oL5nW!ZA1F*$tt|9mXPw@KsUX(E1dGsiG>!&?#@? z%o({!^-er!nsSy2!-btdDS}XgyS~Ea%M#uTOyYQ_{Xj z$h#4EZ)OuWdgA^E%%}9ckK)VdcvoC<(x(RJ37F&Q4MjJqDSwwnp7nEGSe&k~M^+dL zv-LZ*-xN~8DPLE=;UlG4gQgF9LXDNV-Gg{nJFjxu1PRjcuokW5!xC5HPP0MbvE}T5 z*P#C%>$3BsV@=HSfS2#!h!Jivg%bMQBEmosM*)|Rvv4Uv5AL#pk=`2BVz$JZP@0Ja z)!F$oj`lFoeoEz$Ji90Q+zIjaY@}myu4vn|9wyQhNrw8vF(Wt>NtHhcniakUloxj7 zz|h{Vq$I%O)0mmekKGF4GDN_XMTB{30_iwERI7w_HAf+qbAH^DG`{ z{$Wv=BNv=e1iQF?{V&Kp-)QJas3hsvK3~?krys+$3(Zkd?cWKkYKoaL?SjQ3HGVRl zA-W&ze&P7}Q7;~XT%Wv1gEvk`Wc{rX0%IPV0UVTKiNK4|D*#A1h?sN+}Tp7NfD3es+gU%4iI$jrMOwK$A_?IIS= zOe#-JOkSu@G~O6w%N;tL9L_4^PWnyj>x1MRwH2Sf)o zUz<#Nb}d1}98K|i-LtSf<7W;(p|+g7)Hq`;@kHBY`Axm9)p~ZZHwp1C%16chw1Rv_ zNcqyM*)|;VPKtPZiw@){%Wh5Y-Y!A>iidbX;`xP=x^SM+<8@+wy$vfj-#w0KUD$Wb4AYoZmnF{FTBqV{Kk5C(p*ak5;`6%grO`mT{g* zkIyPA_!_f?d(iL-`r@G$dphVP(8Gxo3ZnzLDt)8?PyH|O==MHUDI?b&E>i67CAO2g zLa3PS^^RXpxYrMPeH7Nq({(pv;yV~~InEDyb`;nhQJ`1LLb-h5)5IRw@6*6vNvsvR zVofI=mEmGuT>eL!QyZx&OitH72bQxnJi05gWOk9v7zdSUk&h@3x^(L%qmC?4lr9hT zDNgLBy9Sn7^Z4NA7;`WHTh`=b# zfkC!touth7R1Mb#xbgLg`UFaQ$2OBZne8dbf}YH|#v5RCnjgwpxiV*f12D$RxIdY{ zEE|No_d0)cj$D_{(F-UHCJ*XJyZINV`=wAPc2^jN)A&Cae5<}8q523@RO1kVfaD4P zr=bK% zx-D!&02&i!uq7iAx*YA9P`7OBLPOj2@)p&3E8v_0usIFFMLp1YQAhs=vXz5)0 z-Us*k_C9S-&KT_UfKnRzqAKYsPWZq<(8ul}(~rdWp@C|^>$1d~N#Z$hsJQFa|J8S~%nY&&wQHA*qt^@xEFE8BGLpJX1;E~l#2D9}bpz$3P60zk;4`zy)vh#Jmot`<5>bnJF;U^%J+%FS~L4JORq zxwRiu;wmnrBdE{N&N~Mxk{(e+Xyb1_@^}@c>hI?gQ_UC1imRG8--;*kYv|zP5ZAEc zK3uGQv$3lao-R)?YV}8*K)U2qqYi}Lb@3@sXaEgkj;B*2q*HpHalauk_e?i z*};0#Kg{*fXrPtkc6ow)1U0;HV|EkxYEPkZuG)BDw7$wE$3%`2n3B@k~gE7Z)8mE<0@s# zPMZX^IVOtDd7?X@L}jt`{;M&^wg?{4@OvIM@;~Z{{@3a2|KlY8Vso%d#iegSqyR2uurR~1aw%DQCp&6x# z60fe^ygH=a*}B}~)>x@mUG3N6^X0sgmBukZN;>-VlEm@U?S8}e_VwG@pyzX^G?%DA z+g3i{dba{dZ*-}>ZE@71CHi>OqDEJKu3bIn_xXvZrw?}S^~uX!mpndw{Dg2e26&m` zBh?{`(~GP=Z6TSH7Iq$47ww;kcK$dGfEIV{gR@A0w1*mg?o^DQ{?!TjnpsTl%J`x4 z`{v~dI#$hsXLl|Km_-=d8*P54lK9E1rwYCOF`d&rfBWw=83w?&7URzh#yBG_V(V)= z+aFt-^Udp%SfHr`HNWi=XHr4euB{o27p_bhfqnV4b{Tr6?9ThLPzH2}eLwk8{xRO` zJv_hd@_TxL8-!VDeX=A5q~RTcU6~i=_HJEt{k;xL%{BUVmGG z8q^9eO~$W$nL7;V36ds2onG2>@slS+`rikD{XztY3ME{(4^9+bUsU`)T>=u(VRLWq zO_*OA{rq_Uu6${31m zavPiZjf->5(ptd2xQuosvjUWm%r7Y|U|whjxK3PX&}!|pT?ZY%He06$#cT}l^s~(| zk~fhaq=$2bmUGely;x>r&0gw1R7f8q-40r8vJrJ_qOejIEjZ4s-k4e@eFO|oU1KKI z@~nfN%d%j1Cb98MRonh##*HAi((c@_u5xFaFm`mV#x~AIa70ePR8Kb3GU~0e)XZf( zpj(DVe?b@TARc4M3v1BA5%kuonlh!fh<3@40RYY)u9?|Fz`Uxi2e zi_x~t2dXiu5!`9C z9b^rGRsIkKb}P{Htb<7iWHbXCg?<=@0WE+#XxcDVd5p=cNjH@!)+(&hJIXTy|I)_8_%HFixLxXmJbCu&(lUm!VxJ z!6&3~{Um3dMQ(WxpCI)%q<8j+Wooi!H|0KhaAE!-DKjjZ?oowuN+@u*e3u}|%) zG(6=nuWJ;QyJAFs(Wz}>yBlO_vsPszSzt0>k;*0~TNy?s$Nth_a{)iX^HWE_xhl6E zAe!&$7>Bh($6FhfRr1$H5Hz*MAV`8m{=OE*R&fSv3o z@iK}%TN-KVh_*NP6g`;vS{~Cj`bE{2eo|%xowh;~dV?}n(r}qrnB`A(_Qq8{pMs1@ zVUZ{j(Mky`QG?aT663TGc)cw?DI1$GB<)5B3})m?M>#e6z<8TC0i;JtZ7rkY=P?`n zXnFZnP0HvY$HADnQ}^CiOA<>P&UK$dLOLtS6RHK#oou5IG*LVJMm@aZ^=m z{UC0=?_e~x6OwpB4Nc^m=q_-F`ZRpeV;;sri`4_5!(R$mPV01L%h4W3lv-N7G?s2! zT0R9bhlL0F<)hQV>alZ^da@}a^aPu1+U3R7^ekG9J?;5s?i$Qp*1O&3kY0Pd8~qWe z`?Y-E*4~w=i|aM)7}6H4R6BxHIgZ|^%`5vDSD`g2s1%$HqhWXHzxnsA>FlOPMicWW zg37H@{hB(d%(ghGWfUO|36l3IGO>*XoJ3vEDqV(@{5z=EAzR(Hd!&h;gm!Mj%0m_o zyCwPEej21i!{c!qeeqt3dGq3|zoRcDQ*`P*z}nDbwOf0xm|R$Fxfz7jOw^1grXC#> zRF^m?f#-AJQ9tx8Hv{+_rlX}tshK2@cc0Tlr}&)&GkVN4i(Tz1k|C@^Q}^-?EaXT$ z6#n9&Bg!_93~(vSdO@~z@+^VVPv^Bdm@?-8=Xq+KjB)$xoLKLo!s-;dDPUVDrM7e# z`K0pKYg6Jp{NS?zfO)Ou#VObJp_sWKia&r|v7FvFA*xT#7h}6{_=Z^CH8^N!&|)DM zAf@PvSQfc_#`f(T-7qBxDJbO%JuUb`Y{@(^#Y{ve6!Rfb-NAqIe+ixtV84@m)^Bzh z0~G$C_e#%PysHHJ4+}_un$NNct7fhu-SO}=g4jm)RH6oYULEVY%apE2v7=5zXH^`h zuCLWX1ci_;ej~eINDj}9oSU8R1SRokBzWbRN@(@U+QOcC8DKa537zJl$*p*hylwmiZF;u#n{?J0fIQy;PAH5 z?902j2%~1nx-f9`Z5CqM^))dpO}FnQ`6*D0vX~BM$2m2oMGG#_iPG?H z5fzi{WXaTqgE%hWmCK_rY$92NlI+X+>p#WifN?MI;*jFAGsBz`+|X)M6(|AnKq*ZT zKjg@*+1SF|64fIoSCbeImMo53Y!mb4$Q7wZ73t3lA0R>eS51?Bq0%dC;hw7VLz}3| zX^ZBc6FqplbiQ@Ka!Vy=>nZ z1C=V_tHrajA@IsUXU`K-5@pQ>_;AfKohB=wEid>|8f5R|I&X#a()w97N~E%(J8&IN zUE-TngJFwSOk|V7K3f7?mQdq`lRI&O3l+RqY@xP(UEaTlus2f2aj>ooAOe@z__=S zwAc?LTwjHFNZGFR2UN)MtOb|Y*p-$f!btA;j0g|~_09e^Z*^*vk(@P#yQT~LwjJ6Ggd*hG{8?XH z&6RaF`Lqe^r9o?H5n>~8L$aNvC=DiE&04r++!FRg9nUA`dtzB*(6Gt<)1XFM!G4YQ zY}|Rgg;s5Uf2cvVm*3gKzy3rhuY4rO46nNw&moou=knBkoss`TOIXv^rDnHw3v!wY z$Fox_1so_0X0S1C4g&Gfm*K6o^)7#gjCmJQxYj=G3ALojTn#D)p?~$M&XPH7e6K76 z9*YHsR!+MV0=z~sRbj|N5Yli7JO@U>X=$vAtp*<#zOhO#{+wuGCxd5_Qq-n=M{!3t z?wV}FDHe0U!@ajJ%%qVoe9ujL2h3T!kcq45QELfxpIAp6XV)XUUkc*b=R(AcP9c1+%lxv+vtI+LrrIiyY%4r(+sDbCbePKCr(i- zAk_+tXXy%g*F|y%`F8{O#d3#l%mKCWO(dFsxcSJ_W{&3$q(K5A_dlK6V4i&QE{5#e z_xUZLZk(p5YJarQ(B)*I&Zr^Ggt7)ovv}x7_+nEERsvcQA}!dCtA?t`GexZ}(Aj8m zCYY=fry3=;ba*FD{VZ~qPW7W%$t3DWm89`U^B45r?PUg>M$ISc7Fz`Ky1EK-#recu z6n5oRy1*B+{_Z*i7qWO}7GUR5psA(a_xC;0jBeVaJZ|tF`eou`X}{f4kJ57c)$J3a z*`1fp2^Gc#y;;Z-#9S2?@Kg7M4{y{`Z`xx&EwnAAIHcTSv#E6pCLt(~l`P_;Fsl4C z(HD^81v~gX=&;+wRgC5Q7)hkUKmp&?L_6V~@>*L^iMKEvih`^MgwYj$Jgd%~vc8*4 zj@yvEEwRBEIh*2wq%L}feJ=W)KB8?!1$lp7P5^w^SFzNTiy%m~Vpy7dM&OeCm{-lp zZM&8yb$|~nr?$;;NTJVL2N_b+)!k$r?zXKD)YBx;g;bZa$1ZJ0#|ON zNnXis!F8qgc-z9GlyFOBGsZ;;mFxV1@m*CmM(W^&R|~IN3-_?XtqetdGwDtWf{HR; zK{MmB?$r@x1H~&(EV+`2a)d~2n4^*cpeEed)P=M>O7%hpnjM2k{~78dU-6-8cF!P` zKEHSG*qqj80Qe-5D?MuTSh$dRbr@WzVaf0MlpHT(*0S+dmLCuJgtCFxmT)kb&3QL@DK$mVXL~4^F6=fnpnjxl+5c6U*l6)1vXTm)j z&o0I##aM%T0uwN1%sKJ5_sR-`^_%*tgL}>ba88%$LeYN~1>VarRu{)Z+Ad5xW;_CA zgUrY^nqLt<;=+H)M6d&2BHw8O5otqxAsXK^0ba3xVAqxJw47n4$(?WtPdctGN^H_T zIkwM1nr>6&qvu5|9w$d>F=moS3iq-#A`=iFgfde=*@m9dn6Wb4$8r9hOw& zq8AAP`h^JF(ud7N_f_(i!b?9`@fEdY6nGeM@|4D{@Vl^pRy+}Q?rkc^PAMKLuDs%1 z3eo%pigVYl-NdPHsHSMg3o^_h#ynGhZuS6FUfa7bq&FfUcm8TMTaRY4{pty|fBLMQ zW4QdlSkpa8)wnEVc|Dz!4d=Nu=3ZIjUs0ENE$MCI_-MK!Z9YN^h#9KeO_Zzq@tWnQ zo%*x?C^+4LmXT;HWJhr9g*e9#<%xl)vF9>fvDD`k?E||pN{_tC)uY-~R#T?eG0VaC zCsdDoZ!_65d(IfWPBKQtBw5%5?N zu8;<`kiR`_2W~HMnF954BTLLz=0xiznxJ$(zfS&{_gCL`Cv@+&(9>rOEJef3heUI0 z^rxtOKsYdUrcZQ3xvmk9j-?n%^wO_GJ$t#yWwS$lm3YGWx108+NkQKC!k-&QjVi_swrjGm}40(hY!hktS%i%d*{)l5| zXu4hK#j#>(=qXJ!F!8Q(=}Ia=cqSJFZbL-feZ00l5TJ5O@o02sR1{}f{NOjucJ7ks zTqoZdUZpvz^!u75sq03f#^q_!EOppR4eq+$^(}2%w>?tel}@8if!#Ic3qH4aeq>hl#y=9Dz+MD}s+_fP(+2PY)%Oq# zmxTbo^^Q30_Q4GaTkkT?iG|1k)BwS&?qrqrR$*7c?qr=n4ZIl8VmRrWv+{ZGf@)Z% z_DO{^6MHuh0C@RL6yZJic`NqSf#)feoukWgbd`{<5PnS&ZcPa>Ke$(AJ~VF@HDk>& z7i-qZJaSF3IDbm!Gwb?j>4Ilh0JjGbnJ3cLq|7Ngf0Et7(8CV~HEsjwmD~V_R|dSm zo}UxH#Ijn;%~PLv_btAVI`06hG35|;1OZ~of1nZhL5RAhGeQh0FQQ#0wHg1sEbZ$E ziMEAzv)9?QF!AruQ|1lWMr$)wn;)V5ifq(1%(($1--LMez#Df2Nl{^^I|JdSBD!w? zu_N#q{%9J1qnwx6ka;^T=&m@CGE4ArbhRU8s4ZdY8WwZ;E%GlH?vHVpLdQR)95!MB z59!GUPBr@^h7;ZhF63E9sm@|#WfClj6s>KP_-mX89S5N;?mT-aH1@NK=@^&tynhTE?iVKfdN}{bIJ#t=?(c#hF;+Is8)6m2N zcbxkik@fIL{+(B5JH0MeiE{F?Y>7nmWUiEFn7d-WFcziLjOIZ^mYuJT6cTSTL|j^a zK~SC-%FjW4xUS3RXhTV(#tHWQXu61R=#a=b=2@5Pw-LRJ|^|m~(?Um6GwAWttKq1)X4pysAqwFH{RADu zHvU!2krWA~YEvQYZ=!$&A*5Leh3hi)$^#ji1VcIJaAHLu*>=TZ2(mrENy{Y^4l-cb zDR~39$$i$+hr;%x^OU?N>-spZ?MKB5Qa46(JQ_qdH6iQY#|dh5_CqLC??qU627q^8-S$G>jb421*v`&+Ifd2RPc6Xshl^U_YryXE$x> zZ`+vvA0mG}2+s*60^k<~!e|09v5pZjuS}5+R5YvM1mLtgQXU1}l5_5mIJFSpc<4PR zzR{goRVw`3$u8U(UW0^M$`hh><$b!lsb(O9{5dDAa+67JtSw3he-(nQO_`(efkI@x z3TJ`wruRtXFW}esur=`%IDx9UVQb&6lTi}2c}=`L9oARmtqzSLYd}jNpexW$^y)}W zS%U-=*&luHg;V(6xvciFAjUgr`oy=aH@67S!;R`GIPC+l0xFN^%Aa?xwTS1}q+?!L zAt}LWAZ34ViZvU)xM;|-F z;>xde!mK+-oqwnY>agg!ym9!|DvM*5Pg-F`)jc|M^iUULsFGY)h8u)&UAmE5r2E4D zr)IhvLSBXFQ6k$jEm8?_zToc;tP6#&t0VLWRIh-(?%lrzhcM3swDf+*F}4f-=MCyV zEt~%Tt%?2vJy@*qVt{&r^)*e;IKfO@69kEz=0SH-p~Pw!b6c^BhKd@zZnBDJ=(4so z2^aauXepOjB=LQ*o|z@Ci>SyFOIkFQS}t_T%{-iZ!rKbuuKVp|7_Eg)fn0?nvb^!% z-1E;oeejRGP3ySp_d*+zd>)UGrw^5dkl_apafU9CVfJG&IjRqboB4gdCQ0)?+I$$Eee=HybrZzQ|ks1AzO7~BXIQ*4$Z+QzP8OkRo(tL}`oY`tyWNnc~O?KFnO#1ch zjOe+?_g^`)>kyD$tOxPyBwgUdV`bPk%J6#8dPaduwOPpQ;>zmJP0J_?v}$o#dlnTO zwCtwm>hqi?ooDB4JoCtVNpF;MQ+gdjGpGrbic?C^$kody1M8l{O-+GYB1&{-XJcSf zlNU{kr(+*h;}Aoe`A7Uy$m6!>Kv#4yOQP~+rHc-_WP91ELfh@r6c)0p*nztDM_Bz* z{<7@zB5&Da&w25Pml}?`9JcYK4!&i_ntlj6 zrS%kN@AfH*s~4+KGiyN%>$M{$Vd5c`u~WnXri_Bx7V>t__LkxkUv=I3&@s+>hfChx z=CUK3P+LB~7%7p*f6ub`+}6cAv=H-r%@mPa8NQ)zRXc-r$29d!8ZS@9nkLrBz{fzB zMTi=kQfiJ|W|P1(-`l2Hl~1yfFC%ELg#DUyLFOpPT>dnby;*8b*K>PI?@7MFZ)gg! zq^PpDX1!*|m~Nzd=1B?`S9KV|(~zY(78eQ(LN7wK>Fb8cbgYfOp~f6$!>Xn9K&z!{ zi$#KNZmhM1o*<{GGhsA31Jxcr+%ISAG>Jc}!a}Za#}S{0s+cSLnfV(^z5xwY$PR%T za|r$xQw6}S4gTN=zB7QsY)9P&zP!|ryHvaT_8b_}oTL(ta%@PQ!b(fGoHGxnW?^Pn zHFgRrv;{ZZgo=|Ref4TcYze*)RS6zKK>eHm)CkIh_KqoFMDttbkjy6Cn*iOfRsM2W ze*X<#gpY(-ONatttgU)i?mbznV%Ho~>D#SZvy1Uu9AvP!0<#XLl`|}k)vE;1d5=BW za(QJ@>ENO~c!Jp;CRokHQxj1!5q2czq^MWvPb~lWn-u-t{veL|vuJk)a}?={ii;kd z6l}E9iLxX~KkqdvsCOR^TyAv|pApNn^sAn|kw&jSl6Q<&8;r(Y!P|7@8lhlv#W0lq zqQz?%|8lX##ET4PV3Iwm2@-ONQ>K>}HKU^t-EkkiygWJ8kir5=P5``=;I~~uv+P_h zW4gqSIT;>OmLP%#R-(v<_+8U!&0~t_x`D(qQ)ffTlNGxZZdszt&GGF}wUpL-Z zNf!q7hTJrcm?u5N7M|=jtXqk~7Tf;n_g0v}U+;u>R@AVt05M`?XcOT_0-8SCa55$1 z-^NT|h&mrr8p~D)==|Aw-254$1G@%PY#F z^^Oa`;<7>bQ)agzPA)JipgnSC>789CSh;G*HyJG3Y&G@`_$|$WWUV)Z1kwLK&v}b? z@GpMPN_SAu`pPbzNPY+ss$N9&zzSdN{e?3;3d>?OkR^6>b-qC`UK%Z?jIGa zx9ZX&VAxp;lk&VPaLquyRojbNXQit>f21N%=53i5{iY6!9GAH&_q=2&%mEPSgpNI} zKB~gT0N9aya}*+WrH+gPI!mwPg)#oFIBO90wqM;|zU*zm%#SMDsSr<9ur(PqeC%y- z$*_El;_b;=@iBM&wD~t?5Bg)XvU$3~_E+rV<8aASYm{-^l!!%2c8AjWCj=t}*McvU z)ON)xC8IfO*4~P^bSs%5!Cb++j;*cFU(muh(DtPdKqHWiL9=1#KMfz-wrZ{%3`SbMOPti5L-gkr?9s-aC!Vz~F9QCx1U-|8 zpI9yX#rZ}!O0Y-@m*$|Bp!kGgcGoAA2Tlu$rCWkYnux6mV^d@2XCC1YjInTO#rN=3$2iGNQXUv+zbK0E4oySl#vRj8 zLrZ*AudyW1I9yiz5*rJuujNqL;W#$Mtwo&s=7X~2Lbpo_?h5YuWi*?c^13WU8g*M$ z@kM5XVHMAZW~>lne=`tE-7K!e?b$(_8o|- z+c8hTm}C^6?P-(q6ViDo(H7&?8doRZ^4=wrxBbl7+_RJgCG zM{xj9Du+tbyu%qIYjZi0t*cX5V+$z>y!;*-lHtFR=NoP4cE`~A(=08b56H&_9MiK&t3H+*Zd6BdZIU!UK?uY>k=G`x(s9}?n^cc zfHn`dbpJy-U+oTq+4;97Egml)z7fJXG_ev4a97p$tT{x5A=_LnHVm4=;V@IV>M=zh zKIViZcPi8w68#VO^+x+c4%v5XwlVsDeii$#4$N(;t+cei-~!Q`|tAwhpHp{|G;O9Lpc8@rnc|N@4J9Jz2AJA<-;$PM61U`0nNUX*0?mw& z($s`*Y4+?=F})AAbdjdc$w||r%OW(guZ<|Fu8OVzdo<7Dy5CSS)IFCLCaA~#;Y<#K8IiHN#=<&XcS|+p8KH{#(*6QJ&6jgi zs@&d6*vjO?T3SzHx!`)i!J#KBg}m52r}PEj?&zQZXrn{mma|zf6Kh@31X=`AmV*c) zP?%hgzVOKwdIqFl0!)0IVc-$5O1RVbO5DlQ)m zY+yr7tVfPvJoK?>4zVQ5{W;@D1ou?F*Js?*6t%B5itDD#6Lz z3Aa13OJj9d3YSW5g0-!O&fWwZuHnrNgYWOp8!VeCn=xWg22kn|a!KsxIi21o~%TDq8amWM|{8G9Kn*pVCxnlDlSr56vCmR2vN*%e*uPpdJ zMK1proA|#z$k_k=-TzKnwY0bUr_K@G|5!;%zKv?DFo%Y=S0L5RDB#M3{3)mm1mjxB%kyWbE1)i_`i z#X1OMV$il`H|xp_PiK^nPbRvoMS30mMTufhQSp4M+Kj74rx|gZ(MKWYC-ipi-+;6} z-)!n|3b9P&rnkfX>N#%8*_<+SF`y3a08cj#FytsQiqc|+|# z3KaTs>|Zmu`sg^+4Fl^3`T!>)5`^;L>j&r*>hm$(`3D>@{7cV0bl25qzWYG(e?7hb z^*fgKf9}-3uv7o7TmNSHO{kX#5&CAj6JApjf}As)+8waEsk4%jL&*J~*4_fD>g9VM z1_1>D5hSIg8)>DbTN(*z4k0PsN_Te(hzKZ%gmg)ZAl(fTlF}jYe$LhVl|$+M|K7Qa zwT@iQ^X%EPXYa{9Y^sK=v|ntR^Ck2N_RY~UNK~uwV4$K_)gfec~erV3c2+kpVIQJnhIcc(sYDwsO1plLn z$#6{xgTe4e_XDQp)L}SuD(*dGiuL3P`5={0YZrm@igx5d$<_hy{0oI+nk}7c#rU^* zsSCp`7vydaKIT{$S2!e{siX^N{dAXxR=K)cPu#?0#iq=@)77*i!OUxHe9z6DAEp-} zzKbOO`8bI;nT6Qwgj@G3z%D4fz9}5;{++SD&dOUtPHvu6x#S4R5PH}6oTy;%GI6# z<=X6#7YW}IW?w(UCoCrt$o-j;nU0r-M55{rF5BP$Q9$C`{N_ib)nU^S>5ilfT6@X~ zE4kmkWvdlu3-51?Yd(WnBl;$rSj&%2M4MfLQ#*)lHu)iPRWQ_Vl0FbVnz&i`eV~)v zivXgKFEi^7NN{hPUuC9|BCovJb>~x|dk4aq^75J0l`ocho%+brfISG#Ti$zd_oH=v znNjh5ff9xG@m4GxawhMv9EA^oa!-pMQ=5RUdv!JT)h@rvEf!`kkEF|;W%j!6pjwD0 zF`@%crr(F)Ioa28EK_S~|Gr56>sYo*QK{$GK1rw1OdRGSnPs&gL; zO*G%JR`;v%Co?H(+UrYU=gz$g6VA}tllwIA;lQ)sqa7Khb z7h^ZM07o}+{|5&t=vnt->8jdi=o~rbH=v}06Kqyce^?STIA zIGI?bnj?1hSQRP^`7<4-Hn_ZBQ(~?b15F`@H|H&?Ah&AERBju4FA&r*2v!8sco*v~ z!jkFJe00SQ!n=pIa5cm?sgyRdt{o%($yah$e+ZGMf3)!QoXq;!51dE$rN_9!(Z5 z7L(-_gV=9i4d% zhHuMSd|F{?V7`sH82bFZuBJPT4tzzK>AuiWq~)VTEnG1?seCE6LF8LP3SXS-o^qST zG9?kn4=B)gKRQA>xj9 zXa+Iw1xy5Dp*PG|Qu?m!BILCj^s>%E?SgsoxLs{U6K&{88DaDH55sDx3txwS=`0Rd z7%a&TIpRT&Sipi`)uF|B)P3OV8S0Nx|FTxB@dn)cFY?w}VJYMF42SDM(`*eD9xB+- z$)tM(8L;}4IiZ1F!kCHSdJVusbw(d;xYs`EFNl&1y6s?z9Tv{%KjSmOI!xvMn3a=$ z^gMc~iOTzdNE4qo@g!b&ych=(^N--}jZf@e8jUUDg9i)M)dEg@>h!Q3X@$}7`!2xd z2;cr~Nv)(60<9Yf%^gsvp=7i9IygT#M%Z7IeT{C~ z)|50Oe3QW5ubY}j`!1>yquqDHGVNU!%GMvp;CO*bUdP7{q>500cyj%8yr8+nxd|9* zTUvpvf950k<&k8{!ErS)NRtSGl+oxW3%V~X!idZrH$!6L>xllIn+69K^h~yTFD8pq z_|qm}b}8$J1g~)9#ttTpCWWm`Z!F{2P+g^qooDT|o8TBAAHbqk+z;1660ve;ZzmR; z-=~hc_f_D|MjSkv(qmpkAttQS?ENCcZ(h{!K1bqC(oDYTnAB7i7B;I!@X0UR>R35ZVG&ISy>vvD0ezacm}9(EV6%DMF{?>RxE%9fKx@hQF7UL# z#*LkX#pzMUE7)e!ael5zD~x8nwxj<9=8*&8otr=e34@3trxi_hnWC+1PdI(~U+Hxd zaHlg&#jhiGpowQiM8_W#`700;5rl6O-9)e-Dj^^2dr#*i-y=PF_Y-2!gDJ48-`B?GU$c4^EklYd0^!OE*&sbkP=L%ds9muduS2 zWOq8$7)BUh|FB5OFg|M*;KQFJ(jK|w@0+TClD;))M0h_O@m~JYL_}}QlScu;VvrAlpf>P^ufcPP~Yrl6)&f85W>e#?C|*;L$&kky_6EzZ4V;jgA|WMJ4o8^*3iF50(>zHJ1)&5`W3)n(Uddmf+K;_Wkh3xK zzL_b1;S|+YtU1- zK+_(jGGE>1p+lK4LnEo~+rRhLdrZz+Ua->MDB`fg>#%lh_a&{rMz$)b*VFIZvu}wo{7BGywMv_Fp0G-@~CWt;>h|awNIfQC2K{>xHb!*PXqG`$%f9 z;lId46taDgdVW~1!8D{p#P%gk*VDZFP5_is*iJ1q&ZjFvJb8zh@{s|)EFN|<53-&s z^uL-Dt9~ee2i5S=k&+XyMOL1zzdM2q*-?WmOtW3=>&^Yn&?4)(DbopZgF_zuFmd@Q zqjy^|N=L@rn9kf0)Wqo2|EL2Q3>x*ImD3N&qz7Hh4xt38MV_P z@OD3Agbe>U`o6H%?PZ);?vFDTm1(Gt{ zw9}!nRIpkH(N3f~>gRjuPuaWz9s@Spa%md#%WPKM%G?YxgI18dI`}Rk zcQK{0RO2dByqrN(Yqi ztsU*T>7_)g)g-IAxp%9)P_&a8FszR^7~K|m%qB8?)ClysNAxpSpY}csltnU0nCxNB zdganCgIGLQY^chpUfZ!GN;ejA)vuY&Aq_t6TWsVTy5tre-mAv8k7ki-rw>_r?d&MWI2WbjF zSuG47NnvDe;hIiER*UB}A-)FvdeYJhPwcdH>#NVU?qCSe1hsP)a*q%h)&=G(RD=sT zv`sq`Ztf9K=qbMbG$Xe&hEQ%?MlgG2L-P(_M9i9*v`_t9Q zKS_QTt3hmJnR**j*c;^X($>m!BivEhBFLxb+pQG68r7VSR~?}-_HVBta4(MuG!VJ6 zY{1d(dw-&^BToraW}(*!Z>-62N#qOA_b!M{llS@<@Sb0nXdh`CqgNMt{Lo%fJ0`K& z>*<<6m=0@@6{+nQ+?$T$fXu1zY0XBAc;nbwMV2H?ZmOp2pSkf1V+(i>f#BQwvt{mL*NB(DZGs-p}#dUZ^-+5_YUe+k+Cn=Tz_w*+L2vbi4EzcBM*vf=1nl62dB zCs{$tvkUV>wy{9|3bxdUi7owj;wtCdXZDSa{vAT7DUSDGGCy`Wx9fkTFfhfA^d z+~-Gd{1;?L#M&4Jr~CYt3^T)_rFn1Ch)I!i9oLscHF0v@M`UCP=w4uB3zlQF>@vhn zL7m{?8`e*JHC6Pv`%O~gfqf0ieIi^A#YXYbXA~n<3vkN*Yfw);p}JACm2Y$e=DCNa z%FbZUqgj3xd^#%qp$sOB!`t8)v(HD>F^cMEbEF(U95r@p2x{J%c)Ox+3&xXBp$?-4Air6v;C0q}_C&-}G-#cif`v z)D#k(4}5kLwEsM>bPew99`Y;cG4eFPqIjBUgTgd@?uT%+Az?9yD3yMsnR052nl;FK zNBQEq=TVA~S${?ISKYZ=Va}`}0i?DqoHU(#7-;3+_WCW7X0Mw~kU!A~(118^cGv5l zfu_j5*Ah;IFeN9U)fi6c7g+7hI*+p(w8y=ut~!QVLqf^UoQMvg8rgn&&5rxClk%EH zNG&pE@2ZO~*hQ4Nf-f7Zm zSZNI;8t70>r)wyX?67^$oc}#_e%te_9Ox<2P(Tx#W@T%j2G$eOuGwxy??!FvoB>92 zxXw~m^zOR6h*<54CT5zhm#O~Oxb_~rz0a6s@#EHXFV|RHt%@%Z^~2Z0%ADf$&EhYa zQKV3I5Qf;MSy0XOk~I!l#zbITYYoM8=gPyw9EQ|0ot(pH^57Yu_vRqCarUeC2F_t#gLB; zaCp%F;I#+5)H+=qBH*RaD<5Wd3S}|4ed~I z*RyZLgR=YDZf6%(-aM}Oi$tjhB<~HKgK%!c6mLHzK#s?u*NT4oWTk?u^RXX~hl|jj zLXF)uI?G{O;+T*mX~FegJo@kfvbnc{bB{!qvZpocY~pE3+!8W5=^SN)Sr2jlx#piW z`)Tk0FN0$FX;4WDt#aVFhffUC0)=`L{e@P2D3k|$+H*=Bg}1OhGPEN$`da1Yay8vnYQ*s^kct&tj=t5yN!Vw3*D``aZe4Cs9mC5@bP>_PRIGgq^e)trtXt&FSa~J8t}_W=i|8 z*&9amjHM_*Yk{e0;4`Sji%OCrbDebJWP^QQ%ojLdL6<9-HQGdVgGyNSfN343KSv@#|~Nk;%kD3(@0{G zSsGs9`xepJ>>`$UVJ{5tSsY!%zdOH9Qlf09M29@Vv@A>d6mGN(XP?3*Hu|6Eti6Z* ze1X%tQ1+Kz@~6CH67zdN__JHQQZkkw7Dneb#`W~FM}KS>L7p0UllRUOv@Wg`Qcn>b zojW-QIScZbh|SI6BH;-gydBj72hguUT3P!||zf%;5ZHZ<}=3JMOP8Y!0nlW280-9H6psiEWgKxUUi4+EM3SmY9 zAqAL62RN*l7&}Dd2I`rpGuyE=-Q1Yaspn+z)uonS?|H;k-NfC-pssj#`3*=quupy1 zv9S%!ZWib2jS>oaJ?^Hw8`#NBYP%Svi%+gukMFpAqEc!rNTQ|C?%q|IZ>L~_Tc(g= zW#w0F@pUP=lZmT^v{N?o`t1Pdox(PDuHq{sH5bdJ?_^D#!Not+(p!ttlok8BH(w&> zpw9?uxa4ev8w^C#OsaX$(=@G>+|;%2T=xI+(hv;`7xRNqtZoi;p#U7Qo~XWcdFG07 zZc|dfkUX7CGik=R4|NHkhAHmy+beauW@(G)!s{PQnex&(IN(vef}yYCf)Bj>3f66 z^bvpXXSa%Cic!V0-k@!x;S@ZQcw=*fvc1AgYOtLDa)VXitwZM6Lo@$fbZ1`)q(?^^ zzSN?3s3tk##;32r@w$(!OuKnjT)}s`et(+`kMh1JQEJMBsKvvgRYUn=&#FP3?GH7W zoONTU${eoUNxdM0bSw8B{aBL_jLJ>to#J)4TzMay95VJwo3RP(++*C~_0-vtkvFK@ z-S5?ktew7?|9EfTdSh&Eut=oN`iJ@hi5Ix0mI_!w6(btuUplr6`?-9b6<%M--d@?* z*SqguZ1w^FRxxtwdz|s*Z!;a3`yolD&eO8Dn?&tCQt7lRK94q}heh@ASiy`yFvq@=EEV z-*fhRPmMgf=ecy}DuWPww$ymS78=rwr~|RfH%7NA;d^y@P2&&5552481@DD3R}0+G zo<%?0`WhI@9LmqDZ^$L#c+X|jFWV`FMwp7f11C-B3mSP3>D#I9JH~c`3dA@DGL|va z*!N3AOVyC$0=kwym@8VoMHT!(cB@uvgP$b2Wx}nuyv&i*T>35^Q_$_ zlFhSlufg7`;*6@p5jN}>_Tn{OlRmIS@sNDihlSTFn^mDX-cRlPQp}71QIFTWEMIgx zjBrMGpKk9Z#qRSZ(i}3(o>>d6YcOvVmj7`{kChtnxPdj5QpA(n=%=R>=ReH)bGJvz z$P}dDU;(ls1s@^>fBNZ~qN4WXGg_-`fY7&Z(2O z_VYp^P0Xp5JZ%YREt#rSK}r6ugZ(A{@mAMoD-Es?tlb466pgN@iG=Ug<6~@KW8clg zGimms>QrUu2JV#wKb^(pAdfZw2G2a+#n|Gk)+9E|$wBYZ-;eRAExD+O49N}u8C`d2BoTRB0ez4 zxTC2Hhtu_ymhqaG6?-{$v+}EO^{%{oa+C*m2N45o2gMDM za(j-CG@^s`IxMT?AZEf~u|}1?iA?Wr4=iZ0)1H??8CX%kCg%=zHcR^EFL4%B-RgZ@ z$b?aa@XYQDM@$*ao={n5qbP@gv|>J@Eu$Hoo?$%+`|B8%Kx>h9H7vSkji2Za+AJB9 z)CiVT#_8L_oIic~tlGdr@rbj;N~v$Q^dP_6&%3MC+Cf?1;C6zK(>(d;S1Tiqr#W#N z?J8fz!jGJUWj>RNR05^qwuan_$ldxH%$igg zCIsCb7WWK!UvEt!JyUAmUqi0in&3pPJmxJ&!K~WRMrh@E{GiW+(0Lb?_xqZ=H$F-g z0%7p9Ckk}*9SL7hASe;!PWG9p#WI}iBN`}9Cr;n*eWDI~n@)bcioUYG%B(UPtyr`} zVoG_*j!xE7xj5%w`mCaIgWgxtcN2@{L1oR$C>6JneID&3I={Z!@948K8fUrs87t;c zsa8Cx;4sUXE#XU)(%ra8m&`dDuPZJ`v@7eQ##Mozd;&vj%N z)9+{8&%K|Dt(2(11zdX%q<%>Ckfsq`nkrd|1!LNu*}uTw${(R2eTu7lpjk?SBAbtn zpl-Tj4Ym|t@Mwdh!G!X3Rk|dYr_MG$qurUniwQ2QPkhZ!KSDS2oH{+@Q91IL>VW(C z)Dp-{aQP zVlw6sFq-NN*)Zbkuwm0YO`2l6P2-kOZ_1`bTys9a&y&!%|^b*bwsAPR|{c_ ziY1C%a4;r?0zcsj@qV?xO+u3N?4SMow|IM=T);qa_4;L=nc|Yc;{QDJFNdsn0DkzC z2S_+WKH6pLQ1l#ro!W@Z_tP6V)vkL+xCzSF{qv-XwOjQI^zWJS$;voauN{8efpKoT z!_m=+<1-%n^asojn9XVnyy^m@I)s7ji!5u;eg^^zQk^iAdHG@#6DnnwTu-mx(xg-RGMU&6_+7NR8j^eo$rh;X&tVPuyk32 zAB@sju;4;wa&(n!yQWe}t~X>#r%Ep{`#ljah|08m_(B}L>M-6y?gh;z9Dcar7Ts&@ z9AR>NoZ_uQe$B2&*OyZSt}o9F@{zoJwdHH7ovC7x9>nOS3fm;wsAP!6nSK3+0rBYl zC`OF^_@rL?+jl>{v6N%4v&G<8mD(N=Q4bz&Bpm&yF}RU|Cz9$yoGfE_V6zmasfD+m zXZqx-{{eEhbL-0O_q)>%F+Ik=Pwdcc+pGAYZqE-OJ25ga<-WEcR$!!@mejX;Nrs#7 zbTcc`OkBb4Wqp9sHW|T#+4D`362T%D;ifT)M~UR zxUY=Cj!;jqO;nQIr=GB#2u2&BnxLOpK^q~N(3o(!qTz9Ua{tQ8&Ki_rO(QovJG?Zk zsyjW3Ceeb(T~cV3N%j~yG&w5R4i6Ss{Q9W-T+9x4t#Pa=xuihv8;#c0X_-7LP+>M2 zxueOvL^+<%#O5U4a5TEQN02-jK1Q<6P@q8Rg#pS&}rEZMqEVf(3ZUWcD4EQCY9hpN{r7tS%>Kc2~wZC@@v#y`|-K5 zDc^w={n)NK+3Xn~E`&YUd1+a?r0w}f7?k?+gIyI~{W?M9=Ir+ju_wM&p?thRu~s9Ko_Z*tmrTehOZ8FVVlPO@ zskAK3a6C1acF6AfHnojSXO)Dyd|`j~qW`v|jXup+ZB!p1BD;d z#77S*j|Ih!`NdidKO4KTaCmTDk6~GfYs=X>{wGi1F%|w)G+K$T+t^z<_GQwW)(5SwY=2&Xnp7j-RUwFuU^qm zxcvz+1nw=3`VMFSIr6zI{Vk?GS&i0rmQHP^dtO#?Pt-2OJnX>}_HfAXGAca~HLwt0pM5BDxRv?%D)s1FRTZ`TI zhje+|miZ4vI*Ej;Sh4z-I-8%;qJI*pyZ89m1LN3<>ma)qnad_)(7R#yM(o!bzP?&) zxf>?wuu390=&?sML3I1oq%KdcxPvHzMUsS~4&S`+#lAsKC5^f+IGB>yUd=zVqY>J? zT3usL-uxhbiWb4cTPi$X^oc)d2Et%q6N3PfpkhTdjYe$E2oz1Xfr<-ef}d%dNJc*T zU=I~&mUOTu1S7%s&K!BzfcvcoN6gu)p^~Jy0e7_+KS^kU*G#pXBZ_^2HPby{c}PYA z1{NI(9v&X*^gQgc11>+ex5cDSY;Z?KtASUCnvMhTTbtcwtX{iu7*T4;qr(_QSkhn% zNCqY~!a7QO(VCzRuQywYF(2}{&@n`W@@&3GIh09CR!7vm8W;WjbMCff``$A9anz3; z-e*4$vX9GSs!#9j zCRCuq(TY^nlBIt2*~d?~NX6ay4b45R2i}!0mt&CHwHH*49u-LO*isxm?0m~8nf@l& zQEzDuS%g`FRq-7`ri~9TH%%`BS(Hny2<$Ct?1%YjY7SGn^9hOT9O`S$Z1^Nzi<9%0;pbWDzt}Z^1zn zBeAc&Cfu{1+bY5YaU9!kRjIa^M}8|JuFLTd<{j~llZVCH3a24pH|RAT9boWMpjUM9 z9;VraM}?~c?t&qZlRCeiaQacxu_#LmM>rMiE*mJiD_bk^BmF^L6|6cRfkGq<9Gs*K zV`V{#R$x$+VGt8(6m=jpOiGZDU zH-M1jhg?U*XQ8|MvUXgv+kxZwPgc7`UnR>vquIZ)6idKi5i;~VcB!_hhdKzkB;={~ z!~QnbDiS5ic?1sE*U3c#!6^}%*miU8);dwJgN43KaC#iy+cbG`$Ks07KDRp$9^%V8 z{OHXTBS;;$d|52AA|^v=Xuv5%GEeIIaY z4)jjd*C&qgjrUZa14hm)mF@vCqEE$EWpnL?oaT>(?h=F&PYK?a=G4!!w_@3lkr5Fi zbCLRXFlD4+A9QbTy8gK1D@tt)$=Szo^f3U?k&b~A%JW3+}b(G|^#S#aaI`rsbXlj>xUf;<4m}q^u zXpa!Ve$ml`>T5NyJ{5E6Ea)=7sBCH?Xl}|Pe$p>04gPZ!na=ZSeV!oOz;}Nv6S|4_ zx<0h`KQMY@i)bOmhH}?sqI!tj2I=dy@`gTZ#@fZ8m?I7KnQ3FE7>|sI7^ZuVcuk|M zJmZboXm&33!s@eU$1pW?3K61{5u_^ubS+wA8tc1cQ9Jme#ZbBG_`$^8yOX0s-x zg$cOQl9R~~qX|!o=l$hvA>zwmk~#}L5m#(p%^!FC5!7(uA9KdTxUpf31mfpp?hnj8 zO!4qb(&uYyRV8Ie9D7&b5hh34K+cd;?Pf>YdS`u{N@%NXZvdvr zJ8^?FlL-l7$Kmg{gTfOx-nfx03WX0TPWGcG`)O?A?0%~6-)*cZCa##yyNja5qPsVo1o?m26FurOfqNtx0zFm}3Qo+k^fUYsAOT5VLSN;Xw@AoY{H$ zSE^-fdMcPy?pnPJ$Zm{mc9%^l3ODewZM%I}#B9@2$-8Rj@zwI|IK2-`yWTEs=E{7D zFmP@KQjKZBB6EIRcwbPyMr6~FtiGygfyuZv_qDVbMY%5*>B@^_Cp#rW?uFZT>^w_l z%rhCQ@xJ4WZU}N%)gF7A1N*>!tLToO@_=#BtiEvwJEvv zwSzw-zm56)H6!n!Y*Y*L8_8GuG9wg}ibKWQHcc%ecMiqx*>MnTm^>{0e0*p-b>*46 z{11GC%FLs$EfaBVU$$V$0?H@G;t!FhSWy@gXW}~ur6<*M_0`?Fj8>Mjr*Ru`d(33- z3|4ng_tkUg3~F|Uf5|0DR%<;D6f}boMiO`Rnu#2`c8qS!BA${!tGeatb+hvRyB*Bs zBW@13eN>8L*lXhVnDlrbPLn}?j(Cif{VLZ0$UUo)^Yw_s|mAl2PPQ2*A0`jXem)Tfv}sV`ykX+R6Xn19gC zz^&UU(wMp3y+WpB?JMgp9#n6uJK^s}rG~YAcj4&Y=K9{mnTPCHk^3Hb-{r;5b;A{*%_p z1#bbH{paI4h4b}3Kl;*OOhjnEqi`TQd$L)My&Xdw^6bw_wyD@aM0;nGW$t6=z36*m zZ~Gb8eRfUqF3tk(v-48-$#%(f0dSu(;FHsq!oZCVb4v#qOLILNUC^&7M3jP>Ij#`; z5u0rRu3dK@y(!G*6ck-mPco^Lydl4lSmMor2a1mr=V7|^?7o>OufEl9sy!5{kPB6% zM+@Ov>ml^KY0xL}jabJohTULxq-w7{ac}yarYlSy(mT%r!=Vz5kLdCGMuUc&TEglU zdGo;Yj>x#J%#_m^9#Ih`UMPWE0tF)<-m8AR&6EGM>7zBN6L%`D0(X{UAjQZy*5{bR zsz7=DKIp5a1O4OQC z*U~~Ex#44j7^^R0lt&zA)riR>tK$UxWIc45rc4S2-L?=*0tt0?nW_OKWWJbSk`$L3 zl+u8W60OM}&#a9+TURADCZpGu#wqNzO`7qUG&h5IeKtd&pc#!@K){C1BB@7 zF9d01yReMJgY2H7yihKQ^GSFBQ^OG6lrD)>B*Pe@%8iOBB!`{L&!}W;`S>HoD&kO} z&{zwJ$m;t;X_{bnT^z!7N~99DFU;XwhWK9*tsj`O=eE+1)vzOOJb(+PM%zp^)J73Z}hj;6?MZ`) zX0txqE{S+Nu(tHRM_^_G&ztrEhaY&vX=wUcsaaD~iAGW&#p|Hi0AZdwJ6*hf$NFxT z7i$Qb7_$p=oD$V!LFGpGjNrPA+zpdn;*%JKadp~5FXB+i+eh>*EUjIEgI;NdHlHSL z!Fl}gE7vX=8BOTOK8Czz<%3$|A2(hP+6U_tFsVD=C|7xUJuVi#bIF-_FDYb!~}o9|wln#P#^X@`qJ{6>7?YxNp)& z$#OhiA=yS*(xwSkDVCwTk%>=~ppMUe*#cx{t!-$2DaaiN5Mf{y z<$r?zl;B?wT?>6WU2{v&88p$`(;oH!iaYQFz5(~UME?bvg}Euc1rSm|mexiftCQ6w z@#2-~7B3!)2kI*e?8Jgs^?#QqK(qcyQZTkX;HodtAz&aUiVDz-7S?BK2>y$Im44&I zpF=?f{``U+NJkH3tqr~}co`WQ#CJcP`7WShi0^|}I(Q>e(pvy2d4WqlcOkxy1cWa@ z*c05~@Be$xP|VC4WchRXLqOZ)*LA~_!hykuHJDz|0SheTKI$kN=*6foDHi*Tpq3_8q~4g{*Z0i+cmhk)Hg zy%<&=WDUO0{_A4HY0NA3t(=7b781Dr5STqceuA^20w*GEKvveG+Gctt|3>=Lm>T>n z(FlMpw}A$OG}jUQ^D(U~%+0Jok1Vw>kiwFR zT3cI4fvgS9_0Fg8yZU7k572`IKtl~d5ek^adAhJVMR7i^WZ~Pg9RM>35S0Uf~{umb`JJPF`{*g10kgLghwvYM+H8X%h|&{mLGsz6SO zvsmD%^1qKCoo@FlIUcFH02V1=_CTAQC?(7nVliEWhCZuxPzkgK>lw+6fI;a6lKnch zep<4t{0)E#u!|E# zN#Y_=#lQ!3eo>uO0N7cEL)8`J0$8^IRG=MB6bH!*QNh>oAu4dOGK8Q!x)5FLgxF_caXoou(C@|z)B~`H04(6sP84rLz@2dfvL=+Q(twa)M*x1m z>vu`}6O@>lk+qSwiIJl=7+UCGjqZe;{sE%}{S^K`W0i?cqHU0zmnWQQwu}^E45W++x zEzZL>G1vW{37^q&->6xp0iXq9Kns9FJy8<=3?>C+%F#9e@!NohsaC)4NlN~t1L^(x zzd#EBHhH$ofNc@W_%Un-FskkZ2C$GZ`nlB~t8yOuS(?)tgB+Lyd7VdN`cJ*U>8VcY z9xU+8F&$%jx?=tuYBrzdiift`pqhn%ZWq6T3Vh8wYh5<|kpnr1y#s)sM zdtWXn_+Ekt$P8qu4OqQA$nvMx(lPmU7Wi~MiZ;}Av4LjS18fx1KGA&tOa!Dk13KA7 zAv;(fKEECqPL^B)Zi_=y!rT9EvCp<6So;;gLuue?)FSW$=@Qa||BU=+t$eW*j0^@; z?+R!J()pHzT#o;1ZV7H;;1o8`)h`?$~kT1xDe1{ zG3P;BXzLmSo!9b=jVse~yMr&ulmc=>jy)qU2NDDU>ofw|2pE+318V|TV$Wa1uH2P*4I80{MOVKMHg{p*3t~ zHVn{>DiENcxF850wErhUU^@7#x)%%-Q61LxCjir90;&hBC7mca-G9&YTfyho=PUGX zlssTF{x?t8XQTJ;S-?|{KQXZ@rE|Om>VpT=2Xfe*H~RNX;$Y(>RRpiTn;MyETZ8n# z(=@8LI>c9-n}R zg6duT4+Q6V2=QOP)cv_M@h9IPIK9EZ1*kd+@C}er&vpI(Cdv6V$HEEF!vLJ)H^4PO z&Sa>!|DI1u+u~0>X;275c?cky0KBjugo-ow|DNdAs6p><`fkOKtMVzp0Kx-cg`9=3z1TY%NG3DkJ=yR6Q|2L4=gNTPe_c<@v+^~9$_k0vEOy)Bj z%Gdv%Lmp%T0-s4a-vsFS$GyFO`D|W@mWf0C4;*Gjz;>1OWoB@C5J3z<76`1NpWS=- zpVG`Njew+NXNC_`Y{{d!Km&UK3phd$cw>KsCv6Q(@_)_><*k7(sw?kcWeqZw{)g>+ zeXZiU!;k=76ukEaX;;VCe^mu-Ys1U%Ez>`hJO}Ld2GH(25LI#q_T&CSMgOF4`@OVw z85jF3QLP2QwFT4#GG3bz{tegPvF!6XSjqw{=>QAl_(PERzp=>tL3gOV{8C`uH2_SI zYskl>f5Y@QHgMXEAs6W9D9+^pSy~wZhGnJ;c~$}(<@Ion=r@6OHU|129e2M{b(C$t3Cvc$40b`UuotD6XFi|An=)gH9`j1JT>AX*u zaF< z61MzC03QJb3sf4?bu|4A+@(h?PK!$nAucb|A8M|nZFSZ(iR=1&BmwKe21X;0AujB% z@W6*c{aRu z<$sbi{QP*<%D~;0URinpoM`hJ;A#XQbnU_M2f5FZ$pZ(wz+)P)|FJnoQDDMe*9aK| zpmsID2nur5lb!p&5}seBI#FzBOTauA&zNWWgTH40*W-Nrd{{%(6hKvLzz<}!vE~17 z_yEU+n-%Qe7zDsu(b|BXAU7+V1^&SD+X%pw0Om+0fU7xY*mT-%Azi~8u|Lq9=Nfw2 zyb4wUz4rlt`3Yb= zkiv^T{2O$BZ7U<)i|yvoigy4o`+)-6CS;4g1U8J%hMN;E;-6jY|G{5;&;s1S6uxVk zMFBK@z|TG4=Xd!b^PgxgvrfIJVnTGF9>_pXh8zoR%l-`s#KDnYhceFZZFV52nPs33 z@ceB0kR$e z9FV?zUg_`fA^rKKsxo6r2?h2upn#d^DFfqE{u{D0Cwk7d$Z3}W8J_u7{y=l?*1N@~ zIQa{}j-CVYjt>z1cZvKfJOLAJE32PxApQFy(q&Ducg^rB3*e$$0T%^Hm!|$V;)6Rl z&=o;?kYpF`J*Bi3e+TFW01Jbp6Vm#>&|R<%b(bZSw*Z($w&9&NxL3OW2fF`i2@Pg{ zAOk0pIy3UQerp5uDxfPVU?dGW@4+(v8@%6v4>F7L=}np1J5dTDC{R!j@0^a{UQhpD zc>b&%qTfahd~$UA0}J@U*3&|prX!=x4Hw*C#Al0JBi|JON{pZ((^lRf$B zEMzl8dH#jq=P;dB5I9nud{PZ^AXSn4UwO_CyQke1&?!z7k<9a1{(WHWbPJq(gA8(f z5b+13bDwHE34ghujalaj`ui!elSp92o_yl!)Om~S%aP7LYIYL)w3N3`C=&|mCa}eD zHey=+eBbJfIiGwIiVgxt^-`R39?Uu^BDne|pGJZ_65^S2nTTTl=`a*FgwXxD=OKf= z+}WOd@^ur)<{^A{G0MNkOd+3HI$igZ4|>o*NLW~KG4?sHrJM#n`62@u1TcQlCBP?N z2RRLSGGRV71Y}Y1#gJzob~ufDGG{s@u2I>=xW99)UgQ@~X3mDht*ZDd+zVoM?TG}+ zkhnLi{|fhl<02>X&qCsA*Zvjm1xG|qCXs|(jdKJ}z?^jfKYPJ%{hl8UP9{Ku9Oxqh zBlL?<|CjXaR65GjHgPhM4h4j*y>9;t^z%hNnZ<<|0<^N{V$k0ic}@#?GW!8!=Z)&S z1n-|^Nr+4^r-4u23x)*F8NL|!oKy;@flppVgj`x%0yfYuYP8EQ8Oun(0b^xg^APy2 O8yFXK%|HYH`u_mG^XNkW literal 0 HcmV?d00001 diff --git a/lib/cpf-pentaho-9.0.0.0-423.jar b/lib/cpf-pentaho-9.0.0.0-423.jar new file mode 100644 index 0000000000000000000000000000000000000000..5e0f0f091f383c3d079d4de9d39dfb39871d8dce GIT binary patch literal 160288 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%0A(KW` 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 literal 0 HcmV?d00001 diff --git a/lib/cpf-pentaho5-5.2.0.0-209.jar b/lib/cpf-pentaho5-5.2.0.0-209.jar deleted file mode 100644 index 939aa177abfe9ddeb41f2d9b6856baac18cbf3ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 157371 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 diff --git a/lib/cpk-core-5.2.0.0-209.jar b/lib/cpk-core-5.2.0.0-209.jar deleted file mode 100644 index 1accb54924c7d8c50109d9c30ac06f56b59851b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74586 zcma&N1CVFIk}urTw!5co+cu_c+qP}nwrv~Jw*GBn+P1&hz29!!-MH_*S5Xz`M4Vrq z$gGTtO3F)tfI`7Z7z>I5{nLN~0tJ#0RTiX`ko`sfH30-9|NlcFfrS4;FVJx< z8~(ykfBap4pZ^V&5tNnqC90%MC-ciDwgGyO0af%_;ES*b9?C*=$+m@#$PmIIWtGo{ zL1yB-YIkRYOT3`=I2YvEyt_wO>JE5yeHR6Za$4g|jKoG-A>c%VzZMYK1UrD3?D&rN zk+QI2LSi>BG$m^e4M7C63d*wd>@@S_a*z)$r$;cGibK+)w35^IfZlPAw;UBjn@fvH z(l2q(-K5;GAUUaSrwm1JUw~Q7A3zU6MuabpHWEi>8(VMzy?%{6fN6&RUm^kl3H`6# z0QoDTy)*s)836wefSZY-v5B*Rg|*W^VgF;l{(k=Nf&BOF@6Y}TYh-WrZ}1rZ5^rQ+ zWNz|rsPO(Jm9c@dfs>t!qmjwK;}H8_(wbPC*qGQl|2sm0e@|#(V{iR$Sf=}bptdq` zcD6RLb8)tJ`5&D8Z;kzH5u8knTpTT&J^l?7|9ZDwoc~#;|2PA{?v)%X;6Ok}NI*a^ ze_1y%|4*IJx!YK`s43VTup#^Qexh0Dc0!1`)V1@`uz}H81cIj#M9Dn8NlOuDwV_s! zR&Z?V?bwAT(~!>;s_h1Xx{5fOzD%?4L~k#aE!VY8WS-oSQeq9`n9^Iup>dAc2oWJ8HQ*hYK%4*sW$H;vWhb+Hc2F;2oVwAQR zb9vsd|4F#2c&d#sBcJ@;az28mVWocx5@K#hl$OhRI6PUl9lZ6MEZ(*jci(f#mFa$Q z_FYQh`1cjxt3X;@sq9D>!gi*oo2#SKqlN8l@AGypf{oPPws*`8YWr9jIfw?X)Lkrq1r^+9W>Ty?;$joBw2c%L0^pU1)Ihxd7E%+5o5})%N(f zSJpdcky9ifdBWYax8Ow^TE8A@+pG8Y+@h8xm zT*LDf)>&~-wPw&cfW+dg6W261@lq$xx2-Nqd$P6uP+U*2&ze`M)Ah|GUF-$36Bn*r zv0bkn@44I&J_K34=UPO2-8cLU@r>uuo!)G+=Ivhv?T@?xf-DIXsJ35F9^CX(KO(+(aqj5uyI*7h28P zZ{4|-H*_KYh*`fQrD7kg2qfeVIF@k$22zva+7+B1{Z5Yu2la_c^w;k`Q+t~@e8-kK z(rKtqD^LIVLv@{jgawHER*x+$<dZX?ld^&$Xg}DJ5}iJ&uDjgBy&FwgG{t`ph>_6JGsF^2B-OG z?&dWMrw@1v*r;HK+Ee9@=aTiQP~qk;XC=$*BHU^bt)T$LCu&;^w?)@Sa}*5#lPW|z zK?DaaI|l)EbhVoUR=aMlvS0$ba&Qr01Hx2B5Htb^rPi$K)|nh>@Q?G7+YNrQVOta1B+1EFETqo*e5W=DIW-3^ zR|ovweYFktP7u_`0ySl*8gyc}Cf`Uqk;i~)F+6jZm&bz~(8w{xrgF&`&657p%<2!F zL+S{#p4psnsbT>sYsecN|9j0OeqHrWM7AzJho|!@F3xB_%P!g+$L_1NmDuqxeh~>$ z15z`XbopX7)!N}^ebgxWhwCZy1b58XYAb4Pb|sy*b5l!baqeDW^*2*TfU-6r%AM=0 zO)9+MF zG|3sV!v-ySTeh&tB&V|)YeaIrifc@y=IJ#kWo@locc}d@La_4RP@IY0lj)E}W%nI_ zaK-MPac+-@bGOB-3hY&2b1S6`sO6Nbs*fCUbJiP~BRl_45waouv=1_ONlt?@9|jKN zrdR|fvB{r_;?a|UsC5LTzDCiy21~_85X~L7*P{qX2fQZaL;=s~G7{8iZXWj|GCgY* zA-Q0}@&FZXKL;K8{=g;MP<7(SweJb98U5YPu^NOe*d7pCq0svXe&BKu>>iqqL`qvZ z)N$KtKpZfK5)R1lQj2hrRmm1g^0+(`z1L{AU$K-{U(yxK&e6t-FZqiKflOG0nIfHTLP#M z7{=DZNSiS&AtgyjzhWaM_i3zZ1_dDOk#S$JSMYh4Tu98w+7dw#nG=vbf4HNBjPGryM zt|uYE3g$pey(sdBfg(Z#7D@C6mCvu~mc|?JCt;rIHmF!$UI);*qP0ZT=#)!s!HH1Q zsaRhcJ}=iU*SgwWRw}>ez3Y-C83Ug_x8T2Q=XlNXp8KVS$@P5nGXg~|d4#A(#X-!6 zW(B=~@?jp%%8ef^-rd*p@F@jr*;@hih*AvNfZHPMHi2KoN4bI9t07&D@Pc2#?e-Fs z9{6@JsRt8tSn5-RJ8sfE2m{-rppfKag_1IRfb+Md+ni$xS}37(YG|d4uf0?rQz;=Jvl155J!HdJc34-}%{y zKXw+@_)OezFxvPg0W^#CVu3hq=);`LeA5KvOZVZ2)K4$kqX%|t#X}#r1A4PT;2XAs z{UVI$H*5$>%H23YTqC&i3DyoO3Qt;0X(}#mBuEijkkY8d&*XhWAD?|E$&i%UY!a@ z;sUCTr+*{4kx=FF*1m&D#Sb^MQ#K=aHXDI%)5yO z5lco)PL154M7ft7ozzVi_K}P$L0&X7V81b8Z5SZ7AWIq!#5D`p1&T;|H*7_@a>^EQ z$HmvV8X=2QEX=6S<^%g3yH-1Y?*#b>ue8^y>NXs8R8-`{z=(4zCAQIG&7({%k?+Rl zeBDYcd++#F5Y&l7-5BQ9OhJZR6%o)^pIPsZ;U0iz%Zu26BAdL7B&RdK{bN#syaEt= z_MN7Qyd79PJ@zzrpPO#Z(@l6uvH)MVuIlGRCqA?o+s;Vd6VOL>k%QXwT|@e7VOx{{ z3As$vur)>7j$3w$On-rq96$t!$W((d@g4d^oA`m@Go+pH^S~8ADV~}G>oor*LX%xH z;`y$B@8=RwiurBT<)lPwiKbK-^NH0eeHuQ6Vj~c+0EocHbz}0Qav43E( zK2H!ju&9z6=v0ERW|E+!R3vHHRcGLkblV3OC5;#+mse;Mt`|{i zUNs@ieMEC_uo*WhR66vfh>KTgm22q)>lDvQmJN1gEWnDSkK$o)vlO6~ZSgSNxUp%p zs)n2WL3_~$V^y)9W>IOGcrkO1rOuwulvb2+T!~M(z;#ueP;RM=)iIj#b#NavKgpm(B|N}MpE-+^^$tw66BzF;oPe1UBlQa&zs5))hm=oFYP6rmpX zN-UvZQGcC9Jkzh?>f*)~n=ntJrI25{Lo+*~;XCqnEeCyO|fX2dzj3CljAAe4F-7nt2R2#Za>(0X1S;tK`K$8F_Y;VznmaZWId zBw7tCq9E2I9Y_6K3pP_;iKc&|$>-TFZ>nBAOS`7{@g)$4kz2$by>VBWmF!8*r;X|4 zuSVr88Q3L??&*6SLB^_1pZ)-p*QJ40y0Aql=cwVLB}*NZ?e68>mt);fObseV6*#z% z?J8S4j{ZxD+K7?KHEeHOJ276`pap%&{W4K!`BZA;xl3Nt20xBVNOp`fRD!%L zl=pM~2k)ruibgZFEW;egns8BCsgqNn&y;sootTO5TgfkHbu%py!HLh#t2^*n4bF~^ zvO}jg5i>f9uEx@3N)1x&w%605Kb+4&jpFOL@4}J9%q@%eabKeWDHR6#xm2{w?&EDG zJk(2n+T&ZAGzQ6J6yLc7Xw`6?t+C{Dsd2bf6B<;buFr6*9^8g&)irzhM>vB((D*Zq zH<8V%iEP9Cjvdb#T$)za$Z9F9s>4y_76ieJtEi{;t#z~vRjEYtviEn)7$B_X!3hwU zOGrh7VNY~=OukLWT+g;Wcp#J6K{@tSDyni|)MZvc3r z+XNqJOYlT}wuoSEX6kAEv&S0VbcLo-j382tBFQEq$$Kj9E$Fvc+P~W5gFPecg08&{ zxFL-oe}u$#CJqvU`nZFNl9sknU3Eh!NtVJJWFo8`|E@Zf@dYI7?eWL%L;FdL6G+veM&_hSM zdscXIs&9xA)Ql0EpTzc+##z%NngV*66PYdt*gwOJJa1Cn)Lw zOx^B{^m@b$W0kP*L^TyuG?4tq6aT4eF2B{|qo_ceKRm?kTp26iPL|5fB1ni%13ejG zH-83E82b=gLHYV(Pgc?_8KJJkNM|qY{v$H_=J*v|`Pt;4F-fpSHTq$pI)9lV*@&T- zSnE8fOQ-Cyjz4-L^i8{cSpXBtr{oYMM_0NnZSiRGWDZ*;b=ek9 zoWQ>)IrY$vyb3(oGZS1sc;x`jn4>zS%P9pS2WSZ@8N;2}PcJ88xJj4B^^bEN9gIPa zgoXmA)qXjP{AXxlQ=FlKO^#HfJEBzVZgvA>d-l4XsIyKCt2?vQi&na_oza<25?WAB z2FAtIkbc?EAjfToBr_6l?k2;8n+%rx~-nvvg+8>8(~`eZ}Uv3Tn?E*V9tlE7L=0dOw7D z3|W9xJ!E9$uqzDxbnSqs0F&n2MaS}?PC8)A-45tzPhxqFKci#0lSQ#=D{s%<$F4YO zagT#navC9>&X8yEBA_M=du9svIBfS1NQUMGZu>*iJ{@?Ch6&`X^W{%Bjc?2t%4DzO zfPMkL=Sd%Fgu`W2EgW}fU(Pa!-SfWU8KI@2rq}3*SOq>Wgi*~GUBP9ch0W9pT&mA? z=^DVO)b&mHc82kcpYq)z#*IH<&66t8gDfQQkyN(mvdW)=`K^qsjGKD|?)`Idj0n#= z-DW|hcAk0057lY}>q#Wl;7j`Q&AgOk20$)iPq~aY-08(A$|PmtkUo1XlX*V+1@d1( zUdaE90wdK)$6;K4I}}mmr;96b7Lwk z;m2IDDp}fS@nJLZ)VIK3iSWZsPA`h~J%jzJ!HM_9vK#w@#oh_r{}i&|4^*7S-$=d% zFc1*q|3%2ZKHWdW6}PiCHgWui$SDdsQow?!yay|_8>yywWU9dks!NJ>l88|S1W);p zyfd{yHMU)iUCY;rc)@|b0{m2+Muv00g_x%{<2aqJI+*kH?C^nV9f}EqaKXB;kXI*( zVtl|v!60BQs}?V}T&KW=J9s0ae;UAv4B@h~T#T>~nOrULc{@CV0#73u$D?gkB2kRoS`M41PgZCVH5HaZBg$4rs zbReSgvrVFCvF(!5&|Jv_Z*6xn?ukKra2(3(h^1i(RfO#bPIjS?$DH{l3?!td#-Mu+ z9qD03b}inG{{c%5ShcOSyu+PrK*U+JGa*=uRK)gx%3OjoS*BnbQ)Dcj{iEMB+#u`q zi%bLM{P3I~$XY+CI&$#L5lmvNppW>r|BrYt5vvyJ`;j@)!E&G*wnrn_-9oeDkRnl3 z_uK!{)8#$K=5KT$pao_iAi{sIr+?_BM-$3h835ovHua!S5`#o(MVd2^8LRXM{(*#y z3`Jrffe4lipY#(WV`?Y^3el=B(p9e+pc*CBLS3VSm=X}~Qh}~j)!I_C#oo2Cu4?r& zZQ_~#x+kMs1KF@|=UVB0+vhp=DED)do9}ky69IW1*d-$j+9O~DhPU{zXYBX!od=%o zl$5b)#Y_xvLv?c6{VP+G&;bmO@eOc>E@hF5sPXqAv7XF~nn{N@>!eW&kLKY#RU8a1 zu=$_lxb&Ab9DOnj7L)EpLX%{zjD}99Dlk^j+*AsFL*?G z>s8;AGPS5YwaDOYn9Qb~J#;AcM!TJSq$=jQ%EjPQ9bs)|nve?M{BSS8u1k zwZ|88j)flfMbH~yj5**UKlBm^zXEvVjlANWEI} z<=?Y%=}~ieh0RKwoJ(8x8gPluQMVKdAH2vE7jXu>)<+hq2?ocW(V-<#pS2>a9cgYAODQt@|7^d|8yhw zQik;{eUQhz86Mp#J`~Lw26Eeux$^Q;`XKB5xmmJEdHZNIBU)Hdm+N@{4qnWq zCFI}J*)<)i-&{wJ6~R7cNYPkTz}snsnPlf8bzV7rxy9Y7+1a(hMSrnAzrMV^&{0_w zGQQ#Kp>LN@hy&!TMg&em5N!pXAVQGXPJxKWkTD~PWUdS7E+xg!P-JdoM~(XRHYFZt z;p*jAXpq;@G%5`$wC65d?}w9OGBD4bbJ_2Q`NGGz~6P3gurJmdX-7kko0I zj=5nSePe&k0@KhC@ZlY+u!?gzaQ5QrZg?!PBg?#uyNby+98)+T@KPv1L$WhtY+&d{ zF~dSUTe|QCTe#Td3Uqu9cZn4ahFoAC{P%1|q(_9h+XZ!SpR{)fup9~nWwNJ-{d&wQ zU_g4;NVA&NSRJ*X^}MtQ_~N(L?B+p*B2{HTQ=aaFQ~(QDul9$RWH{a`+#m=EoMx%B zgf*af7qmpT?J8547JREi2QnQ?qG z_0al7$G4PBIzx8OLS)rc)n&IOFk2xpBhaw)Y?MhI@DidCLRCZk%H3#VGk>HXuyn{D z0@02`E2;FGVslt4PYhX0F~tr5`h&IIEBI~lE zj1mhL8;BtVTs{E|7imClue`Aj2@fQHGOdBt0j|Wx;^wB#&|6O0@5({?0E&UqLld~)q@?4&uv<)Z`}j_d@#{- zsKs_|{|ZJq_gE9tszc*x>4XgC%qn=V%58i+fv+_8<>47@8neBc!dtxNRt85qiiIRx z=%WnUr2N?lHTH!^lNnCcY5DirUzA*M1g(uc7_OEXWz<}VFqy8IbW%Zps1I;n2{}fY z@nz9Pfic^(vY0{f1AeRzo^Oc*e(VomUgI0Rmpa6r`F#F`d#vy2-Jd2;q@Ljwmen3x z`4C{I*B^}o-@ATTAM_p{T6lG12P(ePyDLYx_^;kUau$)W!;+Yl0%%yyfp`K>nCxr!M}agf@&)ag)Jo6Pw+Z_ zMwnqN>qWe2pYHq&e+My$Xb}84jVGK!fm;i93Anz7!FI;SWjpD5NEYlH7WPoCD1{Y{ zQ8HPW*uX*-mx*Cl?#RritSg{e5?SIDmMKhQVO^6~I;o@Z49%?chJ+E$DJUhRf@Rg2 z_V4^GX!j$4S9+th{L0rF{n}PMgs`J} zpMd@8Gv@*rEy8{a_2-2j3{38&)_gq(F-2PkA>6p~R5^U{%Tr;xjub zya9jOstdDH7=!CUGnAa}(Jmlv*$q=Rev2O|KX}4twtfr`$iplNk+`(!D?;vHA&^)K z(<&YlX*U^Yi-NpK@~SmQ^sQ!Ng@whiQ_?VG3T zykj|1SnBseCD{Mm7Yj@v{)?$d{#cY7nEq`gvc3@PEIr$3z!v5WX+<0`p&lD-~e5LN3 z=X8{CJ}`!qflHI`i2Vply6PiYIoGveKeT(3y~r|oYXdT~&cRirG2LF|P?}~EFZtV2 zpxNtYAE;1dCf>zE&X3qxo`Czl`B#3W`xd%tIkvu+3v~yi$)JFH$;?%3!*kFy4eH=&XlwCuEa&vJ@kEz-89Vms zJa+xWMMZ082~J4^VU8_*Z0t6e^pS=ES&{brUARH89g<003v_uK8?tOo7P-3CceT|b zzilPjrJ(4{9Qn$|F4D^f-5Lkagv~kKXMR;bEn4d-l%{VB5iTr{qXn(G&Gy%Q;`9NF zyJI<$Ph9hM4ynw$KJv;5ulX%7LJ$FrD=nwK-N3t{RD2`hhsK2H@BQ9XBA8#tZL=@sco2v-wO$x7FjFUP6^L+k%I*X3Y`yr;BN>~*Ai zZU#x{HJ2-2>6CQ&x&Bu9!5&7eOA+g)^fx3^H_-_{)q|&f3@-6m%TkIx=$*C`l6W~^ z9DTUqQI{uqPzt%X$uo_~3BBcJuzn@bz38Yq?RfLpqtS}d5I%WXh!%gkOk@YQO=Zvs zh~e`lR!@~Ri49Xbnl5kDYc8h~-<`pP$<8Ubh>$VeJhNl$@O_Y~Uji3X(=VO%pRUZg zHFqc2({{wD~%N9_4vz(?Y*PSfxe0sZGiYs@19=z`uAkiq_P%}wfyU~=e=ce@M zOEcxpmhp(4d(qCtac&Pu>tQ(Fz$zaG>iDdUIFysvwdF!fBgTztT2nohSj)ZK^Euyi zvCtb0(&=HsyFm0zKK-JBVJEhcsLKoA{+n)apVx`5l{fyMBcJ3%b$-*BxC6WJtF{sH zlYoa0wQ}HDh*QETp6Cpj7sKu<+4#;w3^ZkVgT%;0+`c#d?dmqKEXBFIKM8xo=>!-7NDhC?)|vZ7-QeMk=X=m&^#|ToQU+G>J@Q zrNrX#yL3g6FQv96RFd&FuqZPU3s0HXK$7WIMJI%ujN&HC(6)M@=m>R=~BR|Gz>tA8r6l6wun{T;&uD!f(WE%

fvFAj8 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 KpmM9{zy1gC_>H>& literal 0 HcmV?d00001 diff --git a/lib/jackson-core-asl-1.9.12.jar b/lib/jackson-core-asl-1.9.13.jar similarity index 83% rename from lib/jackson-core-asl-1.9.12.jar rename to lib/jackson-core-asl-1.9.13.jar index deb372eb2fad8358ceb1aeba9ef124f5f4bb6df4..bb4fe1da1186505a254611ad5a7c49e9f64a3ee1 100644 GIT binary patch delta 24960 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 diff --git a/lib/jackson-mapper-asl-1.9.12.jar b/lib/jackson-mapper-asl-1.9.13.jar similarity index 88% rename from lib/jackson-mapper-asl-1.9.12.jar rename to lib/jackson-mapper-asl-1.9.13.jar index 849b0e8a3bd1295a66ee6ece5080aadd2ae35e8e..0f2073fc7eaf3ac5ffd02928cf9272b558e42e81 100644 GIT binary patch delta 35130 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

Y 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 P$UA07+dn#@Qmp<9@toB# delta 35399 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 From 0d3f336cb0a7b287ab796025da8cb70a3643869b Mon Sep 17 00:00:00 2001 From: Ibrahim Bolarinwa <78026187+Ibby-B@users.noreply.github.com> Date: Sun, 27 Jun 2021 17:58:16 +0100 Subject: [PATCH 02/21] remove double quotes to allow compatibility with MySQL --- endpoints/kettle/job_install.kjb | 490 ++++++++++++++++++++++++++----- 1 file changed, 409 insertions(+), 81 deletions(-) diff --git a/endpoints/kettle/job_install.kjb b/endpoints/kettle/job_install.kjb index 636f868..c193c22 100644 --- a/endpoints/kettle/job_install.kjb +++ b/endpoints/kettle/job_install.kjb @@ -1,16 +1,16 @@ job_install - - - - 0 - / + + + + 0 + / - - 2014/11/04 12:05:15.765 + 2014/11/04 12:05:15.765 - - 2014/11/04 12:05:15.765 - + 2014/11/04 12:05:15.765 + Hibernate @@ -25,43 +25,324 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - + - - - - - - -ID_JOBYID_JOBCHANNEL_IDYCHANNEL_IDJOBNAMEYJOBNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERSTART_JOB_ENTRYNSTART_JOB_ENTRYCLIENTNCLIENT - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEJOBNAMEYTRANSNAMEJOBENTRYNAMEYSTEPNAMELINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSRESULTYRESULTNR_RESULT_ROWSYNR_RESULT_ROWSNR_RESULT_FILESYNR_RESULT_FILESLOG_FIELDNLOG_FIELDCOPY_NRNCOPY_NR - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - N - + + + +
+ + + + + ID_JOB + Y + ID_JOB + + + CHANNEL_ID + Y + CHANNEL_ID + + + JOBNAME + Y + JOBNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + START_JOB_ENTRY + N + START_JOB_ENTRY + + + CLIENT + N + CLIENT + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + JOBNAME + Y + TRANSNAME + + + JOBENTRYNAME + Y + STEPNAME + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + RESULT + Y + RESULT + + + NR_RESULT_ROWS + Y + NR_RESULT_ROWS + + + NR_RESULT_FILES + Y + NR_RESULT_FILES + + + LOG_FIELD + N + LOG_FIELD + + + COPY_NR + N + COPY_NR + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + N + Copy File pentahoObjects.spring.xml to old_pentahoObjects.spring.xml COPY_FILES + Y N N @@ -72,8 +353,10 @@ N - ${Internal.Job.Filename.Directory}/../../../pentahoObjects.spring.xml - ${Internal.Job.Filename.Directory}/../../../old_pentahoObjects.spring.xml + ${Internal.Job.Filename.Directory}/../../../pentahoObjects.spring.xml + + ${Internal.Job.Filename.Directory}/../../../old_pentahoObjects.spring.xml + @@ -82,11 +365,13 @@ 0 379 188 - + + START SPECIAL + Y N N @@ -102,11 +387,13 @@ 0 23 57 - + + DUMMY SPECIAL + N Y N @@ -122,14 +409,16 @@ 0 1596 58 - + + Execute replace bean TRANS + filename - ${Internal.Job.Filename.Directory}/install/replaceBean.ktr + ${Internal.Job.Filename.Directory}/install/replaceBean.ktr N N @@ -149,21 +438,27 @@ N N N - Y - N + + N + + Y + + N Y 0 535 60 - + + Checks if file old_pentahoObjects.spring.xml already exist FILES_EXIST + - ${Internal.Job.Filename.Directory}/../../../old_pentahoObjects.spring.xml + ${Internal.Job.Filename.Directory}/../../../old_pentahoObjects.spring.xml N @@ -171,11 +466,13 @@ 0 284 60 - + + - Table pro_audit exists? + Table pro_audit exists? TABLE_EXISTS + PRO_AUDIT Hibernate @@ -184,14 +481,16 @@ 0 666 59 - + + Execute createProAudirTable TRANS + filename - ${Internal.Job.Filename.Directory}/install/createProAuditTable.ktr + ${Internal.Job.Filename.Directory}/install/createProAuditTable.ktr N N @@ -211,18 +510,24 @@ N N N - Y - N + + N + + Y + + N Y 0 789 190 - + + - Table pentaho_ce_audit exists? + Table pentaho_ce_audit exists? TABLE_EXISTS - "PENTAHO_CE_AUDIT" + + PENTAHO_CE_AUDIT Hibernate N @@ -230,14 +535,16 @@ 0 899 59 - + + Execute createPentahoCEAuditTable TRANS + filename - ${Internal.Job.Filename.Directory}/install/createPentahoCEAuditTable.ktr + ${Internal.Job.Filename.Directory}/install/createPentahoCEAuditTable.ktr N N @@ -257,27 +564,35 @@ N N N - Y - N + + N + + Y + + N Y 0 1107 198 - + + OUTPUT SUCCESS + N Y 0 1720 57 - + + Wait for DELAY + 1 0 N @@ -285,12 +600,14 @@ 0 96 60 - + + Table pentaho_ce_audit_metadata TABLE_EXISTS - "PENTAHO_CE_AUDIT_METADATA" + + PENTAHO_CE_AUDIT_METADATA Hibernate N @@ -298,14 +615,16 @@ 0 1277 58 - + + Execute createPentahoCEAuditMetadataTable TRANS + filename - ${Internal.Job.Filename.Directory}/install/createPentahoCEAuditMetadataTable.ktr + ${Internal.Job.Filename.Directory}/install/createPentahoCEAuditMetadataTable.ktr N N @@ -325,18 +644,24 @@ N N N - Y - N + + N + + Y + + N Y 0 1430 189 - + + Drop table pentaho_ce_audit SQL - DROP TABLE "PENTAHO_CE_AUDIT"; + + DROP TABLE PENTAHO_CE_AUDIT; F F @@ -347,12 +672,14 @@ 0 1100 59 - + + Drop table metadata SQL - DROP TABLE "PENTAHO_CE_AUDIT_METADATA"; + + DROP TABLE PENTAHO_CE_AUDIT_METADATA; F F @@ -363,7 +690,8 @@ 0 1431 59 - + + @@ -395,7 +723,7 @@ Execute replace bean - Table pro_audit exists? + Table pro_audit exists? 0 0 Y @@ -403,7 +731,7 @@ N - Table pro_audit exists? + Table pro_audit exists? Execute createProAudirTable 0 0 @@ -412,8 +740,8 @@ N - Table pro_audit exists? - Table pentaho_ce_audit exists? + Table pro_audit exists? + Table pentaho_ce_audit exists? 0 0 Y @@ -422,7 +750,7 @@ Execute createProAudirTable - Table pentaho_ce_audit exists? + Table pentaho_ce_audit exists? 0 0 Y @@ -430,7 +758,7 @@ N - Table pentaho_ce_audit exists? + Table pentaho_ce_audit exists? Execute createPentahoCEAuditTable 0 0 @@ -493,7 +821,7 @@ N - Table pentaho_ce_audit exists? + Table pentaho_ce_audit exists? Drop table pentaho_ce_audit 0 0 @@ -531,5 +859,5 @@ - + From ebcaf3a2e4cb32c913651c721b688fcaad2f7385 Mon Sep 17 00:00:00 2001 From: Ibrahim Bolarinwa <78026187+Ibby-B@users.noreply.github.com> Date: Sun, 27 Jun 2021 18:29:49 +0100 Subject: [PATCH 03/21] Pentaho 9.1 compatibility --- ivy.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ivy.xml b/ivy.xml index 6e24ed3..4a29278 100644 --- a/ivy.xml +++ b/ivy.xml @@ -24,7 +24,7 @@ rev="${dependency.cpk.revision}" transitive="false" changing="true" conf='default->default'/> - + From b5232b50f9c02b7337b39b6f6970840fef082de7 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Sun, 27 Jun 2021 19:30:02 +0100 Subject: [PATCH 04/21] Pentaho 9.1 compatibility & MySQL --- endpoints/kettle/job_verify_installation.kjb | 400 +- endpoints/kettle/transf_refresh.ktr | 3481 ++++++++++++------ 2 files changed, 2750 insertions(+), 1131 deletions(-) diff --git a/endpoints/kettle/job_verify_installation.kjb b/endpoints/kettle/job_verify_installation.kjb index 93fdc98..fddcbb9 100644 --- a/endpoints/kettle/job_verify_installation.kjb +++ b/endpoints/kettle/job_verify_installation.kjb @@ -1,16 +1,16 @@ job_verify_installation - - - - 0 - / + + + + 0 + / - - 2014/11/04 12:05:15.765 + 2014/11/04 12:05:15.765 - - 2014/11/04 12:05:15.765 - + 2014/11/04 12:05:15.765 + Hibernate @@ -25,43 +25,324 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - + - - -
- - - -ID_JOBYID_JOBCHANNEL_IDYCHANNEL_IDJOBNAMEYJOBNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERSTART_JOB_ENTRYNSTART_JOB_ENTRYCLIENTNCLIENT - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEJOBNAMEYTRANSNAMEJOBENTRYNAMEYSTEPNAMELINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSRESULTYRESULTNR_RESULT_ROWSYNR_RESULT_ROWSNR_RESULT_FILESYNR_RESULT_FILESLOG_FIELDNLOG_FIELDCOPY_NRNCOPY_NR - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - N - + + + +
+ + + + + ID_JOB + Y + ID_JOB + + + CHANNEL_ID + Y + CHANNEL_ID + + + JOBNAME + Y + JOBNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + START_JOB_ENTRY + N + START_JOB_ENTRY + + + CLIENT + N + CLIENT + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + JOBNAME + Y + TRANSNAME + + + JOBENTRYNAME + Y + STEPNAME + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + RESULT + Y + RESULT + + + NR_RESULT_ROWS + Y + NR_RESULT_ROWS + + + NR_RESULT_FILES + Y + NR_RESULT_FILES + + + LOG_FIELD + N + LOG_FIELD + + + COPY_NR + N + COPY_NR + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + N + START SPECIAL + Y N N @@ -77,11 +358,13 @@ 0 208 121 - + + - Table pro_audit exists? + Table pro_audit exists? TABLE_EXISTS + PRO_AUDIT Hibernate @@ -90,12 +373,14 @@ 0 205 219 - + + - Table pentaho_ce_audit exists? + Table pentaho_ce_audit exists? TABLE_EXISTS - "PENTAHO_CE_AUDIT" + + PENTAHO_CE_AUDIT Hibernate N @@ -103,22 +388,26 @@ 0 201 317 - + + OUTPUT SUCCESS + N Y 0 206 513 - + + Table pentaho_ce_audit_metadata TABLE_EXISTS - "PENTAHO_CE_AUDIT_METADATA" + + PENTAHO_CE_AUDIT_METADATA Hibernate N @@ -126,23 +415,26 @@ 0 206 415 - + + Abort job ABORT + N Y 0 450 305 - + + - Table pro_audit exists? - Table pentaho_ce_audit exists? + Table pro_audit exists? + Table pentaho_ce_audit exists? 0 0 Y @@ -151,7 +443,7 @@ START - Table pro_audit exists? + Table pro_audit exists? 0 0 Y @@ -159,7 +451,7 @@ Y - Table pentaho_ce_audit exists? + Table pentaho_ce_audit exists? Table pentaho_ce_audit_metadata 0 0 @@ -177,7 +469,7 @@ N - Table pentaho_ce_audit exists? + Table pentaho_ce_audit exists? Abort job 0 0 @@ -195,7 +487,7 @@ N - Table pro_audit exists? + Table pro_audit exists? Abort job 0 0 @@ -206,5 +498,5 @@ - + diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index c2d21a6..b85b83b 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -7,63 +7,424 @@ Normal 0 - / + / - - PENTAHO_HOST - - - - - PENTAHO_PASSWORD - - - - - PENTAHO_PORT - - - - - PENTAHO_ROLES - - - - - PENTAHO_USER - - - + + PENTAHO_HOST + + + + + PENTAHO_PASSWORD + + + + + PENTAHO_PORT + + + + + PENTAHO_ROLES + + + + + PENTAHO_USER + + + - - -
- - - -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT - - -
- - -ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + @@ -91,14 +452,31 @@ - - - 2014/11/04 12:19:03.529 - - - 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N - ======================================================================================== Input logins from pro_audit table =========================================================================================== + ======================================================================================== +Input logins from pro_audit table + + + + + + + + + + + + + +=========================================================================================== 58 92 739 @@ -119,7 +497,25 @@ Y - ======================================================================================= Capture logins from pro_audit table ======================================================================================= + ======================================================================================= +Capture logins from pro_audit table + + + + + + + + + + + + + + + + +======================================================================================= 77 376 707 @@ -140,7 +536,53 @@ Y - ================================================================= Transformation for table pentaho_ce_audit + ================================================================= +Transformation for table pentaho_ce_audit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1096 84 531 @@ -161,7 +603,40 @@ Y - ============================================================================================================ Contribution by Brandon Jackson usbrandon@gmail.com November 15, 2014 This part of ETL add more fields about Time. * TIME VARCHAR(8) * HOURS24 INT * HOURS12 INT * AM_PM VARCHAR(2) Example: 11:59:58 11 11 AM 12:00:01 12 0 PM + ============================================================================================================ +Contribution by Brandon Jackson +usbrandon@gmail.com +November 15, 2014 + +This part of ETL add more fields about Time. + * TIME VARCHAR(8) + * HOURS24 INT + * HOURS12 INT + * AM_PM VARCHAR(2) + +Example: + +11:59:58 11 11 AM +12:00:01 12 0 PM + + + + + + + + + + + + + + + + + + + 1649 262 922 @@ -195,62 +670,280 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - Extract PeriodValue Mapper - MonthY - Value Mapper - MonthValue Mapper - Day WeekY - Value Mapper - Day WeekValue Mapper - plugin typesY - Value Mapper - plugin typesValue Mapper - typeY - Value Mapper - typeIf field value is nullY - Block this step until steps finishAdd constantsY - Add constantsGet VariablesY - TIN pro_audit Table 2Add constants 2Y - DBLK session_endFilter rowsY - Add constants 2DBLK session_endY - Filter rowsClear records Y - Filter rowsRows discartedY - TIN pro_audit Table 2 2Add constants 2 2Y - DBLK instance_endSwitch / Case OBJ_TYPEY - Add constants 2 2DBLK instance_endY - Clear records input Login OKAYY - Switch / Case JOB_IDinput instances OKAY 2Y - Switch / Case JOB_IDRows discarted 2Y - Switch / Case OBJ_TYPESwitch / Case JOB_IDY - Switch / Case OBJ_TYPERows discarted 2Y - input Login OKAYBRIDGEY - input instances OKAY 2BRIDGEY - BRIDGEBlock this step until steps finishY - BRIDGETruncate pentaho_ce_audit tableY - Get VariablesUser Defined Java Expression 2Y - User Defined Java Expression 2Split field to rowsY - Split field to rowsExtract PeriodY - If field value is nullSelect rows for pentaho_ce_audit tableY - Select rows for pentaho_ce_audit tableNot specified default valuesY - Caclulate TimeRename and set typesY - Calculate hours12Cartesian ProductY - Cartesian ProductCaclulate TimeY - Generate HoursHours SequenceY - Generate MinutesMinutes SequenceY - Generate SecondsSeconds SequenceY - Hours SequenceCalculate hours12Y - Minutes SequenceCartesian ProductY - Order FieldsSort rowsY - Remove JunkOrder FieldsY - Rename and set typesRemove JunkY - Seconds SequenceCartesian ProductY - Not specified default valueslookup with time fieldsY - Sort rowslookup with time fieldsY - lookup with time fieldsTable output PENTAHO_CE_AUDITY + + Extract Period + Value Mapper - Month + Y + + + Value Mapper - Month + Value Mapper - Day Week + Y + + + Value Mapper - Day Week + Value Mapper - plugin types + Y + + + Value Mapper - plugin types + Value Mapper - type + Y + + + Value Mapper - type + If field value is null + Y + + + Block this step until steps finish + Add constants + Y + + + Add constants + Get Variables + Y + + + TIN pro_audit Table 2 + Add constants 2 + Y + + + DBLK session_end + Filter rows + Y + + + Add constants 2 + DBLK session_end + Y + + + Filter rows + Clear records + Y + + + Filter rows + Rows discarted + Y + + + TIN pro_audit Table 2 2 + Add constants 2 2 + Y + + + DBLK instance_end + Switch / Case OBJ_TYPE + Y + + + Add constants 2 2 + DBLK instance_end + Y + + + Clear records + input Login OKAY + Y + + + Switch / Case JOB_ID + input instances OKAY 2 + Y + + + Switch / Case JOB_ID + Rows discarted 2 + Y + + + Switch / Case OBJ_TYPE + Switch / Case JOB_ID + Y + + + Switch / Case OBJ_TYPE + Rows discarted 2 + Y + + + input Login OKAY + BRIDGE + Y + + + input instances OKAY 2 + BRIDGE + Y + + + BRIDGE + Block this step until steps finish + Y + + + BRIDGE + Truncate pentaho_ce_audit table + Y + + + Get Variables + User Defined Java Expression 2 + Y + + + User Defined Java Expression 2 + Split field to rows + Y + + + Split field to rows + Extract Period + Y + + + If field value is null + Select rows for pentaho_ce_audit table + Y + + + Select rows for pentaho_ce_audit table + Not specified default values + Y + + + Caclulate Time + Rename and set types + Y + + + Calculate hours12 + Cartesian Product + Y + + + Cartesian Product + Caclulate Time + Y + + + Generate Hours + Hours Sequence + Y + + + Generate Minutes + Minutes Sequence + Y + + + Generate Seconds + Seconds Sequence + Y + + + Hours Sequence + Calculate hours12 + Y + + + Minutes Sequence + Cartesian Product + Y + + + Order Fields + Sort rows + Y + + + Remove Junk + Order Fields + Y + + + Rename and set types + Remove Junk + Y + + + Seconds Sequence + Cartesian Product + Y + + + Not specified default values + lookup with time fields + Y + + + Sort rows + lookup with time fields + Y + + + Get database type + DB type check + Y + + + lookup with time fields + Get database type + Y + + + DB type check + Table output PENTAHO_CE_AUDIT + Y + + + DB type check + Table output PENTAHO_CE_AUDIT (MySQL) + Y + Add constants @@ -259,10 +952,10 @@ Y 1 - - none - - + + none + + accept @@ -271,7 +964,7 @@ - application/json + application/json -1 -1 N @@ -283,7 +976,7 @@ - application/json + application/json -1 -1 N @@ -295,7 +988,7 @@ - /pentaho/api/repo/files + /pentaho/api/repo/files -1 -1 N @@ -325,14 +1018,20 @@ N - - + + + + + + + + + 1284 259 Y - - - + + Add constants 2 Constant @@ -340,10 +1039,10 @@ Y 1 - - none - - + + none + + session_end @@ -358,14 +1057,20 @@ N - - + + + + + + + + + 226 175 Y - - - + + Add constants 2 2 Constant @@ -373,10 +1078,10 @@ Y 1 - - none - - + + none + + instance_end @@ -391,14 +1096,20 @@ N - - + + + + + + + + + 243 470 Y - - - + + BRIDGE SelectValues @@ -406,47 +1117,54 @@ N 1 - - none - - - job_id + + none + + + + + job_id plugin - -2 - -2 - obj_id + + + obj_id file - -2 - -2 - obj_id + + + obj_id directory - -2 - -2 - actor + + + actor user - -2 - -2 - message_type + + + message_type type - -2 - -2 - audit_time + + + audit_time data - -2 - -2 - duration - - -2 - -2 - N - - + + + duration + + N + + + + + + + + + + 951 351 Y - - - + + Block this step until steps finish BlockUntilStepsFinish @@ -454,24 +1172,30 @@ Y 1 - - none - - + + none + + Truncate pentaho_ce_audit table 0 - - - - + + + + + + + + + + + 1284 183 Y - - - + + Caclulate Time ScriptValueMod @@ -479,35 +1203,66 @@ Y 1 - - none - - + + none + + Y 9 - 0 + + + 0 Script 1 - //Script here var time = "" + (hours24.getInteger()<10?"0":"") + hours24.getInteger() + ":" + (minutes.getInteger()<10?"0":"") + minutes.getInteger() + ":" + (seconds.getInteger()<10?"0":"") + seconds.getInteger() ; var time_key = (hours24.getInteger()<10?"0":"") + hours24.getInteger() + (minutes.getInteger()<10?"0":"") + minutes.getInteger() + (seconds.getInteger()<10?"0":"") + seconds.getInteger() ; - time + //Script here +var time = "" + + (hours24.getInteger()<10?"0":"") + + hours24.getInteger() + ":" + + (minutes.getInteger()<10?"0":"") + + minutes.getInteger() + ":" + + (seconds.getInteger()<10?"0":"") + + seconds.getInteger() +; +var time_key = (hours24.getInteger()<10?"0":"") + + hours24.getInteger() + + (minutes.getInteger()<10?"0":"") + + minutes.getInteger() + + (seconds.getInteger()<10?"0":"") + + seconds.getInteger() +; + + + + + time time String 10 -1 N - time_key + + + time_key time_key Integer -1 -1 N - - + + + + + + + + + + + 2088 616 Y - - - + + Calculate hours12 ScriptValueMod @@ -515,35 +1270,53 @@ Y 1 - - none - - + + none + + Y 9 - 0 + + + 0 Script 1 - //Script here var hours12 = hours24.getInteger() % 12; var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - hours12 + //Script here +var hours12 = hours24.getInteger() % 12; +var am_pm = (hours24 >= 12 ? 'PM' : 'AM') + + + + + hours12 hours12 Integer -1 -1 N - am_pm + + + am_pm am_pm String -1 -1 N - - + + + + + + + + + + + 1960 520 Y - - - + + Cartesian Product JoinRows @@ -551,30 +1324,36 @@ Y 1 - - none - - - %%java.io.tmpdir%% - out - 500 -
+ + none + + + %%java.io.tmpdir%% + out + 500 +
- - N - - = - - + + N + + = + + - - + + + + + + + + + 1960 616 Y - - - + + Clear records SetValueConstant @@ -582,27 +1361,33 @@ Y 1 - - none - - - N + + none + + + N obj_id Y - - - - + + + + + + + + + + + 502 178 Y - - - + + DBLK instance_end DBLookup @@ -610,10 +1395,10 @@ Y 1 - - none - - + + none + + Hibernate N N @@ -627,13 +1412,13 @@ message_name MESSAGE_NAME - = + = instance_end MESSAGE_TYPE - = + = @@ -691,14 +1476,20 @@ BigNumber - - + + + + + + + + + 346 469 Y - - - + + DBLK session_end DBLookup @@ -706,10 +1497,10 @@ Y 1 - - none - - + + none + + Hibernate N N @@ -723,13 +1514,13 @@ inst_id INST_ID - = + = session_end MESSAGE_TYPE - = + = @@ -787,14 +1578,20 @@ BigNumber - - + + + + + + + + + 327 176 Y - - - + + Extract Period Calculator @@ -802,116 +1599,130 @@ Y 1 - - none - - - year -YEAR_OF_DATE -data - - -Integer --1 --1 -N - - - - - - month -MONTH_OF_DATE -data - - -Integer --1 --1 -N - - - - - - day -DAY_OF_MONTH -data - - -Integer --1 --1 -N - - - - - - day_week -DAY_OF_WEEK -data - - -Integer --1 --1 -N - - - - - - hour -HOUR_OF_DAY -data - - -Integer --1 --1 -N - - - - - - minutes -MINUTE_OF_HOUR -data - - -Integer --1 --1 -N - - - - - - seconds -SECOND_OF_MINUTE -data - - -Integer --1 --1 -N - - - - - - - + + none + + + N + + year + YEAR_OF_DATE + data + + + Integer + -1 + -1 + N + + + + + + + month + MONTH_OF_DATE + data + + + Integer + -1 + -1 + N + + + + + + + day + DAY_OF_MONTH + data + + + Integer + -1 + -1 + N + + + + + + + day_week + DAY_OF_WEEK + data + + + Integer + -1 + -1 + N + + + + + + + hour + HOUR_OF_DAY + data + + + Integer + -1 + -1 + N + + + + + + + minutes + MINUTE_OF_HOUR + data + + + Integer + -1 + -1 + N + + + + + + + seconds + SECOND_OF_MINUTE + data + + + Integer + -1 + -1 + N + + + + + + + + + + + + + + 1279 668 Y - - - + + Filter rows FilterRows @@ -919,28 +1730,43 @@ Y 1 - - none - - -Clear records -Rows discarted + + none + + + Clear records + Rows discarted - - N - obj_type - IS NOT NULL - - constantStringnull-1-1N + + N + obj_type + IS NOT NULL + + + constant + String + null + -1 + -1 + N + + + - - + + + + + + + + + 411 179 Y - - - + + Generate Hours RowGenerator @@ -948,10 +1774,10 @@ Y 1 - - none - - + + none + + hours24_row @@ -971,14 +1797,20 @@ - - + + + + + + + + + 1736 520 Y - - - + + Generate Minutes RowGenerator @@ -986,10 +1818,10 @@ Y 1 - - none - - + + none + + minutes_row @@ -1009,14 +1841,20 @@ - - + + + + + + + + + 1736 616 Y - - - + + Generate Seconds RowGenerator @@ -1024,10 +1862,10 @@ Y 1 - - none - - + + none + + seconds_row @@ -1047,14 +1885,20 @@ - - + + + + + + + + + 1736 712 Y - - - + + Get Variables GetVariable @@ -1062,14 +1906,14 @@ Y 1 - - none - - + + none + + PENTAHO_ROLES - ${PENTAHO_ROLES} + ${PENTAHO_ROLES} String @@ -1080,14 +1924,20 @@ none - - + + + + + + + + + 1285 350 Y - - - + + Hours Sequence Sequence @@ -1095,28 +1945,34 @@ Y 1 - - none - - - hours24 - N - - - SEQ_ - Y - hours24 - 0 - 1 - 999999999 - - + + none + + + hours24 + N + + + SEQ_ + Y + hours24 + 0 + 1 + 999999999 + + + + + + + + + 1864 520 Y - - - + + If field value is null IfNull @@ -1124,15 +1980,15 @@ Y 1 - - none - - - - - Y - N - N + + none + + + + + Y + N + N @@ -1141,16 +1997,22 @@ Not specified N - - - - + + + + + + + + + + + 1516 368 Y - - - + + Minutes Sequence Sequence @@ -1158,28 +2020,34 @@ Y 1 - - none - - - minutes - N - - - SEQ_ - Y - minutes - 0 - 1 - 999999999 - - + + none + + + minutes + N + + + SEQ_ + Y + minutes + 0 + 1 + 999999999 + + + + + + + + + 1864 616 Y - - - + + Not specified default values IfNull @@ -1187,33 +2055,39 @@ Y 1 - - none - - - - - N - Y - N + + none + + + + + N + Y + N String Not specified N - - + + - - + + + + + + + + + 1512 190 Y - - - + + Order Fields SelectValues @@ -1221,47 +2095,48 @@ Y 1 - - none - - - TIME_SK - - -2 - -2 - TIME - - -2 - -2 - HOURS24 - - -2 - -2 - HOURS12 - - -2 - -2 - AM_PM - - -2 - -2 - MINUTES - - -2 - -2 - SECONDS - - -2 - -2 - N - - + + none + + + + + TIME_SK + + + TIME + + + HOURS24 + + + HOURS12 + + + AM_PM + + + MINUTES + + + SECONDS + + N + + + + + + + + + + 2376 616 Y - - - + + Remove Junk SelectValues @@ -1269,22 +2144,36 @@ Y 1 - - none - - - N - HOURS24_ROW - MINUTES_ROW - SECONDS_ROW - - + + none + + + + N + + HOURS24_ROW + + + MINUTES_ROW + + + SECONDS_ROW + + + + + + + + + + + 2280 616 Y - - - + + Rename and set types SelectValues @@ -1292,12 +2181,14 @@ Y 1 - - none - - - N - time_key + + none + + + + N + + time_key TIME_SK Integer -2 @@ -1312,7 +2203,9 @@ - time + + + time TIME String 8 @@ -1327,7 +2220,9 @@ - seconds_row + + + seconds_row SECONDS_ROW Integer -2 @@ -1342,7 +2237,9 @@ - seconds + + + seconds SECONDS Integer -2 @@ -1357,7 +2254,9 @@ - minutes_row + + + minutes_row MINUTES_ROW Integer -2 @@ -1372,7 +2271,9 @@ - minutes + + + minutes MINUTES Integer -2 @@ -1387,7 +2288,9 @@ - hours24_row + + + hours24_row HOURS24_ROW Integer -2 @@ -1402,7 +2305,9 @@ - hours24 + + + hours24 HOURS24 Integer -2 @@ -1417,7 +2322,9 @@ - hours12 + + + hours12 HOURS12 Integer -2 @@ -1432,7 +2339,9 @@ - am_pm + + + am_pm AM_PM String 2 @@ -1447,14 +2356,22 @@ - - + + + + + + + + + + + 2184 616 Y - - - + + Rows discarted Dummy @@ -1462,18 +2379,24 @@ Y 1 - - none - - - - + + none + + + + + + + + + + + 469 259 Y - - - + + Rows discarted 2 Dummy @@ -1481,18 +2404,24 @@ Y 1 - - none - - - - + + none + + + + + + + + + + + 543 606 Y - - - + + Seconds Sequence Sequence @@ -1500,28 +2429,34 @@ Y 1 - - none - - - seconds - N - - - SEQ_ - Y - seconds - 0 - 1 - 999999999 - - + + none + + + seconds + N + + + SEQ_ + Y + seconds + 0 + 1 + 999999999 + + + + + + + + + 1864 712 Y - - - + + Select rows for pentaho_ce_audit table SelectValues @@ -1529,87 +2464,78 @@ Y 1 - - none - - - data - - -2 - -2 - plugin - - -2 - -2 - user - - -2 - -2 - directory - - -2 - -2 - duration - - -2 - -2 - type - - -2 - -2 - role - - -2 - -2 - year - - -2 - -2 - month - - -2 - -2 - day - - -2 - -2 - day_week - - -2 - -2 - hour - - -2 - -2 - minutes - - -2 - -2 - seconds - - -2 - -2 - month_desc - - -2 - -2 - day_week_desc - - -2 - -2 - file - - -2 - -2 - N - - + + none + + + + + data + + + plugin + + + user + + + directory + + + duration + + + type + + + role + + + year + + + month + + + day + + + day_week + + + hour + + + minutes + + + seconds + + + month_desc + + + day_week_desc + + + file + + N + + + + + + + + + + 1513 271 Y - - - + + Sort rows SortRows @@ -1617,33 +2543,41 @@ Y 1 - - none - - - %%java.io.tmpdir%% - out - 1000000 - - N - - N + + none + + + %%java.io.tmpdir%% + out + 1000000 + + N + + N TIME_SK Y N + N + 2 N - - + + + + + + + + + 2468 612 Y - - - + + Split field to rows SplitFieldToRows3 @@ -1651,95 +2585,135 @@ Y 1 - - none - - - ROLES - , - ROLE - N - - Y - N - - + + none + + + ROLES + , + ROLE + N + + Y + N + + + + + + + + + 1280 525 Y - - - + + - Switch / Case JOB_ID + Switch / Case JOB_ID SwitchCase Y 1 - - none - - -job_id -N -String - - - -Rows discarted 2 -cda -input instances OKAY 2 -pentaho-cdf-dd -input instances OKAY 2 -pentaho-cdf -input instances OKAY 2 -org.pentaho.platform.web.http.api.resources.XactionUtil -input instances OKAY 2 -org.pentaho.reporting.platform.plugin.ExecuteReportContentHandler -input instances OKAY 2 - - + + none + + + job_id + N + String + + + + Rows discarted 2 + + + cda + input instances OKAY 2 + + + pentaho-cdf-dd + input instances OKAY 2 + + + pentaho-cdf + input instances OKAY 2 + + + org.pentaho.platform.web.http.api.resources.XactionUtil + input instances OKAY 2 + + + org.pentaho.reporting.platform.plugin.ExecuteReportContentHandler + input instances OKAY 2 + + + + + + + + + + + 590 470 Y - - - + + - Switch / Case OBJ_TYPE + Switch / Case OBJ_TYPE SwitchCase Y 1 - - none - - -obj_type -N -String - - - -Rows discarted 2 -org.pentaho.platform.engine.services.solution.SolutionEngine -Switch / Case JOB_ID -pt.webdetails.cdf.dd.api.RenderApi -Switch / Case JOB_ID -org.pentaho.reporting.platform.plugin.ReportContentGenerator -Switch / Case JOB_ID -org.pentaho.cdf.CdfContentGenerator -Switch / Case JOB_ID - - + + none + + + obj_type + N + String + + + + Rows discarted 2 + + + org.pentaho.platform.engine.services.solution.SolutionEngine + Switch / Case JOB_ID + + + pt.webdetails.cdf.dd.api.RenderApi + Switch / Case JOB_ID + + + org.pentaho.reporting.platform.plugin.ReportContentGenerator + Switch / Case JOB_ID + + + org.pentaho.cdf.CdfContentGenerator + Switch / Case JOB_ID + + + + + + + + + + + 468 470 Y - - - + + TIN pro_audit Table 2 TableInput @@ -1747,169 +2721,198 @@ N 1 - - none - - + + none + + Hibernate - SELECT INST_ID as "inst_id" FROM pro_audit WHERE MESSAGE_TYPE = 'session_start' AND OBJ_TYPE='org.pentaho.platform.web.http.session.PentahoHttpSession' GROUP BY INST_ID + SELECT INST_ID as "inst_id" FROM pro_audit +WHERE + MESSAGE_TYPE = 'session_start' + AND OBJ_TYPE='org.pentaho.platform.web.http.session.PentahoHttpSession' +GROUP BY INST_ID 0 N N N - - + N + + + + + + + + + + 105 175 Y - - - - - TIN pro_audit Table 2 2 - TableInput - - N - - 1 - - none - - - Hibernate - SELECT INST_ID as "inst_id", MESSAGE_NAME as "message_name" FROM pro_audit WHERE MESSAGE_TYPE = 'instance_start' GROUP BY INST_ID, MESSAGE_NAME - 0 - - N - N - N - - - 124 - 471 - Y - - - + + - Table output PENTAHO_CE_AUDIT - TableOutput - - Y - - 1 - - none - - - Hibernate - -
"PENTAHO_CE_AUDIT"
- 1000 - N - N - Y - Y - N - - N - Y - N - - Y - N - - - - "DATA" - data - - - "PLUGIN" - plugin - - - "USER" - user - - - "DIRECTORY" - directory - - - "DURATION" - duration - - - "TYPE" - type - - - "ROLE" - role - - - "YEAR" - year - - - "MONTH" - month - - - "DAY" - day - - - "DAY_WEEK" - day_week - - - "AM_PM" - AM_PM - - - "HOURS24" - HOURS24 - - - "HOURS12" - HOURS12 - - - "MINUTES" - minutes - - - "SECONDS" - seconds - - - "TIME" - TIME - - - "MONTH_DESC" - month_desc - - - "DAY_WEEK_DESC" - day_week_desc - - - "FILE" - file - + TIN pro_audit Table 2 2 + TableInput + + N + + 1 + + none + + + Hibernate + SELECT INST_ID as "inst_id", MESSAGE_NAME as "message_name" +FROM pro_audit +WHERE MESSAGE_TYPE = 'instance_start' +GROUP BY INST_ID, MESSAGE_NAME + 0 + + N + N + N + N + + + + + + + + + + + 124 + 471 + Y + + + + Table output PENTAHO_CE_AUDIT + TableOutput + + Y + + 1 + + none + + + Hibernate + + "PENTAHO_CE_AUDIT"
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + "DATA" + data + + + "PLUGIN" + plugin + + + "USER" + user + + + "DIRECTORY" + directory + + + "DURATION" + duration + + + "TYPE" + type + + + "ROLE" + role + + + "YEAR" + year + + + "MONTH" + month + + + "DAY" + day + + + "DAY_WEEK" + day_week + + + "AM_PM" + AM_PM + + + "HOURS24" + HOURS24 + + + "HOURS12" + HOURS12 + + + "MINUTES" + minutes + + + "SECONDS" + seconds + + + "TIME" + TIME + + + "MONTH_DESC" + month_desc + + + "DAY_WEEK_DESC" + day_week_desc + + + "FILE" + file + - - - 2637 - 190 + + + + + + + + + + 2864 + 96 Y - -
- + + Truncate pentaho_ce_audit table ExecSQL @@ -1917,16 +2920,16 @@ Y 1 - - none - - + + none + + Hibernate N N N N - DELETE FROM "PENTAHO_CE_AUDIT" + DELETE FROM "PENTAHO_CE_AUDIT" N @@ -1934,14 +2937,20 @@ - - + + + + + + + + + 950 221 Y - - - + + User Defined Java Expression 2 Janino @@ -1949,25 +2958,32 @@ Y 1 - - none - - - ROLES -PENTAHO_ROLES.replace("[", "").replace("]", "").replace("\"", "") -String --1 --1 - - - - + + none + + + + ROLES + PENTAHO_ROLES.replace("[", "").replace("]", "").replace("\"", "") + String + -1 + -1 + + + + + + + + + + + 1284 437 Y - - - + + Value Mapper - Day Week ValueMapper @@ -1975,10 +2991,10 @@ Y 1 - - none - - + + none + + day_week day_week_desc @@ -2012,14 +3028,20 @@ Saturday
- - + + + + + + + + + 1517 667 Y - - - + + Value Mapper - Month ValueMapper @@ -2027,10 +3049,10 @@ Y 1 - - none - - + + none + + month month_desc @@ -2084,14 +3106,20 @@ December - - + + + + + + + + + 1386 668 Y - - - + + Value Mapper - plugin types ValueMapper @@ -2099,10 +3127,10 @@ Y 1 - - none - - + + none + + plugin @@ -2128,14 +3156,20 @@ Reporter - - + + + + + + + + + 1517 569 Y - - - + + Value Mapper - type ValueMapper @@ -2143,10 +3177,10 @@ Y 1 - - none - - + + none + + type @@ -2164,14 +3198,20 @@ xAction - - + + + + + + + + + 1515 459 Y - - - + + input Login OKAY SelectValues @@ -2179,51 +3219,51 @@ Y 1 - - none - - - inst_id - - -2 - -2 - job_id - - -2 - -2 - obj_id - - -2 - -2 - obj_type - - -2 - -2 - actor - - -2 - -2 - message_type - - -2 - -2 - audit_time - - -2 - -2 - duration - - -2 - -2 - N - - + + none + + + + + inst_id + + + job_id + + + obj_id + + + obj_type + + + actor + + + message_type + + + audit_time + + + duration + + N + + + + + + + + + + 593 178 Y - - - + + input instances OKAY 2 SelectValues @@ -2231,51 +3271,51 @@ Y 1 - - none - - - inst_id - - -2 - -2 - job_id - - -2 - -2 - obj_id - - -2 - -2 - obj_type - - -2 - -2 - actor - - -2 - -2 - message_type - - -2 - -2 - audit_time - - -2 - -2 - duration - - -2 - -2 - N - - + + none + + + + + inst_id + + + job_id + + + obj_id + + + obj_type + + + actor + + + message_type + + + audit_time + + + duration + + N + + + + + + + + + + 716 469 Y - - - + + lookup with time fields StreamLookup @@ -2283,10 +3323,10 @@ Y 1 - - none - - + + none + + Sort rows N Y @@ -2330,18 +3370,305 @@ String - - + + + + + + + + + 2468 190 Y - - + + + + DB type check + SwitchCase + + Y + + 1 + + none + + + database_type + N + String + + + + Table output PENTAHO_CE_AUDIT + + + MySQL + Table output PENTAHO_CE_AUDIT (MySQL) + + + + + + + + + + + + 2736 + 192 + Y + + + + Get database type + UserDefinedJavaClass + + Y + + 1 + + none + + + + + TRANSFORM_CLASS + Processor + import java.sql.*; +import org.pentaho.di.core.database.*; + +private DatabaseMeta databaseMeta; +private Database database; + +public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException +{ + Object[] r = getRow(); + if (r == null) { + setOutputDone(); + return false; + } + + if (first) + { + first = false; + } + try { + r = createOutputRow(r, data.outputRowMeta.size()); + int index = getInputRowMeta().size(); + r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); + + putRow(data.outputRowMeta, r); + + } catch(Exception e) { + throw new KettleException(e); + } + + return true; +} + +public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) +{ + if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { + return false; + } + String dbName = getParameter("DBNAME"); + databaseMeta = getTransMeta().findDatabase(dbName); + if (databaseMeta==null) { + logError("A connection with name "+dbName+" could not be found!"); + setErrors(1); + return false; + } + + database = new Database(getTrans(), databaseMeta); + + try { + database.connect(); + } catch(Exception e) { + logError("Connecting to database "+dbName+" failed.", e); + setErrors(1); + return false; + } + + return true; +} + +public void dispose(StepMetaInterface smi, StepDataInterface sdi) +{ + if (database!=null) { + database.disconnect(); + } + + parent.disposeImpl(smi, sdi); +} + + + + + + + + database_type + String + 255 + -1 + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + + 2608 + 192 + Y + + + + Table output PENTAHO_CE_AUDIT (MySQL) + TableOutput + + Y + + 1 + + none + + + Hibernate + + `PENTAHO_CE_AUDIT`
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + + + + `DATA` + data + + + `PLUGIN` + plugin + + + `USER` + user + + + `DIRECTORY` + directory + + + `DURATION` + duration + + + `TYPE` + type + + + `ROLE` + role + + + `YEAR` + year + + + `MONTH` + month + + + `DAY` + day + + + `DAY_WEEK` + day_week + + + `AM_PM` + AM_PM + + + `HOURS24` + HOURS24 + + + `HOURS12` + HOURS12 + + + `MINUTES` + minutes + + + `SECONDS` + seconds + + + `TIME` + TIME + + + `MONTH_DESC` + month_desc + + + `DAY_WEEK_DESC` + day_week_desc + + + `FILE` + file + + + + + + + + + + + + 2880 + 256 + Y + +
- - - N - + + + N + From 9acedbb5b14188c293edc1810a9ac1593ed02508 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Sun, 27 Jun 2021 21:18:18 +0100 Subject: [PATCH 05/21] Pentaho 9.1 Compatibility & MySQL --- endpoints/kettle/transf_refresh.ktr | 722 ++++++++++++++-------------- 1 file changed, 361 insertions(+), 361 deletions(-) diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index b85b83b..5750615 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -1388,6 +1388,44 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') Y + + DB type check + SwitchCase + + Y + + 1 + + none + + + database_type + N + String + + + + Table output PENTAHO_CE_AUDIT + + + MySQL + Table output PENTAHO_CE_AUDIT (MySQL) + + + + + + + + + + + + 2736 + 192 + Y + + DBLK instance_end DBLookup @@ -1938,6 +1976,125 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') Y + + Get database type + UserDefinedJavaClass + + Y + + 1 + + none + + + + + TRANSFORM_CLASS + Processor + import java.sql.*; +import org.pentaho.di.core.database.*; + +private DatabaseMeta databaseMeta; +private Database database; + +public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException +{ + Object[] r = getRow(); + if (r == null) { + setOutputDone(); + return false; + } + + if (first) + { + first = false; + } + + try { + r = createOutputRow(r, data.outputRowMeta.size()); + int index = getInputRowMeta().size(); + r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); + + putRow(data.outputRowMeta, r); + + } catch(Exception e) { + throw new KettleException(e); + } + + return true; +} + +public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) +{ + if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { + return false; + } + String dbName = getParameter("DBNAME"); + databaseMeta = getTransMeta().findDatabase(dbName); + if (databaseMeta==null) { + logError("A connection with name "+dbName+" could not be found!"); + setErrors(1); + return false; + } + + database = new Database(getTrans(), databaseMeta); + + try { + database.connect(); + } catch(Exception e) { + logError("Connecting to database "+dbName+" failed.", e); + setErrors(1); + return false; + } + + return true; +} + +public void dispose(StepMetaInterface smi, StepDataInterface sdi) +{ + if (database!=null) { + database.disconnect(); + } + + parent.disposeImpl(smi, sdi); +} + + + + + + + + database_type + String + 255 + -1 + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + + 2608 + 192 + Y + + Hours Sequence Sequence @@ -2914,8 +3071,8 @@ GROUP BY INST_ID, MESSAGE_NAME - Truncate pentaho_ce_audit table - ExecSQL + Table output PENTAHO_CE_AUDIT (MySQL) + TableOutput Y @@ -2925,88 +3082,212 @@ GROUP BY INST_ID, MESSAGE_NAME Hibernate - N - N - N - N - DELETE FROM "PENTAHO_CE_AUDIT" - N - - - - - - - - - - - - - - - - 950 - 221 - Y - - - - User Defined Java Expression 2 - Janino - - Y - - 1 - - none - - - - ROLES - PENTAHO_ROLES.replace("[", "").replace("]", "").replace("\"", "") - String - -1 - -1 - - - - - - - - - - - - 1284 - 437 - Y - - - - Value Mapper - Day Week - ValueMapper - - Y - - 1 - - none - - - day_week - day_week_desc - + + `PENTAHO_CE_AUDIT`
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + - 1 - Sunday + `DATA` + data - 2 - Monday - + `PLUGIN` + plugin + + + `USER` + user + + + `DIRECTORY` + directory + + + `DURATION` + duration + + + `TYPE` + type + + + `ROLE` + role + + + `YEAR` + year + + + `MONTH` + month + + + `DAY` + day + + + `DAY_WEEK` + day_week + + + `AM_PM` + AM_PM + + + `HOURS24` + HOURS24 + + + `HOURS12` + HOURS12 + + + `MINUTES` + minutes + + + `SECONDS` + seconds + + + `TIME` + TIME + + + `MONTH_DESC` + month_desc + + + `DAY_WEEK_DESC` + day_week_desc + + + `FILE` + file + + + + + + + + + + + + 2880 + 256 + Y + +
+ + Truncate pentaho_ce_audit table + ExecSQL + + Y + + 1 + + none + + + Hibernate + N + N + N + N + DELETE FROM PENTAHO_CE_AUDIT + N + + + + + + + + + + + + + + + + 950 + 221 + Y + + + + User Defined Java Expression 2 + Janino + + Y + + 1 + + none + + + + ROLES + PENTAHO_ROLES.replace("[", "").replace("]", "").replace("\"", "") + String + -1 + -1 + + + + + + + + + + + + 1284 + 437 + Y + + + + Value Mapper - Day Week + ValueMapper + + Y + + 1 + + none + + + day_week + day_week_desc + + + + 1 + Sunday + + + 2 + Monday + 3 Tuesday @@ -3384,287 +3665,6 @@ GROUP BY INST_ID, MESSAGE_NAME Y - - DB type check - SwitchCase - - Y - - 1 - - none - - - database_type - N - String - - - - Table output PENTAHO_CE_AUDIT - - - MySQL - Table output PENTAHO_CE_AUDIT (MySQL) - - - - - - - - - - - - 2736 - 192 - Y - - - - Get database type - UserDefinedJavaClass - - Y - - 1 - - none - - - - - TRANSFORM_CLASS - Processor - import java.sql.*; -import org.pentaho.di.core.database.*; - -private DatabaseMeta databaseMeta; -private Database database; - -public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException -{ - Object[] r = getRow(); - if (r == null) { - setOutputDone(); - return false; - } - - if (first) - { - first = false; - } - - try { - r = createOutputRow(r, data.outputRowMeta.size()); - int index = getInputRowMeta().size(); - r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); - - putRow(data.outputRowMeta, r); - - } catch(Exception e) { - throw new KettleException(e); - } - - return true; -} - -public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) -{ - if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { - return false; - } - String dbName = getParameter("DBNAME"); - databaseMeta = getTransMeta().findDatabase(dbName); - if (databaseMeta==null) { - logError("A connection with name "+dbName+" could not be found!"); - setErrors(1); - return false; - } - - database = new Database(getTrans(), databaseMeta); - - try { - database.connect(); - } catch(Exception e) { - logError("Connecting to database "+dbName+" failed.", e); - setErrors(1); - return false; - } - - return true; -} - -public void dispose(StepMetaInterface smi, StepDataInterface sdi) -{ - if (database!=null) { - database.disconnect(); - } - - parent.disposeImpl(smi, sdi); -} - - - - - - - - database_type - String - 255 - -1 - - - N - - - - - DBNAME - Hibernate - The name of the database - - - - - - - - - - - - 2608 - 192 - Y - - - - Table output PENTAHO_CE_AUDIT (MySQL) - TableOutput - - Y - - 1 - - none - - - Hibernate - - `PENTAHO_CE_AUDIT`
- 1000 - N - N - Y - Y - N - - N - Y - N - - Y - N - - - - `DATA` - data - - - `PLUGIN` - plugin - - - `USER` - user - - - `DIRECTORY` - directory - - - `DURATION` - duration - - - `TYPE` - type - - - `ROLE` - role - - - `YEAR` - year - - - `MONTH` - month - - - `DAY` - day - - - `DAY_WEEK` - day_week - - - `AM_PM` - AM_PM - - - `HOURS24` - HOURS24 - - - `HOURS12` - HOURS12 - - - `MINUTES` - minutes - - - `SECONDS` - seconds - - - `TIME` - TIME - - - `MONTH_DESC` - month_desc - - - `DAY_WEEK_DESC` - day_week_desc - - - `FILE` - file - - - - - - - - - - - - 2880 - 256 - Y - -
From 43f7f4462dcf179fab61a42f4356bc12af4d911a Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Sun, 27 Jun 2021 22:37:31 +0100 Subject: [PATCH 06/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/transf_refresh.ktr | 302 ++++++++++++++++------------ 1 file changed, 169 insertions(+), 133 deletions(-) diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index 5750615..b563798 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -925,23 +925,28 @@ Example: Y - Get database type - DB type check + DB type check + Table output PENTAHO_CE_AUDIT Y - lookup with time fields - Get database type + DB type check + Table output PENTAHO_CE_AUDIT (MySQL) Y - DB type check - Table output PENTAHO_CE_AUDIT + Get database type + Wait for database type to be settled. Y - DB type check - Table output PENTAHO_CE_AUDIT (MySQL) + Wait for database type to be settled. + DB type check + Y + + + lookup with time fields + Wait for database type to be settled. Y @@ -1421,8 +1426,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 2736 - 192 + 2752 + 224 Y @@ -1976,125 +1981,6 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') Y - - Get database type - UserDefinedJavaClass - - Y - - 1 - - none - - - - - TRANSFORM_CLASS - Processor - import java.sql.*; -import org.pentaho.di.core.database.*; - -private DatabaseMeta databaseMeta; -private Database database; - -public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException -{ - Object[] r = getRow(); - if (r == null) { - setOutputDone(); - return false; - } - - if (first) - { - first = false; - } - - try { - r = createOutputRow(r, data.outputRowMeta.size()); - int index = getInputRowMeta().size(); - r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); - - putRow(data.outputRowMeta, r); - - } catch(Exception e) { - throw new KettleException(e); - } - - return true; -} - -public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) -{ - if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { - return false; - } - String dbName = getParameter("DBNAME"); - databaseMeta = getTransMeta().findDatabase(dbName); - if (databaseMeta==null) { - logError("A connection with name "+dbName+" could not be found!"); - setErrors(1); - return false; - } - - database = new Database(getTrans(), databaseMeta); - - try { - database.connect(); - } catch(Exception e) { - logError("Connecting to database "+dbName+" failed.", e); - setErrors(1); - return false; - } - - return true; -} - -public void dispose(StepMetaInterface smi, StepDataInterface sdi) -{ - if (database!=null) { - database.disconnect(); - } - - parent.disposeImpl(smi, sdi); -} - - - - - - - - database_type - String - 255 - -1 - - - N - - - - - DBNAME - Hibernate - The name of the database - - - - - - - - - - - - 2608 - 192 - Y - - Hours Sequence Sequence @@ -3065,8 +2951,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 2864 - 96 + 2912 + 160 Y @@ -3189,8 +3075,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 2880 - 256 + 2912 + 288 Y @@ -3665,6 +3551,156 @@ GROUP BY INST_ID, MESSAGE_NAME Y + + Get database type + UserDefinedJavaClass + + Y + + 1 + + none + + + + + TRANSFORM_CLASS + Processor + import java.sql.*; +import org.pentaho.di.core.database.*; + +private DatabaseMeta databaseMeta; +private Database database; + +public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException +{ + Object[] r = getRow(); + if (r == null) { + setOutputDone(); + return false; + } + + if (first) + { + first = false; + } + + try { + r = createOutputRow(r, data.outputRowMeta.size()); + int index = getInputRowMeta().size(); + r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); + + putRow(data.outputRowMeta, r); + + } catch(Exception e) { + throw new KettleException(e); + } + + return true; +} + +public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) +{ + if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { + return false; + } + String dbName = getParameter("DBNAME"); + databaseMeta = getTransMeta().findDatabase(dbName); + if (databaseMeta==null) { + logError("A connection with name "+dbName+" could not be found!"); + setErrors(1); + return false; + } + + database = new Database(getTrans(), databaseMeta); + + try { + database.connect(); + } catch(Exception e) { + logError("Connecting to database "+dbName+" failed.", e); + setErrors(1); + return false; + } + + return true; +} + +public void dispose(StepMetaInterface smi, StepDataInterface sdi) +{ + if (database!=null) { + database.disconnect(); + } + + parent.disposeImpl(smi, sdi); +} + + + + + + + + database_type + String + 255 + -1 + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + + 2640 + 64 + Y + + + + Wait for database type to be settled. + BlockUntilStepsFinish + + Y + + 1 + + none + + + + + Get database type + 0 + + + + + + + + + + + + 2672 + 272 + Y + + From 700f67e0d91b278235833c3899855405f663da0c Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Sun, 27 Jun 2021 23:03:54 +0100 Subject: [PATCH 07/21] Pentaho 9.1 & MySQL Compatability --- endpoints/kettle/transf_refresh.ktr | 308 ++++++++++++++-------------- 1 file changed, 154 insertions(+), 154 deletions(-) diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index b563798..e4c030b 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -516,8 +516,8 @@ Capture logins from pro_audit table ======================================================================================= - 77 - 376 + 64 + 368 707 297 Segoe UI @@ -1981,6 +1981,125 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') Y + + Get database type + UserDefinedJavaClass + + Y + + 1 + + none + + + + + TRANSFORM_CLASS + Processor + import java.sql.*; +import org.pentaho.di.core.database.*; + +private DatabaseMeta databaseMeta; +private Database database; + +public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException +{ + Object[] r = getRow(); + if (r == null) { + setOutputDone(); + return false; + } + + if (first) + { + first = false; + } + + try { + r = createOutputRow(r, data.outputRowMeta.size()); + int index = getInputRowMeta().size(); + r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); + + putRow(data.outputRowMeta, r); + + } catch(Exception e) { + throw new KettleException(e); + } + + return true; +} + +public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) +{ + if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { + return false; + } + String dbName = getParameter("DBNAME"); + databaseMeta = getTransMeta().findDatabase(dbName); + if (databaseMeta==null) { + logError("A connection with name "+dbName+" could not be found!"); + setErrors(1); + return false; + } + + database = new Database(getTrans(), databaseMeta); + + try { + database.connect(); + } catch(Exception e) { + logError("Connecting to database "+dbName+" failed.", e); + setErrors(1); + return false; + } + + return true; +} + +public void dispose(StepMetaInterface smi, StepDataInterface sdi) +{ + if (database!=null) { + database.disconnect(); + } + + parent.disposeImpl(smi, sdi); +} + + + + + + + + database_type + String + 255 + -1 + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + + 2640 + 64 + Y + + Hours Sequence Sequence @@ -2769,7 +2888,7 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') Hibernate - SELECT INST_ID as "inst_id" FROM pro_audit + SELECT INST_ID as "inst_id" FROM PRO_AUDIT WHERE MESSAGE_TYPE = 'session_start' AND OBJ_TYPE='org.pentaho.platform.web.http.session.PentahoHttpSession' @@ -2808,7 +2927,7 @@ GROUP BY INST_ID Hibernate SELECT INST_ID as "inst_id", MESSAGE_NAME as "message_name" -FROM pro_audit +FROM PRO_AUDIT WHERE MESSAGE_TYPE = 'instance_start' GROUP BY INST_ID, MESSAGE_NAME 0 @@ -3379,6 +3498,37 @@ GROUP BY INST_ID, MESSAGE_NAME Y + + Wait for database type to be settled. + BlockUntilStepsFinish + + Y + + 1 + + none + + + + + Get database type + 0 + + + + + + + + + + + + 2672 + 272 + Y + + input Login OKAY SelectValues @@ -3551,156 +3701,6 @@ GROUP BY INST_ID, MESSAGE_NAME Y - - Get database type - UserDefinedJavaClass - - Y - - 1 - - none - - - - - TRANSFORM_CLASS - Processor - import java.sql.*; -import org.pentaho.di.core.database.*; - -private DatabaseMeta databaseMeta; -private Database database; - -public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException -{ - Object[] r = getRow(); - if (r == null) { - setOutputDone(); - return false; - } - - if (first) - { - first = false; - } - - try { - r = createOutputRow(r, data.outputRowMeta.size()); - int index = getInputRowMeta().size(); - r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); - - putRow(data.outputRowMeta, r); - - } catch(Exception e) { - throw new KettleException(e); - } - - return true; -} - -public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) -{ - if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { - return false; - } - String dbName = getParameter("DBNAME"); - databaseMeta = getTransMeta().findDatabase(dbName); - if (databaseMeta==null) { - logError("A connection with name "+dbName+" could not be found!"); - setErrors(1); - return false; - } - - database = new Database(getTrans(), databaseMeta); - - try { - database.connect(); - } catch(Exception e) { - logError("Connecting to database "+dbName+" failed.", e); - setErrors(1); - return false; - } - - return true; -} - -public void dispose(StepMetaInterface smi, StepDataInterface sdi) -{ - if (database!=null) { - database.disconnect(); - } - - parent.disposeImpl(smi, sdi); -} - - - - - - - - database_type - String - 255 - -1 - - - N - - - - - DBNAME - Hibernate - The name of the database - - - - - - - - - - - - 2640 - 64 - Y - - - - Wait for database type to be settled. - BlockUntilStepsFinish - - Y - - 1 - - none - - - - - Get database type - 0 - - - - - - - - - - - - 2672 - 272 - Y - - From 3c1f1b362370bb16b2e5bc617a3107e4c03e6faa Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Mon, 28 Jun 2021 09:33:30 +0100 Subject: [PATCH 08/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/transf_refresh.ktr | 30 ++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index e4c030b..ed9ccc3 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -462,7 +462,7 @@ ======================================================================================== -Input logins from pro_audit table +Input logins from PRO_AUDIT table @@ -498,7 +498,7 @@ Input logins from pro_audit table ======================================================================================= -Capture logins from pro_audit table +Capture logins from PRO_AUDIT table @@ -745,7 +745,7 @@ Example: Y - TIN pro_audit Table 2 + TIN PRO_AUDIT Table 2 Add constants 2 Y @@ -770,7 +770,7 @@ Example: Y - TIN pro_audit Table 2 2 + TIN PRO_AUDIT Table 2 2 Add constants 2 2 Y @@ -934,11 +934,6 @@ Example: Table output PENTAHO_CE_AUDIT (MySQL) Y - - Get database type - Wait for database type to be settled. - Y - Wait for database type to be settled. DB type check @@ -949,6 +944,11 @@ Example: Wait for database type to be settled. Y + + Get database type + DB type check + Y + Add constants @@ -1448,7 +1448,7 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') 0 - pro_audit
+ PRO_AUDIT
N N @@ -1550,7 +1550,7 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') 0 - pro_audit
+ PRO_AUDIT
N N @@ -2095,8 +2095,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2640 - 64 + 2528 + 112 Y
@@ -2877,7 +2877,7 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - TIN pro_audit Table 2 + TIN PRO_AUDIT Table 2 TableInput N @@ -2915,7 +2915,7 @@ GROUP BY INST_ID - TIN pro_audit Table 2 2 + TIN PRO_AUDIT Table 2 2 TableInput N From 2bfb8cdd090f96ec08890810e190dfb8247eceef Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Tue, 29 Jun 2021 14:04:15 +0100 Subject: [PATCH 09/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/install/createProAuditTable.ktr | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/endpoints/kettle/install/createProAuditTable.ktr b/endpoints/kettle/install/createProAuditTable.ktr index fb8e33b..961b2c2 100644 --- a/endpoints/kettle/install/createProAuditTable.ktr +++ b/endpoints/kettle/install/createProAuditTable.ktr @@ -788,7 +788,7 @@ var sql = 'CREATE TABLE pro_audit( '+ 'actor varchar(256), '+ 'message_type varchar(256), '+ 'message_name varchar(256), '+ - 'message_text_value varchar(256), '+ + 'message_text_value varchar(1000), '+ 'message_num_value varchar(256), '+ 'audit_time timestamp, '+ 'duration real)'; @@ -847,7 +847,7 @@ var sql = '`ACTOR` varchar(225) DEFAULT NULL, '+ '`MESSAGE_TYPE` varchar(255) DEFAULT NULL, '+ '`MESSAGE_NAME` varchar(128) DEFAULT NULL, '+ - '`MESSAGE_TEXT_VALUE` varchar(256) DEFAULT NULL, '+ + '`MESSAGE_TEXT_VALUE` varchar(1000) DEFAULT NULL, '+ '`MESSAGE_NUM_VALUE` bigint(20) unsigned DEFAULT NULL, '+ '`DURATION` decimal(7,2) DEFAULT NULL, '+ '`AUDIT_TIME` datetime DEFAULT NULL, '+ @@ -909,7 +909,7 @@ var sql = 'CREATE TABLE pro_audit( '+ 'actor varchar(256), '+ 'message_type varchar(256), '+ 'message_name varchar(256), '+ - 'message_text_value varchar(256), '+ + 'message_text_value varchar(1000), '+ 'message_num_value varchar(256), '+ 'audit_time timestamp, '+ 'duration real)'; From 189e4b70b098120f296719166d551bdae60ad15f Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Tue, 29 Jun 2021 20:07:11 +0100 Subject: [PATCH 10/21] Pentaho 9.1 & MySQL Compatibility --- endpoints/kettle/transf_refresh.ktr | 720 +++++++++++++--------------- 1 file changed, 333 insertions(+), 387 deletions(-) diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index ed9ccc3..640053b 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -477,8 +477,8 @@ Input logins from PRO_AUDIT table ===========================================================================================
- 58 - 92 + 183 + 59 739 252 Segoe UI @@ -497,7 +497,7 @@ Input logins from PRO_AUDIT table Y
- ======================================================================================= + =========================================================================================== Capture logins from PRO_AUDIT table @@ -515,11 +515,12 @@ Capture logins from PRO_AUDIT table -======================================================================================= - 64 - 368 - 707 - 297 + +========================================================================================== + 183 + 347 + 739 + 312 Segoe UI 9 N @@ -536,7 +537,7 @@ Capture logins from PRO_AUDIT table Y - ================================================================= + =================================================================== Transformation for table pentaho_ce_audit @@ -583,9 +584,9 @@ Transformation for table pentaho_ce_audit - 1096 - 84 - 531 + 1223 + 43 + 547 717 Segoe UI 9 @@ -607,7 +608,11 @@ Transformation for table pentaho_ce_audit Contribution by Brandon Jackson usbrandon@gmail.com November 15, 2014 - +============================================================================================================ +Optimisation by Ibrahim Bolarinwa +https://github.com/Ibby-B +June 29, 2021 +============================================================================================================ This part of ETL add more fields about Time. * TIME VARCHAR(8) * HOURS24 INT @@ -617,7 +622,7 @@ This part of ETL add more fields about Time. Example: 11:59:58 11 11 AM -12:00:01 12 0 PM +12:00:01 12 00 PM @@ -637,10 +642,10 @@ Example: - 1649 - 262 + 1799 + 235 922 - 528 + 593 Segoe UI 9 N @@ -656,6 +661,48 @@ Example: 100 Y + + ================================================================================ +Contribution by Ibrahim Bolarinwa +https://github.com/Ibby-B +June 29, 2021 +================================================================================ +This part of the ETL controls the construction of the PENTAHO_CE_AUDIT Table output SQL, there is no straight-forward +ANSI version that would work with all DBs (at least not without changing the name of fields like USER and DATA +================================================================================ + + + + + + + + + + + + + + + 2535 + -133 + 651 + 348 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 128 + 255 + 100 + 100 + 100 + Y +
Hibernate @@ -710,28 +757,28 @@ Example: - Extract Period - Value Mapper - Month + Add constants + Get Variables Y - Value Mapper - Month - Value Mapper - Day Week + Add constants 2 + DBLK session_end Y - Value Mapper - Day Week - Value Mapper - plugin types + Add constants 2 2 + DBLK instance_end Y - Value Mapper - plugin types - Value Mapper - type + BRIDGE + Block this step until steps finish Y - Value Mapper - type - If field value is null + BRIDGE + Truncate pentaho_ce_audit table Y @@ -740,38 +787,33 @@ Example: Y - Add constants - Get Variables - Y - - - TIN PRO_AUDIT Table 2 - Add constants 2 + Caclulate Time + Rename|set types|Remove unneded Y - DBLK session_end - Filter rows + Calculate hours12 + Cartesian Product Y - Add constants 2 - DBLK session_end + Cartesian Product + Caclulate Time Y - Filter rows - Clear records + Clear records + input Login OKAY Y - Filter rows - Rows discarted + DB type check + Table output PENTAHO_CE_AUDIT Y - TIN PRO_AUDIT Table 2 2 - Add constants 2 2 + DB type check + Table output PENTAHO_CE_AUDIT (MySQL) Y @@ -780,172 +822,172 @@ Example: Y - Add constants 2 2 - DBLK instance_end + DBLK session_end + Filter rows Y - Clear records - input Login OKAY + Extract Period + Value Mapper - Month Y - Switch / Case JOB_ID - input instances OKAY 2 + Filter rows + Clear records Y - Switch / Case JOB_ID - Rows discarted 2 + Filter rows + Rows discarded Y - Switch / Case OBJ_TYPE - Switch / Case JOB_ID + Generate Hours + Hours Sequence Y - Switch / Case OBJ_TYPE - Rows discarted 2 + Generate Minutes + Minutes Sequence Y - input Login OKAY - BRIDGE + Generate Seconds + Seconds Sequence Y - input instances OKAY 2 - BRIDGE + Get Variables + User Defined Java Expression 2 Y - BRIDGE - Block this step until steps finish + Get database type + Join rows (cartesian product) Y - BRIDGE - Truncate pentaho_ce_audit table + Hours Sequence + Calculate hours12 Y - Get Variables - User Defined Java Expression 2 + If field value is null + Select rows for pentaho_ce_audit table Y - User Defined Java Expression 2 - Split field to rows + Minutes Sequence + Cartesian Product Y - Split field to rows - Extract Period + Not specified default values + lookup with time fields Y - If field value is null - Select rows for pentaho_ce_audit table + Rename|set types|Remove unneded + Sort rows Y - Select rows for pentaho_ce_audit table - Not specified default values + Seconds Sequence + Cartesian Product Y - Caclulate Time - Rename and set types + Select rows for pentaho_ce_audit table + Not specified default values Y - Calculate hours12 - Cartesian Product + Sort rows + lookup with time fields Y - Cartesian Product - Caclulate Time + Split field to rows + Extract Period Y - Generate Hours - Hours Sequence + Switch / Case JOB_ID + Rows discarded 2 Y - Generate Minutes - Minutes Sequence + Switch / Case JOB_ID + input instances OKAY 2 Y - Generate Seconds - Seconds Sequence + Switch / Case OBJ_TYPE + Rows discarded 2 Y - Hours Sequence - Calculate hours12 + Switch / Case OBJ_TYPE + Switch / Case JOB_ID Y - Minutes Sequence - Cartesian Product + TIN PRO_AUDIT Table 2 + Add constants 2 Y - Order Fields - Sort rows + TIN PRO_AUDIT Table 2 2 + Add constants 2 2 Y - Remove Junk - Order Fields + User Defined Java Expression 2 + Split field to rows Y - Rename and set types - Remove Junk + Value Mapper - Day Week + Value Mapper - plugin types Y - Seconds Sequence - Cartesian Product + Value Mapper - Month + Value Mapper - Day Week Y - Not specified default values - lookup with time fields + Value Mapper - plugin types + Value Mapper - type Y - Sort rows - lookup with time fields + Value Mapper - type + If field value is null Y - DB type check - Table output PENTAHO_CE_AUDIT + input Login OKAY + BRIDGE Y - DB type check - Table output PENTAHO_CE_AUDIT (MySQL) + input instances OKAY 2 + BRIDGE Y - Wait for database type to be settled. - DB type check + lookup with time fields + Join rows (cartesian product) Y - lookup with time fields - Wait for database type to be settled. + trigger + Get database type Y - Get database type + Join rows (cartesian product) DB type check Y @@ -1032,8 +1074,8 @@ Example: - 1284 - 259 + 1367 + 219 Y @@ -1071,8 +1113,8 @@ Example: - 226 - 175 + 359 + 139 Y @@ -1110,8 +1152,8 @@ Example: - 243 - 470 + 375 + 427 Y @@ -1165,8 +1207,8 @@ Example: - 951 - 351 + 1079 + 315 Y @@ -1196,8 +1238,8 @@ Example: - 1284 - 183 + 1367 + 155 Y @@ -1219,21 +1261,15 @@ Example: 0 Script 1 //Script here -var time = "" - + (hours24.getInteger()<10?"0":"") - + hours24.getInteger() + ":" - + (minutes.getInteger()<10?"0":"") - + minutes.getInteger() + ":" - + (seconds.getInteger()<10?"0":"") - + seconds.getInteger() +var time = + num2str(hours24.getInteger(),"00:") + + num2str(minutes.getInteger(),"00:") + + num2str(seconds.getInteger(),"00") ; -var time_key = (hours24.getInteger()<10?"0":"") - + hours24.getInteger() - + (minutes.getInteger()<10?"0":"") - + minutes.getInteger() - + (seconds.getInteger()<10?"0":"") - + seconds.getInteger() -; +var time_key = + num2str(hours24.getInteger(),"00") + + num2str(minutes.getInteger(),"00") + + num2str(seconds.getInteger(),"00") @@ -1241,7 +1277,7 @@ var time_key = (hours24.getInteger()<10?"0":"") time time String - 10 + 8 -1 N @@ -1249,7 +1285,7 @@ var time_key = (hours24.getInteger()<10?"0":"") time_key time_key Integer - -1 + 6 -1 N @@ -1263,8 +1299,8 @@ var time_key = (hours24.getInteger()<10?"0":"") - 2088 - 616 + 2215 + 651 Y @@ -1317,8 +1353,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1960 - 520 + 2103 + 571 Y @@ -1336,7 +1372,7 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') %%java.io.tmpdir%% out 500 -

+
Minutes Sequence
N @@ -1354,8 +1390,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1960 - 616 + 2119 + 651 Y @@ -1388,8 +1424,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 502 - 178 + 631 + 139 Y @@ -1426,8 +1462,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 2752 - 224 + 2903 + 155 Y @@ -1528,8 +1564,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 346 - 469 + 471 + 427 Y @@ -1630,8 +1666,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 327 - 176 + 455 + 139 Y @@ -1761,8 +1797,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1279 - 668 + 1367 + 635 Y @@ -1778,7 +1814,7 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') Clear records - Rows discarted + Rows discarded N @@ -1805,8 +1841,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 411 - 179 + 551 + 139 Y @@ -1849,8 +1885,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1736 - 520 + 1879 + 571 Y @@ -1893,8 +1929,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1736 - 616 + 1879 + 651 Y @@ -1937,8 +1973,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1736 - 712 + 1879 + 763 Y @@ -1976,8 +2012,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1285 - 350 + 1367 + 315 Y @@ -2095,8 +2131,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2528 - 112 + 2775 + 43 Y @@ -2130,8 +2166,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1864 - 520 + 2007 + 571 Y @@ -2170,8 +2206,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1516 - 368 + 1623 + 331 Y @@ -2205,8 +2241,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1864 - 616 + 2007 + 651 Y @@ -2245,62 +2281,13 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1512 - 190 + 1623 + 155 Y - Order Fields - SelectValues - - Y - - 1 - - none - - - - - TIME_SK - - - TIME - - - HOURS24 - - - HOURS12 - - - AM_PM - - - MINUTES - - - SECONDS - - N - - - - - - - - - - - 2376 - 616 - Y - - - - Remove Junk + Rename|set types|Remove unneded SelectValues Y @@ -2313,42 +2300,14 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) N - HOURS24_ROW + hours24_row - MINUTES_ROW + minutes_row - SECONDS_ROW + seconds_row - - - - - - - - - - - 2280 - 616 - Y - - - - Rename and set types - SelectValues - - Y - - 1 - - none - - - - N time_key TIME_SK @@ -2383,23 +2342,6 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - - seconds_row - SECONDS_ROW - Integer - -2 - 0 - - false - - - false - - - - - - seconds SECONDS @@ -2417,23 +2359,6 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - - minutes_row - MINUTES_ROW - Integer - -2 - 0 - - false - - - false - - - - - - minutes MINUTES @@ -2451,23 +2376,6 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - - hours24_row - HOURS24_ROW - Integer - -2 - 0 - - false - - - false - - - - - - hours24 HOURS24 @@ -2529,13 +2437,13 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2184 - 616 + 2407 + 651 Y - Rows discarted + Rows discarded Dummy Y @@ -2554,13 +2462,13 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 469 - 259 + 647 + 219 Y - Rows discarted 2 + Rows discarded 2 Dummy Y @@ -2579,8 +2487,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 543 - 606 + 663 + 555 Y @@ -2614,8 +2522,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1864 - 712 + 2007 + 763 Y @@ -2693,8 +2601,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1513 - 271 + 1623 + 235 Y @@ -2723,7 +2631,7 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) N N 2 - N + Y @@ -2735,8 +2643,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2468 - 612 + 2615 + 651 Y @@ -2767,8 +2675,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1280 - 525 + 1367 + 491 Y @@ -2789,7 +2697,7 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - Rows discarted 2 + Rows discarded 2 cda @@ -2821,8 +2729,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 590 - 470 + 727 + 427 Y @@ -2843,7 +2751,7 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - Rows discarted 2 + Rows discarded 2 org.pentaho.platform.engine.services.solution.SolutionEngine @@ -2871,8 +2779,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 468 - 470 + 599 + 427 Y @@ -2909,8 +2817,8 @@ GROUP BY INST_ID - 105 - 175 + 231 + 139 Y @@ -2946,8 +2854,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 124 - 471 + 247 + 427 Y @@ -3070,8 +2978,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 2912 - 160 + 3063 + 267 Y @@ -3194,8 +3102,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 2912 - 288 + 3063 + 59 Y @@ -3232,8 +3140,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 950 - 221 + 1079 + 187 Y @@ -3265,8 +3173,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1284 - 437 + 1367 + 395 Y @@ -3323,8 +3231,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1517 - 667 + 1623 + 635 Y @@ -3401,8 +3309,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1386 - 668 + 1479 + 635 Y @@ -3451,8 +3359,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1517 - 569 + 1623 + 539 Y @@ -3493,39 +3401,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1515 - 459 - Y - - - - Wait for database type to be settled. - BlockUntilStepsFinish - - Y - - 1 - - none - - - - - Get database type - 0 - - - - - - - - - - - - 2672 - 272 + 1623 + 427 Y @@ -3576,8 +3453,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 593 - 178 + 727 + 139 Y @@ -3628,8 +3505,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 716 - 469 + 855 + 427 Y @@ -3696,8 +3573,77 @@ GROUP BY INST_ID, MESSAGE_NAME - 2468 - 190 + 2615 + 155 + Y + + + + trigger + RowGenerator + an empty row to trigger the java class + Y + + 1 + + none + + + + + 1 + N + 5000 + now + FiveSecondsAgo + + + + + + + + + + 2615 + 43 + Y + + + + Join rows (cartesian product) + JoinRows + + Y + + 1 + + none + + + %%java.io.tmpdir%% + out + 500 +
lookup with time fields
+ + + N + + = + + + + + + + + + + + + + 2775 + 155 Y
From 9c9a0f8cbda8dfcae33213e6b8959d658fdb46b4 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Tue, 29 Jun 2021 21:13:57 +0100 Subject: [PATCH 11/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/set_metadata.ktr | 579 ++++++++++++++++-------------- 1 file changed, 308 insertions(+), 271 deletions(-) diff --git a/endpoints/kettle/set_metadata.ktr b/endpoints/kettle/set_metadata.ktr index 261f049..e828ce0 100644 --- a/endpoints/kettle/set_metadata.ktr +++ b/endpoints/kettle/set_metadata.ktr @@ -573,7 +573,88 @@ TOU - Metadata (MySQL) Y + + trigger + Get database type + Y + + + DB Type Check 2 + SwitchCase + + Y + + 1 + + none + + + database_type + N + None + + + + TOU - Metadata + + + MySQL + TOU - Metadata (MySQL) + + + + + + + + + + + + 1232 + 320 + Y + + + + DB type check + SwitchCase + + Y + + 1 + + none + + + database_type + N + String + + + + TINP Get Metadata + + + MySQL + TINP Get Metadata (MySQL) + + + + + + + + + + + + 240 + 112 + Y + + Get System Info SystemInfo @@ -600,11 +681,130 @@ - 544 + 624 112 Y + + Get database type + UserDefinedJavaClass + + N + + 1 + + none + + + + + TRANSFORM_CLASS + Processor + import java.sql.*; +import org.pentaho.di.core.database.*; + +private DatabaseMeta databaseMeta; +private Database database; + +public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException +{ + Object[] r = getRow(); + if (r == null) { + setOutputDone(); + return false; + } + + if (first) + { + first = false; + } + + try { + r = createOutputRow(r, data.outputRowMeta.size()); + int index = getInputRowMeta().size(); + r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); + + putRow(data.outputRowMeta, r); + + } catch(Exception e) { + throw new KettleException(e); + } + + return true; +} + +public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) +{ + if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { + return false; + } + String dbName = getParameter("DBNAME"); + databaseMeta = getTransMeta().findDatabase(dbName); + if (databaseMeta==null) { + logError("A connection with name "+dbName+" could not be found!"); + setErrors(1); + return false; + } + + database = new Database(getTrans(), databaseMeta); + + try { + database.connect(); + } catch(Exception e) { + logError("Connecting to database "+dbName+" failed.", e); + setErrors(1); + return false; + } + + return true; +} + +public void dispose(StepMetaInterface smi, StepDataInterface sdi) +{ + if (database!=null) { + database.disconnect(); + } + + parent.disposeImpl(smi, sdi); +} + + + + + + + + database_type + String + 255 + -1 + + + N + + + + + DBNAME + Hibernate + The name of the database + + + + + + + + + + + + 160 + 320 + Y + + Get variables access 2 GetVariable @@ -639,7 +839,7 @@ - 704 + 784 112 Y @@ -693,7 +893,7 @@ - 864 + 944 112 Y @@ -732,11 +932,50 @@ LIMIT 1 - 352 + 432 48 Y + + TINP Get Metadata (MySQL) + TableInput + + Y + + 1 + + none + + + Hibernate + SELECT + `DATA` + , (select count(*) FROM `PENTAHO_CE_AUDIT`) as NUMBER_ROWS +FROM `PENTAHO_CE_AUDIT` +ORDER BY `DATA` DESC +LIMIT 1 + 0 + + N + N + N + N + + + + + + + + + + + 432 + 192 + Y + + TOU - Metadata TableOutput @@ -788,14 +1027,14 @@ LIMIT 1 - 1328 + 1408 224 Y - Truncate pentaho_ce_audit_metadata - ExecSQL + TOU - Metadata (MySQL) + TableOutput Y @@ -805,168 +1044,36 @@ LIMIT 1 Hibernate - N - N - N - N - DELETE FROM PENTAHO_CE_AUDIT_METADATA - N - - - - - - - - - - - - - - - - 1088 - 112 - Y - - - - Wait pentaho_ce_audit_metadata finish - BlockUntilStepsFinish - - Y - - 1 - - none - - - - - Truncate pentaho_ce_audit_metadata - 0 - - - - - - - - - - - - 864 - 320 - Y - - - - Get database type - UserDefinedJavaClass - - N - - 1 - - none - - - - - TRANSFORM_CLASS - Processor - import java.sql.*; -import org.pentaho.di.core.database.*; - -private DatabaseMeta databaseMeta; -private Database database; - -public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException -{ - Object[] r = getRow(); - if (r == null) { - setOutputDone(); - return false; - } - - if (first) - { - first = false; - } - - try { - r = createOutputRow(r, data.outputRowMeta.size()); - int index = getInputRowMeta().size(); - r[index++] = database.getDatabaseMetaData().getDatabaseProductName(); - - putRow(data.outputRowMeta, r); - - } catch(Exception e) { - throw new KettleException(e); - } - - return true; -} - -public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface) -{ - if (!parent.initImpl(stepMetaInterface, stepDataInterface)) { - return false; - } - String dbName = getParameter("DBNAME"); - databaseMeta = getTransMeta().findDatabase(dbName); - if (databaseMeta==null) { - logError("A connection with name "+dbName+" could not be found!"); - setErrors(1); - return false; - } - - database = new Database(getTrans(), databaseMeta); - - try { - database.connect(); - } catch(Exception e) { - logError("Connecting to database "+dbName+" failed.", e); - setErrors(1); - return false; - } - - return true; -} - -public void dispose(StepMetaInterface smi, StepDataInterface sdi) -{ - if (database!=null) { - database.disconnect(); - } - - parent.disposeImpl(smi, sdi); -} - - - - - + + PENTAHO_CE_AUDIT_METADATA
+ 1000 + N + N + Y + Y + N + + N + Y + N + + Y + N + - database_type - String - 255 - -1 + NUMBER_ROWS + NUMBER_ROWS + + + LAST_UPDATE + LAST_UPDATE + + + USER + PENTAHO_USER - N - - - - - DBNAME - Hibernate - The name of the database - - @@ -976,52 +1083,14 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 80 - 320 - Y - -
- - DB type check - SwitchCase - - Y - - 1 - - none - - - database_type - N - String - - - - TINP Get Metadata - - - MySQL - TINP Get Metadata (MySQL) - - - - - - - - - - - - 160 - 112 + 1408 + 400 Y - TINP Get Metadata (MySQL) - TableInput + Truncate pentaho_ce_audit_metadata + ExecSQL Y @@ -1031,19 +1100,18 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Hibernate - SELECT - `DATA` - , (select count(*) FROM `PENTAHO_CE_AUDIT`) as NUMBER_ROWS -FROM `PENTAHO_CE_AUDIT` -ORDER BY `DATA` DESC -LIMIT 1 - 0 - N - N - N - N - + N + N + N + DELETE FROM PENTAHO_CE_AUDIT_METADATA + N + + + + + + @@ -1053,14 +1121,14 @@ LIMIT 1 - 352 - 192 + 1168 + 112 Y - DB Type Check 2 - SwitchCase + Wait pentaho_ce_audit_metadata finish + BlockUntilStepsFinish Y @@ -1069,19 +1137,12 @@ LIMIT 1 none - database_type - N - None - - - - TOU - Metadata - - - MySQL - TOU - Metadata (MySQL) - - + + + Truncate pentaho_ce_audit_metadata + 0 + + @@ -1091,15 +1152,15 @@ LIMIT 1 - 1152 + 944 320 Y - TOU - Metadata (MySQL) - TableOutput - + trigger + RowGenerator + an empty row to trigger the java class Y 1 @@ -1107,37 +1168,13 @@ LIMIT 1 none - Hibernate - - PENTAHO_CE_AUDIT_METADATA
- 1000 - N - N - Y - Y - N - - N - Y - N - - Y - N - - - NUMBER_ROWS - NUMBER_ROWS - - - LAST_UPDATE - LAST_UPDATE - - - USER - PENTAHO_USER - + 1 + N + 5000 + now + FiveSecondsAgo @@ -1147,8 +1184,8 @@ LIMIT 1 - 1328 - 400 + 0 + 320 Y
From 3e913edc862ea94cfaf09705debbb45e0672de72 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Wed, 30 Jun 2021 14:32:35 +0100 Subject: [PATCH 12/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/get_metadata.ktr | 419 +++++++---- .../createPentahoCEAuditMetadataTable.ktr | 144 ++-- .../install/createPentahoCEAuditTable.ktr | 44 +- .../kettle/install/createProAuditTable.ktr | 28 +- .../install/createViewPentahoCEAudit.ktr | 649 +++++++++++++++--- endpoints/kettle/job_install.kjb | 34 +- endpoints/kettle/job_refresh.kjb | 479 +++++++++---- endpoints/kettle/job_update_cache.kjb | 492 +++++++++---- endpoints/kettle/job_verify_installation.kjb | 34 +- endpoints/kettle/set_metadata.ktr | 253 ++++--- endpoints/kettle/transf_refresh.ktr | 280 ++++---- 11 files changed, 2061 insertions(+), 795 deletions(-) diff --git a/endpoints/kettle/get_metadata.ktr b/endpoints/kettle/get_metadata.ktr index 9a98d35..158ae89 100644 --- a/endpoints/kettle/get_metadata.ktr +++ b/endpoints/kettle/get_metadata.ktr @@ -435,6 +435,32 @@ N + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +MySQL Compatibility +=========================================== + 0 + 0 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + Hibernate @@ -489,121 +515,49 @@ - TINP Get Metadata - Select values + DB type check + TINP Get Metadata Y - Select values - OUTPUT + DB type check + TINP Get Metadata (MySQL) + Y + + + Get database type + DB type check + Y + + + TINP Get Metadata + Dynamic SQL row Y TINP Get Metadata (MySQL) - Select values + Dynamic SQL row Y - Get database type - DB type check + trigger + Get database type Y - DB type check - TINP Get Metadata + Dynamic SQL row + Select values and set Metadata meta-data Y - DB type check - TINP Get Metadata (MySQL) + Select values and set Metadata meta-data + OUTPUT Y - OUTPUT - Dummy - - Y - - 1 - - none - - - - - - - - - - - - 720 - 192 - Y - - - - Select values - SelectValues - - Y - - 1 - - none - - - - - LAST_UPDATE - Last update - - - NUMBER_ROWS - Number rows - - - USER - User - - N - - Last update - Last update - String - 6 - -2 - yyyy-MM-dd HH:mm:ss - false - - - false - - - - - - - - - - - - - - - - - 592 - 192 - Y - - - - TINP Get Metadata - TableInput + DB type check + SwitchCase Y @@ -612,21 +566,19 @@ none - Hibernate - SELECT - LAST_UPDATE, - NUMBER_ROWS, - USER -FROM PENTAHO_CE_AUDIT_METADATA - - - 0 - Switch / Case - N - N - N - N - + database_type + N + String + + + + TINP Get Metadata + + + MySQL + TINP Get Metadata (MySQL) + + @@ -636,8 +588,8 @@ FROM PENTAHO_CE_AUDIT_METADATA - 416 - 128 + 208 + 160 Y @@ -755,14 +707,66 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 96 - 192 + 112 + 160 + Y + + + + TINP Get Metadata + ScriptValueMod + + Y + + 1 + + none + + + N + 9 + + + 0 + Script 1 + //Script here + +var sql = + 'SELECT ' + + '"LAST_UPDATE", ' + + '"NUMBER_ROWS", ' + + '"USER" ' + + 'FROM "PENTAHO_CE_AUDIT_METADATA"'; + + + + + + sql + sql + String + -1 + -1 + N + + + + + + + + + + + + 384 + 128 Y TINP Get Metadata (MySQL) - TableInput + ScriptValueMod Y @@ -771,21 +775,98 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) none - Hibernate - SELECT - LAST_UPDATE, - NUMBER_ROWS, - USER -FROM PENTAHO_CE_AUDIT_METADATA + N + 9 + + + 0 + Script 1 + //Script here + +var sql = + 'SELECT ' + + '`LAST_UPDATE`, ' + + '`NUMBER_ROWS`, ' + + '`USER` ' + + 'FROM `PENTAHO_CE_AUDIT_METADATA`'; + + + + + sql + sql + String + -1 + -1 + N + + + + + + + + + + + + 384 + 192 + Y + + + + trigger + RowGenerator + an empty row to trigger the java class + Y + + 1 + + none + + + + + 1 + N + 5000 + now + FiveSecondsAgo + + + + + + + + + + 64 + 160 + Y + + + + Dynamic SQL row + DynamicSQLRow + + Y + + 1 + + none + + + Hibernate + 1 + SELECT date '1970-01-01' AS LAST_UPDATE , 0 AS NUMBER_ROWS, 'Fake_User' AS USERONI - 0 - Switch / Case - N - N - N - N - + N + N + sql + N @@ -795,14 +876,14 @@ FROM PENTAHO_CE_AUDIT_METADATA - 416 - 256 + 528 + 160 Y - DB type check - SwitchCase + Select values and set Metadata meta-data + SelectValues Y @@ -811,19 +892,38 @@ FROM PENTAHO_CE_AUDIT_METADATA none - database_type - N - String - - - - TINP Get Metadata - - - MySQL - TINP Get Metadata (MySQL) - - + + + LAST_UPDATE + Last update + + + NUMBER_ROWS + Number rows + + + USERONI + User + + N + + Last update + Last update + Timestamp + 6 + -2 + yyyy-MM-dd HH:mm:ss + false + + + false + + + + + + + @@ -833,8 +933,33 @@ FROM PENTAHO_CE_AUDIT_METADATA - 224 - 192 + 704 + 160 + Y + + + + OUTPUT + Dummy + + Y + + 1 + + none + + + + + + + + + + + + 864 + 160 Y diff --git a/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr b/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr index 037e33d..8223f71 100644 --- a/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr +++ b/endpoints/kettle/install/createPentahoCEAuditMetadataTable.ktr @@ -435,6 +435,32 @@ N + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +MySQL Compatibility +=========================================== + 0 + 0 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + Hibernate @@ -568,7 +594,7 @@ - 416 + 496 384 Y @@ -597,8 +623,8 @@ - 781 - 326 + 704 + 320 Y @@ -771,6 +797,56 @@ var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ Y + + SQL for MySQL + ScriptValueMod + + Y + + 1 + + none + + + N + 9 + + + 0 + Script 1 + //Script here + +var sql = 'CREATE TABLE `PENTAHO_CE_AUDIT_METADATA` ( '+ +' `LAST_UPDATE` TIMESTAMP '+ +', `NUMBER_ROWS` INTEGER '+ +', `USER` varchar(256)) ENGINE=MyISAM DEFAULT CHARSET=utf8'; + + + + + + sql + sql + String + -1 + -1 + N + + + + + + + + + + + + 496 + 176 + Y + + SQL for PostgreSQL ScriptValueMod @@ -818,8 +894,8 @@ var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ - 494 - 260 + 496 + 256 Y @@ -889,8 +965,8 @@ var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ - 943 - 188 + 896 + 192 Y @@ -930,8 +1006,8 @@ var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ - 776 - 188 + 704 + 192 Y @@ -967,56 +1043,6 @@ var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT_METADATA"( '+ Y - - SQL for MySQL - ScriptValueMod - - Y - - 1 - - none - - - N - 9 - - - 0 - Script 1 - //Script here - -var sql = 'CREATE TABLE `PENTAHO_CE_AUDIT_METADATA` ( '+ -' `LAST_UPDATE` TIMESTAMP '+ -', `NUMBER_ROWS` INTEGER '+ -', `USER` varchar(256)) ENGINE=MyISAM DEFAULT CHARSET=utf8'; - - - - - - sql - sql - String - -1 - -1 - N - - - - - - - - - - - - 512 - 176 - Y - - create table diff --git a/endpoints/kettle/install/createPentahoCEAuditTable.ktr b/endpoints/kettle/install/createPentahoCEAuditTable.ktr index 20ad34f..e460f7c 100644 --- a/endpoints/kettle/install/createPentahoCEAuditTable.ktr +++ b/endpoints/kettle/install/createPentahoCEAuditTable.ktr @@ -435,6 +435,32 @@ N + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +MySQL Compatibility +=========================================== + 0 + 0 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + Hibernate @@ -568,8 +594,8 @@ - 384 - 384 + 512 + 400 Y @@ -597,8 +623,8 @@ - 779 - 308 + 768 + 304 Y @@ -783,8 +809,8 @@ var sql = 'CREATE TABLE PENTAHO_CE_AUDIT( '+ - 496 - 77 + 512 + 80 Y @@ -918,7 +944,7 @@ var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT"( '+ 512 - 288 + 272 Y @@ -1029,8 +1055,8 @@ var sql = 'CREATE TABLE "PENTAHO_CE_AUDIT"( '+ - 774 - 170 + 768 + 176 Y diff --git a/endpoints/kettle/install/createProAuditTable.ktr b/endpoints/kettle/install/createProAuditTable.ktr index 961b2c2..dafbd4b 100644 --- a/endpoints/kettle/install/createProAuditTable.ktr +++ b/endpoints/kettle/install/createProAuditTable.ktr @@ -434,6 +434,32 @@ N + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +MySQL Compatibility +=========================================== + 0 + 16 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + Hibernate @@ -878,7 +904,7 @@ var sql = 544 - 464 + 448 Y diff --git a/endpoints/kettle/install/createViewPentahoCEAudit.ktr b/endpoints/kettle/install/createViewPentahoCEAudit.ktr index 57969c0..b4782d3 100644 --- a/endpoints/kettle/install/createViewPentahoCEAudit.ktr +++ b/endpoints/kettle/install/createViewPentahoCEAudit.ktr @@ -6,38 +6,399 @@ Normal - / + / - - - - - - -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDTRANSNAMEYTRANSNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERCLIENTNCLIENT - - -
- - -ID_BATCHYID_BATCHSEQ_NRYSEQ_NRLOGDATEYLOGDATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSINPUT_BUFFER_ROWSYINPUT_BUFFER_ROWSOUTPUT_BUFFER_ROWSYOUTPUT_BUFFER_ROWS - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATETRANSNAMEYTRANSNAMESTEPNAMEYSTEPNAMESTEP_COPYYSTEP_COPYLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSLOG_FIELDNLOG_FIELD - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEMETRICS_DATEYMETRICS_DATEMETRICS_CODEYMETRICS_CODEMETRICS_DESCRIPTIONYMETRICS_DESCRIPTIONMETRICS_SUBJECTYMETRICS_SUBJECTMETRICS_TYPEYMETRICS_TYPEMETRICS_VALUEYMETRICS_VALUE + + + +
+ + + + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + TRANSNAME + Y + TRANSNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + + LINES_UPDATED + Y + LINES_UPDATED + + + + LINES_INPUT + Y + LINES_INPUT + + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + + LINES_REJECTED + Y + LINES_REJECTED + + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + CLIENT + N + CLIENT + + + + + +
+ + + + ID_BATCH + Y + ID_BATCH + + + SEQ_NR + Y + SEQ_NR + + + LOGDATE + Y + LOGDATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + INPUT_BUFFER_ROWS + Y + INPUT_BUFFER_ROWS + + + OUTPUT_BUFFER_ROWS + Y + OUTPUT_BUFFER_ROWS + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + TRANSNAME + Y + TRANSNAME + + + STEPNAME + Y + STEPNAME + + + STEP_COPY + Y + STEP_COPY + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + LOG_FIELD + N + LOG_FIELD + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + METRICS_DATE + Y + METRICS_DATE + + + METRICS_CODE + Y + METRICS_CODE + + + METRICS_DESCRIPTION + Y + METRICS_DESCRIPTION + + + METRICS_SUBJECT + Y + METRICS_SUBJECT + + + METRICS_TYPE + Y + METRICS_TYPE + + + METRICS_VALUE + Y + METRICS_VALUE + + @@ -65,12 +426,40 @@ - - - 2014/11/04 12:19:03.529 - - - 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + - + 2014/11/04 12:19:03.529 + H4sIAAAAAAAAAAMAAAAAAAAAAAA= + N + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +MySQL Compatibility +=========================================== + 0 + 0 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + Hibernate @@ -85,20 +474,55 @@ - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN + + FORCE_IDENTIFIERS_TO_LOWERCASE + N + + + FORCE_IDENTIFIERS_TO_UPPERCASE + N + + + IS_CLUSTERED + N + + + PORT_NUMBER + 1521 + + + PRESERVE_RESERVED_WORD_CASE + N + + + QUOTE_ALL_FIELDS + N + + + SUPPORTS_BOOLEAN_DATA_TYPE + Y + + + SUPPORTS_TIMESTAMP_DATA_TYPE + Y + + + USE_POOLING + N + - Execute SQL scriptTable pro_audit createdY - Execute SQL scriptAbort - Error create pro_audit table Y + + Execute SQL script + Table pro_audit created + Y + + + Execute SQL script + Abort - Error create pro_audit table + Y + Abort - Error create pro_audit table @@ -107,21 +531,28 @@ Y 1 - - none - - - 0 - Abort - Error create pro_audit table - Y - - - 383 - 218 + + none + + + 0 + Abort - Error create pro_audit table + Y + ABORT_WITH_ERROR + + + + + + + + + + 544 + 272 Y - - - + + Execute SQL script ExecSQL @@ -129,16 +560,28 @@ Y 1 - - none - - + + none + + Hibernate N N N N - CREATE VIEW pentaho_ce_audit AS SELECT PA.AUDIT_TIME as data, PA.JOB_ID as job, PA.ACTOR as usuario, PA.OBJ_ID as arquivo, PA.OBJ_ID as diretorio, PA.DURATION as duracao, PA.MESSAGE_TYPE as tipo, PA.MESSAGE_NAME as msg_name, PA.MESSAGE_TEXT_VALUE as msg_value FROM pro_audit PA where PA.job_id!='Session startup actions' AND PA.job_id!='Global startup actions'; + CREATE VIEW pentaho_ce_audit AS + SELECT + PA.AUDIT_TIME as data, + PA.JOB_ID as job, + PA.ACTOR as usuario, + PA.OBJ_ID as arquivo, + PA.OBJ_ID as diretorio, + PA.DURATION as duracao, + PA.MESSAGE_TYPE as tipo, + PA.MESSAGE_NAME as msg_name, + PA.MESSAGE_TEXT_VALUE as msg_value +FROM pro_audit PA +where PA.job_id!='Session startup actions' AND PA.job_id!='Global startup actions'; N @@ -146,14 +589,20 @@ - - - 243 - 131 + + + + + + + + + + 400 + 192 Y - - - + + Table pro_audit created Dummy @@ -161,34 +610,40 @@ Y 1 - - none - - - - - 385 - 105 + + none + + + + + + + + + + + + 544 + 160 Y - - - + + - - Execute SQL script - Abort - Error create pro_audit table - Y - - - - - - - - + + Execute SQL script + Abort - Error create pro_audit table + Y + + + + + + + + - - - N - + + + N + diff --git a/endpoints/kettle/job_install.kjb b/endpoints/kettle/job_install.kjb index c193c22..d4a49f6 100644 --- a/endpoints/kettle/job_install.kjb +++ b/endpoints/kettle/job_install.kjb @@ -484,7 +484,7 @@ - Execute createProAudirTable + Execute createProAuditTable TRANS @@ -510,7 +510,7 @@ N N N - + Pentaho local N Y @@ -732,7 +732,7 @@ Table pro_audit exists? - Execute createProAudirTable + Execute createProAuditTable 0 0 Y @@ -749,7 +749,7 @@ N - Execute createProAudirTable + Execute createProAuditTable Table pentaho_ce_audit exists? 0 0 @@ -858,6 +858,32 @@ + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +Fixed Pro Audit table existence check +=========================================== + 0 + 272 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + diff --git a/endpoints/kettle/job_refresh.kjb b/endpoints/kettle/job_refresh.kjb index 94f37b2..23ec4dc 100644 --- a/endpoints/kettle/job_refresh.kjb +++ b/endpoints/kettle/job_refresh.kjb @@ -1,113 +1,317 @@ job_refresh - - - - 0 - / + + + + 0 + / - - 2013/07/12 16:27:43.018 + 2013/07/12 16:27:43.018 - - 2013/07/12 16:27:43.018 - - - PENTAHO_HOST - 127.0.0.1 - - - - PENTAHO_PORT - 80 - - - - PENTAHO_ROLES - ["admin"] - - - - PENTAHO_USER - admin - - - - - hsqldb_habitacao - - GENERIC - Native - - 1521 - ${USER_HSQLDB} - ${PASSWD_HSQLDB} - - - - - CUSTOM_DRIVER_CLASS${DRIVE_CLASS_HSQLDB} - CUSTOM_URL${URL_HSQLDB} - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEN - USE_POOLINGN - - - - postgres_habitacao - ${DW_POSTGRES_HOST} - POSTGRESQL - Native - ${DW_POSTGRES_DATABASE} - ${DW_POSTGRES_PORT} - ${DW_POSTGRES_USERNAME} - ${DW_POSTGRES_PASSWORD} - - - - - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER${DW_POSTGRES_PORT} - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN - - - + 2013/07/12 16:27:43.018 + + + PENTAHO_HOST + 127.0.0.1 + + + + PENTAHO_PORT + 80 + + + + PENTAHO_ROLES + ["admin"] + + + + PENTAHO_USER + admin + + + + - - -
- - - -ID_JOBYID_JOBCHANNEL_IDYCHANNEL_IDJOBNAMEYJOBNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERSTART_JOB_ENTRYNSTART_JOB_ENTRYCLIENTNCLIENT - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEJOBNAMEYTRANSNAMEJOBENTRYNAMEYSTEPNAMELINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSRESULTYRESULTNR_RESULT_ROWSYNR_RESULT_ROWSNR_RESULT_FILESYNR_RESULT_FILESLOG_FIELDNLOG_FIELDCOPY_NRNCOPY_NR - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - N - + + + +
+ + + + + ID_JOB + Y + ID_JOB + + + CHANNEL_ID + Y + CHANNEL_ID + + + JOBNAME + Y + JOBNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + START_JOB_ENTRY + N + START_JOB_ENTRY + + + CLIENT + N + CLIENT + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + JOBNAME + Y + TRANSNAME + + + JOBENTRYNAME + Y + STEPNAME + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + RESULT + Y + RESULT + + + NR_RESULT_ROWS + Y + NR_RESULT_ROWS + + + NR_RESULT_FILES + Y + NR_RESULT_FILES + + + LOG_FIELD + N + LOG_FIELD + + + COPY_NR + N + COPY_NR + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + N + START SPECIAL + Y N N @@ -123,14 +327,16 @@ 0 130 162 - + + transf_refresh TRANS + filename - ${Internal.Job.Filename.Directory}/transf_refresh.ktr + ${Internal.Job.Filename.Directory}/transf_refresh.ktr N N @@ -150,50 +356,66 @@ N N N - Y - PENTAHO_HOST - - ${PENTAHO_HOST} - PENTAHO_PORT - - ${PENTAHO_PORT} - PENTAHO_ROLES - - ${PENTAHO_ROLES} - N + + N + + Y + + PENTAHO_HOST + + ${PENTAHO_HOST} + + + PENTAHO_PORT + + ${PENTAHO_PORT} + + + PENTAHO_ROLES + + ${PENTAHO_ROLES} + + + N Y 0 293 162 - + + Success SUCCESS + N Y 0 554 164 - + + Abort job ABORT + N Y 0 - 431 - 291 - + 368 + 272 + + set_metadata TRANS + filename - ${Internal.Job.Filename.Directory}/set_metadata.ktr + ${Internal.Job.Filename.Directory}/set_metadata.ktr N N @@ -213,16 +435,23 @@ N N N - Y - PENTAHO_USER - - ${PENTAHO_USER} - N + + N + + Y + + PENTAHO_USER + + ${PENTAHO_USER} + + + N Y 0 442 163 - + + @@ -273,5 +502,5 @@ - + diff --git a/endpoints/kettle/job_update_cache.kjb b/endpoints/kettle/job_update_cache.kjb index e6dc551..4186406 100644 --- a/endpoints/kettle/job_update_cache.kjb +++ b/endpoints/kettle/job_update_cache.kjb @@ -1,103 +1,307 @@ job_update_cache - - - - 0 - / + + + + 0 + / - - 2013/07/12 16:27:43.018 + 2013/07/12 16:27:43.018 - - 2013/07/12 16:27:43.018 - - - PENTAHO_HOST - localhost - - - - PENTAHO_PORT - 80 - - - - - hsqldb_habitacao - - GENERIC - Native - - 1521 - ${USER_HSQLDB} - ${PASSWD_HSQLDB} - - - - - CUSTOM_DRIVER_CLASS${DRIVE_CLASS_HSQLDB} - CUSTOM_URL${URL_HSQLDB} - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER1521 - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEN - USE_POOLINGN - - - - postgres_habitacao - ${DW_POSTGRES_HOST} - POSTGRESQL - Native - ${DW_POSTGRES_DATABASE} - ${DW_POSTGRES_PORT} - ${DW_POSTGRES_USERNAME} - ${DW_POSTGRES_PASSWORD} - - - - - FORCE_IDENTIFIERS_TO_LOWERCASEN - FORCE_IDENTIFIERS_TO_UPPERCASEN - IS_CLUSTEREDN - PORT_NUMBER${DW_POSTGRES_PORT} - PRESERVE_RESERVED_WORD_CASEN - QUOTE_ALL_FIELDSN - SUPPORTS_BOOLEAN_DATA_TYPEY - SUPPORTS_TIMESTAMP_DATA_TYPEY - USE_POOLINGN - - - + 2013/07/12 16:27:43.018 + + + PENTAHO_HOST + localhost + + + + PENTAHO_PORT + 80 + + + + - - -
- - - -ID_JOBYID_JOBCHANNEL_IDYCHANNEL_IDJOBNAMEYJOBNAMESTATUSYSTATUSLINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSSTARTDATEYSTARTDATEENDDATEYENDDATELOGDATEYLOGDATEDEPDATEYDEPDATEREPLAYDATEYREPLAYDATELOG_FIELDYLOG_FIELDEXECUTING_SERVERNEXECUTING_SERVEREXECUTING_USERNEXECUTING_USERSTART_JOB_ENTRYNSTART_JOB_ENTRYCLIENTNCLIENT - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATEJOBNAMEYTRANSNAMEJOBENTRYNAMEYSTEPNAMELINES_READYLINES_READLINES_WRITTENYLINES_WRITTENLINES_UPDATEDYLINES_UPDATEDLINES_INPUTYLINES_INPUTLINES_OUTPUTYLINES_OUTPUTLINES_REJECTEDYLINES_REJECTEDERRORSYERRORSRESULTYRESULTNR_RESULT_ROWSYNR_RESULT_ROWSNR_RESULT_FILESYNR_RESULT_FILESLOG_FIELDNLOG_FIELDCOPY_NRNCOPY_NR - - -
- -ID_BATCHYID_BATCHCHANNEL_IDYCHANNEL_IDLOG_DATEYLOG_DATELOGGING_OBJECT_TYPEYLOGGING_OBJECT_TYPEOBJECT_NAMEYOBJECT_NAMEOBJECT_COPYYOBJECT_COPYREPOSITORY_DIRECTORYYREPOSITORY_DIRECTORYFILENAMEYFILENAMEOBJECT_IDYOBJECT_IDOBJECT_REVISIONYOBJECT_REVISIONPARENT_CHANNEL_IDYPARENT_CHANNEL_IDROOT_CHANNEL_IDYROOT_CHANNEL_ID - N - + + + +
+ + + + + ID_JOB + Y + ID_JOB + + + CHANNEL_ID + Y + CHANNEL_ID + + + JOBNAME + Y + JOBNAME + + + STATUS + Y + STATUS + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + STARTDATE + Y + STARTDATE + + + ENDDATE + Y + ENDDATE + + + LOGDATE + Y + LOGDATE + + + DEPDATE + Y + DEPDATE + + + REPLAYDATE + Y + REPLAYDATE + + + LOG_FIELD + Y + LOG_FIELD + + + EXECUTING_SERVER + N + EXECUTING_SERVER + + + EXECUTING_USER + N + EXECUTING_USER + + + START_JOB_ENTRY + N + START_JOB_ENTRY + + + CLIENT + N + CLIENT + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + JOBNAME + Y + TRANSNAME + + + JOBENTRYNAME + Y + STEPNAME + + + LINES_READ + Y + LINES_READ + + + LINES_WRITTEN + Y + LINES_WRITTEN + + + LINES_UPDATED + Y + LINES_UPDATED + + + LINES_INPUT + Y + LINES_INPUT + + + LINES_OUTPUT + Y + LINES_OUTPUT + + + LINES_REJECTED + Y + LINES_REJECTED + + + ERRORS + Y + ERRORS + + + RESULT + Y + RESULT + + + NR_RESULT_ROWS + Y + NR_RESULT_ROWS + + + NR_RESULT_FILES + Y + NR_RESULT_FILES + + + LOG_FIELD + N + LOG_FIELD + + + COPY_NR + N + COPY_NR + + + + + +
+ + + ID_BATCH + Y + ID_BATCH + + + CHANNEL_ID + Y + CHANNEL_ID + + + LOG_DATE + Y + LOG_DATE + + + LOGGING_OBJECT_TYPE + Y + LOGGING_OBJECT_TYPE + + + OBJECT_NAME + Y + OBJECT_NAME + + + OBJECT_COPY + Y + OBJECT_COPY + + + REPOSITORY_DIRECTORY + Y + REPOSITORY_DIRECTORY + + + FILENAME + Y + FILENAME + + + OBJECT_ID + Y + OBJECT_ID + + + OBJECT_REVISION + Y + OBJECT_REVISION + + + PARENT_CHANNEL_ID + Y + PARENT_CHANNEL_ID + + + ROOT_CHANNEL_ID + Y + ROOT_CHANNEL_ID + + + N + START SPECIAL + Y N N @@ -113,14 +317,16 @@ 0 130 162 - + + tranf_atz_mondrian TRANS + filename - ${Internal.Job.Filename.Directory}/update-cache-pentaho-update-cache-pentaho-5/transf_atz_mondrian.ktr + ${Internal.Job.Filename.Directory}/update-cache-pentaho-update-cache-pentaho-5/transf_atz_mondrian.ktr N N @@ -140,47 +346,61 @@ N N N - Y - PENTAHO_HOST - - ${PENTAHO_HOST} - PENTAHO_PORT - - ${PENTAHO_PORT} - N + + N + + Y + + PENTAHO_HOST + + ${PENTAHO_HOST} + + + PENTAHO_PORT + + ${PENTAHO_PORT} + + + N Y 0 293 162 - + + Success SUCCESS + N Y 0 756 162 - + + Abort job ABORT + N Y 0 448 - 292 - + 288 + + transf_atz_saiku TRANS + filename - ${Internal.Job.Filename.Directory}/update-cache-pentaho-update-cache-pentaho-5/transf_atz_saiku.ktr + ${Internal.Job.Filename.Directory}/update-cache-pentaho-update-cache-pentaho-5/transf_atz_saiku.ktr N N @@ -200,26 +420,36 @@ N N N - Y - PENTAHO_HOST - - ${PENTAHO_HOST} - PENTAHO_PORT - - ${PENTAHO_PORT} - N + + N + + Y + + PENTAHO_HOST + + ${PENTAHO_HOST} + + + PENTAHO_PORT + + ${PENTAHO_PORT} + + + N Y 0 448 162 - + + transf_atz_cda TRANS + filename - ${Internal.Job.Filename.Directory}/update-cache-pentaho-update-cache-pentaho-5/transf_atz_cda.ktr + ${Internal.Job.Filename.Directory}/update-cache-pentaho-update-cache-pentaho-5/transf_atz_cda.ktr N N @@ -239,19 +469,28 @@ N N N - Y - PENTAHO_HOST - - ${PENTAHO_HOST} - PENTAHO_PORT - - ${PENTAHO_PORT} - N + + N + + Y + + PENTAHO_HOST + + ${PENTAHO_HOST} + + + PENTAHO_PORT + + ${PENTAHO_PORT} + + + N Y 0 604 162 - + + @@ -320,7 +559,10 @@ - Autor: Daniel Albuquerque Rabelo Email: contato@danielrabelo.com Edited by: fernando.maia@it4biz.com.br + Autor: Daniel Albuquerque Rabelo +Email: contato@danielrabelo.com + +Edited by: fernando.maia@it4biz.com.br 8 6 243 @@ -341,5 +583,5 @@ Y - + diff --git a/endpoints/kettle/job_verify_installation.kjb b/endpoints/kettle/job_verify_installation.kjb index fddcbb9..1cf2a57 100644 --- a/endpoints/kettle/job_verify_installation.kjb +++ b/endpoints/kettle/job_verify_installation.kjb @@ -386,8 +386,8 @@ N Y 0 - 201 - 317 + 208 + 320 @@ -426,8 +426,8 @@ N Y 0 - 450 - 305 + 432 + 320 @@ -497,6 +497,32 @@ + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +Removed Quotes from table names to make them more universal +=========================================== + 0 + 0 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + diff --git a/endpoints/kettle/set_metadata.ktr b/endpoints/kettle/set_metadata.ktr index e828ce0..992daf5 100644 --- a/endpoints/kettle/set_metadata.ktr +++ b/endpoints/kettle/set_metadata.ktr @@ -455,6 +455,32 @@ N + + =========================================== +Update: 30 June 2021 +Ibrahim Bolarinwa +https://github.com/Ibby-B +MySQL Compatibility +=========================================== + 226 + 40 + 355 + 106 + Segoe UI + 9 + N + N + 0 + 0 + 0 + 255 + 205 + 112 + 100 + 100 + 100 + Y + Hibernate @@ -509,28 +535,28 @@ - TINP Get Metadata - Get System Info + DB Type Check 2 + TOU - Metadata Y - Get System Info - Get variables access 2 + DB Type Check 2 + TOU - Metadata (MySQL) Y - Get variables access 2 - Select values 2 + DB type check + TINP Get Metadata Y - Select values 2 - Truncate pentaho_ce_audit_metadata + DB type check + TINP Get Metadata (MySQL) Y - Select values 2 - Wait pentaho_ce_audit_metadata finish + Get System Info + Get variables access 2 Y @@ -539,43 +565,43 @@ Y - TINP Get Metadata (MySQL) - Get System Info + Get variables access 2 + Select values 2 Y - DB type check - TINP Get Metadata + Select values 2 + Truncate pentaho_ce_audit_metadata Y - DB type check - TINP Get Metadata (MySQL) + Select values 2 + Wait for Truncate step to finish Y - Wait pentaho_ce_audit_metadata finish - DB Type Check 2 + TINP Get Metadata + Dynamic SQL row Y - Get database type - Wait pentaho_ce_audit_metadata finish + TINP Get Metadata (MySQL) + Dynamic SQL row Y - DB Type Check 2 - TOU - Metadata + Wait for Truncate step to finish + DB Type Check 2 Y - DB Type Check 2 - TOU - Metadata (MySQL) + trigger + Get database type Y - trigger - Get database type + Dynamic SQL row + Get System Info Y @@ -612,8 +638,8 @@ - 1232 - 320 + 1506 + 424 Y @@ -650,8 +676,40 @@ - 240 - 112 + 514 + 216 + Y + + + + Dynamic SQL row + DynamicSQLRow + + Y + + 1 + + none + + + Hibernate + 1 + SELECT date '1970-01-01' AS DATA_POINT , 0 AS NUMBER_ROWS + N + N + sql + N + + + + + + + + + + 834 + 216 Y @@ -681,8 +739,8 @@ - 624 - 112 + 1030 + 216 Y @@ -690,7 +748,7 @@ Get database type UserDefinedJavaClass - N + Y 1 @@ -800,8 +858,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 160 - 320 + 514 + 424 Y @@ -839,8 +897,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 784 - 112 + 1190 + 216 Y @@ -865,6 +923,9 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) PENTAHO_USER + + database_type + N NUMBER_ROWS @@ -893,14 +954,14 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 944 - 112 + 1346 + 216 Y TINP Get Metadata - TableInput + ScriptValueMod Y @@ -909,20 +970,32 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) none - Hibernate - SELECT - "DATA" - , (select count(*) FROM "PENTAHO_CE_AUDIT") as NUMBER_ROWS -FROM "PENTAHO_CE_AUDIT" -ORDER BY "DATA" DESC -LIMIT 1 - 0 - - N - N - N - N - + N + 9 + + + 0 + Script 1 + //Script here + +var sql = + 'SELECT "DATA" ' + + ', (select count(*) FROM "PENTAHO_CE_AUDIT") as NUMBER_ROWS ' + + 'FROM "PENTAHO_CE_AUDIT" ' + + 'ORDER BY "DATA" DESC ' + + 'LIMIT 1 '; + + + + + sql + sql + String + -1 + -1 + N + + @@ -932,14 +1005,14 @@ LIMIT 1 - 432 - 48 + 690 + 168 Y TINP Get Metadata (MySQL) - TableInput + ScriptValueMod Y @@ -948,20 +1021,32 @@ LIMIT 1 none - Hibernate - SELECT - `DATA` - , (select count(*) FROM `PENTAHO_CE_AUDIT`) as NUMBER_ROWS -FROM `PENTAHO_CE_AUDIT` -ORDER BY `DATA` DESC -LIMIT 1 - 0 - - N - N - N - N - + N + 9 + + + 0 + Script 1 + //Script here + +var sql = + 'SELECT `DATA` ' + + ', (select count(*) FROM `PENTAHO_CE_AUDIT`) as NUMBER_ROWS ' + + 'FROM `PENTAHO_CE_AUDIT` ' + + 'ORDER BY `DATA` DESC ' + + 'LIMIT 1 ' ; + + + + + sql + sql + String + -1 + -1 + N + + @@ -971,8 +1056,8 @@ LIMIT 1 - 432 - 192 + 690 + 248 Y @@ -1027,8 +1112,8 @@ LIMIT 1 - 1408 - 224 + 1682 + 328 Y @@ -1083,8 +1168,8 @@ LIMIT 1 - 1408 - 400 + 1682 + 504 Y @@ -1121,13 +1206,13 @@ LIMIT 1 - 1168 - 112 + 1574 + 216 Y - Wait pentaho_ce_audit_metadata finish + Wait for Truncate step to finish BlockUntilStepsFinish Y @@ -1152,8 +1237,8 @@ LIMIT 1 - 944 - 320 + 1346 + 424 Y @@ -1184,8 +1269,8 @@ LIMIT 1 - 0 - 320 + 406 + 424 Y diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index 640053b..20ba560 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -477,8 +477,8 @@ Input logins from PRO_AUDIT table =========================================================================================== - 183 - 59 + 208 + 240 739 252 Segoe UI @@ -517,8 +517,8 @@ Capture logins from PRO_AUDIT table ========================================================================================== - 183 - 347 + 208 + 528 739 312 Segoe UI @@ -584,8 +584,8 @@ Transformation for table pentaho_ce_audit - 1223 - 43 + 1248 + 224 547 717 Segoe UI @@ -642,8 +642,8 @@ Example: - 1799 - 235 + 1824 + 416 922 593 Segoe UI @@ -684,8 +684,8 @@ ANSI version that would work with all DBs (at least not without changing the nam - 2535 - -133 + 2576 + 48 651 348 Segoe UI @@ -709,7 +709,7 @@ ANSI version that would work with all DBs (at least not without changing the nam HYPERSONIC JNDI - Hibernate + hibernate 1521 Encrypted @@ -1074,8 +1074,8 @@ ANSI version that would work with all DBs (at least not without changing the nam - 1367 - 219 + 1392 + 400 Y @@ -1113,8 +1113,8 @@ ANSI version that would work with all DBs (at least not without changing the nam - 359 - 139 + 384 + 320 Y @@ -1152,8 +1152,8 @@ ANSI version that would work with all DBs (at least not without changing the nam - 375 - 427 + 400 + 608 Y @@ -1207,8 +1207,8 @@ ANSI version that would work with all DBs (at least not without changing the nam - 1079 - 315 + 1104 + 496 Y @@ -1238,8 +1238,8 @@ ANSI version that would work with all DBs (at least not without changing the nam - 1367 - 155 + 1392 + 336 Y @@ -1299,8 +1299,8 @@ var time_key = - 2215 - 651 + 2240 + 832 Y @@ -1353,8 +1353,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 2103 - 571 + 2128 + 752 Y @@ -1390,8 +1390,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 2119 - 651 + 2144 + 832 Y @@ -1424,8 +1424,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 631 - 139 + 656 + 320 Y @@ -1462,8 +1462,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 2903 - 155 + 2928 + 336 Y @@ -1564,8 +1564,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 471 - 427 + 496 + 608 Y @@ -1666,8 +1666,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 455 - 139 + 480 + 320 Y @@ -1797,8 +1797,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1367 - 635 + 1392 + 816 Y @@ -1841,8 +1841,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 551 - 139 + 576 + 320 Y @@ -1885,8 +1885,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1879 - 571 + 1904 + 752 Y @@ -1929,8 +1929,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1879 - 651 + 1904 + 832 Y @@ -1973,8 +1973,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1879 - 763 + 1904 + 944 Y @@ -2012,8 +2012,8 @@ var am_pm = (hours24 >= 12 ? 'PM' : 'AM') - 1367 - 315 + 1392 + 496 Y @@ -2131,8 +2131,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2775 - 43 + 2800 + 224 Y @@ -2166,8 +2166,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2007 - 571 + 2032 + 752 Y @@ -2206,8 +2206,45 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1623 - 331 + 1648 + 512 + Y + + + + Join rows (cartesian product) + JoinRows + + Y + + 1 + + none + + + %%java.io.tmpdir%% + out + 500 +
lookup with time fields
+ + + N + + = + + + + + + + + + + + + + 2800 + 336 Y
@@ -2241,8 +2278,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2007 - 651 + 2032 + 832 Y @@ -2281,8 +2318,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1623 - 155 + 1648 + 336 Y @@ -2437,8 +2474,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2407 - 651 + 2432 + 832 Y @@ -2462,8 +2499,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 647 - 219 + 672 + 400 Y @@ -2487,8 +2524,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 663 - 555 + 688 + 736 Y @@ -2522,8 +2559,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2007 - 763 + 2032 + 944 Y @@ -2601,8 +2638,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1623 - 235 + 1648 + 416 Y @@ -2643,8 +2680,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 2615 - 651 + 2640 + 832 Y @@ -2675,8 +2712,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 1367 - 491 + 1392 + 672 Y @@ -2729,8 +2766,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 727 - 427 + 752 + 608 Y @@ -2779,8 +2816,8 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) - 599 - 427 + 624 + 608 Y @@ -2817,8 +2854,8 @@ GROUP BY INST_ID - 231 - 139 + 256 + 320 Y @@ -2854,8 +2891,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 247 - 427 + 272 + 608 Y @@ -2978,8 +3015,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 3063 - 267 + 3088 + 464 Y @@ -3102,8 +3139,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 3063 - 59 + 3088 + 240 Y @@ -3140,8 +3177,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1079 - 187 + 1104 + 368 Y @@ -3173,8 +3210,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1367 - 395 + 1392 + 576 Y @@ -3231,8 +3268,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1623 - 635 + 1648 + 816 Y @@ -3309,8 +3346,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1479 - 635 + 1504 + 816 Y @@ -3359,8 +3396,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1623 - 539 + 1648 + 720 Y @@ -3401,8 +3438,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 1623 - 427 + 1648 + 608 Y @@ -3453,8 +3490,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 727 - 139 + 752 + 320 Y @@ -3505,8 +3542,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 855 - 427 + 880 + 608 Y @@ -3573,8 +3610,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 2615 - 155 + 2640 + 336 Y @@ -3605,45 +3642,8 @@ GROUP BY INST_ID, MESSAGE_NAME - 2615 - 43 - Y - - - - Join rows (cartesian product) - JoinRows - - Y - - 1 - - none - - - %%java.io.tmpdir%% - out - 500 -
lookup with time fields
- - - N - - = - - - - - - - - - - - - - 2775 - 155 + 2640 + 224 Y
From 91c5e62ca3268bec556706bb18b47d0eca44f972 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Wed, 30 Jun 2021 15:52:29 +0100 Subject: [PATCH 13/21] Pentaho 9.1 and MySQL compatibility --- endpoints/kettle/transf_refresh.ktr | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/endpoints/kettle/transf_refresh.ktr b/endpoints/kettle/transf_refresh.ktr index 20ba560..e2cad55 100644 --- a/endpoints/kettle/transf_refresh.ktr +++ b/endpoints/kettle/transf_refresh.ktr @@ -709,7 +709,7 @@ ANSI version that would work with all DBs (at least not without changing the nam HYPERSONIC JNDI - hibernate + Hibernate 1521 Encrypted From 91029aca0b8f9f0732bcc7324a3c7473310c1390 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Wed, 30 Jun 2021 16:21:34 +0100 Subject: [PATCH 14/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/get_metadata.ktr | 217 ++++++++++++++---------------- endpoints/kettle/set_metadata.ktr | 2 +- 2 files changed, 101 insertions(+), 118 deletions(-) diff --git a/endpoints/kettle/get_metadata.ktr b/endpoints/kettle/get_metadata.ktr index 158ae89..80698f5 100644 --- a/endpoints/kettle/get_metadata.ktr +++ b/endpoints/kettle/get_metadata.ktr @@ -546,11 +546,11 @@ MySQL Compatibility Dynamic SQL row - Select values and set Metadata meta-data + Select values Y - Select values and set Metadata meta-data + Select values OUTPUT Y @@ -593,6 +593,39 @@ MySQL Compatibility Y + + Dynamic SQL row + DynamicSQLRow + + Y + + 1 + + none + + + Hibernate + 1 + SELECT TIMESTAMP '1970-01-01' AS LAST_UPDATE , 0 AS NUMBER_ROWS, 'Fake_User' AS USERONI + + N + N + sql + N + + + + + + + + + + 528 + 160 + Y + + Get database type UserDefinedJavaClass @@ -712,6 +745,71 @@ public void dispose(StepMetaInterface smi, StepDataInterface sdi) Y + + OUTPUT + Dummy + + Y + + 1 + + none + + + + + + + + + + + + 864 + 160 + Y + + + + Select values + SelectValues + + Y + + 1 + + none + + + + + LAST_UPDATE + Last update + + + NUMBER_ROWS + Number rows + + + USERONI + User + + N + + + + + + + + + + + 704 + 160 + Y + + TINP Get Metadata ScriptValueMod @@ -848,121 +946,6 @@ var sql = Y - - Dynamic SQL row - DynamicSQLRow - - Y - - 1 - - none - - - Hibernate - 1 - SELECT date '1970-01-01' AS LAST_UPDATE , 0 AS NUMBER_ROWS, 'Fake_User' AS USERONI - - N - N - sql - N - - - - - - - - - - 528 - 160 - Y - - - - Select values and set Metadata meta-data - SelectValues - - Y - - 1 - - none - - - - - LAST_UPDATE - Last update - - - NUMBER_ROWS - Number rows - - - USERONI - User - - N - - Last update - Last update - Timestamp - 6 - -2 - yyyy-MM-dd HH:mm:ss - false - - - false - - - - - - - - - - - - - - - - - 704 - 160 - Y - - - - OUTPUT - Dummy - - Y - - 1 - - none - - - - - - - - - - - - 864 - 160 - Y - - diff --git a/endpoints/kettle/set_metadata.ktr b/endpoints/kettle/set_metadata.ktr index 992daf5..5516926 100644 --- a/endpoints/kettle/set_metadata.ktr +++ b/endpoints/kettle/set_metadata.ktr @@ -694,7 +694,7 @@ MySQL Compatibility Hibernate 1 - SELECT date '1970-01-01' AS DATA_POINT , 0 AS NUMBER_ROWS + SELECT TIMESTAMP '1970-01-01' AS DATA_POINT , 0 AS NUMBER_ROWS N N sql From 42463c5a3eac0d0c6050d3e79608edaba350b075 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Wed, 30 Jun 2021 16:38:45 +0100 Subject: [PATCH 15/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/get_metadata.ktr | 2 +- endpoints/kettle/set_metadata.ktr | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/endpoints/kettle/get_metadata.ktr b/endpoints/kettle/get_metadata.ktr index 80698f5..1b12813 100644 --- a/endpoints/kettle/get_metadata.ktr +++ b/endpoints/kettle/get_metadata.ktr @@ -606,7 +606,7 @@ MySQL Compatibility Hibernate 1 - SELECT TIMESTAMP '1970-01-01' AS LAST_UPDATE , 0 AS NUMBER_ROWS, 'Fake_User' AS USERONI + SELECT TIMESTAMP '1970-01-01 00:00:00' AS LAST_UPDATE , 0 AS NUMBER_ROWS, 'Fake_User' AS USERONI N N diff --git a/endpoints/kettle/set_metadata.ktr b/endpoints/kettle/set_metadata.ktr index 5516926..a5c70ac 100644 --- a/endpoints/kettle/set_metadata.ktr +++ b/endpoints/kettle/set_metadata.ktr @@ -694,7 +694,7 @@ MySQL Compatibility Hibernate 1 - SELECT TIMESTAMP '1970-01-01' AS DATA_POINT , 0 AS NUMBER_ROWS + SELECT TIMESTAMP '1970-01-01 00:00:00' AS DATA_POINT , 0 AS NUMBER_ROWS N N sql From ee86fe1e20ae528e8efb77f68cf7d70a02d8e08e Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Wed, 30 Jun 2021 17:21:59 +0100 Subject: [PATCH 16/21] Pentaho 9.1 & MySQL compatibility --- endpoints/kettle/set_metadata.ktr | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/endpoints/kettle/set_metadata.ktr b/endpoints/kettle/set_metadata.ktr index a5c70ac..1b31725 100644 --- a/endpoints/kettle/set_metadata.ktr +++ b/endpoints/kettle/set_metadata.ktr @@ -1130,7 +1130,7 @@ var sql = Hibernate -
PENTAHO_CE_AUDIT_METADATA
+ `PENTAHO_CE_AUDIT_METADATA`
1000 N N @@ -1147,15 +1147,15 @@ var sql = - NUMBER_ROWS + `NUMBER_ROWS` NUMBER_ROWS - LAST_UPDATE + `LAST_UPDATE` LAST_UPDATE - USER + `USER` PENTAHO_USER From 223d6717a31a6a28e5839c79715656368b666f6a Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Wed, 30 Jun 2021 18:12:15 +0100 Subject: [PATCH 17/21] Pentaho 9.1 Compatibility --- dashboards/admin/dashboard.cda | 66 +- dashboards/admin/dashboard.cdfde | 14974 +++++++++++++++-------------- 2 files changed, 7957 insertions(+), 7083 deletions(-) diff --git a/dashboards/admin/dashboard.cda b/dashboards/admin/dashboard.cda index 2c37344..caaa52a 100644 --- a/dashboards/admin/dashboard.cda +++ b/dashboards/admin/dashboard.cda @@ -30,50 +30,52 @@ Hibernate
- + mdxQueryTop10UsersByExecution compact + - WITH + +WHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})]]> - + mdxQueryTop10UsersByLogin compact + - WITH + +WHERE CrossJoin({${filterYearParameter}}, {[Type].[login]})]]> - + mdxQueryAccessByHour compact + - WITH + +WHERE [~FILTER]]]> - + + filterYearQuery compact + - with member [Measures].[Name] as '[Year].CurrentMember.UniqueName' + + from [Pentaho CE Audit]]]> - + + mdxQueryFiles compact + - WITH + +WHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})]]> - + mdxQueryExecutionByHours compact + - WITH + +WHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})]]> - + mdxQueryExecByDayOfWeek compact + - WITH + +WHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})]]> \ No newline at end of file diff --git a/dashboards/admin/dashboard.cdfde b/dashboards/admin/dashboard.cdfde index 713b6d3..cb6f1a2 100644 --- a/dashboards/admin/dashboard.cdfde +++ b/dashboards/admin/dashboard.cdfde @@ -1,7053 +1,7923 @@ -{ - "layout": { - "title": "Two x One Template", - "rows": [ - { - "id": "c5f0d715-8925-75fd-061a-a6c07073af11", - "type": "LayoutResourceCode", - "typeDesc": "Resource", - "parent": "UnIqEiD", - "properties": [ - { - "name": "name", - "value": "cssPaddingRightSelectForm", - "type": "Id" - }, - { - "name": "resourceType", - "value": "Css", - "type": "Label" - }, - { - "name": "resourceCode", - "value": ".has-error .form-control {\n padding-right: 16px;\n}\n\n.has-warning .form-control {\n padding-right: 16px;\n}\n\n.has-success .form-control {\n padding-right: 16px;\n} ", - "type": "Resource" - } - ] - }, - { - "id": "7a5ba60f-36cc-8599-1d40-fa8072a7081f", - "type": "LayoutResourceCode", - "typeDesc": "Resource", - "parent": "UnIqEiD", - "properties": [ - { - "name": "name", - "value": "TwitterCode", - "type": "Id" - }, - { - "name": "resourceType", - "value": "Javascript", - "type": "Label" - }, - { - "name": "resourceCode", - "value": "//hashtag buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\"https://platform.twitter.com/widgets.js\";fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\"script\",\"twitter-wjs\")); \n\n////follow buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\"https://platform.twitter.com/widgets.js\";fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\"script\",\"twitter-wjs\")); ", - "type": "Resource" - } - ] - }, - { - "id": "7d418342-2cee-2cc7-34ee-1caa112cbdaa", - "type": "LayoutResourceCode", - "typeDesc": "Resource", - "parent": "UnIqEiD", - "properties": [ - { - "name": "name", - "value": "FacebookCode", - "type": "Id" - }, - { - "name": "resourceType", - "value": "Javascript", - "type": "Label" - }, - { - "name": "resourceCode", - "value": "(function(d, s, id) {\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) return;\n js = d.createElement(s); js.id = id;\n js.src = \"//connect.facebook.net/pt_BR/sdk.js#xfbml=1&version=v2.0\";\n fjs.parentNode.insertBefore(js, fjs);\n}(document, 'script', 'facebook-jssdk')); ", - "type": "Resource" - } - ] - }, - { - "id": "4ab17cf8-41bd-67e8-2b2c-6e71aa306efd", - "type": "LayoutResourceCode", - "typeDesc": "Resource", - "parent": "UnIqEiD", - "properties": [ - { - "name": "name", - "value": "cssExportButtonChart", - "type": "Id" - }, - { - "name": "resourceType", - "value": "Css", - "type": "Label" - }, - { - "name": "resourceCode", - "value": ".exportButton {\n \n padding: 2px 0px !important;\n \n} ", - "type": "Resource" - } - ] - }, - { - "id": "5580a813-faaa-e703-b166-c34f25acd0fb", - "type": "LayoutRow", - "typeDesc": "Row", - "parent": "UnIqEiD", - "properties": [ - { - "name": "name", - "value": "body", - "type": "Id" - }, - { - "name": "height", - "value": "", - "type": "Integer" - }, - { - "name": "backgroundColor", - "value": "", - "type": "Color" - }, - { - "name": "roundCorners", - "value": "", - "type": "RoundCorners" - }, - { - "name": "textAlign", - "value": "", - "type": "TextAlign" - }, - { - "name": "cssClass", - "value": "", - "type": "String" - } - ] - }, - { - "id": "7bc0fa83-4a4a-e580-3ddf-ace97953484f", - "type": "LayoutHtml", - "typeDesc": "Html", - "parent": "5580a813-faaa-e703-b166-c34f25acd0fb", - "properties": [ - { - "name": "name", - "value": "Html", - "type": "Id" - }, - { - "name": "html", - "value": "
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n\n
\n\n
\n\n
\n \n
\n \n
\n\n
\n
\n
Top Users by # of Execution(s)
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
Top Users by # of Login(s)
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
# of Execution(s) by Day of the Week
\n
\n
\n
\n
\n
\n
\n\n\n
\n
\n
# of Execution(s) by Hour
\n
\n
\n
\n
\n
\u0001\n
\n \n\n
\n
\n
# of Execution(s)
\n
\n
\n
\n
\n
\n\n
\n ", - "type": "Html" - }, - { - "name": "fontSize", - "value": "", - "type": "Integer" - }, - { - "name": "color", - "value": "", - "type": "Color" - }, - { - "name": "cssClass", - "value": "", - "type": "String" - } - ] - }, - { - "id": "0b95f4b8-c4f2-01ed-acb7-32e097088037", - "type": "LayoutRow", - "typeDesc": "Row", - "parent": "UnIqEiD", - "properties": [ - { - "name": "name", - "value": "modal", - "type": "Id" - }, - { - "name": "height", - "value": "", - "type": "Integer" - }, - { - "name": "backgroundColor", - "value": "", - "type": "Color" - }, - { - "name": "roundCorners", - "value": "", - "type": "RoundCorners" - }, - { - "name": "textAlign", - "value": "", - "type": "TextAlign" - }, - { - "name": "cssClass", - "value": "", - "type": "String" - } - ] - }, - { - "id": "b18d6ff4-48f5-b70c-c3e3-610c502a20f9", - "type": "LayoutHtml", - "typeDesc": "Html", - "parent": "0b95f4b8-c4f2-01ed-acb7-32e097088037", - "properties": [ - { - "name": "name", - "value": "", - "type": "Id" - }, - { - "name": "html", - "value": "\n
\n
\n
\n
\n \n

Pentaho CE Audit - Installation

\n
\n
\n

Please fill out the form below to complete the installation.

\n \n\n
\n
\n\t \t\n\t \t\n \n \t
\n \t
\n\t \t\n\t \t\n \t \n \t
\n\t
\n \t\t\n \t\t\n \t \n \t
\n\t
\n \t\t\n \t\t\n \n \t
\n\t
\n\t\t\n\t\t\n \n\t
\n\t
\n \t\n \t\n \t \n Only numbers. \n \t
\n\t \n
\n\n\n\n \n
\n
\n

\n \t\tThis plug-in will apply automatically an Environment configuration, if you want to know more about it please visit the link\n \t\t\n \t\t\t\n \t\t\n \t

\n
\n
\n \n
\n \n \n
\n
\n
\n
", - "type": "Html" - }, - { - "name": "fontSize", - "value": "", - "type": "Integer" - }, - { - "name": "color", - "value": "", - "type": "Color" - }, - { - "name": "cssClass", - "value": "", - "type": "String" - } - ] - } - ] - }, - "components": { - "rows": [ - { - "id": "CHARTS", - "name": "Charts", - "type": "Label", - "typeDesc": "Group", - "parent": "UnIqEiD", - "properties": [ - { - "name": "Group", - "value": "Charts", - "type": "Label" - } - ] - }, - { - "id": "f9ac1c5e-b401-c35a-b254-339de4c256e6", - "type": "ComponentscccBarChart", - "typeDesc": "CCC Bar Chart", - "parent": "CHARTS", - "properties": [ - { - "name": "name", - "value": "BarChartTop10UsersByExecution", - "type": "Id" - }, - { - "name": "title", - "value": "", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:filterYearParameter}','${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"filterYearParameter\"]]", - "type": "ValuesArray" - }, - { - "name": "dataSource", - "value": "mdxQueryTop10UsersByExecution", - "type": "Datasource" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "height", - "value": "300", - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "width", - "value": "", - "type": "Integer" - }, - { - "name": "colors", - "value": "[]", - "type": "Array" - }, - { - "name": "htmlObject", - "value": "Chart01-div", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - }, - { - "name": "extensionPoints", - "value": "[]", - "type": "EditorValuesArray" - }, - { - "name": "animate", - "value": true, - "type": "Boolean" - }, - { - "name": "barOrthoSizeMin", - "value": 1.5, - "type": "Float" - }, - { - "name": "barSizeMax", - "value": 2000, - "type": "Float" - }, - { - "name": "barSizeRatio", - "value": 0.9, - "type": "Float" - }, - { - "name": "barStackedMargin", - "value": 0, - "type": "Float" - }, - { - "name": "baseAxisBandSize", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacing", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisDoubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "baseAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "baseAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccBaseAxisOverlappedLabelsModeCustom" - }, - { - "name": "baseAxisPosition", - "value": "", - "type": "cccBaseAxisPositionCustom" - }, - { - "name": "baseAxisSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleAlign", - "value": "", - "type": "cccBaseAxisTitleAlignCustom" - }, - { - "name": "baseAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "baseAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "baseAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTooltipAutoContent", - "value": "value", - "type": "cccBaseAxisTooltipAutoContentCustom" - }, - { - "name": "baseAxisTooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "categoryRole", - "value": "", - "type": "String" - }, - { - "name": "clearSelectionMode", - "value": "emptySpaceClick", - "type": "cccClearSelectionModeCustom" - }, - { - "name": "clickable", - "value": "true", - "type": "Boolean" - }, - { - "name": "clickAction", - "value": "function click(chart) {\n \n console.log(chart);\n \n var chartValueQuantity=chart.vars.category.value;\n// Dashboards.fireChange(\"pUser\", user)\n \n alert(chartValueQuantity);\n \n //alert(quantity);\n \n //console.log(quantity);\n \n} ", - "type": "JavaScript" - }, - { - "name": "color2AxisColors", - "value": "[]", - "type": "Array" - }, - { - "name": "color2AxisLegendClickMode", - "value": "toggleVisible", - "type": "cccColor2AxisLegendClickModeCustom" - }, - { - "name": "color2AxisLegendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendShape", - "value": "", - "type": "cccColor2AxisLegendShapeCustom" - }, - { - "name": "color2AxisLegendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "color2AxisTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "color2AxisUnbound", - "value": "", - "type": "String" - }, - { - "name": "colorRole", - "value": "", - "type": "String" - }, - { - "name": "colorTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "colorUnbound", - "value": "", - "type": "String" - }, - { - "name": "compatVersion", - "value": 2, - "type": "Float" - }, - { - "name": "contentMargins", - "value": "0", - "type": "String" - }, - { - "name": "contentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "crosstabMode", - "value": true, - "type": "Boolean" - }, - { - "name": "ctrlSelectMode", - "value": true, - "type": "Boolean" - }, - { - "name": "dataCategoriesCount", - "value": "", - "type": "Float" - }, - { - "name": "dataIgnoreMetadataLabels", - "value": false, - "type": "Boolean" - }, - { - "name": "dataMeasuresInColumns", - "value": false, - "type": "Boolean" - }, - { - "name": "dataPartRole", - "value": "", - "type": "String" - }, - { - "name": "dataSeparator", - "value": "~", - "type": "String" - }, - { - "name": "dataWhere", - "value": "", - "type": "JavaScript" - }, - { - "name": "doubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "groupedLabelSep", - "value": " ~ ", - "type": "String" - }, - { - "name": "hoverable", - "value": false, - "type": "Boolean" - }, - { - "name": "ignoreNulls", - "value": true, - "type": "Boolean" - }, - { - "name": "interactive", - "value": "", - "type": "Boolean" - }, - { - "name": "isMultiValued", - "value": false, - "type": "Boolean" - }, - { - "name": "leafContentOverflow", - "value": "auto", - "type": "cccLeafContentOverflowCustom" - }, - { - "name": "legend", - "value": true, - "type": "Boolean" - }, - { - "name": "legendAlign", - "value": "", - "type": "cccLegendAlignCustom" - }, - { - "name": "legendClickMode", - "value": "toggleVisible", - "type": "cccLegendClickModeCustom" - }, - { - "name": "legendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "legendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "legendFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "legendItemPadding", - "value": "2.5", - "type": "String" - }, - { - "name": "legendItemSize", - "value": "", - "type": "String" - }, - { - "name": "legendMargins", - "value": "0", - "type": "String" - }, - { - "name": "legendMarkerSize", - "value": 15, - "type": "Float" - }, - { - "name": "legendPaddings", - "value": "5", - "type": "String" - }, - { - "name": "legendPosition", - "value": "bottom", - "type": "cccLegendPositionCustom" - }, - { - "name": "legendShape", - "value": "", - "type": "cccLegendShapeCustom" - }, - { - "name": "legendSize", - "value": "", - "type": "String" - }, - { - "name": "legendSizeMax", - "value": "", - "type": "String" - }, - { - "name": "legendTextMargin", - "value": 6, - "type": "Float" - }, - { - "name": "legendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "margins", - "value": "3", - "type": "String" - }, - { - "name": "measuresIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartColumnsMax", - "value": 3, - "type": "Float" - }, - { - "name": "multiChartIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartMax", - "value": "", - "type": "Float" - }, - { - "name": "multiChartOverflow", - "value": "grow", - "type": "cccMultiChartOverflowCustom" - }, - { - "name": "multiChartRole", - "value": "", - "type": "String" - }, - { - "name": "multiChartSingleColFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "multiChartSingleRowFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "nullInterpolationMode", - "value": "none", - "type": "cccNullInterpolationModeCustom" - }, - { - "name": "orientation", - "value": "vertical", - "type": "cccOrientationCustom" - }, - { - "name": "ortho2AxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisDomainRoundMode", - "value": "tick", - "type": "cccOrtho2AxisDomainRoundModeCustom" - }, - { - "name": "ortho2AxisDomainScope", - "value": "global", - "type": "cccOrtho2AxisDomainScopeCustom" - }, - { - "name": "ortho2AxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "ortho2AxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "ortho2AxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "ortho2AxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrtho2AxisOverlappedLabelsModeCustom" - }, - { - "name": "ortho2AxisPosition", - "value": "", - "type": "cccOrtho2AxisPositionCustom" - }, - { - "name": "ortho2AxisSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "ortho2AxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitle", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleAlign", - "value": "", - "type": "cccOrtho2AxisTitleAlignCustom" - }, - { - "name": "ortho2AxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "ortho2AxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisDomainRoundMode", - "value": "tick", - "type": "cccOrthoAxisDomainRoundModeCustom" - }, - { - "name": "orthoAxisDomainScope", - "value": "global", - "type": "cccOrthoAxisDomainScopeCustom" - }, - { - "name": "orthoAxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "orthoAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "orthoAxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "orthoAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrthoAxisOverlappedLabelsModeCustom" - }, - { - "name": "orthoAxisPosition", - "value": "", - "type": "cccOrthoAxisPositionCustom" - }, - { - "name": "orthoAxisSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "orthoAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleAlign", - "value": "", - "type": "cccOrthoAxisTitleAlignCustom" - }, - { - "name": "orthoAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "orthoAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "overflowMarkersVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "paddings", - "value": "0", - "type": "String" - }, - { - "name": "panelSizeRatio", - "value": "", - "type": "Float" - }, - { - "name": "percentValueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "plot2", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2AreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2ColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "plot2DotsVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2LinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2NullInterpolationMode", - "value": "none", - "type": "cccPlot2NullInterpolationModeCustom" - }, - { - "name": "plot2OrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "plot2Series", - "value": "[]", - "type": "Array" - }, - { - "name": "plot2SeriesIndexes", - "value": -1, - "type": "Array" - }, - { - "name": "plot2Stacked", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2TrendLabel", - "value": "", - "type": "String" - }, - { - "name": "plot2TrendType", - "value": "", - "type": "String" - }, - { - "name": "plot2ValuesAnchor", - "value": "", - "type": "cccPlot2ValuesAnchorCustom" - }, - { - "name": "plot2ValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "plot2ValuesMask", - "value": "{value}", - "type": "String" - }, - { - "name": "plot2ValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plotFrameVisible", - "value": "false", - "type": "Boolean" - }, - { - "name": "pointingMode", - "value": "near", - "type": "cccPointingModeCustom" - }, - { - "name": "renderCallback", - "value": "", - "type": "JavaScript" - }, - { - "name": "selectable", - "value": "true", - "type": "Boolean" - }, - { - "name": "selectionChangedAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "seriesInRows", - "value": "true", - "type": "Boolean" - }, - { - "name": "seriesRole", - "value": "", - "type": "String" - }, - { - "name": "smallAspectRatio", - "value": "", - "type": "Float" - }, - { - "name": "smallContentMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallContentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallHeight", - "value": "", - "type": "String" - }, - { - "name": "smallMargins", - "value": "2%", - "type": "String" - }, - { - "name": "smallPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitleAlign", - "value": "", - "type": "cccSmallTitleAlignCustom" - }, - { - "name": "smallTitleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "smallTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePosition", - "value": "top", - "type": "cccSmallTitlePositionCustom" - }, - { - "name": "smallTitleSize", - "value": "", - "type": "String" - }, - { - "name": "smallTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "smallWidth", - "value": "", - "type": "String" - }, - { - "name": "stacked", - "value": false, - "type": "Boolean" - }, - { - "name": "timeSeries", - "value": false, - "type": "Boolean" - }, - { - "name": "timeSeriesFormat", - "value": "%Y-%m-%d", - "type": "String" - }, - { - "name": "titleAlign", - "value": "", - "type": "cccTitleAlignCustom" - }, - { - "name": "titleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "titleMargins", - "value": "0", - "type": "String" - }, - { - "name": "titlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "titlePosition", - "value": "top", - "type": "cccTitlePositionCustom" - }, - { - "name": "titleSize", - "value": "", - "type": "String" - }, - { - "name": "titleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "tooltipArrowVisible", - "value": "", - "type": "Boolean" - }, - { - "name": "tooltipClassName", - "value": "", - "type": "String" - }, - { - "name": "tooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFade", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFollowMouse", - "value": false, - "type": "Boolean" - }, - { - "name": "tooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltipGravity", - "value": "", - "type": "cccTooltipGravityCustom" - }, - { - "name": "tooltipHtml", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipOffset", - "value": "", - "type": "Float" - }, - { - "name": "tooltipOpacity", - "value": 0.9, - "type": "Float" - }, - { - "name": "tooltipUseCorners", - "value": "", - "type": "Boolean" - }, - { - "name": "trendAreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "trendDotsVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendLabel", - "value": "", - "type": "String" - }, - { - "name": "trendLinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "trendOrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "trendStacked", - "value": false, - "type": "Boolean" - }, - { - "name": "trendType", - "value": "", - "type": "String" - }, - { - "name": "trendValuesAnchor", - "value": "right", - "type": "cccTrendValuesAnchorCustom" - }, - { - "name": "trendValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "trendValuesMask", - "value": "", - "type": "String" - }, - { - "name": "trendValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "userSelectionAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueRole", - "value": "", - "type": "String" - }, - { - "name": "valuesAnchor", - "value": "", - "type": "cccValuesAnchorCustom" - }, - { - "name": "valuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "valuesMask", - "value": "", - "type": "String" - }, - { - "name": "valuesOptimizeLegibility", - "value": "", - "type": "Boolean" - }, - { - "name": "valuesOverflow", - "value": "hide", - "type": "cccValuesOverflowCustom" - }, - { - "name": "valuesVisible", - "value": "", - "type": "Boolean" - } - ], - "meta_cdwSupport": "true" - }, - { - "id": "81622892-1299-3a71-e239-dced6ac18a3a", - "type": "ComponentscccBarChart", - "typeDesc": "CCC Bar Chart", - "parent": "CHARTS", - "properties": [ - { - "name": "name", - "value": "BarChartTop10UsersByLogin", - "type": "Id" - }, - { - "name": "title", - "value": "", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:filterYearParameter}','${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"filterYearParameter\"]]", - "type": "ValuesArray" - }, - { - "name": "dataSource", - "value": "mdxQueryTop10UsersByLogin", - "type": "Datasource" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "height", - "value": "300", - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "width", - "value": "", - "type": "Integer" - }, - { - "name": "colors", - "value": "[]", - "type": "Array" - }, - { - "name": "htmlObject", - "value": "Chart02-div", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - }, - { - "name": "extensionPoints", - "value": "[]", - "type": "EditorValuesArray" - }, - { - "name": "animate", - "value": true, - "type": "Boolean" - }, - { - "name": "barOrthoSizeMin", - "value": 1.5, - "type": "Float" - }, - { - "name": "barSizeMax", - "value": 2000, - "type": "Float" - }, - { - "name": "barSizeRatio", - "value": 0.9, - "type": "Float" - }, - { - "name": "barStackedMargin", - "value": 0, - "type": "Float" - }, - { - "name": "baseAxisBandSize", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacing", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisDoubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "baseAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "baseAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccBaseAxisOverlappedLabelsModeCustom" - }, - { - "name": "baseAxisPosition", - "value": "", - "type": "cccBaseAxisPositionCustom" - }, - { - "name": "baseAxisSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleAlign", - "value": "", - "type": "cccBaseAxisTitleAlignCustom" - }, - { - "name": "baseAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "baseAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "baseAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTooltipAutoContent", - "value": "value", - "type": "cccBaseAxisTooltipAutoContentCustom" - }, - { - "name": "baseAxisTooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "categoryRole", - "value": "", - "type": "String" - }, - { - "name": "clearSelectionMode", - "value": "emptySpaceClick", - "type": "cccClearSelectionModeCustom" - }, - { - "name": "clickable", - "value": false, - "type": "Boolean" - }, - { - "name": "clickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "color2AxisColors", - "value": "[]", - "type": "Array" - }, - { - "name": "color2AxisLegendClickMode", - "value": "toggleVisible", - "type": "cccColor2AxisLegendClickModeCustom" - }, - { - "name": "color2AxisLegendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendShape", - "value": "", - "type": "cccColor2AxisLegendShapeCustom" - }, - { - "name": "color2AxisLegendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "color2AxisTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "color2AxisUnbound", - "value": "", - "type": "String" - }, - { - "name": "colorRole", - "value": "", - "type": "String" - }, - { - "name": "colorTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "colorUnbound", - "value": "", - "type": "String" - }, - { - "name": "compatVersion", - "value": 2, - "type": "Float" - }, - { - "name": "contentMargins", - "value": "0", - "type": "String" - }, - { - "name": "contentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "crosstabMode", - "value": true, - "type": "Boolean" - }, - { - "name": "ctrlSelectMode", - "value": true, - "type": "Boolean" - }, - { - "name": "dataCategoriesCount", - "value": "", - "type": "Float" - }, - { - "name": "dataIgnoreMetadataLabels", - "value": false, - "type": "Boolean" - }, - { - "name": "dataMeasuresInColumns", - "value": false, - "type": "Boolean" - }, - { - "name": "dataPartRole", - "value": "", - "type": "String" - }, - { - "name": "dataSeparator", - "value": "~", - "type": "String" - }, - { - "name": "dataWhere", - "value": "", - "type": "JavaScript" - }, - { - "name": "doubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "groupedLabelSep", - "value": " ~ ", - "type": "String" - }, - { - "name": "hoverable", - "value": false, - "type": "Boolean" - }, - { - "name": "ignoreNulls", - "value": true, - "type": "Boolean" - }, - { - "name": "interactive", - "value": "", - "type": "Boolean" - }, - { - "name": "isMultiValued", - "value": false, - "type": "Boolean" - }, - { - "name": "leafContentOverflow", - "value": "auto", - "type": "cccLeafContentOverflowCustom" - }, - { - "name": "legend", - "value": true, - "type": "Boolean" - }, - { - "name": "legendAlign", - "value": "", - "type": "cccLegendAlignCustom" - }, - { - "name": "legendClickMode", - "value": "toggleVisible", - "type": "cccLegendClickModeCustom" - }, - { - "name": "legendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "legendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "legendFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "legendItemPadding", - "value": "2.5", - "type": "String" - }, - { - "name": "legendItemSize", - "value": "", - "type": "String" - }, - { - "name": "legendMargins", - "value": "0", - "type": "String" - }, - { - "name": "legendMarkerSize", - "value": 15, - "type": "Float" - }, - { - "name": "legendPaddings", - "value": "5", - "type": "String" - }, - { - "name": "legendPosition", - "value": "bottom", - "type": "cccLegendPositionCustom" - }, - { - "name": "legendShape", - "value": "", - "type": "cccLegendShapeCustom" - }, - { - "name": "legendSize", - "value": "", - "type": "String" - }, - { - "name": "legendSizeMax", - "value": "", - "type": "String" - }, - { - "name": "legendTextMargin", - "value": 6, - "type": "Float" - }, - { - "name": "legendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "margins", - "value": "3", - "type": "String" - }, - { - "name": "measuresIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartColumnsMax", - "value": 3, - "type": "Float" - }, - { - "name": "multiChartIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartMax", - "value": "", - "type": "Float" - }, - { - "name": "multiChartOverflow", - "value": "grow", - "type": "cccMultiChartOverflowCustom" - }, - { - "name": "multiChartRole", - "value": "", - "type": "String" - }, - { - "name": "multiChartSingleColFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "multiChartSingleRowFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "nullInterpolationMode", - "value": "none", - "type": "cccNullInterpolationModeCustom" - }, - { - "name": "orientation", - "value": "vertical", - "type": "cccOrientationCustom" - }, - { - "name": "ortho2AxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisDomainRoundMode", - "value": "tick", - "type": "cccOrtho2AxisDomainRoundModeCustom" - }, - { - "name": "ortho2AxisDomainScope", - "value": "global", - "type": "cccOrtho2AxisDomainScopeCustom" - }, - { - "name": "ortho2AxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "ortho2AxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "ortho2AxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "ortho2AxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrtho2AxisOverlappedLabelsModeCustom" - }, - { - "name": "ortho2AxisPosition", - "value": "", - "type": "cccOrtho2AxisPositionCustom" - }, - { - "name": "ortho2AxisSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "ortho2AxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitle", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleAlign", - "value": "", - "type": "cccOrtho2AxisTitleAlignCustom" - }, - { - "name": "ortho2AxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "ortho2AxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisDomainRoundMode", - "value": "tick", - "type": "cccOrthoAxisDomainRoundModeCustom" - }, - { - "name": "orthoAxisDomainScope", - "value": "global", - "type": "cccOrthoAxisDomainScopeCustom" - }, - { - "name": "orthoAxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "orthoAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "orthoAxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "orthoAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrthoAxisOverlappedLabelsModeCustom" - }, - { - "name": "orthoAxisPosition", - "value": "", - "type": "cccOrthoAxisPositionCustom" - }, - { - "name": "orthoAxisSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "orthoAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleAlign", - "value": "", - "type": "cccOrthoAxisTitleAlignCustom" - }, - { - "name": "orthoAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "orthoAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "overflowMarkersVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "paddings", - "value": "0", - "type": "String" - }, - { - "name": "panelSizeRatio", - "value": "", - "type": "Float" - }, - { - "name": "percentValueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "plot2", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2AreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2ColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "plot2DotsVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2LinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2NullInterpolationMode", - "value": "none", - "type": "cccPlot2NullInterpolationModeCustom" - }, - { - "name": "plot2OrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "plot2Series", - "value": "[]", - "type": "Array" - }, - { - "name": "plot2SeriesIndexes", - "value": -1, - "type": "Array" - }, - { - "name": "plot2Stacked", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2TrendLabel", - "value": "", - "type": "String" - }, - { - "name": "plot2TrendType", - "value": "", - "type": "String" - }, - { - "name": "plot2ValuesAnchor", - "value": "", - "type": "cccPlot2ValuesAnchorCustom" - }, - { - "name": "plot2ValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "plot2ValuesMask", - "value": "{value}", - "type": "String" - }, - { - "name": "plot2ValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plotFrameVisible", - "value": "false", - "type": "Boolean" - }, - { - "name": "pointingMode", - "value": "near", - "type": "cccPointingModeCustom" - }, - { - "name": "renderCallback", - "value": "", - "type": "JavaScript" - }, - { - "name": "selectable", - "value": false, - "type": "Boolean" - }, - { - "name": "selectionChangedAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "seriesInRows", - "value": false, - "type": "Boolean" - }, - { - "name": "seriesRole", - "value": "", - "type": "String" - }, - { - "name": "smallAspectRatio", - "value": "", - "type": "Float" - }, - { - "name": "smallContentMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallContentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallHeight", - "value": "", - "type": "String" - }, - { - "name": "smallMargins", - "value": "2%", - "type": "String" - }, - { - "name": "smallPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitleAlign", - "value": "", - "type": "cccSmallTitleAlignCustom" - }, - { - "name": "smallTitleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "smallTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePosition", - "value": "top", - "type": "cccSmallTitlePositionCustom" - }, - { - "name": "smallTitleSize", - "value": "", - "type": "String" - }, - { - "name": "smallTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "smallWidth", - "value": "", - "type": "String" - }, - { - "name": "stacked", - "value": false, - "type": "Boolean" - }, - { - "name": "timeSeries", - "value": false, - "type": "Boolean" - }, - { - "name": "timeSeriesFormat", - "value": "%Y-%m-%d", - "type": "String" - }, - { - "name": "titleAlign", - "value": "", - "type": "cccTitleAlignCustom" - }, - { - "name": "titleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "titleMargins", - "value": "0", - "type": "String" - }, - { - "name": "titlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "titlePosition", - "value": "top", - "type": "cccTitlePositionCustom" - }, - { - "name": "titleSize", - "value": "", - "type": "String" - }, - { - "name": "titleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "tooltipArrowVisible", - "value": "", - "type": "Boolean" - }, - { - "name": "tooltipClassName", - "value": "", - "type": "String" - }, - { - "name": "tooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFade", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFollowMouse", - "value": false, - "type": "Boolean" - }, - { - "name": "tooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltipGravity", - "value": "", - "type": "cccTooltipGravityCustom" - }, - { - "name": "tooltipHtml", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipOffset", - "value": "", - "type": "Float" - }, - { - "name": "tooltipOpacity", - "value": 0.9, - "type": "Float" - }, - { - "name": "tooltipUseCorners", - "value": "", - "type": "Boolean" - }, - { - "name": "trendAreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "trendDotsVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendLabel", - "value": "", - "type": "String" - }, - { - "name": "trendLinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "trendOrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "trendStacked", - "value": false, - "type": "Boolean" - }, - { - "name": "trendType", - "value": "", - "type": "String" - }, - { - "name": "trendValuesAnchor", - "value": "right", - "type": "cccTrendValuesAnchorCustom" - }, - { - "name": "trendValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "trendValuesMask", - "value": "", - "type": "String" - }, - { - "name": "trendValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "userSelectionAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueRole", - "value": "", - "type": "String" - }, - { - "name": "valuesAnchor", - "value": "", - "type": "cccValuesAnchorCustom" - }, - { - "name": "valuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "valuesMask", - "value": "", - "type": "String" - }, - { - "name": "valuesOptimizeLegibility", - "value": "", - "type": "Boolean" - }, - { - "name": "valuesOverflow", - "value": "hide", - "type": "cccValuesOverflowCustom" - }, - { - "name": "valuesVisible", - "value": "", - "type": "Boolean" - } - ], - "meta_cdwSupport": "true" - }, - { - "id": "c8104e4d-f6b6-149c-99bf-8a0c2870e4b8", - "type": "ComponentscccLineChart", - "typeDesc": "CCC Line Chart", - "parent": "CHARTS", - "properties": [ - { - "name": "name", - "value": "LineChartExecutionByHours", - "type": "Id" - }, - { - "name": "title", - "value": "", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:filterYearParameter}','${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"filterYearParameter\"]]", - "type": "ValuesArray" - }, - { - "name": "dataSource", - "value": "mdxQueryExecutionByHours", - "type": "Datasource" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "width", - "value": "", - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "height", - "value": "300", - "type": "Integer" - }, - { - "name": "colors", - "value": "[]", - "type": "Array" - }, - { - "name": "htmlObject", - "value": "Chart04-div", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - }, - { - "name": "extensionPoints", - "value": "[[\"line_lineWidth\",\"function(){return 4;}\"]]", - "type": "EditorValuesArray" - }, - { - "name": "animate", - "value": true, - "type": "Boolean" - }, - { - "name": "areasVisible", - "value": "", - "type": "Boolean" - }, - { - "name": "baseAxisBandSize", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacing", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisDomainRoundMode", - "value": "tick", - "type": "cccBaseAxisDomainRoundModeCustom" - }, - { - "name": "baseAxisDomainScope", - "value": "global", - "type": "cccBaseAxisDomainScopeCustom" - }, - { - "name": "baseAxisDoubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "baseAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "baseAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "baseAxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "baseAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccBaseAxisOverlappedLabelsModeCustom" - }, - { - "name": "baseAxisPosition", - "value": "", - "type": "cccBaseAxisPositionCustom" - }, - { - "name": "baseAxisSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "baseAxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "baseAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleAlign", - "value": "", - "type": "cccBaseAxisTitleAlignCustom" - }, - { - "name": "baseAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "baseAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "baseAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTooltipAutoContent", - "value": "value", - "type": "cccBaseAxisTooltipAutoContentCustom" - }, - { - "name": "baseAxisTooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "categoryRole", - "value": "", - "type": "String" - }, - { - "name": "clearSelectionMode", - "value": "emptySpaceClick", - "type": "cccClearSelectionModeCustom" - }, - { - "name": "clickable", - "value": false, - "type": "Boolean" - }, - { - "name": "clickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "color2AxisColors", - "value": "[]", - "type": "Array" - }, - { - "name": "color2AxisLegendClickMode", - "value": "toggleVisible", - "type": "cccColor2AxisLegendClickModeCustom" - }, - { - "name": "color2AxisLegendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendShape", - "value": "", - "type": "cccColor2AxisLegendShapeCustom" - }, - { - "name": "color2AxisLegendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "color2AxisTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "color2AxisUnbound", - "value": "", - "type": "String" - }, - { - "name": "colorRole", - "value": "", - "type": "String" - }, - { - "name": "colorTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "colorUnbound", - "value": "", - "type": "String" - }, - { - "name": "compatVersion", - "value": 2, - "type": "Float" - }, - { - "name": "contentMargins", - "value": "0", - "type": "String" - }, - { - "name": "contentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "crosstabMode", - "value": true, - "type": "Boolean" - }, - { - "name": "ctrlSelectMode", - "value": true, - "type": "Boolean" - }, - { - "name": "dataCategoriesCount", - "value": "", - "type": "Float" - }, - { - "name": "dataIgnoreMetadataLabels", - "value": false, - "type": "Boolean" - }, - { - "name": "dataMeasuresInColumns", - "value": false, - "type": "Boolean" - }, - { - "name": "dataPartRole", - "value": "", - "type": "String" - }, - { - "name": "dataSeparator", - "value": "~", - "type": "String" - }, - { - "name": "dataWhere", - "value": "", - "type": "JavaScript" - }, - { - "name": "dotsVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "doubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "groupedLabelSep", - "value": " ~ ", - "type": "String" - }, - { - "name": "hoverable", - "value": false, - "type": "Boolean" - }, - { - "name": "ignoreNulls", - "value": true, - "type": "Boolean" - }, - { - "name": "interactive", - "value": "", - "type": "Boolean" - }, - { - "name": "isMultiValued", - "value": false, - "type": "Boolean" - }, - { - "name": "leafContentOverflow", - "value": "auto", - "type": "cccLeafContentOverflowCustom" - }, - { - "name": "legend", - "value": true, - "type": "Boolean" - }, - { - "name": "legendAlign", - "value": "", - "type": "cccLegendAlignCustom" - }, - { - "name": "legendClickMode", - "value": "toggleVisible", - "type": "cccLegendClickModeCustom" - }, - { - "name": "legendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "legendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "legendFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "legendItemPadding", - "value": "2.5", - "type": "String" - }, - { - "name": "legendItemSize", - "value": "", - "type": "String" - }, - { - "name": "legendMargins", - "value": "0", - "type": "String" - }, - { - "name": "legendMarkerSize", - "value": 15, - "type": "Float" - }, - { - "name": "legendPaddings", - "value": "5", - "type": "String" - }, - { - "name": "legendPosition", - "value": "bottom", - "type": "cccLegendPositionCustom" - }, - { - "name": "legendShape", - "value": "", - "type": "cccLegendShapeCustom" - }, - { - "name": "legendSize", - "value": "", - "type": "String" - }, - { - "name": "legendSizeMax", - "value": "", - "type": "String" - }, - { - "name": "legendTextMargin", - "value": 6, - "type": "Float" - }, - { - "name": "legendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "margins", - "value": "3", - "type": "String" - }, - { - "name": "measuresIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartColumnsMax", - "value": 3, - "type": "Float" - }, - { - "name": "multiChartIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartMax", - "value": "", - "type": "Float" - }, - { - "name": "multiChartOverflow", - "value": "grow", - "type": "cccMultiChartOverflowCustom" - }, - { - "name": "multiChartRole", - "value": "", - "type": "String" - }, - { - "name": "multiChartSingleColFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "multiChartSingleRowFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "nullInterpolationMode", - "value": "none", - "type": "cccNullInterpolationModeCustom" - }, - { - "name": "orientation", - "value": "vertical", - "type": "cccOrientationCustom" - }, - { - "name": "ortho2AxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisDomainRoundMode", - "value": "tick", - "type": "cccOrtho2AxisDomainRoundModeCustom" - }, - { - "name": "ortho2AxisDomainScope", - "value": "global", - "type": "cccOrtho2AxisDomainScopeCustom" - }, - { - "name": "ortho2AxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "ortho2AxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "ortho2AxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "ortho2AxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrtho2AxisOverlappedLabelsModeCustom" - }, - { - "name": "ortho2AxisPosition", - "value": "", - "type": "cccOrtho2AxisPositionCustom" - }, - { - "name": "ortho2AxisSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "ortho2AxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitle", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleAlign", - "value": "", - "type": "cccOrtho2AxisTitleAlignCustom" - }, - { - "name": "ortho2AxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "ortho2AxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisDomainRoundMode", - "value": "tick", - "type": "cccOrthoAxisDomainRoundModeCustom" - }, - { - "name": "orthoAxisDomainScope", - "value": "global", - "type": "cccOrthoAxisDomainScopeCustom" - }, - { - "name": "orthoAxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "orthoAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "orthoAxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "orthoAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrthoAxisOverlappedLabelsModeCustom" - }, - { - "name": "orthoAxisPosition", - "value": "", - "type": "cccOrthoAxisPositionCustom" - }, - { - "name": "orthoAxisSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "orthoAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleAlign", - "value": "", - "type": "cccOrthoAxisTitleAlignCustom" - }, - { - "name": "orthoAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "orthoAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "paddings", - "value": "0", - "type": "String" - }, - { - "name": "percentValueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "plot2", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2AreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2ColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "plot2DotsVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2LinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2NullInterpolationMode", - "value": "none", - "type": "cccPlot2NullInterpolationModeCustom" - }, - { - "name": "plot2OrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "plot2Series", - "value": "[]", - "type": "Array" - }, - { - "name": "plot2SeriesIndexes", - "value": -1, - "type": "Array" - }, - { - "name": "plot2Stacked", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2TrendLabel", - "value": "", - "type": "String" - }, - { - "name": "plot2TrendType", - "value": "", - "type": "String" - }, - { - "name": "plot2ValuesAnchor", - "value": "", - "type": "cccPlot2ValuesAnchorCustom" - }, - { - "name": "plot2ValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "plot2ValuesMask", - "value": "{value}", - "type": "String" - }, - { - "name": "plot2ValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plotFrameVisible", - "value": "false", - "type": "Boolean" - }, - { - "name": "pointingMode", - "value": "near", - "type": "cccPointingModeCustom" - }, - { - "name": "renderCallback", - "value": "", - "type": "JavaScript" - }, - { - "name": "selectable", - "value": false, - "type": "Boolean" - }, - { - "name": "selectionChangedAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "seriesInRows", - "value": false, - "type": "Boolean" - }, - { - "name": "seriesRole", - "value": "", - "type": "String" - }, - { - "name": "smallAspectRatio", - "value": "", - "type": "Float" - }, - { - "name": "smallContentMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallContentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallHeight", - "value": "", - "type": "String" - }, - { - "name": "smallMargins", - "value": "2%", - "type": "String" - }, - { - "name": "smallPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitleAlign", - "value": "", - "type": "cccSmallTitleAlignCustom" - }, - { - "name": "smallTitleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "smallTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePosition", - "value": "top", - "type": "cccSmallTitlePositionCustom" - }, - { - "name": "smallTitleSize", - "value": "", - "type": "String" - }, - { - "name": "smallTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "smallWidth", - "value": "", - "type": "String" - }, - { - "name": "timeSeries", - "value": false, - "type": "Boolean" - }, - { - "name": "timeSeriesFormat", - "value": "%Y-%m-%d", - "type": "String" - }, - { - "name": "titleAlign", - "value": "", - "type": "cccTitleAlignCustom" - }, - { - "name": "titleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "titleMargins", - "value": "0", - "type": "String" - }, - { - "name": "titlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "titlePosition", - "value": "top", - "type": "cccTitlePositionCustom" - }, - { - "name": "titleSize", - "value": "", - "type": "String" - }, - { - "name": "titleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "tooltipArrowVisible", - "value": "", - "type": "Boolean" - }, - { - "name": "tooltipClassName", - "value": "", - "type": "String" - }, - { - "name": "tooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFade", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFollowMouse", - "value": false, - "type": "Boolean" - }, - { - "name": "tooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltipGravity", - "value": "", - "type": "cccTooltipGravityCustom" - }, - { - "name": "tooltipHtml", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipOffset", - "value": "", - "type": "Float" - }, - { - "name": "tooltipOpacity", - "value": 0.9, - "type": "Float" - }, - { - "name": "tooltipUseCorners", - "value": "", - "type": "Boolean" - }, - { - "name": "trendAreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "trendDotsVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendLabel", - "value": "", - "type": "String" - }, - { - "name": "trendLinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "trendOrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "trendStacked", - "value": false, - "type": "Boolean" - }, - { - "name": "trendType", - "value": "", - "type": "String" - }, - { - "name": "trendValuesAnchor", - "value": "right", - "type": "cccTrendValuesAnchorCustom" - }, - { - "name": "trendValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "trendValuesMask", - "value": "", - "type": "String" - }, - { - "name": "trendValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "userSelectionAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueRole", - "value": "", - "type": "String" - }, - { - "name": "valuesAnchor", - "value": "", - "type": "cccValuesAnchorCustom" - }, - { - "name": "valuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "valuesMask", - "value": "", - "type": "String" - }, - { - "name": "valuesVisible", - "value": "", - "type": "Boolean" - } - ], - "meta_cdwSupport": "true" - }, - { - "id": "a9f4b006-e6c8-4b1c-c1fb-09112ee16778", - "type": "ComponentscccBarChart", - "typeDesc": "CCC Bar Chart", - "parent": "CHARTS", - "properties": [ - { - "name": "name", - "value": "BarChartExecutionsByDayOfWeek", - "type": "Id" - }, - { - "name": "title", - "value": "", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:filterYearParameter}','${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"filterYearParameter\"]]", - "type": "ValuesArray" - }, - { - "name": "dataSource", - "value": "mdxQueryExecByDayOfWeek", - "type": "Datasource" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "height", - "value": "300", - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "width", - "value": "", - "type": "Integer" - }, - { - "name": "colors", - "value": "[]", - "type": "Array" - }, - { - "name": "htmlObject", - "value": "Chart03-div", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - }, - { - "name": "extensionPoints", - "value": "[]", - "type": "EditorValuesArray" - }, - { - "name": "animate", - "value": true, - "type": "Boolean" - }, - { - "name": "barOrthoSizeMin", - "value": 1.5, - "type": "Float" - }, - { - "name": "barSizeMax", - "value": 2000, - "type": "Float" - }, - { - "name": "barSizeRatio", - "value": 0.9, - "type": "Float" - }, - { - "name": "barStackedMargin", - "value": 0, - "type": "Float" - }, - { - "name": "baseAxisBandSize", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSizeMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacing", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMax", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisBandSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisDoubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "baseAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "baseAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "baseAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccBaseAxisOverlappedLabelsModeCustom" - }, - { - "name": "baseAxisPosition", - "value": "", - "type": "cccBaseAxisPositionCustom" - }, - { - "name": "baseAxisSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleAlign", - "value": "", - "type": "cccBaseAxisTitleAlignCustom" - }, - { - "name": "baseAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "baseAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "baseAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "baseAxisTooltipAutoContent", - "value": "value", - "type": "cccBaseAxisTooltipAutoContentCustom" - }, - { - "name": "baseAxisTooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "baseAxisTooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "baseAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "categoryRole", - "value": "", - "type": "String" - }, - { - "name": "clearSelectionMode", - "value": "emptySpaceClick", - "type": "cccClearSelectionModeCustom" - }, - { - "name": "clickable", - "value": false, - "type": "Boolean" - }, - { - "name": "clickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "color2AxisColors", - "value": "[]", - "type": "Array" - }, - { - "name": "color2AxisLegendClickMode", - "value": "toggleVisible", - "type": "cccColor2AxisLegendClickModeCustom" - }, - { - "name": "color2AxisLegendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "color2AxisLegendShape", - "value": "", - "type": "cccColor2AxisLegendShapeCustom" - }, - { - "name": "color2AxisLegendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "color2AxisTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "color2AxisUnbound", - "value": "", - "type": "String" - }, - { - "name": "colorRole", - "value": "", - "type": "String" - }, - { - "name": "colorTransform", - "value": "", - "type": "JavaScript" - }, - { - "name": "colorUnbound", - "value": "", - "type": "String" - }, - { - "name": "compatVersion", - "value": 2, - "type": "Float" - }, - { - "name": "contentMargins", - "value": "0", - "type": "String" - }, - { - "name": "contentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "crosstabMode", - "value": true, - "type": "Boolean" - }, - { - "name": "ctrlSelectMode", - "value": true, - "type": "Boolean" - }, - { - "name": "dataCategoriesCount", - "value": "", - "type": "Float" - }, - { - "name": "dataIgnoreMetadataLabels", - "value": false, - "type": "Boolean" - }, - { - "name": "dataMeasuresInColumns", - "value": false, - "type": "Boolean" - }, - { - "name": "dataPartRole", - "value": "", - "type": "String" - }, - { - "name": "dataSeparator", - "value": "~", - "type": "String" - }, - { - "name": "dataWhere", - "value": "", - "type": "JavaScript" - }, - { - "name": "doubleClickAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "groupedLabelSep", - "value": " ~ ", - "type": "String" - }, - { - "name": "hoverable", - "value": false, - "type": "Boolean" - }, - { - "name": "ignoreNulls", - "value": true, - "type": "Boolean" - }, - { - "name": "interactive", - "value": "", - "type": "Boolean" - }, - { - "name": "isMultiValued", - "value": false, - "type": "Boolean" - }, - { - "name": "leafContentOverflow", - "value": "auto", - "type": "cccLeafContentOverflowCustom" - }, - { - "name": "legend", - "value": true, - "type": "Boolean" - }, - { - "name": "legendAlign", - "value": "", - "type": "cccLegendAlignCustom" - }, - { - "name": "legendClickMode", - "value": "toggleVisible", - "type": "cccLegendClickModeCustom" - }, - { - "name": "legendDrawLine", - "value": "", - "type": "Boolean" - }, - { - "name": "legendDrawMarker", - "value": "", - "type": "Boolean" - }, - { - "name": "legendFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "legendItemPadding", - "value": "2.5", - "type": "String" - }, - { - "name": "legendItemSize", - "value": "", - "type": "String" - }, - { - "name": "legendMargins", - "value": "0", - "type": "String" - }, - { - "name": "legendMarkerSize", - "value": 15, - "type": "Float" - }, - { - "name": "legendPaddings", - "value": "5", - "type": "String" - }, - { - "name": "legendPosition", - "value": "bottom", - "type": "cccLegendPositionCustom" - }, - { - "name": "legendShape", - "value": "", - "type": "cccLegendShapeCustom" - }, - { - "name": "legendSize", - "value": "", - "type": "String" - }, - { - "name": "legendSizeMax", - "value": "", - "type": "String" - }, - { - "name": "legendTextMargin", - "value": 6, - "type": "Float" - }, - { - "name": "legendVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "margins", - "value": "3", - "type": "String" - }, - { - "name": "measuresIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartColumnsMax", - "value": 3, - "type": "Float" - }, - { - "name": "multiChartIndexes", - "value": "[]", - "type": "Array" - }, - { - "name": "multiChartMax", - "value": "", - "type": "Float" - }, - { - "name": "multiChartOverflow", - "value": "grow", - "type": "cccMultiChartOverflowCustom" - }, - { - "name": "multiChartRole", - "value": "", - "type": "String" - }, - { - "name": "multiChartSingleColFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "multiChartSingleRowFillsHeight", - "value": true, - "type": "Boolean" - }, - { - "name": "nullInterpolationMode", - "value": "none", - "type": "cccNullInterpolationModeCustom" - }, - { - "name": "orientation", - "value": "vertical", - "type": "cccOrientationCustom" - }, - { - "name": "ortho2AxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisDomainRoundMode", - "value": "tick", - "type": "cccOrtho2AxisDomainRoundModeCustom" - }, - { - "name": "ortho2AxisDomainScope", - "value": "global", - "type": "cccOrtho2AxisDomainScopeCustom" - }, - { - "name": "ortho2AxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "ortho2AxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "ortho2AxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "ortho2AxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrtho2AxisOverlappedLabelsModeCustom" - }, - { - "name": "ortho2AxisPosition", - "value": "", - "type": "cccOrtho2AxisPositionCustom" - }, - { - "name": "ortho2AxisSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "ortho2AxisTickFormatter", - "value": "function f(value) {\rreturn addCommas(value); \r} ", - "type": "JavaScript" - }, - { - "name": "ortho2AxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "ortho2AxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitle", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleAlign", - "value": "", - "type": "cccOrtho2AxisTitleAlignCustom" - }, - { - "name": "ortho2AxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "ortho2AxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "ortho2AxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "ortho2AxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "ortho2AxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisDesiredTickCount", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisDomainRoundMode", - "value": "tick", - "type": "cccOrthoAxisDomainRoundModeCustom" - }, - { - "name": "orthoAxisDomainScope", - "value": "global", - "type": "cccOrthoAxisDomainScopeCustom" - }, - { - "name": "orthoAxisFixedMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisFixedMin", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisGrid", - "value": false, - "type": "Boolean" - }, - { - "name": "orthoAxisLabelSpacingMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisMinorTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisOffset", - "value": 0, - "type": "Float" - }, - { - "name": "orthoAxisOriginIsZero", - "value": "", - "type": "Boolean" - }, - { - "name": "orthoAxisOverlappedLabelsMode", - "value": "hide", - "type": "cccOrthoAxisOverlappedLabelsModeCustom" - }, - { - "name": "orthoAxisPosition", - "value": "", - "type": "cccOrthoAxisPositionCustom" - }, - { - "name": "orthoAxisSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickExponentMax", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickExponentMin", - "value": "", - "type": "Float" - }, - { - "name": "orthoAxisTickFormatter", - "value": "", - "type": "JavaScript" - }, - { - "name": "orthoAxisTicks", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisTickUnit", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMax", - "value": "Infinity", - "type": "String" - }, - { - "name": "orthoAxisTickUnitMin", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitle", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleAlign", - "value": "", - "type": "cccOrthoAxisTitleAlignCustom" - }, - { - "name": "orthoAxisTitleFont", - "value": "12px sans-serif", - "type": "String" - }, - { - "name": "orthoAxisTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "orthoAxisTitleSize", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "orthoAxisVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "orthoAxisZeroLine", - "value": true, - "type": "Boolean" - }, - { - "name": "overflowMarkersVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "paddings", - "value": "0", - "type": "String" - }, - { - "name": "panelSizeRatio", - "value": "", - "type": "Float" - }, - { - "name": "percentValueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "plot2", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2AreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2ColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "plot2DotsVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2LinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "plot2NullInterpolationMode", - "value": "none", - "type": "cccPlot2NullInterpolationModeCustom" - }, - { - "name": "plot2OrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "plot2Series", - "value": "[]", - "type": "Array" - }, - { - "name": "plot2SeriesIndexes", - "value": -1, - "type": "Array" - }, - { - "name": "plot2Stacked", - "value": false, - "type": "Boolean" - }, - { - "name": "plot2TrendLabel", - "value": "", - "type": "String" - }, - { - "name": "plot2TrendType", - "value": "", - "type": "String" - }, - { - "name": "plot2ValuesAnchor", - "value": "", - "type": "cccPlot2ValuesAnchorCustom" - }, - { - "name": "plot2ValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "plot2ValuesMask", - "value": "{value}", - "type": "String" - }, - { - "name": "plot2ValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "plotFrameVisible", - "value": "false", - "type": "Boolean" - }, - { - "name": "pointingMode", - "value": "near", - "type": "cccPointingModeCustom" - }, - { - "name": "renderCallback", - "value": "", - "type": "JavaScript" - }, - { - "name": "selectable", - "value": false, - "type": "Boolean" - }, - { - "name": "selectionChangedAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "seriesInRows", - "value": false, - "type": "Boolean" - }, - { - "name": "seriesRole", - "value": "", - "type": "String" - }, - { - "name": "smallAspectRatio", - "value": "", - "type": "Float" - }, - { - "name": "smallContentMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallContentPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallHeight", - "value": "", - "type": "String" - }, - { - "name": "smallMargins", - "value": "2%", - "type": "String" - }, - { - "name": "smallPaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitleAlign", - "value": "", - "type": "cccSmallTitleAlignCustom" - }, - { - "name": "smallTitleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "smallTitleMargins", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "smallTitlePosition", - "value": "top", - "type": "cccSmallTitlePositionCustom" - }, - { - "name": "smallTitleSize", - "value": "", - "type": "String" - }, - { - "name": "smallTitleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "smallWidth", - "value": "", - "type": "String" - }, - { - "name": "stacked", - "value": false, - "type": "Boolean" - }, - { - "name": "timeSeries", - "value": false, - "type": "Boolean" - }, - { - "name": "timeSeriesFormat", - "value": "%Y-%m-%d", - "type": "String" - }, - { - "name": "titleAlign", - "value": "", - "type": "cccTitleAlignCustom" - }, - { - "name": "titleFont", - "value": "14px sans-serif", - "type": "String" - }, - { - "name": "titleMargins", - "value": "0", - "type": "String" - }, - { - "name": "titlePaddings", - "value": "0", - "type": "String" - }, - { - "name": "titlePosition", - "value": "top", - "type": "cccTitlePositionCustom" - }, - { - "name": "titleSize", - "value": "", - "type": "String" - }, - { - "name": "titleSizeMax", - "value": "", - "type": "String" - }, - { - "name": "tooltipArrowVisible", - "value": "", - "type": "Boolean" - }, - { - "name": "tooltipClassName", - "value": "", - "type": "String" - }, - { - "name": "tooltipEnabled", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFade", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipFollowMouse", - "value": false, - "type": "Boolean" - }, - { - "name": "tooltipFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltipGravity", - "value": "", - "type": "cccTooltipGravityCustom" - }, - { - "name": "tooltipHtml", - "value": true, - "type": "Boolean" - }, - { - "name": "tooltipOffset", - "value": "", - "type": "Float" - }, - { - "name": "tooltipOpacity", - "value": 0.9, - "type": "Float" - }, - { - "name": "tooltipUseCorners", - "value": "", - "type": "Boolean" - }, - { - "name": "trendAreasVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendColorAxis", - "value": 2, - "type": "Float" - }, - { - "name": "trendDotsVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "trendLabel", - "value": "", - "type": "String" - }, - { - "name": "trendLinesVisible", - "value": true, - "type": "Boolean" - }, - { - "name": "trendOrthoAxis", - "value": 1, - "type": "Float" - }, - { - "name": "trendStacked", - "value": false, - "type": "Boolean" - }, - { - "name": "trendType", - "value": "", - "type": "String" - }, - { - "name": "trendValuesAnchor", - "value": "right", - "type": "cccTrendValuesAnchorCustom" - }, - { - "name": "trendValuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "trendValuesMask", - "value": "", - "type": "String" - }, - { - "name": "trendValuesVisible", - "value": false, - "type": "Boolean" - }, - { - "name": "userSelectionAction", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueFormat", - "value": "", - "type": "JavaScript" - }, - { - "name": "valueRole", - "value": "", - "type": "String" - }, - { - "name": "valuesAnchor", - "value": "", - "type": "cccValuesAnchorCustom" - }, - { - "name": "valuesFont", - "value": "10px sans-serif", - "type": "String" - }, - { - "name": "valuesMask", - "value": "", - "type": "String" - }, - { - "name": "valuesOptimizeLegibility", - "value": "", - "type": "Boolean" - }, - { - "name": "valuesOverflow", - "value": "hide", - "type": "cccValuesOverflowCustom" - }, - { - "name": "valuesVisible", - "value": "", - "type": "Boolean" - } - ], - "meta_cdwSupport": "true" - }, - { - "id": "GENERIC", - "name": "Generic", - "type": "Label", - "typeDesc": "Group", - "parent": "UnIqEiD", - "properties": [ - { - "name": "Group", - "value": "Generic", - "type": "Label" - } - ] - }, - { - "id": "b2f049e2-84d9-34ac-6350-2f6aaf399cb3", - "type": "ComponentsOlapParameter", - "typeDesc": "OLAP parameter", - "parent": "GENERIC", - "properties": [ - { - "name": "name", - "value": "filterYearParameter", - "type": "Id" - }, - { - "name": "propertyValue", - "value": "[Year].[All]", - "type": "String" - }, - { - "name": "parameterViewRole", - "value": "unused", - "type": "parameterViewRoleCustom" - }, - { - "name": "bookmarkable", - "value": "false", - "type": "Boolean" - } - ], - "dimension": "[Period].[All]" - }, - { - "id": "285fcc68-56a9-ee07-39d0-da2e7d8ca2e1", - "type": "ComponentsParameter", - "typeDesc": "Simple parameter", - "parent": "GENERIC", - "properties": [ - { - "name": "name", - "value": "refresh", - "type": "Id" - }, - { - "name": "propertyValue", - "value": "", - "type": "String" - }, - { - "name": "parameterViewRole", - "value": "unused", - "type": "parameterViewRoleCustom" - }, - { - "name": "bookmarkable", - "value": "false", - "type": "Boolean" - } - ] - }, - { - "id": "2439b3e9-6f3b-1162-b43c-723ef8b93516", - "type": "ComponentsParameter", - "typeDesc": "Simple parameter", - "parent": "GENERIC", - "properties": [ - { - "name": "name", - "value": "lastUpdated", - "type": "Id" - }, - { - "name": "propertyValue", - "value": "", - "type": "String" - }, - { - "name": "parameterViewRole", - "value": "unused", - "type": "parameterViewRoleCustom" - }, - { - "name": "bookmarkable", - "value": "false", - "type": "Boolean" - } - ] - }, - { - "id": "f4c18556-a3d4-0481-a98f-e970b2b6720c", - "type": "ComponentsParameter", - "typeDesc": "Simple parameter", - "parent": "GENERIC", - "properties": [ - { - "name": "name", - "value": "PENTAHO_ROLES", - "type": "Id" - }, - { - "name": "propertyValue", - "value": "", - "type": "String" - }, - { - "name": "parameterViewRole", - "value": "unused", - "type": "parameterViewRoleCustom" - }, - { - "name": "bookmarkable", - "value": "false", - "type": "Boolean" - } - ] - }, - { - "id": "19de6c10-6946-6ba7-38a1-3a056eaf897c", - "type": "ComponentsParameter", - "typeDesc": "Simple parameter", - "parent": "GENERIC", - "properties": [ - { - "name": "name", - "value": "PENTAHO_USER", - "type": "Id" - }, - { - "name": "propertyValue", - "value": "", - "type": "String" - }, - { - "name": "parameterViewRole", - "value": "unused", - "type": "parameterViewRoleCustom" - }, - { - "name": "bookmarkable", - "value": "false", - "type": "Boolean" - } - ] - }, - { - "id": "693e4143-6cbb-220d-a03e-f2fc22299449", - "type": "ComponentsParameter", - "typeDesc": "Simple parameter", - "parent": "GENERIC", - "properties": [ - { - "name": "name", - "value": "PENTAHO_PORT", - "type": "Id" - }, - { - "name": "propertyValue", - "value": "", - "type": "String" - }, - { - "name": "parameterViewRole", - "value": "unused", - "type": "parameterViewRoleCustom" - }, - { - "name": "bookmarkable", - "value": "false", - "type": "Boolean" - } - ] - }, - { - "id": "2dfefd4e-a960-1400-c33a-148d1adc3717", - "type": "ComponentsParameter", - "typeDesc": "Simple parameter", - "parent": "GENERIC", - "properties": [ - { - "name": "name", - "value": "PENTAHO_HOST", - "type": "Id" - }, - { - "name": "propertyValue", - "value": "", - "type": "String" - }, - { - "name": "parameterViewRole", - "value": "unused", - "type": "parameterViewRoleCustom" - }, - { - "name": "bookmarkable", - "value": "false", - "type": "Boolean" - } - ] - }, - { - "id": "SELECTORS", - "name": "Selects", - "type": "Label", - "typeDesc": "Group", - "parent": "UnIqEiD", - "properties": [ - { - "name": "Group", - "value": "Selects", - "type": "Label" - } - ] - }, - { - "id": "889b0058-2cf4-ae3a-b9f8-83a1b11a73cf", - "type": "ComponentsSelect", - "typeDesc": "Select Component", - "parent": "SELECTORS", - "properties": [ - { - "name": "name", - "value": "filterYearSelectorMobile", - "type": "Id" - }, - { - "name": "parameter", - "value": "filterYearParameter", - "type": "Parameter" - }, - { - "name": "listeners", - "value": "['${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "valueAsId", - "value": false, - "type": "Boolean" - }, - { - "name": "externalPlugin", - "value": "", - "type": "externalPluginCustom" - }, - { - "name": "dataSource", - "value": "filterYearQuery", - "type": "Datasource" - }, - { - "name": "valuesArray", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "htmlObject", - "value": "filterYear-div-mobile", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "function f() {\n \n var select=$('#'+this.htmlObject);\n select.addClass('hidden-sm hidden-md hidden-lg');\n \n} ", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - }, - { - "name": "extraOptions", - "value": "[]", - "type": "OptionArray" - } - ] - }, - { - "id": "186b3afc-f823-d549-0f29-07823e1c98e1", - "type": "ComponentsSelect", - "typeDesc": "Select Component", - "parent": "SELECTORS", - "properties": [ - { - "name": "name", - "value": "filterYearSelectorDesktop", - "type": "Id" - }, - { - "name": "parameter", - "value": "filterYearParameter", - "type": "Parameter" - }, - { - "name": "listeners", - "value": "['${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "valueAsId", - "value": false, - "type": "Boolean" - }, - { - "name": "externalPlugin", - "value": "select2", - "type": "externalPluginCustom" - }, - { - "name": "dataSource", - "value": "filterYearQuery", - "type": "Datasource" - }, - { - "name": "valuesArray", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "htmlObject", - "value": "filterYear-div-desktop", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "function f() {\n \n var select=$('#'+this.htmlObject);\n select.addClass('hidden-xs');\n \n} ", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - }, - { - "name": "extraOptions", - "value": "[]", - "type": "OptionArray" - } - ] - }, - { - "id": "OTHERCOMPONENTS", - "name": "Others", - "type": "Label", - "typeDesc": "Group", - "parent": "UnIqEiD", - "properties": [ - { - "name": "Group", - "value": "Others", - "type": "Label" - } - ] - }, - { - "id": "1b475bb9-8f3d-8635-cef0-e661af86f347", - "type": "ComponentsexportButton", - "typeDesc": "Export Button Component", - "parent": "OTHERCOMPONENTS", - "properties": [ - { - "name": "name", - "value": "BarChartTop10UsersByExecutionExport", - "type": "Id" - }, - { - "name": "label", - "value": "Export", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "componentName", - "value": "BarChartTop10UsersByExecution", - "type": "String" - }, - { - "name": "outputType", - "value": "xls", - "type": "String" - }, - { - "name": "htmlObject", - "value": "ExportButtonBarChartTop10UsersByExecutionExport", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "function f() {\n \n var button=$('#'+this.htmlObject+' span');\n \n //console.log(this);\n \n button.html('');\n\n \n } ", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - } - ] - }, - { - "id": "00d03265-1b7f-b22c-be56-2a43cd75581d", - "type": "ComponentsexportButton", - "typeDesc": "Export Button Component", - "parent": "OTHERCOMPONENTS", - "properties": [ - { - "name": "name", - "value": "BarChartTop10UsersByLoginExport", - "type": "Id" - }, - { - "name": "label", - "value": "Export", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "componentName", - "value": "BarChartTop10UsersByLogin", - "type": "String" - }, - { - "name": "outputType", - "value": "xls", - "type": "String" - }, - { - "name": "htmlObject", - "value": "ExportButtonBarChartTop10UsersByLoginExport", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "function f() {\n \n var button=$('#'+this.htmlObject+' span');\n \n //console.log(this);\n \n button.html('');\n\n \n } ", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - } - ] - }, - { - "id": "6cc84c09-1c6d-1b64-ecfe-74faf291acbe", - "type": "ComponentsTable", - "typeDesc": "table Component", - "parent": "OTHERCOMPONENTS", - "properties": [ - { - "name": "name", - "value": "Table", - "type": "Id" - }, - { - "name": "expandContainerObject", - "value": "", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:filterYearParameter}','${p:refresh}','${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "oLanguage", - "value": "", - "type": "JavaScript" - }, - { - "name": "language", - "value": "", - "type": "JavaScript" - }, - { - "name": "colWidths", - "value": "[\"20%\",\"50%\",\"20%\",\"10%\"]", - "type": "Array" - }, - { - "name": "colSortable", - "value": "[]", - "type": "Array" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"filterYearParameter\"]]", - "type": "ValuesArray" - }, - { - "name": "colHeaders", - "value": "[\"User\",\"File\",\"Plugin\",\"# of Execution(s)\"]", - "type": "Array" - }, - { - "name": "colTypes", - "value": "[\"string\",\"string\",\"string\",\"numeric\"]", - "type": "colTypesCustom" - }, - { - "name": "colFormats", - "value": "[]", - "type": "Array" - }, - { - "name": "expandParameters", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "paginate", - "value": "true", - "type": "Boolean" - }, - { - "name": "filter", - "value": "true", - "type": "Boolean" - }, - { - "name": "info", - "value": "true", - "type": "Boolean" - }, - { - "name": "sort", - "value": "true", - "type": "Boolean" - }, - { - "name": "displayLength", - "value": "", - "type": "Integer" - }, - { - "name": "lengthChange", - "value": "true", - "type": "Boolean" - }, - { - "name": "expandOnClick", - "value": "false", - "type": "Boolean" - }, - { - "name": "colSearchable", - "value": "[]", - "type": "Array" - }, - { - "name": "drawCallback", - "value": "", - "type": "JavaScript" - }, - { - "name": "dataSource", - "value": "mdxQueryFiles", - "type": "Datasource" - }, - { - "name": "sortBy", - "value": "[]", - "type": "SortByArray" - }, - { - "name": "sDom", - "value": "", - "type": "JavaScript" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "paginationType", - "value": "full_numbers", - "type": "PaginationType" - }, - { - "name": "tableStyle", - "value": "bootstrap", - "type": "TableStyle" - }, - { - "name": "htmlObject", - "value": "table-div", - "type": "HtmlObject" - }, - { - "name": "paginateServerside", - "value": "false", - "type": "Boolean" - }, - { - "name": "executeAtStart", - "value": "false", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - }, - { - "name": "extraOptions", - "value": "[]", - "type": "OptionArray" - }, - { - "name": "clickAction", - "value": "", - "type": "JavaScript" - } - ] - }, - { - "id": "003cd839-0568-54d2-92db-1a5e0ca912a6", - "type": "ComponentsQuery", - "typeDesc": "Query Component", - "parent": "OTHERCOMPONENTS", - "properties": [ - { - "name": "name", - "value": "queryComponentLastUpdated", - "type": "Id" - }, - { - "name": "listeners", - "value": "['${p:lastUpdated}']", - "type": "Listeners" - }, - { - "name": "parameters", - "value": "[]", - "type": "ValuesArray" - }, - { - "name": "resultvar", - "value": "${p:lastUpdated}", - "type": "Result" - }, - { - "name": "dataSource", - "value": "getLastUpdateRefresh", - "type": "Datasource" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "htmlObject", - "value": "lastUpdatedValue", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "true", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "function f() {\n \n if(lastUpdated[0])\n $('#lastUpdatedValue').html(lastUpdated[0][0]);\n else\n $('#lastUpdatedValue').html('No data found');\n} ", - "type": "JavaScript" - }, - { - "name": "postFetch", - "value": " ", - "type": "JavaScript" - }, - { - "name": "preChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "postChange", - "value": "", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - } - ] - }, - { - "id": "66d0e231-683b-1a6c-13fc-7dda2b2cb2c3", - "type": "ComponentsbuttonComponent", - "typeDesc": "Button Component", - "parent": "OTHERCOMPONENTS", - "properties": [ - { - "name": "name", - "value": "refreshButtonComponent", - "type": "Id" - }, - { - "name": "label", - "value": "refresh", - "type": "String" - }, - { - "name": "listeners", - "value": "['${p:PENTAHO_ROLES}','${p:PENTAHO_USER}','${p:PENTAHO_PORT}','${p:PENTAHO_HOST}']", - "type": "Listeners" - }, - { - "name": "successCallback", - "value": "function success(){\n $.ajax({\n url: \"/pentaho/api/system/refresh/mondrianSchemaCache\",\n type: \"GET\",\n cache: false\n }).done(function( data ) {\n Dashboards.fireChange('lastUpdated', '');\n Dashboards.decrementRunningCalls();\n }); \n} ", - "type": "JavaScript" - }, - { - "name": "expression", - "value": "function action(){\n PENTAHO_HOST = window.location.hostname;\n PENTAHO_PORT = window.location.port;\n PENTAHO_ROLES = Dashboards.context.roles;\n PENTAHO_USER = Dashboards.context.user;\n Dashboards.incrementRunningCalls(); \n} ", - "type": "JavaScript" - }, - { - "name": "actionParameters", - "value": "[[\"PENTAHO_ROLES\",\"PENTAHO_ROLES\"],[\"PENTAHO_USER\",\"PENTAHO_USER\"],[\"PENTAHO_PORT\",\"PENTAHO_PORT\"],[\"PENTAHO_HOST\",\"PENTAHO_HOST\"]]", - "type": "ValuesArray" - }, - { - "name": "failureCallback", - "value": "", - "type": "JavaScript" - }, - { - "name": "Datasource", - "value": "dsRefresh", - "type": "Datasource" - }, - { - "name": "priority", - "value": 5, - "type": "Integer" - }, - { - "name": "refreshPeriod", - "value": "", - "type": "Integer" - }, - { - "name": "buttonStyle", - "value": "themeroller", - "type": "TableStyle" - }, - { - "name": "htmlObject", - "value": "refreshButtonDiv", - "type": "HtmlObject" - }, - { - "name": "executeAtStart", - "value": "true", - "type": "Boolean" - }, - { - "name": "preExecution", - "value": "", - "type": "JavaScript" - }, - { - "name": "postExecution", - "value": "function f(){ \n $('#'+this.htmlObject+' button').addClass('btn-md');\n $('#'+this.htmlObject+' button').html('');\n} ", - "type": "JavaScript" - }, - { - "name": "tooltip", - "value": "", - "type": "Html" - } - ] - }, - { - "id": "SCRIPT", - "name": "Scripts", - "type": "Label", - "typeDesc": "Group", - "parent": "UnIqEiD", - "properties": [ - { - "name": "Group", - "value": "Scripts", - "type": "Label" - } - ] - }, - { - "id": "2b8acc97-725a-8325-13e7-c01876a4a5b3", - "type": "ComponentsFunction", - "typeDesc": "JavaScript function", - "parent": "SCRIPT", - "properties": [ - { - "name": "name", - "value": "leadForm", - "type": "Id" - }, - { - "name": "javaScript", - "value": "var validationFields={\n \"entry_513906374\":false,\n \"entry_860105332\":false,\n \"entry_1166092966\":false,\n \"entry_1065748829\": false,\n \"entry_238908962\":false,\n \"entry_1511054935\":false};\n \n$( \"#ss-form input[type='text']\" ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr('id');\n var input=$(this);\n if(value){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \"#ss-form input[type='email']\" ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr('id');\n var input=$(this);\n var re = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n var is_email=re.test(value);\n if(is_email){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \"#ss-form input[type='number']\" ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr('id');\n var input=$(this);\n var searchReg = /^[Z0-9-]+$/;\n var is_number=searchReg.test(value);\n if(is_number){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \"select\" ).change(function () {\n var value=$( \"select option:selected\").val();\n var id=$( this ).attr('id');\n var select=$(this);\n if(value!='Select a country'){\n addSuccessStatus(select);\n validationFields[id]=true;\n }else{\n addErrorStatus(select);\n validationFields[id]=false;\n }\n testForm();\n});\n \nfunction isValidForm(){\n if( validationFields[\"entry_513906374\"]==true &&\n validationFields[\"entry_860105332\"]==true &&\n validationFields[\"entry_1166092966\"]==true &&\n validationFields[\"entry_1065748829\"]==true &&\n validationFields[\"entry_238908962\"]==true &&\n validationFields[\"entry_1511054935\"]==true)\n return true;\n else\n return false;\n}\nfunction testForm(){\n if(isValidForm())\n $('#ss-submit').removeAttr('disabled');\n else\n $('#ss-submit').attr('disabled', 'disabled');\n}\n\nfunction sentForm(){\n installPlugin();\n}\n\nfunction addSuccessStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(' ');\n }); \n parent.addClass(\"has-success has-feedback\");\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(' ');\n });\n span.addClass(\"glyphicon glyphicon-ok\");\n}\n\nfunction addWarningStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(' ');\n }); \n parent.addClass(\"has-warning has-feedback\");\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(' ');\n });\n span.addClass(\"glyphicon glyphicon-warning-sign\");\n}\n\nfunction addErrorStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(' ');\n }); \n parent.addClass(\"has-error has-feedback\");\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(' ');\n });\n span.addClass(\"glyphicon glyphicon-remove\");\n} ", - "type": "JavaScript" - } - ] - }, - { - "id": "f059dafe-af41-abb0-0e8d-ce4c42da041f", - "type": "ComponentsFunction", - "typeDesc": "JavaScript function", - "parent": "SCRIPT", - "properties": [ - { - "name": "name", - "value": "publishSchema", - "type": "Id" - }, - { - "name": "javaScript", - "value": "function publishSchema(){\n var fd = new FormData(); \n fd.append( 'catalogName', \"Pentaho CE Audit\" ); \n fd.append( 'overwrite', \"true\" );\n fd.append( 'xmlaEnabledFlag', \"true\" );\n fd.append( 'parameters', \"DataSource=Hibernate\" );\n fd.append('uploadAnalysis','
');\n \n $.ajax( {\n url: '/pentaho/plugin/data-access/api/mondrian/postAnalysis',\n type: 'POST',\n async: false,\n data: fd,\n processData: false,\n contentType: false\n ,success: function( publish ) {\n if(publish==3){\n var html_msg='
'+\n 'The installation has been completed successfully! please restart your biserver.'+\n '
'+\n '
'+\n '
'+\n '

'+\n 'This plug-in applied automatically an Environment configuration, if you want to know more about it please visit the link'+\n ''+\n ''+\n ''+\n '

'+\n '
';\n \n $(\"#modal-body\").html(html_msg); \n }else if(publish==2){\n html_msg='
Error publish the schema
';\n $(\"#modal-body\").html(html_msg);\n }else{\n html_msg='
Error undefined
';\n $(\"#modal-body\").html(html_msg); \n }\n }\n }); \n} ", - "type": "JavaScript" - } - ] - }, - { - "id": "40e560b0-84c8-e2bd-79a2-439a75445d9d", - "type": "ComponentsFunction", - "typeDesc": "JavaScript function", - "parent": "SCRIPT", - "properties": [ - { - "name": "name", - "value": "installFunction", - "type": "Id" - }, - { - "name": "javaScript", - "value": "function installPlugin(){\n $.ajax({\n url: \"/pentaho/plugin/pentaho-ce-audit/api/job_install\",\n cache: false\n }).done(function( data ) {\n if(data.result){\n publishSchema(); \n }else{\n var msgHtml='
'+\n 'Installation has a problem! please contanct us.'+\n '
'+\n '
'+\n '';\n $(\"#modal-body\").html(msgHtml); \n }\n }); \n} \n ", - "type": "JavaScript" - } - ] - }, - { - "id": "36eda744-4c14-8e37-390d-6094b3fc3169", - "type": "ComponentsFunction", - "typeDesc": "JavaScript function", - "parent": "SCRIPT", - "properties": [ - { - "name": "name", - "value": "verifyInstallation", - "type": "Id" - }, - { - "name": "javaScript", - "value": "$.ajax({\n url: \"/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\",\n cache: false\n}).done(function( data ) {\n if(!data.result){\n $('#myModal').modal('show');\n }else{ \n \n Dashboards.incrementRunningCalls(); \n $.ajax({\n url: \"/pentaho/plugin/pentaho-ce-audit/api/get_metadata\",\n cache: false\n }).done(function( data ) {\n Dashboards.decrementRunningCalls();\n if(data.queryInfo.totalRows>0)\n Dashboards.update(\n [render_BarChartTop10UsersByExecution\n ,render_BarChartTop10UsersByLogin\n ,render_LineChartExecutionByHours\n ,render_BarChartExecutionsByDayOfWeek\n ,render_Table\n ,render_filterYearSelectorMobile\n ,render_filterYearSelectorDesktop\n ,render_BarChartTop10UsersByExecutionExport\n ,render_BarChartTop10UsersByLoginExport]);\n });\n \n }\n}); \n ", - "type": "JavaScript" - } - ] - } - ] - }, - "datasources": { - "rows": [ - { - "id": "MDX", - "name": "MDX Queries", - "type": "Label", - "typeDesc": "Group", - "parent": "UnIqEiD", - "properties": [ - { - "name": "Group", - "value": "MDX Queries", - "type": "Label" - } - ] - }, - { - "id": "b8b58b30-6203-f0a9-3ef2-f0f287a7be87", - "type": "Componentsmdx_mondrianJndi", - "typeDesc": "mdx over mondrianJndi", - "parent": "MDX", - "properties": [ - { - "name": "name", - "value": "mdxQueryTop10UsersByExecution", - "type": "Id" - }, - { - "name": "access", - "value": "public", - "type": "Access" - }, - { - "name": "jndi", - "value": "Hibernate", - "type": "Jndi" - }, - { - "name": "catalog", - "value": "mondrian:/Pentaho+CE+Audit", - "type": "MondrianCatalog" - }, - { - "name": "query", - "value": "WITH\nSET [~ROWS] AS\n TopCount({[User].[User].Members}, 10, [Measures].[Quantity])\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})", - "type": "SqlQuery" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"\",\"String\",\"\"]]", - "type": "CdaParameters" - }, - { - "name": "output", - "value": "[]", - "type": "IndexArray" - }, - { - "name": "outputMode", - "value": "include", - "type": "OutputMode" - }, - { - "name": "cdacolumns", - "value": "[]", - "type": "CdaColumnsArray" - }, - { - "name": "cdacalculatedcolumns", - "value": "[]", - "type": "CdaCalculatedColumnsArray" - }, - { - "name": "bandedMode", - "value": "compact", - "type": "BandedMode" - }, - { - "name": "cacheDuration", - "value": 3600, - "type": "Integer" - }, - { - "name": "cache", - "value": "false", - "type": "Boolean" - } - ], - "meta": "CDA", - "meta_conntype": "mondrian.jndi", - "meta_datype": "mdx" - }, - { - "id": "c29e5b61-b6c4-765a-c0f6-8ea3c1bb4f70", - "type": "Componentsmdx_mondrianJndi", - "typeDesc": "mdx over mondrianJndi", - "parent": "MDX", - "properties": [ - { - "name": "name", - "value": "mdxQueryTop10UsersByLogin", - "type": "Id" - }, - { - "name": "access", - "value": "public", - "type": "Access" - }, - { - "name": "jndi", - "value": "Hibernate", - "type": "Jndi" - }, - { - "name": "catalog", - "value": "mondrian:/Pentaho+CE+Audit", - "type": "MondrianCatalog" - }, - { - "name": "query", - "value": "WITH\nSET [~ROWS] AS\n TopCount({[User].[User].Members}, 10, [Measures].[Quantity])\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[login]})", - "type": "SqlQuery" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"\",\"String\",\"\"]]", - "type": "CdaParameters" - }, - { - "name": "output", - "value": "[]", - "type": "IndexArray" - }, - { - "name": "outputMode", - "value": "include", - "type": "OutputMode" - }, - { - "name": "cdacolumns", - "value": "[]", - "type": "CdaColumnsArray" - }, - { - "name": "cdacalculatedcolumns", - "value": "[]", - "type": "CdaCalculatedColumnsArray" - }, - { - "name": "bandedMode", - "value": "compact", - "type": "BandedMode" - }, - { - "name": "cacheDuration", - "value": 3600, - "type": "Integer" - }, - { - "name": "cache", - "value": "false", - "type": "Boolean" - } - ], - "meta": "CDA", - "meta_conntype": "mondrian.jndi", - "meta_datype": "mdx" - }, - { - "id": "67019401-c2ea-a866-97d9-74607c110bd8", - "type": "Componentsmdx_mondrianJndi", - "typeDesc": "mdx over mondrianJndi", - "parent": "MDX", - "properties": [ - { - "name": "name", - "value": "mdxQueryAccessByHour", - "type": "Id" - }, - { - "name": "access", - "value": "public", - "type": "Access" - }, - { - "name": "jndi", - "value": "Hibernate", - "type": "Jndi" - }, - { - "name": "catalog", - "value": "mondrian:/Pentaho+CE+Audit", - "type": "MondrianCatalog" - }, - { - "name": "query", - "value": "WITH\nSET [~FILTER] AS\n {[Type].[login]}\nSET [~ROWS] AS\n {[Time].[Hour].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE [~FILTER]", - "type": "SqlQuery" - }, - { - "name": "parameters", - "value": "[]", - "type": "CdaParameters" - }, - { - "name": "output", - "value": "[]", - "type": "IndexArray" - }, - { - "name": "outputMode", - "value": "include", - "type": "OutputMode" - }, - { - "name": "cdacolumns", - "value": "[]", - "type": "CdaColumnsArray" - }, - { - "name": "cdacalculatedcolumns", - "value": "[]", - "type": "CdaCalculatedColumnsArray" - }, - { - "name": "bandedMode", - "value": "compact", - "type": "BandedMode" - }, - { - "name": "cacheDuration", - "value": 3600, - "type": "Integer" - }, - { - "name": "cache", - "value": "false", - "type": "Boolean" - } - ], - "meta": "CDA", - "meta_conntype": "mondrian.jndi", - "meta_datype": "mdx" - }, - { - "id": "a7b638e5-c1ca-cfab-2f3b-0339a1aaee31", - "type": "Componentsmdx_mondrianJndi", - "typeDesc": "mdx over mondrianJndi", - "parent": "MDX", - "properties": [ - { - "name": "name", - "value": "filterYearQuery", - "type": "Id" - }, - { - "name": "access", - "value": "public", - "type": "Access" - }, - { - "name": "jndi", - "value": "Hibernate", - "type": "Jndi" - }, - { - "name": "catalog", - "value": "mondrian:/Pentaho+CE+Audit", - "type": "MondrianCatalog" - }, - { - "name": "query", - "value": "with member [Measures].[Name] as '[Year].CurrentMember.UniqueName' \nselect TopCount( filter({Descendants([Year].members)}, not isempty(([Year].CurrentMember)) ) , 50) on ROWS, \n {[Measures].[Name]} on Columns \n from [Pentaho CE Audit]", - "type": "SqlQuery" - }, - { - "name": "parameters", - "value": "[]", - "type": "CdaParameters" - }, - { - "name": "output", - "value": "[\"1\",\"0\"]", - "type": "IndexArray" - }, - { - "name": "outputMode", - "value": "include", - "type": "OutputMode" - }, - { - "name": "cdacolumns", - "value": "[]", - "type": "CdaColumnsArray" - }, - { - "name": "cdacalculatedcolumns", - "value": "[]", - "type": "CdaCalculatedColumnsArray" - }, - { - "name": "bandedMode", - "value": "compact", - "type": "BandedMode" - }, - { - "name": "cacheDuration", - "value": 3600, - "type": "Integer" - }, - { - "name": "cache", - "value": "false", - "type": "Boolean" - } - ], - "meta": "CDA", - "meta_conntype": "mondrian.jndi", - "meta_datype": "mdx" - }, - { - "id": "87993b50-3736-eee0-26d8-9ba353781c27", - "type": "Componentsmdx_mondrianJndi", - "typeDesc": "mdx over mondrianJndi", - "parent": "MDX", - "properties": [ - { - "name": "name", - "value": "mdxQueryFiles", - "type": "Id" - }, - { - "name": "access", - "value": "public", - "type": "Access" - }, - { - "name": "jndi", - "value": "Hibernate", - "type": "Jndi" - }, - { - "name": "catalog", - "value": "mondrian:/Pentaho+CE+Audit", - "type": "MondrianCatalog" - }, - { - "name": "query", - "value": "WITH\nSET [~ROWS_User.User] AS\n {[User].[User].Members}\nSET [~ROWS_File.File] AS\n {[File].[File].Members}\nSET [~ROWS_Plugin.Plugin] AS\n {[Plugin].[Plugin].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY ([~ROWS_User.User] * [~ROWS_File.File] * [~ROWS_Plugin.Plugin]) ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})", - "type": "SqlQuery" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"\",\"String\",\"\"]]", - "type": "CdaParameters" - }, - { - "name": "output", - "value": "[]", - "type": "IndexArray" - }, - { - "name": "outputMode", - "value": "include", - "type": "OutputMode" - }, - { - "name": "cdacolumns", - "value": "[]", - "type": "CdaColumnsArray" - }, - { - "name": "cdacalculatedcolumns", - "value": "[]", - "type": "CdaCalculatedColumnsArray" - }, - { - "name": "bandedMode", - "value": "compact", - "type": "BandedMode" - }, - { - "name": "cacheDuration", - "value": 3600, - "type": "Integer" - }, - { - "name": "cache", - "value": "false", - "type": "Boolean" - } - ], - "meta": "CDA", - "meta_conntype": "mondrian.jndi", - "meta_datype": "mdx" - }, - { - "id": "41c534a7-4a18-55bb-5119-e3aa3a01f08b", - "type": "Componentsmdx_mondrianJndi", - "typeDesc": "mdx over mondrianJndi", - "parent": "MDX", - "properties": [ - { - "name": "name", - "value": "mdxQueryExecutionByHours", - "type": "Id" - }, - { - "name": "access", - "value": "public", - "type": "Access" - }, - { - "name": "jndi", - "value": "Hibernate", - "type": "Jndi" - }, - { - "name": "catalog", - "value": "mondrian:/Pentaho+CE+Audit", - "type": "MondrianCatalog" - }, - { - "name": "query", - "value": "WITH\nSET [~ROWS] AS\n {[Time].[Hour].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})", - "type": "SqlQuery" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"\",\"String\",\"\"]]", - "type": "CdaParameters" - }, - { - "name": "output", - "value": "[]", - "type": "IndexArray" - }, - { - "name": "outputMode", - "value": "include", - "type": "OutputMode" - }, - { - "name": "cdacolumns", - "value": "[]", - "type": "CdaColumnsArray" - }, - { - "name": "cdacalculatedcolumns", - "value": "[]", - "type": "CdaCalculatedColumnsArray" - }, - { - "name": "bandedMode", - "value": "compact", - "type": "BandedMode" - }, - { - "name": "cacheDuration", - "value": 3600, - "type": "Integer" - }, - { - "name": "cache", - "value": "false", - "type": "Boolean" - } - ], - "meta": "CDA", - "meta_conntype": "mondrian.jndi", - "meta_datype": "mdx" - }, - { - "id": "a3f7ae4c-6663-23f5-a407-05c6497bf07f", - "type": "Componentsmdx_mondrianJndi", - "typeDesc": "mdx over mondrianJndi", - "parent": "MDX", - "properties": [ - { - "name": "name", - "value": "mdxQueryExecByDayOfWeek", - "type": "Id" - }, - { - "name": "access", - "value": "public", - "type": "Access" - }, - { - "name": "jndi", - "value": "Hibernate", - "type": "Jndi" - }, - { - "name": "catalog", - "value": "mondrian:/Pentaho+CE+Audit", - "type": "MondrianCatalog" - }, - { - "name": "query", - "value": "WITH\nSET [~ROWS] AS\n {[Period].[Day of Week].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})", - "type": "SqlQuery" - }, - { - "name": "parameters", - "value": "[[\"filterYearParameter\",\"\",\"String\",\"\"]]", - "type": "CdaParameters" - }, - { - "name": "output", - "value": "[]", - "type": "IndexArray" - }, - { - "name": "outputMode", - "value": "include", - "type": "OutputMode" - }, - { - "name": "cdacolumns", - "value": "[]", - "type": "CdaColumnsArray" - }, - { - "name": "cdacalculatedcolumns", - "value": "[]", - "type": "CdaCalculatedColumnsArray" - }, - { - "name": "bandedMode", - "value": "compact", - "type": "BandedMode" - }, - { - "name": "cacheDuration", - "value": 3600, - "type": "Integer" - }, - { - "name": "cache", - "value": "false", - "type": "Boolean" - } - ], - "meta": "CDA", - "meta_conntype": "mondrian.jndi", - "meta_datype": "mdx" - }, - { - "id": "PENTAHO-CE-AUDIT_CPKENDPOINTS", - "name": "PENTAHO-CE-AUDIT Endpoints", - "type": "Label", - "typeDesc": "Group", - "parent": "UnIqEiD", - "properties": [ - { - "name": "Group", - "value": "PENTAHO-CE-AUDIT Endpoints", - "type": "Label" - } - ] - }, - { - "id": "e6b68ec6-9157-a5fe-ad1e-2e95f852a14f", - "type": "Componentspentahoceaudit_get_metadata_CPKENDPOINT", - "typeDesc": "get_metadata Endpoint", - "parent": "PENTAHO-CE-AUDIT_CPKENDPOINTS", - "properties": [ - { - "name": "name", - "value": "getLastUpdateRefresh", - "type": "Id" - }, - { - "name": "stepName", - "value": "OUTPUT", - "type": "String" - }, - { - "name": "kettleOutput", - "value": "Inferred", - "type": "kettleOutputCustom" - } - ], - "meta": "CPK", - "meta_pluginId": "pentaho-ce-audit", - "meta_endpoint": "get_metadata" - }, - { - "id": "d0dd7610-664c-f7b7-b9dc-b56d2d1fe455", - "type": "Componentspentahoceaudit_job_refresh_CPKENDPOINT", - "typeDesc": "job_refresh Endpoint", - "parent": "PENTAHO-CE-AUDIT_CPKENDPOINTS", - "properties": [ - { - "name": "name", - "value": "dsRefresh", - "type": "Id" - }, - { - "name": "stepName", - "value": "OUTPUT", - "type": "String" - }, - { - "name": "kettleOutput", - "value": "Inferred", - "type": "kettleOutputCustom" - } - ], - "meta": "CPK", - "meta_pluginId": "pentaho-ce-audit", - "meta_endpoint": "job_refresh" - } - ] - }, - "filename": "/system/pentaho-ce-audit/dashboards/admin/dashboard.cdfde" +{ + "components" : { + "rows" : [ + { + "id" : "CHARTS", + "name" : "Charts", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "Group", + "type" : "Label", + "value" : "Charts" + } + ], + "type" : "Label", + "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" + }, + { + "id" : "f9ac1c5e-b401-c35a-b254-339de4c256e6", + "meta_cdwSupport" : "true", + "parent" : "CHARTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "BarChartTop10UsersByExecution" + }, + { + "name" : "title", + "type" : "String", + "value" : "" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:filterYearParameter}\u0027,\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[[\u0022filterYearParameter\u0022,\u0022filterYearParameter\u0022]]" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "mdxQueryTop10UsersByExecution" + }, + { + "name" : "height", + "type" : "Integer", + "value" : "300" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "width", + "type" : "Integer", + "value" : "" + }, + { + "name" : "silent", + "value" : "false", + "type" : "Boolean" + }, + { + "name" : "clearsBeforePreExecution", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "colors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "Chart01-div" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "extensionPoints", + "type" : "EditorValuesArray", + "value" : "[]" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + }, + { + "name" : "renderMode", + "value" : "total", + "type" : "renderModeCustom" + }, + { + "name" : "dataAdditiveMode", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "animate", + "type" : "Boolean", + "value" : true + }, + { + "name" : "barOrthoSizeMin", + "type" : "Float", + "value" : 1.5 + }, + { + "name" : "barSizeMax", + "type" : "Float", + "value" : 2000 + }, + { + "name" : "barSizeRatio", + "type" : "Float", + "value" : 0.9 + }, + { + "name" : "barStackedMargin", + "type" : "Float", + "value" : 0 + }, + { + "name" : "baseAxisBandSize", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacing", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisDoubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "baseAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "baseAxisLabelDesiredAngles", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "baseAxisLabelRotationDirection", + "value" : "", + "type" : "cccBaseAxisLabelRotationDirectionCustom" + }, + { + "name" : "baseAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "baseAxisOverlappedLabelsMode", + "type" : "cccBaseAxisOverlappedLabelsModeCustom", + "value" : "hide" + }, + { + "name" : "baseAxisPosition", + "type" : "cccBaseAxisPositionCustom", + "value" : "" + }, + { + "name" : "baseAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleAlign", + "type" : "cccBaseAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "baseAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "baseAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "baseAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "baseAxisTooltipAutoContent", + "type" : "cccBaseAxisTooltipAutoContentCustom", + "value" : "value" + }, + { + "name" : "baseAxisTooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "categoryRole", + "type" : "String", + "value" : "" + }, + { + "name" : "clearSelectionMode", + "type" : "cccClearSelectionModeCustom", + "value" : "emptySpaceClick" + }, + { + "name" : "clickable", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "clickAction", + "type" : "JavaScript", + "value" : "function click(chart) {\n \n console.log(chart);\n \n var chartValueQuantity=chart.vars.category.value;\n// Dashboards.fireChange(\u0022pUser\u0022, user)\n \n alert(chartValueQuantity);\n \n //alert(quantity);\n \n //console.log(quantity);\n \n} " + }, + { + "name" : "color2AxisColors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "color2AxisLegendClickMode", + "type" : "cccColor2AxisLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "color2AxisLegendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendShape", + "type" : "cccColor2AxisLegendShapeCustom", + "value" : "" + }, + { + "name" : "color2AxisLegendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "color2AxisPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "color2AxisTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "color2AxisUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "colorPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "colorRole", + "type" : "String", + "value" : "" + }, + { + "name" : "colorTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "colorUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "compatVersion", + "type" : "Float", + "value" : 2 + }, + { + "name" : "contentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "contentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "crosstabMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ctrlSelectMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "dataCategoriesCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "dataIgnoreMetadataLabels", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataMeasuresInColumns", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataPartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "dataSeparator", + "type" : "String", + "value" : "~" + }, + { + "name" : "dataWhere", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "doubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "groupedLabelSep", + "type" : "String", + "value" : " ~ " + }, + { + "name" : "hoverable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ignoreNulls", + "type" : "Boolean", + "value" : true + }, + { + "name" : "interactive", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "isMultiValued", + "type" : "Boolean", + "value" : false + }, + { + "name" : "leafContentOverflow", + "type" : "cccLeafContentOverflowCustom", + "value" : "auto" + }, + { + "name" : "legend", + "type" : "Boolean", + "value" : true + }, + { + "name" : "legendAlign", + "type" : "cccLegendAlignCustom", + "value" : "" + }, + { + "name" : "legendClickMode", + "type" : "cccLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "legendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "legendItemCountMax", + "value" : "", + "type" : "Float" + }, + { + "name" : "legendItemPadding", + "type" : "String", + "value" : "2.5" + }, + { + "name" : "legendItemSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "legendMarkerSize", + "type" : "Float", + "value" : 15 + }, + { + "name" : "legendOverflow", + "value" : "", + "type" : "cccLegendOverflowCustom" + }, + { + "name" : "legendPaddings", + "type" : "String", + "value" : "5" + }, + { + "name" : "legendPosition", + "type" : "cccLegendPositionCustom", + "value" : "bottom" + }, + { + "name" : "legendShape", + "type" : "cccLegendShapeCustom", + "value" : "" + }, + { + "name" : "legendSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "legendTextMargin", + "type" : "Float", + "value" : 6 + }, + { + "name" : "legendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "margins", + "type" : "String", + "value" : "3" + }, + { + "name" : "measuresIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartColumnsMax", + "type" : "Float", + "value" : 3 + }, + { + "name" : "multiChartIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "multiChartOverflow", + "type" : "cccMultiChartOverflowCustom", + "value" : "grow" + }, + { + "name" : "multiChartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "multiChartSingleColFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "multiChartSingleRowFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "nullInterpolationMode", + "type" : "cccNullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "orientation", + "type" : "cccOrientationCustom", + "value" : "vertical" + }, + { + "name" : "ortho2AxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisDomainAlign", + "value" : "center", + "type" : "cccOrtho2AxisDomainAlignCustom" + }, + { + "name" : "ortho2AxisDomainRoundMode", + "type" : "cccOrtho2AxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "ortho2AxisDomainScope", + "type" : "cccOrtho2AxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "ortho2AxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "ortho2AxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ortho2AxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "ortho2AxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "ortho2AxisPosition", + "type" : "cccOrtho2AxisPositionCustom", + "value" : "" + }, + { + "name" : "ortho2AxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "ortho2AxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "ortho2AxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleAlign", + "type" : "cccOrtho2AxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "ortho2AxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "ortho2AxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisDomainAlign", + "value" : "center", + "type" : "cccOrthoAxisDomainAlignCustom" + }, + { + "name" : "orthoAxisDomainRoundMode", + "type" : "cccOrthoAxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "orthoAxisDomainScope", + "type" : "cccOrthoAxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "orthoAxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "orthoAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "orthoAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "orthoAxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "orthoAxisPosition", + "type" : "cccOrthoAxisPositionCustom", + "value" : "" + }, + { + "name" : "orthoAxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "orthoAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "orthoAxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleAlign", + "type" : "cccOrthoAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "orthoAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "orthoAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "overflowMarkersVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "paddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "panelSizeRatio", + "type" : "Float", + "value" : "" + }, + { + "name" : "percentValueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "plot2", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2AreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "plot2AreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2ColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "plot2DotsVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2LinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2NullInterpolationMode", + "type" : "cccPlot2NullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "plot2OrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "plot2Series", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "plot2SeriesIndexes", + "type" : "Array", + "value" : -1 + }, + { + "name" : "plot2Stacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2TrendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2TrendType", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2ValuesAnchor", + "type" : "cccPlot2ValuesAnchorCustom", + "value" : "" + }, + { + "name" : "plot2ValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "plot2ValuesMask", + "type" : "String", + "value" : "{value}" + }, + { + "name" : "plot2ValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plotFrameVisible", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "plotSizeMin", + "value" : "", + "type" : "String" + }, + { + "name" : "pointingMode", + "type" : "cccPointingModeCustom", + "value" : "near" + }, + { + "name" : "preserveLayout", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "readers", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "renderCallback", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "renderedCallback", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "selectable", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "selectionChangedAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "seriesInRows", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "seriesRole", + "type" : "String", + "value" : "" + }, + { + "name" : "slidingWindow", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "slidingWindowDimension", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowLength", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowSelect", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "smallAspectRatio", + "type" : "Float", + "value" : "" + }, + { + "name" : "smallContentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallContentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallHeight", + "type" : "String", + "value" : "" + }, + { + "name" : "smallMargins", + "type" : "String", + "value" : "2%" + }, + { + "name" : "smallPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitleAlign", + "type" : "cccSmallTitleAlignCustom", + "value" : "" + }, + { + "name" : "smallTitleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "smallTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePosition", + "type" : "cccSmallTitlePositionCustom", + "value" : "top" + }, + { + "name" : "smallTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "smallWidth", + "type" : "String", + "value" : "" + }, + { + "name" : "stacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "timeSeries", + "type" : "Boolean", + "value" : false + }, + { + "name" : "timeSeriesFormat", + "type" : "String", + "value" : "%Y-%m-%d" + }, + { + "name" : "titleAlign", + "type" : "cccTitleAlignCustom", + "value" : "" + }, + { + "name" : "titleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "titleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePosition", + "type" : "cccTitlePositionCustom", + "value" : "top" + }, + { + "name" : "titleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "titleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "titleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "tooltipArrowVisible", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "tooltipClassName", + "type" : "String", + "value" : "" + }, + { + "name" : "tooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFade", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFollowMouse", + "type" : "Boolean", + "value" : false + }, + { + "name" : "tooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "tooltipGravity", + "type" : "cccTooltipGravityCustom", + "value" : "" + }, + { + "name" : "tooltipHtml", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipOffset", + "type" : "Float", + "value" : "" + }, + { + "name" : "tooltipOpacity", + "type" : "Float", + "value" : 0.9 + }, + { + "name" : "tooltipUseCorners", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "trendAreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "trendAreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "trendDotsVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "trendLinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "trendOrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "trendStacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendType", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesAnchor", + "type" : "cccTrendValuesAnchorCustom", + "value" : "right" + }, + { + "name" : "trendValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "trendValuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "userSelectionAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueRole", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesAnchor", + "type" : "cccValuesAnchorCustom", + "value" : "" + }, + { + "name" : "valuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "valuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesNormalized", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "valuesOptimizeLegibility", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "valuesOverflow", + "type" : "cccValuesOverflowCustom", + "value" : "hide" + }, + { + "name" : "valuesVisible", + "type" : "Boolean", + "value" : "" + } + ], + "type" : "ComponentscccBarChart", + "typeDesc" : "CCC Bar Chart" + }, + { + "id" : "81622892-1299-3a71-e239-dced6ac18a3a", + "meta_cdwSupport" : "true", + "parent" : "CHARTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "BarChartTop10UsersByLogin" + }, + { + "name" : "title", + "type" : "String", + "value" : "" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:filterYearParameter}\u0027,\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[[\u0022filterYearParameter\u0022,\u0022filterYearParameter\u0022]]" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "mdxQueryTop10UsersByLogin" + }, + { + "name" : "height", + "type" : "Integer", + "value" : "300" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "width", + "type" : "Integer", + "value" : "" + }, + { + "name" : "silent", + "value" : "false", + "type" : "Boolean" + }, + { + "name" : "clearsBeforePreExecution", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "colors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "Chart02-div" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "extensionPoints", + "type" : "EditorValuesArray", + "value" : "[]" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + }, + { + "name" : "renderMode", + "value" : "total", + "type" : "renderModeCustom" + }, + { + "name" : "dataAdditiveMode", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "animate", + "type" : "Boolean", + "value" : true + }, + { + "name" : "barOrthoSizeMin", + "type" : "Float", + "value" : 1.5 + }, + { + "name" : "barSizeMax", + "type" : "Float", + "value" : 2000 + }, + { + "name" : "barSizeRatio", + "type" : "Float", + "value" : 0.9 + }, + { + "name" : "barStackedMargin", + "type" : "Float", + "value" : 0 + }, + { + "name" : "baseAxisBandSize", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacing", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisDoubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "baseAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "baseAxisLabelDesiredAngles", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "baseAxisLabelRotationDirection", + "value" : "", + "type" : "cccBaseAxisLabelRotationDirectionCustom" + }, + { + "name" : "baseAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "baseAxisOverlappedLabelsMode", + "type" : "cccBaseAxisOverlappedLabelsModeCustom", + "value" : "hide" + }, + { + "name" : "baseAxisPosition", + "type" : "cccBaseAxisPositionCustom", + "value" : "" + }, + { + "name" : "baseAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleAlign", + "type" : "cccBaseAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "baseAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "baseAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "baseAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "baseAxisTooltipAutoContent", + "type" : "cccBaseAxisTooltipAutoContentCustom", + "value" : "value" + }, + { + "name" : "baseAxisTooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "categoryRole", + "type" : "String", + "value" : "" + }, + { + "name" : "clearSelectionMode", + "type" : "cccClearSelectionModeCustom", + "value" : "emptySpaceClick" + }, + { + "name" : "clickable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "clickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "color2AxisColors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "color2AxisLegendClickMode", + "type" : "cccColor2AxisLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "color2AxisLegendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendShape", + "type" : "cccColor2AxisLegendShapeCustom", + "value" : "" + }, + { + "name" : "color2AxisLegendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "color2AxisPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "color2AxisTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "color2AxisUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "colorPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "colorRole", + "type" : "String", + "value" : "" + }, + { + "name" : "colorTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "colorUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "compatVersion", + "type" : "Float", + "value" : 2 + }, + { + "name" : "contentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "contentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "crosstabMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ctrlSelectMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "dataCategoriesCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "dataIgnoreMetadataLabels", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataMeasuresInColumns", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataPartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "dataSeparator", + "type" : "String", + "value" : "~" + }, + { + "name" : "dataWhere", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "doubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "groupedLabelSep", + "type" : "String", + "value" : " ~ " + }, + { + "name" : "hoverable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ignoreNulls", + "type" : "Boolean", + "value" : true + }, + { + "name" : "interactive", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "isMultiValued", + "type" : "Boolean", + "value" : false + }, + { + "name" : "leafContentOverflow", + "type" : "cccLeafContentOverflowCustom", + "value" : "auto" + }, + { + "name" : "legend", + "type" : "Boolean", + "value" : true + }, + { + "name" : "legendAlign", + "type" : "cccLegendAlignCustom", + "value" : "" + }, + { + "name" : "legendClickMode", + "type" : "cccLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "legendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "legendItemCountMax", + "value" : "", + "type" : "Float" + }, + { + "name" : "legendItemPadding", + "type" : "String", + "value" : "2.5" + }, + { + "name" : "legendItemSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "legendMarkerSize", + "type" : "Float", + "value" : 15 + }, + { + "name" : "legendOverflow", + "value" : "", + "type" : "cccLegendOverflowCustom" + }, + { + "name" : "legendPaddings", + "type" : "String", + "value" : "5" + }, + { + "name" : "legendPosition", + "type" : "cccLegendPositionCustom", + "value" : "bottom" + }, + { + "name" : "legendShape", + "type" : "cccLegendShapeCustom", + "value" : "" + }, + { + "name" : "legendSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "legendTextMargin", + "type" : "Float", + "value" : 6 + }, + { + "name" : "legendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "margins", + "type" : "String", + "value" : "3" + }, + { + "name" : "measuresIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartColumnsMax", + "type" : "Float", + "value" : 3 + }, + { + "name" : "multiChartIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "multiChartOverflow", + "type" : "cccMultiChartOverflowCustom", + "value" : "grow" + }, + { + "name" : "multiChartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "multiChartSingleColFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "multiChartSingleRowFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "nullInterpolationMode", + "type" : "cccNullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "orientation", + "type" : "cccOrientationCustom", + "value" : "vertical" + }, + { + "name" : "ortho2AxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisDomainAlign", + "value" : "center", + "type" : "cccOrtho2AxisDomainAlignCustom" + }, + { + "name" : "ortho2AxisDomainRoundMode", + "type" : "cccOrtho2AxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "ortho2AxisDomainScope", + "type" : "cccOrtho2AxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "ortho2AxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "ortho2AxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ortho2AxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "ortho2AxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "ortho2AxisPosition", + "type" : "cccOrtho2AxisPositionCustom", + "value" : "" + }, + { + "name" : "ortho2AxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "ortho2AxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "ortho2AxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleAlign", + "type" : "cccOrtho2AxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "ortho2AxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "ortho2AxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisDomainAlign", + "value" : "center", + "type" : "cccOrthoAxisDomainAlignCustom" + }, + { + "name" : "orthoAxisDomainRoundMode", + "type" : "cccOrthoAxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "orthoAxisDomainScope", + "type" : "cccOrthoAxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "orthoAxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "orthoAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "orthoAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "orthoAxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "orthoAxisPosition", + "type" : "cccOrthoAxisPositionCustom", + "value" : "" + }, + { + "name" : "orthoAxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "orthoAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "orthoAxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleAlign", + "type" : "cccOrthoAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "orthoAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "orthoAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "overflowMarkersVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "paddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "panelSizeRatio", + "type" : "Float", + "value" : "" + }, + { + "name" : "percentValueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "plot2", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2AreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "plot2AreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2ColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "plot2DotsVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2LinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2NullInterpolationMode", + "type" : "cccPlot2NullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "plot2OrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "plot2Series", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "plot2SeriesIndexes", + "type" : "Array", + "value" : -1 + }, + { + "name" : "plot2Stacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2TrendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2TrendType", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2ValuesAnchor", + "type" : "cccPlot2ValuesAnchorCustom", + "value" : "" + }, + { + "name" : "plot2ValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "plot2ValuesMask", + "type" : "String", + "value" : "{value}" + }, + { + "name" : "plot2ValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plotFrameVisible", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "plotSizeMin", + "value" : "", + "type" : "String" + }, + { + "name" : "pointingMode", + "type" : "cccPointingModeCustom", + "value" : "near" + }, + { + "name" : "preserveLayout", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "readers", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "renderCallback", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "renderedCallback", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "selectable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "selectionChangedAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "seriesInRows", + "type" : "Boolean", + "value" : false + }, + { + "name" : "seriesRole", + "type" : "String", + "value" : "" + }, + { + "name" : "slidingWindow", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "slidingWindowDimension", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowLength", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowSelect", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "smallAspectRatio", + "type" : "Float", + "value" : "" + }, + { + "name" : "smallContentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallContentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallHeight", + "type" : "String", + "value" : "" + }, + { + "name" : "smallMargins", + "type" : "String", + "value" : "2%" + }, + { + "name" : "smallPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitleAlign", + "type" : "cccSmallTitleAlignCustom", + "value" : "" + }, + { + "name" : "smallTitleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "smallTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePosition", + "type" : "cccSmallTitlePositionCustom", + "value" : "top" + }, + { + "name" : "smallTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "smallWidth", + "type" : "String", + "value" : "" + }, + { + "name" : "stacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "timeSeries", + "type" : "Boolean", + "value" : false + }, + { + "name" : "timeSeriesFormat", + "type" : "String", + "value" : "%Y-%m-%d" + }, + { + "name" : "titleAlign", + "type" : "cccTitleAlignCustom", + "value" : "" + }, + { + "name" : "titleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "titleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePosition", + "type" : "cccTitlePositionCustom", + "value" : "top" + }, + { + "name" : "titleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "titleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "titleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "tooltipArrowVisible", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "tooltipClassName", + "type" : "String", + "value" : "" + }, + { + "name" : "tooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFade", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFollowMouse", + "type" : "Boolean", + "value" : false + }, + { + "name" : "tooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "tooltipGravity", + "type" : "cccTooltipGravityCustom", + "value" : "" + }, + { + "name" : "tooltipHtml", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipOffset", + "type" : "Float", + "value" : "" + }, + { + "name" : "tooltipOpacity", + "type" : "Float", + "value" : 0.9 + }, + { + "name" : "tooltipUseCorners", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "trendAreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "trendAreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "trendDotsVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "trendLinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "trendOrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "trendStacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendType", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesAnchor", + "type" : "cccTrendValuesAnchorCustom", + "value" : "right" + }, + { + "name" : "trendValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "trendValuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "userSelectionAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueRole", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesAnchor", + "type" : "cccValuesAnchorCustom", + "value" : "" + }, + { + "name" : "valuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "valuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesNormalized", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "valuesOptimizeLegibility", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "valuesOverflow", + "type" : "cccValuesOverflowCustom", + "value" : "hide" + }, + { + "name" : "valuesVisible", + "type" : "Boolean", + "value" : "" + } + ], + "type" : "ComponentscccBarChart", + "typeDesc" : "CCC Bar Chart" + }, + { + "id" : "c8104e4d-f6b6-149c-99bf-8a0c2870e4b8", + "meta_cdwSupport" : "true", + "parent" : "CHARTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "LineChartExecutionByHours" + }, + { + "name" : "title", + "type" : "String", + "value" : "" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:filterYearParameter}\u0027,\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[[\u0022filterYearParameter\u0022,\u0022filterYearParameter\u0022]]" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "mdxQueryExecutionByHours" + }, + { + "name" : "height", + "type" : "Integer", + "value" : "300" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "width", + "type" : "Integer", + "value" : "" + }, + { + "name" : "silent", + "value" : "false", + "type" : "Boolean" + }, + { + "name" : "clearsBeforePreExecution", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "colors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "Chart04-div" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "extensionPoints", + "type" : "EditorValuesArray", + "value" : "[[\u0022line_lineWidth\u0022,\u0022function(){return 4;}\u0022]]" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + }, + { + "name" : "renderMode", + "value" : "total", + "type" : "renderModeCustom" + }, + { + "name" : "dataAdditiveMode", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "animate", + "type" : "Boolean", + "value" : true + }, + { + "name" : "areasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "areasVisible", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "baseAxisBandSize", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacing", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisDomainAlign", + "value" : "center", + "type" : "cccBaseAxisDomainAlignCustom" + }, + { + "name" : "baseAxisDomainRoundMode", + "type" : "cccBaseAxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "baseAxisDomainScope", + "type" : "cccBaseAxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "baseAxisDoubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "baseAxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "baseAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "baseAxisLabelDesiredAngles", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "baseAxisLabelRotationDirection", + "value" : "", + "type" : "cccBaseAxisLabelRotationDirectionCustom" + }, + { + "name" : "baseAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "baseAxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "baseAxisOverlappedLabelsMode", + "type" : "cccBaseAxisOverlappedLabelsModeCustom", + "value" : "hide" + }, + { + "name" : "baseAxisPosition", + "type" : "cccBaseAxisPositionCustom", + "value" : "" + }, + { + "name" : "baseAxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "baseAxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "baseAxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "baseAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "baseAxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "baseAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleAlign", + "type" : "cccBaseAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "baseAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "baseAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "baseAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "baseAxisTooltipAutoContent", + "type" : "cccBaseAxisTooltipAutoContentCustom", + "value" : "value" + }, + { + "name" : "baseAxisTooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "categoryRole", + "type" : "String", + "value" : "" + }, + { + "name" : "clearSelectionMode", + "type" : "cccClearSelectionModeCustom", + "value" : "emptySpaceClick" + }, + { + "name" : "clickable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "clickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "color2AxisColors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "color2AxisLegendClickMode", + "type" : "cccColor2AxisLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "color2AxisLegendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendShape", + "type" : "cccColor2AxisLegendShapeCustom", + "value" : "" + }, + { + "name" : "color2AxisLegendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "color2AxisPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "color2AxisTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "color2AxisUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "colorPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "colorRole", + "type" : "String", + "value" : "" + }, + { + "name" : "colorTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "colorUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "compatVersion", + "type" : "Float", + "value" : 2 + }, + { + "name" : "contentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "contentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "crosstabMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ctrlSelectMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "dataCategoriesCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "dataIgnoreMetadataLabels", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataMeasuresInColumns", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataPartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "dataSeparator", + "type" : "String", + "value" : "~" + }, + { + "name" : "dataWhere", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "dotsVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "doubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "groupedLabelSep", + "type" : "String", + "value" : " ~ " + }, + { + "name" : "hoverable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ignoreNulls", + "type" : "Boolean", + "value" : true + }, + { + "name" : "interactive", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "isMultiValued", + "type" : "Boolean", + "value" : false + }, + { + "name" : "leafContentOverflow", + "type" : "cccLeafContentOverflowCustom", + "value" : "auto" + }, + { + "name" : "legend", + "type" : "Boolean", + "value" : true + }, + { + "name" : "legendAlign", + "type" : "cccLegendAlignCustom", + "value" : "" + }, + { + "name" : "legendClickMode", + "type" : "cccLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "legendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "legendItemCountMax", + "value" : "", + "type" : "Float" + }, + { + "name" : "legendItemPadding", + "type" : "String", + "value" : "2.5" + }, + { + "name" : "legendItemSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "legendMarkerSize", + "type" : "Float", + "value" : 15 + }, + { + "name" : "legendOverflow", + "value" : "", + "type" : "cccLegendOverflowCustom" + }, + { + "name" : "legendPaddings", + "type" : "String", + "value" : "5" + }, + { + "name" : "legendPosition", + "type" : "cccLegendPositionCustom", + "value" : "bottom" + }, + { + "name" : "legendShape", + "type" : "cccLegendShapeCustom", + "value" : "" + }, + { + "name" : "legendSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "legendTextMargin", + "type" : "Float", + "value" : 6 + }, + { + "name" : "legendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "margins", + "type" : "String", + "value" : "3" + }, + { + "name" : "measuresIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartColumnsMax", + "type" : "Float", + "value" : 3 + }, + { + "name" : "multiChartIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "multiChartOverflow", + "type" : "cccMultiChartOverflowCustom", + "value" : "grow" + }, + { + "name" : "multiChartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "multiChartSingleColFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "multiChartSingleRowFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "nullInterpolationMode", + "type" : "cccNullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "orientation", + "type" : "cccOrientationCustom", + "value" : "vertical" + }, + { + "name" : "ortho2AxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisDomainAlign", + "value" : "center", + "type" : "cccOrtho2AxisDomainAlignCustom" + }, + { + "name" : "ortho2AxisDomainRoundMode", + "type" : "cccOrtho2AxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "ortho2AxisDomainScope", + "type" : "cccOrtho2AxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "ortho2AxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "ortho2AxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ortho2AxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "ortho2AxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "ortho2AxisPosition", + "type" : "cccOrtho2AxisPositionCustom", + "value" : "" + }, + { + "name" : "ortho2AxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "ortho2AxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "ortho2AxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleAlign", + "type" : "cccOrtho2AxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "ortho2AxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "ortho2AxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisDomainAlign", + "value" : "center", + "type" : "cccOrthoAxisDomainAlignCustom" + }, + { + "name" : "orthoAxisDomainRoundMode", + "type" : "cccOrthoAxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "orthoAxisDomainScope", + "type" : "cccOrthoAxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "orthoAxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "orthoAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "orthoAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "orthoAxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "orthoAxisPosition", + "type" : "cccOrthoAxisPositionCustom", + "value" : "" + }, + { + "name" : "orthoAxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "orthoAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "orthoAxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleAlign", + "type" : "cccOrthoAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "orthoAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "orthoAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "paddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "percentValueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "plot2", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2AreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "plot2AreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2ColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "plot2DotsVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2LinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2NullInterpolationMode", + "type" : "cccPlot2NullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "plot2OrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "plot2Series", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "plot2SeriesIndexes", + "type" : "Array", + "value" : -1 + }, + { + "name" : "plot2Stacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2TrendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2TrendType", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2ValuesAnchor", + "type" : "cccPlot2ValuesAnchorCustom", + "value" : "" + }, + { + "name" : "plot2ValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "plot2ValuesMask", + "type" : "String", + "value" : "{value}" + }, + { + "name" : "plot2ValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plotFrameVisible", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "plotSizeMin", + "value" : "", + "type" : "String" + }, + { + "name" : "pointingMode", + "type" : "cccPointingModeCustom", + "value" : "near" + }, + { + "name" : "preserveLayout", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "readers", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "renderCallback", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "renderedCallback", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "selectable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "selectionChangedAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "seriesInRows", + "type" : "Boolean", + "value" : false + }, + { + "name" : "seriesRole", + "type" : "String", + "value" : "" + }, + { + "name" : "slidingWindow", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "slidingWindowDimension", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowLength", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowSelect", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "smallAspectRatio", + "type" : "Float", + "value" : "" + }, + { + "name" : "smallContentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallContentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallHeight", + "type" : "String", + "value" : "" + }, + { + "name" : "smallMargins", + "type" : "String", + "value" : "2%" + }, + { + "name" : "smallPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitleAlign", + "type" : "cccSmallTitleAlignCustom", + "value" : "" + }, + { + "name" : "smallTitleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "smallTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePosition", + "type" : "cccSmallTitlePositionCustom", + "value" : "top" + }, + { + "name" : "smallTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "smallWidth", + "type" : "String", + "value" : "" + }, + { + "name" : "timeSeries", + "type" : "Boolean", + "value" : false + }, + { + "name" : "timeSeriesFormat", + "type" : "String", + "value" : "%Y-%m-%d" + }, + { + "name" : "titleAlign", + "type" : "cccTitleAlignCustom", + "value" : "" + }, + { + "name" : "titleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "titleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePosition", + "type" : "cccTitlePositionCustom", + "value" : "top" + }, + { + "name" : "titleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "titleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "titleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "tooltipArrowVisible", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "tooltipClassName", + "type" : "String", + "value" : "" + }, + { + "name" : "tooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFade", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFollowMouse", + "type" : "Boolean", + "value" : false + }, + { + "name" : "tooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "tooltipGravity", + "type" : "cccTooltipGravityCustom", + "value" : "" + }, + { + "name" : "tooltipHtml", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipOffset", + "type" : "Float", + "value" : "" + }, + { + "name" : "tooltipOpacity", + "type" : "Float", + "value" : 0.9 + }, + { + "name" : "tooltipUseCorners", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "trendAreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "trendAreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "trendDotsVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "trendLinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "trendOrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "trendStacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendType", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesAnchor", + "type" : "cccTrendValuesAnchorCustom", + "value" : "right" + }, + { + "name" : "trendValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "trendValuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "userSelectionAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueRole", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesAnchor", + "type" : "cccValuesAnchorCustom", + "value" : "" + }, + { + "name" : "valuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "valuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesVisible", + "type" : "Boolean", + "value" : "" + } + ], + "type" : "ComponentscccLineChart", + "typeDesc" : "CCC Line Chart" + }, + { + "id" : "a9f4b006-e6c8-4b1c-c1fb-09112ee16778", + "meta_cdwSupport" : "true", + "parent" : "CHARTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "BarChartExecutionsByDayOfWeek" + }, + { + "name" : "title", + "type" : "String", + "value" : "" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:filterYearParameter}\u0027,\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[[\u0022filterYearParameter\u0022,\u0022filterYearParameter\u0022]]" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "mdxQueryExecByDayOfWeek" + }, + { + "name" : "height", + "type" : "Integer", + "value" : "300" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "width", + "type" : "Integer", + "value" : "" + }, + { + "name" : "silent", + "value" : "false", + "type" : "Boolean" + }, + { + "name" : "clearsBeforePreExecution", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "colors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "Chart03-div" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "extensionPoints", + "type" : "EditorValuesArray", + "value" : "[]" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + }, + { + "name" : "renderMode", + "value" : "total", + "type" : "renderModeCustom" + }, + { + "name" : "dataAdditiveMode", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "animate", + "type" : "Boolean", + "value" : true + }, + { + "name" : "barOrthoSizeMin", + "type" : "Float", + "value" : 1.5 + }, + { + "name" : "barSizeMax", + "type" : "Float", + "value" : 2000 + }, + { + "name" : "barSizeRatio", + "type" : "Float", + "value" : 0.9 + }, + { + "name" : "barStackedMargin", + "type" : "Float", + "value" : 0 + }, + { + "name" : "baseAxisBandSize", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSizeMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacing", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisBandSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisDoubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "baseAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "baseAxisLabelDesiredAngles", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "baseAxisLabelRotationDirection", + "value" : "", + "type" : "cccBaseAxisLabelRotationDirectionCustom" + }, + { + "name" : "baseAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "baseAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "baseAxisOverlappedLabelsMode", + "type" : "cccBaseAxisOverlappedLabelsModeCustom", + "value" : "hide" + }, + { + "name" : "baseAxisPosition", + "type" : "cccBaseAxisPositionCustom", + "value" : "" + }, + { + "name" : "baseAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleAlign", + "type" : "cccBaseAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "baseAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "baseAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "baseAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "baseAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "baseAxisTooltipAutoContent", + "type" : "cccBaseAxisTooltipAutoContentCustom", + "value" : "value" + }, + { + "name" : "baseAxisTooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "baseAxisTooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "baseAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "categoryRole", + "type" : "String", + "value" : "" + }, + { + "name" : "clearSelectionMode", + "type" : "cccClearSelectionModeCustom", + "value" : "emptySpaceClick" + }, + { + "name" : "clickable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "clickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "color2AxisColors", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "color2AxisLegendClickMode", + "type" : "cccColor2AxisLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "color2AxisLegendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "color2AxisLegendShape", + "type" : "cccColor2AxisLegendShapeCustom", + "value" : "" + }, + { + "name" : "color2AxisLegendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "color2AxisPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "color2AxisTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "color2AxisUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "colorPreserveMap", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "colorRole", + "type" : "String", + "value" : "" + }, + { + "name" : "colorTransform", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "colorUnbound", + "type" : "String", + "value" : "" + }, + { + "name" : "compatVersion", + "type" : "Float", + "value" : 2 + }, + { + "name" : "contentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "contentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "crosstabMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ctrlSelectMode", + "type" : "Boolean", + "value" : true + }, + { + "name" : "dataCategoriesCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "dataIgnoreMetadataLabels", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataMeasuresInColumns", + "type" : "Boolean", + "value" : false + }, + { + "name" : "dataPartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "dataSeparator", + "type" : "String", + "value" : "~" + }, + { + "name" : "dataWhere", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "doubleClickAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "groupedLabelSep", + "type" : "String", + "value" : " ~ " + }, + { + "name" : "hoverable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ignoreNulls", + "type" : "Boolean", + "value" : true + }, + { + "name" : "interactive", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "isMultiValued", + "type" : "Boolean", + "value" : false + }, + { + "name" : "leafContentOverflow", + "type" : "cccLeafContentOverflowCustom", + "value" : "auto" + }, + { + "name" : "legend", + "type" : "Boolean", + "value" : true + }, + { + "name" : "legendAlign", + "type" : "cccLegendAlignCustom", + "value" : "" + }, + { + "name" : "legendClickMode", + "type" : "cccLegendClickModeCustom", + "value" : "toggleVisible" + }, + { + "name" : "legendDrawLine", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendDrawMarker", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "legendFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "legendItemCountMax", + "value" : "", + "type" : "Float" + }, + { + "name" : "legendItemPadding", + "type" : "String", + "value" : "2.5" + }, + { + "name" : "legendItemSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "legendMarkerSize", + "type" : "Float", + "value" : 15 + }, + { + "name" : "legendOverflow", + "value" : "", + "type" : "cccLegendOverflowCustom" + }, + { + "name" : "legendPaddings", + "type" : "String", + "value" : "5" + }, + { + "name" : "legendPosition", + "type" : "cccLegendPositionCustom", + "value" : "bottom" + }, + { + "name" : "legendShape", + "type" : "cccLegendShapeCustom", + "value" : "" + }, + { + "name" : "legendSize", + "type" : "String", + "value" : "" + }, + { + "name" : "legendSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "legendTextMargin", + "type" : "Float", + "value" : 6 + }, + { + "name" : "legendVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "margins", + "type" : "String", + "value" : "3" + }, + { + "name" : "measuresIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartColumnsMax", + "type" : "Float", + "value" : 3 + }, + { + "name" : "multiChartIndexes", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "multiChartMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "multiChartOverflow", + "type" : "cccMultiChartOverflowCustom", + "value" : "grow" + }, + { + "name" : "multiChartRole", + "type" : "String", + "value" : "" + }, + { + "name" : "multiChartSingleColFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "multiChartSingleRowFillsHeight", + "type" : "Boolean", + "value" : true + }, + { + "name" : "nullInterpolationMode", + "type" : "cccNullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "orientation", + "type" : "cccOrientationCustom", + "value" : "vertical" + }, + { + "name" : "ortho2AxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisDomainAlign", + "value" : "center", + "type" : "cccOrtho2AxisDomainAlignCustom" + }, + { + "name" : "ortho2AxisDomainRoundMode", + "type" : "cccOrtho2AxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "ortho2AxisDomainScope", + "type" : "cccOrtho2AxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "ortho2AxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "ortho2AxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "ortho2AxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "ortho2AxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "ortho2AxisPosition", + "type" : "cccOrtho2AxisPositionCustom", + "value" : "" + }, + { + "name" : "ortho2AxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "ortho2AxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "ortho2AxisTickFormatter", + "type" : "JavaScript", + "value" : "function f(value) {\rreturn addCommas(value); \r} " + }, + { + "name" : "ortho2AxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "ortho2AxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleAlign", + "type" : "cccOrtho2AxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "ortho2AxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "ortho2AxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "ortho2AxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "ortho2AxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "ortho2AxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "ortho2AxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisDesiredTickCount", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisDomainAlign", + "value" : "center", + "type" : "cccOrthoAxisDomainAlignCustom" + }, + { + "name" : "orthoAxisDomainRoundMode", + "type" : "cccOrthoAxisDomainRoundModeCustom", + "value" : "tick" + }, + { + "name" : "orthoAxisDomainScope", + "type" : "cccOrthoAxisDomainScopeCustom", + "value" : "global" + }, + { + "name" : "orthoAxisFixedLength", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisFixedMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFixedMin", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisFont", + "value" : "", + "type" : "String" + }, + { + "name" : "orthoAxisGrid", + "type" : "Boolean", + "value" : false + }, + { + "name" : "orthoAxisLabelSpacingMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisMinorTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisOffset", + "type" : "Float", + "value" : 0 + }, + { + "name" : "orthoAxisOriginIsZero", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "orthoAxisPosition", + "type" : "cccOrthoAxisPositionCustom", + "value" : "" + }, + { + "name" : "orthoAxisPreserveRatio", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisPreserveTickAlignment", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisRatio", + "value" : "", + "type" : "Float" + }, + { + "name" : "orthoAxisSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMax", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickExponentMin", + "type" : "Float", + "value" : "" + }, + { + "name" : "orthoAxisTickFormatter", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "orthoAxisTicks", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisTickUnit", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTickUnitMax", + "type" : "String", + "value" : "Infinity" + }, + { + "name" : "orthoAxisTickUnitMin", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitle", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleAlign", + "type" : "cccOrthoAxisTitleAlignCustom", + "value" : "" + }, + { + "name" : "orthoAxisTitleFont", + "type" : "String", + "value" : "12px sans-serif" + }, + { + "name" : "orthoAxisTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "orthoAxisTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "orthoAxisTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "orthoAxisVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "orthoAxisZeroLine", + "type" : "Boolean", + "value" : true + }, + { + "name" : "overflowMarkersVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "paddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "panelSizeRatio", + "type" : "Float", + "value" : "" + }, + { + "name" : "percentValueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "plot2", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2AreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "plot2AreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2ColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "plot2DotsVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2LinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "plot2NullInterpolationMode", + "type" : "cccPlot2NullInterpolationModeCustom", + "value" : "none" + }, + { + "name" : "plot2OrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "plot2Series", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "plot2SeriesIndexes", + "type" : "Array", + "value" : -1 + }, + { + "name" : "plot2Stacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plot2TrendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2TrendType", + "type" : "String", + "value" : "" + }, + { + "name" : "plot2ValuesAnchor", + "type" : "cccPlot2ValuesAnchorCustom", + "value" : "" + }, + { + "name" : "plot2ValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "plot2ValuesMask", + "type" : "String", + "value" : "{value}" + }, + { + "name" : "plot2ValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "plotFrameVisible", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "plotSizeMin", + "value" : "", + "type" : "String" + }, + { + "name" : "pointingMode", + "type" : "cccPointingModeCustom", + "value" : "near" + }, + { + "name" : "preserveLayout", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "readers", + "value" : "[]", + "type" : "Array" + }, + { + "name" : "renderCallback", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "renderedCallback", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "selectable", + "type" : "Boolean", + "value" : false + }, + { + "name" : "selectionChangedAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "seriesInRows", + "type" : "Boolean", + "value" : false + }, + { + "name" : "seriesRole", + "type" : "String", + "value" : "" + }, + { + "name" : "slidingWindow", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "slidingWindowDimension", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowLength", + "value" : "", + "type" : "String" + }, + { + "name" : "slidingWindowSelect", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "smallAspectRatio", + "type" : "Float", + "value" : "" + }, + { + "name" : "smallContentMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallContentPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallHeight", + "type" : "String", + "value" : "" + }, + { + "name" : "smallMargins", + "type" : "String", + "value" : "2%" + }, + { + "name" : "smallPaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitleAlign", + "type" : "cccSmallTitleAlignCustom", + "value" : "" + }, + { + "name" : "smallTitleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "smallTitleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "smallTitlePosition", + "type" : "cccSmallTitlePositionCustom", + "value" : "top" + }, + { + "name" : "smallTitleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "smallTitleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "smallWidth", + "type" : "String", + "value" : "" + }, + { + "name" : "stacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "timeSeries", + "type" : "Boolean", + "value" : false + }, + { + "name" : "timeSeriesFormat", + "type" : "String", + "value" : "%Y-%m-%d" + }, + { + "name" : "titleAlign", + "type" : "cccTitleAlignCustom", + "value" : "" + }, + { + "name" : "titleFont", + "type" : "String", + "value" : "14px sans-serif" + }, + { + "name" : "titleMargins", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePaddings", + "type" : "String", + "value" : "0" + }, + { + "name" : "titlePosition", + "type" : "cccTitlePositionCustom", + "value" : "top" + }, + { + "name" : "titleSize", + "type" : "String", + "value" : "" + }, + { + "name" : "titleSizeMax", + "type" : "String", + "value" : "" + }, + { + "name" : "titleVisible", + "value" : "", + "type" : "Boolean" + }, + { + "name" : "tooltipArrowVisible", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "tooltipClassName", + "type" : "String", + "value" : "" + }, + { + "name" : "tooltipEnabled", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFade", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipFollowMouse", + "type" : "Boolean", + "value" : false + }, + { + "name" : "tooltipFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "tooltipGravity", + "type" : "cccTooltipGravityCustom", + "value" : "" + }, + { + "name" : "tooltipHtml", + "type" : "Boolean", + "value" : true + }, + { + "name" : "tooltipOffset", + "type" : "Float", + "value" : "" + }, + { + "name" : "tooltipOpacity", + "type" : "Float", + "value" : 0.9 + }, + { + "name" : "tooltipUseCorners", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "trendAreasFillOpacity", + "value" : 0.5, + "type" : "Float" + }, + { + "name" : "trendAreasVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendColorAxis", + "type" : "Float", + "value" : 2 + }, + { + "name" : "trendDotsVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendLabel", + "type" : "String", + "value" : "" + }, + { + "name" : "trendLinesVisible", + "type" : "Boolean", + "value" : true + }, + { + "name" : "trendOrthoAxis", + "type" : "Float", + "value" : 1 + }, + { + "name" : "trendStacked", + "type" : "Boolean", + "value" : false + }, + { + "name" : "trendType", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesAnchor", + "type" : "cccTrendValuesAnchorCustom", + "value" : "right" + }, + { + "name" : "trendValuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "trendValuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "trendValuesVisible", + "type" : "Boolean", + "value" : false + }, + { + "name" : "userSelectionAction", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueFormat", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "valueRole", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesAnchor", + "type" : "cccValuesAnchorCustom", + "value" : "" + }, + { + "name" : "valuesFont", + "type" : "String", + "value" : "10px sans-serif" + }, + { + "name" : "valuesMask", + "type" : "String", + "value" : "" + }, + { + "name" : "valuesNormalized", + "value" : false, + "type" : "Boolean" + }, + { + "name" : "valuesOptimizeLegibility", + "type" : "Boolean", + "value" : "" + }, + { + "name" : "valuesOverflow", + "type" : "cccValuesOverflowCustom", + "value" : "hide" + }, + { + "name" : "valuesVisible", + "type" : "Boolean", + "value" : "" + } + ], + "type" : "ComponentscccBarChart", + "typeDesc" : "CCC Bar Chart" + }, + { + "id" : "GENERIC", + "name" : "Generic", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "Group", + "type" : "Label", + "value" : "Generic" + } + ], + "type" : "Label", + "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" + }, + { + "dimension" : "[Period].[All]", + "id" : "b2f049e2-84d9-34ac-6350-2f6aaf399cb3", + "parent" : "GENERIC", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "filterYearParameter" + }, + { + "name" : "propertyValue", + "type" : "String", + "value" : "[Year].[All]" + }, + { + "name" : "parameterViewRole", + "type" : "parameterViewRoleCustom", + "value" : "unused" + }, + { + "name" : "bookmarkable", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "ComponentsOlapParameter", + "typeDesc" : "OLAP parameter" + }, + { + "id" : "285fcc68-56a9-ee07-39d0-da2e7d8ca2e1", + "parent" : "GENERIC", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "refresh" + }, + { + "name" : "propertyValue", + "type" : "String", + "value" : "" + }, + { + "name" : "parameterViewRole", + "type" : "parameterViewRoleCustom", + "value" : "unused" + }, + { + "name" : "bookmarkable", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "public", + "value" : "false", + "type" : "Boolean" + } + ], + "type" : "ComponentsParameter", + "typeDesc" : "Simple parameter" + }, + { + "id" : "2439b3e9-6f3b-1162-b43c-723ef8b93516", + "parent" : "GENERIC", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "lastUpdated" + }, + { + "name" : "propertyValue", + "type" : "String", + "value" : "" + }, + { + "name" : "parameterViewRole", + "type" : "parameterViewRoleCustom", + "value" : "unused" + }, + { + "name" : "bookmarkable", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "public", + "value" : "false", + "type" : "Boolean" + } + ], + "type" : "ComponentsParameter", + "typeDesc" : "Simple parameter" + }, + { + "id" : "f4c18556-a3d4-0481-a98f-e970b2b6720c", + "parent" : "GENERIC", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "PENTAHO_ROLES" + }, + { + "name" : "propertyValue", + "type" : "String", + "value" : "" + }, + { + "name" : "parameterViewRole", + "type" : "parameterViewRoleCustom", + "value" : "unused" + }, + { + "name" : "bookmarkable", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "public", + "value" : "false", + "type" : "Boolean" + } + ], + "type" : "ComponentsParameter", + "typeDesc" : "Simple parameter" + }, + { + "id" : "19de6c10-6946-6ba7-38a1-3a056eaf897c", + "parent" : "GENERIC", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "PENTAHO_USER" + }, + { + "name" : "propertyValue", + "type" : "String", + "value" : "" + }, + { + "name" : "parameterViewRole", + "type" : "parameterViewRoleCustom", + "value" : "unused" + }, + { + "name" : "bookmarkable", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "public", + "value" : "false", + "type" : "Boolean" + } + ], + "type" : "ComponentsParameter", + "typeDesc" : "Simple parameter" + }, + { + "id" : "693e4143-6cbb-220d-a03e-f2fc22299449", + "parent" : "GENERIC", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "PENTAHO_PORT" + }, + { + "name" : "propertyValue", + "type" : "String", + "value" : "" + }, + { + "name" : "parameterViewRole", + "type" : "parameterViewRoleCustom", + "value" : "unused" + }, + { + "name" : "bookmarkable", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "public", + "value" : "false", + "type" : "Boolean" + } + ], + "type" : "ComponentsParameter", + "typeDesc" : "Simple parameter" + }, + { + "id" : "2dfefd4e-a960-1400-c33a-148d1adc3717", + "parent" : "GENERIC", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "PENTAHO_HOST" + }, + { + "name" : "propertyValue", + "type" : "String", + "value" : "" + }, + { + "name" : "parameterViewRole", + "type" : "parameterViewRoleCustom", + "value" : "unused" + }, + { + "name" : "bookmarkable", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "public", + "value" : "false", + "type" : "Boolean" + } + ], + "type" : "ComponentsParameter", + "typeDesc" : "Simple parameter" + }, + { + "id" : "SELECTORS", + "name" : "Selects", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "Group", + "type" : "Label", + "value" : "Selects" + } + ], + "type" : "Label", + "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" + }, + { + "id" : "889b0058-2cf4-ae3a-b9f8-83a1b11a73cf", + "parent" : "SELECTORS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "filterYearSelectorMobile" + }, + { + "name" : "parameter", + "type" : "Parameter", + "value" : "filterYearParameter" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "externalPlugin", + "type" : "externalPluginCustom", + "value" : "" + }, + { + "name" : "valueAsId", + "type" : "Boolean", + "value" : false + }, + { + "name" : "useFirstValue", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "filterYearQuery" + }, + { + "name" : "valuesArray", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "filterYear-div-mobile" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "function f() {\n \n var select=$(\u0027#\u0027+this.htmlObject);\n select.addClass(\u0027hidden-sm hidden-md hidden-lg\u0027);\n \n} " + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "extraOptions", + "type" : "OptionArray", + "value" : "[]" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + } + ], + "type" : "ComponentsSelect", + "typeDesc" : "Select Component" + }, + { + "id" : "186b3afc-f823-d549-0f29-07823e1c98e1", + "parent" : "SELECTORS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "filterYearSelectorDesktop" + }, + { + "name" : "parameter", + "type" : "Parameter", + "value" : "filterYearParameter" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "externalPlugin", + "type" : "externalPluginCustom", + "value" : "select2" + }, + { + "name" : "valueAsId", + "type" : "Boolean", + "value" : false + }, + { + "name" : "useFirstValue", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "filterYearQuery" + }, + { + "name" : "valuesArray", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "filterYear-div-desktop" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "function f() {\n \n var select=$(\u0027#\u0027+this.htmlObject);\n select.addClass(\u0027hidden-xs\u0027);\n \n} " + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "extraOptions", + "type" : "OptionArray", + "value" : "[]" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + } + ], + "type" : "ComponentsSelect", + "typeDesc" : "Select Component" + }, + { + "id" : "OTHERCOMPONENTS", + "name" : "Others", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "Group", + "type" : "Label", + "value" : "Others" + } + ], + "type" : "Label", + "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" + }, + { + "id" : "1b475bb9-8f3d-8635-cef0-e661af86f347", + "parent" : "OTHERCOMPONENTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "BarChartTop10UsersByExecutionExport" + }, + { + "name" : "label", + "type" : "String", + "value" : "Export" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "componentName", + "type" : "String", + "value" : "BarChartTop10UsersByExecution" + }, + { + "name" : "exportPage", + "value" : true, + "type" : "Boolean" + }, + { + "name" : "outputType", + "type" : "String", + "value" : "xls" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "ExportButtonBarChartTop10UsersByExecutionExport" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "function f() {\n \n var button=$(\u0027#\u0027+this.htmlObject+\u0027 span\u0027);\n \n //console.log(this);\n \n button.html(\u0027\u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-default btn-md\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon glyphicon-export\u0022\u003E\u003C/span\u003E\u003C/button\u003E\u0027);\n\n \n } " + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + } + ], + "type" : "ComponentsexportButton", + "typeDesc" : "Export Button Component" + }, + { + "id" : "00d03265-1b7f-b22c-be56-2a43cd75581d", + "parent" : "OTHERCOMPONENTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "BarChartTop10UsersByLoginExport" + }, + { + "name" : "label", + "type" : "String", + "value" : "Export" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "componentName", + "type" : "String", + "value" : "BarChartTop10UsersByLogin" + }, + { + "name" : "exportPage", + "value" : true, + "type" : "Boolean" + }, + { + "name" : "outputType", + "type" : "String", + "value" : "xls" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "ExportButtonBarChartTop10UsersByLoginExport" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "function f() {\n \n var button=$(\u0027#\u0027+this.htmlObject+\u0027 span\u0027);\n \n //console.log(this);\n \n button.html(\u0027\u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-default btn-md\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon glyphicon-export\u0022\u003E\u003C/span\u003E\u003C/button\u003E\u0027);\n\n \n } " + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + } + ], + "type" : "ComponentsexportButton", + "typeDesc" : "Export Button Component" + }, + { + "id" : "6cc84c09-1c6d-1b64-ecfe-74faf291acbe", + "parent" : "OTHERCOMPONENTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "Table" + }, + { + "name" : "expandContainerObject", + "type" : "String", + "value" : "" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:filterYearParameter}\u0027,\u0027${p:refresh}\u0027,\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "oLanguage", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "language", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "colFormats", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "colHeaders", + "type" : "Array", + "value" : "[\u0022User\u0022,\u0022File\u0022,\u0022Plugin\u0022,\u0022# of Execution(s)\u0022]" + }, + { + "name" : "colSortable", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "colTypes", + "type" : "colTypesCustom", + "value" : "[\u0022string\u0022,\u0022string\u0022,\u0022string\u0022,\u0022numeric\u0022]" + }, + { + "name" : "colWidths", + "type" : "Array", + "value" : "[\u002220%\u0022,\u002250%\u0022,\u002220%\u0022,\u002210%\u0022]" + }, + { + "name" : "expandParameters", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[[\u0022filterYearParameter\u0022,\u0022filterYearParameter\u0022]]" + }, + { + "name" : "displayLength", + "type" : "Integer", + "value" : "" + }, + { + "name" : "expandOnClick", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "filter", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "info", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "lengthChange", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "paginate", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "sort", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "colSearchable", + "type" : "Array", + "value" : "[]" + }, + { + "name" : "drawCallback", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "mdxQueryFiles" + }, + { + "name" : "sDom", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "sortBy", + "type" : "SortByArray", + "value" : "[]" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "silent", + "value" : "false", + "type" : "Boolean" + }, + { + "name" : "clearsBeforePreExecution", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "paginationType", + "type" : "PaginationType", + "value" : "full_numbers" + }, + { + "name" : "tableStyle", + "type" : "TableStyle", + "value" : "bootstrap" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "table-div" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "paginateServerside", + "type" : "Boolean", + "value" : "false" + }, + { + "name" : "failureCallback", + "value" : "", + "type" : "JavaScript" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "extraOptions", + "type" : "OptionArray", + "value" : "[]" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + }, + { + "name" : "clickAction", + "type" : "JavaScript", + "value" : "" + } + ], + "type" : "ComponentsTable", + "typeDesc" : "Table Component" + }, + { + "id" : "003cd839-0568-54d2-92db-1a5e0ca912a6", + "parent" : "OTHERCOMPONENTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "queryComponentLastUpdated" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:lastUpdated}\u0027]" + }, + { + "name" : "parameters", + "type" : "ValuesArray", + "value" : "[]" + }, + { + "name" : "resultvar", + "type" : "Result", + "value" : "${p:lastUpdated}" + }, + { + "name" : "dataSource", + "type" : "Datasource", + "value" : "getLastUpdateRefresh" + }, + { + "name" : "asynchronousMode", + "value" : "true", + "type" : "Boolean" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "lastUpdatedValue" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "function f() {\n \n if(lastUpdated[0])\n $(\u0027#lastUpdatedValue\u0027).html(lastUpdated[0][0]);\n else\n $(\u0027#lastUpdatedValue\u0027).html(\u0027No data found\u0027);\n} " + }, + { + "name" : "postFetch", + "type" : "JavaScript", + "value" : " " + }, + { + "name" : "preChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postChange", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + } + ], + "type" : "ComponentsQuery", + "typeDesc" : "Query Component" + }, + { + "id" : "66d0e231-683b-1a6c-13fc-7dda2b2cb2c3", + "parent" : "OTHERCOMPONENTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "refreshButtonComponent" + }, + { + "name" : "label", + "type" : "String", + "value" : "refresh" + }, + { + "name" : "listeners", + "type" : "Listeners", + "value" : "[\u0027${p:PENTAHO_ROLES}\u0027,\u0027${p:PENTAHO_USER}\u0027,\u0027${p:PENTAHO_PORT}\u0027,\u0027${p:PENTAHO_HOST}\u0027]" + }, + { + "name" : "actionParameters", + "type" : "ValuesArray", + "value" : "[[\u0022PENTAHO_ROLES\u0022,\u0022PENTAHO_ROLES\u0022],[\u0022PENTAHO_USER\u0022,\u0022PENTAHO_USER\u0022],[\u0022PENTAHO_PORT\u0022,\u0022PENTAHO_PORT\u0022],[\u0022PENTAHO_HOST\u0022,\u0022PENTAHO_HOST\u0022]]" + }, + { + "name" : "expression", + "type" : "JavaScript", + "value" : "function action(){\n PENTAHO_HOST = window.location.hostname;\n PENTAHO_PORT = window.location.port;\n PENTAHO_ROLES = Dashboards.context.roles;\n PENTAHO_USER = Dashboards.context.user;\n Dashboards.incrementRunningCalls(); \n} " + }, + { + "name" : "failureCallback", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "successCallback", + "type" : "JavaScript", + "value" : "function success(){\n $.ajax({\n url: \u0022/pentaho/api/system/refresh/mondrianSchemaCache\u0022,\n type: \u0022GET\u0022,\n cache: false\n }).done(function( data ) {\n Dashboards.fireChange(\u0027lastUpdated\u0027, \u0027\u0027);\n Dashboards.decrementRunningCalls();\n }); \n} " + }, + { + "name" : "dataSource", + "value" : "", + "type" : "Datasource" + }, + { + "name" : "priority", + "type" : "Integer", + "value" : 5 + }, + { + "name" : "refreshPeriod", + "type" : "Integer", + "value" : "" + }, + { + "name" : "buttonStyle", + "type" : "TableStyle", + "value" : "themeroller" + }, + { + "name" : "htmlObject", + "type" : "HtmlObject", + "value" : "refreshButtonDiv" + }, + { + "name" : "executeAtStart", + "type" : "Boolean", + "value" : "true" + }, + { + "name" : "preExecution", + "type" : "JavaScript", + "value" : "" + }, + { + "name" : "postExecution", + "type" : "JavaScript", + "value" : "function f(){ \n $(\u0027#\u0027+this.htmlObject+\u0027 button\u0027).addClass(\u0027btn-md\u0027);\n $(\u0027#\u0027+this.htmlObject+\u0027 button\u0027).html(\u0027\u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\u0027);\n} " + }, + { + "name" : "tooltip", + "type" : "Html", + "value" : "" + } + ], + "type" : "ComponentsbuttonComponent", + "typeDesc" : "Button Component" + }, + { + "id" : "SCRIPT", + "name" : "Scripts", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "Group", + "type" : "Label", + "value" : "Scripts" + } + ], + "type" : "Label", + "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" + }, + { + "id" : "2b8acc97-725a-8325-13e7-c01876a4a5b3", + "parent" : "SCRIPT", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "leadForm" + }, + { + "name" : "javaScript", + "type" : "JavaScript", + "value" : "var validationFields={\n \u0022entry_513906374\u0022:false,\n \u0022entry_860105332\u0022:false,\n \u0022entry_1166092966\u0022:false,\n \u0022entry_1065748829\u0022: false,\n \u0022entry_238908962\u0022:false,\n \u0022entry_1511054935\u0022:false};\n \n$( \u0022#ss-form input[type=\u0027text\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n if(value){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022#ss-form input[type=\u0027email\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n var re = /^[a-zA-Z0-9.!#$%\u0026\u0027*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n var is_email=re.test(value);\n if(is_email){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022#ss-form input[type=\u0027number\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n var searchReg = /^[Z0-9-]+$/;\n var is_number=searchReg.test(value);\n if(is_number){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022select\u0022 ).change(function () {\n var value=$( \u0022select option:selected\u0022).val();\n var id=$( this ).attr(\u0027id\u0027);\n var select=$(this);\n if(value!=\u0027Select a country\u0027){\n addSuccessStatus(select);\n validationFields[id]=true;\n }else{\n addErrorStatus(select);\n validationFields[id]=false;\n }\n testForm();\n});\n \nfunction isValidForm(){\n if( validationFields[\u0022entry_513906374\u0022]==true \u0026\u0026\n validationFields[\u0022entry_860105332\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1166092966\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1065748829\u0022]==true \u0026\u0026\n validationFields[\u0022entry_238908962\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1511054935\u0022]==true)\n return true;\n else\n return false;\n}\nfunction testForm(){\n if(isValidForm())\n $(\u0027#ss-submit\u0027).removeAttr(\u0027disabled\u0027);\n else\n $(\u0027#ss-submit\u0027).attr(\u0027disabled\u0027, \u0027disabled\u0027);\n}\n\nfunction sentForm(){\n installPlugin();\n}\n\nfunction addSuccessStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-success has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-ok\u0022);\n}\n\nfunction addWarningStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-warning has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-warning-sign\u0022);\n}\n\nfunction addErrorStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-error has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-remove\u0022);\n} " + } + ], + "type" : "ComponentsFunction", + "typeDesc" : "JavaScript function" + }, + { + "id" : "f059dafe-af41-abb0-0e8d-ce4c42da041f", + "parent" : "SCRIPT", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "publishSchema" + }, + { + "name" : "javaScript", + "type" : "JavaScript", + "value" : "function publishSchema(){\n var fd = new FormData(); \n fd.append( \u0027catalogName\u0027, \u0022Pentaho CE Audit\u0022 ); \n fd.append( \u0027overwrite\u0027, \u0022true\u0022 );\n fd.append( \u0027xmlaEnabledFlag\u0027, \u0022true\u0022 );\n fd.append( \u0027parameters\u0027, \u0022DataSource=Hibernate\u0022 );\n fd.append(\u0027uploadAnalysis\u0027,\u0027\u003CSchema name=\u0022Pentaho CE Audit\u0022\u003E \u003CCube name=\u0022Pentaho CE Audit\u0022 visible=\u0022true\u0022 cache=\u0022true\u0022 enabled=\u0022true\u0022\u003E \u003CTable name=\u0022PENTAHO_CE_AUDIT\u0022\u003E \u003C/Table\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Period\u0022\u003E \u003CHierarchy name=\u0022Period\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Year\u0022 visible=\u0022true\u0022 column=\u0022YEAR\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Month\u0022 visible=\u0022true\u0022 column=\u0022MONTH_DESC\u0022 ordinalColumn=\u0022MONTH\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Day of Week\u0022 visible=\u0022true\u0022 column=\u0022DAY_WEEK_DESC\u0022 ordinalColumn=\u0022DAY_WEEK\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Day\u0022 visible=\u0022true\u0022 column=\u0022DAY\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Time\u0022\u003E \u003CHierarchy name=\u0022Time\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022AM or PM\u0022 visible=\u0022true\u0022 column=\u0022AM_PM\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Hour\u0022 visible=\u0022true\u0022 column=\u0022HOURS24\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Hour 12\u0022 visible=\u0022true\u0022 column=\u0022HOURS12\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Minutes\u0022 visible=\u0022true\u0022 column=\u0022MINUTES\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Seconds\u0022 visible=\u0022true\u0022 column=\u0022SECONDS\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Time\u0022 visible=\u0022true\u0022 column=\u0022TIME\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022User\u0022\u003E \u003CHierarchy name=\u0022User\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022User\u0022 visible=\u0022true\u0022 column=\u0022USER\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Plugin\u0022\u003E \u003CHierarchy name=\u0022Plugin\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Plugin\u0022 visible=\u0022true\u0022 column=\u0022PLUGIN\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022File\u0022\u003E \u003CHierarchy name=\u0022File\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Directory Path\u0022 visible=\u0022false\u0022 column=\u0022DIRECTORY\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022File\u0022 visible=\u0022true\u0022 column=\u0022FILE\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Type\u0022\u003E \u003CHierarchy name=\u0022Type\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Type\u0022 visible=\u0022true\u0022 column=\u0022TYPE\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Role\u0022\u003E \u003CHierarchy name=\u0022Role\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Role\u0022 visible=\u0022true\u0022 column=\u0022ROLE\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022false\u0022 highCardinality=\u0022false\u0022 name=\u0022Year\u0022\u003E \u003CHierarchy name=\u0022Year\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Year\u0022 visible=\u0022true\u0022 column=\u0022YEAR\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CMeasure name=\u0022Quantity\u0022 column=\u0022DATA\u0022 datatype=\u0022String\u0022 formatString=\u0022#,###\u0022 aggregator=\u0022distinct count\u0022 visible=\u0022true\u0022\u003E \u003C/Measure\u003E \u003CMeasure name=\u0022Duration\u0022 column=\u0022DURATION\u0022 datatype=\u0022Numeric\u0022 formatString=\u0022#,###\u0022 aggregator=\u0022sum\u0022 visible=\u0022true\u0022\u003E \u003C/Measure\u003E \u003CMeasure name=\u0022Duration Average\u0022 column=\u0022DURATION\u0022 datatype=\u0022Numeric\u0022 formatString=\u0022#,###\u0022 aggregator=\u0022avg\u0022 visible=\u0022true\u0022\u003E \u003C/Measure\u003E \u003C/Cube\u003E \u003C/Schema\u003E\u0027);\n \n $.ajax( {\n url: \u0027/pentaho/plugin/data-access/api/mondrian/postAnalysis\u0027,\n type: \u0027POST\u0027,\n async: false,\n data: fd,\n processData: false,\n contentType: false\n ,success: function( publish ) {\n if(publish==3){\n var html_msg=\u0027\u003Cdiv class=\u0022alert alert-success\u0022 role=\u0022alert\u0022\u003E\u0027+\n \u0027\u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u0027+\n \u0027\u003C/div\u003E\u0027+\n \u0027\u003Chr\u003E\u0027+\n \u0027\u003Cdiv class=\u0022row\u0022\u003E\u0027+\n \u0027\u003Cp class=\u0022alert alert-danger\u0022\u003E\u0027+\n \u0027This plug-in applied automatically an Environment configuration, if you want to know more about it please visit the link\u0027+\n \u0027\u003Ca target=\u0022no_blank\u0022 href=\u0022http://infocenter.pentaho.com/help48/index.jsp?topic=%2Fadmin_guide%2Ftask_switching_to_file_based_logging.html\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon glyphicon-new-window\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\u0027+\n \u0027\u003C/a\u003E\u0027+\n \u0027\u003C/p\u003E\u0027+\n \u0027\u003C/div\u003E\u0027;\n \n $(\u0022#modal-body\u0022).html(html_msg); \n }else if(publish==2){\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003EError publish the schema\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg);\n }else{\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003EError undefined\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n }\n }\n }); \n} " + } + ], + "type" : "ComponentsFunction", + "typeDesc" : "JavaScript function" + }, + { + "id" : "40e560b0-84c8-e2bd-79a2-439a75445d9d", + "parent" : "SCRIPT", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "installFunction" + }, + { + "name" : "javaScript", + "type" : "JavaScript", + "value" : "function installPlugin(){\n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_install\u0022,\n cache: false\n }).done(function( data ) {\n if(data.result){\n publishSchema(); \n }else{\n var msgHtml=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+\n \u0027\u003Cb\u003EInstallation has a problem!\u003C/b\u003E please contanct us.\u0027+\n \u0027\u003C/div\u003E\u0027+\n \u0027\u003Chr\u003E\u0027+\n \u0027\u003Clabel\u003Einfo@it4biz.com.br\u003C/label\u003E\u0027;\n $(\u0022#modal-body\u0022).html(msgHtml); \n }\n }); \n} \n " + } + ], + "type" : "ComponentsFunction", + "typeDesc" : "JavaScript function" + }, + { + "id" : "36eda744-4c14-8e37-390d-6094b3fc3169", + "parent" : "SCRIPT", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "verifyInstallation" + }, + { + "name" : "javaScript", + "type" : "JavaScript", + "value" : "$.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\u0022,\n cache: false\n}).done(function( data ) {\n if(!data.result){\n $(\u0027#myModal\u0027).modal(\u0027show\u0027);\n }else{ \n \n Dashboards.incrementRunningCalls(); \n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/get_metadata\u0022,\n cache: false\n }).done(function( data ) {\n Dashboards.decrementRunningCalls();\n if(data.queryInfo.totalRows\u003E0)\n Dashboards.update(\n [render_BarChartTop10UsersByExecution\n ,render_BarChartTop10UsersByLogin\n ,render_LineChartExecutionByHours\n ,render_BarChartExecutionsByDayOfWeek\n ,render_Table\n ,render_filterYearSelectorMobile\n ,render_filterYearSelectorDesktop\n ,render_BarChartTop10UsersByExecutionExport\n ,render_BarChartTop10UsersByLoginExport]);\n });\n \n }\n}); \n " + } + ], + "type" : "ComponentsFunction", + "typeDesc" : "JavaScript function" + } + ] + }, + "datasources" : { + "rows" : [ + { + "id" : "MDX", + "name" : "MDX Queries", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "Group", + "type" : "Label", + "value" : "MDX Queries" + } + ], + "type" : "Label", + "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" + }, + { + "id" : "b8b58b30-6203-f0a9-3ef2-f0f287a7be87", + "meta" : "CDA", + "meta_conntype" : "mondrian.jndi", + "meta_datype" : "mdx", + "parent" : "MDX", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "mdxQueryTop10UsersByExecution" + }, + { + "name" : "access", + "type" : "Access", + "value" : "public" + }, + { + "name" : "jndi", + "type" : "Jndi", + "value" : "Hibernate" + }, + { + "name" : "catalog", + "type" : "MondrianCatalog", + "value" : "mondrian:/Pentaho+CE+Audit" + }, + { + "name" : "query", + "type" : "SqlQuery", + "value" : "WITH\nSET [~ROWS] AS\n TopCount({[User].[User].Members}, 10, [Measures].[Quantity])\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})" + }, + { + "name" : "parameters", + "type" : "CdaParameters", + "value" : "[[\u0022filterYearParameter\u0022,\u0022\u0022,\u0022String\u0022,\u0022\u0022]]" + }, + { + "name" : "bandedMode", + "type" : "BandedMode", + "value" : "compact" + }, + { + "name" : "cdacalculatedcolumns", + "type" : "CdaCalculatedColumnsArray", + "value" : "[]" + }, + { + "name" : "cdacolumns", + "type" : "CdaColumnsArray", + "value" : "[]" + }, + { + "name" : "output", + "type" : "IndexArray", + "value" : "[]" + }, + { + "name" : "outputMode", + "type" : "OutputMode", + "value" : "include" + }, + { + "name" : "cacheKeys", + "value" : "[]", + "type" : "CacheKeysValues" + }, + { + "name" : "cacheDuration", + "type" : "Integer", + "value" : 3600 + }, + { + "name" : "cache", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "Componentsmdx_mondrianJndi", + "typeDesc" : "mdx over mondrianJndi" + }, + { + "id" : "c29e5b61-b6c4-765a-c0f6-8ea3c1bb4f70", + "meta" : "CDA", + "meta_conntype" : "mondrian.jndi", + "meta_datype" : "mdx", + "parent" : "MDX", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "mdxQueryTop10UsersByLogin" + }, + { + "name" : "access", + "type" : "Access", + "value" : "public" + }, + { + "name" : "jndi", + "type" : "Jndi", + "value" : "Hibernate" + }, + { + "name" : "catalog", + "type" : "MondrianCatalog", + "value" : "mondrian:/Pentaho+CE+Audit" + }, + { + "name" : "query", + "type" : "SqlQuery", + "value" : "WITH\nSET [~ROWS] AS\n TopCount({[User].[User].Members}, 10, [Measures].[Quantity])\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[login]})" + }, + { + "name" : "parameters", + "type" : "CdaParameters", + "value" : "[[\u0022filterYearParameter\u0022,\u0022\u0022,\u0022String\u0022,\u0022\u0022]]" + }, + { + "name" : "bandedMode", + "type" : "BandedMode", + "value" : "compact" + }, + { + "name" : "cdacalculatedcolumns", + "type" : "CdaCalculatedColumnsArray", + "value" : "[]" + }, + { + "name" : "cdacolumns", + "type" : "CdaColumnsArray", + "value" : "[]" + }, + { + "name" : "output", + "type" : "IndexArray", + "value" : "[]" + }, + { + "name" : "outputMode", + "type" : "OutputMode", + "value" : "include" + }, + { + "name" : "cacheKeys", + "value" : "[]", + "type" : "CacheKeysValues" + }, + { + "name" : "cacheDuration", + "type" : "Integer", + "value" : 3600 + }, + { + "name" : "cache", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "Componentsmdx_mondrianJndi", + "typeDesc" : "mdx over mondrianJndi" + }, + { + "id" : "67019401-c2ea-a866-97d9-74607c110bd8", + "meta" : "CDA", + "meta_conntype" : "mondrian.jndi", + "meta_datype" : "mdx", + "parent" : "MDX", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "mdxQueryAccessByHour" + }, + { + "name" : "access", + "type" : "Access", + "value" : "public" + }, + { + "name" : "jndi", + "type" : "Jndi", + "value" : "Hibernate" + }, + { + "name" : "catalog", + "type" : "MondrianCatalog", + "value" : "mondrian:/Pentaho+CE+Audit" + }, + { + "name" : "query", + "type" : "SqlQuery", + "value" : "WITH\nSET [~FILTER] AS\n {[Type].[login]}\nSET [~ROWS] AS\n {[Time].[Hour].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE [~FILTER]" + }, + { + "name" : "parameters", + "type" : "CdaParameters", + "value" : "[]" + }, + { + "name" : "bandedMode", + "type" : "BandedMode", + "value" : "compact" + }, + { + "name" : "cdacalculatedcolumns", + "type" : "CdaCalculatedColumnsArray", + "value" : "[]" + }, + { + "name" : "cdacolumns", + "type" : "CdaColumnsArray", + "value" : "[]" + }, + { + "name" : "output", + "type" : "IndexArray", + "value" : "[]" + }, + { + "name" : "outputMode", + "type" : "OutputMode", + "value" : "include" + }, + { + "name" : "cacheKeys", + "value" : "[]", + "type" : "CacheKeysValues" + }, + { + "name" : "cacheDuration", + "type" : "Integer", + "value" : 3600 + }, + { + "name" : "cache", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "Componentsmdx_mondrianJndi", + "typeDesc" : "mdx over mondrianJndi" + }, + { + "id" : "a7b638e5-c1ca-cfab-2f3b-0339a1aaee31", + "meta" : "CDA", + "meta_conntype" : "mondrian.jndi", + "meta_datype" : "mdx", + "parent" : "MDX", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "filterYearQuery" + }, + { + "name" : "access", + "type" : "Access", + "value" : "public" + }, + { + "name" : "jndi", + "type" : "Jndi", + "value" : "Hibernate" + }, + { + "name" : "catalog", + "type" : "MondrianCatalog", + "value" : "mondrian:/Pentaho+CE+Audit" + }, + { + "name" : "query", + "type" : "SqlQuery", + "value" : "with member [Measures].[Name] as \u0027[Year].CurrentMember.UniqueName\u0027 \nselect TopCount( filter({Descendants([Year].members)}, not isempty(([Year].CurrentMember)) ) , 50) on ROWS, \n {[Measures].[Name]} on Columns \n from [Pentaho CE Audit]" + }, + { + "name" : "parameters", + "type" : "CdaParameters", + "value" : "[]" + }, + { + "name" : "bandedMode", + "type" : "BandedMode", + "value" : "compact" + }, + { + "name" : "cdacalculatedcolumns", + "type" : "CdaCalculatedColumnsArray", + "value" : "[]" + }, + { + "name" : "cdacolumns", + "type" : "CdaColumnsArray", + "value" : "[]" + }, + { + "name" : "output", + "type" : "IndexArray", + "value" : "[\u00221\u0022,\u00220\u0022]" + }, + { + "name" : "outputMode", + "type" : "OutputMode", + "value" : "include" + }, + { + "name" : "cacheKeys", + "value" : "[]", + "type" : "CacheKeysValues" + }, + { + "name" : "cacheDuration", + "type" : "Integer", + "value" : 3600 + }, + { + "name" : "cache", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "Componentsmdx_mondrianJndi", + "typeDesc" : "mdx over mondrianJndi" + }, + { + "id" : "87993b50-3736-eee0-26d8-9ba353781c27", + "meta" : "CDA", + "meta_conntype" : "mondrian.jndi", + "meta_datype" : "mdx", + "parent" : "MDX", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "mdxQueryFiles" + }, + { + "name" : "access", + "type" : "Access", + "value" : "public" + }, + { + "name" : "jndi", + "type" : "Jndi", + "value" : "Hibernate" + }, + { + "name" : "catalog", + "type" : "MondrianCatalog", + "value" : "mondrian:/Pentaho+CE+Audit" + }, + { + "name" : "query", + "type" : "SqlQuery", + "value" : "WITH\nSET [~ROWS_User.User] AS\n {[User].[User].Members}\nSET [~ROWS_File.File] AS\n {[File].[File].Members}\nSET [~ROWS_Plugin.Plugin] AS\n {[Plugin].[Plugin].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY ([~ROWS_User.User] * [~ROWS_File.File] * [~ROWS_Plugin.Plugin]) ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})" + }, + { + "name" : "parameters", + "type" : "CdaParameters", + "value" : "[[\u0022filterYearParameter\u0022,\u0022\u0022,\u0022String\u0022,\u0022\u0022]]" + }, + { + "name" : "bandedMode", + "type" : "BandedMode", + "value" : "compact" + }, + { + "name" : "cdacalculatedcolumns", + "type" : "CdaCalculatedColumnsArray", + "value" : "[]" + }, + { + "name" : "cdacolumns", + "type" : "CdaColumnsArray", + "value" : "[]" + }, + { + "name" : "output", + "type" : "IndexArray", + "value" : "[]" + }, + { + "name" : "outputMode", + "type" : "OutputMode", + "value" : "include" + }, + { + "name" : "cacheKeys", + "value" : "[]", + "type" : "CacheKeysValues" + }, + { + "name" : "cacheDuration", + "type" : "Integer", + "value" : 3600 + }, + { + "name" : "cache", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "Componentsmdx_mondrianJndi", + "typeDesc" : "mdx over mondrianJndi" + }, + { + "id" : "41c534a7-4a18-55bb-5119-e3aa3a01f08b", + "meta" : "CDA", + "meta_conntype" : "mondrian.jndi", + "meta_datype" : "mdx", + "parent" : "MDX", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "mdxQueryExecutionByHours" + }, + { + "name" : "access", + "type" : "Access", + "value" : "public" + }, + { + "name" : "jndi", + "type" : "Jndi", + "value" : "Hibernate" + }, + { + "name" : "catalog", + "type" : "MondrianCatalog", + "value" : "mondrian:/Pentaho+CE+Audit" + }, + { + "name" : "query", + "type" : "SqlQuery", + "value" : "WITH\nSET [~ROWS] AS\n {[Time].[Hour].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})" + }, + { + "name" : "parameters", + "type" : "CdaParameters", + "value" : "[[\u0022filterYearParameter\u0022,\u0022\u0022,\u0022String\u0022,\u0022\u0022]]" + }, + { + "name" : "bandedMode", + "type" : "BandedMode", + "value" : "compact" + }, + { + "name" : "cdacalculatedcolumns", + "type" : "CdaCalculatedColumnsArray", + "value" : "[]" + }, + { + "name" : "cdacolumns", + "type" : "CdaColumnsArray", + "value" : "[]" + }, + { + "name" : "output", + "type" : "IndexArray", + "value" : "[]" + }, + { + "name" : "outputMode", + "type" : "OutputMode", + "value" : "include" + }, + { + "name" : "cacheKeys", + "value" : "[]", + "type" : "CacheKeysValues" + }, + { + "name" : "cacheDuration", + "type" : "Integer", + "value" : 3600 + }, + { + "name" : "cache", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "Componentsmdx_mondrianJndi", + "typeDesc" : "mdx over mondrianJndi" + }, + { + "id" : "a3f7ae4c-6663-23f5-a407-05c6497bf07f", + "meta" : "CDA", + "meta_conntype" : "mondrian.jndi", + "meta_datype" : "mdx", + "parent" : "MDX", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "mdxQueryExecByDayOfWeek" + }, + { + "name" : "access", + "type" : "Access", + "value" : "public" + }, + { + "name" : "jndi", + "type" : "Jndi", + "value" : "Hibernate" + }, + { + "name" : "catalog", + "type" : "MondrianCatalog", + "value" : "mondrian:/Pentaho+CE+Audit" + }, + { + "name" : "query", + "type" : "SqlQuery", + "value" : "WITH\nSET [~ROWS] AS\n {[Period].[Day of Week].Members}\nSELECT\nNON EMPTY {[Measures].[Quantity]} ON COLUMNS,\nNON EMPTY [~ROWS] ON ROWS\nFROM [Pentaho CE Audit]\nWHERE CrossJoin({${filterYearParameter}}, {[Type].[execution]})" + }, + { + "name" : "parameters", + "type" : "CdaParameters", + "value" : "[[\u0022filterYearParameter\u0022,\u0022\u0022,\u0022String\u0022,\u0022\u0022]]" + }, + { + "name" : "bandedMode", + "type" : "BandedMode", + "value" : "compact" + }, + { + "name" : "cdacalculatedcolumns", + "type" : "CdaCalculatedColumnsArray", + "value" : "[]" + }, + { + "name" : "cdacolumns", + "type" : "CdaColumnsArray", + "value" : "[]" + }, + { + "name" : "output", + "type" : "IndexArray", + "value" : "[]" + }, + { + "name" : "outputMode", + "type" : "OutputMode", + "value" : "include" + }, + { + "name" : "cacheKeys", + "value" : "[]", + "type" : "CacheKeysValues" + }, + { + "name" : "cacheDuration", + "type" : "Integer", + "value" : 3600 + }, + { + "name" : "cache", + "type" : "Boolean", + "value" : "false" + } + ], + "type" : "Componentsmdx_mondrianJndi", + "typeDesc" : "mdx over mondrianJndi" + }, + { + "id" : "PENTAHO-CE-AUDIT_CPKENDPOINTS", + "name" : "PENTAHO-CE-AUDIT Endpoints", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "Group", + "type" : "Label", + "value" : "PENTAHO-CE-AUDIT Endpoints" + } + ], + "type" : "Label", + "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" + }, + { + "id" : "e6b68ec6-9157-a5fe-ad1e-2e95f852a14f", + "meta" : "CPK", + "meta_endpoint" : "get_metadata", + "meta_pluginId" : "pentaho-ce-audit", + "parent" : "PENTAHO-CE-AUDIT_CPKENDPOINTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "getLastUpdateRefresh" + }, + { + "name" : "stepName", + "type" : "String", + "value" : "OUTPUT" + }, + { + "name" : "kettleOutput", + "type" : "kettleOutputCustom", + "value" : "Inferred" + } + ], + "type" : "Componentspentahoceaudit_get_metadata_CPKENDPOINT", + "typeDesc" : "get_metadata Endpoint" + }, + { + "id" : "d0dd7610-664c-f7b7-b9dc-b56d2d1fe455", + "meta" : "CPK", + "meta_endpoint" : "job_refresh", + "meta_pluginId" : "pentaho-ce-audit", + "parent" : "PENTAHO-CE-AUDIT_CPKENDPOINTS", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "dsRefresh" + }, + { + "name" : "stepName", + "type" : "String", + "value" : "OUTPUT" + }, + { + "name" : "kettleOutput", + "type" : "kettleOutputCustom", + "value" : "Inferred" + } + ], + "type" : "Componentspentahoceaudit_job_refresh_CPKENDPOINT", + "typeDesc" : "job_refresh Endpoint" + } + ] + }, + "filename" : "/home/ifds-emea-ssncf28cb02c-c703-4754-a69b-cb242fc297c0/dashboard.cdfde", + "layout" : { + "rows" : [ + { + "id" : "c5f0d715-8925-75fd-061a-a6c07073af11", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "cssPaddingRightSelectForm" + }, + { + "name" : "resourceCode", + "type" : "Resource", + "value" : ".has-error .form-control {\n padding-right: 16px;\n}\n\n.has-warning .form-control {\n padding-right: 16px;\n}\n\n.has-success .form-control {\n padding-right: 16px;\n} " + }, + { + "name" : "resourceType", + "type" : "Label", + "value" : "Css" + } + ], + "type" : "LayoutResourceCode", + "typeDesc" : "Resource" + }, + { + "id" : "7a5ba60f-36cc-8599-1d40-fa8072a7081f", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "TwitterCode" + }, + { + "name" : "resourceCode", + "type" : "Resource", + "value" : "//hashtag buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\u0022https://platform.twitter.com/widgets.js\u0022;fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\u0022script\u0022,\u0022twitter-wjs\u0022)); \n\n////follow buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\u0022https://platform.twitter.com/widgets.js\u0022;fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\u0022script\u0022,\u0022twitter-wjs\u0022)); " + }, + { + "name" : "resourceType", + "type" : "Label", + "value" : "Javascript" + } + ], + "type" : "LayoutResourceCode", + "typeDesc" : "Resource" + }, + { + "id" : "7d418342-2cee-2cc7-34ee-1caa112cbdaa", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "FacebookCode" + }, + { + "name" : "resourceCode", + "type" : "Resource", + "value" : "(function(d, s, id) {\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) return;\n js = d.createElement(s); js.id = id;\n js.src = \u0022//connect.facebook.net/pt_BR/sdk.js#xfbml=1\u0026version=v2.0\u0022;\n fjs.parentNode.insertBefore(js, fjs);\n}(document, \u0027script\u0027, \u0027facebook-jssdk\u0027)); " + }, + { + "name" : "resourceType", + "type" : "Label", + "value" : "Javascript" + } + ], + "type" : "LayoutResourceCode", + "typeDesc" : "Resource" + }, + { + "id" : "4ab17cf8-41bd-67e8-2b2c-6e71aa306efd", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "cssExportButtonChart" + }, + { + "name" : "resourceCode", + "type" : "Resource", + "value" : ".exportButton {\n \n padding: 2px 0px !important;\n \n} " + }, + { + "name" : "resourceType", + "type" : "Label", + "value" : "Css" + } + ], + "type" : "LayoutResourceCode", + "typeDesc" : "Resource" + }, + { + "id" : "5580a813-faaa-e703-b166-c34f25acd0fb", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "body" + }, + { + "name" : "height", + "type" : "Integer", + "value" : "" + }, + { + "name" : "backgroundColor", + "type" : "Color", + "value" : "" + }, + { + "name" : "roundCorners", + "type" : "RoundCorners", + "value" : "" + }, + { + "name" : "textAlign", + "type" : "TextAlign", + "value" : "" + }, + { + "name" : "cssClass", + "type" : "String", + "value" : "" + } + ], + "type" : "LayoutRow", + "typeDesc" : "Row" + }, + { + "id" : "7bc0fa83-4a4a-e580-3ddf-ace97953484f", + "parent" : "5580a813-faaa-e703-b166-c34f25acd0fb", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "Html" + }, + { + "name" : "html", + "type" : "Html", + "value" : "\u003Cdiv class=\u0022pull-right\u0022\u003E \n \u003Clabel\u003ELast Updated:\u003C/label\u003E \n \u003Cspan class=\u0022badge\u0022\u003E\n \u003Cdiv id=\u0022lastUpdatedValue\u0022\u003E\u003C/div\u003E\n \u003C/span\u003E\n\u003C/div\u003E\n \n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-right:5px;\u0022\u003E\n \u003C!-- \u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E--\u003E\n \u003Cdiv id=\u0022refreshButtonDiv\u0022\u003E\u003C/div\u003E\n\u003C/div\u003E\n\u003Cbr\u003E\n\n\u003Chr\u003E\n\n\u003Cdiv class=\u0022col-md-12\u0022 style=\u0022height: 30px\u0022\u003E\n\n \u003Cdiv id=\u0022filterYear-div-mobile\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n \u003Cdiv id=\u0022filterYear-div-desktop\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n\u003C/div\u003E\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByExecutionExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart01-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Login(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart02-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Day of the Week\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonExecutionsByDayOfWeekExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart03-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Hour\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart04-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\n\u003Cdiv class=\u0022col-md-12\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv id=\u0022table-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E \n\u003C/div\u003E\n\u003C/div\u003E \n\n\u003Cdiv id=\u0022footer\u0022 class=\u0022col-sm-12\u0022\u003E\n \u003Chr\u003E\n \u003Cdiv class=\u0022container\u0022\u003E\n \u003Cp class=\u0022text-muted credit\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022\u003E\n Powered by\n \u003Ca href=\u0022http://it4biz.com.br\u0022 target=\u0022no_blank\u0022 title=\u0022IT4biz IT Solutions\u0022\u003E\n \u003Cimg \n src=\u0022../../../api/repos/pentaho-ce-audit/static/custom/img/logo.png\u0022\n \u003E\n \u003C/a\u003E \n \u003C/div\u003E\n \u003Cdiv\u003E\n \u003Clabel\u003EPlease help us do more, with just a \u0022Like\u0022 on our Facebook page\u003C/label\u003E\u003Cbr\u003E \n \u003Cdiv\n class=\u0022fb-like\u0022 \n data-href=\u0022https://www.facebook.com/it4biz\u0022 \n data-layout=\u0022button\u0022 \n data-action=\u0022like\u0022 \n data-show-faces=\u0022true\u0022 \n data-share=\u0022true\u0022\u003E \n \u003C/div\u003E\u003Cbr\u003E\n \u003Clabel\u003Eor follow us on twitter\u003C/label\u003E\u003Cbr\u003E\n \u003Ca \n class=\u0022twitter-hashtag-button\u0022\n href=\u0022https://twitter.com/intent/tweet?button_hashtag=PentahoCEAudit\u0026text=I have installed Pentaho CE Audit from @it4bizbrazil. You should try it on @pentaho Marketplace.\u0022\n data-related=\u0022twitter\u0022\u003E\n Tweet #PentahoCEAudit\n \u003C/a\u003E\n \u003Ca \n class=\u0022twitter-follow-button\u0022\n href=\u0022https://twitter.com/it4bizbrazil\u0022\n data-show-count=\u0022false\u0022\n data-lang=\u0022en\u0022\u003E\n Follow @it4bizbrazil\n \u003C/a\u003E\n \u003C/div\u003E\n \u003C/p\u003E\n \n \u003C/div\u003E \n\u003C/div\u003E " + }, + { + "name" : "fontSize", + "type" : "Integer", + "value" : "" + }, + { + "name" : "color", + "type" : "Color", + "value" : "" + }, + { + "name" : "cssClass", + "type" : "String", + "value" : "" + } + ], + "type" : "LayoutHtml", + "typeDesc" : "Html" + }, + { + "id" : "0b95f4b8-c4f2-01ed-acb7-32e097088037", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "modal" + }, + { + "name" : "height", + "type" : "Integer", + "value" : "" + }, + { + "name" : "backgroundColor", + "type" : "Color", + "value" : "" + }, + { + "name" : "roundCorners", + "type" : "RoundCorners", + "value" : "" + }, + { + "name" : "textAlign", + "type" : "TextAlign", + "value" : "" + }, + { + "name" : "cssClass", + "type" : "String", + "value" : "" + } + ], + "type" : "LayoutRow", + "typeDesc" : "Row" + }, + { + "id" : "b18d6ff4-48f5-b70c-c3e3-610c502a20f9", + "parent" : "0b95f4b8-c4f2-01ed-acb7-32e097088037", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "" + }, + { + "name" : "html", + "type" : "Html", + "value" : "\u003C!-- Modal --\u003E\n\u003Cdiv class=\u0022modal fade\u0022 id=\u0022myModal\u0022 tabindex=\u0022-1\u0022 role=\u0022dialog\u0022 aria-labelledby=\u0022myModalLabel\u0022 aria-hidden=\u0022true\u0022\u003E\n \u003Cdiv class=\u0022modal-dialog modal-lg\u0022\u003E\n \u003Cdiv class=\u0022modal-content\u0022\u003E\n \u003Cdiv class=\u0022modal-header\u0022\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022close\u0022 data-dismiss=\u0022modal\u0022 aria-label=\u0022Close\u0022\u003E\u003Cspan aria-hidden=\u0022true\u0022\u003E\u0026times;\u003C/span\u003E\u003C/button\u003E\n \u003Ch4 class=\u0022modal-title\u0022 id=\u0022myModalLabel\u0022\u003EPentaho CE Audit - Installation\u003C/h4\u003E\n \u003C/div\u003E\n \u003Cdiv class=\u0022modal-body\u0022 id=\u0022modal-body\u0022\u003E\n \u003Cp\u003EPlease fill out the form below to complete the installation.\u003C/p\u003E\n\u003C!-- Form Google--\u003E \n\n\u003Cform action=\u0022https://docs.google.com/a/it4biz.com.br/forms/d/1VRhTeaezy4QU-WYHJv-b3vpVJzFkn133vLPLrCCOwik/formResponse\u0022 method=\u0022POST\u0022 id=\u0022ss-form\u0022 target=\u0022hidden_iframe\u0022\u003E\n \u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t \t\u003Clabel for=\u0022entry_513906374\u0022\u003EName\u003C/label\u003E\n\t \t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 id=\u0022entry_513906374\u0022 placeholder=\u0022Enter name\u0022 name=\u0022entry_513906374\u0022\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E \n \t\u003C/div\u003E\n \t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t \t\u003Clabel for=\u0022entry_860105332\u0022\u003ELast name\u003C/label\u003E\n\t \t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 id=\u0022entry_860105332\u0022 placeholder=\u0022Enter last name\u0022 name=\u0022entry_860105332\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E \n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\t\u003Clabel for=\u0022entry_1166092966\u0022\u003EEmail address\u003C/label\u003E\n \t\t\u003Cinput type=\u0022email\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter email\u0022 name=\u0022entry.1166092966\u0022 id=\u0022entry_1166092966\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\t\u003Clabel for=\u0022entry_1065748829\u0022\u003ECompany\u003C/label\u003E\n \t\t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter company\u0022 name=\u0022entry.1065748829\u0022 id=\u0022entry_1065748829\u0022\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t\t\u003Clabel for=\u0022entry_238908962\u0022\u003ECountry\u003C/label\u003E\n\t\t\u003Cselect name=\u0022entry.238908962\u0022 id=\u0022entry_238908962\u0022 class=\u0022form-control\u0022\u003E\n \u003Coption value=\u0022Select a country\u0022\u003ESelect a country\u003C/option\u003E\n \u003Coption value=\u0022Afghanistan\u0022\u003EAfghanistan\u003C/option\u003E\n \u003Coption value=\u0022Albania\u0022\u003EAlbania\u003C/option\u003E\n \u003Coption value=\u0022Algeria\u0022\u003EAlgeria\u003C/option\u003E\n \u003Coption value=\u0022Andorra\u0022\u003EAndorra\u003C/option\u003E\n \u003Coption value=\u0022Angola\u0022\u003EAngola\u003C/option\u003E\n \u003Coption value=\u0022Antigua and Barbuda\u0022\u003EAntigua and Barbuda\u003C/option\u003E\n \u003Coption value=\u0022Argentina\u0022\u003EArgentina\u003C/option\u003E\n \u003Coption value=\u0022Armenia\u0022\u003EArmenia\u003C/option\u003E\n \u003Coption value=\u0022Aruba\u0022\u003EAruba\u003C/option\u003E\n \u003Coption value=\u0022Australia\u0022\u003EAustralia\u003C/option\u003E\n \u003Coption value=\u0022Austria\u0022\u003EAustria\u003C/option\u003E\n \u003Coption value=\u0022Azerbaijan\u0022\u003EAzerbaijan\u003C/option\u003E\n \u003Coption value=\u0022Bahamas, The\u0022\u003EBahamas, The\u003C/option\u003E\n \u003Coption value=\u0022Bahrain\u0022\u003EBahrain\u003C/option\u003E\n \u003Coption value=\u0022Bangladesh\u0022\u003EBangladesh\u003C/option\u003E\n \u003Coption value=\u0022Barbados\u0022\u003EBarbados\u003C/option\u003E\n \u003Coption value=\u0022Belarus\u0022\u003EBelarus\u003C/option\u003E\n \u003Coption value=\u0022Belgium\u0022\u003EBelgium\u003C/option\u003E\n \u003Coption value=\u0022Belize\u0022\u003EBelize\u003C/option\u003E\n \u003Coption value=\u0022Benin\u0022\u003EBenin\u003C/option\u003E\n \u003Coption value=\u0022Bhutan\u0022\u003EBhutan\u003C/option\u003E\n \u003Coption value=\u0022Bolivia\u0022\u003EBolivia\u003C/option\u003E\n \u003Coption value=\u0022Bosnia and Herzegovina\u0022\u003EBosnia and Herzegovina\u003C/option\u003E\n \u003Coption value=\u0022Botswana\u0022\u003EBotswana\u003C/option\u003E\n \u003Coption value=\u0022Brazil\u0022\u003EBrazil\u003C/option\u003E\n \u003Coption value=\u0022Brunei\u0022\u003EBrunei\u003C/option\u003E\n \u003Coption value=\u0022Bulgaria\u0022\u003EBulgaria\u003C/option\u003E\n \u003Coption value=\u0022Burkina Faso\u0022\u003EBurkina Faso\u003C/option\u003E\n \u003Coption value=\u0022Burma\u0022\u003EBurma\u003C/option\u003E\n \u003Coption value=\u0022Burundi\u0022\u003EBurundi\u003C/option\u003E\n \u003Coption value=\u0022Cambodia\u0022\u003ECambodia\u003C/option\u003E\n \u003Coption value=\u0022Cameroon\u0022\u003ECameroon\u003C/option\u003E\n \u003Coption value=\u0022Canada\u0022\u003ECanada\u003C/option\u003E\n \u003Coption value=\u0022Cape Verde\u0022\u003ECape Verde\u003C/option\u003E\n \u003Coption value=\u0022Central African Republic\u0022\u003ECentral African Republic\u003C/option\u003E\n \u003Coption value=\u0022Chad\u0022\u003EChad\u003C/option\u003E\n \u003Coption value=\u0022Chile\u0022\u003EChile\u003C/option\u003E\n \u003Coption value=\u0022China\u0022\u003EChina\u003C/option\u003E\n \u003Coption value=\u0022Colombia\u0022\u003EColombia\u003C/option\u003E\n \u003Coption value=\u0022Comoros\u0022\u003EComoros\u003C/option\u003E\n \u003Coption value=\u0022Congo, Democratic Republic of the\u0022\u003ECongo, Democratic Republic of the\u003C/option\u003E\n \u003Coption value=\u0022Congo, Republic of the\u0022\u003ECongo, Republic of the\u003C/option\u003E\n \u003Coption value=\u0022Costa Rica\u0022\u003ECosta Rica\u003C/option\u003E\n \u003Coption value=\u0022Cote d\u0026#39;Ivoire\u0022\u003ECote d\u0026#39;Ivoire\u003C/option\u003E\n \u003Coption value=\u0022Croatia\u0022\u003ECroatia\u003C/option\u003E\n \u003Coption value=\u0022Cuba\u0022\u003ECuba\u003C/option\u003E\n \u003Coption value=\u0022Curacao\u0022\u003ECuracao\u003C/option\u003E\n \u003Coption value=\u0022Cyprus\u0022\u003ECyprus\u003C/option\u003E\n \u003Coption value=\u0022Czech Republic\u0022\u003ECzech Republic\u003C/option\u003E\n \u003Coption value=\u0022Denmark\u0022\u003EDenmark\u003C/option\u003E\n \u003Coption value=\u0022Djibouti\u0022\u003EDjibouti\u003C/option\u003E\n \u003Coption value=\u0022Dominica\u0022\u003EDominica\u003C/option\u003E\n \u003Coption value=\u0022Dominican Republic\u0022\u003EDominican Republic\u003C/option\u003E\n \u003Coption value=\u0022East Timor\u0022\u003EEast Timor\u003C/option\u003E\n \u003Coption value=\u0022Ecuador\u0022\u003EEcuador\u003C/option\u003E\n \u003Coption value=\u0022Egypt\u0022\u003EEgypt\u003C/option\u003E\n \u003Coption value=\u0022El Salvador\u0022\u003EEl Salvador\u003C/option\u003E\n \u003Coption value=\u0022Equatorial Guinea\u0022\u003EEquatorial Guinea\u003C/option\u003E\n \u003Coption value=\u0022Eritrea\u0022\u003EEritrea\u003C/option\u003E\n \u003Coption value=\u0022Estonia\u0022\u003EEstonia\u003C/option\u003E\n \u003Coption value=\u0022Ethiopia\u0022\u003EEthiopia\u003C/option\u003E\n \u003Coption value=\u0022Fiji\u0022\u003EFiji\u003C/option\u003E\n \u003Coption value=\u0022Finland\u0022\u003EFinland\u003C/option\u003E\n \u003Coption value=\u0022France\u0022\u003EFrance\u003C/option\u003E\n \u003Coption value=\u0022Gabon\u0022\u003EGabon\u003C/option\u003E\n \u003Coption value=\u0022Gambia\u0022\u003EGambia\u003C/option\u003E\n \u003Coption value=\u0022Georgia\u0022\u003EGeorgia\u003C/option\u003E\n \u003Coption value=\u0022Germany\u0022\u003EGermany\u003C/option\u003E\n \u003Coption value=\u0022Ghana\u0022\u003EGhana\u003C/option\u003E\n \u003Coption value=\u0022Greece\u0022\u003EGreece\u003C/option\u003E\n \u003Coption value=\u0022Grenada\u0022\u003EGrenada\u003C/option\u003E\n \u003Coption value=\u0022Guatemala\u0022\u003EGuatemala\u003C/option\u003E\n \u003Coption value=\u0022Guinea\u0022\u003EGuinea\u003C/option\u003E\n \u003Coption value=\u0022Guinea-Bissau\u0022\u003EGuinea-Bissau\u003C/option\u003E\n \u003Coption value=\u0022Guyana\u0022\u003EGuyana\u003C/option\u003E\n \u003Coption value=\u0022Haiti\u0022\u003EHaiti\u003C/option\u003E\n \u003Coption value=\u0022Holy See\u0022\u003EHoly See\u003C/option\u003E\n \u003Coption value=\u0022Honduras\u0022\u003EHonduras\u003C/option\u003E\n \u003Coption value=\u0022Hong Kong\u0022\u003EHong Kong\u003C/option\u003E\n \u003Coption value=\u0022Hungary\u0022\u003EHungary\u003C/option\u003E\n \u003Coption value=\u0022Iceland\u0022\u003EIceland\u003C/option\u003E\n \u003Coption value=\u0022India\u0022\u003EIndia\u003C/option\u003E\n \u003Coption value=\u0022Indonesia\u0022\u003EIndonesia\u003C/option\u003E\n \u003Coption value=\u0022Iran\u0022\u003EIran\u003C/option\u003E\n \u003Coption value=\u0022Iraq\u0022\u003EIraq\u003C/option\u003E\n \u003Coption value=\u0022Ireland\u0022\u003EIreland\u003C/option\u003E\n \u003Coption value=\u0022Israel\u0022\u003EIsrael\u003C/option\u003E\n \u003Coption value=\u0022Italy\u0022\u003EItaly\u003C/option\u003E\n \u003Coption value=\u0022Jamaica\u0022\u003EJamaica\u003C/option\u003E\n \u003Coption value=\u0022Japan\u0022\u003EJapan\u003C/option\u003E\n \u003Coption value=\u0022Jordan\u0022\u003EJordan\u003C/option\u003E\n \u003Coption value=\u0022Kazakhstan\u0022\u003EKazakhstan\u003C/option\u003E\n \u003Coption value=\u0022Kenya\u0022\u003EKenya\u003C/option\u003E\n \u003Coption value=\u0022Kiribati\u0022\u003EKiribati\u003C/option\u003E\n \u003Coption value=\u0022Korea, North\u0022\u003EKorea, North\u003C/option\u003E\n \u003Coption value=\u0022Korea, South\u0022\u003EKorea, South\u003C/option\u003E\n \u003Coption value=\u0022Kosovo\u0022\u003EKosovo\u003C/option\u003E\n \u003Coption value=\u0022Kuwait\u0022\u003EKuwait\u003C/option\u003E\n \u003Coption value=\u0022Kyrgyzstan\u0022\u003EKyrgyzstan\u003C/option\u003E\n \u003Coption value=\u0022Laos\u0022\u003ELaos\u003C/option\u003E\n \u003Coption value=\u0022Latvia\u0022\u003ELatvia\u003C/option\u003E\n \u003Coption value=\u0022Lebanon\u0022\u003ELebanon\u003C/option\u003E\n \u003Coption value=\u0022Lesotho\u0022\u003ELesotho\u003C/option\u003E\n \u003Coption value=\u0022Liberia\u0022\u003ELiberia\u003C/option\u003E\n \u003Coption value=\u0022Libya\u0022\u003ELibya\u003C/option\u003E\n \u003Coption value=\u0022Liechtenstein\u0022\u003ELiechtenstein\u003C/option\u003E\n \u003Coption value=\u0022Lithuania\u0022\u003ELithuania\u003C/option\u003E\n \u003Coption value=\u0022Luxembourg\u0022\u003ELuxembourg\u003C/option\u003E\n \u003Coption value=\u0022Macau\u0022\u003EMacau\u003C/option\u003E\n \u003Coption value=\u0022Macedonia\u0022\u003EMacedonia\u003C/option\u003E\n \u003Coption value=\u0022Madagascar\u0022\u003EMadagascar\u003C/option\u003E\n \u003Coption value=\u0022Malawi\u0022\u003EMalawi\u003C/option\u003E\n \u003Coption value=\u0022Malaysia\u0022\u003EMalaysia\u003C/option\u003E\n \u003Coption value=\u0022Maldives\u0022\u003EMaldives\u003C/option\u003E\n \u003Coption value=\u0022Mali\u0022\u003EMali\u003C/option\u003E\n \u003Coption value=\u0022Malta\u0022\u003EMalta\u003C/option\u003E\n \u003Coption value=\u0022Marshall Islands\u0022\u003EMarshall Islands\u003C/option\u003E\n \u003Coption value=\u0022Mauritania\u0022\u003EMauritania\u003C/option\u003E\n \u003Coption value=\u0022Mauritius\u0022\u003EMauritius\u003C/option\u003E\n \u003Coption value=\u0022Mexico\u0022\u003EMexico\u003C/option\u003E\n \u003Coption value=\u0022Micronesia\u0022\u003EMicronesia\u003C/option\u003E\n \u003Coption value=\u0022Moldova\u0022\u003EMoldova\u003C/option\u003E\n \u003Coption value=\u0022Monaco\u0022\u003EMonaco\u003C/option\u003E\n \u003Coption value=\u0022Mongolia\u0022\u003EMongolia\u003C/option\u003E\n \u003Coption value=\u0022Montenegro\u0022\u003EMontenegro\u003C/option\u003E\n \u003Coption value=\u0022Morocco\u0022\u003EMorocco\u003C/option\u003E\n \u003Coption value=\u0022Mozambique\u0022\u003EMozambique\u003C/option\u003E\n \u003Coption value=\u0022Namibia\u0022\u003ENamibia\u003C/option\u003E\n \u003Coption value=\u0022Nauru\u0022\u003ENauru\u003C/option\u003E\n \u003Coption value=\u0022Nepal\u0022\u003ENepal\u003C/option\u003E\n \u003Coption value=\u0022Netherlands\u0022\u003ENetherlands\u003C/option\u003E\n \u003Coption value=\u0022Netherlands Antilles\u0022\u003ENetherlands Antilles\u003C/option\u003E\n \u003Coption value=\u0022New Zealand\u0022\u003ENew Zealand\u003C/option\u003E\n \u003Coption value=\u0022Nicaragua\u0022\u003ENicaragua\u003C/option\u003E\n \u003Coption value=\u0022Niger\u0022\u003ENiger\u003C/option\u003E\n \u003Coption value=\u0022Nigeria\u0022\u003ENigeria\u003C/option\u003E\n \u003Coption value=\u0022North Korea\u0022\u003ENorth Korea\u003C/option\u003E\n \u003Coption value=\u0022Norway\u0022\u003ENorway\u003C/option\u003E\n \u003Coption value=\u0022Oman\u0022\u003EOman\u003C/option\u003E\n \u003Coption value=\u0022Pakistan\u0022\u003EPakistan\u003C/option\u003E\n \u003Coption value=\u0022Palau\u0022\u003EPalau\u003C/option\u003E\n \u003Coption value=\u0022Palestinian Territories\u0022\u003EPalestinian Territories\u003C/option\u003E\n \u003Coption value=\u0022Panama\u0022\u003EPanama\u003C/option\u003E\n \u003Coption value=\u0022Papua New Guinea\u0022\u003EPapua New Guinea\u003C/option\u003E\n \u003Coption value=\u0022Paraguay\u0022\u003EParaguay\u003C/option\u003E\n \u003Coption value=\u0022Peru\u0022\u003EPeru\u003C/option\u003E\n \u003Coption value=\u0022Philippines\u0022\u003EPhilippines\u003C/option\u003E\n \u003Coption value=\u0022Poland\u0022\u003EPoland\u003C/option\u003E\n \u003Coption value=\u0022Portugal\u0022\u003EPortugal\u003C/option\u003E\n \u003Coption value=\u0022Qatar\u0022\u003EQatar\u003C/option\u003E\n \u003Coption value=\u0022Romania\u0022\u003ERomania\u003C/option\u003E\n \u003Coption value=\u0022Russia\u0022\u003ERussia\u003C/option\u003E\n \u003Coption value=\u0022Rwanda\u0022\u003ERwanda\u003C/option\u003E\n \u003Coption value=\u0022Saint Kitts and Nevis\u0022\u003ESaint Kitts and Nevis\u003C/option\u003E\n \u003Coption value=\u0022Saint Lucia\u0022\u003ESaint Lucia\u003C/option\u003E\n \u003Coption value=\u0022Saint Vincent and the Grenadines\u0022\u003ESaint Vincent and the Grenadines\u003C/option\u003E\n \u003Coption value=\u0022Samoa\u0022\u003ESamoa\u003C/option\u003E\n \u003Coption value=\u0022San Marino\u0022\u003ESan Marino\u003C/option\u003E\n \u003Coption value=\u0022Sao Tome and Principe\u0022\u003ESao Tome and Principe\u003C/option\u003E\n \u003Coption value=\u0022Saudi Arabia\u0022\u003ESaudi Arabia\u003C/option\u003E\n \u003Coption value=\u0022Senegal\u0022\u003ESenegal\u003C/option\u003E\n \u003Coption value=\u0022Serbia\u0022\u003ESerbia\u003C/option\u003E\n \u003Coption value=\u0022Seychelles\u0022\u003ESeychelles\u003C/option\u003E\n \u003Coption value=\u0022Sierra Leone\u0022\u003ESierra Leone\u003C/option\u003E\n \u003Coption value=\u0022Singapore\u0022\u003ESingapore\u003C/option\u003E\n \u003Coption value=\u0022Sint Maarten\u0022\u003ESint Maarten\u003C/option\u003E\n \u003Coption value=\u0022Slovakia\u0022\u003ESlovakia\u003C/option\u003E\n \u003Coption value=\u0022Slovenia\u0022\u003ESlovenia\u003C/option\u003E\n \u003Coption value=\u0022Solomon Islands\u0022\u003ESolomon Islands\u003C/option\u003E\n \u003Coption value=\u0022Somalia\u0022\u003ESomalia\u003C/option\u003E\n \u003Coption value=\u0022South Africa\u0022\u003ESouth Africa\u003C/option\u003E\n \u003Coption value=\u0022South Korea\u0022\u003ESouth Korea\u003C/option\u003E\n \u003Coption value=\u0022South Sudan\u0022\u003ESouth Sudan\u003C/option\u003E\n \u003Coption value=\u0022Spain\u0022\u003ESpain\u003C/option\u003E\n \u003Coption value=\u0022Sri Lanka\u0022\u003ESri Lanka\u003C/option\u003E\n \u003Coption value=\u0022Sudan\u0022\u003ESudan\u003C/option\u003E\n \u003Coption value=\u0022Suriname\u0022\u003ESuriname\u003C/option\u003E\n \u003Coption value=\u0022Swaziland\u0022\u003ESwaziland\u003C/option\u003E\n \u003Coption value=\u0022Sweden\u0022\u003ESweden\u003C/option\u003E\n \u003Coption value=\u0022Switzerland\u0022\u003ESwitzerland\u003C/option\u003E\n \u003Coption value=\u0022Syria\u0022\u003ESyria\u003C/option\u003E\n \u003Coption value=\u0022Taiwan\u0022\u003ETaiwan\u003C/option\u003E\n \u003Coption value=\u0022Tajikistan\u0022\u003ETajikistan\u003C/option\u003E\n \u003Coption value=\u0022Tanzania\u0022\u003ETanzania\u003C/option\u003E\n \u003Coption value=\u0022Thailand\u0022\u003EThailand\u003C/option\u003E\n \u003Coption value=\u0022Timor-Leste\u0022\u003ETimor-Leste\u003C/option\u003E\n \u003Coption value=\u0022Togo\u0022\u003ETogo\u003C/option\u003E\n \u003Coption value=\u0022Tonga\u0022\u003ETonga\u003C/option\u003E\n \u003Coption value=\u0022Trinidad and Tobago\u0022\u003ETrinidad and Tobago\u003C/option\u003E\n \u003Coption value=\u0022Tunisia\u0022\u003ETunisia\u003C/option\u003E\n \u003Coption value=\u0022Turkey\u0022\u003ETurkey\u003C/option\u003E\n \u003Coption value=\u0022Turkmenistan\u0022\u003ETurkmenistan\u003C/option\u003E\n \u003Coption value=\u0022Tuvalu\u0022\u003ETuvalu\u003C/option\u003E\n \u003Coption value=\u0022Uganda\u0022\u003EUganda\u003C/option\u003E\n \u003Coption value=\u0022Ukraine\u0022\u003EUkraine\u003C/option\u003E\n \u003Coption value=\u0022United Arab Emirates\u0022\u003EUnited Arab Emirates\u003C/option\u003E\n \u003Coption value=\u0022United Kingdom\u0022\u003EUnited Kingdom\u003C/option\u003E\n \u003Coption value=\u0022Uruguay\u0022\u003EUruguay\u003C/option\u003E\n \u003Coption value=\u0022Uzbekistan\u0022\u003EUzbekistan\u003C/option\u003E\n \u003Coption value=\u0022Vanuatu\u0022\u003EVanuatu\u003C/option\u003E\n \u003Coption value=\u0022Venezuela\u0022\u003EVenezuela\u003C/option\u003E\n \u003Coption value=\u0022Vietnam\u0022\u003EVietnam\u003C/option\u003E\n \u003Coption value=\u0022Yemen\u0022\u003EYemen\u003C/option\u003E\n \u003Coption value=\u0022Zambia\u0022\u003EZambia\u003C/option\u003E\n \u003Coption value=\u0022Zimbabwe\u0022\u003EZimbabwe\u003C/option\u003E\n \u003C/select\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n\t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\u003Clabel for=\u0022entry_1511054935\u0022\u003EZip code\u003C/label\u003E\n \t\u003Cinput type=\u0022number\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter zip code\u0022 name=\u0022entry.1511054935\u0022 id=\u0022entry_1511054935\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \u003Cspan id=\u0022helpBlock\u0022 class=\u0022help-block\u0022\u003EOnly numbers.\u003C/span\u003E \n \t\u003C/div\u003E\n\t\u003Cinput type=\u0022submit\u0022 class=\u0022btn btn-default btn-primary\u0022 disabled=\u0022disabled\u0022 name=\u0022submit\u0022 value=\u0022Submit\u0022 id=\u0022ss-submit\u0022 onclick=\u0022sentForm();\u0022\u003E \n\u003C/form\u003E\n\n\u003Ciframe name=\u0022hidden_iframe\u0022 id=\u0022hidden_iframe\u0022 style=\u0022display:none;\u0022\u003E\u003C/iframe\u003E\n\n\u003C!-- end form google --\u003E \n \u003Chr\u003E\n \u003Cdiv class=\u0022row\u0022\u003E\n \u003Cp class=\u0022alert alert-danger\u0022\u003E\n \t\tThis plug-in will apply automatically an Environment configuration, if you want to know more about it please visit the link\n \t\t\u003Ca target=\u0022no_blank\u0022 href=\u0022http://infocenter.pentaho.com/help48/index.jsp?topic=%2Fadmin_guide%2Ftask_switching_to_file_based_logging.html\u0022\u003E\n \t\t\t\u003Cspan class=\u0022glyphicon glyphicon-new-window\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\t\u003C/a\u003E\n \t\u003C/p\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n \n \u003Cdiv class=\u0022modal-footer\u0022\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-default\u0022 data-dismiss=\u0022modal\u0022\u003EClose\u003C/button\u003E\n \u003C!-- \u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-primary\u0022\u003ESave changes\u003C/button\u003E --\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n\u003C/div\u003E " + }, + { + "name" : "fontSize", + "type" : "Integer", + "value" : "" + }, + { + "name" : "color", + "type" : "Color", + "value" : "" + }, + { + "name" : "cssClass", + "type" : "String", + "value" : "" + } + ], + "type" : "LayoutHtml", + "typeDesc" : "Html" + } + ], + "title" : "Two x One Template" + } } \ No newline at end of file From 0f13d81e9232d3f4e8463ad42aae605200981138 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Fri, 2 Jul 2021 14:14:39 +0100 Subject: [PATCH 18/21] Pentaho 9.1 compatibility --- plugin.xml | 5 +++++ schemas/pentahoCEAudit.mondrian.xml | 1 + 2 files changed, 6 insertions(+) diff --git a/plugin.xml b/plugin.xml index 84dacd5..56a8331 100644 --- a/plugin.xml +++ b/plugin.xml @@ -11,6 +11,11 @@ + + diff --git a/schemas/pentahoCEAudit.mondrian.xml b/schemas/pentahoCEAudit.mondrian.xml index 6e484e2..1d52f18 100644 --- a/schemas/pentahoCEAudit.mondrian.xml +++ b/schemas/pentahoCEAudit.mondrian.xml @@ -1,3 +1,4 @@ + From becba7b8866c90708d258da59fac39aafd61be3d Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Fri, 2 Jul 2021 20:07:00 +0100 Subject: [PATCH 19/21] Pentaho 9.1 Compatibility --- dashboards/admin/dashboard.cdfde | 762 +++++++++++++++---------------- 1 file changed, 381 insertions(+), 381 deletions(-) diff --git a/dashboards/admin/dashboard.cdfde b/dashboards/admin/dashboard.cdfde index cb6f1a2..f3b8774 100644 --- a/dashboards/admin/dashboard.cdfde +++ b/dashboards/admin/dashboard.cdfde @@ -67,13 +67,13 @@ }, { "name" : "silent", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" }, { "name" : "clearsBeforePreExecution", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "colors", @@ -127,13 +127,13 @@ }, { "name" : "renderMode", - "value" : "total", - "type" : "renderModeCustom" + "type" : "renderModeCustom", + "value" : "total" }, { "name" : "dataAdditiveMode", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "animate", @@ -202,8 +202,8 @@ }, { "name" : "baseAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "baseAxisGrid", @@ -212,13 +212,13 @@ }, { "name" : "baseAxisLabelDesiredAngles", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "baseAxisLabelRotationDirection", - "value" : "", - "type" : "cccBaseAxisLabelRotationDirectionCustom" + "type" : "cccBaseAxisLabelRotationDirectionCustom", + "value" : "" }, { "name" : "baseAxisLabelSpacingMin", @@ -292,8 +292,8 @@ }, { "name" : "baseAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "baseAxisTooltipAutoContent", @@ -333,7 +333,7 @@ { "name" : "clickAction", "type" : "JavaScript", - "value" : "function click(chart) {\n \n console.log(chart);\n \n var chartValueQuantity=chart.vars.category.value;\n// Dashboards.fireChange(\u0022pUser\u0022, user)\n \n alert(chartValueQuantity);\n \n //alert(quantity);\n \n //console.log(quantity);\n \n} " + "value" : "function click(chart) {\n \n //console.log(chart);\n \n //var chartValueQuantity=chart.vars.value.value;\n// Dashboards.fireChange(\u0022pUser\u0022, user)\n \n //alert(chartValueQuantity);\n \n //alert(quantity);\n \n //console.log(quantity);\n \n} " }, { "name" : "color2AxisColors", @@ -367,8 +367,8 @@ }, { "name" : "color2AxisPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "color2AxisTransform", @@ -382,8 +382,8 @@ }, { "name" : "colorPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "colorRole", @@ -522,8 +522,8 @@ }, { "name" : "legendItemCountMax", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "legendItemPadding", @@ -547,8 +547,8 @@ }, { "name" : "legendOverflow", - "value" : "", - "type" : "cccLegendOverflowCustom" + "type" : "cccLegendOverflowCustom", + "value" : "" }, { "name" : "legendPaddings", @@ -647,8 +647,8 @@ }, { "name" : "ortho2AxisDomainAlign", - "value" : "center", - "type" : "cccOrtho2AxisDomainAlignCustom" + "type" : "cccOrtho2AxisDomainAlignCustom", + "value" : "center" }, { "name" : "ortho2AxisDomainRoundMode", @@ -662,8 +662,8 @@ }, { "name" : "ortho2AxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisFixedMax", @@ -677,8 +677,8 @@ }, { "name" : "ortho2AxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "ortho2AxisGrid", @@ -712,18 +712,18 @@ }, { "name" : "ortho2AxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisSize", @@ -802,8 +802,8 @@ }, { "name" : "ortho2AxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisVisible", @@ -822,8 +822,8 @@ }, { "name" : "orthoAxisDomainAlign", - "value" : "center", - "type" : "cccOrthoAxisDomainAlignCustom" + "type" : "cccOrthoAxisDomainAlignCustom", + "value" : "center" }, { "name" : "orthoAxisDomainRoundMode", @@ -837,8 +837,8 @@ }, { "name" : "orthoAxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisFixedMax", @@ -852,8 +852,8 @@ }, { "name" : "orthoAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "orthoAxisGrid", @@ -887,18 +887,18 @@ }, { "name" : "orthoAxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisSize", @@ -977,8 +977,8 @@ }, { "name" : "orthoAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisVisible", @@ -1017,8 +1017,8 @@ }, { "name" : "plot2AreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "plot2AreasVisible", @@ -1102,8 +1102,8 @@ }, { "name" : "plotSizeMin", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "pointingMode", @@ -1112,13 +1112,13 @@ }, { "name" : "preserveLayout", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "readers", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "renderCallback", @@ -1127,8 +1127,8 @@ }, { "name" : "renderedCallback", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "selectable", @@ -1152,23 +1152,23 @@ }, { "name" : "slidingWindow", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "slidingWindowDimension", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowLength", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowSelect", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "smallAspectRatio", @@ -1237,8 +1237,8 @@ }, { "name" : "smallTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "smallWidth", @@ -1297,8 +1297,8 @@ }, { "name" : "titleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "tooltipArrowVisible", @@ -1357,8 +1357,8 @@ }, { "name" : "trendAreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "trendAreasVisible", @@ -1452,8 +1452,8 @@ }, { "name" : "valuesNormalized", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "valuesOptimizeLegibility", @@ -1526,13 +1526,13 @@ }, { "name" : "silent", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" }, { "name" : "clearsBeforePreExecution", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "colors", @@ -1586,13 +1586,13 @@ }, { "name" : "renderMode", - "value" : "total", - "type" : "renderModeCustom" + "type" : "renderModeCustom", + "value" : "total" }, { "name" : "dataAdditiveMode", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "animate", @@ -1661,8 +1661,8 @@ }, { "name" : "baseAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "baseAxisGrid", @@ -1671,13 +1671,13 @@ }, { "name" : "baseAxisLabelDesiredAngles", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "baseAxisLabelRotationDirection", - "value" : "", - "type" : "cccBaseAxisLabelRotationDirectionCustom" + "type" : "cccBaseAxisLabelRotationDirectionCustom", + "value" : "" }, { "name" : "baseAxisLabelSpacingMin", @@ -1751,8 +1751,8 @@ }, { "name" : "baseAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "baseAxisTooltipAutoContent", @@ -1826,8 +1826,8 @@ }, { "name" : "color2AxisPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "color2AxisTransform", @@ -1841,13 +1841,13 @@ }, { "name" : "colorPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "colorRole", "type" : "String", - "value" : "" + "value" : "category" }, { "name" : "colorTransform", @@ -1981,8 +1981,8 @@ }, { "name" : "legendItemCountMax", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "legendItemPadding", @@ -2006,8 +2006,8 @@ }, { "name" : "legendOverflow", - "value" : "", - "type" : "cccLegendOverflowCustom" + "type" : "cccLegendOverflowCustom", + "value" : "" }, { "name" : "legendPaddings", @@ -2106,8 +2106,8 @@ }, { "name" : "ortho2AxisDomainAlign", - "value" : "center", - "type" : "cccOrtho2AxisDomainAlignCustom" + "type" : "cccOrtho2AxisDomainAlignCustom", + "value" : "center" }, { "name" : "ortho2AxisDomainRoundMode", @@ -2121,8 +2121,8 @@ }, { "name" : "ortho2AxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisFixedMax", @@ -2136,8 +2136,8 @@ }, { "name" : "ortho2AxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "ortho2AxisGrid", @@ -2171,18 +2171,18 @@ }, { "name" : "ortho2AxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisSize", @@ -2261,8 +2261,8 @@ }, { "name" : "ortho2AxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisVisible", @@ -2281,8 +2281,8 @@ }, { "name" : "orthoAxisDomainAlign", - "value" : "center", - "type" : "cccOrthoAxisDomainAlignCustom" + "type" : "cccOrthoAxisDomainAlignCustom", + "value" : "center" }, { "name" : "orthoAxisDomainRoundMode", @@ -2296,8 +2296,8 @@ }, { "name" : "orthoAxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisFixedMax", @@ -2311,8 +2311,8 @@ }, { "name" : "orthoAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "orthoAxisGrid", @@ -2346,18 +2346,18 @@ }, { "name" : "orthoAxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisSize", @@ -2436,8 +2436,8 @@ }, { "name" : "orthoAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisVisible", @@ -2476,8 +2476,8 @@ }, { "name" : "plot2AreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "plot2AreasVisible", @@ -2561,8 +2561,8 @@ }, { "name" : "plotSizeMin", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "pointingMode", @@ -2571,13 +2571,13 @@ }, { "name" : "preserveLayout", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "readers", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "renderCallback", @@ -2586,8 +2586,8 @@ }, { "name" : "renderedCallback", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "selectable", @@ -2611,23 +2611,23 @@ }, { "name" : "slidingWindow", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "slidingWindowDimension", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowLength", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowSelect", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "smallAspectRatio", @@ -2696,8 +2696,8 @@ }, { "name" : "smallTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "smallWidth", @@ -2756,8 +2756,8 @@ }, { "name" : "titleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "tooltipArrowVisible", @@ -2816,8 +2816,8 @@ }, { "name" : "trendAreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "trendAreasVisible", @@ -2911,8 +2911,8 @@ }, { "name" : "valuesNormalized", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "valuesOptimizeLegibility", @@ -2985,13 +2985,13 @@ }, { "name" : "silent", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" }, { "name" : "clearsBeforePreExecution", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "colors", @@ -3045,13 +3045,13 @@ }, { "name" : "renderMode", - "value" : "total", - "type" : "renderModeCustom" + "type" : "renderModeCustom", + "value" : "total" }, { "name" : "dataAdditiveMode", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "animate", @@ -3060,8 +3060,8 @@ }, { "name" : "areasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "areasVisible", @@ -3110,8 +3110,8 @@ }, { "name" : "baseAxisDomainAlign", - "value" : "center", - "type" : "cccBaseAxisDomainAlignCustom" + "type" : "cccBaseAxisDomainAlignCustom", + "value" : "center" }, { "name" : "baseAxisDomainRoundMode", @@ -3130,8 +3130,8 @@ }, { "name" : "baseAxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "baseAxisFixedMax", @@ -3145,8 +3145,8 @@ }, { "name" : "baseAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "baseAxisGrid", @@ -3155,13 +3155,13 @@ }, { "name" : "baseAxisLabelDesiredAngles", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "baseAxisLabelRotationDirection", - "value" : "", - "type" : "cccBaseAxisLabelRotationDirectionCustom" + "type" : "cccBaseAxisLabelRotationDirectionCustom", + "value" : "" }, { "name" : "baseAxisLabelSpacingMin", @@ -3195,18 +3195,18 @@ }, { "name" : "baseAxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "baseAxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "baseAxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "baseAxisSize", @@ -3285,8 +3285,8 @@ }, { "name" : "baseAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "baseAxisTooltipAutoContent", @@ -3365,8 +3365,8 @@ }, { "name" : "color2AxisPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "color2AxisTransform", @@ -3380,8 +3380,8 @@ }, { "name" : "colorPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "colorRole", @@ -3525,8 +3525,8 @@ }, { "name" : "legendItemCountMax", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "legendItemPadding", @@ -3550,8 +3550,8 @@ }, { "name" : "legendOverflow", - "value" : "", - "type" : "cccLegendOverflowCustom" + "type" : "cccLegendOverflowCustom", + "value" : "" }, { "name" : "legendPaddings", @@ -3650,8 +3650,8 @@ }, { "name" : "ortho2AxisDomainAlign", - "value" : "center", - "type" : "cccOrtho2AxisDomainAlignCustom" + "type" : "cccOrtho2AxisDomainAlignCustom", + "value" : "center" }, { "name" : "ortho2AxisDomainRoundMode", @@ -3665,8 +3665,8 @@ }, { "name" : "ortho2AxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisFixedMax", @@ -3680,8 +3680,8 @@ }, { "name" : "ortho2AxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "ortho2AxisGrid", @@ -3715,18 +3715,18 @@ }, { "name" : "ortho2AxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisSize", @@ -3805,8 +3805,8 @@ }, { "name" : "ortho2AxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisVisible", @@ -3825,8 +3825,8 @@ }, { "name" : "orthoAxisDomainAlign", - "value" : "center", - "type" : "cccOrthoAxisDomainAlignCustom" + "type" : "cccOrthoAxisDomainAlignCustom", + "value" : "center" }, { "name" : "orthoAxisDomainRoundMode", @@ -3840,8 +3840,8 @@ }, { "name" : "orthoAxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisFixedMax", @@ -3855,8 +3855,8 @@ }, { "name" : "orthoAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "orthoAxisGrid", @@ -3890,18 +3890,18 @@ }, { "name" : "orthoAxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisSize", @@ -3980,8 +3980,8 @@ }, { "name" : "orthoAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisVisible", @@ -4010,8 +4010,8 @@ }, { "name" : "plot2AreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "plot2AreasVisible", @@ -4095,8 +4095,8 @@ }, { "name" : "plotSizeMin", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "pointingMode", @@ -4105,13 +4105,13 @@ }, { "name" : "preserveLayout", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "readers", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "renderCallback", @@ -4120,8 +4120,8 @@ }, { "name" : "renderedCallback", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "selectable", @@ -4145,23 +4145,23 @@ }, { "name" : "slidingWindow", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "slidingWindowDimension", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowLength", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowSelect", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "smallAspectRatio", @@ -4230,8 +4230,8 @@ }, { "name" : "smallTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "smallWidth", @@ -4285,8 +4285,8 @@ }, { "name" : "titleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "tooltipArrowVisible", @@ -4345,8 +4345,8 @@ }, { "name" : "trendAreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "trendAreasVisible", @@ -4499,13 +4499,13 @@ }, { "name" : "silent", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" }, { "name" : "clearsBeforePreExecution", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "colors", @@ -4559,13 +4559,13 @@ }, { "name" : "renderMode", - "value" : "total", - "type" : "renderModeCustom" + "type" : "renderModeCustom", + "value" : "total" }, { "name" : "dataAdditiveMode", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "animate", @@ -4634,8 +4634,8 @@ }, { "name" : "baseAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "baseAxisGrid", @@ -4644,13 +4644,13 @@ }, { "name" : "baseAxisLabelDesiredAngles", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "baseAxisLabelRotationDirection", - "value" : "", - "type" : "cccBaseAxisLabelRotationDirectionCustom" + "type" : "cccBaseAxisLabelRotationDirectionCustom", + "value" : "" }, { "name" : "baseAxisLabelSpacingMin", @@ -4724,8 +4724,8 @@ }, { "name" : "baseAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "baseAxisTooltipAutoContent", @@ -4799,8 +4799,8 @@ }, { "name" : "color2AxisPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "color2AxisTransform", @@ -4814,8 +4814,8 @@ }, { "name" : "colorPreserveMap", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "colorRole", @@ -4954,8 +4954,8 @@ }, { "name" : "legendItemCountMax", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "legendItemPadding", @@ -4979,8 +4979,8 @@ }, { "name" : "legendOverflow", - "value" : "", - "type" : "cccLegendOverflowCustom" + "type" : "cccLegendOverflowCustom", + "value" : "" }, { "name" : "legendPaddings", @@ -5079,8 +5079,8 @@ }, { "name" : "ortho2AxisDomainAlign", - "value" : "center", - "type" : "cccOrtho2AxisDomainAlignCustom" + "type" : "cccOrtho2AxisDomainAlignCustom", + "value" : "center" }, { "name" : "ortho2AxisDomainRoundMode", @@ -5094,8 +5094,8 @@ }, { "name" : "ortho2AxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisFixedMax", @@ -5109,8 +5109,8 @@ }, { "name" : "ortho2AxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "ortho2AxisGrid", @@ -5144,18 +5144,18 @@ }, { "name" : "ortho2AxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "ortho2AxisSize", @@ -5234,8 +5234,8 @@ }, { "name" : "ortho2AxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "ortho2AxisVisible", @@ -5254,8 +5254,8 @@ }, { "name" : "orthoAxisDomainAlign", - "value" : "center", - "type" : "cccOrthoAxisDomainAlignCustom" + "type" : "cccOrthoAxisDomainAlignCustom", + "value" : "center" }, { "name" : "orthoAxisDomainRoundMode", @@ -5269,8 +5269,8 @@ }, { "name" : "orthoAxisFixedLength", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisFixedMax", @@ -5284,8 +5284,8 @@ }, { "name" : "orthoAxisFont", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "orthoAxisGrid", @@ -5319,18 +5319,18 @@ }, { "name" : "orthoAxisPreserveRatio", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisPreserveTickAlignment", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisRatio", - "value" : "", - "type" : "Float" + "type" : "Float", + "value" : "" }, { "name" : "orthoAxisSize", @@ -5409,8 +5409,8 @@ }, { "name" : "orthoAxisTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "orthoAxisVisible", @@ -5449,8 +5449,8 @@ }, { "name" : "plot2AreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "plot2AreasVisible", @@ -5534,8 +5534,8 @@ }, { "name" : "plotSizeMin", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "pointingMode", @@ -5544,13 +5544,13 @@ }, { "name" : "preserveLayout", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "readers", - "value" : "[]", - "type" : "Array" + "type" : "Array", + "value" : "[]" }, { "name" : "renderCallback", @@ -5559,8 +5559,8 @@ }, { "name" : "renderedCallback", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "selectable", @@ -5584,23 +5584,23 @@ }, { "name" : "slidingWindow", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "slidingWindowDimension", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowLength", - "value" : "", - "type" : "String" + "type" : "String", + "value" : "" }, { "name" : "slidingWindowSelect", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "smallAspectRatio", @@ -5669,8 +5669,8 @@ }, { "name" : "smallTitleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "smallWidth", @@ -5729,8 +5729,8 @@ }, { "name" : "titleVisible", - "value" : "", - "type" : "Boolean" + "type" : "Boolean", + "value" : "" }, { "name" : "tooltipArrowVisible", @@ -5789,8 +5789,8 @@ }, { "name" : "trendAreasFillOpacity", - "value" : 0.5, - "type" : "Float" + "type" : "Float", + "value" : 0.5 }, { "name" : "trendAreasVisible", @@ -5884,8 +5884,8 @@ }, { "name" : "valuesNormalized", - "value" : false, - "type" : "Boolean" + "type" : "Boolean", + "value" : false }, { "name" : "valuesOptimizeLegibility", @@ -5975,8 +5975,8 @@ }, { "name" : "public", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" } ], "type" : "ComponentsParameter", @@ -6008,8 +6008,8 @@ }, { "name" : "public", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" } ], "type" : "ComponentsParameter", @@ -6041,8 +6041,8 @@ }, { "name" : "public", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" } ], "type" : "ComponentsParameter", @@ -6074,8 +6074,8 @@ }, { "name" : "public", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" } ], "type" : "ComponentsParameter", @@ -6107,8 +6107,8 @@ }, { "name" : "public", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" } ], "type" : "ComponentsParameter", @@ -6140,8 +6140,8 @@ }, { "name" : "public", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" } ], "type" : "ComponentsParameter", @@ -6197,8 +6197,8 @@ }, { "name" : "useFirstValue", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "dataSource", @@ -6305,8 +6305,8 @@ }, { "name" : "useFirstValue", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "dataSource", @@ -6432,8 +6432,8 @@ }, { "name" : "exportPage", - "value" : true, - "type" : "Boolean" + "type" : "Boolean", + "value" : true }, { "name" : "outputType", @@ -6510,8 +6510,8 @@ }, { "name" : "exportPage", - "value" : true, - "type" : "Boolean" + "type" : "Boolean", + "value" : true }, { "name" : "outputType", @@ -6683,13 +6683,13 @@ }, { "name" : "silent", - "value" : "false", - "type" : "Boolean" + "type" : "Boolean", + "value" : "false" }, { "name" : "clearsBeforePreExecution", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "paginationType", @@ -6718,8 +6718,8 @@ }, { "name" : "failureCallback", - "value" : "", - "type" : "JavaScript" + "type" : "JavaScript", + "value" : "" }, { "name" : "preExecution", @@ -6796,8 +6796,8 @@ }, { "name" : "asynchronousMode", - "value" : "true", - "type" : "Boolean" + "type" : "Boolean", + "value" : "true" }, { "name" : "priority", @@ -6827,12 +6827,12 @@ { "name" : "postExecution", "type" : "JavaScript", - "value" : "function f() {\n \n if(lastUpdated[0])\n $(\u0027#lastUpdatedValue\u0027).html(lastUpdated[0][0]);\n else\n $(\u0027#lastUpdatedValue\u0027).html(\u0027No data found\u0027);\n} " + "value" : "" }, { "name" : "postFetch", "type" : "JavaScript", - "value" : " " + "value" : " function f(data) { \r\n if(data.resultset.length !== 0)\r\n $(\u0027#lastUpdatedValue\u0027).html(new Date(data.resultset[0][0]));\r\n else\r\n $(\u0027#lastUpdatedValue\u0027).html(\u0027No data found\u0027);\r\n} " }, { "name" : "preChange", @@ -6870,7 +6870,7 @@ { "name" : "listeners", "type" : "Listeners", - "value" : "[\u0027${p:PENTAHO_ROLES}\u0027,\u0027${p:PENTAHO_USER}\u0027,\u0027${p:PENTAHO_PORT}\u0027,\u0027${p:PENTAHO_HOST}\u0027]" + "value" : "[\u0022${p:PENTAHO_ROLES}\u0022,\u0022${p:PENTAHO_USER}\u0022,\u0022${p:PENTAHO_PORT}\u0022,\u0022${p:PENTAHO_HOST}\u0022]" }, { "name" : "actionParameters", @@ -6880,7 +6880,7 @@ { "name" : "expression", "type" : "JavaScript", - "value" : "function action(){\n PENTAHO_HOST = window.location.hostname;\n PENTAHO_PORT = window.location.port;\n PENTAHO_ROLES = Dashboards.context.roles;\n PENTAHO_USER = Dashboards.context.user;\n Dashboards.incrementRunningCalls(); \n} " + "value" : "function action(){\n var dash = this.dashboard;\n PENTAHO_HOST = window.location.hostname;\n PENTAHO_PORT = window.location.port;\n PENTAHO_ROLES = dash.context.roles;\n PENTAHO_USER = dash.context.user;\n dash.incrementRunningCalls(); \n} " }, { "name" : "failureCallback", @@ -6890,12 +6890,12 @@ { "name" : "successCallback", "type" : "JavaScript", - "value" : "function success(){\n $.ajax({\n url: \u0022/pentaho/api/system/refresh/mondrianSchemaCache\u0022,\n type: \u0022GET\u0022,\n cache: false\n }).done(function( data ) {\n Dashboards.fireChange(\u0027lastUpdated\u0027, \u0027\u0027);\n Dashboards.decrementRunningCalls();\n }); \n} " + "value" : "function success(){\n //parameters\n var me = this;\n var dash = me.dashboard;\n $.ajax({\n url: \u0022/pentaho/api/system/refresh/mondrianSchemaCache\u0022,\n type: \u0022GET\u0022,\n cache: false\n }).done(function(data) {\n dash.fireChange(\u0027lastUpdated\u0027, data);\n dash.decrementRunningCalls();\n }); \n} " }, { "name" : "dataSource", - "value" : "", - "type" : "Datasource" + "type" : "Datasource", + "value" : "dsRefresh" }, { "name" : "priority", @@ -6930,7 +6930,7 @@ { "name" : "postExecution", "type" : "JavaScript", - "value" : "function f(){ \n $(\u0027#\u0027+this.htmlObject+\u0027 button\u0027).addClass(\u0027btn-md\u0027);\n $(\u0027#\u0027+this.htmlObject+\u0027 button\u0027).html(\u0027\u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\u0027);\n} " + "value" : "function f(){ \n $(\u0027#\u0027+this.htmlObject+\u0027 button\u0027).addClass(\u0027btn-md\u0027);\n $(\u0027#\u0027+this.htmlObject+\u0027 button\u0027).html(\u0027\u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\u0027);\n $(\u0027#\u0027+this.htmlObject+\u0027 button\u0027).css({\n \u0027background-color\u0027: \u0027white\u0027,\n \u0027padding\u0027:\u00276px 12px 6px 12px\u0027,\n \u0027border-width\u0027:\u00271px\u0027,\n \u0027border-color\u0027:\u0027#ccc\u0027,\n \u0027border-style\u0027:\u0027solid\u0027\n });\n} " }, { "name" : "tooltip", @@ -6974,18 +6974,18 @@ "typeDesc" : "JavaScript function" }, { - "id" : "f059dafe-af41-abb0-0e8d-ce4c42da041f", + "id" : "36eda744-4c14-8e37-390d-6094b3fc3169", "parent" : "SCRIPT", "properties" : [ { "name" : "name", "type" : "Id", - "value" : "publishSchema" + "value" : "verifyInstallation" }, { "name" : "javaScript", "type" : "JavaScript", - "value" : "function publishSchema(){\n var fd = new FormData(); \n fd.append( \u0027catalogName\u0027, \u0022Pentaho CE Audit\u0022 ); \n fd.append( \u0027overwrite\u0027, \u0022true\u0022 );\n fd.append( \u0027xmlaEnabledFlag\u0027, \u0022true\u0022 );\n fd.append( \u0027parameters\u0027, \u0022DataSource=Hibernate\u0022 );\n fd.append(\u0027uploadAnalysis\u0027,\u0027\u003CSchema name=\u0022Pentaho CE Audit\u0022\u003E \u003CCube name=\u0022Pentaho CE Audit\u0022 visible=\u0022true\u0022 cache=\u0022true\u0022 enabled=\u0022true\u0022\u003E \u003CTable name=\u0022PENTAHO_CE_AUDIT\u0022\u003E \u003C/Table\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Period\u0022\u003E \u003CHierarchy name=\u0022Period\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Year\u0022 visible=\u0022true\u0022 column=\u0022YEAR\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Month\u0022 visible=\u0022true\u0022 column=\u0022MONTH_DESC\u0022 ordinalColumn=\u0022MONTH\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Day of Week\u0022 visible=\u0022true\u0022 column=\u0022DAY_WEEK_DESC\u0022 ordinalColumn=\u0022DAY_WEEK\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Day\u0022 visible=\u0022true\u0022 column=\u0022DAY\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Time\u0022\u003E \u003CHierarchy name=\u0022Time\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022AM or PM\u0022 visible=\u0022true\u0022 column=\u0022AM_PM\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Hour\u0022 visible=\u0022true\u0022 column=\u0022HOURS24\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Hour 12\u0022 visible=\u0022true\u0022 column=\u0022HOURS12\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Minutes\u0022 visible=\u0022true\u0022 column=\u0022MINUTES\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Seconds\u0022 visible=\u0022true\u0022 column=\u0022SECONDS\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022Time\u0022 visible=\u0022true\u0022 column=\u0022TIME\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022User\u0022\u003E \u003CHierarchy name=\u0022User\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022User\u0022 visible=\u0022true\u0022 column=\u0022USER\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Plugin\u0022\u003E \u003CHierarchy name=\u0022Plugin\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Plugin\u0022 visible=\u0022true\u0022 column=\u0022PLUGIN\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022File\u0022\u003E \u003CHierarchy name=\u0022File\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Directory Path\u0022 visible=\u0022false\u0022 column=\u0022DIRECTORY\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003CLevel name=\u0022File\u0022 visible=\u0022true\u0022 column=\u0022FILE\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Type\u0022\u003E \u003CHierarchy name=\u0022Type\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Type\u0022 visible=\u0022true\u0022 column=\u0022TYPE\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022true\u0022 highCardinality=\u0022false\u0022 name=\u0022Role\u0022\u003E \u003CHierarchy name=\u0022Role\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Role\u0022 visible=\u0022true\u0022 column=\u0022ROLE\u0022 type=\u0022String\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CDimension type=\u0022StandardDimension\u0022 visible=\u0022false\u0022 highCardinality=\u0022false\u0022 name=\u0022Year\u0022\u003E \u003CHierarchy name=\u0022Year\u0022 visible=\u0022true\u0022 hasAll=\u0022true\u0022 allMemberName=\u0022All\u0022\u003E \u003CLevel name=\u0022Year\u0022 visible=\u0022true\u0022 column=\u0022YEAR\u0022 type=\u0022Integer\u0022 uniqueMembers=\u0022false\u0022 levelType=\u0022Regular\u0022 hideMemberIf=\u0022Never\u0022\u003E \u003C/Level\u003E \u003C/Hierarchy\u003E \u003C/Dimension\u003E \u003CMeasure name=\u0022Quantity\u0022 column=\u0022DATA\u0022 datatype=\u0022String\u0022 formatString=\u0022#,###\u0022 aggregator=\u0022distinct count\u0022 visible=\u0022true\u0022\u003E \u003C/Measure\u003E \u003CMeasure name=\u0022Duration\u0022 column=\u0022DURATION\u0022 datatype=\u0022Numeric\u0022 formatString=\u0022#,###\u0022 aggregator=\u0022sum\u0022 visible=\u0022true\u0022\u003E \u003C/Measure\u003E \u003CMeasure name=\u0022Duration Average\u0022 column=\u0022DURATION\u0022 datatype=\u0022Numeric\u0022 formatString=\u0022#,###\u0022 aggregator=\u0022avg\u0022 visible=\u0022true\u0022\u003E \u003C/Measure\u003E \u003C/Cube\u003E \u003C/Schema\u003E\u0027);\n \n $.ajax( {\n url: \u0027/pentaho/plugin/data-access/api/mondrian/postAnalysis\u0027,\n type: \u0027POST\u0027,\n async: false,\n data: fd,\n processData: false,\n contentType: false\n ,success: function( publish ) {\n if(publish==3){\n var html_msg=\u0027\u003Cdiv class=\u0022alert alert-success\u0022 role=\u0022alert\u0022\u003E\u0027+\n \u0027\u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u0027+\n \u0027\u003C/div\u003E\u0027+\n \u0027\u003Chr\u003E\u0027+\n \u0027\u003Cdiv class=\u0022row\u0022\u003E\u0027+\n \u0027\u003Cp class=\u0022alert alert-danger\u0022\u003E\u0027+\n \u0027This plug-in applied automatically an Environment configuration, if you want to know more about it please visit the link\u0027+\n \u0027\u003Ca target=\u0022no_blank\u0022 href=\u0022http://infocenter.pentaho.com/help48/index.jsp?topic=%2Fadmin_guide%2Ftask_switching_to_file_based_logging.html\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon glyphicon-new-window\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\u0027+\n \u0027\u003C/a\u003E\u0027+\n \u0027\u003C/p\u003E\u0027+\n \u0027\u003C/div\u003E\u0027;\n \n $(\u0022#modal-body\u0022).html(html_msg); \n }else if(publish==2){\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003EError publish the schema\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg);\n }else{\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003EError undefined\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n }\n }\n }); \n} " + "value" : "$.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\u0022,\n cache: false\n}).done(function( data ) {\n if(!data.result){\n $(\u0027#myModal\u0027).modal(\u0027show\u0027);\n }else{ \n \n Dashboards.incrementRunningCalls(); \n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/get_metadata\u0022,\n cache: false\n }).done(function( data ) {\n Dashboards.decrementRunningCalls();\n if(data.queryInfo.totalRows\u003E0)\n Dashboards.update(\n [render_BarChartTop10UsersByExecution\n ,render_BarChartTop10UsersByLogin\n ,render_LineChartExecutionByHours\n ,render_BarChartExecutionsByDayOfWeek\n ,render_Table\n ,render_filterYearSelectorMobile\n ,render_filterYearSelectorDesktop\n ,render_BarChartTop10UsersByExecutionExport\n ,render_BarChartTop10UsersByLoginExport]);\n });\n \n }\n}); \n " } ], "type" : "ComponentsFunction", @@ -7010,18 +7010,18 @@ "typeDesc" : "JavaScript function" }, { - "id" : "36eda744-4c14-8e37-390d-6094b3fc3169", + "id" : "f059dafe-af41-abb0-0e8d-ce4c42da041f", "parent" : "SCRIPT", "properties" : [ { "name" : "name", "type" : "Id", - "value" : "verifyInstallation" + "value" : "publishSchema" }, { "name" : "javaScript", "type" : "JavaScript", - "value" : "$.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\u0022,\n cache: false\n}).done(function( data ) {\n if(!data.result){\n $(\u0027#myModal\u0027).modal(\u0027show\u0027);\n }else{ \n \n Dashboards.incrementRunningCalls(); \n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/get_metadata\u0022,\n cache: false\n }).done(function( data ) {\n Dashboards.decrementRunningCalls();\n if(data.queryInfo.totalRows\u003E0)\n Dashboards.update(\n [render_BarChartTop10UsersByExecution\n ,render_BarChartTop10UsersByLogin\n ,render_LineChartExecutionByHours\n ,render_BarChartExecutionsByDayOfWeek\n ,render_Table\n ,render_filterYearSelectorMobile\n ,render_filterYearSelectorDesktop\n ,render_BarChartTop10UsersByExecutionExport\n ,render_BarChartTop10UsersByLoginExport]);\n });\n \n }\n}); \n " + "value" : "//https://github.com/Ibby-B : 02/July/2021\r\n//automatically installs the Mondrian Analysis schema\r\n\r\nfunction publishSchema(){\r\n $.get(\r\n \u0027/pentaho/api/repos/pentaho-ce-audit/schemas/pentahoCEAudit.mondrian.xml\u0027\r\n ,function(data){publishSchemaXML(data);}\r\n );\r\n}\r\nfunction publishSchemaXML(data){\r\n var html_msg = \u0022\u0022;\r\n var file = new File([data.documentElement.outerHTML], \u0027pentahoCEAudit.mondrian.xml\u0027);\r\n var fd = new FormData(); \r\n //fd.append( \u0027catalogName\u0027, \u0022Pentaho CE Audit\u0022 ); \r\n fd.append( \u0027overwrite\u0027, \u0022true\u0022 );\r\n fd.append( \u0027xmlaEnabledFlag\u0027, \u0022true\u0022 );\r\n fd.append( \u0027parameters\u0027, \u0022DataSource=Hibernate\u0022 );\r\n fd.append( \u0027uploadInput\u0027,file );\r\n \r\n $.ajax( {\r\n url: \u0027/pentaho/plugin/data-access/api/datasource/analysis/catalog/Pentaho%20CE%20Audit\u0027,\r\n method: \u0027PUT\u0027,\r\n async: false,\r\n data: fd,\r\n processData: false,\r\n contentType: false,\r\n statusCode: {\r\n 200: function(data, textStatus, xhr) {\r\n html_msg=\r\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\r\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\r\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\r\n \u0027\u003C/div\u003E\u0027; \r\n $(\u0022#modal-body\u0022).html(html_msg);\r\n },\r\n 201: function(data, textStatus, xhr) {\r\n html_msg=\r\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\r\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\r\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\r\n \u0027\u003C/div\u003E\u0027; \r\n $(\u0022#modal-body\u0022).html(html_msg);\r\n setTimeout(function(){reloadDash();},5000);\r\n },\r\n 401: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 403: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 409: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 412: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 500: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n }\r\n }); \r\n} " } ], "type" : "ComponentsFunction", @@ -7109,8 +7109,8 @@ }, { "name" : "cacheKeys", - "value" : "[]", - "type" : "CacheKeysValues" + "type" : "CacheKeysValues", + "value" : "[]" }, { "name" : "cacheDuration", @@ -7190,8 +7190,8 @@ }, { "name" : "cacheKeys", - "value" : "[]", - "type" : "CacheKeysValues" + "type" : "CacheKeysValues", + "value" : "[]" }, { "name" : "cacheDuration", @@ -7271,8 +7271,8 @@ }, { "name" : "cacheKeys", - "value" : "[]", - "type" : "CacheKeysValues" + "type" : "CacheKeysValues", + "value" : "[]" }, { "name" : "cacheDuration", @@ -7352,8 +7352,8 @@ }, { "name" : "cacheKeys", - "value" : "[]", - "type" : "CacheKeysValues" + "type" : "CacheKeysValues", + "value" : "[]" }, { "name" : "cacheDuration", @@ -7433,8 +7433,8 @@ }, { "name" : "cacheKeys", - "value" : "[]", - "type" : "CacheKeysValues" + "type" : "CacheKeysValues", + "value" : "[]" }, { "name" : "cacheDuration", @@ -7514,8 +7514,8 @@ }, { "name" : "cacheKeys", - "value" : "[]", - "type" : "CacheKeysValues" + "type" : "CacheKeysValues", + "value" : "[]" }, { "name" : "cacheDuration", @@ -7595,8 +7595,8 @@ }, { "name" : "cacheKeys", - "value" : "[]", - "type" : "CacheKeysValues" + "type" : "CacheKeysValues", + "value" : "[]" }, { "name" : "cacheDuration", @@ -7825,7 +7825,7 @@ { "name" : "html", "type" : "Html", - "value" : "\u003Cdiv class=\u0022pull-right\u0022\u003E \n \u003Clabel\u003ELast Updated:\u003C/label\u003E \n \u003Cspan class=\u0022badge\u0022\u003E\n \u003Cdiv id=\u0022lastUpdatedValue\u0022\u003E\u003C/div\u003E\n \u003C/span\u003E\n\u003C/div\u003E\n \n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-right:5px;\u0022\u003E\n \u003C!-- \u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E--\u003E\n \u003Cdiv id=\u0022refreshButtonDiv\u0022\u003E\u003C/div\u003E\n\u003C/div\u003E\n\u003Cbr\u003E\n\n\u003Chr\u003E\n\n\u003Cdiv class=\u0022col-md-12\u0022 style=\u0022height: 30px\u0022\u003E\n\n \u003Cdiv id=\u0022filterYear-div-mobile\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n \u003Cdiv id=\u0022filterYear-div-desktop\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n\u003C/div\u003E\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByExecutionExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart01-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Login(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart02-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Day of the Week\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonExecutionsByDayOfWeekExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart03-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Hour\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart04-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\n\u003Cdiv class=\u0022col-md-12\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv id=\u0022table-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E \n\u003C/div\u003E\n\u003C/div\u003E \n\n\u003Cdiv id=\u0022footer\u0022 class=\u0022col-sm-12\u0022\u003E\n \u003Chr\u003E\n \u003Cdiv class=\u0022container\u0022\u003E\n \u003Cp class=\u0022text-muted credit\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022\u003E\n Powered by\n \u003Ca href=\u0022http://it4biz.com.br\u0022 target=\u0022no_blank\u0022 title=\u0022IT4biz IT Solutions\u0022\u003E\n \u003Cimg \n src=\u0022../../../api/repos/pentaho-ce-audit/static/custom/img/logo.png\u0022\n \u003E\n \u003C/a\u003E \n \u003C/div\u003E\n \u003Cdiv\u003E\n \u003Clabel\u003EPlease help us do more, with just a \u0022Like\u0022 on our Facebook page\u003C/label\u003E\u003Cbr\u003E \n \u003Cdiv\n class=\u0022fb-like\u0022 \n data-href=\u0022https://www.facebook.com/it4biz\u0022 \n data-layout=\u0022button\u0022 \n data-action=\u0022like\u0022 \n data-show-faces=\u0022true\u0022 \n data-share=\u0022true\u0022\u003E \n \u003C/div\u003E\u003Cbr\u003E\n \u003Clabel\u003Eor follow us on twitter\u003C/label\u003E\u003Cbr\u003E\n \u003Ca \n class=\u0022twitter-hashtag-button\u0022\n href=\u0022https://twitter.com/intent/tweet?button_hashtag=PentahoCEAudit\u0026text=I have installed Pentaho CE Audit from @it4bizbrazil. You should try it on @pentaho Marketplace.\u0022\n data-related=\u0022twitter\u0022\u003E\n Tweet #PentahoCEAudit\n \u003C/a\u003E\n \u003Ca \n class=\u0022twitter-follow-button\u0022\n href=\u0022https://twitter.com/it4bizbrazil\u0022\n data-show-count=\u0022false\u0022\n data-lang=\u0022en\u0022\u003E\n Follow @it4bizbrazil\n \u003C/a\u003E\n \u003C/div\u003E\n \u003C/p\u003E\n \n \u003C/div\u003E \n\u003C/div\u003E " + "value" : "\u003Cbr\u003E\n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-top:5px;\u0022\u003E \n \u003Clabel\u003ELast Updated:\u003C/label\u003E \n \u003Cspan class=\u0022badge\u0022\u003E\n \u003Cdiv id=\u0022lastUpdatedValue\u0022\u003E\u003C/div\u003E\n \u003C/span\u003E\n\u003C/div\u003E\n \n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-right:5px;\u0022\u003E\n \u003C!-- \u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E--\u003E\n \u003Cdiv id=\u0022refreshButtonDiv\u0022\u003E\u003C/div\u003E\n\u003C/div\u003E\n\u003Cbr\u003E\n\n\u003Chr\u003E\n\n\u003Cdiv class=\u0022col-md-12\u0022 style=\u0022height: 30px\u0022\u003E\n\n \u003Cdiv id=\u0022filterYear-div-mobile\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n \u003Cdiv id=\u0022filterYear-div-desktop\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n\u003C/div\u003E\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByExecutionExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart01-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Login(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart02-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Day of the Week\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonExecutionsByDayOfWeekExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart03-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Hour\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart04-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\n\u003Cdiv class=\u0022col-md-12\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv id=\u0022table-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E \n\u003C/div\u003E\n\u003C/div\u003E \n\n\u003Cdiv id=\u0022footer\u0022 class=\u0022col-sm-12\u0022\u003E\n \u003Chr\u003E\n \u003Cdiv class=\u0022container\u0022\u003E\n \u003Cp class=\u0022text-muted credit\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022\u003E\n Powered by\n \u003Ca href=\u0022http://it4biz.com.br\u0022 target=\u0022no_blank\u0022 title=\u0022IT4biz IT Solutions\u0022\u003E\n \u003Cimg \n src=\u0022../../../api/repos/pentaho-ce-audit/static/custom/img/logo.png\u0022\n \u003E\n \u003C/a\u003E \n \u003C/div\u003E\n \u003Cdiv\u003E\n \u003Clabel\u003EPlease help us do more, with just a \u0022Like\u0022 on our Facebook page\u003C/label\u003E\u003Cbr\u003E \n \u003Cdiv\n class=\u0022fb-like\u0022 \n data-href=\u0022https://www.facebook.com/it4biz\u0022 \n data-layout=\u0022button\u0022 \n data-action=\u0022like\u0022 \n data-show-faces=\u0022true\u0022 \n data-share=\u0022true\u0022\u003E \n \u003C/div\u003E\u003Cbr\u003E\n \u003Clabel\u003Eor follow us on twitter\u003C/label\u003E\u003Cbr\u003E\n \u003Ca \n class=\u0022twitter-hashtag-button\u0022\n href=\u0022https://twitter.com/intent/tweet?button_hashtag=PentahoCEAudit\u0026text=I have installed Pentaho CE Audit from @it4bizbrazil. You should try it on @pentaho Marketplace.\u0022\n data-related=\u0022twitter\u0022\u003E\n Tweet #PentahoCEAudit\n \u003C/a\u003E\n \u003Ca \n class=\u0022twitter-follow-button\u0022\n href=\u0022https://twitter.com/it4bizbrazil\u0022\n data-show-count=\u0022false\u0022\n data-lang=\u0022en\u0022\u003E\n Follow @it4bizbrazil\n \u003C/a\u003E\n \u003C/div\u003E\n \u003C/p\u003E\n \n \u003C/div\u003E \n\u003C/div\u003E " }, { "name" : "fontSize", From 7b75e078dfb93b68c37e6b74f4290ddfdca64ed7 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Fri, 2 Jul 2021 20:22:02 +0100 Subject: [PATCH 20/21] Pentaho 9.1 compatibility --- dashboards/admin/dashboard.cdfde | 84 ++++---------------------------- dashboards/admin/dashboard.wcdf | 2 +- 2 files changed, 11 insertions(+), 75 deletions(-) diff --git a/dashboards/admin/dashboard.cdfde b/dashboards/admin/dashboard.cdfde index f3b8774..2823a92 100644 --- a/dashboards/admin/dashboard.cdfde +++ b/dashboards/admin/dashboard.cdfde @@ -1787,7 +1787,7 @@ { "name" : "clickable", "type" : "Boolean", - "value" : false + "value" : "false" }, { "name" : "clickAction", @@ -2487,17 +2487,17 @@ { "name" : "plot2ColorAxis", "type" : "Float", - "value" : 2 + "value" : "2" }, { "name" : "plot2DotsVisible", "type" : "Boolean", - "value" : true + "value" : "true" }, { "name" : "plot2LinesVisible", "type" : "Boolean", - "value" : true + "value" : "true" }, { "name" : "plot2NullInterpolationMode", @@ -6955,24 +6955,6 @@ "type" : "Label", "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" }, - { - "id" : "2b8acc97-725a-8325-13e7-c01876a4a5b3", - "parent" : "SCRIPT", - "properties" : [ - { - "name" : "name", - "type" : "Id", - "value" : "leadForm" - }, - { - "name" : "javaScript", - "type" : "JavaScript", - "value" : "var validationFields={\n \u0022entry_513906374\u0022:false,\n \u0022entry_860105332\u0022:false,\n \u0022entry_1166092966\u0022:false,\n \u0022entry_1065748829\u0022: false,\n \u0022entry_238908962\u0022:false,\n \u0022entry_1511054935\u0022:false};\n \n$( \u0022#ss-form input[type=\u0027text\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n if(value){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022#ss-form input[type=\u0027email\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n var re = /^[a-zA-Z0-9.!#$%\u0026\u0027*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n var is_email=re.test(value);\n if(is_email){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022#ss-form input[type=\u0027number\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n var searchReg = /^[Z0-9-]+$/;\n var is_number=searchReg.test(value);\n if(is_number){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022select\u0022 ).change(function () {\n var value=$( \u0022select option:selected\u0022).val();\n var id=$( this ).attr(\u0027id\u0027);\n var select=$(this);\n if(value!=\u0027Select a country\u0027){\n addSuccessStatus(select);\n validationFields[id]=true;\n }else{\n addErrorStatus(select);\n validationFields[id]=false;\n }\n testForm();\n});\n \nfunction isValidForm(){\n if( validationFields[\u0022entry_513906374\u0022]==true \u0026\u0026\n validationFields[\u0022entry_860105332\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1166092966\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1065748829\u0022]==true \u0026\u0026\n validationFields[\u0022entry_238908962\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1511054935\u0022]==true)\n return true;\n else\n return false;\n}\nfunction testForm(){\n if(isValidForm())\n $(\u0027#ss-submit\u0027).removeAttr(\u0027disabled\u0027);\n else\n $(\u0027#ss-submit\u0027).attr(\u0027disabled\u0027, \u0027disabled\u0027);\n}\n\nfunction sentForm(){\n installPlugin();\n}\n\nfunction addSuccessStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-success has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-ok\u0022);\n}\n\nfunction addWarningStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-warning has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-warning-sign\u0022);\n}\n\nfunction addErrorStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-error has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-remove\u0022);\n} " - } - ], - "type" : "ComponentsFunction", - "typeDesc" : "JavaScript function" - }, { "id" : "36eda744-4c14-8e37-390d-6094b3fc3169", "parent" : "SCRIPT", @@ -6985,7 +6967,7 @@ { "name" : "javaScript", "type" : "JavaScript", - "value" : "$.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\u0022,\n cache: false\n}).done(function( data ) {\n if(!data.result){\n $(\u0027#myModal\u0027).modal(\u0027show\u0027);\n }else{ \n \n Dashboards.incrementRunningCalls(); \n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/get_metadata\u0022,\n cache: false\n }).done(function( data ) {\n Dashboards.decrementRunningCalls();\n if(data.queryInfo.totalRows\u003E0)\n Dashboards.update(\n [render_BarChartTop10UsersByExecution\n ,render_BarChartTop10UsersByLogin\n ,render_LineChartExecutionByHours\n ,render_BarChartExecutionsByDayOfWeek\n ,render_Table\n ,render_filterYearSelectorMobile\n ,render_filterYearSelectorDesktop\n ,render_BarChartTop10UsersByExecutionExport\n ,render_BarChartTop10UsersByLoginExport]);\n });\n \n }\n}); \n " + "value" : "var dash = this.Dashboards\r\n$.ajax({\r\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\u0022,\r\n cache: false\r\n}).done(function( data ) {\r\n if(!data.result){\r\n $(\u0027#myModal\u0027).modal(\u0027show\u0027);\r\n installPlugin();\r\n }else{\r\n reloadDash();\r\n } \r\n \r\n}); \r\n\r\nfunction reloadDash(){\r\n dash.incrementRunningCalls(); \r\n $.ajax({\r\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/get_metadata\u0022,\r\n cache: false\r\n }).done(function( data ) {\r\n dash.decrementRunningCalls();\r\n if(data.queryInfo.totalRows\u003E0)\r\n dash.update(\r\n [render_BarChartTop10UsersByExecution\r\n ,render_BarChartTop10UsersByLogin\r\n ,render_LineChartExecutionByHours\r\n ,render_BarChartExecutionsByDayOfWeek\r\n ,render_Table\r\n ,render_filterYearSelectorMobile\r\n ,render_filterYearSelectorDesktop\r\n ,render_BarChartTop10UsersByExecutionExport\r\n ,render_BarChartTop10UsersByLoginExport]);\r\n }); \r\n} " } ], "type" : "ComponentsFunction", @@ -7003,7 +6985,7 @@ { "name" : "javaScript", "type" : "JavaScript", - "value" : "function installPlugin(){\n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_install\u0022,\n cache: false\n }).done(function( data ) {\n if(data.result){\n publishSchema(); \n }else{\n var msgHtml=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+\n \u0027\u003Cb\u003EInstallation has a problem!\u003C/b\u003E please contanct us.\u0027+\n \u0027\u003C/div\u003E\u0027+\n \u0027\u003Chr\u003E\u0027+\n \u0027\u003Clabel\u003Einfo@it4biz.com.br\u003C/label\u003E\u0027;\n $(\u0022#modal-body\u0022).html(msgHtml); \n }\n }); \n} \n " + "value" : "function installPlugin(){\n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_install\u0022,\n cache: false\n }).done(function( data ) {\n if(data.result){\n publishSchema(); \n }else{\n var msgHtml=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+\n \u0027\u003Cb\u003EInstallation has a problem!\u003C/b\u003E please raise an issue on the github repo.\u0027+\n \u0027\u003C/div\u003E\u0027+\n \u0027\u003Chr\u003E\u0027+\n \u0027\u003Clabel\u003Ehttps://github.com/it4biz/pentaho-ce-audit\u003C/label\u003E\u0027;\n $(\u0022#modal-body\u0022).html(msgHtml); \n }\n }); \n} \n " } ], "type" : "ComponentsFunction", @@ -7021,7 +7003,7 @@ { "name" : "javaScript", "type" : "JavaScript", - "value" : "//https://github.com/Ibby-B : 02/July/2021\r\n//automatically installs the Mondrian Analysis schema\r\n\r\nfunction publishSchema(){\r\n $.get(\r\n \u0027/pentaho/api/repos/pentaho-ce-audit/schemas/pentahoCEAudit.mondrian.xml\u0027\r\n ,function(data){publishSchemaXML(data);}\r\n );\r\n}\r\nfunction publishSchemaXML(data){\r\n var html_msg = \u0022\u0022;\r\n var file = new File([data.documentElement.outerHTML], \u0027pentahoCEAudit.mondrian.xml\u0027);\r\n var fd = new FormData(); \r\n //fd.append( \u0027catalogName\u0027, \u0022Pentaho CE Audit\u0022 ); \r\n fd.append( \u0027overwrite\u0027, \u0022true\u0022 );\r\n fd.append( \u0027xmlaEnabledFlag\u0027, \u0022true\u0022 );\r\n fd.append( \u0027parameters\u0027, \u0022DataSource=Hibernate\u0022 );\r\n fd.append( \u0027uploadInput\u0027,file );\r\n \r\n $.ajax( {\r\n url: \u0027/pentaho/plugin/data-access/api/datasource/analysis/catalog/Pentaho%20CE%20Audit\u0027,\r\n method: \u0027PUT\u0027,\r\n async: false,\r\n data: fd,\r\n processData: false,\r\n contentType: false,\r\n statusCode: {\r\n 200: function(data, textStatus, xhr) {\r\n html_msg=\r\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\r\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\r\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\r\n \u0027\u003C/div\u003E\u0027; \r\n $(\u0022#modal-body\u0022).html(html_msg);\r\n },\r\n 201: function(data, textStatus, xhr) {\r\n html_msg=\r\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\r\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\r\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\r\n \u0027\u003C/div\u003E\u0027; \r\n $(\u0022#modal-body\u0022).html(html_msg);\r\n setTimeout(function(){reloadDash();},5000);\r\n },\r\n 401: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 403: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 409: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 412: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 500: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n }\r\n }); \r\n} " + "value" : "function publishSchema(){\n $.get(\n \u0027/pentaho/api/repos/pentaho-ce-audit/schemas/pentahoCEAudit.mondrian.xml\u0027\n ,function(data){publishSchemaXML(data);}\n );\n}\nfunction publishSchemaXML(data){\n var html_msg = \u0022\u0022;\n var file = new File([data.documentElement.outerHTML], \u0027pentahoCEAudit.mondrian.xml\u0027);\n var fd = new FormData(); \n //fd.append( \u0027catalogName\u0027, \u0022Pentaho CE Audit\u0022 ); \n fd.append( \u0027overwrite\u0027, \u0022true\u0022 );\n fd.append( \u0027xmlaEnabledFlag\u0027, \u0022true\u0022 );\n fd.append( \u0027parameters\u0027, \u0022DataSource=Hibernate\u0022 );\n fd.append( \u0027uploadInput\u0027,file );\n \n $.ajax( {\n url: \u0027/pentaho/plugin/data-access/api/datasource/analysis/catalog/Pentaho%20CE%20Audit\u0027,\n method: \u0027PUT\u0027,\n async: false,\n data: fd,\n processData: false,\n contentType: false,\n statusCode: {\n 200: function(data, textStatus, xhr) {\n html_msg=\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\n \u0027\u003C/div\u003E\u0027; \n $(\u0022#modal-body\u0022).html(html_msg);\n },\n 201: function(data, textStatus, xhr) {\n html_msg=\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\n \u0027\u003C/div\u003E\u0027; \n $(\u0022#modal-body\u0022).html(html_msg);\n setTimeout(function(){reloadDash();},5000);\n },\n 401: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 403: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 409: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 412: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 500: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n }\n }); \n} " } ], "type" : "ComponentsFunction", @@ -7680,7 +7662,7 @@ } ] }, - "filename" : "/home/ifds-emea-ssncf28cb02c-c703-4754-a69b-cb242fc297c0/dashboard.cdfde", + "filename" : "home/ifds-emea-ssncf28cb02c-c703-4754-a69b-cb242fc297c0/dashboard.wcdf", "layout" : { "rows" : [ { @@ -7706,52 +7688,6 @@ "type" : "LayoutResourceCode", "typeDesc" : "Resource" }, - { - "id" : "7a5ba60f-36cc-8599-1d40-fa8072a7081f", - "parent" : "UnIqEiD", - "properties" : [ - { - "name" : "name", - "type" : "Id", - "value" : "TwitterCode" - }, - { - "name" : "resourceCode", - "type" : "Resource", - "value" : "//hashtag buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\u0022https://platform.twitter.com/widgets.js\u0022;fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\u0022script\u0022,\u0022twitter-wjs\u0022)); \n\n////follow buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\u0022https://platform.twitter.com/widgets.js\u0022;fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\u0022script\u0022,\u0022twitter-wjs\u0022)); " - }, - { - "name" : "resourceType", - "type" : "Label", - "value" : "Javascript" - } - ], - "type" : "LayoutResourceCode", - "typeDesc" : "Resource" - }, - { - "id" : "7d418342-2cee-2cc7-34ee-1caa112cbdaa", - "parent" : "UnIqEiD", - "properties" : [ - { - "name" : "name", - "type" : "Id", - "value" : "FacebookCode" - }, - { - "name" : "resourceCode", - "type" : "Resource", - "value" : "(function(d, s, id) {\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) return;\n js = d.createElement(s); js.id = id;\n js.src = \u0022//connect.facebook.net/pt_BR/sdk.js#xfbml=1\u0026version=v2.0\u0022;\n fjs.parentNode.insertBefore(js, fjs);\n}(document, \u0027script\u0027, \u0027facebook-jssdk\u0027)); " - }, - { - "name" : "resourceType", - "type" : "Label", - "value" : "Javascript" - } - ], - "type" : "LayoutResourceCode", - "typeDesc" : "Resource" - }, { "id" : "4ab17cf8-41bd-67e8-2b2c-6e71aa306efd", "parent" : "UnIqEiD", @@ -7825,7 +7761,7 @@ { "name" : "html", "type" : "Html", - "value" : "\u003Cbr\u003E\n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-top:5px;\u0022\u003E \n \u003Clabel\u003ELast Updated:\u003C/label\u003E \n \u003Cspan class=\u0022badge\u0022\u003E\n \u003Cdiv id=\u0022lastUpdatedValue\u0022\u003E\u003C/div\u003E\n \u003C/span\u003E\n\u003C/div\u003E\n \n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-right:5px;\u0022\u003E\n \u003C!-- \u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E--\u003E\n \u003Cdiv id=\u0022refreshButtonDiv\u0022\u003E\u003C/div\u003E\n\u003C/div\u003E\n\u003Cbr\u003E\n\n\u003Chr\u003E\n\n\u003Cdiv class=\u0022col-md-12\u0022 style=\u0022height: 30px\u0022\u003E\n\n \u003Cdiv id=\u0022filterYear-div-mobile\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n \u003Cdiv id=\u0022filterYear-div-desktop\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n\u003C/div\u003E\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByExecutionExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart01-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Login(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart02-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Day of the Week\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonExecutionsByDayOfWeekExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart03-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Hour\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart04-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\n\u003Cdiv class=\u0022col-md-12\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv id=\u0022table-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E \n\u003C/div\u003E\n\u003C/div\u003E \n\n\u003Cdiv id=\u0022footer\u0022 class=\u0022col-sm-12\u0022\u003E\n \u003Chr\u003E\n \u003Cdiv class=\u0022container\u0022\u003E\n \u003Cp class=\u0022text-muted credit\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022\u003E\n Powered by\n \u003Ca href=\u0022http://it4biz.com.br\u0022 target=\u0022no_blank\u0022 title=\u0022IT4biz IT Solutions\u0022\u003E\n \u003Cimg \n src=\u0022../../../api/repos/pentaho-ce-audit/static/custom/img/logo.png\u0022\n \u003E\n \u003C/a\u003E \n \u003C/div\u003E\n \u003Cdiv\u003E\n \u003Clabel\u003EPlease help us do more, with just a \u0022Like\u0022 on our Facebook page\u003C/label\u003E\u003Cbr\u003E \n \u003Cdiv\n class=\u0022fb-like\u0022 \n data-href=\u0022https://www.facebook.com/it4biz\u0022 \n data-layout=\u0022button\u0022 \n data-action=\u0022like\u0022 \n data-show-faces=\u0022true\u0022 \n data-share=\u0022true\u0022\u003E \n \u003C/div\u003E\u003Cbr\u003E\n \u003Clabel\u003Eor follow us on twitter\u003C/label\u003E\u003Cbr\u003E\n \u003Ca \n class=\u0022twitter-hashtag-button\u0022\n href=\u0022https://twitter.com/intent/tweet?button_hashtag=PentahoCEAudit\u0026text=I have installed Pentaho CE Audit from @it4bizbrazil. You should try it on @pentaho Marketplace.\u0022\n data-related=\u0022twitter\u0022\u003E\n Tweet #PentahoCEAudit\n \u003C/a\u003E\n \u003Ca \n class=\u0022twitter-follow-button\u0022\n href=\u0022https://twitter.com/it4bizbrazil\u0022\n data-show-count=\u0022false\u0022\n data-lang=\u0022en\u0022\u003E\n Follow @it4bizbrazil\n \u003C/a\u003E\n \u003C/div\u003E\n \u003C/p\u003E\n \n \u003C/div\u003E \n\u003C/div\u003E " + "value" : "\u003Cbr\u003E\n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-top:5px;\u0022\u003E \n \u003Clabel\u003ELast Updated:\u003C/label\u003E \n \u003Cspan class=\u0022badge\u0022\u003E\n \u003Cdiv id=\u0022lastUpdatedValue\u0022\u003E\u003C/div\u003E\n \u003C/span\u003E\n\u003C/div\u003E\n \n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-right:5px;\u0022\u003E\n \u003C!-- \u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E--\u003E\n \u003Cdiv id=\u0022refreshButtonDiv\u0022\u003E\u003C/div\u003E\n\u003C/div\u003E\n\u003Cbr\u003E\n\n\u003Chr\u003E\n\n\u003Cdiv class=\u0022col-md-12\u0022 style=\u0022height: 30px\u0022\u003E\n\n \u003Cdiv id=\u0022filterYear-div-mobile\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n \u003Cdiv id=\u0022filterYear-div-desktop\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n\u003C/div\u003E\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByExecutionExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart01-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Login(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart02-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Day of the Week\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonExecutionsByDayOfWeekExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart03-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Hour\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart04-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\n\u003Cdiv class=\u0022col-md-12\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv id=\u0022table-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E \n\u003C/div\u003E\n\u003C/div\u003E \n\n\u003Cdiv id=\u0022footer\u0022 class=\u0022col-sm-12\u0022\u003E\n \u003Chr\u003E\n \u003Cdiv class=\u0022container\u0022\u003E\n \u003Cp class=\u0022text-muted credit\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022\u003E\n Adapted from IT4biz IT Solutions for:\n \u003Cimg \n src=\u0022../../../api/repos/pentaho-ce-audit/static/custom/img/logo.png\u0022\n \u003E\n \u003C/div\u003E\n \u003C/p\u003E\n \u003C/div\u003E \n\u003C/div\u003E " }, { "name" : "fontSize", @@ -7896,7 +7832,7 @@ { "name" : "html", "type" : "Html", - "value" : "\u003C!-- Modal --\u003E\n\u003Cdiv class=\u0022modal fade\u0022 id=\u0022myModal\u0022 tabindex=\u0022-1\u0022 role=\u0022dialog\u0022 aria-labelledby=\u0022myModalLabel\u0022 aria-hidden=\u0022true\u0022\u003E\n \u003Cdiv class=\u0022modal-dialog modal-lg\u0022\u003E\n \u003Cdiv class=\u0022modal-content\u0022\u003E\n \u003Cdiv class=\u0022modal-header\u0022\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022close\u0022 data-dismiss=\u0022modal\u0022 aria-label=\u0022Close\u0022\u003E\u003Cspan aria-hidden=\u0022true\u0022\u003E\u0026times;\u003C/span\u003E\u003C/button\u003E\n \u003Ch4 class=\u0022modal-title\u0022 id=\u0022myModalLabel\u0022\u003EPentaho CE Audit - Installation\u003C/h4\u003E\n \u003C/div\u003E\n \u003Cdiv class=\u0022modal-body\u0022 id=\u0022modal-body\u0022\u003E\n \u003Cp\u003EPlease fill out the form below to complete the installation.\u003C/p\u003E\n\u003C!-- Form Google--\u003E \n\n\u003Cform action=\u0022https://docs.google.com/a/it4biz.com.br/forms/d/1VRhTeaezy4QU-WYHJv-b3vpVJzFkn133vLPLrCCOwik/formResponse\u0022 method=\u0022POST\u0022 id=\u0022ss-form\u0022 target=\u0022hidden_iframe\u0022\u003E\n \u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t \t\u003Clabel for=\u0022entry_513906374\u0022\u003EName\u003C/label\u003E\n\t \t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 id=\u0022entry_513906374\u0022 placeholder=\u0022Enter name\u0022 name=\u0022entry_513906374\u0022\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E \n \t\u003C/div\u003E\n \t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t \t\u003Clabel for=\u0022entry_860105332\u0022\u003ELast name\u003C/label\u003E\n\t \t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 id=\u0022entry_860105332\u0022 placeholder=\u0022Enter last name\u0022 name=\u0022entry_860105332\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E \n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\t\u003Clabel for=\u0022entry_1166092966\u0022\u003EEmail address\u003C/label\u003E\n \t\t\u003Cinput type=\u0022email\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter email\u0022 name=\u0022entry.1166092966\u0022 id=\u0022entry_1166092966\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\t\u003Clabel for=\u0022entry_1065748829\u0022\u003ECompany\u003C/label\u003E\n \t\t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter company\u0022 name=\u0022entry.1065748829\u0022 id=\u0022entry_1065748829\u0022\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t\t\u003Clabel for=\u0022entry_238908962\u0022\u003ECountry\u003C/label\u003E\n\t\t\u003Cselect name=\u0022entry.238908962\u0022 id=\u0022entry_238908962\u0022 class=\u0022form-control\u0022\u003E\n \u003Coption value=\u0022Select a country\u0022\u003ESelect a country\u003C/option\u003E\n \u003Coption value=\u0022Afghanistan\u0022\u003EAfghanistan\u003C/option\u003E\n \u003Coption value=\u0022Albania\u0022\u003EAlbania\u003C/option\u003E\n \u003Coption value=\u0022Algeria\u0022\u003EAlgeria\u003C/option\u003E\n \u003Coption value=\u0022Andorra\u0022\u003EAndorra\u003C/option\u003E\n \u003Coption value=\u0022Angola\u0022\u003EAngola\u003C/option\u003E\n \u003Coption value=\u0022Antigua and Barbuda\u0022\u003EAntigua and Barbuda\u003C/option\u003E\n \u003Coption value=\u0022Argentina\u0022\u003EArgentina\u003C/option\u003E\n \u003Coption value=\u0022Armenia\u0022\u003EArmenia\u003C/option\u003E\n \u003Coption value=\u0022Aruba\u0022\u003EAruba\u003C/option\u003E\n \u003Coption value=\u0022Australia\u0022\u003EAustralia\u003C/option\u003E\n \u003Coption value=\u0022Austria\u0022\u003EAustria\u003C/option\u003E\n \u003Coption value=\u0022Azerbaijan\u0022\u003EAzerbaijan\u003C/option\u003E\n \u003Coption value=\u0022Bahamas, The\u0022\u003EBahamas, The\u003C/option\u003E\n \u003Coption value=\u0022Bahrain\u0022\u003EBahrain\u003C/option\u003E\n \u003Coption value=\u0022Bangladesh\u0022\u003EBangladesh\u003C/option\u003E\n \u003Coption value=\u0022Barbados\u0022\u003EBarbados\u003C/option\u003E\n \u003Coption value=\u0022Belarus\u0022\u003EBelarus\u003C/option\u003E\n \u003Coption value=\u0022Belgium\u0022\u003EBelgium\u003C/option\u003E\n \u003Coption value=\u0022Belize\u0022\u003EBelize\u003C/option\u003E\n \u003Coption value=\u0022Benin\u0022\u003EBenin\u003C/option\u003E\n \u003Coption value=\u0022Bhutan\u0022\u003EBhutan\u003C/option\u003E\n \u003Coption value=\u0022Bolivia\u0022\u003EBolivia\u003C/option\u003E\n \u003Coption value=\u0022Bosnia and Herzegovina\u0022\u003EBosnia and Herzegovina\u003C/option\u003E\n \u003Coption value=\u0022Botswana\u0022\u003EBotswana\u003C/option\u003E\n \u003Coption value=\u0022Brazil\u0022\u003EBrazil\u003C/option\u003E\n \u003Coption value=\u0022Brunei\u0022\u003EBrunei\u003C/option\u003E\n \u003Coption value=\u0022Bulgaria\u0022\u003EBulgaria\u003C/option\u003E\n \u003Coption value=\u0022Burkina Faso\u0022\u003EBurkina Faso\u003C/option\u003E\n \u003Coption value=\u0022Burma\u0022\u003EBurma\u003C/option\u003E\n \u003Coption value=\u0022Burundi\u0022\u003EBurundi\u003C/option\u003E\n \u003Coption value=\u0022Cambodia\u0022\u003ECambodia\u003C/option\u003E\n \u003Coption value=\u0022Cameroon\u0022\u003ECameroon\u003C/option\u003E\n \u003Coption value=\u0022Canada\u0022\u003ECanada\u003C/option\u003E\n \u003Coption value=\u0022Cape Verde\u0022\u003ECape Verde\u003C/option\u003E\n \u003Coption value=\u0022Central African Republic\u0022\u003ECentral African Republic\u003C/option\u003E\n \u003Coption value=\u0022Chad\u0022\u003EChad\u003C/option\u003E\n \u003Coption value=\u0022Chile\u0022\u003EChile\u003C/option\u003E\n \u003Coption value=\u0022China\u0022\u003EChina\u003C/option\u003E\n \u003Coption value=\u0022Colombia\u0022\u003EColombia\u003C/option\u003E\n \u003Coption value=\u0022Comoros\u0022\u003EComoros\u003C/option\u003E\n \u003Coption value=\u0022Congo, Democratic Republic of the\u0022\u003ECongo, Democratic Republic of the\u003C/option\u003E\n \u003Coption value=\u0022Congo, Republic of the\u0022\u003ECongo, Republic of the\u003C/option\u003E\n \u003Coption value=\u0022Costa Rica\u0022\u003ECosta Rica\u003C/option\u003E\n \u003Coption value=\u0022Cote d\u0026#39;Ivoire\u0022\u003ECote d\u0026#39;Ivoire\u003C/option\u003E\n \u003Coption value=\u0022Croatia\u0022\u003ECroatia\u003C/option\u003E\n \u003Coption value=\u0022Cuba\u0022\u003ECuba\u003C/option\u003E\n \u003Coption value=\u0022Curacao\u0022\u003ECuracao\u003C/option\u003E\n \u003Coption value=\u0022Cyprus\u0022\u003ECyprus\u003C/option\u003E\n \u003Coption value=\u0022Czech Republic\u0022\u003ECzech Republic\u003C/option\u003E\n \u003Coption value=\u0022Denmark\u0022\u003EDenmark\u003C/option\u003E\n \u003Coption value=\u0022Djibouti\u0022\u003EDjibouti\u003C/option\u003E\n \u003Coption value=\u0022Dominica\u0022\u003EDominica\u003C/option\u003E\n \u003Coption value=\u0022Dominican Republic\u0022\u003EDominican Republic\u003C/option\u003E\n \u003Coption value=\u0022East Timor\u0022\u003EEast Timor\u003C/option\u003E\n \u003Coption value=\u0022Ecuador\u0022\u003EEcuador\u003C/option\u003E\n \u003Coption value=\u0022Egypt\u0022\u003EEgypt\u003C/option\u003E\n \u003Coption value=\u0022El Salvador\u0022\u003EEl Salvador\u003C/option\u003E\n \u003Coption value=\u0022Equatorial Guinea\u0022\u003EEquatorial Guinea\u003C/option\u003E\n \u003Coption value=\u0022Eritrea\u0022\u003EEritrea\u003C/option\u003E\n \u003Coption value=\u0022Estonia\u0022\u003EEstonia\u003C/option\u003E\n \u003Coption value=\u0022Ethiopia\u0022\u003EEthiopia\u003C/option\u003E\n \u003Coption value=\u0022Fiji\u0022\u003EFiji\u003C/option\u003E\n \u003Coption value=\u0022Finland\u0022\u003EFinland\u003C/option\u003E\n \u003Coption value=\u0022France\u0022\u003EFrance\u003C/option\u003E\n \u003Coption value=\u0022Gabon\u0022\u003EGabon\u003C/option\u003E\n \u003Coption value=\u0022Gambia\u0022\u003EGambia\u003C/option\u003E\n \u003Coption value=\u0022Georgia\u0022\u003EGeorgia\u003C/option\u003E\n \u003Coption value=\u0022Germany\u0022\u003EGermany\u003C/option\u003E\n \u003Coption value=\u0022Ghana\u0022\u003EGhana\u003C/option\u003E\n \u003Coption value=\u0022Greece\u0022\u003EGreece\u003C/option\u003E\n \u003Coption value=\u0022Grenada\u0022\u003EGrenada\u003C/option\u003E\n \u003Coption value=\u0022Guatemala\u0022\u003EGuatemala\u003C/option\u003E\n \u003Coption value=\u0022Guinea\u0022\u003EGuinea\u003C/option\u003E\n \u003Coption value=\u0022Guinea-Bissau\u0022\u003EGuinea-Bissau\u003C/option\u003E\n \u003Coption value=\u0022Guyana\u0022\u003EGuyana\u003C/option\u003E\n \u003Coption value=\u0022Haiti\u0022\u003EHaiti\u003C/option\u003E\n \u003Coption value=\u0022Holy See\u0022\u003EHoly See\u003C/option\u003E\n \u003Coption value=\u0022Honduras\u0022\u003EHonduras\u003C/option\u003E\n \u003Coption value=\u0022Hong Kong\u0022\u003EHong Kong\u003C/option\u003E\n \u003Coption value=\u0022Hungary\u0022\u003EHungary\u003C/option\u003E\n \u003Coption value=\u0022Iceland\u0022\u003EIceland\u003C/option\u003E\n \u003Coption value=\u0022India\u0022\u003EIndia\u003C/option\u003E\n \u003Coption value=\u0022Indonesia\u0022\u003EIndonesia\u003C/option\u003E\n \u003Coption value=\u0022Iran\u0022\u003EIran\u003C/option\u003E\n \u003Coption value=\u0022Iraq\u0022\u003EIraq\u003C/option\u003E\n \u003Coption value=\u0022Ireland\u0022\u003EIreland\u003C/option\u003E\n \u003Coption value=\u0022Israel\u0022\u003EIsrael\u003C/option\u003E\n \u003Coption value=\u0022Italy\u0022\u003EItaly\u003C/option\u003E\n \u003Coption value=\u0022Jamaica\u0022\u003EJamaica\u003C/option\u003E\n \u003Coption value=\u0022Japan\u0022\u003EJapan\u003C/option\u003E\n \u003Coption value=\u0022Jordan\u0022\u003EJordan\u003C/option\u003E\n \u003Coption value=\u0022Kazakhstan\u0022\u003EKazakhstan\u003C/option\u003E\n \u003Coption value=\u0022Kenya\u0022\u003EKenya\u003C/option\u003E\n \u003Coption value=\u0022Kiribati\u0022\u003EKiribati\u003C/option\u003E\n \u003Coption value=\u0022Korea, North\u0022\u003EKorea, North\u003C/option\u003E\n \u003Coption value=\u0022Korea, South\u0022\u003EKorea, South\u003C/option\u003E\n \u003Coption value=\u0022Kosovo\u0022\u003EKosovo\u003C/option\u003E\n \u003Coption value=\u0022Kuwait\u0022\u003EKuwait\u003C/option\u003E\n \u003Coption value=\u0022Kyrgyzstan\u0022\u003EKyrgyzstan\u003C/option\u003E\n \u003Coption value=\u0022Laos\u0022\u003ELaos\u003C/option\u003E\n \u003Coption value=\u0022Latvia\u0022\u003ELatvia\u003C/option\u003E\n \u003Coption value=\u0022Lebanon\u0022\u003ELebanon\u003C/option\u003E\n \u003Coption value=\u0022Lesotho\u0022\u003ELesotho\u003C/option\u003E\n \u003Coption value=\u0022Liberia\u0022\u003ELiberia\u003C/option\u003E\n \u003Coption value=\u0022Libya\u0022\u003ELibya\u003C/option\u003E\n \u003Coption value=\u0022Liechtenstein\u0022\u003ELiechtenstein\u003C/option\u003E\n \u003Coption value=\u0022Lithuania\u0022\u003ELithuania\u003C/option\u003E\n \u003Coption value=\u0022Luxembourg\u0022\u003ELuxembourg\u003C/option\u003E\n \u003Coption value=\u0022Macau\u0022\u003EMacau\u003C/option\u003E\n \u003Coption value=\u0022Macedonia\u0022\u003EMacedonia\u003C/option\u003E\n \u003Coption value=\u0022Madagascar\u0022\u003EMadagascar\u003C/option\u003E\n \u003Coption value=\u0022Malawi\u0022\u003EMalawi\u003C/option\u003E\n \u003Coption value=\u0022Malaysia\u0022\u003EMalaysia\u003C/option\u003E\n \u003Coption value=\u0022Maldives\u0022\u003EMaldives\u003C/option\u003E\n \u003Coption value=\u0022Mali\u0022\u003EMali\u003C/option\u003E\n \u003Coption value=\u0022Malta\u0022\u003EMalta\u003C/option\u003E\n \u003Coption value=\u0022Marshall Islands\u0022\u003EMarshall Islands\u003C/option\u003E\n \u003Coption value=\u0022Mauritania\u0022\u003EMauritania\u003C/option\u003E\n \u003Coption value=\u0022Mauritius\u0022\u003EMauritius\u003C/option\u003E\n \u003Coption value=\u0022Mexico\u0022\u003EMexico\u003C/option\u003E\n \u003Coption value=\u0022Micronesia\u0022\u003EMicronesia\u003C/option\u003E\n \u003Coption value=\u0022Moldova\u0022\u003EMoldova\u003C/option\u003E\n \u003Coption value=\u0022Monaco\u0022\u003EMonaco\u003C/option\u003E\n \u003Coption value=\u0022Mongolia\u0022\u003EMongolia\u003C/option\u003E\n \u003Coption value=\u0022Montenegro\u0022\u003EMontenegro\u003C/option\u003E\n \u003Coption value=\u0022Morocco\u0022\u003EMorocco\u003C/option\u003E\n \u003Coption value=\u0022Mozambique\u0022\u003EMozambique\u003C/option\u003E\n \u003Coption value=\u0022Namibia\u0022\u003ENamibia\u003C/option\u003E\n \u003Coption value=\u0022Nauru\u0022\u003ENauru\u003C/option\u003E\n \u003Coption value=\u0022Nepal\u0022\u003ENepal\u003C/option\u003E\n \u003Coption value=\u0022Netherlands\u0022\u003ENetherlands\u003C/option\u003E\n \u003Coption value=\u0022Netherlands Antilles\u0022\u003ENetherlands Antilles\u003C/option\u003E\n \u003Coption value=\u0022New Zealand\u0022\u003ENew Zealand\u003C/option\u003E\n \u003Coption value=\u0022Nicaragua\u0022\u003ENicaragua\u003C/option\u003E\n \u003Coption value=\u0022Niger\u0022\u003ENiger\u003C/option\u003E\n \u003Coption value=\u0022Nigeria\u0022\u003ENigeria\u003C/option\u003E\n \u003Coption value=\u0022North Korea\u0022\u003ENorth Korea\u003C/option\u003E\n \u003Coption value=\u0022Norway\u0022\u003ENorway\u003C/option\u003E\n \u003Coption value=\u0022Oman\u0022\u003EOman\u003C/option\u003E\n \u003Coption value=\u0022Pakistan\u0022\u003EPakistan\u003C/option\u003E\n \u003Coption value=\u0022Palau\u0022\u003EPalau\u003C/option\u003E\n \u003Coption value=\u0022Palestinian Territories\u0022\u003EPalestinian Territories\u003C/option\u003E\n \u003Coption value=\u0022Panama\u0022\u003EPanama\u003C/option\u003E\n \u003Coption value=\u0022Papua New Guinea\u0022\u003EPapua New Guinea\u003C/option\u003E\n \u003Coption value=\u0022Paraguay\u0022\u003EParaguay\u003C/option\u003E\n \u003Coption value=\u0022Peru\u0022\u003EPeru\u003C/option\u003E\n \u003Coption value=\u0022Philippines\u0022\u003EPhilippines\u003C/option\u003E\n \u003Coption value=\u0022Poland\u0022\u003EPoland\u003C/option\u003E\n \u003Coption value=\u0022Portugal\u0022\u003EPortugal\u003C/option\u003E\n \u003Coption value=\u0022Qatar\u0022\u003EQatar\u003C/option\u003E\n \u003Coption value=\u0022Romania\u0022\u003ERomania\u003C/option\u003E\n \u003Coption value=\u0022Russia\u0022\u003ERussia\u003C/option\u003E\n \u003Coption value=\u0022Rwanda\u0022\u003ERwanda\u003C/option\u003E\n \u003Coption value=\u0022Saint Kitts and Nevis\u0022\u003ESaint Kitts and Nevis\u003C/option\u003E\n \u003Coption value=\u0022Saint Lucia\u0022\u003ESaint Lucia\u003C/option\u003E\n \u003Coption value=\u0022Saint Vincent and the Grenadines\u0022\u003ESaint Vincent and the Grenadines\u003C/option\u003E\n \u003Coption value=\u0022Samoa\u0022\u003ESamoa\u003C/option\u003E\n \u003Coption value=\u0022San Marino\u0022\u003ESan Marino\u003C/option\u003E\n \u003Coption value=\u0022Sao Tome and Principe\u0022\u003ESao Tome and Principe\u003C/option\u003E\n \u003Coption value=\u0022Saudi Arabia\u0022\u003ESaudi Arabia\u003C/option\u003E\n \u003Coption value=\u0022Senegal\u0022\u003ESenegal\u003C/option\u003E\n \u003Coption value=\u0022Serbia\u0022\u003ESerbia\u003C/option\u003E\n \u003Coption value=\u0022Seychelles\u0022\u003ESeychelles\u003C/option\u003E\n \u003Coption value=\u0022Sierra Leone\u0022\u003ESierra Leone\u003C/option\u003E\n \u003Coption value=\u0022Singapore\u0022\u003ESingapore\u003C/option\u003E\n \u003Coption value=\u0022Sint Maarten\u0022\u003ESint Maarten\u003C/option\u003E\n \u003Coption value=\u0022Slovakia\u0022\u003ESlovakia\u003C/option\u003E\n \u003Coption value=\u0022Slovenia\u0022\u003ESlovenia\u003C/option\u003E\n \u003Coption value=\u0022Solomon Islands\u0022\u003ESolomon Islands\u003C/option\u003E\n \u003Coption value=\u0022Somalia\u0022\u003ESomalia\u003C/option\u003E\n \u003Coption value=\u0022South Africa\u0022\u003ESouth Africa\u003C/option\u003E\n \u003Coption value=\u0022South Korea\u0022\u003ESouth Korea\u003C/option\u003E\n \u003Coption value=\u0022South Sudan\u0022\u003ESouth Sudan\u003C/option\u003E\n \u003Coption value=\u0022Spain\u0022\u003ESpain\u003C/option\u003E\n \u003Coption value=\u0022Sri Lanka\u0022\u003ESri Lanka\u003C/option\u003E\n \u003Coption value=\u0022Sudan\u0022\u003ESudan\u003C/option\u003E\n \u003Coption value=\u0022Suriname\u0022\u003ESuriname\u003C/option\u003E\n \u003Coption value=\u0022Swaziland\u0022\u003ESwaziland\u003C/option\u003E\n \u003Coption value=\u0022Sweden\u0022\u003ESweden\u003C/option\u003E\n \u003Coption value=\u0022Switzerland\u0022\u003ESwitzerland\u003C/option\u003E\n \u003Coption value=\u0022Syria\u0022\u003ESyria\u003C/option\u003E\n \u003Coption value=\u0022Taiwan\u0022\u003ETaiwan\u003C/option\u003E\n \u003Coption value=\u0022Tajikistan\u0022\u003ETajikistan\u003C/option\u003E\n \u003Coption value=\u0022Tanzania\u0022\u003ETanzania\u003C/option\u003E\n \u003Coption value=\u0022Thailand\u0022\u003EThailand\u003C/option\u003E\n \u003Coption value=\u0022Timor-Leste\u0022\u003ETimor-Leste\u003C/option\u003E\n \u003Coption value=\u0022Togo\u0022\u003ETogo\u003C/option\u003E\n \u003Coption value=\u0022Tonga\u0022\u003ETonga\u003C/option\u003E\n \u003Coption value=\u0022Trinidad and Tobago\u0022\u003ETrinidad and Tobago\u003C/option\u003E\n \u003Coption value=\u0022Tunisia\u0022\u003ETunisia\u003C/option\u003E\n \u003Coption value=\u0022Turkey\u0022\u003ETurkey\u003C/option\u003E\n \u003Coption value=\u0022Turkmenistan\u0022\u003ETurkmenistan\u003C/option\u003E\n \u003Coption value=\u0022Tuvalu\u0022\u003ETuvalu\u003C/option\u003E\n \u003Coption value=\u0022Uganda\u0022\u003EUganda\u003C/option\u003E\n \u003Coption value=\u0022Ukraine\u0022\u003EUkraine\u003C/option\u003E\n \u003Coption value=\u0022United Arab Emirates\u0022\u003EUnited Arab Emirates\u003C/option\u003E\n \u003Coption value=\u0022United Kingdom\u0022\u003EUnited Kingdom\u003C/option\u003E\n \u003Coption value=\u0022Uruguay\u0022\u003EUruguay\u003C/option\u003E\n \u003Coption value=\u0022Uzbekistan\u0022\u003EUzbekistan\u003C/option\u003E\n \u003Coption value=\u0022Vanuatu\u0022\u003EVanuatu\u003C/option\u003E\n \u003Coption value=\u0022Venezuela\u0022\u003EVenezuela\u003C/option\u003E\n \u003Coption value=\u0022Vietnam\u0022\u003EVietnam\u003C/option\u003E\n \u003Coption value=\u0022Yemen\u0022\u003EYemen\u003C/option\u003E\n \u003Coption value=\u0022Zambia\u0022\u003EZambia\u003C/option\u003E\n \u003Coption value=\u0022Zimbabwe\u0022\u003EZimbabwe\u003C/option\u003E\n \u003C/select\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n\t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\u003Clabel for=\u0022entry_1511054935\u0022\u003EZip code\u003C/label\u003E\n \t\u003Cinput type=\u0022number\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter zip code\u0022 name=\u0022entry.1511054935\u0022 id=\u0022entry_1511054935\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \u003Cspan id=\u0022helpBlock\u0022 class=\u0022help-block\u0022\u003EOnly numbers.\u003C/span\u003E \n \t\u003C/div\u003E\n\t\u003Cinput type=\u0022submit\u0022 class=\u0022btn btn-default btn-primary\u0022 disabled=\u0022disabled\u0022 name=\u0022submit\u0022 value=\u0022Submit\u0022 id=\u0022ss-submit\u0022 onclick=\u0022sentForm();\u0022\u003E \n\u003C/form\u003E\n\n\u003Ciframe name=\u0022hidden_iframe\u0022 id=\u0022hidden_iframe\u0022 style=\u0022display:none;\u0022\u003E\u003C/iframe\u003E\n\n\u003C!-- end form google --\u003E \n \u003Chr\u003E\n \u003Cdiv class=\u0022row\u0022\u003E\n \u003Cp class=\u0022alert alert-danger\u0022\u003E\n \t\tThis plug-in will apply automatically an Environment configuration, if you want to know more about it please visit the link\n \t\t\u003Ca target=\u0022no_blank\u0022 href=\u0022http://infocenter.pentaho.com/help48/index.jsp?topic=%2Fadmin_guide%2Ftask_switching_to_file_based_logging.html\u0022\u003E\n \t\t\t\u003Cspan class=\u0022glyphicon glyphicon-new-window\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\t\u003C/a\u003E\n \t\u003C/p\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n \n \u003Cdiv class=\u0022modal-footer\u0022\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-default\u0022 data-dismiss=\u0022modal\u0022\u003EClose\u003C/button\u003E\n \u003C!-- \u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-primary\u0022\u003ESave changes\u003C/button\u003E --\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n\u003C/div\u003E " + "value" : "\u003C!-- Modal --\u003E\r\n\u003Cdiv class=\u0022modal fade\u0022 id=\u0022myModal\u0022 tabindex=\u0022-1\u0022 role=\u0022dialog\u0022 aria-labelledby=\u0022myModalLabel\u0022 aria-hidden=\u0022true\u0022\u003E\r\n \u003Cdiv class=\u0022modal-dialog modal-lg\u0022 id=\u0022modal-body\u0022\u003E\r\n \u003Cdiv class = \u0022alert alert-info\u0022\u003E\r\n \u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe086; \u003C/span\u003E\r\n \u003Cspan\u003EThis plug-in is applying environment configuration and creating the Mondrain Schema - Please wait...\u003C/span\u003E\r\n \u003C/div\u003E \r\n \u003C/div\u003E\r\n\u003C/div\u003E " }, { "name" : "fontSize", diff --git a/dashboards/admin/dashboard.wcdf b/dashboards/admin/dashboard.wcdf index 2d64b0c..06c6064 100644 --- a/dashboards/admin/dashboard.wcdf +++ b/dashboards/admin/dashboard.wcdf @@ -1,2 +1,2 @@ -dashboardSparkl DefaultIT4bizbootstrapfalse \ No newline at end of file +dashboardSparkl DefaultIbrahim Bolarinwabootstrapfalsefalse \ No newline at end of file From 9d14e800ee71ee72533cc3227ea42dd62ef932c3 Mon Sep 17 00:00:00 2001 From: Ibby-B Date: Fri, 2 Jul 2021 20:49:38 +0100 Subject: [PATCH 21/21] Pentaho 9.1 Compatibility for ITBIZ repo --- dashboards/admin/dashboard.cdfde | 84 ++++++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 10 deletions(-) diff --git a/dashboards/admin/dashboard.cdfde b/dashboards/admin/dashboard.cdfde index 2823a92..4458afa 100644 --- a/dashboards/admin/dashboard.cdfde +++ b/dashboards/admin/dashboard.cdfde @@ -1787,7 +1787,7 @@ { "name" : "clickable", "type" : "Boolean", - "value" : "false" + "value" : false }, { "name" : "clickAction", @@ -2487,17 +2487,17 @@ { "name" : "plot2ColorAxis", "type" : "Float", - "value" : "2" + "value" : 2 }, { "name" : "plot2DotsVisible", "type" : "Boolean", - "value" : "true" + "value" : true }, { "name" : "plot2LinesVisible", "type" : "Boolean", - "value" : "true" + "value" : true }, { "name" : "plot2NullInterpolationMode", @@ -6955,6 +6955,24 @@ "type" : "Label", "typeDesc" : "\u003Ci\u003EGroup\u003C/i\u003E" }, + { + "id" : "2b8acc97-725a-8325-13e7-c01876a4a5b3", + "parent" : "SCRIPT", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "leadForm" + }, + { + "name" : "javaScript", + "type" : "JavaScript", + "value" : "var validationFields={\n \u0022entry_513906374\u0022:false,\n \u0022entry_860105332\u0022:false,\n \u0022entry_1166092966\u0022:false,\n \u0022entry_1065748829\u0022: false,\n \u0022entry_238908962\u0022:false,\n \u0022entry_1511054935\u0022:false};\n \n$( \u0022#ss-form input[type=\u0027text\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n if(value){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022#ss-form input[type=\u0027email\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n var re = /^[a-zA-Z0-9.!#$%\u0026\u0027*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n var is_email=re.test(value);\n if(is_email){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022#ss-form input[type=\u0027number\u0027]\u0022 ).change(function() {\n var value=$( this ).val();\n var id=$( this ).attr(\u0027id\u0027);\n var input=$(this);\n var searchReg = /^[Z0-9-]+$/;\n var is_number=searchReg.test(value);\n if(is_number){\n addSuccessStatus(input);\n validationFields[id]=true;\n }else{\n addErrorStatus(input);\n validationFields[id]=false;\n }\n testForm();\n});\n\n$( \u0022select\u0022 ).change(function () {\n var value=$( \u0022select option:selected\u0022).val();\n var id=$( this ).attr(\u0027id\u0027);\n var select=$(this);\n if(value!=\u0027Select a country\u0027){\n addSuccessStatus(select);\n validationFields[id]=true;\n }else{\n addErrorStatus(select);\n validationFields[id]=false;\n }\n testForm();\n});\n \nfunction isValidForm(){\n if( validationFields[\u0022entry_513906374\u0022]==true \u0026\u0026\n validationFields[\u0022entry_860105332\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1166092966\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1065748829\u0022]==true \u0026\u0026\n validationFields[\u0022entry_238908962\u0022]==true \u0026\u0026\n validationFields[\u0022entry_1511054935\u0022]==true)\n return true;\n else\n return false;\n}\nfunction testForm(){\n if(isValidForm())\n $(\u0027#ss-submit\u0027).removeAttr(\u0027disabled\u0027);\n else\n $(\u0027#ss-submit\u0027).attr(\u0027disabled\u0027, \u0027disabled\u0027);\n}\n\nfunction sentForm(){\n installPlugin();\n}\n\nfunction addSuccessStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-success has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-ok\u0022);\n}\n\nfunction addWarningStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-warning has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-warning-sign\u0022);\n}\n\nfunction addErrorStatus(element){\n parent = element.parent();\n parent.removeClass (function (index, css) {\n return (css.match (/(^|\\s)has-\\S+/g) || []).join(\u0027 \u0027);\n }); \n parent.addClass(\u0022has-error has-feedback\u0022);\n \n span = element.next(); \n span.removeClass (function (index, css) {\n return (css.match (/(^|\\s)glyphicon-\\S+/g) || []).join(\u0027 \u0027);\n });\n span.addClass(\u0022glyphicon glyphicon-remove\u0022);\n} " + } + ], + "type" : "ComponentsFunction", + "typeDesc" : "JavaScript function" + }, { "id" : "36eda744-4c14-8e37-390d-6094b3fc3169", "parent" : "SCRIPT", @@ -6967,7 +6985,7 @@ { "name" : "javaScript", "type" : "JavaScript", - "value" : "var dash = this.Dashboards\r\n$.ajax({\r\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\u0022,\r\n cache: false\r\n}).done(function( data ) {\r\n if(!data.result){\r\n $(\u0027#myModal\u0027).modal(\u0027show\u0027);\r\n installPlugin();\r\n }else{\r\n reloadDash();\r\n } \r\n \r\n}); \r\n\r\nfunction reloadDash(){\r\n dash.incrementRunningCalls(); \r\n $.ajax({\r\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/get_metadata\u0022,\r\n cache: false\r\n }).done(function( data ) {\r\n dash.decrementRunningCalls();\r\n if(data.queryInfo.totalRows\u003E0)\r\n dash.update(\r\n [render_BarChartTop10UsersByExecution\r\n ,render_BarChartTop10UsersByLogin\r\n ,render_LineChartExecutionByHours\r\n ,render_BarChartExecutionsByDayOfWeek\r\n ,render_Table\r\n ,render_filterYearSelectorMobile\r\n ,render_filterYearSelectorDesktop\r\n ,render_BarChartTop10UsersByExecutionExport\r\n ,render_BarChartTop10UsersByLoginExport]);\r\n }); \r\n} " + "value" : "$.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_verify_installation\u0022,\n cache: false\n}).done(function( data ) {\n if(!data.result){\n $(\u0027#myModal\u0027).modal(\u0027show\u0027);\n }else{ \n \n Dashboards.incrementRunningCalls(); \n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/get_metadata\u0022,\n cache: false\n }).done(function( data ) {\n Dashboards.decrementRunningCalls();\n if(data.queryInfo.totalRows\u003E0)\n Dashboards.update(\n [render_BarChartTop10UsersByExecution\n ,render_BarChartTop10UsersByLogin\n ,render_LineChartExecutionByHours\n ,render_BarChartExecutionsByDayOfWeek\n ,render_Table\n ,render_filterYearSelectorMobile\n ,render_filterYearSelectorDesktop\n ,render_BarChartTop10UsersByExecutionExport\n ,render_BarChartTop10UsersByLoginExport]);\n });\n \n }\n}); \n " } ], "type" : "ComponentsFunction", @@ -6985,7 +7003,7 @@ { "name" : "javaScript", "type" : "JavaScript", - "value" : "function installPlugin(){\n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_install\u0022,\n cache: false\n }).done(function( data ) {\n if(data.result){\n publishSchema(); \n }else{\n var msgHtml=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+\n \u0027\u003Cb\u003EInstallation has a problem!\u003C/b\u003E please raise an issue on the github repo.\u0027+\n \u0027\u003C/div\u003E\u0027+\n \u0027\u003Chr\u003E\u0027+\n \u0027\u003Clabel\u003Ehttps://github.com/it4biz/pentaho-ce-audit\u003C/label\u003E\u0027;\n $(\u0022#modal-body\u0022).html(msgHtml); \n }\n }); \n} \n " + "value" : "function installPlugin(){\n $.ajax({\n url: \u0022/pentaho/plugin/pentaho-ce-audit/api/job_install\u0022,\n cache: false\n }).done(function( data ) {\n if(data.result){\n publishSchema(); \n }else{\n var msgHtml=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+\n \u0027\u003Cb\u003EInstallation has a problem!\u003C/b\u003E please contanct us.\u0027+\n \u0027\u003C/div\u003E\u0027+\n \u0027\u003Chr\u003E\u0027+\n \u0027\u003Clabel\u003Einfo@it4biz.com.br\u003C/label\u003E\u0027;\n $(\u0022#modal-body\u0022).html(msgHtml); \n }\n }); \n} \n " } ], "type" : "ComponentsFunction", @@ -7003,7 +7021,7 @@ { "name" : "javaScript", "type" : "JavaScript", - "value" : "function publishSchema(){\n $.get(\n \u0027/pentaho/api/repos/pentaho-ce-audit/schemas/pentahoCEAudit.mondrian.xml\u0027\n ,function(data){publishSchemaXML(data);}\n );\n}\nfunction publishSchemaXML(data){\n var html_msg = \u0022\u0022;\n var file = new File([data.documentElement.outerHTML], \u0027pentahoCEAudit.mondrian.xml\u0027);\n var fd = new FormData(); \n //fd.append( \u0027catalogName\u0027, \u0022Pentaho CE Audit\u0022 ); \n fd.append( \u0027overwrite\u0027, \u0022true\u0022 );\n fd.append( \u0027xmlaEnabledFlag\u0027, \u0022true\u0022 );\n fd.append( \u0027parameters\u0027, \u0022DataSource=Hibernate\u0022 );\n fd.append( \u0027uploadInput\u0027,file );\n \n $.ajax( {\n url: \u0027/pentaho/plugin/data-access/api/datasource/analysis/catalog/Pentaho%20CE%20Audit\u0027,\n method: \u0027PUT\u0027,\n async: false,\n data: fd,\n processData: false,\n contentType: false,\n statusCode: {\n 200: function(data, textStatus, xhr) {\n html_msg=\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\n \u0027\u003C/div\u003E\u0027; \n $(\u0022#modal-body\u0022).html(html_msg);\n },\n 201: function(data, textStatus, xhr) {\n html_msg=\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\n \u0027\u003C/div\u003E\u0027; \n $(\u0022#modal-body\u0022).html(html_msg);\n setTimeout(function(){reloadDash();},5000);\n },\n 401: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 403: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 409: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 412: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n 500: function(xhr, textStatus, errorThrown) {\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\n $(\u0022#modal-body\u0022).html(html_msg); \n },\n }\n }); \n} " + "value" : "//https://github.com/Ibby-B : 02/July/2021\r\n//automatically installs the Mondrian Analysis schema\r\n\r\nfunction publishSchema(){\r\n $.get(\r\n \u0027/pentaho/api/repos/pentaho-ce-audit/schemas/pentahoCEAudit.mondrian.xml\u0027\r\n ,function(data){publishSchemaXML(data);}\r\n );\r\n}\r\nfunction publishSchemaXML(data){\r\n var html_msg = \u0022\u0022;\r\n var file = new File([data.documentElement.outerHTML], \u0027pentahoCEAudit.mondrian.xml\u0027);\r\n var fd = new FormData(); \r\n //fd.append( \u0027catalogName\u0027, \u0022Pentaho CE Audit\u0022 ); \r\n fd.append( \u0027overwrite\u0027, \u0022true\u0022 );\r\n fd.append( \u0027xmlaEnabledFlag\u0027, \u0022true\u0022 );\r\n fd.append( \u0027parameters\u0027, \u0022DataSource=Hibernate\u0022 );\r\n fd.append( \u0027uploadInput\u0027,file );\r\n \r\n $.ajax( {\r\n url: \u0027/pentaho/plugin/data-access/api/datasource/analysis/catalog/Pentaho%20CE%20Audit\u0027,\r\n method: \u0027PUT\u0027,\r\n async: false,\r\n data: fd,\r\n processData: false,\r\n contentType: false,\r\n statusCode: {\r\n 200: function(data, textStatus, xhr) {\r\n html_msg=\r\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\r\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\r\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\r\n \u0027\u003C/div\u003E\u0027; \r\n $(\u0022#modal-body\u0022).html(html_msg);\r\n },\r\n 201: function(data, textStatus, xhr) {\r\n html_msg=\r\n \u0027\u003Cdiv class = \u0022alert alert-success\u0022\u003E\u0027+\r\n \u0027\u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe089;\u003C/span\u003E\u0027+\r\n \u0027\u003Cspan\u003E \u003Cb\u003EThe installation has been completed successfully!\u003C/b\u003E please restart your biserver.\u003C/span\u003E\u0027+\r\n \u0027\u003C/div\u003E\u0027; \r\n $(\u0022#modal-body\u0022).html(html_msg);\r\n setTimeout(function(){reloadDash();},5000);\r\n },\r\n 401: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 403: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 409: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 412: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n 500: function(xhr, textStatus, errorThrown) {\r\n html_msg=\u0027\u003Cdiv class=\u0022alert alert-danger\u0022 role=\u0022alert\u0022\u003E\u0027+ xhr.responseText +\u0027\u003C/div\u003E\u0027;\r\n $(\u0022#modal-body\u0022).html(html_msg); \r\n },\r\n }\r\n }); \r\n} " } ], "type" : "ComponentsFunction", @@ -7662,7 +7680,7 @@ } ] }, - "filename" : "home/ifds-emea-ssncf28cb02c-c703-4754-a69b-cb242fc297c0/dashboard.wcdf", + "filename" : "/home/ibrahim/dashboard.cdfde", "layout" : { "rows" : [ { @@ -7688,6 +7706,52 @@ "type" : "LayoutResourceCode", "typeDesc" : "Resource" }, + { + "id" : "7a5ba60f-36cc-8599-1d40-fa8072a7081f", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "TwitterCode" + }, + { + "name" : "resourceCode", + "type" : "Resource", + "value" : "//hashtag buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\u0022https://platform.twitter.com/widgets.js\u0022;fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\u0022script\u0022,\u0022twitter-wjs\u0022)); \n\n////follow buttom\nwindow.twttr=(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],t=window.twttr||{};if(d.getElementById(id))return;js=d.createElement(s);js.id=id;js.src=\u0022https://platform.twitter.com/widgets.js\u0022;fjs.parentNode.insertBefore(js,fjs);t._e=[];t.ready=function(f){t._e.push(f);};return t;}(document,\u0022script\u0022,\u0022twitter-wjs\u0022)); " + }, + { + "name" : "resourceType", + "type" : "Label", + "value" : "Javascript" + } + ], + "type" : "LayoutResourceCode", + "typeDesc" : "Resource" + }, + { + "id" : "7d418342-2cee-2cc7-34ee-1caa112cbdaa", + "parent" : "UnIqEiD", + "properties" : [ + { + "name" : "name", + "type" : "Id", + "value" : "FacebookCode" + }, + { + "name" : "resourceCode", + "type" : "Resource", + "value" : "(function(d, s, id) {\n var js, fjs = d.getElementsByTagName(s)[0];\n if (d.getElementById(id)) return;\n js = d.createElement(s); js.id = id;\n js.src = \u0022//connect.facebook.net/pt_BR/sdk.js#xfbml=1\u0026version=v2.0\u0022;\n fjs.parentNode.insertBefore(js, fjs);\n}(document, \u0027script\u0027, \u0027facebook-jssdk\u0027)); " + }, + { + "name" : "resourceType", + "type" : "Label", + "value" : "Javascript" + } + ], + "type" : "LayoutResourceCode", + "typeDesc" : "Resource" + }, { "id" : "4ab17cf8-41bd-67e8-2b2c-6e71aa306efd", "parent" : "UnIqEiD", @@ -7761,7 +7825,7 @@ { "name" : "html", "type" : "Html", - "value" : "\u003Cbr\u003E\n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-top:5px;\u0022\u003E \n \u003Clabel\u003ELast Updated:\u003C/label\u003E \n \u003Cspan class=\u0022badge\u0022\u003E\n \u003Cdiv id=\u0022lastUpdatedValue\u0022\u003E\u003C/div\u003E\n \u003C/span\u003E\n\u003C/div\u003E\n \n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-right:5px;\u0022\u003E\n \u003C!-- \u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E--\u003E\n \u003Cdiv id=\u0022refreshButtonDiv\u0022\u003E\u003C/div\u003E\n\u003C/div\u003E\n\u003Cbr\u003E\n\n\u003Chr\u003E\n\n\u003Cdiv class=\u0022col-md-12\u0022 style=\u0022height: 30px\u0022\u003E\n\n \u003Cdiv id=\u0022filterYear-div-mobile\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n \u003Cdiv id=\u0022filterYear-div-desktop\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n\u003C/div\u003E\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByExecutionExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart01-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Login(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart02-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Day of the Week\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonExecutionsByDayOfWeekExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart03-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Hour\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart04-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\n\u003Cdiv class=\u0022col-md-12\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv id=\u0022table-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E \n\u003C/div\u003E\n\u003C/div\u003E \n\n\u003Cdiv id=\u0022footer\u0022 class=\u0022col-sm-12\u0022\u003E\n \u003Chr\u003E\n \u003Cdiv class=\u0022container\u0022\u003E\n \u003Cp class=\u0022text-muted credit\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022\u003E\n Adapted from IT4biz IT Solutions for:\n \u003Cimg \n src=\u0022../../../api/repos/pentaho-ce-audit/static/custom/img/logo.png\u0022\n \u003E\n \u003C/div\u003E\n \u003C/p\u003E\n \u003C/div\u003E \n\u003C/div\u003E " + "value" : "\u003Cbr\u003E\n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-top:5px;\u0022\u003E \n \u003Clabel\u003ELast Updated:\u003C/label\u003E \n \u003Cspan class=\u0022badge\u0022\u003E\n \u003Cdiv id=\u0022lastUpdatedValue\u0022\u003E\u003C/div\u003E\n \u003C/span\u003E\n\u003C/div\u003E\n \n\u003Cdiv class=\u0022pull-right\u0022 style=\u0022padding-right:5px;\u0022\u003E\n \u003C!-- \u003Cspan class=\u0022glyphicon glyphicon-refresh\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E--\u003E\n \u003Cdiv id=\u0022refreshButtonDiv\u0022\u003E\u003C/div\u003E\n\u003C/div\u003E\n\u003Cbr\u003E\n\n\u003Chr\u003E\n\n\u003Cdiv class=\u0022col-md-12\u0022 style=\u0022height: 30px\u0022\u003E\n\n \u003Cdiv id=\u0022filterYear-div-mobile\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n \u003Cdiv id=\u0022filterYear-div-desktop\u0022 class=\u0022col-md-12 col-sd-6\u0022\u003E \u003C/div\u003E \n \n\u003C/div\u003E\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByExecutionExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart01-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003ETop Users by # of Login(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart02-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n \u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Day of the Week\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonExecutionsByDayOfWeekExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart03-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E\n\n\n\u003Cdiv class=\u0022col-md-6\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s) by Hour\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022 id=\u0022ExportButtonBarChartTop10UsersByLoginExport\u0022\u003E\u003C/div\u003E\n \u003Cdiv id=\u0022Chart04-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E\n\u003C/div\u003E\n\u003C/div\u003E \n \n\n\u003Cdiv class=\u0022col-md-12\u0022\u003E\n\u003Cdiv class=\u0022panel panel-default\u0022\u003E\n \u003Cdiv class=\u0022panel-heading\u0022\u003E# of Execution(s)\u003C/div\u003E\n \u003Cdiv class=\u0022panel-body\u0022\u003E\n \u003Cdiv id=\u0022table-div\u0022\u003E \u003C/div\u003E \n \u003C/div\u003E \n\u003C/div\u003E\n\u003C/div\u003E \n\n\u003Cdiv id=\u0022footer\u0022 class=\u0022col-sm-12\u0022\u003E\n \u003Chr\u003E\n \u003Cdiv class=\u0022container\u0022\u003E\n \u003Cp class=\u0022text-muted credit\u0022\u003E\n \u003Cdiv class=\u0022pull-right\u0022\u003E\n Powered by\n \u003Ca href=\u0022http://it4biz.com.br\u0022 target=\u0022no_blank\u0022 title=\u0022IT4biz IT Solutions\u0022\u003E\n \u003Cimg \n src=\u0022../../../api/repos/pentaho-ce-audit/static/custom/img/logo.png\u0022\n \u003E\n \u003C/a\u003E \n \u003C/div\u003E\n \u003Cdiv\u003E\n \u003Clabel\u003EPlease help us do more, with just a \u0022Like\u0022 on our Facebook page\u003C/label\u003E\u003Cbr\u003E \n \u003Cdiv\n class=\u0022fb-like\u0022 \n data-href=\u0022https://www.facebook.com/it4biz\u0022 \n data-layout=\u0022button\u0022 \n data-action=\u0022like\u0022 \n data-show-faces=\u0022true\u0022 \n data-share=\u0022true\u0022\u003E \n \u003C/div\u003E\u003Cbr\u003E\n \u003Clabel\u003Eor follow us on twitter\u003C/label\u003E\u003Cbr\u003E\n \u003Ca \n class=\u0022twitter-hashtag-button\u0022\n href=\u0022https://twitter.com/intent/tweet?button_hashtag=PentahoCEAudit\u0026text=I have installed Pentaho CE Audit from @it4bizbrazil. You should try it on @pentaho Marketplace.\u0022\n data-related=\u0022twitter\u0022\u003E\n Tweet #PentahoCEAudit\n \u003C/a\u003E\n \u003Ca \n class=\u0022twitter-follow-button\u0022\n href=\u0022https://twitter.com/it4bizbrazil\u0022\n data-show-count=\u0022false\u0022\n data-lang=\u0022en\u0022\u003E\n Follow @it4bizbrazil\n \u003C/a\u003E\n \u003C/div\u003E\n \u003C/p\u003E\n \n \u003C/div\u003E \n\u003C/div\u003E " }, { "name" : "fontSize", @@ -7832,7 +7896,7 @@ { "name" : "html", "type" : "Html", - "value" : "\u003C!-- Modal --\u003E\r\n\u003Cdiv class=\u0022modal fade\u0022 id=\u0022myModal\u0022 tabindex=\u0022-1\u0022 role=\u0022dialog\u0022 aria-labelledby=\u0022myModalLabel\u0022 aria-hidden=\u0022true\u0022\u003E\r\n \u003Cdiv class=\u0022modal-dialog modal-lg\u0022 id=\u0022modal-body\u0022\u003E\r\n \u003Cdiv class = \u0022alert alert-info\u0022\u003E\r\n \u003Cspan class=\u0022glyphicon\u0022\u003E\u0026#xe086; \u003C/span\u003E\r\n \u003Cspan\u003EThis plug-in is applying environment configuration and creating the Mondrain Schema - Please wait...\u003C/span\u003E\r\n \u003C/div\u003E \r\n \u003C/div\u003E\r\n\u003C/div\u003E " + "value" : "\u003C!-- Modal --\u003E\n\u003Cdiv class=\u0022modal fade\u0022 id=\u0022myModal\u0022 tabindex=\u0022-1\u0022 role=\u0022dialog\u0022 aria-labelledby=\u0022myModalLabel\u0022 aria-hidden=\u0022true\u0022\u003E\n \u003Cdiv class=\u0022modal-dialog modal-lg\u0022\u003E\n \u003Cdiv class=\u0022modal-content\u0022\u003E\n \u003Cdiv class=\u0022modal-header\u0022\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022close\u0022 data-dismiss=\u0022modal\u0022 aria-label=\u0022Close\u0022\u003E\u003Cspan aria-hidden=\u0022true\u0022\u003E\u0026times;\u003C/span\u003E\u003C/button\u003E\n \u003Ch4 class=\u0022modal-title\u0022 id=\u0022myModalLabel\u0022\u003EPentaho CE Audit - Installation\u003C/h4\u003E\n \u003C/div\u003E\n \u003Cdiv class=\u0022modal-body\u0022 id=\u0022modal-body\u0022\u003E\n \u003Cp\u003EPlease fill out the form below to complete the installation.\u003C/p\u003E\n\u003C!-- Form Google--\u003E \n\n\u003Cform action=\u0022https://docs.google.com/a/it4biz.com.br/forms/d/1VRhTeaezy4QU-WYHJv-b3vpVJzFkn133vLPLrCCOwik/formResponse\u0022 method=\u0022POST\u0022 id=\u0022ss-form\u0022 target=\u0022hidden_iframe\u0022\u003E\n \u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t \t\u003Clabel for=\u0022entry_513906374\u0022\u003EName\u003C/label\u003E\n\t \t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 id=\u0022entry_513906374\u0022 placeholder=\u0022Enter name\u0022 name=\u0022entry_513906374\u0022\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E \n \t\u003C/div\u003E\n \t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t \t\u003Clabel for=\u0022entry_860105332\u0022\u003ELast name\u003C/label\u003E\n\t \t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 id=\u0022entry_860105332\u0022 placeholder=\u0022Enter last name\u0022 name=\u0022entry_860105332\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E \n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\t\u003Clabel for=\u0022entry_1166092966\u0022\u003EEmail address\u003C/label\u003E\n \t\t\u003Cinput type=\u0022email\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter email\u0022 name=\u0022entry.1166092966\u0022 id=\u0022entry_1166092966\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\t\u003Clabel for=\u0022entry_1065748829\u0022\u003ECompany\u003C/label\u003E\n \t\t\u003Cinput type=\u0022text\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter company\u0022 name=\u0022entry.1065748829\u0022 id=\u0022entry_1065748829\u0022\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n\t\t\u003Clabel for=\u0022entry_238908962\u0022\u003ECountry\u003C/label\u003E\n\t\t\u003Cselect name=\u0022entry.238908962\u0022 id=\u0022entry_238908962\u0022 class=\u0022form-control\u0022\u003E\n \u003Coption value=\u0022Select a country\u0022\u003ESelect a country\u003C/option\u003E\n \u003Coption value=\u0022Afghanistan\u0022\u003EAfghanistan\u003C/option\u003E\n \u003Coption value=\u0022Albania\u0022\u003EAlbania\u003C/option\u003E\n \u003Coption value=\u0022Algeria\u0022\u003EAlgeria\u003C/option\u003E\n \u003Coption value=\u0022Andorra\u0022\u003EAndorra\u003C/option\u003E\n \u003Coption value=\u0022Angola\u0022\u003EAngola\u003C/option\u003E\n \u003Coption value=\u0022Antigua and Barbuda\u0022\u003EAntigua and Barbuda\u003C/option\u003E\n \u003Coption value=\u0022Argentina\u0022\u003EArgentina\u003C/option\u003E\n \u003Coption value=\u0022Armenia\u0022\u003EArmenia\u003C/option\u003E\n \u003Coption value=\u0022Aruba\u0022\u003EAruba\u003C/option\u003E\n \u003Coption value=\u0022Australia\u0022\u003EAustralia\u003C/option\u003E\n \u003Coption value=\u0022Austria\u0022\u003EAustria\u003C/option\u003E\n \u003Coption value=\u0022Azerbaijan\u0022\u003EAzerbaijan\u003C/option\u003E\n \u003Coption value=\u0022Bahamas, The\u0022\u003EBahamas, The\u003C/option\u003E\n \u003Coption value=\u0022Bahrain\u0022\u003EBahrain\u003C/option\u003E\n \u003Coption value=\u0022Bangladesh\u0022\u003EBangladesh\u003C/option\u003E\n \u003Coption value=\u0022Barbados\u0022\u003EBarbados\u003C/option\u003E\n \u003Coption value=\u0022Belarus\u0022\u003EBelarus\u003C/option\u003E\n \u003Coption value=\u0022Belgium\u0022\u003EBelgium\u003C/option\u003E\n \u003Coption value=\u0022Belize\u0022\u003EBelize\u003C/option\u003E\n \u003Coption value=\u0022Benin\u0022\u003EBenin\u003C/option\u003E\n \u003Coption value=\u0022Bhutan\u0022\u003EBhutan\u003C/option\u003E\n \u003Coption value=\u0022Bolivia\u0022\u003EBolivia\u003C/option\u003E\n \u003Coption value=\u0022Bosnia and Herzegovina\u0022\u003EBosnia and Herzegovina\u003C/option\u003E\n \u003Coption value=\u0022Botswana\u0022\u003EBotswana\u003C/option\u003E\n \u003Coption value=\u0022Brazil\u0022\u003EBrazil\u003C/option\u003E\n \u003Coption value=\u0022Brunei\u0022\u003EBrunei\u003C/option\u003E\n \u003Coption value=\u0022Bulgaria\u0022\u003EBulgaria\u003C/option\u003E\n \u003Coption value=\u0022Burkina Faso\u0022\u003EBurkina Faso\u003C/option\u003E\n \u003Coption value=\u0022Burma\u0022\u003EBurma\u003C/option\u003E\n \u003Coption value=\u0022Burundi\u0022\u003EBurundi\u003C/option\u003E\n \u003Coption value=\u0022Cambodia\u0022\u003ECambodia\u003C/option\u003E\n \u003Coption value=\u0022Cameroon\u0022\u003ECameroon\u003C/option\u003E\n \u003Coption value=\u0022Canada\u0022\u003ECanada\u003C/option\u003E\n \u003Coption value=\u0022Cape Verde\u0022\u003ECape Verde\u003C/option\u003E\n \u003Coption value=\u0022Central African Republic\u0022\u003ECentral African Republic\u003C/option\u003E\n \u003Coption value=\u0022Chad\u0022\u003EChad\u003C/option\u003E\n \u003Coption value=\u0022Chile\u0022\u003EChile\u003C/option\u003E\n \u003Coption value=\u0022China\u0022\u003EChina\u003C/option\u003E\n \u003Coption value=\u0022Colombia\u0022\u003EColombia\u003C/option\u003E\n \u003Coption value=\u0022Comoros\u0022\u003EComoros\u003C/option\u003E\n \u003Coption value=\u0022Congo, Democratic Republic of the\u0022\u003ECongo, Democratic Republic of the\u003C/option\u003E\n \u003Coption value=\u0022Congo, Republic of the\u0022\u003ECongo, Republic of the\u003C/option\u003E\n \u003Coption value=\u0022Costa Rica\u0022\u003ECosta Rica\u003C/option\u003E\n \u003Coption value=\u0022Cote d\u0026#39;Ivoire\u0022\u003ECote d\u0026#39;Ivoire\u003C/option\u003E\n \u003Coption value=\u0022Croatia\u0022\u003ECroatia\u003C/option\u003E\n \u003Coption value=\u0022Cuba\u0022\u003ECuba\u003C/option\u003E\n \u003Coption value=\u0022Curacao\u0022\u003ECuracao\u003C/option\u003E\n \u003Coption value=\u0022Cyprus\u0022\u003ECyprus\u003C/option\u003E\n \u003Coption value=\u0022Czech Republic\u0022\u003ECzech Republic\u003C/option\u003E\n \u003Coption value=\u0022Denmark\u0022\u003EDenmark\u003C/option\u003E\n \u003Coption value=\u0022Djibouti\u0022\u003EDjibouti\u003C/option\u003E\n \u003Coption value=\u0022Dominica\u0022\u003EDominica\u003C/option\u003E\n \u003Coption value=\u0022Dominican Republic\u0022\u003EDominican Republic\u003C/option\u003E\n \u003Coption value=\u0022East Timor\u0022\u003EEast Timor\u003C/option\u003E\n \u003Coption value=\u0022Ecuador\u0022\u003EEcuador\u003C/option\u003E\n \u003Coption value=\u0022Egypt\u0022\u003EEgypt\u003C/option\u003E\n \u003Coption value=\u0022El Salvador\u0022\u003EEl Salvador\u003C/option\u003E\n \u003Coption value=\u0022Equatorial Guinea\u0022\u003EEquatorial Guinea\u003C/option\u003E\n \u003Coption value=\u0022Eritrea\u0022\u003EEritrea\u003C/option\u003E\n \u003Coption value=\u0022Estonia\u0022\u003EEstonia\u003C/option\u003E\n \u003Coption value=\u0022Ethiopia\u0022\u003EEthiopia\u003C/option\u003E\n \u003Coption value=\u0022Fiji\u0022\u003EFiji\u003C/option\u003E\n \u003Coption value=\u0022Finland\u0022\u003EFinland\u003C/option\u003E\n \u003Coption value=\u0022France\u0022\u003EFrance\u003C/option\u003E\n \u003Coption value=\u0022Gabon\u0022\u003EGabon\u003C/option\u003E\n \u003Coption value=\u0022Gambia\u0022\u003EGambia\u003C/option\u003E\n \u003Coption value=\u0022Georgia\u0022\u003EGeorgia\u003C/option\u003E\n \u003Coption value=\u0022Germany\u0022\u003EGermany\u003C/option\u003E\n \u003Coption value=\u0022Ghana\u0022\u003EGhana\u003C/option\u003E\n \u003Coption value=\u0022Greece\u0022\u003EGreece\u003C/option\u003E\n \u003Coption value=\u0022Grenada\u0022\u003EGrenada\u003C/option\u003E\n \u003Coption value=\u0022Guatemala\u0022\u003EGuatemala\u003C/option\u003E\n \u003Coption value=\u0022Guinea\u0022\u003EGuinea\u003C/option\u003E\n \u003Coption value=\u0022Guinea-Bissau\u0022\u003EGuinea-Bissau\u003C/option\u003E\n \u003Coption value=\u0022Guyana\u0022\u003EGuyana\u003C/option\u003E\n \u003Coption value=\u0022Haiti\u0022\u003EHaiti\u003C/option\u003E\n \u003Coption value=\u0022Holy See\u0022\u003EHoly See\u003C/option\u003E\n \u003Coption value=\u0022Honduras\u0022\u003EHonduras\u003C/option\u003E\n \u003Coption value=\u0022Hong Kong\u0022\u003EHong Kong\u003C/option\u003E\n \u003Coption value=\u0022Hungary\u0022\u003EHungary\u003C/option\u003E\n \u003Coption value=\u0022Iceland\u0022\u003EIceland\u003C/option\u003E\n \u003Coption value=\u0022India\u0022\u003EIndia\u003C/option\u003E\n \u003Coption value=\u0022Indonesia\u0022\u003EIndonesia\u003C/option\u003E\n \u003Coption value=\u0022Iran\u0022\u003EIran\u003C/option\u003E\n \u003Coption value=\u0022Iraq\u0022\u003EIraq\u003C/option\u003E\n \u003Coption value=\u0022Ireland\u0022\u003EIreland\u003C/option\u003E\n \u003Coption value=\u0022Israel\u0022\u003EIsrael\u003C/option\u003E\n \u003Coption value=\u0022Italy\u0022\u003EItaly\u003C/option\u003E\n \u003Coption value=\u0022Jamaica\u0022\u003EJamaica\u003C/option\u003E\n \u003Coption value=\u0022Japan\u0022\u003EJapan\u003C/option\u003E\n \u003Coption value=\u0022Jordan\u0022\u003EJordan\u003C/option\u003E\n \u003Coption value=\u0022Kazakhstan\u0022\u003EKazakhstan\u003C/option\u003E\n \u003Coption value=\u0022Kenya\u0022\u003EKenya\u003C/option\u003E\n \u003Coption value=\u0022Kiribati\u0022\u003EKiribati\u003C/option\u003E\n \u003Coption value=\u0022Korea, North\u0022\u003EKorea, North\u003C/option\u003E\n \u003Coption value=\u0022Korea, South\u0022\u003EKorea, South\u003C/option\u003E\n \u003Coption value=\u0022Kosovo\u0022\u003EKosovo\u003C/option\u003E\n \u003Coption value=\u0022Kuwait\u0022\u003EKuwait\u003C/option\u003E\n \u003Coption value=\u0022Kyrgyzstan\u0022\u003EKyrgyzstan\u003C/option\u003E\n \u003Coption value=\u0022Laos\u0022\u003ELaos\u003C/option\u003E\n \u003Coption value=\u0022Latvia\u0022\u003ELatvia\u003C/option\u003E\n \u003Coption value=\u0022Lebanon\u0022\u003ELebanon\u003C/option\u003E\n \u003Coption value=\u0022Lesotho\u0022\u003ELesotho\u003C/option\u003E\n \u003Coption value=\u0022Liberia\u0022\u003ELiberia\u003C/option\u003E\n \u003Coption value=\u0022Libya\u0022\u003ELibya\u003C/option\u003E\n \u003Coption value=\u0022Liechtenstein\u0022\u003ELiechtenstein\u003C/option\u003E\n \u003Coption value=\u0022Lithuania\u0022\u003ELithuania\u003C/option\u003E\n \u003Coption value=\u0022Luxembourg\u0022\u003ELuxembourg\u003C/option\u003E\n \u003Coption value=\u0022Macau\u0022\u003EMacau\u003C/option\u003E\n \u003Coption value=\u0022Macedonia\u0022\u003EMacedonia\u003C/option\u003E\n \u003Coption value=\u0022Madagascar\u0022\u003EMadagascar\u003C/option\u003E\n \u003Coption value=\u0022Malawi\u0022\u003EMalawi\u003C/option\u003E\n \u003Coption value=\u0022Malaysia\u0022\u003EMalaysia\u003C/option\u003E\n \u003Coption value=\u0022Maldives\u0022\u003EMaldives\u003C/option\u003E\n \u003Coption value=\u0022Mali\u0022\u003EMali\u003C/option\u003E\n \u003Coption value=\u0022Malta\u0022\u003EMalta\u003C/option\u003E\n \u003Coption value=\u0022Marshall Islands\u0022\u003EMarshall Islands\u003C/option\u003E\n \u003Coption value=\u0022Mauritania\u0022\u003EMauritania\u003C/option\u003E\n \u003Coption value=\u0022Mauritius\u0022\u003EMauritius\u003C/option\u003E\n \u003Coption value=\u0022Mexico\u0022\u003EMexico\u003C/option\u003E\n \u003Coption value=\u0022Micronesia\u0022\u003EMicronesia\u003C/option\u003E\n \u003Coption value=\u0022Moldova\u0022\u003EMoldova\u003C/option\u003E\n \u003Coption value=\u0022Monaco\u0022\u003EMonaco\u003C/option\u003E\n \u003Coption value=\u0022Mongolia\u0022\u003EMongolia\u003C/option\u003E\n \u003Coption value=\u0022Montenegro\u0022\u003EMontenegro\u003C/option\u003E\n \u003Coption value=\u0022Morocco\u0022\u003EMorocco\u003C/option\u003E\n \u003Coption value=\u0022Mozambique\u0022\u003EMozambique\u003C/option\u003E\n \u003Coption value=\u0022Namibia\u0022\u003ENamibia\u003C/option\u003E\n \u003Coption value=\u0022Nauru\u0022\u003ENauru\u003C/option\u003E\n \u003Coption value=\u0022Nepal\u0022\u003ENepal\u003C/option\u003E\n \u003Coption value=\u0022Netherlands\u0022\u003ENetherlands\u003C/option\u003E\n \u003Coption value=\u0022Netherlands Antilles\u0022\u003ENetherlands Antilles\u003C/option\u003E\n \u003Coption value=\u0022New Zealand\u0022\u003ENew Zealand\u003C/option\u003E\n \u003Coption value=\u0022Nicaragua\u0022\u003ENicaragua\u003C/option\u003E\n \u003Coption value=\u0022Niger\u0022\u003ENiger\u003C/option\u003E\n \u003Coption value=\u0022Nigeria\u0022\u003ENigeria\u003C/option\u003E\n \u003Coption value=\u0022North Korea\u0022\u003ENorth Korea\u003C/option\u003E\n \u003Coption value=\u0022Norway\u0022\u003ENorway\u003C/option\u003E\n \u003Coption value=\u0022Oman\u0022\u003EOman\u003C/option\u003E\n \u003Coption value=\u0022Pakistan\u0022\u003EPakistan\u003C/option\u003E\n \u003Coption value=\u0022Palau\u0022\u003EPalau\u003C/option\u003E\n \u003Coption value=\u0022Palestinian Territories\u0022\u003EPalestinian Territories\u003C/option\u003E\n \u003Coption value=\u0022Panama\u0022\u003EPanama\u003C/option\u003E\n \u003Coption value=\u0022Papua New Guinea\u0022\u003EPapua New Guinea\u003C/option\u003E\n \u003Coption value=\u0022Paraguay\u0022\u003EParaguay\u003C/option\u003E\n \u003Coption value=\u0022Peru\u0022\u003EPeru\u003C/option\u003E\n \u003Coption value=\u0022Philippines\u0022\u003EPhilippines\u003C/option\u003E\n \u003Coption value=\u0022Poland\u0022\u003EPoland\u003C/option\u003E\n \u003Coption value=\u0022Portugal\u0022\u003EPortugal\u003C/option\u003E\n \u003Coption value=\u0022Qatar\u0022\u003EQatar\u003C/option\u003E\n \u003Coption value=\u0022Romania\u0022\u003ERomania\u003C/option\u003E\n \u003Coption value=\u0022Russia\u0022\u003ERussia\u003C/option\u003E\n \u003Coption value=\u0022Rwanda\u0022\u003ERwanda\u003C/option\u003E\n \u003Coption value=\u0022Saint Kitts and Nevis\u0022\u003ESaint Kitts and Nevis\u003C/option\u003E\n \u003Coption value=\u0022Saint Lucia\u0022\u003ESaint Lucia\u003C/option\u003E\n \u003Coption value=\u0022Saint Vincent and the Grenadines\u0022\u003ESaint Vincent and the Grenadines\u003C/option\u003E\n \u003Coption value=\u0022Samoa\u0022\u003ESamoa\u003C/option\u003E\n \u003Coption value=\u0022San Marino\u0022\u003ESan Marino\u003C/option\u003E\n \u003Coption value=\u0022Sao Tome and Principe\u0022\u003ESao Tome and Principe\u003C/option\u003E\n \u003Coption value=\u0022Saudi Arabia\u0022\u003ESaudi Arabia\u003C/option\u003E\n \u003Coption value=\u0022Senegal\u0022\u003ESenegal\u003C/option\u003E\n \u003Coption value=\u0022Serbia\u0022\u003ESerbia\u003C/option\u003E\n \u003Coption value=\u0022Seychelles\u0022\u003ESeychelles\u003C/option\u003E\n \u003Coption value=\u0022Sierra Leone\u0022\u003ESierra Leone\u003C/option\u003E\n \u003Coption value=\u0022Singapore\u0022\u003ESingapore\u003C/option\u003E\n \u003Coption value=\u0022Sint Maarten\u0022\u003ESint Maarten\u003C/option\u003E\n \u003Coption value=\u0022Slovakia\u0022\u003ESlovakia\u003C/option\u003E\n \u003Coption value=\u0022Slovenia\u0022\u003ESlovenia\u003C/option\u003E\n \u003Coption value=\u0022Solomon Islands\u0022\u003ESolomon Islands\u003C/option\u003E\n \u003Coption value=\u0022Somalia\u0022\u003ESomalia\u003C/option\u003E\n \u003Coption value=\u0022South Africa\u0022\u003ESouth Africa\u003C/option\u003E\n \u003Coption value=\u0022South Korea\u0022\u003ESouth Korea\u003C/option\u003E\n \u003Coption value=\u0022South Sudan\u0022\u003ESouth Sudan\u003C/option\u003E\n \u003Coption value=\u0022Spain\u0022\u003ESpain\u003C/option\u003E\n \u003Coption value=\u0022Sri Lanka\u0022\u003ESri Lanka\u003C/option\u003E\n \u003Coption value=\u0022Sudan\u0022\u003ESudan\u003C/option\u003E\n \u003Coption value=\u0022Suriname\u0022\u003ESuriname\u003C/option\u003E\n \u003Coption value=\u0022Swaziland\u0022\u003ESwaziland\u003C/option\u003E\n \u003Coption value=\u0022Sweden\u0022\u003ESweden\u003C/option\u003E\n \u003Coption value=\u0022Switzerland\u0022\u003ESwitzerland\u003C/option\u003E\n \u003Coption value=\u0022Syria\u0022\u003ESyria\u003C/option\u003E\n \u003Coption value=\u0022Taiwan\u0022\u003ETaiwan\u003C/option\u003E\n \u003Coption value=\u0022Tajikistan\u0022\u003ETajikistan\u003C/option\u003E\n \u003Coption value=\u0022Tanzania\u0022\u003ETanzania\u003C/option\u003E\n \u003Coption value=\u0022Thailand\u0022\u003EThailand\u003C/option\u003E\n \u003Coption value=\u0022Timor-Leste\u0022\u003ETimor-Leste\u003C/option\u003E\n \u003Coption value=\u0022Togo\u0022\u003ETogo\u003C/option\u003E\n \u003Coption value=\u0022Tonga\u0022\u003ETonga\u003C/option\u003E\n \u003Coption value=\u0022Trinidad and Tobago\u0022\u003ETrinidad and Tobago\u003C/option\u003E\n \u003Coption value=\u0022Tunisia\u0022\u003ETunisia\u003C/option\u003E\n \u003Coption value=\u0022Turkey\u0022\u003ETurkey\u003C/option\u003E\n \u003Coption value=\u0022Turkmenistan\u0022\u003ETurkmenistan\u003C/option\u003E\n \u003Coption value=\u0022Tuvalu\u0022\u003ETuvalu\u003C/option\u003E\n \u003Coption value=\u0022Uganda\u0022\u003EUganda\u003C/option\u003E\n \u003Coption value=\u0022Ukraine\u0022\u003EUkraine\u003C/option\u003E\n \u003Coption value=\u0022United Arab Emirates\u0022\u003EUnited Arab Emirates\u003C/option\u003E\n \u003Coption value=\u0022United Kingdom\u0022\u003EUnited Kingdom\u003C/option\u003E\n \u003Coption value=\u0022Uruguay\u0022\u003EUruguay\u003C/option\u003E\n \u003Coption value=\u0022Uzbekistan\u0022\u003EUzbekistan\u003C/option\u003E\n \u003Coption value=\u0022Vanuatu\u0022\u003EVanuatu\u003C/option\u003E\n \u003Coption value=\u0022Venezuela\u0022\u003EVenezuela\u003C/option\u003E\n \u003Coption value=\u0022Vietnam\u0022\u003EVietnam\u003C/option\u003E\n \u003Coption value=\u0022Yemen\u0022\u003EYemen\u003C/option\u003E\n \u003Coption value=\u0022Zambia\u0022\u003EZambia\u003C/option\u003E\n \u003Coption value=\u0022Zimbabwe\u0022\u003EZimbabwe\u003C/option\u003E\n \u003C/select\u003E\n \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n\t\u003C/div\u003E\n\t\u003Cdiv class=\u0022form-group has-warning has-feedback\u0022\u003E\n \t\u003Clabel for=\u0022entry_1511054935\u0022\u003EZip code\u003C/label\u003E\n \t\u003Cinput type=\u0022number\u0022 class=\u0022form-control\u0022 placeholder=\u0022Enter zip code\u0022 name=\u0022entry.1511054935\u0022 id=\u0022entry_1511054935\u0022\u003E\n \t \u003Cspan class=\u0022glyphicon glyphicon-warning-sign form-control-feedback\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \u003Cspan id=\u0022helpBlock\u0022 class=\u0022help-block\u0022\u003EOnly numbers.\u003C/span\u003E \n \t\u003C/div\u003E\n\t\u003Cinput type=\u0022submit\u0022 class=\u0022btn btn-default btn-primary\u0022 disabled=\u0022disabled\u0022 name=\u0022submit\u0022 value=\u0022Submit\u0022 id=\u0022ss-submit\u0022 onclick=\u0022sentForm();\u0022\u003E \n\u003C/form\u003E\n\n\u003Ciframe name=\u0022hidden_iframe\u0022 id=\u0022hidden_iframe\u0022 style=\u0022display:none;\u0022\u003E\u003C/iframe\u003E\n\n\u003C!-- end form google --\u003E \n \u003Chr\u003E\n \u003Cdiv class=\u0022row\u0022\u003E\n \u003Cp class=\u0022alert alert-danger\u0022\u003E\n \t\tThis plug-in will apply automatically an Environment configuration, if you want to know more about it please visit the link\n \t\t\u003Ca target=\u0022no_blank\u0022 href=\u0022http://infocenter.pentaho.com/help48/index.jsp?topic=%2Fadmin_guide%2Ftask_switching_to_file_based_logging.html\u0022\u003E\n \t\t\t\u003Cspan class=\u0022glyphicon glyphicon-new-window\u0022 aria-hidden=\u0022true\u0022\u003E\u003C/span\u003E\n \t\t\u003C/a\u003E\n \t\u003C/p\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n \n \u003Cdiv class=\u0022modal-footer\u0022\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-default\u0022 data-dismiss=\u0022modal\u0022\u003EClose\u003C/button\u003E\n \u003C!-- \u003Cbutton type=\u0022button\u0022 class=\u0022btn btn-primary\u0022\u003ESave changes\u003C/button\u003E --\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n \u003C/div\u003E\n\u003C/div\u003E " }, { "name" : "fontSize",
\n
\n
\n

\n

\n
\n
\n \n

\n
\n \n Tweet #PentahoCEAudit\n \n \n Follow @it4bizbrazil\n \n
\n

\n \n

dHEaP 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 diff --git a/lib/cpk-core-9.0.0.0-423.jar b/lib/cpk-core-9.0.0.0-423.jar new file mode 100644 index 0000000000000000000000000000000000000000..f5580778b78f14ffe4e7143e3789101596e31923 GIT binary patch literal 84412 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≪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 J0aG)~{{u{}PCWns literal 0 HcmV?d00001 diff --git a/lib/cpk-pentaho5-5.2.0.0-209.jar b/lib/cpk-pentaho5-5.2.0.0-209.jar deleted file mode 100644 index a38ef28503759587f0f17233796765f71110ccef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26943 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 G?Ee9uINdh@ diff --git a/lib/cpk-pentaho5-9.0.0.0-423.jar b/lib/cpk-pentaho5-9.0.0.0-423.jar new file mode 100644 index 0000000000000000000000000000000000000000..006988fa138f75680eab45797ddc2a3008e8c669 GIT binary patch literal 30706 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 z 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