welcome: please sign in

Diff for "DaemonAdmin/Portal"

Differences between revisions 15 and 16
Revision 15 as of 2014-02-21 19:09:19
Size: 3512
Editor: ClintonEbadi
Comment: Updating for navajos installation of the portal
Revision 16 as of 2014-02-21 20:17:25
Size: 3477
Editor: ClintonEbadi
Comment: probably should rename portal-tools to portal-support
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

<<TableOfContents>>
Line 14: Line 16:
 * `.../lib32`: 32-bit libraries needed by the smlsql
 * `.../cgi`: portal cgi binaries
Line 27: Line 31:
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). These wrappers are generated automatically by `mlt`. There are small CGI wrappers which just run compiled binaries in `~hcoop/portal/out/`. The file `mlt.conf` contains the CGI installation path (modify this to suit your system if building locally). These wrappers are generated automatically by `mlt`.

== Publishing ==
Line 37: Line 43:
== Regenerating Page Header ==
Line 40: Line 48:
 * 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
 {{{
<html><head>
<link rel="stylesheet" type="text/css" href="/hcoop.css" />
<title>TITLE</title>
</head><body>
Line 49: Line 49:
<div class="main">  * hcoop_header is the one line script `cat $prefix/etc/hcoop.header | sed "s/TITLE/$1/g"`
 * hcoop_footer is the one line script `cat $prefix/etc/hcoop.footer`
 * You need `~hcoop/portal-tools/etc/hcoop.{header,footer}` (currently not tracked in git)
Line 51: Line 53:
<div class="title">
<img class="globe" src="/globe.gif" />
<h1>TITLE</h1>
</div>

<div class="break"></div>}}}{{{
</div>

</body></html>
}}}

== Application Within the Portal ==
== Other Applications Within the Portal ==
Line 75: Line 66:
= Adding Machine =
= Maintenance =

=
= Adding Machine ==

The HCoop portal runs https://members.hcoop.net and https://join.hcoop.net, generates the member directory, and manages the vmail user database.

1. Build Requirements

The portal requires mlt (an html templating system for smlnj) and smlsql (postgresql bindings for smlnj). They are managed in the standard hcoop git repositories.

The portal build utilities stored in and installed to ~hcoop/portal-tools/...

  • .../src: checkouts of mlt and smlsql (portal build file references smlsql from here)

  • .../etc: location of default mlt.conf, hcoop.header, hcoop.footer

  • .../bin: mlt and hcoop_header binaries

  • .../lib32: 32-bit libraries needed by the smlsql

  • .../cgi: portal cgi binaries

mlt and smlsql licensed under the LGPL version 2.1 or any later version.

2. Source

The portal source lives in module portal of our git server. The main check-out is in /afs/hcoop.net/user/h/hc/hcoop/portal.

The portal licensing is currently unclear (but should soon be properly freely licensed -- ClintonEbadi 2014-02-21 19:09:17)

3. Building

Run become_hcoop before modifying files in the main check-out or running any git commands that would modify it.

There are small CGI wrappers which just run compiled binaries in ~hcoop/portal/out/. The file mlt.conf contains the CGI installation path (modify this to suit your system if building locally). These wrappers are generated automatically by mlt.

3.1. Publishing

To recompile and publish, enter the portal source directory and run ~hcoop/portal-tools/bin/mlt:

become_hcoop
cd ~/portal
~portal-tools/bin/mlt

3.2. Regenerating Page Header

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.

Needed files for building:

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

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

  • You need ~hcoop/portal-tools/etc/hcoop.{header,footer} (currently not tracked in git)

3.3. Other Applications Within the Portal

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. These include:

  • app/ The Join script

  • contact/ Appears to be unused (does not build)

  • listaddrs/ Unknown

  • mailman/ Unknown

  • passgen/ Password reset tool

  • remind/ Low balance reminder

  • static/ Public member directory

  • vmailpasswd Vmail password changing

4. Maintenance

4.1. Adding Machine

To support user requests for a machine, insert a WebNode into the database. The Debian version should be the release name (e.g. "squeeze").

INSERT INTO WebNode (id, name, descr, debian)
        VALUES ((select max(id)+1 from WebNode), $HOST, $DESCRIPTION, $DEBIANVERSION);


CategorySystemAdministration

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