WordPress.org

Ready to get started?Download WordPress

Forums

Core Re-design Fundamentals (3 posts)

  1. cuban_cigar
    Member
    Posted 4 years ago #

    Utility of wordpress can be achieved by moving away from designations such as tag, category, post and page.

    Every thing can be an "object" which in effect can serve the purpose of a category or tag or post.

      # by mean of using the wp_posts table for everything, but with the addition of two columns. one for the object's parents, and one for it's children.

      # this would effectively remove wp_terms and wp_term_taxonomy from the picture, instead directly using parent / child columns.

    An object could be the category of another post, and could itself have several categories.

    The key is being able to express various attributes of these objects:

    Examples:

    url path: for each object, you may choose weather or not to show the hierarchy, and if so, which parent category of the object to use when displaying the path. or show the post date instead.

    It can be controlled via a check box and the edit button can be modified to update the guid.

      # path currently generated and placed in the guid field when "edit" is pressed

    use guid to draw content,: no need to poll mysql half a dozen times

      # this would solve the problem where wordpress must dip the database many times to determine what page it needs with the url presented.

    content: All objects would have a post_content field. with any object, you may call "the_content" or "the_excerpt"

    Conclusion

    One unified table to handle everything, could be able to solve a few issues in current content extraction which might be producing necessary overhead. Even if not, the proposed functional changes would transform wordpress into the ultimate CMS

    pulling content using the guid should reduce the number of database calls dramatically, instead of the current method which might do 8-12 to find out what page it is on

    in the database, you can see that a page and post use the very same table, only separated by there designation. likewise tags and categories are the same. If the distinctions are essentially philosophical why not just open it all up for flexibility sake

    Great job making wordpress by the way, its the best

  2. So, you want to take WordPress away from a relational database model and move to a hierarchical database model?

    Having worked with a billing system built on a hierarchical database for a few years, I can guarantee to you that a hierarchical database will seem faster and slimmer than a relational database at first, but the size of the database will increase exponentially and performance will fall dramatically.

    The size will increase due to the duplication of content that must now be stored within each entity, rather than related to another table. Though the amount of queries will certainly be less, the performance hit will come from the amount of data that the queries will have to process as they sift through all of the entities, finding and organizing data that would have already been related under a relational model.

  3. cuban_cigar
    Member
    Posted 4 years ago #

    can have aspects of hierarchical and designational if entries have a common identifier, and also keys that set them into partitions for peed of access, as well as url paths set in the gui at save

    perhaps giving each object a designation by means of adding an type field, such as "tag", or "post" would help with that, due to the mysql select syntax

    select object_content from wp_object where object_type='post'

    for posts

    and

    such as select object name from wp_object where object_type='tag'

    for tags

    this would virtually partition the objects from each other, as mysql would only search for values that are marked as that kind of object, leaving out the rest from the pull

    not sure though, would have to test it

    also the db could be split up into multiple tables, each containing the autogenerated ID field as a common reference key for mysql select purposes for faster dipping maybe, dunno

Topic Closed

This topic has been closed to new replies.

About this Topic

Tags

No tags yet.