Jump to content

Processwire worth it for non-coders?


svsmailus

Recommended Posts

I was a little hesitant to reply at first because I am a newbie to Processwire, also coming from a Wordpress background. However, I thought on the other hand, perhaps my point of view (similar to your background @svsmailus) is exactly one of the points of view you might want to hear from, in addition to those from experienced users.

I would classify myself as mostly a non-coder, however from customizing minor stuff on WordPress over the years, I've managed just fine starting out in Processwire, so if that's you then you would be fine too. Learning-wise, I picked up what I needed to know as I went. I am still learning as I go. It all comes down to what you want to do with your site. I don't have the know-how to create a fancy site with lots of user input or advanced features like that, but on the other hand I needed something beyond a standard blog, with a totally custom layout and customized data fields; all of which I couldn't achieve on my own in WordPress. People have been helpful on the ProcessWire forum and usually I can find what I need by searching, and upon asking a question I got some really great answers, one of them with code shown that I could (and did) use and which proved super-helpful for my custom needs.

All that being said, it is a bit more of a learning curve in Processwire and yes you do need some basic PHP (although so far I haven't used much more than echo statements and if...then statements), and a few chunks of HTML and CSS.  I've never used the blog module for PW so I can't comment about that.

Instead I created my own theme files (I actually based them off the free responsive W3 CSS templates) and made a page template of basic-post which consists of a navbar, a header, the page content, and footer, so it's pretty simple. That could be a great place to start. To begin with I added in some custom fields like featured image, and a check box for if I wanted to display the image on the basic-post template (this allows me to toggle on/off the display of featured image at the top of the article, for example I like to toggle that off if the body of my article is already image-rich). I was able to add to my layout as needed and put my extra customizations and extra display fields in. 

Overall, from the beginner's point of view, as a beginner myself to ProcessWire, I wholeheartedly agree with what @Peter Knight said. The way he suggested is how I happened to do it myself and I can already see how powerful and un-bloated ProcessWire is (compared to Wordpress). It's also actually fun! I also agreed with what @louisstephens and what @adrian said (and many others too; those two just stood out) in that as a beginner you don't actually NEED a whole lot of PHP at all besides echo, if-then, and foreach. 

  • Like 14
Link to comment
Share on other sites

On 10/2/2017 at 6:31 PM, svsmailus said:

I've been involved in web design since 1995. However, I'm not a coder although I do know html/css and in the early days hand-coded sites. I then moved onto to Frontpage, then dreamweaver and finally created sites with Wordpress and also Rapidweaver. I know Wordpress extremely well, however, it is a headache. Updates, plugins and stopping hacks is becoming a drain on maintenance. So I'm looking to switch platforms and processwire was recommended. However, having installed a test site using MAMP, it seems the learning curve is pretty steep. As an example trying to set up the blog module ended with eveythings set up, but the blog displays as a blank page. It makes me realise that Processwire could easily become a time-sink that will require lots of time to try and do what you want to and there seem to be few tutorials that help you set up what you need.

Is Processwire a good fit for non-coders or would you suggest I look elsewhere before I invest too much time and get nowhere?

I've stuck with Wordpress for ten years and it has served me well, but Processwire failed for me at the first hurdle and that was in trying to set up a simple blog. If I have to spend days to set up a blog, gallery, insert videos, create rss feeds and create podcasts, I'd rather know now from experienced users that maybe I'm barking up the wrong tree.

many thanks

Simon

Your know your topic had me thinking, can a non-coder use Processwire and actually setup a lot of things on the go, I had to think deeply about this, because I'm highly technical and know my way around, but to be honest It would take some effort compared to WordPress (in terms of adding additional features),  I don't think you can *easily* do that with Processwire, and this is where 3rd Party Modules Developers come in, Modules have to developed with user in focus so that users can easily configure and tweak settings without needing to touch the code, which is always what WordPress has going, it's why users find WP a haven and not developers, Processwire has a developer-esque to it in some ways. I would because Processwire is a CMF which is why, the developer presence might feel strong but unlike other CMS (Bolt,Backbee CMS, ImpressPages , Silverstripe, Concrete 5 and October CMS) I would say this is the most friendliest you can feel comfortable with, a basic knowledge of PHP is all that is required. WordPress is just.................................. don't even want to talk about it, I am currently handling a WordPress project, and am this close to picking diving in front of a bus than working on the project :'( 

  • Like 2
Link to comment
Share on other sites

21 hours ago, Sephiroth said:

Your know your topic had me thinking, can a non-coder use Processwire and actually setup a lot of things on the go, I had to think deeply about this, because I'm highly technical and know my way around, but to be honest It would take some effort compared to WordPress (in terms of adding additional features),  I don't think you can *easily* do that with Processwire, and this is where 3rd Party Modules Developers come in, Modules have to developed with user in focus so that users can easily configure and tweak settings without needing to touch the code, which is always what WordPress has going, it's why users find WP a haven and not developers, Processwire has a developer-esque to it in some ways. I would because Processwire is a CMF which is why, the developer presence might feel strong but unlike other CMS (Bolt,Backbee CMS, ImpressPages , Silverstripe, Concrete 5 and October CMS) I would say this is the most friendliest you can feel comfortable with, a basic knowledge of PHP is all that is required. WordPress is just.................................. don't even want to talk about it, I am currently handling a WordPress project, and am this close to picking diving in front of a bus than working on the project :'( 

Thanks for the thoughtful response. 

I would be intrigued to know a comparison, that if two people started from zero knowledge, whether learning Processwire would be any more difficult than learning Wordpress? One of the things that has attracted me to Processwire is that the forum is full of people who actually enjoy using it! The last time I enjoyed creating a website was in 2005 where I hand coded the site. Although Wordpress is ubiquitous, I don't meet too many people who seem to enjoy developing on that platform and I certainly do not. In the end I find that if I want to do anything well, it requires an investment of time. I'm hoping my investment into PHP and Processwire will give me back the enjoyment I had of developing websites.

  • Like 5
Link to comment
Share on other sites

2 minutes ago, svsmailus said:

I'm hoping my investment into PHP and Processwire will give me back the enjoyment I had of developing websites.

I am sure it will! The challenge will be if someone asks you to work on a project with something else :)

  • Like 6
Link to comment
Share on other sites

2 minutes ago, svsmailus said:

I find that if I want to do anything well

I think it is generally true that one can only "perfect" a profession while enjoying it. How else? :) That is why there is no need to compare WP and PW. If you are committed to learning PHP based web development, look no further, you are in the right place to get started. Seriously.

  • Like 3
Link to comment
Share on other sites

On 10/10/2017 at 9:57 AM, svsmailus said:

Thanks for the thoughtful response. 

I would be intrigued to know a comparison, that if two people started from zero knowledge, whether learning Processwire would be any more difficult than learning Wordpress? One of the things that has attracted me to Processwire is that the forum is full of people who actually enjoy using it! The last time I enjoyed creating a website was in 2005 where I hand coded the site. Although Wordpress is ubiquitous, I don't meet too many people who seem to enjoy developing on that platform and I certainly do not. In the end I find that if I want to do anything well, it requires an investment of time. I'm hoping my investment into PHP and Processwire will give me back the enjoyment I had of developing websites.

Note: 100% Honesty no Bias

I would say it takes much more to develop in WordPress than in Processwire, I will backup my claim with code examples and also various scenarios, before I came into Processwire, I was developing WordPress and really with minimal code , you can do alot in Processwire. Let's look at this now

Scenario 1

Fetch Images for a specific Post

This is how to do this in WordPress

$thumb_ID = get_post_thumbnail_id( $post->ID );

if ( $images = get_posts(array(
		'post_parent' => $post->ID,
		'post_type' => 'attachment',
		'numberposts' => -1,
		'orderby'        => 'title',
		'order'           => 'ASC',
		'post_mime_type' => 'image',
		'exclude' => $thumb_ID,
		)))
	{
		foreach( $images as $image ) {

and this is the equivalent in Processwire

foreach($page->images as $image){

}

You see the concept in Processwire is that everything is a page, so when you are in a Page, you get the neccessary information required for that page, However WordPress has a "Post Concept" and images are tied to the Media Library which is why you have to supply a post to fetch images.

 

Scenario 2

List all Pages on the Site

Now imagine you are looking to create a list of all your pages, this is what you will do in WordPress

 <?php

    /*pass your search string here example like this ( 's'=>'test' ) */
   $args=array('s'=>'test','order'=> 'DESC', 'posts_per_page'=>get_option('posts_per_page'));

   $query=new WP_Query($args);

    if( $query->have_posts()): 

    while( $query->have_posts()): $query->the_post();

     {
     echo $post->post_title;
     echo $post->post_content;
     }

    endwhile; 
    else:
    endif;
  ?>

Now this is the same result in Processwire

$pagesList= $pages->get("/");
foreach($pagesList as $page){

}

Minimal PHP Knowledge and beautiful design, I can guarantee you within a week's practice you will be able to deliver something quicker, however some tasks might require additional time, but Processwire has been carefully designed to appeal to people, at a point I wasn't happy when it wasn't adopting Advanced concepts (FIG,PSR) but as I evolved i realized there's more to coding and that user adoption is important. Now let's forget the code let's look at Content management

Now you want to create Website and let's assume in your case, it's a website about selling Boats (sorry :) that's what to mind), Out of the box for WordPress, unless you are creating a custom type, you can't fit that logic into WordPress as it's built around Posts and taxonomy, so you have to create a custom type and this involves codes, or install a plugin, whereas in Processwire you simply create a Page which holds Boat informations and create fields to accept relevant information. 

image.thumb.png.35aa61202e5f0bd730000011be57f835.png

This is much more intuitive than WordPress, because in WordPress you might have to add it as a custom field which obviously involves coding again, or as usual checking to see if such a plugin exists, or the last option is to pray that someone builds a theme that involves selling of boats.

Image result for wordpress post backend custom field

Now this is the custom field in WordPress, however by default most of the custom fields in WordPress are Text input, during my previous experience creating a custom field other than text involves coding and obviously you know what comes next; installing a plugin again for another need.

WordPress takes a lot of time, money and also very nerve wrecking, updating WordPress or the plugin is like russian roulette to me, I have to backup, and pray for the best, It's moments like this that I become very religious. And if something breaks I either have to fix the issue or revert, and sometimes the reason you are updating is because of security issues, so it's either breaking the site or getting hacked. Which means additional money for consultancy and it gets messier from there. I've been there and done that and I simply decided to migrate to another platform as WP wasn't worth my sanity. Processwire is good and the modules built are easy to use and configure, my favourite is the DatabaseBackUp without thinking too much you can easily understand your way around.

image.thumb.png.f92b814b9d81144ca79fdce4ac3ab60f.png

 

In conclusion Processwire is good and easy to grasp, it might not be perfect and that's a good thing because it means there's room for improvement, and we are even lucky to have you around, as you can share how we can make Processwire more user centric and easy to use and also features can be created in modules to make PW a more robust system.

I will link @Joss article 

 

TLDR: Processwire is easy to learn.

  • Like 10
  • Thanks 1
Link to comment
Share on other sites

7 hours ago, svsmailus said:

I would be intrigued to know a comparison, that if two people started from zero knowledge, whether learning Processwire would be any more difficult than learning Wordpress?

I think that processwire is easier because I did exactly this comparison. Not with zero knowledge of programming, but zero knowledge of both CMSs. Tried with wordpress, got so fed up, switched to PW, made a site with everything I required in a month or so. I find the word 'easy' a bit misleading here. I found PW fitted in with my mindset a lot more than wordpress. The hierarchy, the realtionships between objects, everything makes more sense to me, therefore makes it easier understanding the API. I have no regrets at all about spending the last 15 or so months with PW I use it about once every two days.

Since about 2010, I used Umbraco CMS (liked this), Drupal 7 (did the job), Craft CMS (liked this), Wordpress (tore hair out), then Processwire (love it!).

Two things that stand out to me:

1) I can't give this forum and it's members enough credit for the help they have given. They are patient, very friendly, don't insult you when you ask beginner questions and you get replies so quickly. You can't even put a price on that IMHO.

2) My excitement and enthusiasm to web design has gone through the roof since starting PW because, at last, I have the confidence in being able to create whatever I want, with any design I want, using any framework (or no framework) I want. This is mainly because of (1) above.

...and @bernhard prefers making websites with processwire to flying a helicopter! Now that says how awesome it is ;)

  • Like 8
  • Haha 1
Link to comment
Share on other sites

9 minutes ago, Sephiroth said:

I mean a list of all pages on your site

Yeah, but it's a little bit trickier than what you have shown.

$pagesList= $pages->get("/");
foreach($pagesList as $page){

}

If you do this, $pagesList is just the Home page by itself - it isn't a PageArray you can loop over to get all the pages in your site.

For a full listing of pages you actually need to use a recursive function like Ryan's example here:

Just wanted to point this out in case a beginner actually tried to use your example.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, Robin S said:

Yeah, but it's a little bit trickier than what you have shown.


$pagesList= $pages->get("/");
foreach($pagesList as $page){

}

If you do this, $pagesList is just the Home page by itself - it isn't a PageArray you can loop over to get all the pages in your site.

For a full listing of pages you actually need to use a recursive function like Ryan's example here:

Just wanted to point this out in case a beginner actually tried to use your example.

Damn yeah $pages->get("/") fetches a page while the children method from it is the PageArray. thanks I will update

Link to comment
Share on other sites

22 hours ago, Sephiroth said:

Scenario 2

List all Pages on the Site

Now imagine you are looking to create a list of all your pages, this is what you will do in WordPress

robin, you are right. but his wordpress example is also a simplified "sitemap" only showing all pages on the site (if i understand this weird wordpress code correctly ;):D )

the equivalent in PW would be something like this:

foreach($pages->find('has_parent=1, has_parent!=2') as $p) {
    echo "<h1>{$p->title}</h1>";
    echo $p->body;
};

edit: this would mess up the sort, but i think the wordpress example is also not a proper real-life example so it should be a valid comparison...

Link to comment
Share on other sites

1 minute ago, bernhard said:

robin, you are right. but his wordpress example is also a simplified "sitemap" only showing all pages on the site (if i understand this weird wordpress code correctly ;):D )

the equivalent in PW would be something like this:


foreach($pages->find('has_parent=1, has_parent!=2') as $p) {
    echo "<h1>{$p->title}</h1>";
    echo $p->body;
};

edit: this would mess up the sort, but i think the wordpress example is also not a proper real-life example so it should be a valid comparison...

Not a sitemap, I meant all posts on a site, WordPress doesn't have the concept of Post having another post as a child compared to WordPress. But now that i think of it, I don't think i could write a sitemap in WP :D 

Link to comment
Share on other sites

The thing with processwire, if you are a none coder and coming from systems like modx, wordpress, drupal, etc. your familiar way of approaching things won't work anymore. You have to invest time to get rid of old habits. Nothing comes out of the box with processwire. But that is the great thing about it. No longer searching for "the" cms that has it all, but a way that let's you do it all - processwire. But one thing is true also, experienced coders have great advantage with processwire compared with none coders.

  • Like 3
Link to comment
Share on other sites

On 11/10/2017 at 3:17 PM, pwired said:

But one thing is true also, experienced coders have great advantage with processwire compared with none coders.

I think this could be said of any CMS really. I have found though that the barrier to entry with PW is low, and the learning curve is steady. It's not like you get to a point then get totally stuck like I've experienced in the past.

I've found knowledge of one thing leads nicely to the next. This is what keeps me interested :) just keep dangling that carrot.

  • Like 5
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
  • Recently Browsing   0 members

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