 
 
############################################################
## 
## savannah/backend/README
## 
############################################################
 
 
2003-02-01 yeupou@gnu.org

============================================
Perl modules required: 
============================================
DBI (libdbi-perl in debian)
Digest::MD5 (perl in debian)
Date::Calc (libdate-calc-perl in debian)
LWP (libwww-perl in debian)

============================================
Purpose: 
============================================

New backend using savannah-lib when needed.

In gnu-specific, stuff specific to the GNU Project. It may be usefull in other case, but adapted. If you adopt those script in a portable way, please send us patches.
In devel, stuff used to develop Savannah.
In mailman, stuff used to deal with mailman.
In the top directory, stuff used for installation maintenance by admin/crond.


2003-02-13

Configuration file /etc/savannah/local.inc.pl

We need to have a define default location (or eventually several): it would be weird to add an another configuration file to get where is the configuration file. For the web interface, it's in httpd.conf.

For now, it's a lot easier to force usage of something like /etc/savannah/local.inc.pl (creating a symlink is no big deal - and it already required to be root to install Savannah for other reasons).

Note that no frontend/backend non-managed by apached really need to read the companion site configuration, as companions sites share the database, which matters here. 
 
 
############################################################
## 
## savannah/frontend/perl/mailman_private_archs/README
## 
############################################################
 
 
mailman_private_archs/index.pl is a tool that permits to use savannah session
to access mailman (or any other list) archives.

The idea is not too completely mix savannah password, session, with mailman
ones, as mailman password are insecure (send uncrypted by mail, etc...) but
to ease archives browsing.

To make use of this module, you need the savannah libs installed, and
savannah configured. 

It assumes that the private archives are physically located in
	/var/www/private/

You need to configure apache (/var/www/private.pl is where the index.pl file
is stored):

   Alias /private/ /var/www/private.pl/
   <Directory /var/www/private.pl/>
    	AllowOverride None
    	ErrorDocument  404  /private/index.pl
 	Options ExecCGI
    	Order allow,deny
    	Allow from all
   </Directory>
 
 
############################################################
## 
## savannah/frontend/php/css/README
## 
############################################################
 
 
CSS writing/editing guidelines:
-------------------------------
($Id: READMEs,v 1.7 2004/09/13 08:21:02 dig Exp $)

VERSION: 1.6

Please, conform to this document when writing/editing CSS files. Every items
in CSS files must be documented here.

An item must not be called by reference to the exact HTML code it should
apply generally but by purpose. For example, "error" usually apply to a
<font> tag but it can, someday, be applied to a <table> tag. And CSS does
not care about which HTML tag is concerned.

When you add new items here, send a mail to <savannah-dev@gnu.org>.

In every CSS file must be added the version number of the guidelines
followed, to easily find out which CSS file may be severely outdated.
This number of must change only when an item is added or removed,
for this reason, we do not rely on CVS versionning.

Every removed/renamed item must be added in the table at the bottom
of this file.

WARNING: CSS files that must be edited are the one ending with the suffix 
	.css.in, not with .css! Otherwise, changes will be lost, not kept
	in the CVS.


Very basic (mostly text) items:
-------------------------------

	* "body" defines margins, default color (background and foreground)
	* "a" defines links style.
	* "footer" defines the little text on each page bottom.
	* "warn","error" defines error/warning messages style.
	* "feedback", "feedbackerror" defines feedback messages style 
 	  (usually defines an h3 tag), the second one is dedicated to error
	   messages while the first one can give both.
	* "help" defines the word that got a help balloon on mouseover.
	* "smaller", "bold", "italic", "small", "xsmall" defines a
	  text weigth/size.

	In addition, note that the h3 and h5 headers tag are frequently
	  used.


Alignement, main tables:
------------------------

	* "center", 'left", "right", are basic items that do a
	  specific alignement.
	* "indexcenter" and "indexright" are used to split several
	  index pages, with a big text in the center and some feature
	  boxes to the right.
	* "main" is the table within which every content is, including
	  left menu.	
	* "content" is the table within which every content is, excluding
	  left menu.


Menus:
------

We have two menus, the left menu and the top menu. The left is general,
depend on the Savannah installation. The top is contextual, depend on which
page is showned.

	* "menu" defines the whole left menu table design.
	* "menutitle" defines the left menu subtitles.
	* "menuitem" defines each left menu item style.
	* "toptitle" defines the title (ontop) of the top menu table
	   design.
	* "topmenu" defines the whole top menu table design.
	* "topmenupublic" defines the top menu design of the public area.
	* "topmenurestricted" defines the top menu design of the restricted
	   area.
	* "topmenutitle" defines the top menu title design.
	* "topmenuitem" defines the top menu item design.
	* "tabselect" and "tabs" defines how looks like top menu links
	  (tabselect means the page showned is eq the link)
	

Boxes:
------
	* "box" defines the whole box style.
	* "boxtitle" defines the style of title of the box.
	* "boxitem" defines the default style of the content of the box.
	* "boxitemalt" defines the alternative style of the content.
	* "boxhighlight" defines how and item can be highlighted.


Forms:
------

The following forms items can be used:
	* "input".
	* "select".
	* "textarea".
	* "preinput" defines the text before an input field.


Priorities:
-----------

To represent priorities, we use colors. Colors (foreground eventually,
 background obviously) for "priora", "priorb" [...] "priorh", "priori"
must be defined.




Memento, what changed:
---------------------- 
(edit this table with table.el for Emacs, package emacs-goodies-el)

-removed- means an item is not replaced.
-new- means an item did not exists previously


+-----------------------------------+-----------------------------------+
| Current item name (Guide. version)| Old name                          |
+-----------------------------------+-----------------------------------+
| box (1.0)                         | boxtable                          |
+-----------------------------------+-----------------------------------+
| menu (1.0)                        | menutable                         |
+-----------------------------------+-----------------------------------+
| -removed- (1.0)                   | feedback                          |
+-----------------------------------+-----------------------------------+
| warn (1.0)                        | error                             |
+-----------------------------------+-----------------------------------+
| -removed- (1.0)                   | pre,tt                            |
+-----------------------------------+-----------------------------------+
| main (1.0)                        | standardtable                     |
+-----------------------------------+-----------------------------------+
| content (1.0)                     | contenttable                      |
+-----------------------------------+-----------------------------------+
| topmenu (1.0)                     | groupmenutable                    |
+-----------------------------------+-----------------------------------+
| topmenupublic (1.0)               | maintr                            |
+-----------------------------------+-----------------------------------+
| topmenurestricted (1.0)           | admintr                           |
+-----------------------------------+-----------------------------------+
| topmenutitle (1.0)                | titletd                           |
+-----------------------------------+-----------------------------------+
| topmenuitem (1.0)                 | contenttd                         |
+-----------------------------------+-----------------------------------+
| error (1.1)                       | -new-                             |
+-----------------------------------+-----------------------------------+
| preinput (1.2)                    | -new-                             |
+-----------------------------------+-----------------------------------+
| -removed- (1.3)                   | menusearch                        |
+-----------------------------------+-----------------------------------+
| feeback (1.4)                     | -new-	                        |
+-----------------------------------+-----------------------------------+
| feebackerror (1.4)                | -new-	                        |
+-----------------------------------+-----------------------------------+
| help (1.5)                	    | -new-	                        |
+-----------------------------------+-----------------------------------+
| toptitle (1.6)               	    | topmenutitle.2 (1.5)              |
+-----------------------------------+-----------------------------------+




 
 
############################################################
## 
## savannah/frontend/php/forum/README
## 
############################################################
 
 
Forum information:
------------------
($Id: READMEs,v 1.7 2004/09/13 08:21:02 dig Exp $)

The forums (fora) have not been used for a long time. During
this time they have been abused for the news. This is why things
are not clearly seperated and a bit messy.

The forums should not be used by people who expect productive use
(although I'm using them for production). If you're furious and
painless, well: go ahead.


Mailinglist behaviour:
----------------------
The forums can be used as Mailinglists. This requires turning on
an undocumented option that is undocumented for good reasons. One
is that this does not completely comply with the savannah philosophy
the other is that the implementation has some performance issues on
the database. Support is not given. However, if you are interested,
make sure to read the sources in php/forum/* and php/include/news/forum.php.
If you have questions, contact hardt<nospam>@</nospam>-at-iwr-dot-fzk-dot-de.


 
 
############################################################
## 
## savannah/frontend/php/images/README
## 
############################################################
 
 
For each usual icons, two sizes availables are prefered:
	$file.orig.png = 48x48
	$file.png = 24x24

The $file.png can be regenerated typing
	make icons 
 
############################################################
## 
## savannah/frontend/php/images/mime_type/README
## 
############################################################
 
 
These files are replacement for apache-files icons (used also by viewcvs), 
which looks like the ones used on Savannah by the default theme.

They are free (as in freedom) images from GNOME and KDE project.
 
 
############################################################
## 
## savannah/lib/README
## 
############################################################
 
 
2003-02-01 yeupou@gnu.org

============================================
Purpose: 
============================================

perl modules that will be used by the new backend (rewriting of sv_cvs espzecially), and maybe with any other frontend.

The final goal is to replace (enhance, actually) the content of savannah/gnuscript. Currently, it's experimental.

============================================
Perl modules required: 
============================================
DBI
ANSIColor (core module)


===========================================
Sub Naming policy:
===========================================
Get... =  return a value (used in another sub, included in a $var...)
Set... = set a value
Print... = print (a) value(s) on STDOUT (for information mainly)
Is... = return boolean value
CanUse = return boolean value

...Group = related to a group
...User = related to a group

... So we have
GetGroupName($group_id);
GetGroupUsers($group);
CanGroupUseCvs($group);
IsGroupHomepageOnCvs
 
 
############################################################
## 
## savannah/doc/admin/README
## 
############################################################
 
 
$Header: /cvs/savane/savane/doc/devel/READMEs,v 1.7 2004/09/13 08:21:02 dig Exp $

What is it ?
------------

savannah.gnu.org administration documentation 

How to compile it ?
-------------------

./autogen.sh && ./configure --enable-maintainer-mode

make docs

How to install it on-line ?
---------------------------
make publish


Where can I download it ?
-------------------------
The main distribution site is 
http://savannah.gnu.org/cgi-bin/viewcvs/savannah/savannah/doc/

 
 
############################################################
## 
## savannah/doc/README
## 
############################################################
 
 
Installing Savane
----------------------------

First read INSTALL and INSTALL.verbose in the top directory.
Secondly, take a look at the doc in /doc/admin


Developping Savane
---------------------------------

There are plenty of README in the Savannah tree, whenever it's appropriate. They are all in one file
in /doc/devel, among other development related files. 
 
############################################################
## 
## savannah/doc/presentations/README
## 
############################################################
 
 
Here you can find presentations about Savannah.  

It is a work in progress and we hope to have a presentation ready
before the summer of 2004.


 
 
############################################################
## 
## savannah/db/README
## 
############################################################
 
 
### CONTENT OF THIS DIRECTORY

db/mysql/* files for mysql db
db/old/* old files

### CONTENT OF THOSE DIRECTORIES (old excluded):

*.structure : 
	  describe the structure of a file or a database
*.initvalues:
	  set the initials values required for a file or a database

database_*  :
	  describe/set a complete database
table_*	    :
	  describe/set a complete table

### THE 100 VALUE AND MYSQL

There are recurrent troubles with the 100 entries with our tables. That's why the value 100 is already set on almost every tables.

### INSTALL

For now, the better method is to type:
    mysql -u user -p  database < mysql/database_savannah.structure
    mysql -u user -p  database < mysql/database_savannah.initvalues

In the future, you will be able to insert in a modular way each table.
And it will be cleaner than using the previously explained method, since
only SV2 tables are in table_* format. 



### UPDATE

Don't update the *structure files manually. Use sv_export_db to do
it.


 
 
############################################################
## 
## savannah/po/README
## 
############################################################
 
 
TRANSLATION writing/editing guidelines:
---------------------------------------
($Id: READMEs,v 1.7 2004/09/13 08:21:02 dig Exp $)

To add a new language, a file $lang.po must be added. Site-specific content can be added too, by adding new files called thistextfile.$lang.

And finally, each time a new language is added, frontend/php/include/i18n must be edited.


Tips:
-----
  - Running aspell/ispell periodically is a good option.
  - Avoiding anglicism as possible is important. 
    I18n means something only if we do not assume that people have to learn
    english anyway. So "mail" is not a correct french translation for "mail", 
    for instance. Courriel is a nice one.
  - Running make refresh-po after editing a po file tells you if you made a
    syntax error.




