Show
Ignore:
Timestamp:
09.12.2016 21:37:52 (3 years ago)
Author:
ak19
Message:

First major commit to do with the new oaiinfo db that keeps track of which oids are deleted. Still need to fix up issue with the new remove and rename subroutines of dbutil's jdbm not being called to clean up *.lg log file associated with main db file. Still need to clean up unused methods in oaiinfo, remove debugging and test agains GS3 incr-build-with-manifest tutorial. (Previous 3 commits were commits, not all related.)

Location:
main/trunk/greenstone2
Files:
1 added
3 modified

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/bin/script/activate.pl

    r30596 r31190  
    9292# Greenstone modules 
    9393use colcfg; 
     94use oaiinfo; 
    9495use scriptutil; 
    9596use servercontrol; 
     
    354355    } 
    355356    } 
     357 
     358 
     359    # now we've moved building to index, move tmp oaidb to live oaidb in parallel 
     360    my $oai_info = new oaiinfo($collect_cfg_filename, $collectcfg->{'infodbtype'}); 
     361    $oai_info->activate_collection(); 
     362 
    356363     
    357364    if ($buildtype eq "solr") { 
  • main/trunk/greenstone2/perllib/basebuilder.pm

    r30517 r31190  
    2929no strict 'refs'; # allow filehandles to be variables and viceversa 
    3030 
     31use arcinfo; 
    3132use classify; 
    3233use cfgread; 
    3334use colcfg; 
    3435use dbutil; 
     36use oaiinfo; 
    3537use plugin; 
    3638use util; 
     
    9294 
    9395    my $colcfgname = &colcfg::get_collect_cfg_name($outhandle, $gs_mode); 
     96    $self->{'colcfgname'} = $colcfgname; 
    9497    $self->{'collect_cfg'} = &colcfg::read_collection_cfg ($colcfgname, $gs_mode); 
    9598 
     
    169172    } 
    170173 
     174 
     175    # Prepare to work with the <collection>/etc/oai-inf.<db> that keeps track 
     176    # of the OAI identifiers with their time stamps and deleted status. 
     177    # 
     178    # At this stage of working with the oai info db, we don't care whether we have a 
     179    # manifest or are otherwise incremental, or whether we're doing removeold (full rebuild). 
     180    # Because we've already dealt with that during the import stage. From here on, we pretend 
     181    # we're incremental, since the oai info db should just do what archiveinfo contains. 
     182    # This is because "building is always incremental" where oai info db is concerned. 
     183     
     184    my $archivedir = $self->{'source_dir'}; 
     185    my $oai_info = new oaiinfo($self->{'colcfgname'}, $self->{'collect_cfg'}->{'infodbtype'});     
     186    $oai_info->building_stage_before_indexing($archivedir); 
     187 
     188 
    171189    # check incremental against whether builder can cope or not. 
    172190    if ($self->{'incremental'} && !$self->is_incremental_capable()) { 
  • main/trunk/greenstone2/perllib/inexport.pm

    r31189 r31190  
    3535use dbutil; 
    3636use doc; 
     37use oaiinfo; 
    3738use plugin; 
    3839use plugout; 
     
    354355    my $gs_mode = "gs".$self->{'gs_version'}; #gs2 or gs3 
    355356    my $config_filename = &colcfg::get_collect_cfg_name($out, $gs_mode); 
     357 
     358    # store the config file's name, so oaiinfo object constructor can be instantiated with it 
     359    $self->{'config_filename'} = $config_filename; 
     360 
    356361    my $collectcfg = &colcfg::read_collection_cfg ($config_filename, $gs_mode); 
    357362 
     
    725730      print STDERR "Skipping global file scan due to manifest and complexmeta configuration\n"; 
    726731    } 
     732 
     733 
     734    # Prepare to work with the <collection>/etc/oai-inf.<db> that keeps track 
     735    # of the OAI identifiers with their time stamps and deleted status.     
     736    my $oai_info = new oaiinfo(&util::get_parent_folder($self->{'importdir'}), $collectcfg->{'infodbtype'}); 
     737    my $have_manifest = ($manifest eq '') ? 0 : 1;     
     738    $oai_info->import_stage($removeold, $have_manifest); 
     739 
    727740 
    728741    if ($manifest ne "") {