commit-womb
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commit-womb] gnumaint/fsd Makefile fsd-schema.texi


From: Kaloian Doganov
Subject: [commit-womb] gnumaint/fsd Makefile fsd-schema.texi
Date: Mon, 20 Apr 2009 08:16:55 +0000

CVSROOT:        /sources/womb
Module name:    gnumaint
Changes by:     Kaloian Doganov <kaloian>       09/04/20 08:16:55

Added files:
        fsd            : Makefile fsd-schema.texi 

Log message:
        Initial import of FSD Schema documentation.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnumaint/fsd/Makefile?cvsroot=womb&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnumaint/fsd/fsd-schema.texi?cvsroot=womb&rev=1.1

Patches:
Index: Makefile
===================================================================
RCS file: Makefile
diff -N Makefile
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ Makefile    20 Apr 2009 08:16:53 -0000      1.1
@@ -0,0 +1,37 @@
+SHELL = /bin/sh
+TEXI2DVI = texi2dvi
+TEXI2PDF = texi2pdf
+MAKEINFO = makeinfo
+NEATO = neato
+
+A4_FLAGS = -t @afourpaper
+LETTER_FLAGS =
+
+.PHONY: clean info all
+
+all: info fsd-er.png
+
+info: fsd-schema.info
+
+fsd-schema.info: fsd-schema.texi
+       $(MAKEINFO) $<
+
+fsd-er.png: fsd-er.gv
+       $(NEATO) -Tpng -o $@  $<
+
+clean:
+       rm -f *.aux
+       rm -f *.cp
+       rm -f *.cps
+       rm -f *.dvi
+       rm -f *.fn
+       rm -f *.info
+       rm -f *.ky
+       rm -f *.log
+       rm -f *.pdf
+       rm -f *.pg
+       rm -f *.toc
+       rm -f *.tp
+       rm -f *.vr
+       rm -f fsd-schema.txt
+       rm -f fsd-er.png

Index: fsd-schema.texi
===================================================================
RCS file: fsd-schema.texi
diff -N fsd-schema.texi
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ fsd-schema.texi     20 Apr 2009 08:16:54 -0000      1.1
@@ -0,0 +1,1281 @@
+\input texinfo
address@hidden %**start of header
address@hidden fsd-schema.info
address@hidden Free Software Directory DB Schema Reference
address@hidden lastupdate 08.09.2008
+
address@hidden
+
+This reference manual is for the database schema of the Free Software
+Directory, catalog of useful free software that runs under free
+operating systems — particularly the GNU operating system and its
+GNU/Linux address@hidden Last updated on @value{lastupdate}.
address@hidden 1
+Copyright @copyright{} 2008 Free Software Foundation, Inc.
+
address@hidden
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the @acronym{GNU} Free Documentation License,
+Version 1.2 or any later version published by the Free Software
+Foundation; with no Invariant Sections, no Front-Cover Texts, and no
+Back-Cover Texts.  A copy of the license is included in the section
+entitled address@hidden Free Documentation License.''
address@hidden quotation
address@hidden copying
+
address@hidden
address@hidden Free Software Directory DB Schema Reference
address@hidden (last updated @value{lastupdate})
address@hidden by Kaloian Doganov <@email{kaloian@@gnu.org}>
address@hidden
address@hidden 0pt plus 1filll
address@hidden
address@hidden titlepage
+
address@hidden
+
address@hidden
address@hidden Top, Essential Concepts, (dir), (dir)
address@hidden Free Software Directory DB Schema Reference
address@hidden
address@hidden ifnottex
+
address@hidden
+* Essential Concepts::
+* Not Interesting::             Tables that are not directly related to the
+                                Free Software Directory's essential data.
+* Index::                       
+* Copying This Manual::         The GNU Free Documentation License.
address@hidden menu
+
address@hidden Essential Concepts, Project, Top, Top
address@hidden Essential Concepts
+
address@hidden
+* Project::
+* Category::
+* Computer Language::
+* Entity::
+* Interface::
+* IRC Network::
+* IRC Resource::
+* Keyword::
+* Legacy Category::
+* License::
+* Software Requirement::
+* Subprogram::
+* Version::
+* Network Resource::
address@hidden menu
+
address@hidden Project, Category, Essential Concepts, Essential Concepts
address@hidden Project
+
+The primary purpose of the Free Software Directory is to catalog free
+software projects, so the project is the central and most complex
+entity represented in the database.  The most important attributes of
+a project are stored in the @code{directory_project} table
+(@pxref{directory_project}).
+
+Projects are organized in categories (@pxref{Category}).  The
+information about which projects is filed in which category is stored
+in the @code{directory_project_categories} table
+(@pxref{directory_project_categories}).
+
+A project can be implemented using one or more computer languages
+(@pxref{Computer Language}).  Which project is implemented in which
+language is stored in the @code{directory_project_computer_languages}
+(@pxref{directory_project_computer_languages}).
+
+To facilitate the search function, one or more keywords
+(@pxref{Keyword}) could be associated with a project.  Those
+associations are stored in the @code{directory_project_keywords} table
+(@pxref{directory_project_keywords}).
+
+A project can relate to one or more other projects in the Free
+Software Directory.  Those relations are stored in the
address@hidden table
+(@pxref{directory_project_related}).
+
+Various public network resources (@pxref{Network Resource}) could be
+published for a project.
+
address@hidden
+* directory_project::
+* directory_project_categories:: 
+* directory_project_computer_languages::
+* directory_project_keywords::
+* directory_project_related::
address@hidden menu
+
address@hidden directory_project, directory_project_categories, Project, Project
address@hidden @code{directory_project}
+
address@hidden Column directory_project id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_project name
+Human readable name of the project.
address@hidden defcv
+
address@hidden Column directory_project slug
+Short system name of the project, free of funny characters.
address@hidden defcv
+
address@hidden Column directory_project user_level
+Single character that denotes the experience level of the audience for
+which the project is suitable.  Possible values are:
+
address@hidden @samp
address@hidden 0
+Unknown (user level is not set yet);
+
address@hidden 1
+Beginner;
+
address@hidden 2
+Intermediate;
+
address@hidden 3
+Advanced.
+
address@hidden table
address@hidden defcv
+
address@hidden Column directory_project short_description
+One-line short description of the project.
address@hidden defcv
+
address@hidden Column directory_project full_description
+Longer text description of the project.  Paragraphs are marked up in
+HTML-like manner with surrounding @code{<p>} and @code{</p>}, except
+for the first paragraph, which need not to be marked this way.
address@hidden defcv
+
address@hidden Column directory_project entry_compiled_by
+Name and e-mail address of the person who filled this project record
+in the database.
address@hidden defcv
+
address@hidden Column directory_project updated
+Stamp of the last time when this project record was updated.
address@hidden defcv
+
address@hidden Column directory_project gnu
+Boolean value pointing whether this project is official part of the
+GNU project or not.
+
address@hidden @code
address@hidden true
+Part of the GNU project;
+
address@hidden false
+Not part of the GNU project.
+
address@hidden table
address@hidden defcv
+
address@hidden Column directory_project documentation
+Plain text containing pointers to various project documentation,
+available online (if any).
address@hidden defcv
+
address@hidden Column directory_project screen_shot
+Currently unused.
address@hidden defcv
+
address@hidden Column directory_project source_template
+Unknown purpose. (FIXME)
address@hidden defcv
+
address@hidden Column directory_project comments
+Free text with HTML markup.  Usually contains a copyright notice.
+Currently this value is not displayed to users on the web.
address@hidden defcv
+
address@hidden Column directory_project status
+FIXME
+Possible values are:
+
address@hidden @samp
address@hidden 1
+Published.  The project is visible to users.
+
address@hidden 2
+FIXME. The project is not visible to users.
+
address@hidden 3
+FIXME. The project is not visible to users.
+
address@hidden 4
+FIXME. The project is not visible to users.
address@hidden table
address@hidden defcv
+
address@hidden Column directory_project checkout_command
+Shell command used to checkout the current sources from the public
+source code repository (if any).
address@hidden defcv
+
address@hidden Column directory_project rating_count
+The number of users that took the action to rate the project.
address@hidden defcv
+
address@hidden Column directory_project avg_rating
+The average project rating in the scale 0-5.
address@hidden defcv
+
address@hidden Column directory_project internal_notes
+Free text reserved for notes by the directory maintainers.  This text
+is not published on the web.
address@hidden defcv
+
+
address@hidden @command{psql} description
+
address@hidden
+                                       Table "public.directory_project"
+      Column       |          Type           |                           
Modifiers                            
+-------------------+-------------------------+----------------------------------------------------------------
+ id                | integer                 | not null default 
nextval('directory_project_id_seq'::regclass)
+ name              | character varying(80)   | not null
+ slug              | character varying(80)   | not null
+ user_level        | character varying(1)    | not null
+ short_description | character varying(350)  | not null
+ full_description  | text                    | not null
+ entry_compiled_by | character varying(60)   | not null
+ updated           | date                    | not null
+ gnu               | boolean                 | not null
+ documentation     | text                    | 
+ screen_shot       | character varying(100)  | 
+ source_template   | character varying(200)  | 
+ comments          | text                    | 
+ status            | character varying(1)    | not null
+ checkout_command  | character varying(1000) | 
+ rating_count      | integer                 | not null
+ avg_rating        | numeric(4,2)            | not null
+ internal_notes    | text                    | 
+Indexes:
+    "directory_project_pkey" PRIMARY KEY, btree (id)
+    "directory_project_slug_uniq" UNIQUE, btree (slug)
address@hidden verbatim
+
address@hidden directory_project_categories, 
directory_project_computer_languages, directory_project, Project
address@hidden @code{directory_project_categories}
+
+Represents a relationship between a project (@pxref{Project}) and a
+category (@pxref{Category}).
+
address@hidden Column directory_project_caterogies id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_project_caterogies project_id
+The id of the project record (@pxref{directory_project}) associated
+with the category.
address@hidden defcv
+
address@hidden Column directory_project_categories category_id
+The id of the category record (@pxref{directory_category}) associated
+with the project.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                            Table "public.directory_project_categories"
+   Column    |  Type   |                                 Modifiers             
                    
+-------------+---------+---------------------------------------------------------------------------
+ id          | integer | not null default 
nextval('directory_project_categories_id_seq'::regclass)
+ project_id  | integer | not null
+ category_id | integer | not null
+Indexes:
+    "directory_project_categories_pkey" PRIMARY KEY, btree (id)
+    "directory_project_categories_project_id_key" UNIQUE, btree (project_id, 
category_id)
+Foreign-key constraints:
+    "directory_project_categories_category_id_fkey" FOREIGN KEY (category_id) 
REFERENCES directory_category(id) DEFERRABLE INITIALLY DEFERRED
+    "directory_project_categories_project_id_fkey" FOREIGN KEY (project_id) 
REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden directory_project_computer_languages, 
directory_project_keywords, directory_project_categories, Project
address@hidden @code{directory_project_computer_languages}
+
+Represents a relationship between project (@pxref{Project}) and
+computer language (@pxref{Computer Language}).
+
address@hidden Column directory_project_computer_languages id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_project_computer_languages project_id
+The id of the project record (@pxref{directory_project}) associated
+with the computer language.
address@hidden defcv
+
address@hidden Column directory_project_computer_languages computerlanguage_id
+The id of the computer language record
+(@pxref{directory_computerlanguage}) associated with the project.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                               Table 
"public.directory_project_computer_languages"
+       Column        |  Type   |                                     Modifiers 
                                    
+---------------------+---------+-----------------------------------------------------------------------------------
+ id                  | integer | not null default 
nextval('directory_project_computer_languages_id_seq'::regclass)
+ project_id          | integer | not null
+ computerlanguage_id | integer | not null
+Indexes:
+    "directory_project_computer_languages_pkey" PRIMARY KEY, btree (id)
+    "directory_project_computer_languages_project_id_key" UNIQUE, btree 
(project_id, computerlanguage_id)
+Foreign-key constraints:
+    "directory_project_computer_languages_computerlanguage_id_fkey" FOREIGN 
KEY (computerlanguage_id) REFERENCES directory_computerlanguage(id) DEFERRABLE 
INITIALLY DEFERRED
+    "directory_project_computer_languages_project_id_fkey" FOREIGN KEY 
(project_id) REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden directory_project_keywords, directory_project_related, 
directory_project_computer_languages, Project
address@hidden @code{directory_project_keywords}
+
+Represents an association between project (@pxref{Project}) and
+keyword (@pxref{Keyword}).
+
address@hidden Column directory_project_keywords id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_project_keywords project_id
+The id of the project record (@pxref{directory_project}) associated
+with the keyword.
address@hidden defcv
+
address@hidden Column directory_project_keywords keyword_id
+The id of the keyword record (@pxref{directory_keyword}) associated
+with the project.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                           Table "public.directory_project_keywords"
+   Column   |  Type   |                                Modifiers               
                 
+------------+---------+-------------------------------------------------------------------------
+ id         | integer | not null default 
nextval('directory_project_keywords_id_seq'::regclass)
+ project_id | integer | not null
+ keyword_id | integer | not null
+Indexes:
+    "directory_project_keywords_pkey" PRIMARY KEY, btree (id)
+    "directory_project_keywords_project_id_key" UNIQUE, btree (project_id, 
keyword_id)
+Foreign-key constraints:
+    "directory_project_keywords_keyword_id_fkey" FOREIGN KEY (keyword_id) 
REFERENCES directory_keyword(id) DEFERRABLE INITIALLY DEFERRED
+    "directory_project_keywords_project_id_fkey" FOREIGN KEY (project_id) 
REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden directory_project_related,  , directory_project_keywords, Project
address@hidden @code{directory_project_related}
+
+Represents a directed edge (arrow) from a (tail) project to another
+(head) project.  The set of all records in this table form the edges
+of a directed graph, where project records (@pxref{directory_project})
+are graph's nodes.
+
address@hidden Column directory_project_related id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_project_related from_project_id
+The id of the tail project record (@pxref{directory_project}).
address@hidden defcv
+
address@hidden Column directory_project_related to_project_id
+The id of the head project record (@pxref{directory_project}).
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                              Table "public.directory_project_related"
+     Column      |  Type   |                               Modifiers           
                     
+-----------------+---------+------------------------------------------------------------------------
+ id              | integer | not null default 
nextval('directory_project_related_id_seq'::regclass)
+ from_project_id | integer | not null
+ to_project_id   | integer | not null
+Indexes:
+    "directory_project_related_pkey" PRIMARY KEY, btree (id)
+    "directory_project_related_from_project_id_key" UNIQUE, btree 
(from_project_id, to_project_id)
+Foreign-key constraints:
+    "directory_project_related_from_project_id_fkey" FOREIGN KEY 
(from_project_id) REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
+    "directory_project_related_to_project_id_fkey" FOREIGN KEY (to_project_id) 
REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Category, Computer Language, Project, Essential Concepts
address@hidden Category
+
+Project entries in the Free Software Directory are organized in
+categories.  Category is a general topic of some sort (for example,
+Science, Education, Audio, etc.) that classifies a project.  A single
+project can be filed in more than one category.
+
+Categories are organized to form a tree hierarchy, where every
+category (except one) must have exactly one parent category.  There is
+a single category with slug @code{index} and name @code{Top} that has
+no parent and serves as a tree root.  All other categories have the
address@hidden category as it's parent, either directly or indirectly.
+
+Categories are represented in the table @code{directory_category}
+(@pxref{directory_category}).  Assosiations between projects and
+categories (information about which project is filled in which
+category) are stored in the table @code{directory_project_categories}
+(@pxref{directory_project_categories}).
+
address@hidden
+* directory_category::
address@hidden menu
+
address@hidden directory_category,,, Category
address@hidden @code{directory_category}
+
address@hidden Column directory_category id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_category name
+Human readable name of the category.
address@hidden defcv
+
address@hidden Column directory_category slug
+Short system name of the category, free of funny characters.
address@hidden defcv
+
address@hidden Column directory_category description
+Long, human readable description.  Usually empty.
address@hidden defcv
+
address@hidden Column directory_category parent_category_id
+If not null, points to the @code{id} of the parent category.  Thus,
+all categories in the database form a tree structure where root is
+this category for which @code{parent_category_id} is @code{NULL}.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                       Table "public.directory_category"
+       Column       |          Type          |                            
Modifiers                            
+--------------------+------------------------+-----------------------------------------------------------------
+ id                 | integer                | not null default 
nextval('directory_category_id_seq'::regclass)
+ name               | character varying(60)  | not null
+ slug               | character varying(50)  | not null
+ description        | character varying(120) | not null
+ parent_category_id | integer                | 
+Indexes:
+    "directory_category_pkey" PRIMARY KEY, btree (id)
+    "directory_category_slug_uniq" UNIQUE, btree (slug)
+    "directory_category_parent_category_id" btree (parent_category_id)
+Foreign-key constraints:
+    "parent_category_id_refs_id_349faff9" FOREIGN KEY (parent_category_id) 
REFERENCES directory_category(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Computer Language, Entity, Category, Essential Concepts
address@hidden Computer Language
+
+The Free Software Directory keeps a list of all computer languages
+used to implement free software projects.  The list is represented in
+the table @code{directory_computerlanguage}
+(@pxref{directory_computerlanguage}).
+
+A project is usually implemented in one or more computer languages.
+For example, Emacs is written in C and Lisp, and GnuCash is written in
+C and Scheme.  This relationship between projects and computer
+languages is represented in the table
address@hidden
+(@pxref{directory_project_computer_languages}).
+
address@hidden
+* directory_computerlanguage::
address@hidden menu
+
address@hidden directory_computerlanguage,,, Computer Language
address@hidden @code{directory_computerlanguage}
+
address@hidden Column directory_computerlanguage id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_computerlanguage name
+Common name of the language in human-readable form.  For example
address@hidden, @code{Lisp}, etc.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                Table "public.directory_computerlanguage"
+ Column |         Type          |                                Modifiers     
                           
+--------+-----------------------+-------------------------------------------------------------------------
+ id     | integer               | not null default 
nextval('directory_computerlanguage_id_seq'::regclass)
+ name   | character varying(80) | not null
+Indexes:
+    "directory_computerlanguage_pkey" PRIMARY KEY, btree (id)
+    "directory_computerlanguage_name_uniq" UNIQUE, btree (name)
address@hidden verbatim
+
address@hidden Entity, Interface, Computer Language, Essential Concepts
address@hidden Entity
+
+FIXME
+
address@hidden
+* directory_entity::
+* directory_entityrole::
address@hidden menu
+
address@hidden directory_entity, directory_entityrole,, Entity
address@hidden @code{directory_entity}
+
address@hidden Column directory_entity id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_entity name
+Common name of the person, organisation or team.
address@hidden defcv
+
address@hidden Column directory_entity url
+Homepage of the entity.  Currently is usually empty.
address@hidden defcv
+
address@hidden Column directory_entity email
+Email address for contact.  Currently almost all entity records have
+an email filled in.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                 Table "public.directory_entity"
+ Column |          Type          |                           Modifiers         
                  
+--------+------------------------+---------------------------------------------------------------
+ id     | integer                | not null default 
nextval('directory_entity_id_seq'::regclass)
+ name   | character varying(100) | not null
+ url    | character varying(500) | 
+ email  | character varying(75)  | 
+Indexes:
+    "directory_entity_pkey" PRIMARY KEY, btree (id)
address@hidden verbatim
+
address@hidden directory_entityrole,, directory_entity, Entity
address@hidden @code{directory_entityrole}
+
+Represents a relationship between an entity (@pxref{Entity}) and a
+project (@pxref{Project}).
+
address@hidden Column directory_entityrole id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_entityrole project_id
+The id of the project record (@pxref{directory_project}) associated
+with the entity.
address@hidden defcv
+
address@hidden Column directory_entityrole entity_id
+The id of the entity record (@pxref{directory_entity}) associated with
+the project.
address@hidden defcv
+
address@hidden Column directory_entityrole role
address@hidden @samp
address@hidden 1
+Maintainer
+
address@hidden 2
+Contributor
+
address@hidden 3
+Developer
+
address@hidden 4
+Sponsor
address@hidden table
address@hidden defcv
+
address@hidden Column directory_entityrole private
+Boolean value pointing whether this role shouldn't be displayed on the
+web.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                  Table "public.directory_entityrole"
+   Column   |         Type         |                             Modifiers     
                        
+------------+----------------------+-------------------------------------------------------------------
+ id         | integer              | not null default 
nextval('directory_entityrole_id_seq'::regclass)
+ project_id | integer              | not null
+ entity_id  | integer              | not null
+ role       | character varying(1) | not null
+ private    | boolean              | default false
+Indexes:
+    "directory_entityrole_pkey" PRIMARY KEY, btree (id)
+    "directory_entityrole_entity_id" btree (entity_id)
+    "directory_entityrole_project_id" btree (project_id)
+Foreign-key constraints:
+    "directory_entityrole_project_id_fkey" FOREIGN KEY (project_id) REFERENCES 
directory_project(id) DEFERRABLE INITIALLY DEFERRED
+    "entity_id_refs_id_463c73" FOREIGN KEY (entity_id) REFERENCES 
directory_entity(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Interface, IRC Network, Entity, Essential Concepts
address@hidden Interface
+
+Computer programs are used directly by users or by other programs
+using interfaces.  The Free Software Directory keeps a list of all
+interfaces provided by free software projects.  The list is
+represented in the table @code{directory_interface}
+(@pxref{directory_interface}).
+
+FIXME: explain relationship between versions and interfaces.
address@hidden A project could provide one or more interfaces, for example
address@hidden graphical interface (using the X Window System) and a console
address@hidden interface.
+
address@hidden
+* directory_interface::
address@hidden menu
+
address@hidden directory_interface,,, Interface
address@hidden @code{directory_interface}
+
address@hidden Column directory_interface id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_interface id
+Common name of the interface in human-readable form.  For example
address@hidden Line}, @code{X Window System}, @code{Web}, etc.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                Table "public.directory_interface"
+ Column |         Type          |                            Modifiers         
                    
+--------+-----------------------+------------------------------------------------------------------
+ id     | integer               | not null default 
nextval('directory_interface_id_seq'::regclass)
+ name   | character varying(25) | not null
+Indexes:
+    "directory_interface_pkey" PRIMARY KEY, btree (id)
+    "directory_interface_name_uniq" UNIQUE, btree (name)
address@hidden verbatim
+
address@hidden IRC Network, IRC Resource, Interface, Essential Concepts
address@hidden IRC Network
+
+FIXME
+
address@hidden
+* directory_ircnetwork::
address@hidden menu
+
address@hidden directory_ircnetwork,,, IRC Network
address@hidden @code{directory_ircnetwork}
+
+FIXME
+
address@hidden @command{psql} description
+
address@hidden
+                                 Table "public.directory_ircnetwork"
+ Column  |          Type          |                             Modifiers      
                       
+---------+------------------------+-------------------------------------------------------------------
+ id      | integer                | not null default 
nextval('directory_ircnetwork_id_seq'::regclass)
+ network | character varying(100) | not null
+Indexes:
+    "directory_ircnetwork_pkey" PRIMARY KEY, btree (id)
+    "directory_ircnetwork_network_uniq" UNIQUE, btree (network)
address@hidden verbatim
+
address@hidden IRC Resource, Keyword, IRC Network, Essential Concepts
address@hidden IRC Resource
+
+FIXME
+
address@hidden
+* directory_ircresource::
address@hidden menu
+
address@hidden directory_ircresource,,, IRC Resource
address@hidden @code{directory_ircresource}
+
+FIXME
+
address@hidden @command{psql} description
+
address@hidden
+                                   Table "public.directory_ircresource"
+   Column   |          Type          |                             Modifiers   
                           
+------------+------------------------+--------------------------------------------------------------------
+ id         | integer                | not null default 
nextval('directory_ircresource_id_seq'::regclass)
+ channel    | character varying(100) | not null
+ purpose    | character varying(1)   | not null
+ network_id | integer                | not null
+ project_id | integer                | not null
+Indexes:
+    "directory_ircresource_pkey" PRIMARY KEY, btree (id)
+    "directory_ircresource_network_id" btree (network_id)
+    "directory_ircresource_project_id" btree (project_id)
+Foreign-key constraints:
+    "directory_ircresource_network_id_fkey" FOREIGN KEY (network_id) 
REFERENCES directory_ircnetwork(id) DEFERRABLE INITIALLY DEFERRED
+    "directory_ircresource_project_id_fkey" FOREIGN KEY (project_id) 
REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Keyword, Legacy Category, IRC Resource, Essential Concepts
address@hidden Keyword
+
+Projects (@pxref{Project}) in the directory can be tagged with one or
+more keywords.  This way, projects could be discovered not only by
+their name or category (@pxref{Category}), but also by association
+with a keyword.
+
+The list of all keywords is stored in the table
address@hidden (@pxref{directory_keyword}).  Assosiations
+between projects and keywords are stored in the table
address@hidden
+(@pxref{directory_project_keywords}).
+
address@hidden
+* directory_keyword::
address@hidden menu
+
address@hidden directory_keyword,,, Keyword
address@hidden @code{directory_keyword}
+
address@hidden Column directory_keyword id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_keyword id
+The keyword (or phrase) itself in plantext.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                 Table "public.directory_keyword"
+ Column  |         Type          |                           Modifiers         
                   
+---------+-----------------------+----------------------------------------------------------------
+ id      | integer               | not null default 
nextval('directory_keyword_id_seq'::regclass)
+ keyword | character varying(80) | not null
+Indexes:
+    "directory_keyword_pkey" PRIMARY KEY, btree (id)
+    "directory_keyword_keyword_uniq" UNIQUE, btree (keyword)
address@hidden verbatim
+
address@hidden Legacy Category, License, Keyword, Essential Concepts
address@hidden Legacy Category
+
+FIXME
+
address@hidden
+* directory_legacycategory::
address@hidden menu
+
address@hidden directory_legacycategory,,, Legacy Category
address@hidden @code{directory_legacycategory}
+
+FIXME
+
address@hidden @command{psql} description
+
address@hidden
+                                   Table "public.directory_legacycategory"
+   Column    |          Type          |                               
Modifiers                               
+-------------+------------------------+-----------------------------------------------------------------------
+ id          | integer                | not null default 
nextval('directory_legacycategory_id_seq'::regclass)
+ category_id | integer                | not null
+ hierarchy   | character varying(100) | not null
+Indexes:
+    "directory_legacycategory_pkey" PRIMARY KEY, btree (id)
+    "directory_legacycategory_category_id" btree (category_id)
+Foreign-key constraints:
+    "directory_legacycategory_category_id_fkey" FOREIGN KEY (category_id) 
REFERENCES directory_category(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden License, Software Requirement, Legacy Category, Essential 
Concepts
address@hidden License
+
+FIXME
+
address@hidden
+* directory_license::
address@hidden menu
+
address@hidden directory_license,,, License
address@hidden @code{directory_license}
+
+FIXME
+
address@hidden @command{psql} description
+
address@hidden
+                                   Table "public.directory_license"
+    Column    |         Type          |                           Modifiers    
                        
+--------------+-----------------------+----------------------------------------------------------------
+ id           | integer               | not null default 
nextval('directory_license_id_seq'::regclass)
+ slug         | character varying(50) | not null
+ display_name | character varying(80) | not null
+ full_text    | text                  | not null
+Indexes:
+    "directory_license_pkey" PRIMARY KEY, btree (id)
+    "directory_license_slug_uniq" UNIQUE, btree (slug)
address@hidden verbatim
+
address@hidden Software Requirement, Subprogram, License, Essential Concepts
address@hidden Software Requirement
+
+FIXME
+
address@hidden
+* directory_softwarerequirement::
address@hidden menu
+
address@hidden directory_softwarerequirement,,, Software Requirement
address@hidden @code{directory_softwarerequirement}
+
+FIXME
+
address@hidden @command{psql} description
+
address@hidden
+                                   Table "public.directory_softwarerequirement"
+   Column   |          Type          |                                 
Modifiers                                  
+------------+------------------------+----------------------------------------------------------------------------
+ id         | integer                | not null default 
nextval('directory_softwarerequirement_id_seq'::regclass)
+ name       | character varying(200) | not null
+ project_id | integer                | not null
+ purpose    | character varying(1)   | not null
+Indexes:
+    "directory_softwarerequirement_pkey" PRIMARY KEY, btree (id)
+    "directory_softwarerequirement_project_id" btree (project_id)
+Foreign-key constraints:
+    "directory_softwarerequirement_project_id_fkey" FOREIGN KEY (project_id) 
REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Subprogram, Version, Software Requirement, Essential Concepts
address@hidden Subprogram
+
+FIXME
+
address@hidden
+* directory_subprogram::
address@hidden menu
+
address@hidden directory_subprogram,,, Subprogram
address@hidden @code{directory_subprogram}
+
+FIXME
+
address@hidden @command{psql} description
+
address@hidden
+                                  Table "public.directory_subprogram"
+   Column   |         Type          |                             Modifiers    
                         
+------------+-----------------------+-------------------------------------------------------------------
+ id         | integer               | not null default 
nextval('directory_subprogram_id_seq'::regclass)
+ name       | character varying(80) | 
+ project_id | integer               | not null
+Indexes:
+    "directory_subprogram_pkey" PRIMARY KEY, btree (id)
+    "directory_subprogram_project_id" btree (project_id)
+Foreign-key constraints:
+    "directory_subprogram_project_id_fkey" FOREIGN KEY (project_id) REFERENCES 
directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Version, Network Resource, Subprogram, Essential Concepts
address@hidden Version
+
+Over time, a typical software project (@pxref{Project}) makes one or
+more releases, or is available in more than one variant -- stable,
+testing or development, each suitable for specific audience.  Those
+different releases of a project are called @emph{versions} in the
+terms of the Free Software Database.  A project could have many
+versions, but one version belongs exactly to one project.  The most
+important attributes of a version are stored in the
address@hidden table (@pxref{directory_version}).
+
+Each version could provide it's own set of interfaces
+(@pxref{Interface}).  The information about what interfaces are
+provided by a version is stored in the
address@hidden table
+(@pxref{directory_version_interfaces}).
+
+Also, a version could come with it's own license (or set of licenses).
+(@pxref{License}).  The information about which licences are
+applicable for a version is stored in the
address@hidden table
+(@pxref{directory_version_licenses}).
+
address@hidden
+* directory_version::
+* directory_version_interfaces::
+* directory_version_licenses::
address@hidden menu
+
address@hidden directory_version, directory_version_interfaces,, Version
address@hidden @code{directory_version}
+
address@hidden Column directory_version id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_version name
+Unique string that identifies the version among all other versions of
+the same project.  Usually contains the so called version number, for
+example @samp{21.1} or @samp{1.0beta}.  When such number is not
+available, this column contains the string literal
address@hidden
address@hidden defcv
+
address@hidden Column directory_version date
+The date when this version is released.
address@hidden defcv
+
address@hidden Column directory_version status
+Code maturity.  Possible values are:
+
address@hidden @samp
address@hidden 2
+Alpha
+
address@hidden 3
+Beta
+
address@hidden 4
+Developmental
+
address@hidden 5
+Testing
+
address@hidden 6
+Unstable
+
address@hidden 7
+Stable
+
address@hidden 8
+Mature
+
address@hidden table
address@hidden defcv
+
address@hidden Column directory_version project_id
+The id of the project record (@pxref{directory_project}) which has
+released this version.
address@hidden defcv
+
address@hidden Column directory_version notes
+Arbitrary string, visualised on the web next to the version's
address@hidden
address@hidden defcv
+
address@hidden Column directory_version license_verified_by_id
+The id of the directory operator (FIXME: reference to auth_user) that
+is responsible for license verification.
address@hidden defcv
+
address@hidden Column directory_version license_verified_on
+The date on which the license verification is completed.
address@hidden defcv
+
address@hidden Column directory_version source_archive
+Currently unused.
address@hidden defcv
+
address@hidden Column directory_version source_code
+Provides means of retrieving the source code.  Usually contains a
+public URL of the release tarball.  If such an URL is not available
+for some reason, then the column contains notes explaining other means
+of retrieving the source code, like using source control system or
+person that should be contacted.
address@hidden defcv
+
address@hidden Column directory_version deb_system
+Currently unused.
address@hidden defcv
+
address@hidden Column directory_version rpm_system
+Currently unused.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                         Table "public.directory_version"
+         Column         |          Type          |                           
Modifiers                            
+------------------------+------------------------+----------------------------------------------------------------
+ id                     | integer                | not null default 
nextval('directory_version_id_seq'::regclass)
+ name                   | character varying(20)  | not null
+ date                   | date                   | not null
+ status                 | character varying(1)   | not null
+ project_id             | integer                | not null
+ notes                  | text                   | 
+ license_verified_by_id | integer                | not null
+ license_verified_on    | date                   | not null
+ source_archive         | character varying(100) | 
+ source_code            | character varying(500) | not null
+ deb_system             | character varying(500) | 
+ rpm_system             | character varying(500) | 
+Indexes:
+    "directory_version_pkey" PRIMARY KEY, btree (id)
+    "directory_version_license_verified_by_id" btree (license_verified_by_id)
+    "directory_version_project_id" btree (project_id)
+Foreign-key constraints:
+    "directory_version_license_verified_by_id_fkey" FOREIGN KEY 
(license_verified_by_id) REFERENCES auth_user(id) DEFERRABLE INITIALLY DEFERRED
+    "directory_version_project_id_fkey" FOREIGN KEY (project_id) REFERENCES 
directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden directory_version_interfaces, directory_version_licenses, 
directory_version, Version
address@hidden @code{directory_version_interfaces}
+
+Represents a relationship between a version (@pxref{Version}) and an
+interface (@pxref{Interface}).
+
address@hidden Column directory_version_interfaces id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_version_interfaces version_id
+The id of the version record (@pxref{directory_version}) associated
+with the interface.
address@hidden defcv
+
address@hidden Column directory_version_interfaces interface_id
+The id of the interface record (@pxref{directory_interface})
+associated with the version.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                            Table "public.directory_version_interfaces"
+    Column    |  Type   |                                 Modifiers            
                     
+--------------+---------+---------------------------------------------------------------------------
+ id           | integer | not null default 
nextval('directory_version_interfaces_id_seq'::regclass)
+ version_id   | integer | not null
+ interface_id | integer | not null
+Indexes:
+    "directory_version_interfaces_pkey" PRIMARY KEY, btree (id)
+    "directory_version_interfaces_version_id_key" UNIQUE, btree (version_id, 
interface_id)
+Foreign-key constraints:
+    "directory_version_interfaces_interface_id_fkey" FOREIGN KEY 
(interface_id) REFERENCES directory_interface(id) DEFERRABLE INITIALLY DEFERRED
+    "directory_version_interfaces_version_id_fkey" FOREIGN KEY (version_id) 
REFERENCES directory_version(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden directory_version_licenses,, directory_version_interfaces, 
Version
address@hidden @code{directory_version_licenses}
+
+Represents a relationship between a version (@pxref{Version}) and a
+license (@pxref{License}).
+
address@hidden Column directory_version_licenses id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_version_licenses version_id
+The id of the version record (@pxref{directory_version}) associated
+with the license.
address@hidden defcv
+
address@hidden Column directory_version_licenses license_id
+The id of the license record (@pxref{directory_license}) associated
+with the version.
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                           Table "public.directory_version_licenses"
+   Column   |  Type   |                                Modifiers               
                 
+------------+---------+-------------------------------------------------------------------------
+ id         | integer | not null default 
nextval('directory_version_licenses_id_seq'::regclass)
+ version_id | integer | not null
+ license_id | integer | not null
+Indexes:
+    "directory_version_licenses_pkey" PRIMARY KEY, btree (id)
+    "directory_version_licenses_version_id_key" UNIQUE, btree (version_id, 
license_id)
+Foreign-key constraints:
+    "directory_version_licenses_license_id_fkey" FOREIGN KEY (license_id) 
REFERENCES directory_license(id) DEFERRABLE INITIALLY DEFERRED
+    "directory_version_licenses_version_id_fkey" FOREIGN KEY (version_id) 
REFERENCES directory_version(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Network Resource, Not Interesting, Version, Essential Concepts
address@hidden Network Resource
+
+A typical free software project publishes various kinds of network
+resources -- like homepage, mailing list archives or newsgroups.  Most
+of those various kinds of resources can be addressed to a specific
+audience.  For example, a project could use two different mailing
+lists -- one intended for general users and another for developers.
+Such network resources are represented in the table
address@hidden
+(@pxref{directory_projectwebresource}).
+
address@hidden
+* directory_projectwebresource::
address@hidden menu
+
address@hidden directory_projectwebresource,  , Network Resource, Network 
Resource
address@hidden @code{directory_projectwebresource}
+
+The name of this table is somewhat misleading since it keeps records
+for various kind of network resources, not just web addresses.
+
address@hidden Column directory_projectwebresource id
+Primary key.
address@hidden defcv
+
address@hidden Column directory_projectwebresource link
+Network address.  This may be an URL, email address, etc. according to
+the value of the @code{kind} column.
address@hidden defcv
+
address@hidden Column directory_projectwebresource project_id
+The id of the project record (@pxref{directory_project}) for which
+this resource is about.
address@hidden defcv
+
address@hidden Column directory_projectwebresource audience
+Intended audience that might find this resource useful.  Possible
+values are:
+
address@hidden @samp
address@hidden 1
+Developers
+
address@hidden 2
+User Support
+
address@hidden 3
+Bug Tracking
+
address@hidden 4
+Announcement
+
address@hidden 5
+General
address@hidden table
address@hidden defcv
+
address@hidden Column directory_projectwebresource kind
+FIXME.  Possible values are:
+
address@hidden @samp
address@hidden 1
+Mailing List Subscribe
+
address@hidden 2
+Mailing List Info/Archive
+
address@hidden 3
+Forum
+
address@hidden 4
+VCS Repository Webview
+
address@hidden 5
+Homepage
+
address@hidden 6
+Bug Tracker
+
address@hidden 7
+ChangeLog
+
address@hidden 8
+E-mail
+
address@hidden 9
+Newsgroup (NNTP)
+
address@hidden 10
+Paid support information.  The link usually contains free text with
+inline URLs, for example: @samp{Paid technical support available from
+http://foo.com/support.html}.
+
address@hidden 11
+Download
address@hidden table
+
address@hidden defcv
+
address@hidden @command{psql} description
+
address@hidden
+                                   Table "public.directory_projectwebresource"
+   Column   |          Type           |                                 
Modifiers                                 
+------------+-------------------------+---------------------------------------------------------------------------
+ id         | integer                 | not null default 
nextval('directory_projectwebresource_id_seq'::regclass)
+ link       | character varying(1000) | not null
+ project_id | integer                 | not null
+ audience   | character varying(2)    | not null
+ kind       | character varying(2)    | not null
+Indexes:
+    "directory_projectwebresource_pkey" PRIMARY KEY, btree (id)
+    "directory_projectwebresource_project_id" btree (project_id)
+Foreign-key constraints:
+    "directory_projectwebresource_project_id_fkey" FOREIGN KEY (project_id) 
REFERENCES directory_project(id) DEFERRABLE INITIALLY DEFERRED
address@hidden verbatim
+
address@hidden Not Interesting, Index, Network Resource, Top
address@hidden Tables that are not directly related to the FSD data
+
address@hidden
address@hidden
+auth_group
+
address@hidden
+auth_group_permissions
+
address@hidden
+auth_message
+
address@hidden
+auth_permission
+
address@hidden
+auth_user
+
address@hidden
+auth_user_groups
+
address@hidden
+auth_user_user_permissions
+
address@hidden
+django_admin_log
+
address@hidden
+django_content_type
+
address@hidden
+django_redirect
+
address@hidden
+django_session
+
address@hidden
+django_site
address@hidden itemize
+
address@hidden Index, Copying This Manual, Not Interesting, Top
address@hidden Index
+
address@hidden cp
+
address@hidden Copying This Manual,  , Index, Top
address@hidden GNU Free Documentation License
+
+FIXME: Insert GFDL here.
+
address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]