[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[EP-tech] Sending email when item is made live



overriding action_move_archive is a bit yucky and should be a last resort.

The trigger "eprint_status_change" will be called as part of the 
process, not by the indexer so you could just register a trigger and do 
the user message in it if the old status was buffer and the new status 
is archive.


On 22/04/2020 09:56, Yuri Carrer via Eprints-tech wrote:
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FSending_user_messages&data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=YcjMip5JD%2F1vtoaE1RdMLoNapZJ9CAevFUVnaGyCM5o%3D&reserved=0
>
> you want the message if the user clicked a button on screen, the link
> you cited act on a status change which is instead an asyncronous
> operation (it is performed outside the page flow).
>
> You've to replace the actual screen action (for example "Move to the
> repository" which is EPrint::Move (*)) with another one that perform the
> add_message() after calling the action directly
>
> (*)
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprints%2Feprints%2Fblob%2F3.3%2Fperl_lib%2FEPrints%2FPlugin%2FScreen%2FEPrint%2FMove.pm&data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&sdata=C72Qn2Z07paAGdEIcH6lHTvIH48LqOAPlQlB95nF338%3D&reserved=0
>
> sub action_move_archive
> {
>   ??? my( $self ) = @_;
>
>   ??? my $ok = $self->{processor}->{eprint}->move_to_archive;
>
>   ??? $self->add_result_message( $ok );
> }
>
> $self->{processor}->{eprint}->move_to_archive perform the status change
> and activate the trigger but you can't know about trigger result because
> it is done elsewhere (the epindexer deamon!) <- important!
>
> At the end, you've to add the event (not the trigger, take a look to the
> doi datacite plugin on how to do it (*)) in the code of in the screen
> plugin and then the event, when triggered, will have the pluginid and
> action set, so you can check where the triggered event came from, and
> send/not send the email based on your logic.
>
> (*)
> https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprintsug%2FDataCiteDoi%2Fblob%2Fmaster%2Flib%2Fplugins%2FEPrints%2FPlugin%2FScreen%2FEPrint%2FStaff%2FCoinDOI.pm%23L97&amp;data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=sVKuq7LlUvSTUYClKcYmR2BV4t6tIAJ3R2q1a%2BMG7HU%3D&amp;reserved=0
>
>   ??????????? $repository->dataset( "event_queue" )->create_dataobj({
>   ??????????????? pluginid => "Event::DataCiteEvent",
>   ??????????????? action => "datacite_doi",
>   ??????????????? params => [$eprint->internal_uri],
>   ??????????? }); <- here replace with Eprint::Move and move_to_archive
>
> Il 22/04/20 10:05, Stenger, Avischai via Eprints-tech ha scritto:
>> Hi 2 all,
>>
>> I am using this Method: https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwiki.eprints.org%2Fw%2FSending_email_when_item_is_made_live_or_deposited&amp;data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=C64tcmJKE9HXMBrpPUW2eRqWbpPLivROwPGEa%2BpVmrI%3D&amp;reserved=0
>>
>> And it work fine, but I cannot get a ?mailsend_OK /mailsend_Not_OK?  message to be shown on the user Screen. How do I get this done? I find no ?object" with the add_message() funtion
>>
>>
>> Tnks and a healthy day
>>
>>
>> avi
>>
>>
>> *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
>> *** Archive: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.eprints.org%2Ftech.php%2F&amp;data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=UIZzRCivmmZTYq8xAUYzh5se7WXQ1H%2FElVGGTKcHD%2B4%3D&amp;reserved=0
>> *** EPrints community wiki: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki.eprints.org%2F&amp;data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=ttMNQ%2FhOeDPpqbL15AVFexXWQp0oh1kgw579L7AJEIc%3D&amp;reserved=0
> --
> Yuri Carrer
>
>    CAB - Centro di Ateneo per le Biblioteche, Universit? di Padova
>    Tel: 049/827 9712 - Via Beato Pellegrino, 28 - Padova
>
>
> *** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
> *** Archive: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.eprints.org%2Ftech.php%2F&amp;data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=UIZzRCivmmZTYq8xAUYzh5se7WXQ1H%2FElVGGTKcHD%2B4%3D&amp;reserved=0
> *** EPrints community wiki: https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwiki.eprints.org%2F&amp;data=01%7C01%7C%7Cbf679c4da2df4dcb15aa08d7e6a24c04%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=ttMNQ%2FhOeDPpqbL15AVFexXWQp0oh1kgw579L7AJEIc%3D&amp;reserved=0

-- 
Christopher Gutteridge <totl at soton.ac.uk>
You should read our team blog at http://blog.soton.ac.uk/webteam/