ecodev / newsletter Goto Github PK
View Code? Open in Web Editor NEWTYPO3 extension to send newsletter
Home Page: https://extensions.typo3.org/extension/newsletter/
TYPO3 extension to send newsletter
Home Page: https://extensions.typo3.org/extension/newsletter/
Just for the record
150220 17:26:28 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted. Statement: UPDATE tx_newsletter_domain_model_email SET open_time = 1424449586 WHERE open_time = 0 AND MD5(CONCAT(uid, recipient_address)) = 'b5c3ff722252b29f57e5a146eb32d71b' LIMIT 1
occurs on mysql server 5.5 and floods the errorlog, which leads to performance loss :-)
Dunno if removing the limit hurts at all
In line 55 of ExtDirectProviderViewHelper.php ObjectManager::create is used, but this is deprecated since Extbase 6.1.0 and will be removed in Extbase 6.3.0. Please change to ObjectManager::get().
Fatal error: Class 'TYPO3\CMS\Frontend\ContentObject\GeneralUtility' not found in /home/xx/www/TYPO3/TYPO3_6-1/TYPO3.CMS/typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php on line 5943
Fresh Typo 6.1.8-dev
I have a problem with the Scheduler Task. I changed the exec
command to passthru
and changed the "-s" fetchmail flag to "-v" to get some more Information why the handling of bounced mails does not work.
At some point some PHP header Information is sent X-Powered-By: PHP/5.4.24 Expires: 0 Last-Modified: Sat, 08 Feb 2014 16:14:29 GMT Cache-Control: no-cache, must-revalidate Pragma: no-cache Content-Type:text/html;charset=utf-8
I guess it is the cli_dispatch.phpsh newsletter_bounce
mda call.
The TYPO3 6.1.7 installation is on a 1und1 Server using
(uiserver):uxxxxxxxxxx:~ > /usr/bin/php6 -v
PHP 5.4.24 (cgi-fcgi) (built: Jan 20 2014 18:35:37)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
the cli_dispatch.phpsh
generally works - the Scheduler ist also called via cli_dispatch.phpsh
.
Because of the several PHP Versions 1und1 is running on that host, I changed the first line of cli_dispatch.phpsh to:
#!/usr/bin/php6 -q
here is the complete output of the fetchmail call:
fetchmail: 6.3.26 querying pop.1und1.de (protocol POP3) at Sat Feb 8 17:14:28 2014: poll started
Trying to connect to 212.227.15.178/110...connected.
fetchmail: POP3< +OK POP server ready H mieue108 0LxxY4-1V79dF2t4m-015ROc
fetchmail: POP3> CAPA
fetchmail: POP3< +OK Capability list follows
fetchmail: POP3< TOP
fetchmail: POP3< USER
fetchmail: POP3< UIDL
fetchmail: POP3< STLS
fetchmail: POP3< SASL PLAIN
fetchmail: POP3< IMPLEMENTATION trinity
fetchmail: POP3< .
fetchmail: POP3> USER [email protected]
fetchmail: POP3< +OK password required for user "[email protected]"
fetchmail: POP3> PASS *
fetchmail: POP3< +OK mailbox "[email protected]" has 3 messages (336786 octets) H mieue108
fetchmail: POP3> STAT
fetchmail: POP3< +OK 3 336786
fetchmail: POP3> LAST
fetchmail: POP3< -ERR unknown command
fetchmail: POP3> UIDL
fetchmail: POP3< +OK
fetchmail: POP3< 1 0LjcDo-1VfJbH1a8G-00bRKs
fetchmail: POP3< 2 0Lviye-1V9MWz21T2-017YRP
fetchmail: POP3< 3 0MBD3x-1W2Zdh2h6L-00AEmV
fetchmail: POP3< . 3 messages for [email protected] at pop.1und1.de (336786 octets).
fetchmail: POP3> LIST 1
fetchmail: POP3< +OK 1 111327
fetchmail: POP3> TOP 1 99999999
fetchmail: POP3< +OK reading message [email protected]@pop.1und1.de:1 of 3 (111327 octets) #*********************.***********************************.***********************************************.********************************************************.*********************************.*****************************************.*****************************************************************.*****************************************************************************************.*******************************************************.***************************************.*****************************************.***************************************************************************.*********************************************************************************.*************************************************************************************.***************************************************************************.********************************************************************.***********************************************************************.***************************************************************.***************************************.*********************************.*******************************************************.**************************************************************************.************************************************.***************.********************.***************.*****************.****************************.*****************.*********************.**************************.*****************************.******************.****************.***************************.***************.*************.*************.**************.*************.*************.*************.*************.*************.*****************.**************.*************.****************.***************.*************.*************.*************.*************.**************.*************.*************.*************.*************.*************.*************.*************.**************.*************.*************.*************.*************.*************.*************.**************.*X-Powered-By: PHP/5.4.24 Expires: 0 Last-Modified: Sat, 08 Feb 2014 16:14:29 GMT Cache-Control: no-cache, must-revalidate Pragma: no-cache Content-Type:text/html;charset=utf-8
fetchmail: error writing message text
fetchmail: POP3> QUIT
fetchmail: POP3< ULW/FXEo9U5JsYAMoY6BWDdjt03A/gNQO/Qc1i1MFr1NFPkZ9DOdQSG7nbroNQp/zDqNlskKhcqQ
fetchmail: 6.3.26 querying pop.1und1.de (protocol POP3) at Sat Feb 8 17:14:29 2014: poll completed
fetchmail: Query status=6 (IOERR)
fetchmail: normal termination, status 6
Thanks for any ideas!
Christian
A manual tailored for newsletter editors would be welcome. That would mean especially much less technical details and simpler explanations of how to send newsletter.
If there are rows in table tx_newsletter_domain_model_newsletter where deleted=1 or hidden=1, then the scheduler throws an error.
Maybe the selection of all newsletters that should be sent, doesn't ask for these attributes.
If I delete all entries from tx_newsletter_domain_model_newsletter where deleted=1 or hidden=1, the scheduler sends as planned.
Hi,
When sending a newsletter in test mode, the newsletter is sent two times and I have an error message saying that there's a network connection problem and those error messages when trying to see the statistics :
An error occurred while trying to call Tx_Newsletter_Controller_NewsletterController->statisticsAction()
An error occurred while trying to call Tx_Newsletter_Controller_LinkController->listAction()
An error occurred while trying to call Tx_Newsletter_Controller_EmailController->listAction()
The statistics are not displayed the first time, I had to get out of the module and get in again in order to see the statistics.
Everythings works fine with the scheduler.
Regards,
Florian
I tried to send a newsletter with 800 mails. The amount the mails per cycle is set to 100. After the first run of the scheduler task, the message:
[It is configured to send 100 emails per execution. There is currently an approximative total of 0 emails that needs to be sent for 0 planned newsletters.]
is not updated to 700 mails and 1 newsletter. Instead the message from above is shown.
Core: Error handler (BE): PHP Catchable Fatal Error: Argument 1 passed to Tx_Newsletter_Mailer::setNewsletter() must be an instance of Tx_Newsletter_Domain_Model_Newsletter, null given, called in /.../typo3conf/ext/newsletter/Classes/Tools.php on line 91 and defined in /.../typo3conf/ext/newsletter/Classes/Mailer.php line 87
Task just stops after scheduler site wont reload.
Newest Git Version installed on TYPO3 6.1.7
how great it would be to have such a nice tool!?
it could work as follows:
...any ideas/suggestions?
Any idea wich subscription addon we can use with ext:newsletter to subscripe and unsubscribe inside the newsletter?
Thanks.
Hi
trying the newsletter I found:
web > List > select a page from tree > table: recipient list > New record
and added a new field then;
I do some attempt but it seems that the only way to fill with 'csv' is to:
this seems to be the only way to "upload" a list of email to use for the newsletter.
Finally, If I am in wrong, please documentate as the CSV format is very amiguous (some export with with " other not...)
Labels are currently hardcoded in the templates. Those should be replaced by translations.
I got the point. As soon ext:news and ext:newsletter is installed I get a weird namespace thing. If one of them is removed, everything is OK.
Has @georgringer an idea?
Fatal error: Uncaught exception 'TYPO3\CMS\Extbase\Object\Container\Exception\UnknownObjectException' with message 'Could not analyse class:Ecodev\News\Controller\NewsController maybe not loaded or no autoloader?' in /var/www/web23/html/TYPO3.CMS/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php:37 Stack trace: #0 /var/www/web23/html/TYPO3.CMS/typo3/sysext/extbase/Classes/Object/Container/Container.php(315): TYPO3\CMS\Extbase\Object\Container\ClassInfoFactory->buildClassInfoFromClassName('Ecodev\\News\\Con...') #1 /var/www/web23/html/TYPO3.CMS/typo3/sysext/extbase/Classes/Object/Container/Container.php(157): TYPO3\CMS\Extbase\Object\Container\Container->getClassInfo('Ecodev\\News\\Con...') #2 /var/www/web23/html/TYPO3.CMS/typo3/sysext/extbase/Classes/Object/Container/Container.php(108): TYPO3\CMS\Extbase\Object\Container\Container->getInstanceInternal('Ecodev\\News\\Con...', Array) #3 /var/www/web23/html/TYPO3.CMS/typo3/sysext/extbase/Classes/Object/ObjectManager.php(94): TYP in /var/www/web23/html/TYPO3.CMS/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php on line 37
Ecodev\News\Controller\NewsController
I doubt that Newsletter has a NewsController ... Perhaps it is a TYPO in any namespace declaration that leads to this?
with phpstorm on different namespace declaration terms, did not bring up a TYPO issue.
Hi @PowerKiKi,
I'm facing a problem and I can't find why this is happening. When I want to send the news letter, in the first step, the screen say:
Erreurs
Contenu trop court. Le contenu doit être d'au moins 200 caractères pour être considéré valide.
I have done a "responsive" newsletter with fluid template: http://tcag.ch/newsletter/test-newsletter/
For my need , i generate all the html/body in the fluid template, so I have disabled the Typo3 part with:
page {
config {
# Unset the header (html/header) tag, as it's is provided by the fluid template
disableAllHeaderCode = 1
### set to 0 on live version and to 1 for development
no_cache = 1
# remove comment output
disablePrefixComment = 1
# indexed search
index_externals = 0
index_enable = 0
}
}
When I was generating the htm/header with Typo3 (not in fluid template), all was ok.
Any idea why ?
Thanx for your help !
Sylvain
Installing newsletter in Typo3 v7.2 (with compatibility6) produces error message "Class TYPO3\CMS\Extbase\Mvc\Controller\FlashMessageContainer does not exist" in the backend
At the moment if you have the statistics enabled and the reciever does not accept the counter-image, the counter get not raised. Clear so far. But if this person clicks a link the counter is also not raised. This should be taken into account once.
A feature for adding additional parameters to links in the email-content would be nice. In my case i need the following for tracking in Google Tag Manager: &utm_source=newsletter&utm_medium=email&utm_campaign=#uid#
I think the easiest way is to add a TS-setting in the function "getLinkAuthCode".
Passwords for bounceaccount are stored in plaintext.
It should be a normal behaviour to store passwords salted.
History
1 Updated by Adrien Crivelli over 1 year ago
Comment Edit
I am not sure salted passwords is the solution here, as we need to be able to retrieve the original password. I had a look a few months ago in t3lib for some functions to do that, but I could not find out anything fitting our needs. Would you have anything specific to suggest ?
2 Updated by d.ros no-lastname-given over 1 year ago
Comment Edit
Dunno really. I had some time ago the need to implement RSA into an individual extension and made it with Portable PHP password hashing framework. -> http://www.openwall.com/phpass/
Greets
3 Updated by Adrien Crivelli over 1 year ago
Comment Edit
phpass is interesting, but again its for hashing, not encrypt/decrypt. So we can't get original password back with phpass.
I guess we'll have to look harder for something else or just come up with our own implementation...
it would be nice to have a button, with which you can test the accessibility of a bounce-account to avoid sending newsletters with an outdated bounce-address.
this test could be useful too before queueing newsletters.
If you choose the embedded images option and click in a newsletter on the "show in browser link" all the images are not displayed. You and up with a page without Images. Instead you have the tags like: <img rc="###_#_SWIFT_EMBEDDED_MARKER_1_#_###">
I think the substitution process of images should be disabled for this page.
In my template the i have <a href="###newsletter_unsubscribe_url###">unsubscribe</a>
. The problem is, that this link is computed by the mail-open-spy-handler and so i get an invalid unsubscribe link with click-tracking.
I had to add
'/550 Address invalid/i',
to the list of "Matches for hard bounces" in BounceHandler.php
Attachment are available but the GUI does not exist for it. We have to edit newsletter record via TCA (list mode) which is really cumbersome.
We need to implement something more straightforward, probably in "advanced" section.
Hi!
I have a problem with the performance of the extension. It only sends about 200 newsletters/hour.
I'm using Typo3 6.1.5, Newsletter 2.1.1.
SMTP Server is configured. Cron Job runs every 5 min for 250 newsletters.
On the same server, Typo3 4.7.4 and Direct Mail 6.0.2, 3000 newsletter/hour are no problem.
Does anyone have an idea what might be wrong?
Thank you & Best,
Otto
Do embedded images work for you with Android and IOS Gmail (Native App and Webapp)?
I have always the issue that images are shown as attachments but aren't shown in the newsletter itself - and there is no option to show them by Gmail.
Another thing: I've translated the Ext to german. Are you interested in integrating it in the Extension. Or would you like to do translation by dint of http://translation.typo3.org?
Grz
Christian
Update validation engine according to http://www.campaignmonitor.com/css/
Maybe refactor the engine in another class so the Newsletter class doesn't grow so much.
We need to consider using and optional premailer server instead of re-writing an entire validation engine: https://github.com/alexdunae/premailer
So we would have "simple" validation built-in, or advanced validation + fixing with a premailer server.
Also see, http://www.email-standards.org.
If you set config.absRefPrefix which is recommended then you get links like href="/products/". The problem is in getValidatedContent() the links will be concatenated with the baseUrl, which result in http://mydomain.de//products/.
I think it is nothing critical, but should be adjusted.
If you use both a field substitution in a link and the feature "detect clicked links" following happens:
Link in the newsletter template:
<a href="http://your-server/index.php?id=1&mail=###email###">unsubscribe newsletter</a>
The plugin encodes the whole href part of the link and attaches its own functions for link detecting
Link in E-Mail
http://your-server/index.php?id=1&tx_newsletter_p%5Baction%5D=clicked&tx_newsletter_p%5Bcontroller%5D=Link&type=1342671779&url=http%3A%2F%2Fyour-server%2Findex.php%3Fid%3D1%26mail%3D%23%23%23email%23%23%23&n=9&l=91a17808bc28c038e92b02257696becc
so ###email###
is now %23%23%23email%23%23%23
and therefore, the plugin doesn't inserts the E-Mail Address given by the recipient
Error while sending test newsletter
The object of type "Tx_Newsletter_Domain_Model_Newsletter" given to update must be persisted already, but is new.
occurs after hitting the send test newsletter button. Normal sending works as expected.
TYPO3 : 6.2.10-dev git
Newsletter: git master from today
by examining the goog* I saw that this could be caused by the propertymapper but no clue what to do :-)
In my newsletters there is a wrong image source for the openSpy. The & is converted to the html-entity "&" so the src looks like:
<div><img src="http://domain.de/?tx_newsletter_p%5Baction%5D=opened&tx_newsletter_p%5Bcontroller...
-> so the image could not be loaded.
Original TcDirectmail implemented load balancing to send emails. This may be re-implemented as long as SwiftMailer allow us to change the configuration on the fly.
The old code for load balancing was deleted because it was not fully supported anymore, and the new proper way to implement it would be via SwiftMailer load balancing features.
Improve newsletter validation reports layout.
Maybe a grid would be more appropriate if there is a lot of errors/warnings ?
It would be nice to have a RealURL autconfig available.
Hello
Great extension, but a little less of documentation ;-).
Can you give me some help about my error? If I click on "Add to queue" I get the error:
PHP Warning: Invalid argument supplied for foreach() in /is/htdocs/wp1106888_H2WDP83R7T/www/typo3_sources/typo3_src-6.2.2/typo3/sysext/extbase/Classes/Validation/Validator/CollectionValidator.php line 103
Backtrace:
#0 /.../typo3/sysext/extbase/Classes/Validation/Validator/CollectionValidator.php(103): TYPO3\CMS\Core\Error\ErrorHandler->handleError(2, 'Invalid argumen...', '/is/htdocs/wp11...', 103, Array)
#1 .../typo3/sysext/extbase/Classes/Validation/Validator/GenericObjectValidator.php(178): TYPO3\CMS\Extbase\Validation\Validator\CollectionValidator->isValid(NULL)
#2 /.../typo3/sysext/extbase/Classes/Validation/Validator/GenericObjectValidator.php(137): TYPO3\CMS\Extbase\Validation\Validator\GenericObjectValidator->isPropertyValid(Object(Tx_Newsletter_Domain_Model_RecipientList_Sql), 'data')
#3 /.../typo3/sysext/extbase/Classes/Validation/Validator/ConjunctionValidator.php(76): TYPO3\CMS\Extbase\Validation\Validator\GenericObjectValidator->isValid(Object(Tx_Newsletter_Domain_Model_RecipientList_Sql))
#4 /.../typo3/sysext/extbase/Classes/Validation/Validator/GenericObjectValidator.php(178): TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator->isValid(Object(Tx_Newsletter_Domain_Model_RecipientList_Sql))
#5 /.../typo3/sysext/extbase/Classes/Validation/Validator/GenericObjectValidator.php(137): TYPO3\CMS\Extbase\Validation\Validator\GenericObjectValidator->isPropertyValid(Object(Tx_Newsletter_Domain_Model_Newsletter), 'recipientList')
#6 /./typo3/sysext/extbase/Classes/Validation/Validator/ConjunctionValidator.php(76): TYPO3\CMS\Extbase\Validation\Validator\GenericObjectValidator->isValid(Object(Tx_Newsletter_Domain_Model_Newsletter))
#7 /.../typo3/sysext/extbase/Classes/Validation/Validator/ConjunctionValidator.php(76): TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator->isValid(Object(Tx_Newsletter_Domain_Model_Newsletter))
#8 /.../typo3/sysext/extbase/Classes/Mvc/Controller/ArgumentsValidator.php(96): TYPO3\CMS\Extbase\Validation\Validator\ConjunctionValidator->isValid(Object(Tx_Newsletter_Domain_Model_Newsletter))
#9 /.../typo3/sysext/extbase/Classes/Mvc/Controller/ArgumentsValidator.php(54): TYPO3\CMS\Extbase\Mvc\Controller\ArgumentsValidator->isPropertyValid(Object(TYPO3\CMS\Extbase\Mvc\Controller\Arguments), 'newNewsletter')
#10 /.../typo3/sysext/extbase/Classes/Property/Mapper.php(121): TYPO3\CMS\Extbase\Mvc\Controller\ArgumentsValidator->isValid(Object(TYPO3\CMS\Extbase\Mvc\Controller\Arguments))
#11 /.../typo3/sysext/extbase/Classes/Mvc/Controller/AbstractController.php(453): TYPO3\CMS\Extbase\Property\Mapper->mapAndValidate(Array, Array, Object(TYPO3\CMS\Extbase\Mvc\Controller\Arguments), Array, Object(TYPO3\CMS\Extbase\Mvc\Controller\ArgumentsValidator))
#12 /.../typo3/sysext/extbase/Classes/Mvc/Controller/ActionController.php(164): TYPO3\CMS\Extbase\Mvc\Controller\AbstractController->mapRequestArgumentsToControllerArguments()
#13 /.../typo3/sysext/extbase/Classes/Mvc/Dispatcher.php(83): TYPO3\CMS\Extbase\Mvc\Controller\ActionController->processRequest(Object(TYPO3\CMS\Extbase\Mvc\Web\Request), Object(Tx_Newsletter_MVC_ExtDirect_TransactionResponse))
#14 /.../typo3conf/ext/newsletter/Classes/MVC/ExtDirect/RequestHandler.php(126): TYPO3\CMS\Extbase\Mvc\Dispatcher->dispatch(Object(TYPO3\CMS\Extbase\Mvc\Web\Request), Object(Tx_Newsletter_MVC_ExtDirect_TransactionResponse))
#15 /.../typo3/sysext/extbase/Classes/Core/Bootstrap.php(209): Tx_Newsletter_MVC_ExtDirect_RequestHandler->handleRequest()
#16 /.../typo3/sysext/extbase/Classes/Core/Bootstrap.php(198): TYPO3\CMS\Extbase\Core\Bootstrap->handleRequest()
#17 /.../typo3/sysext/extbase/Classes/Core/ModuleRunner.php(81): TYPO3\CMS\Extbase\Core\Bootstrap->run('', Array)
#18 /.../typo3/mod.php(51): TYPO3\CMS\Extbase\Core\ModuleRunner->callModule('web_NewsletterT...')
#19 {main}
Tried to use tt_address data as recipient-list by SQL-statement SELECT * FROM tt_address WHERE hidden=0
Thanks in advance!
Johannes
If your HTML contains CSS-properties like 'width', 'margin', 'height', 'padding' or 'position', a warning should be thrown.
But the warning is displayed several times and only if the property 'width' is used (somewhere inside, so 'max-width' is fetched too).
please integrate this patch:
+++ Classes/Domain/Model/Newsletter.php 2014-09-17 11:18:42.855977436 +0200
@@ -913,14 +913,18 @@
// Positioning & element sizes in CSS
$forbiddenCssProperties = array('width', 'margin', 'height', 'padding', 'position');
+ $forbiddenCssPropertiesWarnings = array();
if (preg_match_all('|<[a-z]+[^>]+style="([^"]*)"|', $content, $matches)) {
foreach ($matches[1] as $stylepart) {
foreach ($forbiddenCssProperties as $property) {
- if (strpos($stylepart, 'width') !== false) {
- $warnings[] = sprintf($LANG->getLL('validation_mail_contains_css_some_property'), $property);
+ if (preg_match('/[^-]\b' . $property . '\b[^-]/', $stylepart)) {
+ $forbiddenCssPropertiesWarnings[$property] = $property;
}
}
}
+ foreach ($forbiddenCssPropertiesWarnings as $property) {
+ $warnings[] = sprintf($LANG->getLL('validation_mail_contains_css_some_property'), $property);
+ }
}
return array(
if someone queued a newsletter, there should be an option to stop the sending and delete the newsletter if something terrible goes wrong.
...or at least the possibility, to stop current sending and queue a new version for the rest of the recipients.
if ###newsletter_unsubscribe_url### is placed within a href and "identify clicked links" is active the marker doesn't get substituted and looks like this.
http://domain/?tx_newsletter_p%5Baction%5D=clicked&tx_newsletter_p%5Bcontroller%5D=Link&type=1342671779&url=http%3A%2F%2Fdomain%2Fpage%3Ftype%3D9005%26L%3D%23%23%23newsletter_unsubscribe_url%23%23%23&n=706&l=5818b872d59258663c189f997e41a3a3
if you place ###newsletter_unsubscribe_url### in body and not as a href link the correct url is generated which is also functional. But it is no link at all.
When you set "basic.attach_images" you will get an error while sending mails.
The error looks like this:
"Unable to open file for reading [url_to_image]"
This error comes from "Classes/Mailer.php" line 190.
The reason is "Swift_EmbeddedFile::fromPath($url)" expect a filesystem path but a url is given.
I could fix it like this:
Insert on line 187
$urlPath = str_replace($this->siteUrl, '', $url);
$urlPath = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($urlPath);
and then i changed:
$this->attachmentsEmbedded[$swiftEmbeddedMarker] = Swift_EmbeddedFile::fromPath($url);
to:
$this->attachmentsEmbedded[$swiftEmbeddedMarker] = Swift_EmbeddedFile::fromPath($urlPath);
TYPO3 6.2.10
Newsletter 2.3.2
In statistics view implement an option to resend the newsletter to an alternative email in case the email bounced (or whatever may have happened or not).
The link to the browser view is also shown when in browser. The link should be removed there.
Improve statistics to have a better global overview of all pages sent as newsletter.
Add a toggle button "current page/all pages" on top of newsletter list, or a list of pages, or a two level tree page->newsletter with current page selected by default?
Then be able to select several newsletter and see cumulative statistics. Beware, that may be a huge amount of data.
Also this Statistics page should always be available, independently of page currently selected in TYPO3 page tree, so we will probably rework what was done for #38572 to enable/disable tabs when appropriate (with a possible tooltip to explain the situation in addition to message in Status tab).
Wold make sense due the possibility of location specific mailserver messages.
it would be nice if a frontend-user could register himself for specific newsletter-categories (ie. with help of "femanager" or similar frontend-user-registration, or simple included as part of the newsletter-system).
...are there any thoughts/ideas in this direction?
Hi Fabien, do you have an estimation about how much effort it may take to get this running for TYPO3 6.2?
This happens if upgraded from last Version and trying to reload the reciepientlist, which is empty.
Tx_Newsletter_Domain_Model_RecipientList_Sql is not allowed in reciepientlist. Must be changed to sql manually.
Take into account within updatescript or give advice in documentation.
It has been said by customers that the tab "status" - which is displayed by default - looks a bit geeky and displays too technical information.
I would suggest to move information related to "Newsletter validity" into its own tab "Validity". Furthermore, I would add a few instructions within the tab "status" to guide the user when the newsletter has never been sent.
History
Updated by Adrien Crivelli over 1 year ago
Guiding user is a good idea, it's quite "rough" for now.
However I would not hide the validation message in another tab, because it's specifically something we wanted to expose when mocking up the GUI for this extension. Users must be aware that their newsletter is of poor quality if it's the case. So I would rather improve the current layout/messages than hide it altogether (maybe collapsing things ? or a "dumbed down" version ?). The ticket #29610 was created quite a long time ago for that and we could continue the discussion over there (splitting this ticket in two).
Updated by Fabien Udriot over 1 year ago
I have the following concerns with the tab "status":
The content is slow to render because of analyzing the output.
Information is not really relevant towards editors users because it is not their purpose and also because they can't do much (except perhaps content from RTE). It is more something targeting admin user in my eyes.
If we keep this info on the first tab, then I would go for a button or something like that which would display a report on-demand. What do you think?
Updated by Adrien Crivelli over 1 year ago
I am not 100% convinced that user, even "simple" editors, should be ignorant of the quality of their work, even if they cannot do much by themselves about that, they can at least contact for help.
The latency is a very good point though, and the on-demand validity check seems to be a good compromise for everybody. Still visible, but not too much "in the way".
Updated by Adrien Crivelli about 16 hours ago
Still an interesting idea, but not quit fit for a minor release. Postponing to an undefined version.
DUE an xss issue contrib/extjs/resources/charts.swf was removed
2014-05-22 32efb1b #54526 [SECURITY] Remove charts.swf to get rid of XSS vulnerability (Helmut Hummel)
Time for some http://g.raphaeljs.com/ or http://www.chartjs.org/
Cheers
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.