Mon Feb 20 20:29:22 2006

Ticket #1618 (reopened)

the html ui needs the same kind of config files as the other modules


Priority: normal Reporter: fgerlits
Severity: minor Assigned to: sebastian
Component: End-user Documentation Status: reopened
Version: 1.0 Resolution:  
Milestone: 1.1.0 Leon Keywords:  

Description by fgerlits:

There are two goals:

  • All modules should work without being installed, just after checking it out from subversion, and running 'configure' and 'make all' (but not 'make install'). -- I.e., without installing any files outside the subversion tree (for example, /home/someuser/src/livesupport; from now on, $ls-svn-dir).
  • Whether installed or not, two developers should be able to run livesupport on the same computer, independently of each other. They can each have their own configuration files, their own storage etc.

To achieve this, modules have 3 kinds of configuration files:

  1. a default configuration (etc/gLiveSupport.xml for the gLiveSupport module). This contains relative paths only, and assumes the subversion tree location for all files.
  2. an installed configuration (generated from etc/gLiveSupport.xml.template). This is generated by 'make install' from a template file. The template file contains symbolic names for the paths (like "ls_var_dir"), which are replaced with the real paths by 'make install', using sed. The generated config file is copied to $prefix/etc.
  3. a per-user configuration file (generated from etc/gLiveSupport.xml.user-template). This is generated by $ls-svn-dir/bin/user_setup.sh from a template file (could be the same as the other template file or could be different). This template file also contains symbolic names, which get replaced by user_setup.sh. The generated file is copied to $HOME/.livesupport. The script creates a symlink "livesupport -> $ls-svn-dir/src/modules" under $HOME/public_html, so the configuration files can use "localhost/~someuser/livesupport/storageServer" as the storage server location.

When gLiveSupport or the scheduler is started, it takes a required parameter specifying the location of the configuration file. GLiveSupport is always started by running the gLiveSupport.sh script; this script checks if there is a (3)-type config file under $HOME/.livesupport; if yes, it uses that, if not then it uses the installed version (2).

There is a similar script gLiveSupport_devenv.sh, which runs the config file of type (3) if it exists; if not, then it runs the config file of type (1).

I don't know how the correct config file is selected in the Storage Server, but it does work correctly in all 3 cases, so you can ask Tomas about that.

Attachments

Changelog

Mon Feb 20 20:45:53 2006: Modified by fgerlits

  • description changed.

Mon Feb 20 21:56:45 2006: Modified by fgerlits

    After much confusion, we figured out that the htmlUI module does not actually need a per-user configuration: if the ui_conf.php config file (which is used for 1 and 3) contains relative paths only, everything is fine. The ui_conf.php.template file was OK all along.

    Tue Feb 21 10:05:08 2006: Modified by maroy

      although let me point out that the PHP modules, with hard-coded relative dependencies are quite a mass at the moment, installation-wise.

      they should all allow for any referenced module to reside anywhere, and accept installation-time and configuration-time parameters to specify each other's location.

      to make this happen, we have to first map out the dependencies between modules. please see wiki:Modules and wiki:ModuleDependencyTree , and fill in the missing information.

      after we know the dependencies, the end-usable PHP components (storageServer, archiveServe and htmlUI) should be moved to products, from modules. also, references between these components should be configurable by the configure script.

      Tue Feb 28 15:17:24 2006: Modified by sebastian

        Akos wrote: "references between these components should be configurable by the configure script". Would this mean e.g. ui_conf.php.template would be processed by calling "make" (without target)?

        Tue Feb 28 16:59:41 2006: Modified by sebastian

        • resolution set to invalid
        • status changed from new to closed

        As Akos have confirmed, configuration just need to be done while "make install", which is already implemented. The htmlUI doesn't need to have own config file because it includes this one from storageServer, so it is fixed as invalide.

        Tue Feb 28 17:02:55 2006: Modified by maroy

        • resolution cleared
        • status changed from closed to reopened

        but this is the point: the dependecy to the storage server is hard-coded, something like "../../storageServer/var" - and this should be configurable.

        one would pass this configuration information to ./configure, and the configuration would be put into some config file at make install


        Add/Change #1618 (the html ui needs the same kind of config files as the other modules)




        Change Properties






        Action