[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs] [141] Internals, DatabaseSchema: minor wiki style improve
From: |
Assaf Gordon |
Subject: |
[Savannah-cvs] [141] Internals, DatabaseSchema: minor wiki style improvements |
Date: |
Sun, 15 Feb 2015 23:24:24 +0000 |
Revision: 141
http://svn.sv.gnu.org/viewvc/?view=rev&root=administration&revision=141
Author: agn
Date: 2015-02-15 23:24:18 +0000 (Sun, 15 Feb 2015)
Log Message:
-----------
Internals, DatabaseSchema: minor wiki style improvements
Wrap at 75 chars when possible,
use 4 space indentation instead of "```" for code blocks.
Modified Paths:
--------------
trunk/sviki/SavannahDatabaseSchema.mdwn
trunk/sviki/SavannahInternals.mdwn
Modified: trunk/sviki/SavannahDatabaseSchema.mdwn
===================================================================
--- trunk/sviki/SavannahDatabaseSchema.mdwn 2015-02-14 17:15:10 UTC (rev
140)
+++ trunk/sviki/SavannahDatabaseSchema.mdwn 2015-02-15 23:24:18 UTC (rev
141)
@@ -7,8 +7,8 @@
## Overview
-* The MySQL database server runs on `internal.sv.gnu.org`, and is accessible
- from other VMs (e.g. `vcs`, `frontend`, `download`, etc.).
+* The MySQL database server runs on `internal.sv.gnu.org`, and is
+ accessible from other VMs (e.g. `vcs`, `frontend`, `download`, etc.).
* file reference in on this page refer to the
[administration/savane.git](http://git.savannah.gnu.org/cgit/administration/savane.git)
source code repository.
@@ -19,7 +19,8 @@
[/db/mysql](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql)
directory. Each table as a corresponding `table_NAME.structure` and
`table_NAME.initvalues` files. Example: The `groups` table (containing all
-projects on savannah) is defined in
[/db/mysql/table_groups.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_groups.structure).
+projects on savannah) is defined in
+[/db/mysql/table_groups.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_groups.structure).
## groups(=projects) and users tables diagram
@@ -30,48 +31,45 @@
## `group_type` table
-Structure:
[/db/mysql/table_group_type.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_group_type.structure).
+Structure:
+[/db/mysql/table_group_type.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_group_type.structure).
+ mysql> select type_id, name from group_type ;
+ +---------+------------------------------------+
+ | type_id | name |
+ +---------+------------------------------------+
+ | 1 | Official GNU software |
+ | 2 | non-GNU software and documentation |
+ | 3 | www.gnu.org portions |
+ | 4 | GUG |
+ | 6 | www.gnu.org translation teams |
+ +---------+------------------------------------+
+ 5 rows in set (0.00 sec)
-```
-mysql> select type_id, name from group_type ;
-+---------+------------------------------------+
-| type_id | name |
-+---------+------------------------------------+
-| 1 | Official GNU software |
-| 2 | non-GNU software and documentation |
-| 3 | www.gnu.org portions |
-| 4 | GUG |
-| 6 | www.gnu.org translation teams |
-+---------+------------------------------------+
-5 rows in set (0.00 sec)
-```
-
## `groups` table
-Structure:
[/db/mysql/table_groups.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_groups.structure).
+Structure:
+[/db/mysql/table_groups.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_groups.structure).
-```
-mysql> select unix_group_name, group_name
- from groups
- where status="A" and is_public=1 and type=1
-+-----------------+---------------------+
-| unix_group_name | group_name |
-+-----------------+---------------------+
-| aspell | GNU Aspell |
-| autoconf | Autoconf |
-| autogen | autogen |
-| automake | Automake |
-| bison | bison |
-| chess | GNU Chess |
-| cim | GNU Cim |
-| classpath | classpath |
-| commoncpp | commoncpp |
-| complexity | Complexity Measure |
-| coreutils | GNU Core Utilities |
-| cpio | GNU cpio |
- (list truncated for brevity)
-```
+ mysql> select unix_group_name, group_name
+ from groups
+ where status="A" and is_public=1 and type=1
+ +-----------------+---------------------+
+ | unix_group_name | group_name |
+ +-----------------+---------------------+
+ | aspell | GNU Aspell |
+ | autoconf | Autoconf |
+ | autogen | autogen |
+ | automake | Automake |
+ | bison | bison |
+ | chess | GNU Chess |
+ | cim | GNU Cim |
+ | classpath | classpath |
+ | commoncpp | commoncpp |
+ | complexity | Complexity Measure |
+ | coreutils | GNU Core Utilities |
+ | cpio | GNU cpio |
+ (list truncated for brevity)
## `user` table
@@ -79,47 +77,43 @@
Public user information, same as shown at:
<https://savannah.gnu.org/users/rms>.
-Structure:
[/db/mysql/table_user.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_user.structure).
+Structure:
+[/db/mysql/table_user.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_user.structure).
-```
-mysql> select user_id, realname, from_unixtime(add_date) as 'member since'
- from user where status="A" and user_name='rms' ;
-+---------+---------------------+-------------------------+
-| user_id | realname | member since |
-+---------+---------------------+-------------------------+
-| 144 | Richard M. Stallman | 2001-01-28 18:13:31 |
-+---------+---------------------+-------------------------+
-1 row in set (0.02 sec)
-```
+ mysql> select user_id, realname, from_unixtime(add_date) as 'member since'
+ from user where status="A" and user_name='rms' ;
+ +---------+---------------------+-------------------------+
+ | user_id | realname | member since |
+ +---------+---------------------+-------------------------+
+ | 144 | Richard M. Stallman | 2001-01-28 18:13:31 |
+ +---------+---------------------+-------------------------+
+ 1 row in set (0.02 sec)
## `user_group` table
Project membership of user `rms`, same as shown at
<http://savannah.gnu.org/users/rms>.
-Structure:
[/db/mysql/table_user_group.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_user_group.structure).
+Structure:
+[/db/mysql/table_user_group.structure](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/db/mysql/table_user_group.structure).
-```
-mysql> select groups.group_name
- from groups, user, user_group
- where user.user_name = 'rms' and
- user_group.user_id = user.user_id and
- user_group.group_id = groups.group_id and
- groups.status="A" and groups.is_public=1;
-+----------------------------------+
-| group_name |
-+----------------------------------+
-| www.gnu.org |
-| Free Software Directory |
-| emacs |
-| bison |
-| gnulib - GNU portability library |
-| GNU Coding Standards |
-| Free Software History |
-| GNU Press non-technical books |
-+----------------------------------+
-8 rows in set (0.01 sec)
-```
+ mysql> select groups.group_name
+ from groups, user, user_group
+ where user.user_name = 'rms' and
+ user_group.user_id = user.user_id and
+ user_group.group_id = groups.group_id and
+ groups.status="A" and groups.is_public=1;
+ +----------------------------------+
+ | group_name |
+ +----------------------------------+
+ | www.gnu.org |
+ | Free Software Directory |
+ | emacs |
+ | bison |
+ | gnulib - GNU portability library |
+ | GNU Coding Standards |
+ | Free Software History |
+ | GNU Press non-technical books |
+ +----------------------------------+
+ 8 rows in set (0.01 sec)
-
-
Modified: trunk/sviki/SavannahInternals.mdwn
===================================================================
--- trunk/sviki/SavannahInternals.mdwn 2015-02-14 17:15:10 UTC (rev 140)
+++ trunk/sviki/SavannahInternals.mdwn 2015-02-15 23:24:18 UTC (rev 141)
@@ -6,9 +6,10 @@
**Some terminology**
-* '*GNU Savannah*' (or just '*Savannah*') is the name of the entire platform,
- encompassing the various hosts (see [[SavannahArchitecture]]), services (see
- [[SavannahServices]]), people (see [[SavannahTeam]]) and other odds and ends.
+* '*GNU Savannah*' (or just '*Savannah*') is the name of the entire
+ platform, encompassing the various hosts (see [[SavannahArchitecture]]),
+ services (see [[SavannahServices]]), people (see [[SavannahTeam]]) and
+ other odds and ends.
* '*Savane*' (French for 'savannah') is the code name for the source code
which runs many parts of the savannah platform (most notably: the web
@@ -17,17 +18,17 @@
While usually these are distinguished, they are sometimes used
interchangeably, and should be appropriately understood by the context.
-* '*groups*' - in the savane code, projects are referred to as "groups" (and
- in a few cases, these are conceptually groups rather than programming
- projects, e.g., the [Free Software Free Society
+* '*groups*' - in the savane code, projects are referred to as "groups"
+ (and in a few cases, these are conceptually groups rather than
+ programming projects, e.g., the [Free Software Free Society
Portuguese](https://savannah.gnu.org/projects/fsfs) and the [GNU
Spanish Translation Team](https://savannah.gnu.org/projects/www-es)).
The database table is named `groups`, and several php files are named
`groupXXX.php` while referring to projects. `group_id=N` in urls
refer to the project internal ID.
-* *Savannah Administrators* are volunteers with special access permissions on
- the savannah frontend website (see 'becoming super-user' below), and
+* *Savannah Administrators* are volunteers with special access permissions
+ on the savannah frontend website (see 'becoming super-user' below), and
administrator ssh access to the savannah hosts.
See [[SavannahTeam]] and
[List of current
administrators](https://savannah.gnu.org/project/memberlist.php?group=administration).
@@ -75,8 +76,8 @@
3. The PHP code on `frontend` updates the MySQL database, and optionally
runs one-time project creation scripts.
4. On `vcs` and `download`, cron jobs regularly query the database for
- updates, and make the necessary changes (e.g., create a new git repository
- for a new project).
+ updates, and make the necessary changes (e.g., create a new git
+ repository for a new project).
5. The `cvsweb` repositories hold the html files which are the source for
a project's web pages. When these are updated, a special hook
calls a cgi script on `www.gnu.org` to request a website update.
@@ -89,8 +90,8 @@
8. Publishing a new tarball release for GNU packages is performed by an
automated process, explained in the
[GNU Maintainer's
guide](https://www.gnu.org/prep/maintain/maintain.html#Automated-FTP-Uploads).
- It is not managed by Savannah administrators, and only mentioned here for
- completeness.
+ It is not managed by Savannah administrators, and only mentioned here
+ for completeness.
9. GNU Bug Tracker (<http://debbugs.gnu.org>) is based on Debian's
[Bug Tracking System](https://www.debian.org/Bugs/). It is not managed
by Savannah administrators. Packages hosted on
@@ -137,14 +138,16 @@
<http://www.gnu.org/help/evaluation.html>).
* Public URL: <https://savannah.gnu.org/register/>
-* Source code:
[/frontend/php/register/index.php](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/frontend/php/register/index.php)
(and see all files in
-
[/frontend/php/register/](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/frontend/php/register/)
).
+* Source code:
[/frontend/php/register/index.php](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/frontend/php/register/index.php)
+ (and see all files in
+
[/frontend/php/register/](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/frontend/php/register/)
+ ).
* After form submission, The php `confirmation.php` file in `register/`:
* updates the database record in the `groups` table, with `STATUS='P'`.
* sends a notification email to address@hidden
* Creates a new task in the task tracker (FIXME: how?)
- * FIXME: the source code mentions something about `cookbook` and `recipes`
- database tables?
+ * FIXME: the source code mentions something about `cookbook` and
+ `recipes` database tables?
* The project is in `pending` state until approved by Savannah administrators.
### Project approval, creation (frontend)
@@ -154,7 +157,8 @@
review for GNU projects is done by the GNU evaluation volunteers, not
savannah admins).
-* Public URL: <https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=N>
+* Public URL:
+ <https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=N>
(only available to savannah admins in superuser mode).
* The URL is display as 'group administration' link when viewing a
[pending project
ticket](https://savannah.gnu.org/task/?group=administration&category_id=1&status_id=1&set=custom#results).
@@ -181,13 +185,13 @@
using cvs repository, using task,support,bugs trackers, using news,
etc.). This are fields such as `use_homepage=1` in the `groups` table.
The items set by default are hard-coded in `triggercreation.php`.
- (this is one reason that by default, all new projects on savannah start
- with a cvs repository).
+ (this is one reason that by default, all new projects on savannah
+ start with a cvs repository).
This settings can later be changed by the project administrators.
- * Sends an email to the project administrator (based on the savannah user
- who submitted/registered the project).
-* FIXME: `triggercreation.php` mentions `"site-specific triggers executed"` -
- which ones are these and where are they executed?
+ * Sends an email to the project administrator (based on the savannah
+ user who submitted/registered the project).
+* FIXME: `triggercreation.php` mentions `"site-specific triggers executed"`
+ - which ones are these and where are they executed?
### Project administration - general information (frontend)
@@ -210,7 +214,7 @@
* Source code:
[/frontend/php/project/admin/squadadmin.php](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/frontend/php/project/admin/squadadmin.php).
* Permissions
* per-user permissions for website features (e.g., tracker management)
- * Public URL:
<https://savannah.nongnu.org/project/admin/userperms.php?group=XXN>
+ * Public URL:
<https://savannah.nongnu.org/project/admin/userperms.php?group=N>
* Source code:
[/frontend/php/project/admin/userperms.php](http://git.savannah.gnu.org/cgit/administration/savane.git/tree/frontend/php/project/admin/userperms.php).
* Jobs
* "jobs" are postings which appear in the
@@ -306,19 +310,17 @@
Stored in `vcs:/etc/cron.d/sv`:
-```
-# remake user list for outgoing mail.
-*/10 * * * * root nice -n 11 sv_aliases --cron && sed -e '/# Savannah
include start/,/# Savannah include end/s/\([^:]\+\): .*/\1: address@hidden/'
/etc/email-addresses -e 's,This is /etc/email-addresses,DO NOT EDIT - GENERATED
FROM email-addresses.,' > /etc/email-addresses_SENDER
+ # remake user list for outgoing mail.
+ */10 * * * * root nice -n 11 sv_aliases --cron && sed -e '/#
Savannah include start/,/# Savannah include end/s/\([^:]\+\): .*/\1:
address@hidden/' /etc/email-addresses -e 's,This is /etc/email-addresses,DO NOT
EDIT - GENERATED FROM email-addresses.,' > /etc/email-addresses_SENDER
-# remake list of git repositories in each project.
-*/15 * * * * root nice -n 11 /usr/src/infra/git/refresh-project-list.sh
&& /usr/src/infra/git/sv_cgit.pl
+ # remake list of git repositories in each project.
+ */15 * * * * root nice -n 11
/usr/src/infra/git/refresh-project-list.sh && /usr/src/infra/git/sv_cgit.pl
-# remake CVSROOT/{commit,log}/info (for cvs commit email?).
-31 * * * * root nice -n 11 /usr/src/infra/cvs/generate_log_accum.pl
+ # remake CVSROOT/{commit,log}/info (for cvs commit email?).
+ 31 * * * * root nice -n 11 /usr/src/infra/cvs/generate_log_accum.pl
-# remake list of groups for the vcs.
-35,05 * * * * root nice -n 11 sv_groups --cron --only-cvs --only-homepage
--only-svn --only-git --only-hg --only-bzr
-```
+ # remake list of groups for the vcs.
+ 35,05 * * * * root nice -n 11 sv_groups --cron --only-cvs
--only-homepage --only-svn --only-git --only-hg --only-bzr
### Cron jobs on download
@@ -326,9 +328,7 @@
stored in `download:/etc/cron.d/sv`:
-```
-*/30 * * * * root sv_groups --cron --only-download --only-arch
-```
+ */30 * * * * root sv_groups --cron --only-download --only-arch
### Cron jobs on frontend
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Savannah-cvs] [141] Internals, DatabaseSchema: minor wiki style improvements,
Assaf Gordon <=