Changeset 10622

Show
Ignore:
Timestamp:
03/14/07 11:51:06 (2 years ago)
Author:
rambo
Message:

normalized tabs to 4 spaces, added creation of indexes for some metadata fields

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/data/midgard/datagard/lib.postinst

    r10190 r10622  
    217217<?xml version="1.0" encoding="$ENCODING" ?> 
    218218<Repligard xmlns="http://www.midgard-project.org/repligard/1.4"> 
    219        <!-- Database description --> 
    220        <!-- Path to optionally compressed Repligard schema file --> 
    221        <database 
    222                schema="$REPLIGARD_SCHEMA" 
    223                name="$DBNAME" 
    224                username="$MGD_DB_USER_NAME" 
    225                password="$MGD_DB_USER_PASS" 
    226                encoding="$ENCODING" 
    227                blobdir="$MGD_BLOB_DIR/$MGD_DB_NAME" 
    228        /> 
    229        <!-- Login account description for Repligard operation --> 
    230        <login  
    231                username="$MGD_SG_USER_NAME" 
    232                password="$MGD_SG_USER_PASS" 
    233        /> 
    234        <replicate all="yes"/> 
     219    <!-- Database description --> 
     220    <!-- Path to optionally compressed Repligard schema file --> 
     221    <database 
     222        schema="$REPLIGARD_SCHEMA" 
     223        name="$DBNAME" 
     224        username="$MGD_DB_USER_NAME" 
     225        password="$MGD_DB_USER_PASS" 
     226        encoding="$ENCODING" 
     227        blobdir="$MGD_BLOB_DIR/$MGD_DB_NAME" 
     228    /> 
     229    <!-- Login account description for Repligard operation --> 
     230    <login  
     231        username="$MGD_SG_USER_NAME" 
     232        password="$MGD_SG_USER_PASS" 
     233    /> 
     234    <replicate all="yes"/> 
    235235</Repligard> 
    236236EOT 
     
    246246mgd_update_db_for_utf() 
    247247{ 
    248        local TMP_DB_DUMP=`mktemp /tmp/tmp.XXXXXXXXXX` 
    249  
    250        # Get db name 
    251        mgd_get_config_data MGD_DB_NAME 
    252        local DUMP_DB_NAME="$RET" 
    253          
    254        # Get db host  
    255        mgd_get_config_data MGD_DB_HOST 
    256        local DUMP_DB_HOST="$RET" 
    257  
    258        # Get db user  
    259        mgd_get_config_data MGD_DB_USER_NAME 
    260        local DUMP_DB_USER_NAME="$RET" 
    261  
    262        # Get db user's password 
    263        mgd_get_config_data MGD_DB_USER_PASS 
    264        local DUMP_DB_USER_PASS="$RET" 
    265  
    266        if [ ! -d "$MGD_VAR_PATH/lib/midgard/backups" ];then 
    267                mkdir $MGD_VAR_PATH/lib/midgard/backups 
    268        fi         
    269          
    270        echo "Database backup file: $MGD_VAR_PATH/lib/midgard/backups/${DUMP_DB_NAME}_backup.sql" 
    271        echo -n "Dumping database. Please wait..." 
    272  
    273        local DB_BACKUP=$MGD_VAR_PATH/lib/midgard/backups/${DUMP_DB_NAME}_backup.sql 
    274        local DB_UTF=$MGD_VAR_PATH/lib/midgard/backups/${DUMP_DB_NAME}_utf.sql 
    275  
    276        # Dump database 
    277        $MYSQLDUMP --host=$DUMP_DB_HOST --user=$DUMP_DB_USER_NAME --password=$DUMP_DB_USER_PASS --default-character-set=latin1 --skip-set-charset --databases $DUMP_DB_NAME > $DB_BACKUP 
    278        mgd_data_error $? "Failed!" 
    279        echo "OK" 
    280        echo -n "Replacing default charset..." 
    281          
    282        cp $DB_BACKUP $DB_UTF 
    283  
    284        # Replace default charset  
    285        perl -i -pe 's/latin1/utf8/g' $DB_UTF 
    286        mgd_data_error $? "Failed!" 
    287        echo "OK" 
    288          
    289        # Drop database, create it again, import sql file  
    290        $mysqladmcmd -f drop $DUMP_DB_NAME > /dev/null 2>&1 
    291        $mysqlcmd -e "CREATE DATABASE $DUMP_DB_NAME CHARACTER SET utf8 COLLATE utf8_general_ci" > /dev/null 2>&1 
    292        mgd_data_error $? "Database $DUMP_DB_NAME not recreated!" 
    293          
    294        echo -n "Importing data to database with default charset UTF-8..." 
    295          
    296        $mysqlcmd --default-character-set=utf8 -D $DUMP_DB_NAME < $DB_UTF 
    297        mgd_data_error $? "Failed!" 
    298         rm -rf $DB_UTF   
    299        echo "OK" 
     248    local TMP_DB_DUMP=`mktemp /tmp/tmp.XXXXXXXXXX` 
     249 
     250    # Get db name 
     251    mgd_get_config_data MGD_DB_NAME 
     252    local DUMP_DB_NAME="$RET" 
     253     
     254    # Get db host  
     255    mgd_get_config_data MGD_DB_HOST 
     256    local DUMP_DB_HOST="$RET" 
     257 
     258    # Get db user  
     259    mgd_get_config_data MGD_DB_USER_NAME 
     260    local DUMP_DB_USER_NAME="$RET" 
     261 
     262    # Get db user's password 
     263    mgd_get_config_data MGD_DB_USER_PASS 
     264    local DUMP_DB_USER_PASS="$RET" 
     265 
     266    if [ ! -d "$MGD_VAR_PATH/lib/midgard/backups" ];then 
     267        mkdir $MGD_VAR_PATH/lib/midgard/backups 
     268    fi     
     269     
     270    echo "Database backup file: $MGD_VAR_PATH/lib/midgard/backups/${DUMP_DB_NAME}_backup.sql" 
     271    echo -n "Dumping database. Please wait..." 
     272 
     273    local DB_BACKUP=$MGD_VAR_PATH/lib/midgard/backups/${DUMP_DB_NAME}_backup.sql 
     274    local DB_UTF=$MGD_VAR_PATH/lib/midgard/backups/${DUMP_DB_NAME}_utf.sql 
     275 
     276    # Dump database 
     277    $MYSQLDUMP --host=$DUMP_DB_HOST --user=$DUMP_DB_USER_NAME --password=$DUMP_DB_USER_PASS --default-character-set=latin1 --skip-set-charset --databases $DUMP_DB_NAME > $DB_BACKUP 
     278    mgd_data_error $? "Failed!" 
     279    echo "OK" 
     280    echo -n "Replacing default charset..." 
     281     
     282    cp $DB_BACKUP $DB_UTF 
     283 
     284    # Replace default charset  
     285    perl -i -pe 's/latin1/utf8/g' $DB_UTF 
     286    mgd_data_error $? "Failed!" 
     287    echo "OK" 
     288     
     289    # Drop database, create it again, import sql file  
     290    $mysqladmcmd -f drop $DUMP_DB_NAME > /dev/null 2>&1 
     291    $mysqlcmd -e "CREATE DATABASE $DUMP_DB_NAME CHARACTER SET utf8 COLLATE utf8_general_ci" > /dev/null 2>&1 
     292    mgd_data_error $? "Database $DUMP_DB_NAME not recreated!" 
     293     
     294    echo -n "Importing data to database with default charset UTF-8..." 
     295     
     296    $mysqlcmd --default-character-set=utf8 -D $DUMP_DB_NAME < $DB_UTF 
     297    mgd_data_error $? "Failed!" 
     298    rm -rf $DB_UTF   
     299    echo "OK" 
    300300} 
    301301 
     
    497497      APP=$APPS.xml.gz 
    498498      if [ $IS_PKG_MULTILANG -eq 1 ]; then 
    499          IMPAPP="${APPS}_multilang.xml.gz" 
     499          IMPAPP="${APPS}_multilang.xml.gz" 
    500500      else 
    501              IMPAPP="${APPS}.xml.gz" 
     501          IMPAPP="${APPS}.xml.gz" 
    502502      fi 
    503503    elif [ -f $MGD_SHARE_PATH/data/$APPS.xml ]; then 
     
    519519      fi 
    520520             
    521     zcat $MGD_SHARE_PATH/data/$IMPAPP | sed -e '/<person id="f6b665f1984503790ed91f39b11b5392"/,/<\/person>/d' | sed -e '/<member id="df351bde7c09bce7ad2cf14f2eaf7fb7"/,/<\/member>/d' > $TMPFILE 
     521    gzcat $MGD_SHARE_PATH/data/$IMPAPP | sed -e '/<person id="f6b665f1984503790ed91f39b11b5392"/,/<\/person>/d' | sed -e '/<member id="df351bde7c09bce7ad2cf14f2eaf7fb7"/,/<\/member>/d' > $TMPFILE 
    522522     # Import admin user only when installing for the first time 
    523523     mgd_get_config_data MGD_DB_ACTION 
     
    595595    # Count gauge values 
    596596    for APPS in $MGDAPPS ; do 
    597        LPP=$(($LPP+1)) 
     597        LPP=$(($LPP+1)) 
    598598    done 
    599599     
     
    618618      if [ -f $MGD_SHARE_PATH/data/$APPS.xml.gz ]; then 
    619619        IMPAPP="${APPS}.xml.gz" 
    620        zc="zcat" 
     620    zc="gzcat" 
    621621      elif [ -f $MGD_SHARE_PATH/data/$APPS.xml ]; then 
    622622        IMPAPP="${APPS}.xml" 
    623        zc="cat" 
     623    zc="cat" 
    624624      fi 
    625625 
    626626      PCT=$(($PCT+$LPP)) 
    627        
     627         
    628628      echo "XXX" 
    629629      echo $PCT 
    630       echo "Importing ${APPS}..."               
     630      echo "Importing ${APPS}..."        
    631631      echo "XXX" 
    632632       
     
    668668mgd_update_db_metadata_and_guids() 
    669669{ 
    670        local _DB=$1 
    671        local __MIDGARD_TABLES=$2 
    672  
    673        for _TABLE  in $__MIDGARD_TABLES; do 
    674          
    675        echo -n "Updating $_TABLE: " 
    676        echo -n "metadata " 
    677          
    678        #Temporary set to be verbose. 
    679        echo -n "creator " 
     670    local _DB=$1 
     671    local __MIDGARD_TABLES=$2 
     672 
     673    for _TABLE  in $__MIDGARD_TABLES; do 
     674     
     675        echo -n "Updating $_TABLE: " 
     676        echo -n "metadata " 
     677         
     678        #Temporary set to be verbose. 
     679        echo -n "creator " 
    680680        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_creator varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     681        echo -n "creator_idx " 
     682        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_creator_idx on $_TABLE (metadata_creator(80))" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    681683        echo -n "created " 
    682         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_created datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     684        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_created datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     685        echo -n "created_idx " 
     686        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_created_idx on $_TABLE (metadata_created)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    683687        echo -n "revisor " 
    684         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_revisor varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     688        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_revisor varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     689        echo -n "revisor_idx " 
     690        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_revisor_idx on $_TABLE (metadata_revisor(80))" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    685691        echo -n "revised " 
    686         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_revised datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     692        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_revised datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     693        echo -n "revised_idx " 
     694        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_revised_idx on $_TABLE (metadata_revised)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    687695        echo -n "revision " 
    688        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_revision int(11) NOT NULL default '0')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     696        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_revision int(11) NOT NULL default '0')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    689697        echo -n "approver " 
    690        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_approver varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     698        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_approver varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    691699        echo -n "approved " 
    692         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_approved datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     700        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_approved datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     701        echo -n "approved_idx " 
     702        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_approved_idx on $_TABLE (metadata_approved)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    693703        echo -n "locker " 
    694        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_locker varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     704        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_locker varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    695705        echo -n "locked " 
    696        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_locked datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     706        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_locked datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    697707        echo -n "owner " 
    698         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_owner varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     708        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_owner varchar(80) NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     709        echo -n "owner_idx " 
     710        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_owner_idx on $_TABLE (metadata_owner(80))" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    699711        echo -n "authors " 
    700        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_authors longtext NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     712        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_authors longtext NOT NULL default '')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    701713        echo -n "schedulestart " 
    702         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_schedule_start datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     714        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_schedule_start datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     715        echo -n "schedulestart_idx " 
     716        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_schedule_start_idx on $_TABLE (metadata_schedule_start)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    703717        echo -n "scheduleend " 
    704         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_schedule_end datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     718        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_schedule_end datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     719        echo -n "schedulesend_idx " 
     720        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_schedule_end_idx on $_TABLE (metadata_schedule_end)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    705721        echo -n "hidden "  
    706         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_hidden BOOL default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     722        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_hidden BOOL default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     723        echo -n "hidden_idx " 
     724        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_hidden_idx on $_TABLE (metadata_hidden)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    707725        echo -n "navnoentry " 
    708         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_nav_noentry  BOOL default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     726        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_nav_noentry  BOOL default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     727        echo -n "navnoentry_idx " 
     728        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_nav_noentry_idx on $_TABLE (metadata_nav_noentry)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    709729        echo -n "guid " 
    710         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (guid varchar(80) NOT NULL default '')"  >> $MGD_VAR_PATH/log/midgard/datagard_update.log  2>&1 
    711         echo -n "size " 
    712         $mysqlcmd -D $_DB -e "ALTER table $_TABLE ADD (metadata_size int(11) NOT NULL default '0')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    713         echo -n "published " 
    714         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_published datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    715         echo -n "imported " 
    716         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_imported datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    717         echo -n "exported " 
    718         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_exported datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    719         echo -n "deleted " 
    720         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_deleted  BOOL default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    721         echo "score " 
    722         $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_score  int(11)  default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     730        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (guid varchar(80) NOT NULL default '')"  >> $MGD_VAR_PATH/log/midgard/datagard_update.log  2>&1 
     731        echo -n "size " 
     732        $mysqlcmd -D $_DB -e "ALTER table $_TABLE ADD (metadata_size int(11) NOT NULL default '0')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     733        echo -n "published " 
     734        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_published datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     735        echo -n "published_idx " 
     736        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_published_idx on $_TABLE (metadata_published)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     737        echo -n "imported " 
     738        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_imported datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     739        echo -n "exported " 
     740        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_exported datetime NOT NULL default '0000-00-00 00:00:00')" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     741        echo -n "exported_idx " 
     742        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_exported_idx on $_TABLE (metadata_exported)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     743        echo -n "deleted " 
     744        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_deleted  BOOL default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     745        echo -n "deleted_idx " 
     746        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_deleted_idx on $_TABLE (metadata_deleted)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     747        echo -n "score " 
     748        $mysqlcmd -v -f -D $_DB -e "ALTER table $_TABLE ADD (metadata_score  int(11)  default 0)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     749        echo "score_idx " 
     750        $mysqlcmd -v -f -D $_DB -e "CREATE index metadata_score_idx on $_TABLE (metadata_score)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    723751        echo "Updating all guids in the table..." 
    724        $mysqlcmd -v -f -D $_DB -e "UPDATE repligard, $_TABLE SET ${_TABLE}.guid=repligard.guid WHERE repligard.id=${_TABLE}.id AND repligard.realm='${_TABLE}'" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    725        echo "Creating guid indexes..." 
    726        $mysqlcmd -v -f -D $_DB -e "CREATE index guid_idx on $_TABLE (guid(80))" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    727        echo "Creating sitegroup indexes..." 
    728        $mysqlcmd -v -f -D $_DB -e "CREATE index sitegroup_idx on $_TABLE (sitegroup)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    729          
    730       echo "" 
    731        
    732        done 
     752        $mysqlcmd -v -f -D $_DB -e "UPDATE repligard, $_TABLE SET ${_TABLE}.guid=repligard.guid WHERE repligard.id=${_TABLE}.id AND repligard.realm='${_TABLE}'" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     753        echo "Creating guid indexes..." 
     754        $mysqlcmd -v -f -D $_DB -e "CREATE index guid_idx on $_TABLE (guid(80))" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     755        echo "Creating sitegroup indexes..." 
     756        $mysqlcmd -v -f -D $_DB -e "CREATE index sitegroup_idx on $_TABLE (sitegroup)" >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     757         
     758        echo "" 
     759         
     760    done 
    733761} 
    734762 
     
    756784    $mysqlcmd -D $DB -e 'show fields from midgard_language' > /dev/null 2>&1 
    757785    if [ $? -ne 0 ];then 
    758        $mysqlcmd $DB -e "source $MGD_SHARE_PATH/midgard_language.sql" > /dev/null 2>&1 
    759     fi  
     786        $mysqlcmd $DB -e "source $MGD_SHARE_PATH/midgard_language.sql" > /dev/null 2>&1 
     787    fi   
    760788     
    761789    # Check if article_i table exists , if not -  create and update 
     
    789817        $mysqlcmd -v -f -D $DB < $_UFILES >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    790818      done     
    791          
    792        echo "Creating optimization indexes" 
    793        $mysqlcmd -v -f -D $DB < ${MGD_SHARE_PATH}/optimize.sql >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     819     
     820    echo "Creating optimization indexes" 
     821    $mysqlcmd -v -f -D $DB < ${MGD_SHARE_PATH}/optimize.sql >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    794822 
    795823 
     
    957985mgd_install_midcom() 
    958986{ 
    959        mgd_install_pear_packages          
    960          
    961        # Clear midcom's cache 
    962        if [ -d "$MGD_VAR_PATH/cache/midgard/midcom" ];then 
    963                rm -rf $MGD_VAR_PATH/cache/midgard/midcom/*/* 
    964        fi 
    965          
    966        if [ ! -d "$MGD_VAR_PATH/cache/midgard/midcom" ];then 
    967                mkdir -p $MGD_VAR_PATH/cache/midgard/midcom 
    968        fi 
    969          
    970        if [ ! -d "$MGD_VAR_PATH/log/midgard/midcom" ];then 
    971                mkdir -p $MGD_VAR_PATH/log/midgard/midcom 
    972        fi 
    973          
    974        chown -R $APACHE_USER:$APACHE_GROUP $MGD_VAR_PATH/cache/midgard/midcom 
    975        chown -R $APACHE_USER:$APACHE_GROUP $MGD_VAR_PATH/log/midgard/midcom 
    976          
    977        chmod o+x $MGD_VAR_PATH 
    978        chmod o+x $MGD_VAR_PATH/cache 
    979        chmod o+x $MGD_VAR_PATH/cache/midgard 
    980        chmod 0770 $MGD_VAR_PATH/cache/midgard/midcom 
    981        chmod o+x $MGD_VAR_PATH/log 
    982        chmod o+x $MGD_VAR_PATH/log/midgard 
    983        chmod 0770 $MGD_VAR_PATH/log/midgard/midcom   
     987    mgd_install_pear_packages      
     988     
     989    # Clear midcom's cache 
     990    if [ -d "$MGD_VAR_PATH/cache/midgard/midcom" ];then 
     991        rm -rf $MGD_VAR_PATH/cache/midgard/midcom/*/* 
     992    fi 
     993     
     994    if [ ! -d "$MGD_VAR_PATH/cache/midgard/midcom" ];then 
     995        mkdir -p $MGD_VAR_PATH/cache/midgard/midcom 
     996    fi 
     997     
     998    if [ ! -d "$MGD_VAR_PATH/log/midgard/midcom" ];then 
     999        mkdir -p $MGD_VAR_PATH/log/midgard/midcom 
     1000    fi 
     1001     
     1002    chown -R $APACHE_USER:$APACHE_GROUP $MGD_VAR_PATH/cache/midgard/midcom 
     1003    chown -R $APACHE_USER:$APACHE_GROUP $MGD_VAR_PATH/log/midgard/midcom 
     1004     
     1005    chmod o+x $MGD_VAR_PATH 
     1006    chmod o+x $MGD_VAR_PATH/cache 
     1007    chmod o+x $MGD_VAR_PATH/cache/midgard 
     1008    chmod 0770 $MGD_VAR_PATH/cache/midgard/midcom 
     1009    chmod o+x $MGD_VAR_PATH/log 
     1010    chmod o+x $MGD_VAR_PATH/log/midgard 
     1011    chmod 0770 $MGD_VAR_PATH/log/midgard/midcom   
    9841012} 
    9851013 
     
    10531081} 
    10541082 
    1055 ################################################## 
    1056 # Extracts xml files from tarballs to the data dir 
    1057 # Call this before searching xml files because 
    1058 # otherwise you might miss one from the results 
    1059 ################################################## 
    1060  
    1061 mgd_xml_files() 
    1062 { 
    1063   local pwd=`pwd` 
    1064   if [ ! -d $MGD_SHARE_PATH/pkgs/ ]; then 
    1065     return 1 
    1066   fi 
    1067   cd $MGD_SHARE_PATH/pkgs/ 
    1068   local XML_TAR 
    1069   local files="ls -1" 
    1070   for tarfile in `$files`; do 
    1071     # Skip tars already extracted 
    1072     mgd_is_installed $tarfile 
    1073     if [ ! -n "$RET" ]; then 
    1074       mgd_extract_tar $tarfile 
    1075       if [ -n "$IS_TAR" ]; then 
    1076         # Move the XML files 
    1077         cd $DIR_NAME 
    1078         XML_FILES=`find . -name "*.xml*"` 
    1079         for file in $XML_FILES; do 
    1080           if [ ! -f "../$file" ]; then 
    1081             mv -f $file $MGD_SHARE_PATH/data/ 
    1082             if [ -n "$XML_TAR" ]; then 
    1083               XML_TAR="$XML_TAR,$file" 
    1084             else 
    1085               XML_TAR=$file 
    1086             fi 
    1087         fi 
    1088         done 
    1089         cd .. 
    1090         # Delete the extracted dir 
    1091         rm -rf $DIR_NAME 
    1092       else 
    1093         echo $tarfile | grep ".xml" > /dev/null 
    1094         if [ $? -eq 0 ]; then 
    1095           cp $tarfile $MGD_SHARE_PATH/data/ 
    1096           echo $tarfile | grep ".xml.bz2" > /dev/null 
    1097           if [ $? -eq 0 ];then 
    1098             bunzip2 $MGD_SHARE_PATH/data/$tarfile 
    1099             tarfile=`echo $tarfile | sed 's/.bz2//'` 
    1100           fi 
    1101         fi 
    1102       fi 
    1103       # Add extracted xml tar to the global 
    1104       if [ -n "$MGD_NEW_XML_TARS" ];then 
    1105         MGD_NEW_XML_TARS="$MGD_NEW_XML_TARS $tarfile:$XML_TAR" 
    1106       else 
    1107         MGD_NEW_XML_TARS="$tarfile:$XML_TAR" 
    1108       fi 
    1109     fi 
    1110   done 
    1111   #disabled because that would change file's modify time 
    1112   #and that's not good in mgd_is_installed 
    1113   #mgd_compress_xml_files 
    1114   cd $pwd 
    1115 } 
    1116  
    1117  
    11181083############################################################ 
    11191084# Imports given package automatically if it has valid config 
     
    12921257mgd_install_pear_packages() 
    12931258{ 
    1294         mgd_get_config_data MGD_DB_NAME 
    1295         MGD_DB_NAME=$RET 
    1296          
    1297         echo  
    1298         echo "Installing PEAR packages..." 
    1299         echo 
    1300  
    1301         if [ "$PEAR" == "" ]; then 
    1302         msg="\n\n\n 
    1303         Pear is not available , or was not defined for midgard-data.\n 
    1304         Press OK to continue installation. " 
    1305          
    1306         mgd_msg "$msg" 
    1307         fi 
    1308          
    1309         umask 0022 
    1310  
    1311         PEAR_DIR=`$PEAR config-get php_dir`  
    1312          
    1313         $PEAR upgrade Archive_Tar 
    1314         $PEAR upgrade PEAR 
    1315         $PEAR channel-discover pear.midcom-project.org 
    1316         $PEAR channel-discover pearified.com 
    1317         $PEAR install HTML_QuickForm 
    1318         $PEAR install HTML_Common 
    1319         $PEAR install pearified/Role_Web 
    1320          
    1321         # Define MIDCOM_STATIC_DIR, if empty exit dg */ 
    1322         MIDCOM_STATIC_DIR=`$PEAR config-get web_dir` 
    1323         if [ "$MIDCOM_STATIC_DIR" = "" ]; then 
    1324                 echo "MIDCOM_STATIC_DIR no correctly set" 
    1325                 exit 
    1326         fi 
    1327  
    1328         $PEAR install midcom/Role_Mgdschema 
    1329         $PEAR config-set mgdschema_dir ${MGD_SHARE_PATH}/schema 
    1330         $PEAR install midcom/Role_Midgardsql 
    1331         $PEAR config-set midgardsql_dir ${MGD_SHARE_PATH}/sql/update 
    1332         $PEAR install midcom/Role_Midgardelement 
    1333         $PEAR config-set midgard_config_file $MGD_CONFIG_PATH/conf.d/${MGD_DB_NAME}  
    1334         $PEAR install -f -o midcom/midcom 
    1335         $PEAR install -o midcom/task_MidgardCMS 
    1336         $PEAR install -f -o midcom/template_kubrick 
    1337         $PEAR install -f midcom/template_Howto 
    1338  
    1339          
    1340         _MIDGARD_TABLES=`$mysqlcmd -D $MGD_DB_NAME -e 'show tables' | grep -Ev '(_i\s*\|?\s*$)|repligard|Tables_in_.+'`  
    1341         mgd_update_db_metadata_and_guids  "$MGD_DB_NAME" "$_MIDGARD_TABLES" 
    1342  
    1343         _USFS=`ls $MGD_SHARE_PATH/sql/update/*.sql` 
    1344         for _UFILES in $_USFS; do 
    1345                 echo "Updating database using $_UFILES" 
    1346                 $mysqlcmd -v -f -D $MGD_DB_NAME < $_UFILES >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    1347         done 
    1348          
    1349         mgd_yesno "Create Midgard host for sitewizard?" 
    1350         if [ $RET -ne 0 ];then 
    1351                 exit 0 
    1352         else 
    1353  
    1354                 # Check if php4 command exists, if no, locate php one  
    1355                 _PHP=`which php4` 
    1356                 if [ ! -x $_PHP ]; then 
    1357                         _PHP=`which php` 
    1358                 fi 
    1359          
    1360                 if [ ! -x $_PHP ]; then  
    1361                         mgd_data_error 1 "PHP command is not executable" 
    1362                 else 
    1363  
    1364                 # SG admin and password  
    1365                 mgd_get_config_data MGD_SG_USER_NAME 
    1366                 SGADMIN=$RET 
    1367                 if [ "x$SGADMIN" = "x" ]; then 
    1368                         SGADMIN="admin" 
    1369                 fi 
    1370  
    1371                 mgd_get_config_data MGD_SG_USER_PASS 
    1372                 SGPASS=$RET 
    1373                 if [ "x$SGPASS" = "x" ]; then 
    1374                         SGPASS="password" 
    1375                 fi 
    1376  
    1377                 # Host prefix  
    1378                 mgd_get_config_data MGD_VHOST 
    1379                 MGD_VHOST=$RET 
    1380  
    1381                 MGD_VHOST_PREFIX="" 
    1382                 echo $MGD_VHOST | grep -q '/' 
    1383                 if [ $? -eq 0 ];then 
    1384                         MGD_VHOST_PREFIX=`echo $MGD_VHOST | sed 's/[^/]*\.*//'` 
    1385                 fi 
    1386  
    1387                 $_PHP -d memory_limit=40M ${PEAR_DIR}/midcom/lib/midgard/admin/sitegroup/bin/create-host.php -u $SGADMIN -p $SGPASS --sitegroup_id 0 --topic_midcom midgard.admin.sitewizard --extend_style template_Midgard --topic_name "Midgard Site Wizard" --hostname localhost --host_prefix /midgard-sitewizard -c $MGD_DB_NAME >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
    1388  
    1389                 fi 
    1390         fi 
    1391  
    1392         umask 0177 
     1259    mgd_get_config_data MGD_DB_NAME 
     1260    MGD_DB_NAME=$RET 
     1261     
     1262    echo  
     1263    echo "Installing PEAR packages..." 
     1264    echo 
     1265 
     1266    if [ "$PEAR" == "" ]; then 
     1267    msg="\n\n\n 
     1268    Pear is not available , or was not defined for midgard-data.\n 
     1269    Press OK to continue installation. " 
     1270     
     1271    mgd_msg "$msg" 
     1272    fi 
     1273     
     1274    umask 0022 
     1275 
     1276    PEAR_DIR=`$PEAR config-get php_dir`  
     1277     
     1278        $PEAR channel-update pear.php.net 
     1279    $PEAR upgrade -f Archive_Tar 
     1280    $PEAR upgrade -f PEAR    
     1281    $PEAR channel-discover pear.midcom-project.org 
     1282    $PEAR channel-discover pearified.com 
     1283    $PEAR install HTML_QuickForm 
     1284    $PEAR install HTML_Common 
     1285    $PEAR install pearified/Role_Web 
     1286     
     1287    # Define MIDCOM_STATIC_DIR, if empty exit dg */ 
     1288    MIDCOM_STATIC_DIR=`$PEAR config-get web_dir` 
     1289    if [ "$MIDCOM_STATIC_DIR" = "" ]; then 
     1290        echo "MIDCOM_STATIC_DIR no correctly set" 
     1291        exit 
     1292    fi 
     1293 
     1294    $PEAR install midcom/Role_Mgdschema 
     1295    $PEAR config-set mgdschema_dir ${MGD_SHARE_PATH}/schema 
     1296    $PEAR install midcom/Role_Midgardsql 
     1297    $PEAR config-set midgardsql_dir ${MGD_SHARE_PATH}/sql/update 
     1298    $PEAR install midcom/Role_Midgardelement 
     1299    $PEAR config-set midgard_config_file $MGD_CONFIG_PATH/conf.d/${MGD_DB_NAME}  
     1300    $PEAR install -f -o midcom/midcom 
     1301    $PEAR install pearified/JavaScript_Prototype 
     1302    $PEAR install Mail_Mime 
     1303    $PEAR install midcom/midcom_helper_datamanager2 
     1304    $PEAR install -f midcom/org_openpsa_httplib 
     1305    $PEAR install -f midcom/net_nemein_calendar 
     1306    $PEAR install -f midcom/midcom_helper_imagepopup 
     1307    $PEAR install -f midcom/midcom_helper_search 
     1308    $PEAR install -f midcom/de_linkm_sitemap 
     1309    $PEAR install -f midcom/midgard_admin_sitewizard 
     1310    $PEAR install -f midcom/net_nehmer_static 
     1311    $PEAR install -f midcom/fi_protie_navigation 
     1312    $PEAR install -f midcom/Javascript_protoToolkit 
     1313    $PEAR install -f midcom/midcom_helper_datamanager 
     1314    $PEAR install -f midcom/midcom_admin_content 
     1315    $PEAR install -f midcom/no_bergfald_rcs 
     1316    $PEAR install -f midcom/org_routamc_photostream 
     1317    $PEAR install -f midcom/org_routamc_gallery 
     1318    $PEAR install midcom/net_nehmer_blog 
     1319    $PEAR install -f -o midcom/template_kubrick 
     1320    $PEAR install -f midcom/template_Howto 
     1321 
     1322     
     1323    _MIDGARD_TABLES=`$mysqlcmd -D $MGD_DB_NAME -e 'show tables' | grep -Ev '(_i\s*\|?\s*$)|repligard|Tables_in_.+'`  
     1324    mgd_update_db_metadata_and_guids  "$MGD_DB_NAME" "$_MIDGARD_TABLES" 
     1325 
     1326    _USFS=`ls $MGD_SHARE_PATH/sql/update/*.sql` 
     1327    for _UFILES in $_USFS; do 
     1328        echo "Updating database using $_UFILES" 
     1329        $mysqlcmd -v -f -D $MGD_DB_NAME < $_UFILES >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     1330    done 
     1331     
     1332    mgd_yesno "Create Midgard host for sitewizard?" 
     1333    if [ $RET -ne 0 ];then 
     1334        exit 0 
     1335    else 
     1336 
     1337        # Check if php4 command exists, if no, locate php one  
     1338        _PHP=`which php4` 
     1339        if [ ! -x "$_PHP" ]; then 
     1340            _PHP=`which php` 
     1341        fi 
     1342     
     1343        if [ ! -x "$_PHP" ]; then  
     1344            mgd_data_error 1 "PHP command is not executable" 
     1345        else 
     1346 
     1347        # SG admin and password  
     1348        mgd_get_config_data MGD_SG_USER_NAME 
     1349        SGADMIN=$RET 
     1350        if [ "x$SGADMIN" = "x" ]; then 
     1351            SGADMIN="admin" 
     1352        fi 
     1353 
     1354        mgd_get_config_data MGD_SG_USER_PASS 
     1355        SGPASS=$RET 
     1356        if [ "x$SGPASS" = "x" ]; then 
     1357            SGPASS="password" 
     1358        fi 
     1359 
     1360        # Host prefix  
     1361        mgd_get_config_data MGD_VHOST 
     1362        MGD_VHOST=$RET 
     1363 
     1364        MGD_VHOST_PREFIX="" 
     1365        echo $MGD_VHOST | grep -q '/' 
     1366        if [ $? -eq 0 ];then 
     1367            MGD_VHOST_PREFIX=`echo $MGD_VHOST | sed 's/[^/]*\.*//'` 
     1368        fi 
     1369 
     1370        $_PHP -d memory_limit=40M ${PEAR_DIR}/midcom/lib/midgard/admin/sitegroup/bin/create-host.php -u $SGADMIN -p $SGPASS --sitegroup_id 0 --topic_midcom midgard.admin.sitewizard --extend_style template_Midgard --topic_name "Midgard Site Wizard" --hostname localhost --host_prefix /midgard-sitewizard -c $MGD_DB_NAME >> $MGD_VAR_PATH/log/midgard/datagard_update.log 2>&1 
     1371 
     1372        fi 
     1373    fi 
     1374 
     1375    umask 0177 
    13931376}