1.0 Administration

1.1. I forgot my user id. How do I retrieve it?

A. If your RAMADDA site has been configured to send email (see here to configure email) then on the Login page you should see "Forget your User ID?" and "Forget your Password?" links.


1.2. How do I configure SSL access to RAMADDA?

A. To configure SSL access see here if you are running under Tomcat. See here if you are running stand-alone.


1.3. The search isn't working. How do I fix it?

A. RAMADDA uses Lucene to build a search index. For some reason this index can get nuked resulting in search not working. I (jeffmc) have been unable to replicate this problem through exhaustive testing and code review. So, in the interim to fix this go to Admin->Maintenance and select Reindex all


1.4. I want to blacklist certain IP address

A. If you add a file "ipblacklist.txt" into your RAMADDA home directory the IP addresses in the file will be blacklisted. The file is if the form:
ipaddress1
ipadddres2
ipaddres.with.wild.card*
e.g.:
190.2.132.128
89.187.164.247
78.46.9*
123.46.9*
If a request comes in at one of the blacklisted IPs then the request is paused for a bit and then a 403 Forbidden result is returned. You will need to restart your RAMADDA for changes to take effect.


1.5. How do I use Lucene for searching?

A. RAMADDA has had the ability to uses Lucene for search indexing though up until 2021 this had been disabled by default. Lucene provides a much better search experience as it indexes the contents of files (e.g., pdfs, ppt, word, csv, etc) and provides better searching - supporting entry hierarchy based searching, synonyoms, etc. As of December 2021 RAMADDA now defaults to using Lucene. This can be overriden with the property:
ramadda.search.lucene.enabled=false
The problem this introduces is that, once enabled, the index does not get built with past content so a search will only show newly created content. To address this you can simply go to the Admin page: Admin->Maintenance->Reindex Lucene Index and select "Reindex all". Depending on the size of your repository this may take a few minutes but once complete your searching should be good to go.


1.6. I want to restrict where users can login from

A. For security reasons you can configure what IP addresses users are allowed to login from. In your repository.properties file in your local RAMADDA directory, e.g.,
<home>/.ramadda/repository.properties
add the property:

    1. Comma separated list of ip addresses (or prefixes) that are the ones where the user can login
    2. If blank then login is allowed from anywhere
ramadda.login.allowedips=
    1. e.g.:
ramadda.login.allowedips=127.0.0,201.43.72.5


1.7. I want my users to agree to certain terms when they log in

A. When the following property is set then any user logging in must agree to the given terms.
ramadda.user.agree= Some terms
#.e.g:
ramadda.user.agree= I have read and agree to the terms of service


1.8. Oops, I told RAMADDA to use an SSL port and SSL is not working. Now I cannot access the admin page to turn off SSL and I'm stuck. What can I do?

A. You need to comment out the ramadda.ssl.port property in your .properties file. Alternatively, you can run RAMADDA with the command line argument:
-Dramadda.ssl.ignore=true


1.9. I forgot the administrator password and cannot access RAMADDA. How do I login?

A. The easiest way is to set a username/password in the repository.properties file in the RAMADDA home directory. Just add:
ramadda.admin=userid:password
and then restart RAMADDA. This sets the password for the given userid. Note: you should remove this entry once you have reset your password.

You can also specify an administrator user id and password from the command line when starting RAMADDA. If you are running RAMADDA stand alone then just provide the arguments:

-admin <user id> <password>
This creates a new user id if needed and sets the password.

If you are running RAMADDA under Tomcat then change the web.xml to pass in command line arguments using the "args" entry. This is a comma separated value list of the command line arguments that are processed by RAMADDA.

    <param-name>args</param-name>
    <param-value>-admin,userid,password</param-value>


1.10. I set the hostname to an incorrect hostname. Now I can't login?

A. Make a <anyname>.properties that contains:
override.ramadda.hostname=<good host name>
and place it in your ramadda home directory or plugins directory and restart ramadda. Once you are logged in go to the Admin Settings page and change the hostname then remove the properties file.

In general, you can override any property that has been set by defining a property with the "override." prefix.


1.11. Map a hostname to some entry

A. You can configure your RAMADDA so that access via some specific hostname (e.g. http://boulderdata.org/) uses some entry. To do this first set a server property to enable this and restart your RAMADDA.
ramadda.enable_hostname_mapping = true
Then add an Alias property to the entry of interest with the value:
http://your_hostname
e.g.:
http://boulderdata.org
If you had different domains you can add multiple aliases -
http://www.boulderdata.org
This will use the entry as the root when accessing the repository under the given hostname. For example, the site http://boulderdata.org/ really just maps to an entry at - https://ramadda.org/repository/entry/show?entryid=79f24329-8c98-4d15-9804-821a70bfb606. Note: when searching under the alias the whole site will be searched.


1.12. How do I configure RAMADDA to send email?

A. RAMADDA can send email for both the password reset process and for monitoring new entries. On the main Site Administration page under the "Contact" area you can specify a SMTP server that RAMADDA will use to send email.


1.13. How do I create a site map?

A. For more effective indexing of your site RAMADDA provides a built-in site map API:
/repository/sitemap.xml
By default this lists all of the entries under the top-level entry.

If you want specific entries in your site map then simply add an "Is in Site Map" property (Under the Add Property-> Thumbnails, Page Style, Etc.) menu for the entry or entries.


1.14. Enable github embeds

A. The wiki facility supports embedding github commit history. github rate limites requests so your repository can only make a few requests at a time. You can increase this rate limit by creating a github personal access token at: https://github.com/settings/tokens. Add the property to your .properties file:
github.token=<your token>


1.15. I want to change the html design of RAMADDA

A. See the documentation.


1.16. Changing the initial welcome text and entries

A. When RAMADDA is first installed it populates your repository with some initial folders and sets the description of the root entry with some initial text. You can override what entries are created and what the text is (for example, if you wanted to configure a number of different RAMADDA servers).

To change the description used just create a file initdescription.txt in the RAMADDA home directory. This file, if it exists, is read by RAMADDA. You can see the default one in the source tree at:

src/org/ramadda/repository/resources/examples/initdescription.txt
This file contains 2 macros:
${root} - the top-level URL path
${topid} - the ID of the root entry
To change what entries are created RAMADDA looks for a initentries.xml file in the RAMADDA home directory. The default file is:
src/org/ramadda/repository/resources/examples/initentries.xml
This is just the entries xml format. The ID of the top-level entry is simply "root", e.g.:
<entries>
<entry parent="root" name="Projects" type="group">
<description>A place to store projects</description>
</entry>
</entries>


1.17. Running with non-ascii characters

A. There are a number of things you will need to do to run with content that is non-ascii (e.g., Chinese characters).

For Tomcat set the URIEncoding: http://stackoverflow.com/questions/138948/how-to-get-utf-8-working-in-java-webapps.

If you are running mysql there are some things you need to do. Postgres and Derby seem OK out of the box.

Your Java runtime should also have the system property -Dfile.encoding=utf-8 defined.


1.18. How do I configure the entry table to always show the Apply action form?

A. The entry table has an "Apply action" header form that is normally toggled off. To change this default behavior set the RAMADDA property (either in a repository.properties file or through the Admin interface)
ramadda.wiki.table.formopen=true


1.19. I've cleaned up files on my server that I had harvested in RAMADDA. How do I delete those entries in RAMADDA?

A. If you have harvested files into RAMADDA from your server file system and subsequently delete those files (e.g., scouring a real-time archive) RAMADDA will not delete the corresponding entries automatically. Instead, by default, RAMADDA will not show those kinds of entries to non logged in users but will show them to logged in users. However, no file download is available because the file is missing. To clean up these entries in RAMADDA you can manually delete the entries or you can set a property to automatically delete these types of entries.
ramadda.delete_entry_when_file_is_missing=true
Be careful with this. I (jeffmc) have seen remote file systems go down momentarily and if this had been set then all of my entries that I had harvested would have been deleted.


1.20. How do I select multiple checkboxes at once?

A. In RAMADDA when there is a collection of checkboxes in a form (e.g., in the entry list or in the edit metadata form) selecting one and then selecting another with a Shift-Click toggles the range of checkboxes between the first the second checkbox clicked. Doing a Control-Click on a checkbox toggles all of them on or off.