History of TP-Structures
-=Current Database Tables=-
__tiki_blogs__: blog_id, user_id, created, last_modified, title, description, public, posts, max_posts, hits, activitiy, heading, use_find, use_title, add_date, add_poster, allow_comments
__tiki_blog_posts__: post_id, content_id, blog_id, trackback_to,trackbacks_from
Notes: ''trackbacks_to and trackbacks_from are default "a:():{}" almost always''
__tiki_nexus_menu__: menu_id, plugin_guid, title, description, type, editable
__tiki_nexus_menu_items__: item_id, menu_id, parent_id, po, title, hint, url, url_type, perm
__tiki_categories__: category_id, name, description, parent_id, hits
__tiki_category_objects__: cat_object_id, category_id
__tiki_categorized_objects__: cat_object_id, object_type, object_id, description, created, name, href, hits
Notes:
''object_type is tikipage, blog, etc''
''description is somewhat similar to hint''
''name is similar to title''
''href is "/wiki/index.php?pge_id=7" etc''
__tiki_structures__: structure_id, root_structure_id, content_id, level, pos, page_alias, parent_id
-=New Structure Item Tables=-
__tiki_structure_item__ (primary key is structure_item_id):
structure_item_id, item_type, item_id, url, name, description, created_on, last_modified_on,
__tiki_structure_pos__ (primary_key is combination of tiki_structure_id and tiki_structure_item_id):
structure_id, structure_item_id, parent_id, pos
__tiki_structure_item_attrib__:
structure_item_id attrib_name attrib_value
Note: ''Unsure if needed or how to do: tiki_structures: level, tiki_categorized_objects: hits, tiki_nexus_menu_item: perm''
===Structure_item_id=== - integer used to specify each line/item in the structure. Equivalent to:
tiki_structures: structure_id, tiki_nexus_menu_items: item_id, tiki_blog_posts: post_id, tiki_categorized_objects: cat_object_id
===Structure_id=== - integer used to specify one structure. Equvalent to:
tiki_structures: root_structure_id, tiki_nexus_menu_items: menu_id, tiki_blog_posts: blog_id, tiki_categorized_objects: category_id
===Parent_id=== - integer specifying top level for multi-level menus & structures; Equivalent to:
tiki_structures: parent_id, tiki_nexus_menu_items: parent_id
===Pos=== - integer which specifies position of the menu relates to ALL other items (no matter what level, within same level highier position is displayed lower and parent_id must have position that is lower then any child). Equivalent to:
tiki_structures: pos, tiki_nexus_menu_items: po
===Item_type=== - Type of item object, describes what type of item_id this is. Can be:
content_id - Item_ID is Content_id
blog_id - Item_ID is Blog_id
structure_id - Item_ID = Structure_ID
URL - Item_Id is not used, instead URL specifies full URL
Equivalent to:
tiki_categorized_objects: object_type, tiki_nexus_menu_items: url_type
===Item_id=== - id of the content for this item, usually same as Content_ID. Equivalent to:
tiki_categorized_objects: object_id, tiki_nexus_menu_items: url, tiki_structures: content_id, tiki_blog_posts: content_id
Note: ''Possibly get rid of Item_type and replace Item_id in table with Content_ID''
===URL=== - when its non-standard or external object, it specifies full URL to redirect to, this is used when item_id is NULL. Equivalent to:
tiki_categorized_objects: href, tiki_nexus_menu_items: url
===Name=== - Short name that will appear when listing this structure instead of original page_name (if not present, original name from structure is to be used). Equivalent to:
tiki_categorized_objects: name, tiki_nexus_menu_items: title, tiki_structure: page_alias
===Description=== - Longer description that maybe used. Equivalent to:
tiki_categorized_objects: description, tiki_nexus_menu_items: hint
===Created_On=== - Date when this structure item was created. Equivalent to:
tiki_categorized_objects: created
===Last_Modified_On=== - Date when this structure item was last modified
===Attrib_name=== - name of the additional attribute (specific to certain structures). This can be: "trackback_to", "trackback_from"
===Attrib_value=== - arbitrary data value
-=New Structure & Structure Type Tables=-
__tiki_structure__ (primary key is structure_id):
structure_id, user_id, structure_name, structure_description, parent_id, created_on, last_modified_on
__tiki_structure_types__ (primary key is structure_type_id):
structure_type_id, structure_type_description, handler_class, handler_package, handler_file
Note: ''See tiki_content_types for reference as to how handler_class, handler_packages, handler_file would be used''
__tiki_structure_objects__ (primary key is structure_object_id):
structure_object_id, structure_id, structure_type_id
Note: ''There is one-one correspondence from structure_object_id and actual object_id (such as
blog_id or nexus_menu_id) that is using the structure. However not all objects that use this structure may have their own object table and since multiple of the same type of objects could be created that use the same strucuture, there is a need for unique structure_object_id. Additionally if structure_object_id was not there and for example nexus_menu was referring directly to structure_id, it would have created a problem when menu is deleted as then you have to specifically check if there are any other menus using the same structure before deleting from tiki_structure_objects table''
__tiki_blogs__ (replaces original, primary key is blog_id):
blog_id, structure_object_id, public, posts, max_posts, hits, activity, heading, use_find, use_title, add_data, add_poster, allow_comments
__tiki_nexus_menu__ (replaces original, primary key is menu_id):
menu_id, structure_object_id, plugin_guid, title, description, menu_type, editable
Note: ''title and descript can be removed from nexus_menus and tiki_structure title and description used intead, however for menus it might be good to be able to override it and there is nothing wrong with just having it be NULL be default''
__tiki_blogs__: blog_id, user_id, created, last_modified, title, description, public, posts, max_posts, hits, activitiy, heading, use_find, use_title, add_date, add_poster, allow_comments
__tiki_blog_posts__: post_id, content_id, blog_id, trackback_to,trackbacks_from
Notes: ''trackbacks_to and trackbacks_from are default "a:():{}" almost always''
__tiki_nexus_menu__: menu_id, plugin_guid, title, description, type, editable
__tiki_nexus_menu_items__: item_id, menu_id, parent_id, po, title, hint, url, url_type, perm
__tiki_categories__: category_id, name, description, parent_id, hits
__tiki_category_objects__: cat_object_id, category_id
__tiki_categorized_objects__: cat_object_id, object_type, object_id, description, created, name, href, hits
Notes:
''object_type is tikipage, blog, etc''
''description is somewhat similar to hint''
''name is similar to title''
''href is "/wiki/index.php?pge_id=7" etc''
__tiki_structures__: structure_id, root_structure_id, content_id, level, pos, page_alias, parent_id
-=New Structure Item Tables=-
__tiki_structure_item__ (primary key is structure_item_id):
structure_item_id, item_type, item_id, url, name, description, created_on, last_modified_on,
__tiki_structure_pos__ (primary_key is combination of tiki_structure_id and tiki_structure_item_id):
structure_id, structure_item_id, parent_id, pos
__tiki_structure_item_attrib__:
structure_item_id attrib_name attrib_value
Note: ''Unsure if needed or how to do: tiki_structures: level, tiki_categorized_objects: hits, tiki_nexus_menu_item: perm''
===Structure_item_id=== - integer used to specify each line/item in the structure. Equivalent to:
tiki_structures: structure_id, tiki_nexus_menu_items: item_id, tiki_blog_posts: post_id, tiki_categorized_objects: cat_object_id
===Structure_id=== - integer used to specify one structure. Equvalent to:
tiki_structures: root_structure_id, tiki_nexus_menu_items: menu_id, tiki_blog_posts: blog_id, tiki_categorized_objects: category_id
===Parent_id=== - integer specifying top level for multi-level menus & structures; Equivalent to:
tiki_structures: parent_id, tiki_nexus_menu_items: parent_id
===Pos=== - integer which specifies position of the menu relates to ALL other items (no matter what level, within same level highier position is displayed lower and parent_id must have position that is lower then any child). Equivalent to:
tiki_structures: pos, tiki_nexus_menu_items: po
===Item_type=== - Type of item object, describes what type of item_id this is. Can be:
content_id - Item_ID is Content_id
blog_id - Item_ID is Blog_id
structure_id - Item_ID = Structure_ID
URL - Item_Id is not used, instead URL specifies full URL
Equivalent to:
tiki_categorized_objects: object_type, tiki_nexus_menu_items: url_type
===Item_id=== - id of the content for this item, usually same as Content_ID. Equivalent to:
tiki_categorized_objects: object_id, tiki_nexus_menu_items: url, tiki_structures: content_id, tiki_blog_posts: content_id
Note: ''Possibly get rid of Item_type and replace Item_id in table with Content_ID''
===URL=== - when its non-standard or external object, it specifies full URL to redirect to, this is used when item_id is NULL. Equivalent to:
tiki_categorized_objects: href, tiki_nexus_menu_items: url
===Name=== - Short name that will appear when listing this structure instead of original page_name (if not present, original name from structure is to be used). Equivalent to:
tiki_categorized_objects: name, tiki_nexus_menu_items: title, tiki_structure: page_alias
===Description=== - Longer description that maybe used. Equivalent to:
tiki_categorized_objects: description, tiki_nexus_menu_items: hint
===Created_On=== - Date when this structure item was created. Equivalent to:
tiki_categorized_objects: created
===Last_Modified_On=== - Date when this structure item was last modified
===Attrib_name=== - name of the additional attribute (specific to certain structures). This can be: "trackback_to", "trackback_from"
===Attrib_value=== - arbitrary data value
-=New Structure & Structure Type Tables=-
__tiki_structure__ (primary key is structure_id):
structure_id, user_id, structure_name, structure_description, parent_id, created_on, last_modified_on
__tiki_structure_types__ (primary key is structure_type_id):
structure_type_id, structure_type_description, handler_class, handler_package, handler_file
Note: ''See tiki_content_types for reference as to how handler_class, handler_packages, handler_file would be used''
__tiki_structure_objects__ (primary key is structure_object_id):
structure_object_id, structure_id, structure_type_id
Note: ''There is one-one correspondence from structure_object_id and actual object_id (such as
blog_id or nexus_menu_id) that is using the structure. However not all objects that use this structure may have their own object table and since multiple of the same type of objects could be created that use the same strucuture, there is a need for unique structure_object_id. Additionally if structure_object_id was not there and for example nexus_menu was referring directly to structure_id, it would have created a problem when menu is deleted as then you have to specifically check if there are any other menus using the same structure before deleting from tiki_structure_objects table''
__tiki_blogs__ (replaces original, primary key is blog_id):
blog_id, structure_object_id, public, posts, max_posts, hits, activity, heading, use_find, use_title, add_data, add_poster, allow_comments
__tiki_nexus_menu__ (replaces original, primary key is menu_id):
menu_id, structure_object_id, plugin_guid, title, description, menu_type, editable
Note: ''title and descript can be removed from nexus_menus and tiki_structure title and description used intead, however for menus it might be good to be able to override it and there is nothing wrong with just having it be NULL be default''