Jump to content
Peter Knight

Testament to PW

Recommended Posts

Here's a nice little PW story.

Working on a large-ish PW site at the moment. I'm not dealing directly with the business owner right now. Rather, my contact & client is a friend of the business owner. Having provided him with login details and a PW admin account, we agreed that the business owner should not yet be given login details.

We've a few months before training is supposed to begin and site needs a little back-end housekeeping. IE

  • fields need to be labelled correctly
  • templates named more sensibly etc.

I discovered recently that the business owner had prematurely been given login details and is already making content changes:)

This is so contrary to my client experiences with other CMS's that it's cheered me right up.

Normally, even after extensive training, clients can

  • choose the wrong templates
  • have problems uploading and adding images
  • generally have *some* issues adding content

This is not a fault of the client but rather a problem with the CMS thats built for technical end-users instead of content editors.

It just confirms to be completely why PW is the right CMS for this site. And BTW, the business owner isn't very tech-savvy and has never used a CMS before.

  • Like 16

Share this post

Link to post
Share on other sites

I have found that building sites with other cms's in the end it is often a case of trying to somehow remove all the other parts in the admin that are not needed.

With Processwire it is the total opposite. When building the website the parts that are needed are just naturally built up in development with no added clutter or unneeded features to confuse the client.

  • Like 7

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By ethanbeyer
      I recently posted in this topic, but I decided to start my own thread because while I believe my issue is related to the one in that thread, they are not exactly the same:
      I have created a custom User Template in the method outlined in the docs. I am creating a directory, so it made sense that every page in the directory was a Directory Member, so they could log in and edit their own information while also keeping the entire directory protected behind a login wall.
      So the new user type is created: "directory-member".
      I then created two new roles: "member" and "directory-admin":
      The "member" only has the ability to View directory-member pages, and "profile-edit", which allows them to manage their own information. The "directory-admin" has the ability to edit any directory-member pages, and administer users. Some Directory Members are both, but all have at least the "member" role.
      The first hint that something was wrong was when I was testing a "member" user and I could not add a new item to a repeater on that profile. The url for the profile edit (this will be important shortly) is site.dev/admin/profile. The repeater is set up to load new items through AJAX. If this option is turned off, the rest of this issue is no longer completely valid. But as I have found what I believe to be a pretty large issue in the Processwire codebase, I thought it worth bringing up.
      See, every page (even a user) has a $page->editUrl() method, and it returns a URL like this: site.dev/admin/access/users/edit/?id=2096. That's all good and fine for users that have page-edit permissions, but if they don't, that link will resolve to the admin's equivalent of a 404.
      So the way that Processwire currently gets around this is by creating a specific editing area for a user to interact with only their profile: /admin/profile. And that works pretty nicely, except for the fact that nowhere is editUrl() ever made aware of the difference. editUrl() is not hookable, and whether or not a page is editable is based on the PagePermissions module.
      On top of that, there are several core modules that hardcode a search-and-replace (see InputfieldRepeater.module:627) where the editing screen is for Users. This doesn't allow for a huge degree of flexibility that is offered in other places throughout Processwire. If line 627 of InputfieldRepeater is changed from this:
      $editorUrl = str_replace('/access/users/edit/', '/page/edit/', $editorUrl); to this:
      $editorUrl = str_replace('/access/users/edit/', '/profile/', $editorUrl); ...the AJAX repeaters work. It's maddening!
      As is brought up in the thread I attached above, a lot of the features of page editing are missing within /admin/profile/, and it just makes for an altogether strange editing experience. A user who has "page-edit" permissions for templates other than directory-member, but does have "profile-edit" permissions, will see their user in the Page List, but cannot edit their Page unless they hover over the wrench and click the "Profile" link. It just seems - off.
      I think what this hinges on for me is that the editUrl() of the user should be "/admin/profile/" if that user is logged in (and their page should be editable from the Page List), or the "/admin/access/users/edit/" url; regardless of the URL, both links should resolve to the Page Edit screen, as the Profile Edit screen seems to be a unnecessarily neutered version of Page Edit.
    • By alexcapes
      I'm using the excellent new front-end editing in PW 3.0.30 on a new project.
      I have a slick carousel that contains editable content. I'm able to edit the content in the slideshow fine but when I save, the page shows without the carousel initialized.
      Is it therefore possible to reinitialize something like slick after saving in front-end editing?
    • By julbr
      Hello Everyone!
      I have a page set up (Projects Page) on a site with a repeater field. Many items have been inserted in this page (projects). Suddenly the page can't be edited anymore, meaning, whenever i hit the "Save" button it will redirect me to the same page with no modifications, it's not possible to edit, delete or add any more items in any of the fields in the repeater on this specific page, all other pages are working normally.
      Help please!!!!
      Thank you!
    • By Peter Knight
      Gave my first client training yesterday on using ProcessWire. I've built approx 7 sites so far in PW but this was the first scenario where I was handing off to a client and training them in. It was interesting to see where the client had issues and where they had praise. 
      Their site had previously been running on a different CMS so they were familiar with the general workings but also had a lot of expectations on how the CMS would work. 
      Overall the feedback was extremely positive. Here's just a couple I recall
      They also loved the simplicity of the Add New button when I had mapped it to creating various pages etc
      In truth there was no 'negative' feedback as such. A few misunderstandings about the UI as follows
      1. There were some issues dragging images onto the image drop zone. It just wasn't clear where client should release the image. I think this area could be cleaned up a bit?
      2. When browsing the tree, the client would sometimes repeatedly click a page title instead of the 'edit' link to the right of the page title.
      3. When they clicked 'View' or the Home icon on the top menu (Reno Theme) the site would load in the same browser window and sometimes they would loose changes. Personally, I've always thought these 'View' links should open a new tab and have found them annoying.
      4. Found the new image crop UI confusing. I've gotten used to it but i'm not new to image management. Possibly the only time training came to a dead stop and we had to rewind a bit.
      That's it really. Will write a proper blog post about this soon with more detail. 
    • By GuruMeditation
      Hello all, I've come up with the following code to allow a user to update their profile information from the front end. It's part of some code that will allow them to edit other content too. I've decided to use URL Segments to help determine the page they are trying to edit, as well as their name etc.
      So this piece of code will basically allow them to update their Display Name. I just now need to add a piece of code to save the updated data back to the user profile fields etc.
      The code works as I would expect, and I know there will be more efficient ways of going about this, but this is easy for me to read as it is. So I'm basically here to ask whether or not this is an ok way to go about things? Is it secure? Can you see any major issues? Obviously I will add more profile fields etc, like e-mail, avatar pic, sex etc.
      I guess I'm just lacking a bit of confidence on the security front. I don't want users to have their profile info hacked from my sloppy coding etc
      <?php if($_POST['submit']) { echo "Form was submitted."; $new_display_name = $sanitizer->text($input->post->displayname); // The code to save the updated info for the profile will go here. } // Make sure the user has permission before showing the page to edit. if($user->hasPermission("edit_content")) { $edit_page = $input->urlSegment1; // The user is trying to edit their profile. if($edit_page == "profile") { if($user->name == $input->urlSegment2 or $user->isSuperuser()){ $user_display_name = $user->user_display_name; ?> <form action='./' method='post'> <div class="row"> <div class="large-12 columns"> <label>Display Name <input type="text" maxlength="26" name="displayname" value="<?php echo $user_display_name; ?>" /> </label> </div> </div> <div class="row"> <div class="large-12 columns"> <button type="submit" name="submit" value="Send">Update Profile</button> </div> </div> </form> <?php } else { echo "You cannot edit this profile."; } } elseif($edit_page == "link") { echo "You are editing the following link page: " . $input->urlSegment2; } } else { echo "You do not have permission to edit content."; } Thanks in advance.
  • Create New...