Ignore:
Timestamp:
2016-12-09T21:37:52+13:00 (7 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 edited

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 "") {
Note: See TracChangeset for help on using the changeset viewer.