Skip to content
Snippets Groups Projects
Commit 5f4d3828 authored by Martin Groppe's avatar Martin Groppe Committed by Sebastian Listl
Browse files

[Projekt: xRM-Marketing][TicketNr.: 1063704][Serienmail-/Newsletter Auswertung ]

Umsetzung Workaround zum invisible setzen von eigener View nach Bedingung
parent e578eb28
No related branches found
No related tags found
No related merge requests found
Showing
with 679 additions and 1 deletion
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="m.groppe" id="09913f5d-9fe9-4cf9-b356-d329b8b0d277">
<addColumn tableName="BULKMAIL">
<column name="EMPLOYEE_CONTACT_ID" type="char(36)"/>
</addColumn>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<include relativeToChangelogFile="true" file="AlterBulkmail.xml"/>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<include relativeToChangelogFile="true" file="create_emailFilterHandling.xml"/>
<include relativeToChangelogFile="true" file="insert_emailFilterTypeKeyword.xml"/>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.listl" id="ee5b4770-5ecc-4fc1-a7aa-69bdb3cc730d">
<createTable tableName="EMAIL_FILTER_HANDLING">
<column name="EMAIL_FILTER_HANDLINGID" type="CHAR(36)">
<constraints nullable="false" primaryKey="true" primaryKeyName="PK_EMAIL_FILTER_HANDLINGID"/>
</column>
<column name="TITLE" type="NVARCHAR(250)">
<constraints nullable="false"/>
</column>
<column name="FILTER_TYPE" type="VARCHAR(36)">
<constraints nullable="false"/>
</column>
<column name="FILTER" type="NCLOB"/>
<column name="WORKFLOWDEFINITION_KEY" type="NVARCHAR(255)"/>
<column name="PRIORITY" type="INTEGER">
<constraints nullable="false"/>
</column>
<column name="ISACTIVE" type="TINYINT">
<constraints nullable="false"/>
</column>
<column name="DESCRIPTION" type="NVARCHAR(500)"/>
<column name="ISFALLTHROUGH" type="TINYINT">
<constraints nullable="false"/>
</column>
</createTable>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="s.listl" id="0c080e23-2090-4079-8d89-5e045af52ca2">
<insert tableName="AB_KEYWORD_CATEGORY">
<column name="AB_KEYWORD_CATEGORYID" value="893a5e99-1592-4e58-b5a3-4b04820b7a16"/>
<column name="NAME" value="EmailFilterType"/>
<column name="SORTINGBY" valueNumeric="0"/>
<column name="SORTINGDIRECTION" value="ASC"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="ce18fcea-f5c1-4d72-ad52-2546eb74fff1"/>
<column name="AB_KEYWORD_CATEGORY_ID" value="893a5e99-1592-4e58-b5a3-4b04820b7a16"/>
<column name="KEYID" value="EMAIL_FILTER_BLACKLIST"/>
<column name="TITLE" value="Blacklist"/>
<column name="CONTAINER" value="EmailFilterType"/>
<column name="SORTING" valueNumeric="1"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="5536e9b6-9f7a-4b74-a0eb-f3c2f49d94fc"/>
<column name="AB_KEYWORD_CATEGORY_ID" value="893a5e99-1592-4e58-b5a3-4b04820b7a16"/>
<column name="KEYID" value="EMAIL_FILTER_BOUNCESOFT"/>
<column name="TITLE" value="Soft Bounce"/>
<column name="CONTAINER" value="EmailFilterType"/>
<column name="SORTING" valueNumeric="2"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
<insert tableName="AB_KEYWORD_ENTRY">
<column name="AB_KEYWORD_ENTRYID" value="96a83778-8988-4d28-b2aa-43262305fdea"/>
<column name="AB_KEYWORD_CATEGORY_ID" value="893a5e99-1592-4e58-b5a3-4b04820b7a16"/>
<column name="KEYID" value="EMAIL_FILTER_BOUNCEHARD"/>
<column name="TITLE" value="Hard Bounce"/>
<column name="CONTAINER" value="EmailFilterType"/>
<column name="SORTING" valueNumeric="3"/>
<column name="ISACTIVE" valueNumeric="1"/>
<column name="ISESSENTIAL" valueNumeric="1"/>
</insert>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -8,5 +8,7 @@
<include relativeToChangelogFile="true" file="offerWorkflow/add_ab_keyword_entry_activityCategory.xml"/>
<include relativeToChangelogFile="true" file="create_standardWorkflow.xml"/>
<include relativeToChangelogFile="true" file="Advertising/changelog.xml"/>
<include relativeToChangelogFile="true" file="Bulkmail/changelog.xml"/>
<include relativeToChangelogFile="true" file="Addressvalidation/changelog.xml"/>
<include relativeToChangelogFile="true" file="EmailFilterHandling/changelog.xml"/>
</databaseChangeLog>
\ No newline at end of file
......@@ -27,5 +27,5 @@
<include relativeToChangelogFile="true" file="basic/workflows/changelog.xml" context="workflow"/>
<!--enable this only when you definetly want to overwrite the existing data with demo records:-->
<!--<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>-->
<include relativeToChangelogFile="true" file="basic/_demoData/changelog.xml" context="example"/>
</databaseChangeLog>
\ No newline at end of file
......@@ -10854,6 +10854,18 @@
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>EMPLOYEE_CONTACT_ID</name>
<columnType v="1" />
<size v="36" />
<dependencies>
<entityDependency>
<name>6a1da471-b60b-40ae-a099-89f8835abd61</name>
<entityName>CONTACT</entityName>
<fieldName>CONTACTID</fieldName>
</entityDependency>
</dependencies>
</entityFieldDb>
</entityFields>
</entityDb>
<entityDb>
......@@ -20884,6 +20896,152 @@
</entityFieldDb>
</entityFields>
</entityDb>
<entityDb>
<name>EMAIL_FILTER_HANDLING</name>
<dbName></dbName>
<idColumn>EMAIL_FILTER_HANDLINGID</idColumn>
<idGeneratorType v="0" />
<idGeneratorInterval v="1" />
<documentation></documentation>
<title></title>
<description></description>
<auditSyncConfig>
<name>auditSyncConfig</name>
<auditMode v="0" />
<syncActive v="false" />
<syncComplete v="true" />
<syncDirection v="1" />
<syncIds></syncIds>
</auditSyncConfig>
<entityFields>
<entityFieldDb>
<name>FILTER</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="-1" />
<size v="2147483647" />
<scale v="0" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>WORKFLOWDEFINITION_KEY</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="255" />
<scale v="0" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>FILTER_TYPE</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="36" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>TITLE</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="250" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>EMAIL_FILTER_HANDLINGID</name>
<dbName></dbName>
<primaryKey v="true" />
<columnType v="1" />
<size v="36" />
<scale v="0" />
<notNull v="true" />
<isUnique v="true" />
<index v="true" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>PRIORITY</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="4" />
<size v="10" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>ISACTIVE</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="-6" />
<size v="3" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>DESCRIPTION</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="500" />
<scale v="0" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>ISFALLTHROUGH</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="-6" />
<size v="3" />
<scale v="0" />
<notNull v="true" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
</entityFields>
</entityDb>
</entities>
</entityGroup>
</aliasDefDb>
......
......@@ -156,6 +156,20 @@
<title>Marketing</title>
<icon>VAADIN:GROUP</icon>
<childNodes>
<entityNode>
<name>Group16</name>
<kind v="123" />
<childNodes>
<entityNode>
<name>Marketingdashboard</name>
<kind v="10090" />
</entityNode>
<entityNode>
<name>PROJECT_Marketing</name>
<kind v="159" />
</entityNode>
</childNodes>
</entityNode>
<entityNode>
<name>Group10</name>
<kind v="123" />
......
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.21" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.21">
<name>BulkMailAnalysisBounceChart_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityField>
<name>UID</name>
</entityField>
<entityField>
<name>count</name>
</entityField>
<entityField>
<name>description</name>
</entityField>
<entityParameter>
<name>BulkMailId_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<contentProcess>%aditoprj%/entity/BulkMailAnalysisBounceChart_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>description.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>count.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
</entity>
import("system.translate");
import("Keyword_lib");
import("KeywordData_lib");
import("Sql_lib");
import("system.result");
import("system.vars");
import("KeywordRegistry_basic");
import("BulkmailAnalysis_lib")
var descriptions = ["Soft","Hard"];
var bulkMailAnalysisSql = new BulkMailAnalysisSql()
.setSelects([
BulkMailAnalysisSql.countSelects.SOFTBOUNCECOUNT,
BulkMailAnalysisSql.countSelects.HARDBOUNCECOUNT
]);
if (vars.get("$param.BulkMailId_param"))
bulkMailAnalysisSql.bulkMailId(vars.get("$param.BulkMailId_param"));
var amounts = bulkMailAnalysisSql.buildSelect().arrayRow();
var amountSum = amounts.reduce(function(sum, amount)
{
return sum + Number(amount);
}, 0);
var res = [];
if (amountSum != 0)
{
res = descriptions.map(function(description,position)
{
return [description, translate.text(description), amounts[position]];
});
}
result.object(res);
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.21" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.21">
<name>BulkMailAnalysisOpeningHourChart_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityField>
<name>UID</name>
</entityField>
<entityField>
<name>X</name>
</entityField>
<entityField>
<name>Y</name>
</entityField>
<entityField>
<name>CATEGORY</name>
<contentType>TEXT</contentType>
</entityField>
<entityParameter>
<name>BulkMailId_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<contentProcess>%aditoprj%/entity/BulkMailAnalysisOpeningHourChart_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>CATEGORY.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>CATEGORY.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>X.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>X.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>Y.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
</entity>
import("system.translate");
import("system.result");
import("system.db");
import("Sql_lib");
import("system.vars");
import("system.datetime");
var dataArray = new Array(24).fill(0);
newSelect("WEBLINK_CLICK.DATE_OPENED")
.from("MAIL_RUN")
.join("MAIL_LOG","MAIL_LOG.MAIL_RUN_ID = MAIL_RUN.MAIL_RUNID")
.join("WEBLINK_CLICK","MAIL_LOG.OPENER_LINK_CLICK_ID = WEBLINK_CLICK.WEBLINK_CLICKID")
.where("MAIL_RUN.TESTRUN",0)
.and("MAIL_RUN.OBJECT_TYPE","bulkmail")
.and("MAIL_LOG.OPENER_LINK_CLICK_ID is not null")
.andIfSet("MAIL_RUN.OBJECT_ROWID", "$param.BulkMailId_param")
.arrayColumn()
.forEach(function (pDate)
{
var hour = new Date(datetime.localTimestamp(pDate)).getHours();
dataArray[hour]++;
});
var categories = {
OPENER : "OPENER"
};
var records = dataArray.map(function (clicksPerHour, i)
{
return [
i,
categories.OPENER,
translate.text("Openers"),
i,
i.toString().padStart(2,0),
clicksPerHour || 0
];
})
result.object(records);
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.21" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.21">
<name>BulkMailAnalysisStatusFunnelChart_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityField>
<name>UID</name>
</entityField>
<entityField>
<name>statusDescription</name>
</entityField>
<entityField>
<name>statusCount</name>
</entityField>
<entityParameter>
<name>BulkMailId_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<contentProcess>%aditoprj%/entity/BulkMailAnalysisStatusFunnelChart_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>statusDescription.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>statusCount.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
</entity>
import("system.translate");
import("Keyword_lib");
import("KeywordData_lib");
import("Sql_lib");
import("system.result");
import("system.vars");
import("KeywordRegistry_basic");
import("BulkmailAnalysis_lib")
var statusArray = ["Recipients","Received","Openers","Klicks","Unsubscribes"];
var bulkMailAnalysisSql = new BulkMailAnalysisSql()
.setSelects([
BulkMailAnalysisSql.countSelects.SENDCOUNT,
BulkMailAnalysisSql.countSelects.RECEIVEDCOUNT,
BulkMailAnalysisSql.countSelects.OPENERCOUNT,
BulkMailAnalysisSql.countSelects.UNIQUECLICKCOUNT,
BulkMailAnalysisSql.countSelects.UNSUBSCRIBECOUNT
]);
if (vars.get("$param.BulkMailId_param"))
bulkMailAnalysisSql.bulkMailId(vars.get("$param.BulkMailId_param"));
var amounts = bulkMailAnalysisSql.buildSelect().arrayRow();
var res = statusArray.map(function(status,position){
return [status,translate.text(status),amounts[position]]
});
result.object(res);
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.21" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.21">
<name>BulkMailAnalysis_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<documentation>%aditoprj%/entity/BulkMailAnalysis_entity/documentation.adoc</documentation>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityProvider>
<name>#PROVIDER_AGGREGATES</name>
<useAggregates v="true" />
</entityProvider>
<entityField>
<name>clickRate</name>
<title>Clicks</title>
<displayValueProcess>%aditoprj%/entity/BulkMailAnalysis_entity/entityfields/clickrate/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>openerRate</name>
<title>Openers</title>
<displayValueProcess>%aditoprj%/entity/BulkMailAnalysis_entity/entityfields/openerrate/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>uniqueClickRate</name>
<title>Unique Clicks</title>
<displayValueProcess>%aditoprj%/entity/BulkMailAnalysis_entity/entityfields/uniqueclickrate/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>deliveryRate</name>
<title>Received</title>
<displayValueProcess>%aditoprj%/entity/BulkMailAnalysis_entity/entityfields/deliveryrate/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>bounceRate</name>
<title>Bounces</title>
<displayValueProcess>%aditoprj%/entity/BulkMailAnalysis_entity/entityfields/bouncerate/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>UID</name>
</entityField>
<entityField>
<name>unsubscribeRate</name>
<title>Unsubscribes</title>
<displayValueProcess>%aditoprj%/entity/BulkMailAnalysis_entity/entityfields/unsubscriberate/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>deviceType</name>
<title>Device Type</title>
</entityField>
<entityField>
<name>deviceTypeAmount</name>
</entityField>
<entityParameter>
<name>BulkMailId_param</name>
<expose v="true" />
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isPageable v="false" />
<isFilterable v="false" />
<contentProcess>%aditoprj%/entity/BulkMailAnalysis_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFieldMappings>
<jDitoRecordFieldMapping>
<name>UID.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>deviceType.value</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>deviceType.displayValue</name>
</jDitoRecordFieldMapping>
<jDitoRecordFieldMapping>
<name>deviceTypeAmount.value</name>
</jDitoRecordFieldMapping>
</recordFieldMappings>
</jDitoRecordContainer>
</recordContainers>
</entity>
== Bulkmail Analyses ==
This entity provides analyses to display different things of all bulkmail.
\ No newline at end of file
import("Sql_lib");
import("system.result");
import("system.vars");
import("KeywordRegistry_basic");
import("BulkmailAnalysis_lib");
var bulkMailAnalysisSql = new BulkMailAnalysisSql()
.setSelects([
BulkMailAnalysisSql.countSelects.RECEIVEDCOUNT,
BulkMailAnalysisSql.countSelects.BOUNCECOUNT
]).buildSelect();
var [deliveredMails, bounces] = bulkMailAnalysisSql.arrayRow();
var ratio = 0;
if (deliveredMails != 0 && bounces != 0)
{
ratio = Number(bounces) / Number(deliveredMails);
}
result.string(bounces + " - " + (ratio * 100).toFixed(2) + "%");
import("BulkmailAnalysis_lib");
import("Sql_lib");
import("system.result");
import("system.vars");
import("KeywordRegistry_basic");
bulkMailAnalysisSql = new BulkMailAnalysisSql()
.setSelects([
BulkMailAnalysisSql.countSelects.RECEIVEDCOUNT,
BulkMailAnalysisSql.countSelects.CLICKCOUNT
]).buildSelect();
var [deliveredMails, clicks] = bulkMailAnalysisSql.arrayRow();
var ratio = 0;
if (deliveredMails != 0 && clicks != 0)
{
ratio = Number(clicks) / Number(deliveredMails);
}
result.string(clicks + " - " + (ratio * 100).toFixed(2) + "%");
import("BulkmailAnalysis_lib");
import("Sql_lib");
import("system.result");
import("system.vars");
import("KeywordRegistry_basic");
var bulkMailAnalysisSql = new BulkMailAnalysisSql()
.setSelects([
BulkMailAnalysisSql.countSelects.RECEIVEDCOUNT,
BulkMailAnalysisSql.countSelects.SENDCOUNT
]).buildSelect();
var [deliveredMails, sentMails] = bulkMailAnalysisSql.arrayRow();
var ratio = 0;
if (deliveredMails != 0 && sentMails != 0)
{
ratio = Number(deliveredMails) / Number(sentMails);
}
result.string(deliveredMails + " - " + (ratio * 100).toFixed(2) + "%");
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment