Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
internals:index [2007/10/05 10:47] david.verdin@cru.fr |
internals:index [2017/06/10 10:59] ikeda@conversion.co.jp |
||
---|---|---|---|
Line 8: | Line 8: | ||
We hope this documentation will be particularly helpful to developers. | We hope this documentation will be particularly helpful to developers. | ||
+ | |||
+ | ===== Batabase structure ==== | ||
+ | |||
+ | <note warning> | ||
+ | This section was obsoleted. See the manual page `sympa_database(5)` bundled in Sympa distribution. | ||
+ | </note> | ||
+ | |||
+ | See the dedicated page that describe each table of [[database|Sympa database]]. | ||
===== Focus on the main Sympa modules ===== | ===== Focus on the main Sympa modules ===== | ||
+ | |||
+ | <note warning> | ||
+ | This section was obsoleted. See the manual page `Sympa::Internals(3)` bundled in Sympa distribution. | ||
+ | </note> | ||
This chapter describes these modules (or a part of them): | This chapter describes these modules (or a part of them): | ||
Line 22: | Line 34: | ||
* [[internals-message|src/Message.pm]]: message object used to encapsule a message received. | * [[internals-message|src/Message.pm]]: message object used to encapsule a message received. | ||
* [[internals-session|wwsympa/SympaSession.pm]]: session object use to manage user context with a single cookie and a session table | * [[internals-session|wwsympa/SympaSession.pm]]: session object use to manage user context with a single cookie and a session table | ||
+ | * [[internals-auth|wwsympa/Auth.pm]] FIXME to be completed | ||
+ | * [[internals-ajax|wwsympa/ajax]]: ajax ; | ||
+ | A [[mail_structure|graph of subrouroutines for messages process]] | ||
===== Sympa modules sorted by directory ===== | ===== Sympa modules sorted by directory ===== | ||
+ | |||
+ | <note warning> | ||
+ | This section was obsoleted. See the manual page `sympa_toc(1)` bundled in Sympa distribution. | ||
+ | </note> | ||
This section presents all the files used in the Sympa engine. | This section presents all the files used in the Sympa engine. | ||
Line 119: | Line 137: | ||
- | ====== Database ====== | ||
- | |||
- | <note important>Work in progress. All the tables are described already though.</note> | ||
- | |||
- | This chapter describes the Sympa database. | ||
- | |||
- | ===== Overall organization ===== | ||
- | |||
- | The Sympa database contains 5 tables which are : | ||
- | |||
- | * [[#admin_table|admin_table]], this table stores //a cache version// of the moderators and owners of lists, | ||
- | * [[#user_table|user_table]], this tables registers the users as individual people, | ||
- | * [[#subscriber_table|subscriber_table]], this table registers subscribers; it stores couples "(user, list)", thus producing one entry by subscription for each user. | ||
- | * [[#logs_table|logs_table]]: this tables stores the Sympa logs, | ||
- | * [[#netidmap_table|netidmap_table]], this table stores informations relative to authentification. | ||
- | |||
- | ===== Tables description ===== | ||
- | |||
- | We provide here, for each table, a data dictionary and a fields' description. | ||
- | |||
- | ==== admin_table ==== | ||
- | |||
- | === data catalogue === | ||
- | |||
- | ^Field^Type ^Encoding^Null ^Default^ | ||
- | |{{internals:b_primary.png|primary key image}}**list_admin** |varchar(50) |latin1_swedish_ci |No | | | ||
- | |{{internals:b_primary.png|primary key image}}**robot_admin** |varchar(80) |latin1_swedish_ci |No | | | ||
- | |{{internals:b_primary.png|primary key image}}**role_admin** |enum('listmaster', 'owner', 'editor') |latin1_swedish_ci |No | | | ||
- | |{{internals:b_primary.png|primary key image}}**user_admin** |varchar(100) |latin1_swedish_ci |No | | | ||
- | |comment_admin |varchar(150) |latin1_swedish_ci |Yes |NULL | | ||
- | |date_admin |datetime | |No | | | ||
- | |include_sources_admin |varchar(50) |latin1_swedish_ci |Yes |NULL | | ||
- | |included_admin |int(1) | |Yes |NULL | | ||
- | |info_admin |varchar(150) |latin1_swedish_ci |Yes |NULL | | ||
- | |profile_admin |enum('privileged', 'normal') |latin1_swedish_ci |Yes |NULL | | ||
- | |reception_admin |varchar(20) |latin1_swedish_ci |Yes |NULL | | ||
- | |subscribed_admin |int(1) | |Yes |NULL | | ||
- | |update_admin |datetime | |Yes |NULL | | ||
- | |||
- | === Fields' description === | ||
- | |||
- | * FIXME //list_admin//: | ||
- | * FIXME //robot_admin//: | ||
- | * FIXME //role_admin//: | ||
- | * FIXME //user_admin//: | ||
- | * FIXME //comment_admin//: | ||
- | * FIXME //date_admin//: | ||
- | * FIXME //include_sources_admin//: | ||
- | * FIXME //included_admin//: | ||
- | * FIXME //info_admin//: | ||
- | * FIXME //profile_admin//: | ||
- | * FIXME //reception_admin//: | ||
- | * FIXME //subscribed_admin//: | ||
- | * FIXME //update_admin//: | ||
- | |||
- | |||
- | ==== subscriber_table ==== | ||
- | |||
- | === data catalogue === | ||
- | |||
- | ^Field^Type ^Encoding^Null ^Default^ | ||
- | |{{internals:b_primary.png|primary key image}}**robot_subscriber** |varchar(80) |latin1_swedish_ci |No | | | ||
- | |{{internals:b_primary.png|primary key image}}**list_subscriber** |varchar(50) |latin1_swedish_ci |No | | | ||
- | |{{internals:b_primary.png|primary key image}}**user_subscriber** |varchar(100) |latin1_swedish_ci |No | | | ||
- | |bounce_address_subscriber |varchar(100) |latin1_swedish_ci |Yes |NULL | | ||
- | |bounce_score_subscriber |smallint(6) | |Yes |NULL | | ||
- | |bounce_subscriber |varchar(35) |latin1_swedish_ci |Yes |NULL | | ||
- | |comment_subscriber |varchar(150) |latin1_swedish_ci |Yes |NULL | | ||
- | |date_subscriber |datetime | |No | | | ||
- | |include_sources_subscriber |varchar(50) |latin1_swedish_ci |Yes |NULL | | ||
- | |included_subscriber |int(1) | |Yes |NULL | | ||
- | |reception_subscriber |varchar(20) |latin1_swedish_ci |Yes |NULL | | ||
- | |subscribed_subscriber |int(1) | |Yes |NULL | | ||
- | |topics_subscriber |varchar(200) |latin1_swedish_ci |Yes |NULL | | ||
- | |update_subscriber |datetime | |Yes |NULL | | ||
- | |visibility_subscriber |varchar(20) |latin1_swedish_ci |Yes |NULL | | ||
- | |||
- | === Fields' description === | ||
- | |||
- | * FIXME //robot_subscriber//: robot managing the subscription's list, | ||
- | * FIXME //list_subscriber//: list to which the subscription is done, | ||
- | * FIXME //user_subscriber//: e-mail address of the usr subscribing to this list | ||
- | * FIXME //bounce_address_subscriber//: | ||
- | * FIXME //bounce_score_subscriber//: | ||
- | * FIXME //bounce_subscriber//: | ||
- | * FIXME //comment_subscriber//: Comments about the subscription | ||
- | * FIXME //date_subscriber//: date the subscription was created | ||
- | * FIXME //include_sources_subscriber//: | ||
- | * FIXME //included_subscriber//: 1 if user is included | ||
- | * FIXME //reception_subscriber//: | ||
- | * FIXME //subscribed_subscriber//: 1 if user is subscribed | ||
- | * FIXME //topics_subscriber//: | ||
- | * FIXME //update_subscriber//: | ||
- | * FIXME //visibility_subscriber//: | ||
- | |||
- | |||
- | ==== user_table ==== | ||
- | |||
- | === data catalogue === | ||
- | |||
- | ^Field^Type ^Encoding^Null ^Default^ | ||
- | |{{internals:b_primary.png|primary key image}}**email_user** |varchar(100) |latin1_swedish_ci |No | | | ||
- | |attributes_user |text |latin1_swedish_ci |Yes |NULL | | ||
- | |cookie_delay_user |int(11) | |Yes |NULL | | ||
- | |gecos_user |varchar(150) |latin1_swedish_ci |Yes |NULL | | ||
- | |lang_user |varchar(10) |latin1_swedish_ci |Yes |NULL | | ||
- | |password_user |varchar(40) |latin1_swedish_ci |Yes |NULL | | ||
- | |||
- | === Fields' description === | ||
- | |||
- | * //email_user//: User's e-mail address | ||
- | * FIXME //attributes_user//: | ||
- | * FIXME //cookie_delay_user//: | ||
- | * FIXME //gecos_user//: | ||
- | * //lang_user//: User's favourite language | ||
- | * FIXME //password_user//: User's password. | ||
- | |||
- | |||
- | ==== logs_table ==== | ||
- | |||
- | === data catalogue === | ||
- | |||
- | ^Field^Type ^Encoding^Null ^Default^ | ||
- | |{{internals:b_primary.png|primary key image}}**id_logs** |bigint(20) | |No | | | ||
- | |action_logs |varchar(50) |latin1_swedish_ci |No | | | ||
- | |client_logs |varchar(100) |latin1_swedish_ci |Yes |NULL | | ||
- | |daemon_logs |varchar(10) |latin1_swedish_ci |No | | | ||
- | |date_logs |int(11) | |No | | | ||
- | |error_type_logs |varchar(150) |latin1_swedish_ci |Yes |NULL | | ||
- | |list_logs |varchar(50) |latin1_swedish_ci |Yes |NULL | | ||
- | |msg_id_logs |varchar(255) |latin1_swedish_ci |Yes |NULL | | ||
- | |parameters_logs |varchar(100) |latin1_swedish_ci |Yes |NULL | | ||
- | |robot_logs |varchar(80) |latin1_swedish_ci |Yes |NULL | | ||
- | |status_logs |varchar(10) |latin1_swedish_ci |No | | | ||
- | |target_email_logs |varchar(100) |latin1_swedish_ci |Yes |NULL | | ||
- | |user_email_logs |varchar(100) |latin1_swedish_ci |Yes |NULL| | ||
- | |||
- | === Fields' description === | ||
- | |||
- | * //id_logs//: unique log's identifier. | ||
- | * //action_logs//: name of the Sympa subroutine which initiated the log | ||
- | * //client_logs//: IP address of the client machine from which the message was sent. | ||
- | * //daemon_logs//: name of the Sympa daemon which ran the action | ||
- | * //date_logs//: date when the action was executed | ||
- | * //error_type_logs//: name of the error string -- if any -- issued by the subroutine | ||
- | * //list_logs//: name of the mailing-list in which context the action was executed | ||
- | * //msg_id_logs//: identifier of the message which triggered the action. | ||
- | * //parameters_logs//: List of commas-separated parameters. The amount and type of parameters can differ from an action to another. | ||
- | * //robot_logs//: name of the robot in which context the action was executed | ||
- | * //status_logs//: exit status of the action. If it was an error, it is likely that the //error_type_logs// field will contain a description of this error. | ||
- | * //target_email_logs//: e-mail address (if any) targeted by the message | ||
- | * //user_email_logs//: e-mail address of the message sender | ||
- | |||
- | ==== netidmap_table ==== | ||
- | |||
- | === data catalogue === | ||
- | |||
- | ^Field^Type ^Encoding^Null ^Default^ | ||
- | |{{internals:b_primary.png|primary key image}}**netid_netidmap** |varchar(100) |latin1_swedish_ci |No | | | ||
- | |{{internals:b_primary.png|primary key image}}**robot_netidmap** |varchar(80) |latin1_swedish_ci |No | | | ||
- | |{{internals:b_primary.png|primary key image}}**serviceid_netidmap** |varchar(100) |latin1_swedish_ci |No | | | ||
- | |email_netidmap |varchar(100) |latin1_swedish_ci |Yes |NULL | | ||
- | |||
- | === Fields' description === | ||
- | |||
- | * FIXME //netid_netidmap//: | ||
- | * FIXME //robot_netidmap//: | ||
- | * FIXME //serviceid_netidmap//: | ||
- | * FIXME //email_netidmap//: |