Jump to content

Wordpress dominates 19% of the web


pwired
 Share

Recommended Posts

Interesting.... you two guys are the nicest and most helpful here!! But from what I see in your replies, both of you "seem" to almost think that the "current" state of documentation is "good enough". Some here also seem almost to champion the point of view that PW doesn't assume things and hence doesn't include many things. Well, Im here saying that these points of views are creating a real barrier of to entry to ProcessWire for "some of us". They are almost elitist responses.

I'd like to add a bit to the great material that has already been posted...

Journey From the "Big Three" to ProcessWire...

It might seem that ProcessWire is "elitist" because it doesn't assume anything.  But let me share my experiences with you, which have led me to the opposite conclusion.  I came to ProcessWire from the world of Joomla (and Drupal and WordPress), where all manner of web development building blocks are set up and built ready for you to use, to make your life easier.  In fact, you might say that in this way a system like Joomla is the most un-elitist system out there. It assumes you know nothing, and holds your hand through every part of building a web site.  For a couple of years, this was good for me.  Until one day, when I learned some JQuery and wanted to implement some new concepts, or when I read on Stack Overflow about some creative ways to make PHP do what I need, or wanted to create a unique layout for a client and needed to start from a blank slate, or wanted my user registrations to look unique, or wanted my articles to have 20 separate fields, or wanted a tagging system that looked and behaved in a particular way, or wanted to set up custom search functions for my site.  Suddenly, everything about Joomla's un-elitist approach felt stifling.  At every step, if I was not doing something the "Joomla way," it didn't work or was 10 extra steps to override something.  When I posted about this to the Joomla leaders, I was essentially told, "You don't do it that way in Joomla."  When I switched to ProcessWire, I realized that I was now free to implement any good coding ideas I discovered on my own, or discovered on Stack Overflow, or read about in various CSS, Javascript, and PHP realms.

Core Assumptions...

ProcessWire makes only two assumptions: first, that you have a good grasp of foundational building blocks of the web; second, that you explore the API.  On the first point, the assumptions ProcessWire makes are generally the same basic assumptions that would be made if you were developing sites in "pure" PHP/HTML/CSS/Javascript.  In other words, any knowledge you gain about these foundational building blocks can be immediately implemented in ProcessWire.  On the second point, yes, there are system-specific API elements you need to understand.  But they are designed to cleanly facilitate depth and creativity in those foundational building blocks.

ProcessWire Trusts Your Intelligence and Capabilities...

Put all this together and what do you have?  Well, you have a situation where you can create anything you want, because you can get at the foundations of systems that exist on the web.  For example, if you need a tagging system, you can learn what constitutes a tagging system.  What are the core principles of tagging?  Once you understand it, you can build it in ProcessWire.  Not only that, but you can build it your way, with no assumptions, freely.  If you come from a system like Joomla, Drupal, or WordPress, this means you may have to learn a few new ways to work.  But those ways of working -- again -- go directly to the basic building blocks of the web.  I know from experience that the un-elitist approach used by Joomla, Drupal, and WordPress seem to be nicer but actually turn out to be very harmful to your individual progress because they delay your exploration of these foundational building blocks.  With ProcessWire, because it trusts you to use those foundational building blocks, the knowledge you gain using ProcessWire is applicable beyond ProcessWire and helps you no matter how you create web applications.  Put another way, ProcessWire allows you to explore and build in the most un-elitist way possible.

With that Said...

After all this, there is of course some system-specific material to learn.  There is the ProcessWire API, which is unique to ProcessWire.  The system has been developed to get as close as possible to "pure" expression, and the syntax of ProcessWire's API calls have only what is needed to get at your data.  But yes, there is API syntax to learn here, and the list of specific calls is pretty long.  There are "best practices" for combining API elements.  There are general goals that we all need for our web applications (galleries, tagging, user registrations, forms, etc) and somewhere there is a good combination of ProcessWire API calls to make them happen.  What are those combinations?  Well, usually there is more than one, because it depends on what you want to do in your application.  The answer may not be pre-packaged, so you may have to hunt a bit.  But I definitely agree that it would be great to have documentation of various methods (combinations of ProcessWire API calls and "pure" PHP/CSS/JS) to accomplish various goals.  For that, we need what I would call "goal-oriented" documentation.  I am proud to say that I am working on this right now.  I have been working in silence.  But discussions like this make me want to get it out there sooner.

* * *

I hope this helps a bit.  Embrace the way ProcessWire allows you to work!

Thanks,

Matthew

  • Like 12
Link to comment
Share on other sites

I've had a play with quite a few content management systems and frameworks out there and have tried my hand at teaching what I learn and sharing my pain points with others. I can relate to feeling like everyone's seen the light and they're all speaking a language you don't understand, and that can be quite frustrating. I think we all learn in different ways and some of us are example based learners while others are principle based learners. I think the most important thing is to not give up. Keep searching, keep asking, keep trying.

It sounds like there's a wealth of tutorials being created by people with different learning styles and hopefully there'll be enough documentation to cover every type of learner out there :)

Time permitting I too will be squeezing out some tutorials soon.

  • Like 7
Link to comment
Share on other sites

The company behind WordPress is a very big supporter of open source and seems to be in it for the right reasons. I'm glad to have them powering a good chunk of the web rather than some product from Microsoft or Apple. I think WordPress has also paved a road for almost all other open source CMS products by building an audience that wasn't there before. WordPress (as a product) is fairly limited in what it really should be used for, but people push it as far as they can. Then if the need arises, they learn about and switch to other products that can do it better (like ProcessWire). WordPress market share seems to be good for the whole ecosystem (other than the persistent security issues). It's also opened many people to the idea of using open source rather than proprietary solutions... Microsoft and Apple (and so on) don't even want to touch the market because there is no money to be made in competing. So long as WordPress stays true to the original vision of being an entry level publishing tool, I think they will keep growing as a positive force. 

Shifting gears, but there was a question above about why there isn't a built-in tagging system in ProcessWire. You have to go beyond the term "tag" and consider what a tagging system actually is and what it does. It's a concept of relating one thing to other things. The reason ProcessWire doesn't have a tagging system is because it is a tagging system. Most know it as the Page field type in ProcessWire, which is one of the most important and fundamental types in ProcessWire. While the answer on how to use it as a literal tagging system can be found by looking in the admin side of the blog profile, I will write up some quick step-by-step instructions when I get the chance. But the primary difference between a tagging system and any other type of page reference is primarily just terminology, i.e. "tags" rather than "categories", etc. 

  • Like 6
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...