How to Create and edit an FFII project group in the Database

--> [ FFII Projects | regional groups | aktiv | Mailman DB | ffiidists | ffiidb2mm | projlists | Project News ]

News & Chronology


Do not rename or delete projects. Instead terminate a project (set the database field [=ffii.proj.finito] to the value [=True]) and, if desired, create a new project as a substitute.

What's in a project?

A project consists of a contact person and up to three newsgated mailing lists. It may have a webpage.

Contact person

In a grassroots organisation, it can be helpful to have a minimum of accountability or at least a contact person, so each has a supporter registered in aktiv, who acts as contact person and gets the initial password for the mailing lists (the mailing lists have a mailman interface, so he/she can assign to others). This date is in the table proj.

Mailing lists

Each project has up to three mailing lists, tables in projhlp, these are called -help, -parl, -news. Eg:

Typically most traffic is on the -parl list, some projects don't use the -news list at all, and also the -help list is only optional.

The activity on mailing lists differs widely from project to project, and of course the project also might do physical events. Doing this autonomously is very much welcome. Most projects are either regional or national, or activity-focused (patdb, sarji) or event-focused.

Creating a project

Preparatory Steps

Contact proj-help before you go ahead. If you are creating a regional group, contact regio-help instead.

You need an account on genba and write access to the 'ffii' database tables 'proj', 'projhlp' and 'projprm'. Alternatively, you can use the 'proj' verb in the knecht system.

To get the work done quickly (without waiting for cronjobs to execute it), you also need access to the account of user 'list'.

Quite a few people have all these access rights, ask proj-help or regio-help if needed.

Edit the Database

New groups are created as projects in the ffii database, tables 'proj', 'projhlp' and 'projprm'. E.g. for the regional group 'franken' the project 'franken' is created in 'proj' and helpers are assigned to it at different help levels in 'projhlp' and given permission for this helplevel in 'projprm'.

This means that ffii user 'cschulte' is leader of the 'franken' project which is a sub-project of the 'regio' project and has its home page at http://kwiki.ffii.org/FfiiFrankenDe.

The same can be achieved by sending the following command to the knecht mail processor:

Next, you may want to insert records for helpers:

This means that ffii user 'bkaindl' wants to participate in the 'franken' project at responsibility level 4, i.e. co-responsible, ready to be the sole responsible when needed.

You can not send this command via the knecht mail processor. Rather you must ask bkaindl to send the following:

This means that project leader 'cschulte' permits user 'bkaindl' to participate in project 'franken' at responsibility level 4.

The same, as Knecht mail processor commands:

Once a group franken exists in the database, the 'ffiidb2mm' script need to be run by user 'list' so that the mailing lists franken-{news,parl,help} are created. This script is invoked via the 'list' cronjob every night.

If 'franken-parl' was already created manually before the project existed in the database, supplying the project afterwards won't do any harm.

After the mailig lists have been created, the [=update_gated_ngs] program needs to be run by the user news in order to update the creation/activation of news groups and corresponding gateways (note that this process may take dozens of minutes - be very patient if you initiate it manually). The program is run automatically each night by the user news' cron job.

Optionally disable mailing list creation

If you do not want your project to have mailing lists (for the time being), you can set the field 'projmlp' of table 'proj' to 'false', or, via knecht:

By default, the value of projmlp is 'true' (1).

The project mailing lists will also not be updated if the 'finito' field is true or if the 'projfin' field is set to a date in the past.

Controlling the setup of news groups

As explained below, managing gated news groups is quite simple. For more information, visit NewsServerEn.

Giving the project a title and description

Once you have created a project in this system, it will be advertised in the menu of the FFII participation system (aktiv) on the next day, provided that you provide a title and a description.

These can be inserted through either one of the following three ways.

database meta documentation: table 'flddes'

A title can be inserted as follows:

It might also help to edit the 'proj' table in order to point to a project URL, e.g.

If you do not do this, it will be assumed that your project homepage is

etc, depending on the language of the 'aktiv' user interface.

project-specific documentation strings: table projtxt (optionally via knecht)

There are other ways of creating a title:

or, for the knecht mail processor:

document-specific strings: table 'langtxts' (via mlht import or knecht)

Moreover, if there is an mlht document of the same name as the project, you can send the text tags to the 'langtxts' table through the mlht translation mechanism as entries in a txl file:

The same can be achieved via the knecht mail processor:

again provided that a document called 'franken' is already known in the system.

daily automatic update of aktiv interface

The aktiv interface is updated from the database once per day by the script

which reads out values from the projtxt, langtxts and flddes tables.

Each of these methods has its advantages and is convenient for different people. Therefore the system is likely to continue collecting text chunks from all of these three sources for some time to come.

If you can not wait for the daily cronjob to update the aktiv system, invoke 'daily-aktiv.knecht' from the command line as user knecht, or ask the people at proj-help to do it for you.

Optionally invoke the cronjob scripts yourself

If you want to speed things up, invoke the scripts as follows. First ffiidists:

For this script to work, there need to be entries for the project in the tables =projhlp and =projprm.

Contact proj-help if you don't have and urgently need access to user list. Otherwise just wait for the nightly cronjob.

This creates the distribution files and statistics such as

and creates+populates the corresponding mailman list.

Things to do

Remind kwiki-help at ffii org that you would like to enable project sign-on/off directly on your project-related wiki page, i.e. let people sign on/off after they have logged in as "ffii editor".

Remind aktiv-help at ffii org that we need to further simplify project creation by providing a web interface for it.

Hosting sponsored by Netgate and Init Seven AG