Author Archives: TimL

There is a limitation of the PostgreSQL installer if you are using windows domains.

The installer will need to make a postgres user that have write permissions on %PROGRAMFILES%\Postgres.

If the PostgreSQL is/will-be unable to do so, please setup the permissions beforehand. Adding write for "Everyone" or adding rights for a new postgres user with the default password Pgsq1p@ssword will avert this limitation.

If you tried a normal noodle install and you have a black "upgrade in progress" screen then this is likely the problem. There is no need to reinstall noodle; just uninstall PostgreSQL, set up the permissions, download the PGInstaller and reinstall PostgreSQL.

After you install PostgreSQL you will need to edit the pg_hba.conf and make sure there is a "127.0.0.1/32 password" line.
Next run the init.sql in the Noodle folder with PGAdmin3 one line at a time.
Restart the PostgreSQL then Noodle service.

Full-text search is extensible to any format, so long as there is a CLI tool to convert it to text.

Configuration of ORACLE and MSSQL built-in indexers differ and can be used in combination with this method.

To index the contents of popular formats like office documents on linux add the following to your .conf:

#tested
#apt/yum install -y poppler-utils pstotext antiword html2text unrtf python-excelerator libwpd-tools unzip catdoc
Indexer.IndexContent = ALL
Indexer.toTxt.Enabled = true
Indexer.toTxt.pdf = "pdftotext -q -eol unix -enc UTF-8 $IN $OUT"
Indexer.toTxt.doc = "antiword $IN > $OUT"
Indexer.toTxt.html = "html2text -nobs -o $OUT $IN"
Indexer.toTxt.xls = "xls2csv $IN > $OUT"
Indexer.toTxt.mp3 = "id3info $IN | grep '===' | grep -v 'PRIV' | grep -v 'image\/' | perl -p -e 's/^.+(\)|\])\:/ /g' > $OUT"
Indexer.toTxt.rtf = "unrtf --nopict --text $IN 2>/dev/null | grep -v '^### ' > $OUT"
Indexer.toTxt.docx = "unzip -p $IN word/document.xml | perl -p -e 's/<.+?>/ /g' > $OUT"
Indexer.toTxt.pptx = "unzip -p $IN ppt/slides/*.xml | perl -p -e 's/<.+?>/ /g' > $OUT"
Indexer.toTxt.xlsx = "unzip -p $IN xl/sharedStrings.xml | perl -p -e 's/<.+?>/ /g' > $OUT"
Indexer.toTxt.odt = "unzip -p $IN content.xml | perl -p -e 's/<.+?>/ /g' > $OUT"
Indexer.toTxt.ods = "unzip -p $IN content.xml | perl -p -e 's/<.+?>/ /g' > $OUT"
Indexer.toTxt.odp = "unzip -p $IN content.xml | perl -p -e 's/<.+?>/ /g' > $OUT"

# TensorFlow image search
#Indexer.toTxt.jpg = "python classify.py --image $IN | grep -P '^1\. ' > $OUT"

## others
#Indexer.toTxt.wpd = "wpd2text $IN > $OUT"
#Indexer.toTxt.jpg = "exiftool $IN > $OUT #for camera type or gps location"
#Indexer.toTxt.xls = "py_xlstoTxt $IN > $OUT # supports sheets but adds sheet = ----"
#Indexer.toTxt.docx = "unzip -p $IN word/document.xml | sed -e 's/<[^>]\{1,\}>/ /g' > $OUT"

Windows examples

Indexer.IndexContent = ALL
Indexer.Interval = 30
Indexer.toTxt.Enabled = true
Indexer.toTxt.pdf = "\"C:/Program Files/xpdf/pdftotext.exe\" $IN $OUT"
Indexer.toTxt.doc = "C:\antiword\antiword.exe $IN > $OUT"

You can populate your conf file with command line method of converting the file types of your choice to text.

Be sure "System Tools > Settings > General > Enable Full Text Search" is set to "Yes".

  • Noodle is not sending any emails
    • (using your own smtp server) White list the server or check authentication
    • (using Vialect smtp from a local install) Check firewalls:
      • Send us the public IP of your Noodle server
      • Test if your Noodle server can contact other SMTP servers:
        • install telnet:
          • Windows: pkgmgr /iu:"TelnetClient"
          • MacOS: brew install telnet
          • Linux(Debian,Fedora,Arch) : apt install telnet || dnf install telnet || yay -S inetutils
        • echo "QUIT" | telnet gmail-smtp-in.l.google.com 25
        • Some consumer ISPs block port 25.
    • Check SPAM mitigations.
  • Noodle is sending some emails
    • There is an invalid address in the email so the SMTP server trashes the whole thing.
    • There is a rule on the SMTP server blocking one or more addresses.
    • make sure your email rules apply to all IPs that routing could use as a source.
  • Email source

If you want to prevent all emails please blank the "SMTP Server Name" setting.

If you need more help contact us and we will find the problem by reviewing the logs.

  1. Login to your Noodle as the 'admin' user and press the upgrade button in System Tools > Settings > General > License.

Manual upgrade after 7.08.20:

  1. kill java (windows only)
  2. replace ROOT.war
  3. restart the Noodle service
  4. optionally upgrade OS, Java, and tomcat.

Version specifics

  • If upgrading from Noodle 6.7.13 (2009-07-24) or before
    • Java 8+ is required
    • If using Microsoft SQL Server, version 2012+ is required.
  • If upgrading from Noodle 7.08.20 (2021-06-22) or before
    • Java 11+ is required
    • and using Linux
      • restart the service after the upgrade
    • and using Windows
      • move are replace intranet.bat_new to intranet.bat
      • move enhydra/ to Backup*/
      • restart the service after the upgrade

Notes

  • Check you are not already using a current version.
  • Major updates, are announced in the newsletter, and may be warned about on the login page.
  • Changes are listed in the version history.
  • The LTS branch changes annually.
  • The release branch changes monthly.
  • Changes to the 2nd part of the version number indicates the database schema has changed.
  • Custom scripts and CSS should be verified to be working after each upgrade.
  • Every version can upgrade from every past version.
  • A Backup is advisable before each upgrade.
  • It is advisable to upgrade the OS (, and Java if using Windows) before each Noodle upgrade.

There are numerous backup methods generally complete or partial, hot or cold.

A simple method is a cold complete backup:

  • Stop Noodle
  • Stop the database
  • Copy the database folder and the Noodle folder
  • Start the database
  • Start Noodle
  • Send the folder copies to a different physical location

More options for database backups include:

  • Hot complete backups: allow a snapshot of your database without stopping anything.
  • Hot partial backups: can be used to backup only recent changes, allow for point in time recovery, and reduce server load.
  • Hot partial backups: can also be used to keep a warm backup server in case of disaster - at any time it will be a usable exact copy of your production database.
  • Cold partial backups: can decrease the time of a cold complete backup.

Production environments should select a backup strategy to maximize flexibility while reducing server load and storage requirements.

For details on backup options please read your database documentation.

Also see  the windows postgres example

To insert JavaScript or HTML into the login page of Noodle - often used for a Message of the Day (MOTD) or legal waiver:

  1. Open noodle.properties
  2. Add or uncomment MessageFile, e.g.
    • Windows: MessageFile = "C:\\Program Files (x86)\\Noodle\\MOTD.html"
    • Linux : MessageFile = "/opt/Noodle/MOTD.html"
  3. Make the file
  4. Restart Noodle
  5. Test with:
    • MOTD works<script>alert('MOTD works');</script>

Other ways to insert JavaScript here