Frequently Asked Questions about SVNIndexer and SVNIndexer-webapplication

I SVNSearcher:

Is it one or two application?

SVNSearcher is composed of two application: SVNIndexer (creates and updates index) and SVNIndexer-webapplication (using index files to searching and provides user interface).

You can use them apart and the only information needed to integrate them is included in configuration file and in index files.

Does it have multilanguage support?

Yes, SVNSearcher recognize browser language preferences and loads suitable
page text content. If no supported preferences was found then English content is loaded.

II SVNIndexer:

Can I index many repositories from different URL?

Yes you can, but currently SVNIndexer enable set only one URL (in property file) per one start SVNIndexer.
Nevertheless SVNIndexer add information about indexed repository URL to index after each indexing.
If you start SVNIndexer many times, each start with other configuration in property file,
you will have added many repository names and URLs to index.
In result each next start will update all before added to index repositories.

Note that currently version of SVNIndexer doesn't wirte in index authorization configuration, so each repository you added must have the same authorization options or have disabled authorization option.

Why do I have "Obtain timed out: Lock@(path/to/lock/file)" error?

SVNIndexer, during writing to index files, creates temporary lock file in your temporary directory (depends on operation system).

This file informs that index files are currently occupied and any other application can't write on them.
SVNIndexer always deletes lock file after finished indexing, but when application is terminated
(process is killed) this lock file isn't deleted and you have to delete it manually before next starting SVNIndexer.

This error can also occured when other instance of SVNIndexer application is run.
For example when you use SVN hooks to index repository after each commit,
next start of SVNIndexer should be after previous instance (SVNIndexer) finished.

III SVNIndexer-webapplication:

Why do I have to compile authorization module?

Currently used authorization module is a external libray (in 'C').
This library has strong relation with SVN verision, Operation system version
so it has to be compiled on each system which use SVNSearcher authorization option.

How to compile authorization module step by step?

If you are going to use authorization option you have to set authorization=true in property file
(default the file has name conf.properties).

You also have to set path to SVN authorization file in access property in proterties file.
If you installed SVNIndexer-webapplication on other machine than SVN server and you can't set path to currently using SVN authorization file, you must copy this file on machine with SVNIndexer-webapplication.
Note that in this case all changes in this file on SVN server should be copied to file using in SVNIndexer-webapplication.

Before you use Makefile to create the module, you have to install and prepare:

  • g++ compiler
  • apr and apt util library (http://apr.apache.org/download.cgi) - download these files (if you use Linux/Unix you can save them
    in /usr/include/apr-1.2.9 and in /usr/include/apr-util-1.2.8 for example) and read README file.
    Probably you will have to run only ./configure and ./make in both projects to have them installed.
  • SVN headers files (http://svn.collab.net/repos/svn/trunk/subversion/include/) - download these files. You can save them for example in /usr/include/subversion
  • export viariable $APR_PATH to directory with APR/include. In this example:
    		export APR_PATH=/usr/include/apr-1.2.9/include
  • export viariable $MY_JAVA_PATH to directory with Java VM, for example
    		export APR_PATH=/usr/lib/jvm/java-1.5.0-sun-1.5.0.11
  • export viariable $SVN_PATH to directory where you copied SVN header files, for example:
    		export SVN_PATH=/usr/include/subversion
  • export viariable $MY_LIB_PATH to directory with modules: ibsvn_repos-1.so and libsvn_subr-1.so. Default it's /usr/lib

Now you can execute make in Authorization directory

After building libAuthorization.so copy this file to $CATALINA_HOME/shared/lib.
and export viarable $LD_LIBRARY_PATH

		export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/shared/lib.

This variable must be always exported when you start Tomcat.
Remember that if you start Tomcat from root account, this variable must be
set for root enviroment and using sudo isn't equals to start Tomcat from root enviroment.

After this SVNIndexer-webapplication will try to authorize user
got from session to access for each found document.

Error during loading libAuthorization.so

Probably you have not set correctly $LD_LIBRARY_PATH to directory with libAuthorization.so module.
Make sure that enviroment which starts Tomcat has exported:

		export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/shared/lib.
Remember that if you start Tomcat from root account, this variable must be
set for root enviroment and using sudo isn't equals to start Tomcat from root enviroment.

Trademarks

Acrobat, Adobe, PDF and Reader are registered trademarks of Adobe Systems Incorporated.

Linux is a registered trademark of Linus Torvalds.

Microsoft, Word, Excel, PowerPoint, Office, Windows are registered trademarks of Microsoft Corporation.

EJB, Enterprise JavaBeans, Java, JavaServer, JDBC, JSP, J2EE, Solaris, Sun Microsystems, Java Naming and Directory Interface, SOAP with Attachments API for Java, JavaServer Pages and SunSoft are trademarks of Sun Microsystems, Inc.

UNIX is a registered trademark in the United States and other countries, exclusively licensed through X/Open Company, Ltd.

Apache, Apache POI and POI, Apache Tomcat and Tomcat, Xerces-C, Apache Lucene and Lucene, log4j, Apache Maven and Maven are trademarks of the Apache Software Foundation

Subversion, SVN are a trademark of Subversion Corporation

All other marks are the property of their respective owners