Site icon Hip-Hop Website Design and Development

Need to know if my approach to designing a geneaology plug-in for wordpress makes sense

I have a large family tree that I would like to manage in (of all things) WordPress. The reason for this is that I attach stories and imagery and articles to each person in the tree. So really what I am creating is a website full of content that happens to be backed by a family tree to let you navigate between the people.

My design includes creating one post per person. Each post can bring in related articles, memories, images, and videos that are connected to that person. On each Person post they will also have all their metadata – birthdate, location, gender, etc. However, on each person’s page they also need to list their parents, siblings, partners, children, etc. And this is where it gets sticky.

I would like to create a plug-in that creates a bridge (many-to-many) table of relationships between the People in the database. Remember, each Person is a single Post. So for example, I would have a post, and my mother would have a post. I would like to have a bridge table where i could store that relationship. My mother and I have a parent-child relationship such that on her page my Post shows up in her Children section and her post shows up in my Parents section.

WordPress is backed by a relational database so it seems pretty straightforward to me to design this plugin such that it creates the additional table, and then let’s me on each post create the relationships. But everyone I talk to tells me this is a terrible idea and I cannot figure out why. Some developers have tried to get me to create a top to bottom app that does all this without WP, but that makes no sense to me as WP already does 95% of what I want this site to do. Others have said instead of creating another table in mySQL I should store these relationships in a Graph Database on AWS or something and call out to that. I get that a graph database may be technically more appropriate for these types of relationships, but I don’t see why a many-to-many table in mySQL won’t do the trick even if not quite as elegantly. The tree only has 2000 people in it, and even if it got to 5000 some day i’m not worried about it not performing.

So some specific questions:

  1. Even if it’s not the perfect perfect way to do it, what is fundamentally wrong with my approach?
  2. Any thoughts on reliable plug-in developers that would do a good job creating this plug-in for me?

Thanks for any assistance you could offer. This is my first post here.