Code Monkey home page Code Monkey logo

notiz's Introduction

Important

Due to lack of time and motivation, and mostly because I stopped working with TYPO3 on a daily basis, this project is not maintained anymore. If anyone wants to maintain it, please feel free to contact me; creating an issue seems to be the best way to discuss about it.


NotiZ NotiZ • Powerful notification dispatcher

“Handle any type of notification in TYPO3 with ease: emails, SMS, Slack and more. Listen to your own events or provided ones (scheduler task finishing, extension installed, etc…).”

Latest Version on Packagist Total Downloads Software License Scrutinizer Code Quality StyleCI check Maintainability


NotiZ is a TYPO3TYPO3 extension allowing to easily manage notifications in a TYPO3 instance.

Notifications listen to events fired within the application and can be dispatched to several channels: emails, SMS, Slack messages…

To ease editors lives, everything can be managed directly in the TYPO3 backend.

Example

Install

See Installation chapter from the documentation.

Documentation

Find the documentation on docs.typo3.org.

Slack Join the discussion on Slack in channel #ext-notiz! – You don't have access to TYPO3 Slack? Get your Slack invitation by clicking here!

Change log

See CHANGELOG for more information on what has changed recently.

License

See LICENSE for more information.

notiz's People

Contributors

lukasniestroj avatar mopolo avatar ogrosko avatar romm avatar s2b avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

notiz's Issues

Allow adding definition files easily in `ext_localconf.php`

An entry could be added to $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS'] and handled inside definition source components.

Example:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['NotiZ']['DefinitionSource'][\CuyZ\Notiz\Domain\Definition\Builder\Component\Source\TypoScriptDefinitionSource::class][] = 'EXT:my_extension/Configuration/TypoScript/Notification/MyDefinition.typoscript';

This would facilitate adding new sources files without using the whole API which is more powerful but more complicated to use.

Editor access not possible

Hello @romm,

When access for Manager module is granted to Editors after createning notification this error pop ups (see screen below). Since all notifications are created with pid=0, it's not possible to grant access to editors with DB Mounts defined.

image

Introduce multi-slots support for mail body

A new system that allows the mail body to be divided into several slots should be introduced.

The slots should be defined within the mail layout file: a Fluid section should be used, allowing loops, conditions and other Fluid features to be used.

The slots will then be listed in the FlexForm of the mail body, and may be divided into tabs.

To make it work, all the markers provided by the event should be assigned to the view, so the template can have access to them (allowing advanced control like loops, conditions, etc…).

Use Fluid-like syntax for the markers

Markers that are currently using the syntax #FOO# should now look like {foo}.

Additionally, they should support dotted path syntax to fetch nested values, for instance {foo.bar}.

Add RTE configuration to mail body

Some basic RTE configuration should be added to the mail body field.

CKEditor, as well as HtmlArea, should be supported, and allow only some basic features (bold, italic, underlined, etc…).

Add documentation for event example properties

See:

/**
* Interface that can be implemented by an event to give example properties that
* will be used in the backend module to show a preview of a notification bound
* to this event.
*
* Example:
*
* ```
* class MyEvent implements Event, ProvidesExampleProperties
* {
* protected $someValue;
*
* public function getExampleProperties()
* {
* return [
* 'someValue' => 'Some value example',
* ];
* }
* }
* ```
*/
interface ProvidesExampleProperties
{
/**
* Returns an array in which the key of an entry is the name of a property
* and its value is a human-readable example value.
*
* @return array
*/
public function getExampleProperties();
}

Add a log entry when an exception is added to the `RuntimeService`

Currently, the only way of viewing an exception thrown by the system is located in the backend module. However, an exception can be thrown only in the frontend context, meaning the exception would not be thrown in the backend contact. Therefore it can't be viewed and analyzed, making the debugging way harder.

Some kind of logging should be introduced in the RuntimeService which is in charge of gathering the exceptions catch during the runtime.

Is this extension alive

@romm I just wanted to know if there are any plans for further development of this extension. No code update since 3 years and no compatibility for TYPO3 CMS v10 or higher.

If this extension is no longer maintained a short note in the README would be nice.

Notifications in scheduler tasks not send

I created a custom event in a Symfony Console Command. If the command is executed via the scheduler in the backend everything works as expected. If the relevant scheduler task is executed via CLI/Cronjob no notification is sent.

The problem seems to be a missing Signal/Slot configuration which is automatically generated under "normal" circumstances. In \TYPO3\CMS\Extbase\SignalSlot\Dispatcher::dispatch() no slot is found in line 131.

Test in TYPO3 9 LTS with EXT:notiz 2.1.1

TCA Migrations

Would be great if TCA migration messages will be fixed
image

Email Channel issue

Hello,

We have TYPO3 v8 (8.7.31) and Notiz v2.1.2.
When I add new notification and set email as channel, emails are not sent.
TYPO3 email configuration is working correctly via SMTP.

After some debugging I found out that emails are sent correctly if I comment out line 136 in file notiz/Classes/Domain/Channel/Email/TYPO3/EmailChannel.php:
$this->dispatchEmailSignal($mailMessage);

This call only do simple dispatch, but somehow mess up message sending.

I was not able to find out why this happens...

Best regards,
Sinisa Mitrovic

Add support for Slack as a notification type

This will allow to send notifications to any Slack instance.

Several details should be customizable via the backend:

  • the message (with markers)
  • the sender's name
  • the sender's avatar
  • the slack team and target: #channel or @user

Modify the definition namespace

Currently, the namespace used to register definition is config.tx_notiz.

This doesn't really make sense because TypoScript (by default) is not used as a configuration language here, features like stdWrap and others are not used.

The current namespace was added to respect a convention that is not even useful in this context.

A new namespace should be used. What about notiz?

feature request: notify hanging up scheduler tasks

Hi
I'm trying to get notified when a scheduler task is hanging up for too much time. The task didn't fail or success so i cannot get notified out-of-the-box with NotiZ.
It could be nice to have a way to check if a task is in late after a certain amount of time.
What do you think?

Another question: do you have any plan for version 10?

Thank you very much.

Default sender email

Hi @romm

Wouldn't be better to set notiz.notifications.entityEmail.settings.defaultSender as default value to $GLOBALS['TYPO3_CONF_VARS']['MAIL']['defaultMailFromAddress']

Set email format as option

The default configuration for emails is html.
A nice addition would be a checkbox to mark the email as "text/plain".

Declaration compatibility error

I'm getting this error:

Fatal error: Declaration of CuyZ\Notiz\ViewHelpers\Slot\RenderViewHelper::compile($argumentsName, $closureName, &$initializationPhpCode, TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\AbstractNode $node, TYPO3\CMS\Fluid\Core\Compiler\TemplateCompiler $compiler) must be compatible with TYPO3Fluid\Fluid\Core\ViewHelper\ViewHelperInterface::compile($argumentsName, $closureName, &$initializationPhpCode, TYPO3Fluid\Fluid\Core\Parser\SyntaxTree\ViewHelperNode $node, TYPO3Fluid\Fluid\Core\Compiler\TemplateCompiler $compiler) in /var/www/html/web/typo3conf/ext/notiz/Classes/ViewHelpers/Slot/RenderViewHelper.php on line 0

typo3: 8.7.19

email attachements

In some mails it may be needed to set a fix PDF as attachement. It would be nice to set it like any other sys_file_reference.
In addition it should be able to mark attachements like the '@email' marker (e.g. @attachement as single "File" property)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.