• Hello, I attended the WordCamp today in Raleigh NC with only a simple goal in mind. Which was to acquire a UML of the current working version of WordPress. I read a post that WordPress core was not exactly OOP which is why there is not a UML. This is a fail answer. Fortunately not by an admin or core developer, but a mere user. It is possible to draw a relation to the files that are being used and when, whether it is OOP or not! The closest to a model of such I’ve seen was the database, which is helpful //codex.wordpress.org/File:WP_27_dbsERD.png#file But still does not depict how the parent php documents are mapped. All I see is a bunch of people that can reuse code with little understanding of the scope. Before I embark on any endeavor in learning a system there are a few things I look for. Proper documentation, and a model. WordPress, as successful as it is, does not have a model and I hear excuses that its because it is fluent. I believe in fluency but I also believe in models to go with it. Is there such a resource for the FILE initialization structure and transcending interactions? And if not, can one be made? And please doe not respond if you have another excuse why one is not made… Im not looking for drama, only answers

Viewing 3 replies - 1 through 3 (of 3 total)
  • Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Advisor and Activist

    By UML, I’m assuming you mean Unified Modeling Language (and not my first though of Uni. Mass Lowel or User-Mode Linux). And for OOP you probably mean ‘Object-oriented programming’.

    Now that THAT is out of the way (for the next person who comes here and goes WTFOMGBBQ!?), let’s hit your question.

    What is your question actually?

    Is there such a resource for the FILE initialization structure and transcending interactions? And if not, can one be made?

    Okay, you are aware you linked to the DATABASE utilization schematic? Right?

    Let’s put this in plain English, since a great many people here may be developers, but don’t want to speak that kind of geek 🙂 Are you looking for ‘What PHP files in the WP base code do what?’ or ‘What template files in a theme do what?’ or ‘How do the PHp files and database tie together?’

    Why what you’re looking for doesn’t exist is probably just this simple: No one’s had the desire to do it yet. Which means the answer to your second question is … yes. You can make a UML for just about anything, and if you want to, have at 🙂

    I’d start looking here: http://codex.wordpress.org/Developer_Documentation

    See if that has some of what you’re looking for.

    Thread Starter jwinslow

    (@jwinslow)

    Ipstenu thank you for responding. I had reviewed the documentation last week which was most helpful in understand what files were necessary. I didn’t find much about what relation the files had to each other.

    I have begun developing a UML starting with the top structures of an average template. Neither my first in my experience at NCSU. In fact it was very standard as you most likely know, that developers should have a relationship model of SOME sort in the development process. I am trying hard also to involve the database calls and relations to the core code being called, the actions and when.

    There really aught to be a UML project for new comer developers. I can imagine if you’ve been working with WP for years on end for a living that SOME developers may not require one, however I think it would be a useful tool for yet many developers and new comers.

    In further explanation about the OO concept, each file is an object itself. It may be a base structure for another file later on another file calls in all the high level files. Therefore UML does apply. Every component in WordPress is an Object. The header is an object. The navigation is an object. The Search is an object. The side_nav is an object. Everything that is defined by a CSS rule is an object. All of what I am saying validates a purpose for a UML.

    This piece is up for debate, but the concept now is that everything in programming is an OO (object-oriented) design. Though the programming may not necessarily be OOP (object-oriented-programming). Understandably PHP is a C and Perl combination or sorts which are not OOP languages. But in web development PHP is a foundation of an object used, either as a visual component or a file with a processing job that can be named i.e “functions.php” is an object.

    It may take a week or so to complete the UML I have begun. I will post it up here and let the community rip away at it, whatever it takes.

    While at the Wordcamp conference, I had spoken to Aaron Brazell whom is the author of The Word Press Bible in regards to developing or discovering a UML model. He had partially described such a model in his presentation on “wp_content and Beyond”. It was a topic that seemed on the tip of all the presenters tongues during their presentations but for some reason was never rectified or fully elaborated on.

    Thread Starter jwinslow

    (@jwinslow)

    I practice what I complain about.. I have created a short version UML, or rather the beginnings of a UML for a simple template that I found. Since I am not a wizard with WP yet I was unable to discover all the relationships the files have and in what instance each would be called in.

    WP_UML.png

    Trying to reverse engineer what the structures are. If anyone has some spare time perhaps you can help me associate the relationships of the files. The image file is a .png you should be able to edit the individual images and add to the schema. Any help is appreciated.

    This would be a good start on the front end in combination with the database UML WordPress DB UML making it MUCH more simpler for a new comer to visualize relationships instead of reading and spending hours on top of hours guessing and taking up database space on the forum. A simple check and you should be able to see exactly where and what went wrong if your template fails to work, or even adding functionality to the core itself.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘UML’ is closed to new replies.