1756
Comment: Mention that wrappers are built automatically
|
3512
Updating for navajos installation of the portal
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
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. |
The HCoop portal runs https://members.hcoop.net and https://join.hcoop.net, generates the [[http://hcoop.net/who|member directory]], and manages the vmail user database. |
Line 6: | Line 5: |
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). These wrappers are generated automatically by `mlt`. * To recompile and publish on deleuze: {{{ |
= Build Requirements = The portal requires [[http://git.hcoop.net/?p=hcoop/mlt.git;a=summary|mlt]] (an html templating system for smlnj) and [[http://git.hcoop.net/?p=hcoop/smlsql.git;a=summary|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 mlt and smlsql licensed under the LGPL version 2.1 or any later version. = Source = The portal source lives in module `portal` of [[http://git.hcoop.net/?p=hcoop/portal.git;a=summary|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 <<DateTime(2014-02-21T15:09:17-0400)>>) = 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/`. `mlt.conf` contains CGI publish path (modify this to suit your system if building locally). These wrappers are generated automatically by `mlt`. To recompile and publish, enter the portal source directory and run `~hcoop/portal-tools/bin/mlt`: {{{ |
Line 11: | Line 34: |
mlt}}} | ~portal-tools/bin/mlt }}} |
Line 14: | Line 38: |
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 34: | Line 56: |
<div class="break"></div>}}} {{{ |
<div class="break"></div>}}}{{{ |
Line 40: | Line 61: |
== Application 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 = 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); }}} |
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
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/. mlt.conf contains CGI publish path (modify this to suit your system if building locally). These wrappers are generated automatically by mlt.
To recompile and publish, enter the portal source directory and run ~hcoop/portal-tools/bin/mlt:
become_hcoop cd ~/portal ~portal-tools/bin/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.
Needed files for building:
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> <div class="main"> <div class="title"> <img class="globe" src="/globe.gif" /> <h1>TITLE</h1> </div> <div class="break"></div>
</div> </body></html>
3.1. Application 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. 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);