Installing Funcd

General information

Before installing a new Funcd version you have to uninstall existing Funcd installations (see Update Product 360 - Media Manager). The Product 360 - Media Manager Funcd is a service, or a daemon, which executes the tasks requested by client modules. The commands used by the Funcd include the following, some of which are platform-specific:

  • layout (Sun Solaris with Helios OPI support)

  • convert (ImageMagic for all supported platforms)

  • exiftool (Windows)

  • Platform-specific copy commands (with dt-tools in the case of Helios support)

The client modules can communicate with the the Funcd via IP. Otherwise, the Funcd monitors a platform-specific input directory. The archive PIM_<Version>_ThirdPartySoftware.zip contains Funcd versions for the following platforms:

  • Linux (funcd.linux)

  • Windows 2008 R2 Server /Windows 2012 Server (funcd.nt)

Further information on setting up your Heiler Media Manager Funcd can be found in Activating Product 360 - Media Manager, defining volumes & setting up Funcd. Depending on the set debug level, the Funcd maintains a log with different levels of detail:

  • 0 is the lowest debug level: No log is maintained.

  • 20 is the highest debug level: An extremely detailed log is maintained.

The log file can be found in one of the following directories:

  • […]/opastool/funcd

  • […]/opastool/funcdpip1

  • […]/opastool/funcdpip2

Unless you make a different setting, the Funcd cancels any process with a timeout after 600 seconds with no response.

File server Funcd

Macintosh OSX and Linux

The Macintosh OSX or Linux packages are not part of the release package. You can get more information about these packages on request.

3rd party tools

Due to license restrictions GhostScript, ICC profiles, FFmpeg and MEncoder are not shipped with Informatica Media Manager.

Windows

The folder …\Volume0\opastool\funcd is monitored by this Funcd. (It is recommended to use UNC paths.)

The procedure for installing the Informatica Media Manager Funcd for file servers on Windows Server is as follows:

    1. Run the corresponding setup file in the directory funcd.nt on the third-party software CD: Setup_FS_Funcd.exe.

    2. Click on Next.

    3. Enter the path to the directory where the Funcd will be installed.

    4. Click on Next.

    5. The list of components that will be installed is displayed.

    6. Click on Next.

    7. Select the folder to be monitored, see note above.

    8. Click on Next.

    9. Configure the settings for TCP port, timeout, debug level and count of parallel processes. (It is not recommended to change the default values.) Please note the port, you will need it for the setting in the Administration module, see Activating Product 360 - Media Manager, defining volumes & setting up Funcd.

    10. Click on Next.

    11. Select the Start menu folder.

    12. Click on Next.

    13. Check that the installation routine has correctly identified the environment.

    14. If all the information is correct, click on Install.

    15. Exit the program.

    The installation is complete.

    Linux

    Prerequisites

    1. Volume0 and BufferVolume from the main DVD must be residing in a share on the Linux server

    2. root access

    3. ImageMagick must be installed

    4. ExifTool must be installed

    5. Correct archive for your kernel version

    Available Funcd archive

    3RD_PARTY_CD/funcd.linux/RHEL_7.0/lnx_funcd_64_RH7.tgz

    Step by step manual

    1. Create a home directory for the Funcd

      Create Funcd home
      $ mkdir /opt/IMMfuncd
    2. Unpack the Funcd archive in /opt/IMMfuncd

      Unpack the Funcd archive
      $ cd /opt/IMMfuncd
      $ cp lnx_funcd_64_RH7.tgz .
      $ tar -xzf lnx_funcd_64_RH7.tgz
    3. Set access privileges for the complete funcd content

      Set privileges
      $ chmod -R 755 /opt/IMMfuncd
    4. Move tools to Volume 0

      Create {{tools}} folder
      $ mkdir [...]/Volume0/opastool/funcd
      $ mv tools [...]/Volume0/opastool/funcd
      $ chmod 755 [...]/Volume0/opastool/funcd/tools/*.sh
      $ chmod 755 [...]/Volume0/opastool/funcd/tools/convert
      $ chmod 755 [...]/Volume0/opastool/funcd/tools/java/bin/*
    5. Create links to ImageMagick in the tools folder

      ImageMagick links
      $ ln -s [path to ImageMagick]/convert [...]/Volume0/opastool/funcd/tools/convert2
      $ ln -s [path to ImageMagick]/identify [...]/Volume0/opastool/funcd/tools/identify
      $ ln -s [path to ImageMagick]/composite [...]/Volume0/opastool/funcd/tools/composite
      $ ln -s [path to ImageMagick]/mogrify [...]/Volume0/opastool/funcd/tools/mogrify

      ImageMagick location

      Under Red Hat Enterprise Linux 7 the default location of ImageMagick is /usr/bin.

    6. Create links to tar and gzip in the tools folder

      {{tar}} and {{gzip}} links
      $ ln -s [path to tar]/tar [...]/Volume0/opastool/funcd/tools/gtar
      $ ln -s [path to gzip]/gzip [...]/Volume0/opastool/funcd/tools/gzip

      tar and gzip locations

      Under Red Hat Enterprise Linux 7 the default location of tar and gzip is /bin.

    7. Create a link to Exiftool in the tools folder

      Exiftool link
      $ ln -s [path to exiftool]/exiftool [...]/Volume/oapstool/funcd/tools/exiftool

      Exiftool location

      Under Red Hat Enterprise Linux 7 the ExifTool setup places ExifTool in /usr/local/bin by default.

    8. Create the Funcd init script

      Create {{init}} script
      $ touch [path to init scripts]/IMMfuncd

      init scripts location

      Under Red Hat Enterprise Linux 7 the init scripts reside in /etc/init.d

    9. Open the init script in an editor, e.g. nano

      Open {{init}} script
      $ nano [path to init scripts]/IMMfuncd
    10. Copy & paste the following script in the editor and adapt the PORT, CLIENTS,DEBUGLEVEL and the WORKDIR to match your paths

      Funcd {{init}} script
      #!/bin/bash
      WORKDIR=[...]/Volume0/opastool/funcd
      BASEDIR=/opt/IMMfuncd
      PORT=11000
      CLIENTS=10
      DEBUGLEVEL=20
       
      PROG=funcd
      OPTS="-d $WORKDIR -V $DEBUGLEVEL -p $PORT -C $CLIENTS"
      FUNCD_HOME=$BASEDIR
      export FUNCD_HOME
       
      # Checking directories and executable
      if [ ! -d ${BASEDIR} ]; then
      echo "ERROR: Base directory '${BASEDIR}' doesn't exist"
      exit 1
      fi
       
      if [ ! -x ${BASEDIR}/${PROG} ]; then
      echo "ERROR: Executable '${BASEDIR}/${PROG}' not found"
      exit 1
      fi
       
      if [ ! -d ${WORKDIR} ]; then
      echo "ERROR: Working directory '${WORKDIR}' doesn't exist"
      exit 1
      fi
       
      # Checking required tools
      if [ ! -x ${WORKDIR}/tools/convert ]; then
      echo "ERROR: Executable '${WORKDIR}/tools/convert' not found"
      exit 1
      fi
       
      if [ ! -x ${WORKDIR}/tools/identify ]; then
      echo "ERROR: Executable '${WORKDIR}/tools/identify' not found"
      exit 1
      fi
       
      if [ ! -x ${WORKDIR}/tools/composite ]; then
      echo "ERROR: Executable '${WORKDIR}/tools/composite' not found"
      exit 1
      fi
       
      if [ ! -x ${WORKDIR}/tools/mogrify ]; then
      echo "ERROR: Executable '${WORKDIR}/tools/mogrify' not found"
      exit 1
      fi
       
      if [ ! -x ${WORKDIR}/tools/gtar ]; then
      echo "ERROR: Executable '${WORKDIR}/tools/gtar' not found"
      exit 1
      fi
       
      if [ ! -x ${WORKDIR}/tools/gzip ]; then
      echo "ERROR: Executable '${WORKDIR}/tools/grip' not found"
      exit 1
      fi
       
      if [ ! -x ${WORKDIR}/tools/exiftool ]; then
      echo "ERROR: Executable '${WORKDIR}/tools/exiftool' not found"
      exit 1
      fi
       
      # Start and stop functions
      start() {
      echo "Starting '$BASEDIR/$PROG $OPTS' ..."
      cd $BASEDIR && ./$PROG $OPTS
      RETVAL=$?
      if [ $RETVAL -eq 0 ]; then
      echo " started"
      else
      echo " Failure"
      fi
      echo
      return $RETVAL
      }
       
      stop() {
      echo "Stopping '$PROG' ..."
      killall "$PROG"
      RETVAL=$?
      if [ $RETVAL -eq 0 ]; then
      echo " stopped"
      else
      echo " Failure"
      fi
      echo
      return $RETVAL
      }
       
      restart() {
      stop
      start
      }
       
      case "$1" in
      start)
      start
      ;;
      stop)
      stop
      ;;
      restart)
      restart
      ;;
      *)
      echo $"Usage: $0 {start|stop|restart}"
      RETVAL=1
      esac
       
      exit $RETVAL
    11. Save the init script

    12. Set access privileges for the init script

      {{init}} access privileges
      $ chmod 755 [path to init scripts]/IMMfuncd
    13. Test the script and check the output

      1. Start the Funcd

        Start the Funcd
        $ [path to init scripts]/IMMfuncd start
        Starting '[BASEDIR]/funcd -d [WORKDIR] -V [DEBUGLEVEL] -p [PORT] -C [CLIENTS]' ...
         
        Parallel Funcd Linux Version [version number]
        (C) 2002-2014 for Heiler Software AG by STORE! Media Enginieering
        started
      2. Check if the Funcd process is there

        Check process
        $ ps -e | grep funcd
        15842 pts/2 00:00:00 funcd

        Differing values

        The values shown here are just an example. Most likely they will be different on your system.

      3. Stop the Funcd

        Stop the Funcd
        $ [path to init scripts]/IMMfuncd stop
        Stopping 'funcd' ...
        stopped
    14. Link the init script to the desired run levels

      Run level links
       $ ln -s [path to init scripts]/IMMfuncd [path to run level scripts]/rc[run level number].d/S90IMMfuncd

      Run level location

      Under Red Hat Enterprise Linux 7 the run level script links {{/etc/rc[run level number].d

    15. If you do not want to reboot your system, start the Funcd now

      Start the Funcd
      $ [path to init scripts]/IMMfuncd start
      Starting '[BASEDIR]/funcd -d [WORKDIR] -V [DEBUGLEVEL] -p [PORT] -C [CLIENTS]' ...
      Parallel Funcd Linux Version [version number]
      (C) 2002-2015 for Heiler Software AG by STORE! Media Engineering
      started

    Hints

    Setting up ImageMagick under Red Hat Enterprise Linux 7

    Install ImageMagick using the built-in package manager yum is the easiest way to set up both of them.

    Setting up ImageMagick under RHEL 7
    $ yum install ImageMagick

    Funcd port and the firewall

    Remember to add a rule to your firewall that allows communication on the used Funcd port.

    Second Pipeline Funcd (optional)

    The folder …\Volume0\opastool\funcdpip1 is monitored by this Funcd. (It is recommended to use UNC paths.)

    The procedure for installing the Heiler Media Manager second pipeline Funcd on Windows 2008 R2 Server/2012, XP or 7 is as follows:

      1. Run the corresponding setup file in the directory funcd.nt on the third-party software CD: Setup_PIP_Funcd.exe.

      2. Click on Next.

      3. Enter the path to the directory where the Funcd will be installed.

      4. Click on Next.

      5. The list of components that will be installed is displayed.

      6. Click on Next.

      7. Select the folder to be monitored, see note above.

      8. Click on Next.

      9. Configure the settings for TCP port, timeout, debug level and count of parallel processes. (It is not recommended to change the default values.) Please note the port, you will need it for the setting in the Administration module, see Activating Product 360 - Media Manager, defining volumes & setting up Funcd.

      10. Click on Next.

      11. Select the Start menu folder.

      12. Click on Next.

      13. Check that the installation routine has correctly identified the environment.

      14. If all the information is correct, click on Install.

      15. Exit the program.

      The installation is complete.