Hello All
I've installed the current version OpenEMM 5.3 (suse).
Afer the setup I created some targetgroups. topic1, topic2. In the mail template I added example entries for each topic i.e. there are place holders HTML-Topic1, HTML-Topic2. The fields topic1, topic2 are numeric (0 or 1, length 1). I added some test recipients with valid topic1/2 values.
When I open the preview of the current mailing all content elements that are assignd to targetgroups are missing. Older OpenEMM Versions show these content elements in the mailing preview window.
Thanks for any hint!
Markus
No target group content in mail preview?
Moderator: moderator
Bug Confirmation
Hi,
we confirmed this as a bug.
It will be fixed in our next version of OpenEMM, which will be released soon.
For further information check our bugtracker:
http://sourceforge.net/tracker/index.ph ... tid=848488
Thank you for finding this bug!
_________________
The OpenEMM Team
we confirmed this as a bug.
It will be fixed in our next version of OpenEMM, which will be released soon.
For further information check our bugtracker:
http://sourceforge.net/tracker/index.ph ... tid=848488
Thank you for finding this bug!
_________________
The OpenEMM Team
JFYI: I checked the mail preview in OpenEMM 5.1.1 (the vmware img). It seems that this bug affects this earlier version too!
The bug affects the TEXT mail preview too. I created one target group based on a numeric/alphanumeric field and added target group specific content. It seems that the group specific content isn't included in the newsletter mails either! Bug somewhere in the DynCollection/DynContent classes?
EDIT:
console_stdout.log lists some errors concerning the field THEMA_TEST2.
The bug affects the TEXT mail preview too. I created one target group based on a numeric/alphanumeric field and added target group specific content. It seems that the group specific content isn't included in the newsletter mails either! Bug somewhere in the DynCollection/DynContent classes?
EDIT:
console_stdout.log lists some errors concerning the field THEMA_TEST2.
Code: Select all
2007-10-18 14:44:45,504 - Using dialect: org.hibernate.dialect.MySQLDialect
18.10 (14:44:45) TargetImpl - isCustomerInGroup: Sourced file: inline evaluation of: ``return ( AgnUtils.compareString(AgnUtils.toLowerCase(THEMA_TEST2), AgnUtils.toLo . . . '' : Undefined argument: THEMA_TEST2
2007-10-18 14:44:45,567 - isCustomerInGroup: Sourced file: inline evaluation of: ``return ( AgnUtils.compareString(AgnUtils.toLowerCase(THEMA_TEST2), AgnUtils.toLo . . . '' : Undefined argument: THEMA_TEST2
18.10 (14:44:45) OpenSessionInViewFilter - Closing single Hibernate Session in OpenSessionInViewFilter
"AgnUtils.compareString(AgnUtils.toLowerCase" is used in method generateBsh. This is called in in Method isCustomerInGroup in Class TargetImpl.
Here is the connection with the preview.
The class MailingImpl implements getPreview:
Maybe this is the problem? The field name "thema_test2" is lower case.
In the generateBsh the field name is UPPER case (THEMA_TEST2), as mentioned in the log file.
In a earlier version 5.1 the fieldname in generateBsh remains as it is.
In the current 5.3 version the field name is converted to uppercase.
EDIT:
Yes this seems to be the bug. The field name is lowercase when added.
The mail preview stuff tries to fetch the field with uppercase name from the customer_1_tbl. I've changed to field name in the customer_1_table to uppercase.
Now the preview includes the target group specific content elements.
Here is the connection with the preview.
The class MailingImpl implements getPreview:
getPreview(String input_org, int inputType, int customerID, boolean overwriteMailtype, ApplicationContext con) {
...
while((aktTag=findNextDynTag(output.toString(), con))!=null) {
...
if(aTargetID==0) { // Target fits
contentString=aContent.getDynContent();
break; // stop processing list of content
} else {
if(aTarget.isCustomerInGroup(aBsh)) {
contentString=aContent.getDynContent();
break; // stop processing list of content
}
}
...
}
Maybe this is the problem? The field name "thema_test2" is lower case.
In the generateBsh the field name is UPPER case (THEMA_TEST2), as mentioned in the log file.
In a earlier version 5.1 the fieldname in generateBsh remains as it is.
Code: Select all
tmpBsh.append(this.primaryField);
Code: Select all
tmpBsh.append(this.primaryField.toUpperCase());
Yes this seems to be the bug. The field name is lowercase when added.
The mail preview stuff tries to fetch the field with uppercase name from the customer_1_tbl. I've changed to field name in the customer_1_table to uppercase.
Code: Select all
ALTER TABLE `customers_1_tbl` CHANGE `thema_test2` `THEMA_TEST2` varchar(1) collate utf8_unicode_ci default 'n'
-
- Site Admin
- Posts: 2628
- Joined: Thu Aug 03, 2006 10:20 am
- Location: Munich, Germany
- Contact:
MySQL vs. Oracle
Good job!
To shed some light on this issue: The reason behind this bug is that MySQL uses lower case field names, but Oracle - which we use for our commercial version EMM - insists on upper case field names. So, when we introduce or update a feature for our commercial version which we also want to include in the open source version OpenEMM, we have to adjust the handling of field names.
To shed some light on this issue: The reason behind this bug is that MySQL uses lower case field names, but Oracle - which we use for our commercial version EMM - insists on upper case field names. So, when we introduce or update a feature for our commercial version which we also want to include in the open source version OpenEMM, we have to adjust the handling of field names.
OpenEMM Maintainer