Changeset 27007
- Timestamp:
- 2013-03-05T12:04:19+13:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone2/perllib/cgiactions/metadataaction.pm
r25891 r27007 726 726 my $metamode = $parser->{'parameters'}->{'metamode'}; 727 727 728 print STDERR "**** IN METADATA\n";728 print STDERR "**** Processing closing </Metadata> tag\n"; 729 729 730 730 my $opt_doc_secnum = $parser->{'parameters'}->{'secnum'}; … … 784 784 my $metamode = $parser->{'parameters'}->{'metamode'}; 785 785 786 print STDERR "**** IN DESCRIPTION!\n";786 print STDERR "**** Processing a closing </Description> tag \n"; 787 787 788 788 # Accumulate the metadata 789 # NOTE: This appends new metadata element to all description fields. 790 # If there are multiple Sections/SubSections, the new metadata block will get appended to all of them 791 if (($metamode eq "accumulate")) { 792 print STDERR "**** ACCUMULATE! \n"; 793 # If get to here and metamode is override, the this means there 794 # was no existing value to overide => treat as an append operation 795 796 # Tack a new metadata tag on to the end of the <Metadata>+ block 797 my $metaname = $parser->{'parameters'}->{'metaname'}; 798 my $metavalue = $parser->{'parameters'}->{'metavalue'}; 799 800 my $metadata_attr = { 801 '_content' => $metavalue, 802 'name' => $metaname, 803 'mode' => "accumulate" 804 }; 805 806 my $append_metadata = [ "Metadata" => $metadata_attr ]; 807 my $description_content = $attrHash->{'_content'}; 808 809 print STDERR "**** appending to doc.xml\n"; 810 811 if (ref($description_content)) { 812 # got some existing interesting nested content 813 push(@$description_content, " ", $append_metadata ,"\n "); 814 } 815 else { 816 #description_content is most likely a string such as "\n" 817 $attrHash->{'_content'} = [$description_content, " ", $append_metadata ,"\n" ]; 818 } 819 820 $parser->{'parameters'}->{'metamode'} = "done"; 821 } 789 790 if (($metamode eq "accumulate") || ($metamode eq "override")) { 791 if ($metamode eq "override") { 792 print "No metadata value to override. Switching 'metamode' to accumulate\n"; 793 } 794 795 # If get to here and metamode is override, the this means there 796 # was no existing value to overide => treat as an append operation 797 798 # Tack a new metadata tag on to the end of the <Metadata>+ block 799 my $metaname = $parser->{'parameters'}->{'metaname'}; 800 my $metavalue = $parser->{'parameters'}->{'metavalue'}; 801 802 my $metadata_attr = { 803 '_content' => $metavalue, 804 'name' => $metaname, 805 'mode' => "accumulate" 806 }; 807 808 my $append_metadata = [ "Metadata" => $metadata_attr ]; 809 my $description_content = $attrHash->{'_content'}; 810 811 print "Appending metadata to doc.xml\n"; 812 813 if (ref($description_content)) { 814 # got some existing interesting nested content 815 push(@$description_content, " ", $append_metadata ,"\n "); 816 } 817 else { 818 #description_content is most likely a string such as "\n" 819 $attrHash->{'_content'} = [$description_content, " ", $append_metadata ,"\n" ]; 820 } 821 822 $parser->{'parameters'}->{'metamode'} = "done"; 823 } 822 824 else { 823 print STDERR "**** NOT ACCUMULATE?!? \n"; 825 # metamode most likely "done" signifying that it has already found a position to add the metadata to. 826 ## print STDERR "**** NOT ACCUMULATE?!? \n"; 824 827 } 825 828 … … 916 919 my ($gsdl_cgi, $doc_xml_filename, $metaname, $metavalue, $metapos, $metamode, $opt_secnum, $prevmetavalue) = @_; 917 920 918 $gsdl_cgi->generate_ok_message("IN EDIT DOC XML\n****************************\n"); 919 $gsdl_cgi->generate_ok_message("doc_xml_filename = $doc_xml_filename\n"); 920 $gsdl_cgi->generate_ok_message("metaname = $metaname\n"); 921 $gsdl_cgi->generate_ok_message("metavalue = $metavalue\n"); 922 $gsdl_cgi->generate_ok_message("metapos = $metapos\n"); 923 $gsdl_cgi->generate_ok_message("metamode = $metamode\n"); 924 $gsdl_cgi->generate_ok_message("opt_secnum = $opt_secnum\n"); 925 $gsdl_cgi->generate_ok_message("prevmetavalue = $prevmetavalue\n"); 921 my $info_mess = <<RAWEND; 922 **************************** 923 edit_doc_xml() 924 **************************** 925 doc_xml_filename = $doc_xml_filename 926 metaname = $metaname 927 metavalue = $metavalue 928 metapos = $metapos 929 metamode = $metamode 930 opt_secnum = $opt_secnum 931 prevmetavalue = $prevmetavalue 932 **************************** 933 RAWEND 934 935 $gsdl_cgi->generate_message($info_mess); 926 936 927 937 # To monitor which section/subsection number we are in … … 955 965 my ($gsdl_cgi, $archive_dir, $collect_dir, $collect, $infodbtype, $docid, $metaname, $metapos, $metavalue, $metamode, $prevmetavalue) = @_; 956 966 957 $gsdl_cgi->generate_ok_message("IN SET ARCHIVES METADATA ENTRY\n****************************\n"); 958 $gsdl_cgi->generate_ok_message("archive_dir = $archive_dir\n"); 959 $gsdl_cgi->generate_ok_message("collect_dir = $collect_dir\n"); 960 $gsdl_cgi->generate_ok_message("collect = $collect\n"); 961 $gsdl_cgi->generate_ok_message("infodbtype = $infodbtype\n"); 962 $gsdl_cgi->generate_ok_message("docid = $docid\n"); 963 $gsdl_cgi->generate_ok_message("metaname = $metaname\n"); 964 $gsdl_cgi->generate_ok_message("metapos = $metapos\n"); 965 $gsdl_cgi->generate_ok_message("metavalue = $metavalue\n"); 966 $gsdl_cgi->generate_ok_message("metamode = $metamode\n"); 967 $gsdl_cgi->generate_ok_message("prevmetavalue = $prevmetavalue\n"); 967 my $info_mess = <<RAWEND; 968 **************************** 969 set_archives_metadata_entry() 970 **************************** 971 archive_dir = $archive_dir 972 collect_dir = $collect_dir 973 collect = $collect 974 infodbtype = $infodbtype 975 docid = $docid 976 metaname = $metaname 977 metapos = $metapos 978 metavalue = $metavalue 979 metamode = $metamode 980 prevmetavalue = $prevmetavalue 981 **************************** 982 RAWEND 983 984 $gsdl_cgi->generate_message($info_mess); 968 985 969 986 # Obtain the doc.xml path for the specified docID
Note:
See TracChangeset
for help on using the changeset viewer.