welcome: please sign in

Diff for "DaemonAdmin/Portal"

Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2007-12-04 22:48:21
Size: 3352
Editor: MichaelOlson
Comment: Initial contents, copied from DomTool/Building
Revision 7 as of 2010-03-12 23:16:10
Size: 1818
Editor: RichardDarst
Comment: update with more building instructions
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
[[TableOfContents()]] ## page was renamed from Portal/Building
Line 3: Line 3:
= Prerequisites = The portal source lives in module `portal` of [[http://hcoop.sf.net/|our SourceForge project]]'s CVS repository. The main check-out is in `/afs/hcoop.net/user/h/hc/hcoop/portal`.
You should `become_hcoop` before modifying files in the main check-out or running any CVS commands that would modify it.
Line 5: Line 6:
== Compilers == To build it yourself:
 * There are small CGI wrappers which just run compiled binaries in `~hcoop/portal/out/`. `mlt.conf` contains CGI publish path (modify this to suit your system if building locally).
 * To recompile and publish on deleuze: {{{
become_hcoop
cd ~/portal
mlt}}}
Line 7: Line 13:
To compile the standalone DomTool tools, you will need the [http://mlton.org/ MLton] [http://www.standardml.org/ Standard ML] compiler. It's available as Debian package "mlton". The version in Debian testing works fine, but the stable version is too old, so grab the Debian stable version of the latest release from [http://mlton.org/Download the MLton download page]. `header.mlt` and `footer.mlt` are built from assorted other files. Running `make` in a check-out directory should build them. See the Makefile for how they're built. Note that `make` '''won't''' publish changes that you make onto the real web sites; you must use `mlt` for that.
Line 9: Line 15:
To use DomTool from an interactive SML REPL session, you will need a recent version of [http://www.smlnj.org/ Standard ML of New Jersey]. The SML/NJ packages in non-experimental Debian are so old that I don't bother using them, opting to install SML/NJ manually following the directions on the SML/NJ web site. Chances are you can get by just fine without support for interactive REPL use and can skip installing SML/NJ if you don't want it for some other purpose. There are some subdirectories of `portal` that contain different web apps, like `app` (the source for join.hcoop.net). You must run `mlt` separately in any of these directories to publish changes in it.
Line 11: Line 17:
Why am I referencing two different compilers here? Well, developing with SML/NJ and building release binaries with MLton is standard practice in the SML world. SML/NJ supports separate compilation and interactive use, which are very helpful during development. MLton is a whole-program optimizing compiler that produces extremely efficient binaries, at the cost of much greater compile-time time and memory usage than SML/NJ. How to build: FIXME
 * hcoop_header is the one line script `cat /etc/hcoop.header | sed "s/TITLE/$1/g"`
 * hcoop_footer is the one line script `cat /etc/hcoop.footer`
 * You need /etc/hcoop.header and /etc/hcoop.footer, which are
 {{{
rkd_admin@deleuze:/afs/hcoop.net/common$ cat /etc/hcoop.header
<html><head>
<link rel="stylesheet" type="text/css" href="/hcoop.css" />
<title>TITLE</title>
</head><body>
Line 13: Line 28:
== Libraries == <div class="main">
Line 15: Line 30:
You will need the OpenSSL C library with development files, available in Debian package "libssl-dev". <div class="title">
<img class="globe" src="/globe.gif" />
<h1>TITLE</h1>
</div>
Line 17: Line 35:
== Utilities == <div class="break"></div>
rkd_admin@deleuze:/afs/hcoop.net/common$ cat /etc/hcoop.footer
</div>
Line 19: Line 39:
If you plan to run a server (dispatcher or slave), you'll need rsync, which is available in Debian package "rsync".

= Getting the source code =

You can obtain the approximately-latest version of the DomTool source code from [http://sourceforge.net/cvs/?group_id=99567 SourceForge anonymous CVS]. The module name is `portal`. I write "approximately" because it can take about a day for the latest changes to propagate from developer CVS to anonymous CVS. I'll duplicate the directions from that Source``Forge help page and tell you that you can check out this module by running:
{{{cvs -d:pserver:anonymous@hcoop.cvs.sourceforge.net:/cvsroot/hcoop login
cvs -z3 -d:pserver:anonymous@hcoop.cvs.sourceforge.net:/cvsroot/hcoop co -P portal}}}

Just press enter when prompted for a password.

If you have been granted write permission to the repository and plan to commit code changes, then you'll want to check the repo out from developer CVS, like so:
{{{export CVS_RSH=ssh
cvs -z3 -d:ext:developername@hcoop.cvs.sourceforge.net:/cvsroot/hcoop co -P portal}}}

= Building the standalone tools =

First, change to the `portal` directory that you have checked out and run{{{
# something for adamc to fill out}}}

== Reinstalling the standalone tools ==

If you want to reinstall the portal on machines that are running it already, then it is best to use a slightly modified set of instructions.

= Building for SML/NJ =

After following the same procedure as above for `config.sml`, run{{{
make smlnj}}}

followed by{{{
make install}}}

as root. Now you should be able to run `sml` in the base `domtool2` directory and run `CM.make "src/domtool.cm";`. If you don't see any error messages, then the DomTool modules are loaded and you can start poking them. For instance, running `open Main;` should print information on the primary entry-points.
</body></html>
}}}
----
CategorySystemAdministration

The portal source lives in module portal of our SourceForge project's CVS repository. The main check-out is in /afs/hcoop.net/user/h/hc/hcoop/portal. You should become_hcoop before modifying files in the main check-out or running any CVS commands that would modify it.

To build it yourself:

  • There are small CGI wrappers which just run compiled binaries in ~hcoop/portal/out/. mlt.conf contains CGI publish path (modify this to suit your system if building locally).

  • To recompile and publish on deleuze:

    become_hcoop
    cd ~/portal
    mlt

header.mlt and footer.mlt are built from assorted other files. Running make in a check-out directory should build them. See the Makefile for how they're built. Note that make won't publish changes that you make onto the real web sites; you must use mlt for that.

There are some subdirectories of portal that contain different web apps, like app (the source for join.hcoop.net). You must run mlt separately in any of these directories to publish changes in it.

How to build: FIXME

  • hcoop_header is the one line script cat /etc/hcoop.header | sed "s/TITLE/$1/g"

  • hcoop_footer is the one line script cat /etc/hcoop.footer

  • You need /etc/hcoop.header and /etc/hcoop.footer, which are
    rkd_admin@deleuze:/afs/hcoop.net/common$ cat /etc/hcoop.header 
    <html><head>
    <link rel="stylesheet" type="text/css" href="/hcoop.css" />
    <title>TITLE</title>
    </head><body>
    
    <div class="main">
    
    <div class="title">
    <img class="globe" src="/globe.gif" />
    <h1>TITLE</h1>
    </div>
    
    <div class="break"></div>
    rkd_admin@deleuze:/afs/hcoop.net/common$ cat /etc/hcoop.footer 
    </div>
    
    </body></html>


CategorySystemAdministration

DaemonAdmin/Portal (last edited 2018-12-01 22:19:39 by ClintonEbadi)