Differences from version 5 to 8



@@ -1,7 +1,5 @@

 !phpGedView DATABASE TABLE LAYOUT
 
-This needs updating to the later structure used by phpGedView version 4, but I hope to strip some of the tables before I get round to updating the contents here.
-
 PhpGedView uses a very simple database table layout because it operates primarily on the GEDCOM data and only needs the database for search and retrieval. There are only a few tables in the database:
 
 ||Table|Description|

@@ -10,17 +8,26 @@

 pgv_families|All the families in the GEDCOM|
 pgv_favorites|Stores users favorites|bitweaver user prefs
 pgv_individuals|All the individuals in the GEDCOM|
+pgv_link|Links between gedcom records|
+pgv_media|List of media references from gedcom data|These will be stored using LibertyMime
+pgv_media_mapping|Links to gedcom records using media items|
 pgv_messages|Messages to and from users|bitweaver messaging
+pgv_mutex|Database managed lock on file updates|
 pgv_names|Stores decoded name information from GEDCOM records|
 pgv_news|Stores news items for the Index and Portal pages|various other packages
+pgv_nextid|Table of id numbers fore adding records to gedcom data|This is not multi-user safe!
 pgv_other|All other level 0 GEDCOM records (i.e., repositories, media objects, notes, etc.)|
 pgv_placelinks|Cross-reference between places and individuals and families|
 pgv_places|Place hierarchy|
+pgv_remotelinks|Table of urls used within gedcom data|
+pgv_site_settings|System settings data|These are stored in kernel_config
 pgv_sources|All the sources in the GEDCOM|
 pgv_users|Table for user data (replaced by users_users)|BitUser||
 
+More details can also be found in the [http://wiki.phpgedview.net/|phpgedview wiki] ++red:( links will be created when their wiki is working again )++
 
-The tables are all very similar. They each have a field for the GEDCOM ID, a field to tell which GEDCOM file the record was imported from, a few fields for things like quick retrieval of name information, and a field for the raw GEDCOM record data.
+!Core data tables
+The data tables are all very similar. They each have a field for the GEDCOM ID, a field to tell which GEDCOM file the record was imported from, a few fields for things like quick retrieval of name information, and a field for the raw GEDCOM record data. The entire original gedcom data is stored across these six tables.
 
 !!pgv_individuals
 ||Field|Size|Notes

@@ -41,6 +48,28 @@

 f_chil|TEXT|List of children IDs, semi-colon (;) delimited
 f_gedcom|TEXT|Raw GEDCOM record for this family
 f_numchil|INT|Number of children in this family
+||
+
+!!pgv_media
+||Field|Size|Notes
+m_id|INT|
+m_media|VARCHAR(20)|
+m_ext|VARCHAR(6)|
+m_titl|VARCHAR(255)|
+m_file|VARCHAR(255)|
+m_gedfile|SMALLINT|
+m_gedrec|BLOB|
+||
+This will be complimented with a link the generic bitweaver content and use the bitweaver management tools.
+
+!!pgv_media_mapping
+||Field|Size|Notes
+mm_id|INT|
+mm_media|VARCHAR(20)|
+mm_gid|VARCHAR(20)|
+mm_order|INT|
+mm_gedfile|INT|
+mm_gedrec|BLOB|
 ||
 
 !!pgv_sources

@@ -59,6 +88,9 @@

 o_type|VARCHAR(5)|Type of GEDCOM record (REPO, ADDR, NOTE, OBJE, etc)
 o_gedcom|TEXT|Raw GEDCOM record for this item
 ||
+
+!Record detail tables
+Date then extracted from the gedcom is processed to provide a more searchable indexing of names and places
 
 !!pgv_names
 ||Field|Size|Notes

@@ -79,89 +111,93 @@

 ||
 
 !!pgv_dates
- d_day # The day of month for this date
- d_month # The 3 letter abbreviation for month of year
- d_mon # Integer 1-12 for the month of year
- d_year # The year for this date
- d_datestamp # A date stamp of the form YYYYMMDD used for simple
- . # comparisons
- d_fact # The fact that this date was associated with
- d_gid # The gedcom XREF ID where this fact and date were found
- d_file # The gedcom file id where this fact was found
- d_type # Used if this date uses an alternate calendar type
+||Field|Size|Notes
+d_day|SMALLINT|The day of month for this date
+d_month|VARCHAR(5)|The 3 letter abbreviation for month of year
+d_mon|SMALLINT|Integer 1-12 for the month of year
+d_year|SMALLINT|The year for this date
+d_julianday1|INT|Day count in julian format
+d_julianday2|INT|Day count in julian format
+d_datestamp|TIMESTAMP|Add UTC normalised time information
+d_fact|VARCHAR(15)|The fact that this date was associated with
+d_gid|VARCHAR(20)|The gedcom XREF ID where this fact and date were found
+d_file|SMALLINT|The gedcom file id where this fact was found
+d_type|VARCHAR(13)|Used if this date uses an alternate calendar type
+||
+
+!!pgv_places
+||Field|Size|Notes
+p_id|INT|Unique identifier
+p_place|VARCHAR(150)|Place name
+p_level|INT|Level of the place in the hierarchy, 0 is the country or state
+p_parent_id|INT|ID of this item's parent place in the hierarchy. A city's parent would be the county it is in, a county's parent would be a state or province, and a state or province would have a country as parent.
+p_file|SMALLINT|ID number of the GEDCOM file the record is from
+p_std_soundex|VARCHAR(255)|Standard soundex of place name
+p_dm_soundex|VARCHAR(255)|DM soundex of place name
+||
+At some point a cross reference to openstreetmap will be added along with links to any mapper content.
+
+!Crosslink tables
+Data is then further indexed to provide cross references between the data.
+
+!!pgv_placelinks
+||Field|Size|Notes
+pl_p_id|INT|Unique identifier
+pl_gid|VARCHAR(20)|Family or individual ID referencing this place
+pl_file|SMALLINT|ID number of the GEDCOM file the record is from
+||
+
+!!pgv_link
+||Field|Size|Notes
+l_file|SMALLINT|ID number of the GEDCOM file the record is from
+l_from|VARCHAR(20)|Source reference ID
+l_type|VARCHAR(15)|Link type
+l_to|VARCHAR(20)|Destination reference ID
+||
+
+!!pgv_nextid
+||Field|Size|Notes
+ni_id|INT|ID number for record type
+ni_type|VARCHAR(15)|Record type
+ni_file|SMALLINT|The gedcom file id where this id is used
+||
+Since MAX() is used to access this data, it is possible in situations where multiple users are adding data that the same ID will be assigned. This should be locked in a similar way to the file updates.
+The numbers generated are used in conjunction with the the prefix letters allocated to each record type
+
+!!pgv_remotelinks
+||Field|Size|Notes
+r_gid|VARCHAR(20)|Reference ID for link
+r_linkid|VARCHAR(255)|Link data
+r_file|SMALLINT|ID number of the GEDCOM file the record is from
+||
+
+!Miscellaneous Tables
+The remaining tables provide additional user data and is on the whole replaced by other bitweaver packages.
 
 !!pgv_blocks
- b_id INT(11) # Record ID
- b_username VARCHAR(100) # User name whom block belongs to
- b_location VARCHAR(30) # Location of the block.
- . # Main column or right column
- b_order INT(11) # Position of the block within the column
- b_name VARCHAR(255) # Name of the block
- b_config TEXT # Configuration settings for this block
+This is replaced by the bitweaver layout manager phpgedview blocks are repackaged as modules.
 
 !!pgv_favorites
- fv_id INT(11) # Record ID
- fv_username VARCHAR(30) # User name whom the favorite belongs to
- fv_gid VARCHAR(10) # ID of the favorite
- fv_type VARCHAR(10) # Type of favorite (currently only INDI)
- fv_file VARCHAR(100) # File that this favorite belongs to
- fv_url VARCHAR(255) # The URL for this favorite if it is not one of
- . # the basic types
- fv_title VARCHAR(255) # A title for URL based favorites
- fv_note TEXT # Optional descriptive information about this favorite
+||Field|Size|Notes
+fv_id|INT|Record ID
+fv_username|VARCHAR(30)|User name whom the favourite belongs to
+fv_gid|VARCHAR(20)|ID of the favourite
+fv_type|VARCHAR(15)|Type of favourite (currently only INDI)
+fv_file|VARCHAR(100)|File that this favourite belongs to
+fv_url|VARCHAR(255)|The URL for this favourite if it is not one of the basic types
+fv_title|VARCHAR(255)|A title for URL based favourites
+fv_note|TEXT|Optional descriptive information about this favourite
+||
+This should be provided by a similar facility in bitweaver, but may need to develop that area first.
 
 !!pgv_messages
- m_id INT(11) # Record ID
- m_from VARCHAR(255) # Name or email address of the sender
- m_to VARCHAR(30) # Destination user name
- m_subject VARCHAR(255) # Subject of the message
- m_body TEXT # Body text of the message
- m_created VARCHAR(255) # Time stamp when the message was created
+Replaced by bitweaver messaging system.
 
 !!pgv_news
- n_id INT(11) # Unique identifier
- n_username VARCHAR(100) # User name or GEDCOM the News item belongs to
- n_date INT(11) # Time stamp of last update
- n_title VARCHAR(255) # Title of the article
- n_text TEXT # Body text of the article
-
-!!pgv_places
- p_id INT(11) # Unique identifier
- p_place VARCHAR(150) # Place name
- p_level INT(11) # Level of the place in the hierarchy,
- . # 0 is the country or state
- p_parent_id INT(11) # ID of this item's parent place in the
- . # hierarchy. A city's parent would be the
- . # county it is in, a county's parent would be
- . # a state or province, and a state or province
- . # would have a country as parent.
- p_file INT # ID number of the GEDCOM file the record is from
-
-!!pgv_placelinks
- pl_p_id INT(11) # Unique identifier
- pl_gid VARCHAR(30) # Family or individual ID referencing this place
- pl_file INT # ID number of the GEDCOM file the record is from
+Replaced by bitweaver articles or blog depending on the type of user news display required.
 
 !!pgv_users
 This has been replaced by BitUser with additional fields stored in the user permission and other generic BW storage.
 
-!!media
- m_id INT NOT NULL
- m_media VARCHAR(15)
- m_ext VARCHAR(6)
- m_titl VARCHAR(255)
- m_file VARCHAR(255)
- m_gedfile BIGINT
- m_gedrec BLOB
- PRIMARY KEY (m_id)
-
-!!media_mapping
- mm_id INT NOT NULL
- mm_media VARCHAR(15) NOT NULL default ''
- mm_gid VARCHAR(15) NOT NULL default ''
- mm_order INT NOT NULL default '0'
- mm_gedfile INT default NULL
- mm_gedrec BLOB
- PRIMARY KEY (mm_id)
 
 ((PhpgedviewPackage))
Page History
Date/CommentUserIPVersion
16 Sep 2009 (08:37 UTC)
Lester Caine81.138.11.1368
Current • Source
Lester Caine81.138.11.1366
View • Compare • Difference • Source
Lester Caine81.138.11.1365
View • Compare • Difference • Source
Lester Caine81.138.11.1364
View • Compare • Difference • Source
Lester Caine81.138.11.1363
View • Compare • Difference • Source
Lester Caine81.138.11.1362
View • Compare • Difference • Source
Lester Caine81.138.11.1361
View • Compare • Difference • Source