Changeset 24958 for main/trunk


Ignore:
Timestamp:
2012-01-20T16:22:35+13:00 (12 years ago)
Author:
ak19
Message:

First commit to do with Greenstone's support for RSS. Committing Dr Bainbridge's code which was already working for windows. This has now been tested on Linux, where it can be got to work with changes to zextra.dm and base.dm and if the rss-items.rdf file generated by the update to BasePlugout is moved to the index folder). The next set of commits will make the way rssaction.cpp accesses the rss-items.rdf file independent of where the GS server is located, with changes to the protocol class.

Location:
main/trunk/greenstone2
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone2/configure

    r23802 r24958  
    312312ac_subdirs_all="$ac_subdirs_all build-src"
    313313ac_subdirs_all="$ac_subdirs_all runtime-src"
    314 ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE VERSION USE_FASTCGI USE_LANGACTION USE_CORBA MICO_DIR ENABLE_JAVA USE_Z3950 USE_YAZ USE_WVWARE USE_JDBM USE_GDBM ENABLE_ACCENTFOLD USE_SQLITE USE_APACHE_HTTPD ENABLE_JNI ENABLE_MG ENABLE_MGPP ENABLE_LUCENE LDFLAGS CFLAGS CC CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX AWK YACC build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB COMPAT32BITFLAGS MICO_VER CPP EGREP U ANSI2KNR ALLOCA LIBOBJS STATIC gsdlos MODULEDIRS subdirs LTLIBOBJS'
     314ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE VERSION USE_FASTCGI USE_LANGACTION USE_CORBA MICO_DIR ENABLE_JAVA USE_Z3950 USE_YAZ USE_WVWARE USE_JDBM USE_GDBM ENABLE_ACCENTFOLD USE_SQLITE USE_RSS USE_APACHE_HTTPD ENABLE_JNI ENABLE_MG ENABLE_MGPP ENABLE_LUCENE LDFLAGS CFLAGS CC CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX AWK YACC build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB COMPAT32BITFLAGS MICO_VER CPP EGREP U ANSI2KNR ALLOCA LIBOBJS STATIC gsdlos MODULEDIRS subdirs LTLIBOBJS'
    315315ac_subst_files=''
    316316
     
    865865  --disable-accentfold    Disable Accent Folding for MGPP
    866866  --disable-sqlite        Disable SQLite support
     867  --disable-rss        Disable RSS support
    867868  --enable-apache-httpd   Enable Apache httpd support
    868869  --enable-jni            Enable JNI compilation
     
    15401541
    15411542
     1543# Check whether --enable-rss or --disable-rss was given.
     1544if test "${enable_rss+set}" = set; then
     1545  enableval="$enable_rss"
     1546  USE_RSS=$enableval
     1547else
     1548  USE_RSS=yes
     1549fi;
     1550if test $USE_RSS = "yes" -o $USE_RSS = "1" ; then
     1551  USE_RSS=1
     1552  cat >>confdefs.h <<\_ACEOF
     1553#define USE_RSS
     1554_ACEOF
     1555
     1556else
     1557  USE_RSS=0
     1558fi
     1559
     1560
     1561
    15421562if test -d runtime-src; then
    15431563   # Check whether --enable-apache-httpd or --disable-apache-httpd was given.
     
    80668086s,@ENABLE_ACCENTFOLD@,$ENABLE_ACCENTFOLD,;t t
    80678087s,@USE_SQLITE@,$USE_SQLITE,;t t
     8088s,@USE_RSS@,$USE_RSS,;t t
    80688089s,@USE_APACHE_HTTPD@,$USE_APACHE_HTTPD,;t t
    80698090s,@ENABLE_JNI@,$ENABLE_JNI,;t t
  • main/trunk/greenstone2/configure.in

    r23801 r24958  
    147147fi
    148148AC_SUBST(USE_SQLITE)
     149
     150dnl
     151dnl Set use of RSS (enabled by default)
     152dnl
     153AC_ARG_ENABLE(rss, [  --disable-rss        Disable RSS support], USE_RSS=$enableval, USE_RSS=yes)
     154if test $USE_RSS = "yes" -o $USE_RSS = "1" ; then
     155  USE_RSS=1
     156  AC_DEFINE(USE_RSS,[])
     157else
     158  USE_RSS=0
     159fi
     160AC_SUBST(USE_RSS)
     161
    149162
    150163dnl
  • main/trunk/greenstone2/perllib/plugouts/BasePlugout.pm

    r24829 r24958  
    805805    ##print STDERR "*** To set in db: \n\t$doc_db\n\t$oid\n\t$doc_db_text\n";
    806806
     807    if (($oid_files->{'index-status'} eq "I") || ($oid_files->{'index-status'} eq "R")) {
     808    my $top_section = $doc_obj->get_top_section();
     809
     810    my $dc_titles = $doc_obj->get_metadata($top_section,"dls.Title");
     811    my $dc_title = join("; ", @$dc_titles);
     812
     813    if ($oid_files->{'index-status'} eq "R") {
     814        $dc_title .= " (Updated)";
     815    }
     816
     817    my $rss_filename = &util::filename_cat($output_dir,"rss-items.rdf");
     818    if (open(RSSOUT,">>$rss_filename")) {
     819        print RSSOUT "<item>\n";
     820        print RSSOUT "   <title>$dc_title</title>\n";
     821        print RSSOUT "   <link>_httpdomain__httpcollection_/document/$oid</link>\n";
     822        print RSSOUT "</item>\n";
     823        close(RSSOUT);
     824    }
     825    else {
     826        print STDERR "**** Failed to open $rss_filename\n!$\n";
     827    }
     828
     829
     830    }
     831
    807832    $oid_files->{'doc-file'} = [ $oid_files->{'doc-file'} ];
    808833    $oid_files->{'index-status'} = [ $oid_files->{'index-status'} ];
  • main/trunk/greenstone2/runtime-src/configure

    r24901 r24958  
    310310
    311311ac_subdirs_all="$ac_subdirs_all packages"
    312 ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE VERSION USE_FASTCGI USE_LANGACTION USE_CORBA MICO_DIR USE_Z3950 USE_YAZ ENABLE_JAVA USE_JDBM USE_GDBM ENABLE_ACCENTFOLD USE_SQLITE USE_APACHE_HTTPD ENABLE_MG ENABLE_MGPP ENABLE_LUCENE LDFLAGS CFLAGS CC CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX JAVAC JAVACFLAGS JAVA uudecode AWK YACC build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB COMPAT32BITFLAGS MICO_VER CPP EGREP U ANSI2KNR ALLOCA LIBOBJS STATIC gsdlos gsdlarch MODULEDIRS subdirs LTLIBOBJS'
     312ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS PACKAGE VERSION USE_FASTCGI USE_LANGACTION USE_CORBA MICO_DIR USE_Z3950 USE_YAZ ENABLE_JAVA USE_JDBM USE_GDBM ENABLE_ACCENTFOLD USE_SQLITE USE_RSS USE_APACHE_HTTPD ENABLE_MG ENABLE_MGPP ENABLE_LUCENE LDFLAGS CFLAGS CC CPPFLAGS ac_ct_CC EXEEXT OBJEXT CXX CXXFLAGS ac_ct_CXX JAVAC JAVACFLAGS JAVA uudecode AWK YACC build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LN_S SET_MAKE RANLIB ac_ct_RANLIB COMPAT32BITFLAGS MICO_VER CPP EGREP U ANSI2KNR ALLOCA LIBOBJS STATIC gsdlos gsdlarch MODULEDIRS subdirs LTLIBOBJS'
    313313ac_subst_files=''
    314314
     
    862862  --disable-accentfold    Disable Accent Folding for MGPP
    863863  --disable-sqlite        Disable SQLite support
     864  --disable-rss        Disable RSS support
    864865  --enable-apache-httpd  Enable Apache httpd support
    865866  --disable-mg        Disable MG compilation
     
    15191520
    15201521
     1522# Check whether --enable-rss or --disable-rss was given.
     1523if test "${enable_rss+set}" = set; then
     1524  enableval="$enable_rss"
     1525  USE_RSS=$enableval
     1526else
     1527  USE_RSS=yes
     1528fi;
     1529if test $USE_RSS = "yes" -o $USE_RSS = "1" ; then
     1530  USE_RSS=1
     1531  cat >>confdefs.h <<\_ACEOF
     1532#define USE_RSS
     1533_ACEOF
     1534
     1535else
     1536  USE_RSS=0
     1537fi
     1538
     1539
     1540
    15211541# Check whether --enable-apache-httpd or --disable-apache-httpd was given.
    15221542if test "${enable_apache_httpd+set}" = set; then
     
    29913011CLASS_TEST=Test.class
    29923012cat << \EOF > $JAVA_TEST
    2993 /* #line 2993 "configure" */
     3013/* #line 3013 "configure" */
    29943014public class Test {
    29953015}
     
    31683188        ac_cv_prog_uudecode_base64=yes
    31693189else
    3170         echo "configure: 3170: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
     3190        echo "configure: 3190: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
    31713191        echo "configure: failed file was:" >&5
    31723192        cat Test.uue >&5
     
    32923312CLASS_TEST=Test.class
    32933313cat << \EOF > $JAVA_TEST
    3294 /* #line 3294 "configure" */
     3314/* #line 3314 "configure" */
    32953315public class Test {
    32963316}
     
    33333353TEST=Test
    33343354cat << \EOF > $JAVA_TEST
    3335 /* [#]line 3335 "configure" */
     3355/* [#]line 3355 "configure" */
    33363356public class Test {
    33373357public static void main (String args[]) {
     
    85048524s,@ENABLE_ACCENTFOLD@,$ENABLE_ACCENTFOLD,;t t
    85058525s,@USE_SQLITE@,$USE_SQLITE,;t t
     8526s,@USE_RSS@,$USE_RSS,;t t
    85068527s,@USE_APACHE_HTTPD@,$USE_APACHE_HTTPD,;t t
    85078528s,@ENABLE_MG@,$ENABLE_MG,;t t
  • main/trunk/greenstone2/runtime-src/configure.in

    r24901 r24958  
    136136fi
    137137AC_SUBST(USE_SQLITE)
     138
     139dnl
     140dnl Set use of RSS (enabled by default)
     141dnl
     142AC_ARG_ENABLE(rss, [  --disable-rss        Disable RSS support], USE_RSS=$enableval, USE_RSS=yes)
     143if test $USE_RSS = "yes" -o $USE_RSS = "1" ; then
     144  USE_RSS=1
     145  AC_DEFINE(USE_RSS,[])
     146else
     147  USE_RSS=0
     148fi
     149AC_SUBST(USE_RSS)
     150
    138151
    139152dnl
  • main/trunk/greenstone2/runtime-src/src/recpt/Makefile.in

    r24901 r24958  
    117117endif
    118118
     119USE_RSS = @USE_RSS@
     120ifeq ($(USE_RSS), 1)
     121RSS_DEFINES = -DUSE_RSS
     122RSS_SOURCES = rssaction.cpp
     123RSS_OBJECTS = rssaction.o
     124else
     125RSS_DEFINES =
     126RSS_SOURCES =
     127RSS_OBJECTS =
     128endif
     129
    119130
    120131USE_Z3950 = @USE_Z3950@
     
    155166CXX = @CXX@
    156167CXXFLAGS = @CXXFLAGS@ @COMPAT32BITFLAGS@
    157 DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(Z3950_DEFS)
     168DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DHAVE_CONFIG_H $(FASTCGI_DEFS) $(RSS_DEFINES) $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(Z3950_DEFS)
    158169INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib \
    159170        -I$(COLSERVR_DIR) -I$(PROTOCOL_DIR) \
     
    211222    querytools.cpp \
    212223    receptionist.cpp \
     224    $(RSS_SOURCES) \
    213225    statusaction.cpp \
    214226    summarise.cpp \
     
    258270    querytools.o \
    259271    receptionist.o \
     272    $(RSS_OBJECTS) \
    260273    statusaction.o \
    261274    summarise.o \
  • main/trunk/greenstone2/runtime-src/src/recpt/cgiwrapper.cpp

    r23389 r24958  
    7272#endif
    7373
     74#if defined(USE_RSS)
     75#include "rssaction.h"
     76#endif
     77
    7478#include "tipaction.h"
    7579#include "statusaction.h"
     
    531535#endif
    532536
     537#if defined(USE_RSS)
     538  rssaction *arssaction = new rssaction();
     539  recpt.add_action (arssaction);
     540#endif
     541
    533542  queryaction *aqueryaction = new queryaction();
    534543  aqueryaction->set_receptionist (&recpt);
  • main/trunk/greenstone2/runtime-src/src/recpt/win32.mak

    r24902 r24958  
    4545DLLDEBUG = 0
    4646ENABLE_ACCENTFOLD = 1
     47USE_RSS = 1
    4748USE_GDBM = 1
    4849USE_JDBM = 1
     
    7980!ELSE
    8081ACCENTFOLD_LIBS =
     82!ENDIF
     83
     84!IF $(USE_RSS)
     85RSS_DEFINES = -DUSE_RSS
     86RSS_SOURCES = rssaction.cpp
     87RSS_OBJECTS = rssaction.obj
     88!ELSE
     89RSS_DEFINES =
     90RSS_SOURCES =
     91RSS_OBJECTS =
    8192!ENDIF
    8293
     
    187198CC = cl
    188199DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
    189         -DGSDL_NOCACHE $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
     200    -DGSDL_NOCACHE $(RSS_DEFINES) $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES) \
    190201    $(Z3950_DEFS) $(MG_DEFS) $(MGPP_DEFS) $(LUCENE_DEFS)
    191202INCLUDES = -I. -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
     
    205216!ENDIF
    206217
     218CXXFLAGS = $(CXXFLAGS) -DDOCHANDLE
    207219
    208220COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
     
    263275    querytools.cpp \
    264276    receptionist.cpp \
     277    $(RSS_SOURCES) \
    265278    statusaction.cpp \
    266279    $(SQL_SOURCES) \
     
    311324    querytools.obj \
    312325    receptionist.obj \
     326    $(RSS_OBJECTS) \
    313327    statusaction.obj \
    314328    $(SQL_OBJECTS) \
  • main/trunk/greenstone2/win32.mak

    r22090 r24958  
    3636USE_GDBM = 1
    3737USE_JDBM = 1
     38# USE_RSS is enabled by default for GS2. How about GS3?
     39USE_RSS = 1
    3840# USE_SQLITE is enabled by default for GS2. Need to turn off explicitly for GS3 in build.xml
    3941USE_SQLITE = 1
     
    8284!IF !$(USE_JDBM)
    8385MAKECMD = $(MAKECMD) USE_JDBM=0
     86!ENDIF
     87!IF !$(USE_RSS)
     88MAKECMD = $(MAKECMD) USE_RSS=0
    8489!ENDIF
    8590!IF !$(USE_SQLITE)
Note: See TracChangeset for help on using the changeset viewer.