Re: [EP-tech] ScreenProcessor.pm and Admin Screen Messages

John Salter via Eprints-tech <[email protected]>
Newsgroups gmane.comp.web.eprints.devel
Message-ID <EMEW3|cc331b62165f5e02170c93ded6c6aa82v7CCdZ14eprints-tech-bounces|ecs.soton.ac.uk|DB6PR0302MB27119991F0BB0E80D1D275B0C4D20@DB6PR0302MB2711.eurprd03.prod.outlook.com>
All good :o)

Although I probably should have said 'use a phrase' - and linked to a phrase where the link URL is inserted via a pin e.g.
<https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprints%2Feprints%2Fblob%2F3.3%2Flib%2Flang%2Fen%2Fphrases%2Fsystem.xml%23L3393-L3395&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Ca0f1ba87a3134f2f4e7a08d71fe2cfb4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=7lQXAGCW0KizJ9sgpB4sYKAOgbSsE%2FEbGaE%2Ba3aEI5Y%3D&amp;reserved=0>
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprints%2Feprints%2Fblob%2F2d42b2be54004bf3db6881a6d893d39c7a7f909f%2Flib%2Flang%2Fen%2Fphrases%2Fsystem.xml%23L3392-L3394&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Ca0f1ba87a3134f2f4e7a08d71fe2cfb4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=oz3ntbrpfrcprwPwQvazP1GQyKVAWgIbbn3ihVcSxiI%3D&amp;reserved=0
 and
https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feprints%2Feprints%2Fblob%2F2d42b2be54004bf3db6881a6d893d39c7a7f909f%2Fperl_lib%2FEPrints%2FPlugin%2FScreen%2FEPrint%2FRemoveWithEmail.pm%23L129-L130&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Ca0f1ba87a3134f2f4e7a08d71fe2cfb4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=pEmn6HQlWwrbsC4BM4nlE3%2BltUUe%2B8ANRsBWwE3ESN4%3D&amp;reserved=0

Cheers,
John
________________________________
From: [email protected] <[email protected]> on behalf of James Kerwin via Eprints-tech <[email protected]>
Sent: 13 August 2019 09:32
To: John Salter <[email protected]>
Cc: [email protected] <[email protected]>
Subject: Re: [EP-tech] ScreenProcessor.pm and Admin Screen Messages

Ahhh thanks John.

I'm such a fool! I already had the code I needed from something I did the other month. I just thought I needed to do something different because I was trying to add $frag to add_message rather than just returning it to be added to $page.

There are probably a few unnecessary Perl variables here and I need to replace certain things with their actual parts, but it works:

my $repo = $self->{session};
my $frag = $repo->xml->create_document_fragment;

my $chunk = $self->{session}->make_element( "div", id => "ep_messages" );
my $searchlink = $self->{session}->make_element( "a", class=> "search_link", href=>$uri, target=>"_blank" );
$searchlink->appendChild($repo->make_text("bleep bloop blop"));

$chunk->appendChild( $searchlink );
$frag->appendChild( $chunk );

$self->{processor}->add_message(
"message", $frag);

[image.png]

What a relief that I don't need to go change scary things!

Thanks,
James

On Tue, Aug 13, 2019 at 8:16 AM John Salter <[email protected]<mailto:[email protected]>> wrote:
Hi James,
I think you've got all the right parts - you just need to join them all together:
- create the link
- create the text
- append the text to the link
- append the link to the message

Cheers,
John
________________________________
From: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> on behalf of James Kerwin via Eprints-tech <[email protected]<mailto:[email protected]>>
Sent: 12 August 2019 14:57:39
To: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>>
Subject: [EP-tech] ScreenProcessor.pm and Admin Screen Messages

Hi All,

I have a button on the admin screen that does something when clicked. Then at the top of the screen a message appears upon completion to provide a url for the user to follow (or that is the plan). It usually present a plain text message, but I want a clickable link. At the moment users would need to copy the message text and paste it into the address bar.

At the moment I can have either text or a link that can't be seen or clicked, but shows up when you inspect the page.

[image.png]

Here is my code that I've adapted (only the bit in bold is really relevant):

sub add_result_message
{
        my( $self, $ok ) = @_;

        if( $ok )
        {
                #$self->{processor}->add_message( "message",
                        #$self->html_phrase( "aam_link" ) );
#$self->{processor}->add_message(
#"message",
#$self->{repository}->make_text( "Please go to https://eur03.safelinks.protection.outlook.com/?url=www.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Ca0f1ba87a3134f2f4e7a08d71fe2cfb4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=FcrN%2B5OqETWKBEFgfOFrEKJgi1rNoof3ALh5lBMIcZ8%3D&amp;reserved=0<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Ca0f1ba87a3134f2f4e7a08d71fe2cfb4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=7NA9b8FfQ58lSs9mROTjhAbmTR8RIXex4WSSyp3IlaA%3D&amp;reserved=0> to access the AAM Updates.")
#);
#my $messagelink =
my $uri = "https://eur03.safelinks.protection.outlook.com/?url=www.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Ca0f1ba87a3134f2f4e7a08d71fe2cfb4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=FcrN%2B5OqETWKBEFgfOFrEKJgi1rNoof3ALh5lBMIcZ8%3D&amp;reserved=0<https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.google.co.uk&amp;data=01%7C01%7Ceprints-tech%40ecs.soton.ac.uk%7Ca0f1ba87a3134f2f4e7a08d71fe2cfb4%7C4a5378f929f44d3ebe89669d03ada9d8%7C0&amp;sdata=7NA9b8FfQ58lSs9mROTjhAbmTR8RIXex4WSSyp3IlaA%3D&amp;reserved=0>";
$self->{processor}->add_message( "message",
$self->{repository}->make_text(
$self->{session}->render_link( $uri ))
);
        }


Is there a way that I can alter this to show a clickable text link or am I going to need to go further down the EPrints Rabbit Hole? My alternative approach is to alter render_messages in ScreenProcessor.pm, but I don't really want to do that and I also don't know how to make a local archive copy of this file either as it's a few levels up from the plugins directory.

Any suggestions or alternative approaches are very welcome.

Thanks,
James

*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/
*** EPrints developers Forum: http://forum.eprints.org/
image.png (image/png, 17 KB) - not displayed
image.png (image/png, 20 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.