Problem with creating action

Use this forum for questions regarding adoption and functionality of OpenEMM

Moderator: moderator

Problem with creating action

Postby mikebac12 » Tue Feb 03, 2015 12:22 am

Hi,

I have installed OpenEMM 2015RC2 on a fresh install of Centos 7. Most things seem to be working but I was trying to create a new form and action that would allow for an unsubscribe multi link in an email. I used the older directions at the following link...

ftopic619.html

but when I copy and paste the following code into a new action and save it...

##unsubscribe script for more mailinglists

##set Company ID
#set($company = 1)

##Check the availability of the customer
#if($customerID != 0)
$BindingEntry.setCustomerID($customerID)

##define first mailinglist
$BindingEntry.setMailinglistID(1)

#if($BindingEntry.getUserBindingFromDB($company) == true)
#if($BindingEntry.getUserStatus() == 1)
$BindingEntry.setUserStatus(3)
$BindingEntry.setUserRemark("Opt-Out by Script")
$BindingEntry.updateBindingInDB($company)
#set($result="checked out from list A")
#else
#set($result="not active on list A")
#end
#else
#set($result="without binding to list A")
#end

##define second mailinglist
$BindingEntry.setMailinglistID(2)

#if($BindingEntry.getUserBindingFromDB($company) == true)
#if($BindingEntry.getUserStatus() == 1)
$BindingEntry.setUserStatus(3)
$BindingEntry.setUserRemark("Opt-Out by Script")
$BindingEntry.updateBindingInDB($company)
#set($result1="checked out from list B")
#else
#set($result1="not active on list B")
#end
#else
#set($result1="without binding to list B")
#end

#else
#set($result="not a customer of our mailings")
#set($result1="not a customer of our mailings")
#end

##necessary for a successful result
#set($scriptResult="1")

I get an error when trying to save that says " A general error occurred. Please check your input."

Any help would be greatly appreciated.

Thanks
Mike
mikebac12
 
Posts: 9
Joined: Tue Feb 03, 2015 12:14 am

Re: Problem with creating action

Postby maschoff » Thu Feb 05, 2015 8:28 am

Could you please have a look at Tomcat's log catalina.out in /home/openemm/logs/ and post its output here when you are trying to save the script?
OpenEMM Maintainer
maschoff
Site Admin
 
Posts: 2137
Joined: Thu Aug 03, 2006 10:20 am
Location: Munich, Germany

Re: Problem with creating action

Postby mikebac12 » Thu Feb 05, 2015 5:17 pm

Thanks much

2015-02-05 08:10:46,228: ERROR [http-8080-3] org.agnitas.web.EmmActionAction - execute
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into actop_execute_script_tbl (action_operation_id, script) values (?, ?)]; Data truncation: Data too long for column 'script' at row 1; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'script' at row 1
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:100)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:605)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:818)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:874)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:882)
at org.springframework.jdbc.core.simple.SimpleJdbcTemplate.update(SimpleJdbcTemplate.java:251)
at org.agnitas.emm.core.action.dao.impl.ActionOperationExecuteScriptDaoImpl.processSaveOperation(ActionOperationExecuteScriptDaoImpl.java:17)
at org.agnitas.emm.core.action.dao.impl.ActionOperationExecuteScriptDaoImpl.processSaveOperation(ActionOperationExecuteScriptDaoImpl.java:7)
at org.agnitas.emm.core.action.dao.impl.AbstractActionOperationDaoImpl.saveOperation(AbstractActionOperationDaoImpl.java:27)
at org.agnitas.dao.impl.EmmActionOperationDaoImpl.saveOperation(EmmActionOperationDaoImpl.java:88)
at org.agnitas.emm.core.action.service.impl.EmmActionServiceImpl.saveEmmAction(EmmActionServiceImpl.java:115)
at org.agnitas.web.EmmActionAction.saveAction(EmmActionAction.java:319)
at org.agnitas.web.EmmActionAction.execute(EmmActionAction.java:179)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:113)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.agnitas.web.filter.Struts1SecurityFilter.doFilter(Struts1SecurityFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajaxanywhere.AAFilter.doFilter(AAFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:232)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.agnitas.web.filter.SerializeRequestFilter.doFilter(SerializeRequestFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.agnitas.web.filter.SessionHijackingPreventionFilter.doFilter(SessionHijackingPreventionFilter.java:137)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'script' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4185)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:824)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:818)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589)
... 56 more
mikebac12
 
Posts: 9
Joined: Tue Feb 03, 2015 12:14 am

Re: Problem with creating action

Postby maschoff » Thu Feb 05, 2015 5:31 pm

Ok, your script is too long for field script (which can only 255 hold characters). We will provide a fix. Thanks for your notification!
OpenEMM Maintainer
maschoff
Site Admin
 
Posts: 2137
Joined: Thu Aug 03, 2006 10:20 am
Location: Munich, Germany

Re: Problem with creating action

Postby mikebac12 » Thu Feb 05, 2015 5:37 pm

Much appreciated
mikebac12
 
Posts: 9
Joined: Tue Feb 03, 2015 12:14 am

Re: Problem with creating action

Postby mdoerschmidt » Fri Feb 06, 2015 9:52 am

Hi!

the bug is easy to fix: Just convert the type of the column to "longtext".

On MySQL shell execute this statement:
alter table actop_execute_script_tbl change column `script` `script` longtext not null;


Best regards,

Markus
mdoerschmidt
 
Posts: 19
Joined: Fri Jan 04, 2013 8:55 am

Re: Problem with creating action

Postby mikebac12 » Fri Feb 06, 2015 5:22 pm

Hi Markus,

Thanks for the suggestion.


With MariaDB I used ...

ALTER TABLE actop_execute_script_tbl MODIFY script LONGTEXT NOT NULL;

and that seems to have done the trick. I have also downloaded and installed HeidiSQL for Windows which allows me to manipulate the databases and data(very cool tool).

Appreciate the help and all the best,

Mike

P.S. Nice work to all who have worked on this product. Very cool.
mikebac12
 
Posts: 9
Joined: Tue Feb 03, 2015 12:14 am

Re: Problem with creating action

Postby maschoff » Fri Feb 06, 2015 5:28 pm

Just curious: Which version of MariaDB do you use?
OpenEMM Maintainer
maschoff
Site Admin
 
Posts: 2137
Joined: Thu Aug 03, 2006 10:20 am
Location: Munich, Germany

Re: Problem with creating action

Postby mikebac12 » Fri Feb 06, 2015 5:41 pm

5.5.40

My understanding is that MariaDB has replaced MySQL.
mikebac12
 
Posts: 9
Joined: Tue Feb 03, 2015 12:14 am


Return to Using OpenEMM

Who is online

Users browsing this forum: No registered users and 1 guest