$c->{plugins}{'Export::Cerif_1_4'}{params}{disable} = 0; $c->{plugins}{'Export::Cerif_1_4'}{params}{visible} = "all"; no warnings; sub EPrints::DataObj::uuid { my( $self, $fragment ) = @_; my $internal_uri = $self->internal_uri; return if !defined $internal_uri; my $repo = $self->{session}; # SHA1 my $sha = Digest::SHA->new( 1 ); # globally unique object id $sha->add( $repo->config( "uuid_namespace" ) || $repo->config( "base_url" ) ); $sha->add( $internal_uri ); $sha->add( "#".URI::Escape::uri_escape_utf8( $fragment ) ) if defined $fragment; my $uuid = substr( $sha->digest, 0, 16 ); # set version to 5 substr( $uuid, 6, 1 ) = chr( ord( substr( $uuid, 6, 1 ) ) & 0x0f | 0x50 ); # set variant to 2 substr( $uuid, 8, 1 ) = chr( ord( substr( $uuid, 8, 1 ) ) & 0x3f | 0x80 ); # format $uuid = join '-', map { unpack 'H*', $_ } map { substr $uuid, 0, $_, '' } ( 4, 2, 2, 2, 6 ); return $uuid; }