Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/20/2018 in all areas

  1. Get rid of the confirm password field and use an unmasking button instead Many articles like http://uxmovement.com/forms/why-the-confirm-password-field-must-die and recent user studies show, that there are UX problems with a confirm password field. Also there are comments who disagree with this behaviour. An example of a good password field UX is the signup form of MailChimp https://login.mailchimp.com/signup/ Luke Wroblewski from Google also described the problems with masked password fields, especially for mobile users: https://www.lukew.com/ff/entry.asp?1653 Why would the enhancement be useful to users? A confirm password field does not really add verification that you typed your password correctly. Users tend to make the same typing errors again, if they repeat their password. It would be better to use a show/hide password button, so a user can see the password he typed. This would remove friction and frustration. Luke even wrote, that he displays people’s passwords by default in the Polar app. I did not implement this at the time, but think it is a smart move. Maybe I implement it as an option. Fully functional module is ready Right now I have a working InputfieldPassword to use with AdminThemeUikit. Here is a video of the new Inputfield in action: https://youtu.be/PEWp89TOUsU It would be nice if you vote for this feature request on github if you think it is useful. You can download the module here. InputfieldPassword.zip
    4 points
  2. Nicely timed question— this is actually already in 3.0.107, and I've just been testing it locally this morning. If there are any pages in the trash that a user had edit permission to, then they can see the trash, and see those pages in the trash. The trash and restore actions also are now supported for non-superusers. They can't see pages in the trash that they don't have page-edit/page-delete permission, only superuser can see those.
    4 points
  3. A few usability tweaks and tips for the CKEditor "Styles" dropdown, which is by default not that user-friendly: As you can see it's small and if you add custom items to it they may look awkward as they may inherit styles from their targets (a 3rem bottom margin in the screenshot above). These are relatively easy to fix but you have to load your custom CSS files to two places (eg. with AdminOnSteroids): PW admin and CKEditor. After loading the CSS/Js assets (see code below) the dropdown looks nicer and more usable: The screencap contains other features that you can achieve with the snippets below. Code CSS - CKEditor (contains demo styles too) CSS - admin JavaScript - CKEditor custom styles P.s. in case you wonder whether the half-margin, no-margin stuff and font-sizes from 12px to 48px were real-life examples - yes, client request ?
    2 points
  4. The outcome of the vote is indeed quite bad, but misinformation is not good as well. The EU is not cencoring anything on its own – especially not on your own website. They voted for a law, which requires content hosting platforms like e.g. youtube, tumblr or twitter to make sure the user-content they host is not violating copy right laws or they're essentially complicit in the copyright fraud. The person using (a.k.a. uploading or sharing) content in an unlawful way is already committing a crime even without that article 13. So that meme on your website was either already unlawfully used or it's still ok. The problem is on the side of content hosting platforms which will need to keep and maybe even extend their already shitty (automatic) copyright detection mechanisms, making it unnecessarily harder for all people hosting content on their platforms – needless to say that most are probably not breaking copyrights in the process. Also I'm not really sure how they expect to handle all the grey areas of content, which is neither obviously licensed nor obviously unlicensed and therefore unusable. There are also laws which allow usage of copyrighted content if it's already published and the usage is just for citations – or there's satire. I'm not sure how they expect automated systems are ever support such nuances.
    2 points
  5. I think you're coming across the fact that on the command line outputformatting is always off so image fields always return an array regardless of the config settings.
    1 point
  6. @bernhard Using "droplets" seems to be very ugly and may lead into loosing control and render your PS unusable. If you really want to use PS on the serverside, you should use one of the PS scripting interfaces, depending on your platform: apple-script or VB-script, or you go with *.JSX. Oh wait, now after thinking of it a minute more, I think it isn't doable at all, as you ever only can run ONE instance of PS, not multiple. How do you want to handle multiple parallel requests? Waiting Queue? Also, if you opt for server side, I think this can be done with imagick or other CLI image libraries much faster.
    1 point
  7. Problem already solved in another thread.
    1 point
  8. I would honestly tackle this using server-side JavaScript canvas. I can help you with that if you want?
    1 point
  9. Half joking: the beauty of lawmaking is in that you don't ever have to worry about any of that inconvenient real world stuff. Those abiding by said laws are the ones who have to figure out how to make them work – or not, and risk being penalized ? On a more serious note: automation can't handle all cases, so what this will likely mean is more false positives, more manual work, and more severe consequences when something is reported by real users. From my point of view that won't be a major (or breaking, as some have claimed) change for the entire Internet, but perhaps I'm just not able to see the Big Picture yet. This is awfully optimistic and very much out of character for me, but.. let's just wait and see how this works out. Then again, at this point that's pretty much all we can do ?
    1 point
  10. Yes. For version 3.0.106 this would be $ wireshell upgrade --sha 643c9d3a87ddd8d579c4879c2382a9170466344b
    1 point
  11. You want to trigger GIMP/Photoshop server-side? That might get out of control. ?
    1 point
  12. Hey, What happens if you go to the field and go to actions then Check field data? Thanks,
    1 point
  13. Clean cache and sessions and then it is as simple as 1 2 3 1) move over site folder 2) import database 3) adapt config file
    1 point
  14. +1 for Duplicator. It has saved me so much time deploying projects.
    1 point
  15. Or use Duplicator which is even easier imho.
    1 point
  16. The easiest way for you to migrate your site will probably be using an export of your site - a so called site profile. Please install the module Site Profile Exporter and and create a new export. Afterwards you can install your exported site on your new host. Just upload ProcessWire, your site profile and install it as usual.
    1 point
  17. Here's some news about Google going to change it's green padlock indicator for https connections. Around the month September Google is going to change it's https secure indicator. Instead of a green padlock for a secure https, in september it will phase out to a grey padlock and in october to no padlock at all. From then on Google will show a warning in red color: "Not secure" when entering data on a none https page. You can read more about it on google's Blog: https://blog.chromium.org/2018/05/evolving-chromes-security-indicators.html ----------------------------------------------------------------------------- keep coding and Happy week-end, ?
    1 point
  18. There are a number of problems here I think. $this->pages->addHookBefore('Inputfield::render', function($event) { You only use $this->pages to add a hook if you are hooking a method of the Pages class. You are hooking a method of the Inputfield class, so you want... $wire->addHookBefore('Inputfield::render', function($event) { Also, you don't need to hook every inputfield render. You are only interested in Checkbox inputfields so just hook the render method of that inputfield class. $wire->addHookBefore('InputfieldCheckbox::render', function($event) { $page = $event->arguments(0); Inputfield::render() and InputfieldCheckbox::render() take no arguments, so $page is not the first argument and you cannot get $page this way. $field = $event->object; The event object is an Inputfield object and not a Field object. It doesn't really matter what you name your variables, but to keep things clear in your head it might help to change this to: $inputfield = $event->object; if('createevents' === $field->name ){ <opinion>Yoda conditions make code less readable and more prone to misinterpretation. The disadvantages outweigh the benefits.</opinion> I would tend to write this hook as: $wire->addHookBefore('InputfieldCheckbox::render', function(HookEvent $event) { if($this->process != 'ProcessPageEdit') return; $page = $this->process->getPage();; $inputfield = $event->object; if(in_array($page->template->name, array('event_businessvacations', 'event_specialbusinesshours', 'event_dates', 'event_events'))) { if($inputfield->name === 'createevents' && !count($page->children)) { $inputfield->attr('disabled' , 'disabled'); } } }); Another tip is that when identifying an inputfield by name, it can be better to check the name of the associated field rather than the inputfield. This is because when an inputfield is inside a repeater its name includes a repeater suffix. Checking the associated field name works in all situations so I prefer that. if($inputfield->hasField == 'createevents' //... Note also the change to the == comparison operator. Not every inputfield has an associated field, so you couldn't be sure that hasField returns an object with the name property if you did: $inputfield->hasField->name === 'createevents' //...
    1 point
  19. Okay, landed up using a custom style set, and realised that one needs to actually click on the "ul" tag in the status bar in order to correctly select the list and apply the style.
    1 point
  20. Small bugfix pushed for a problem with the default marker URLs. Master branch (not namespaced) now at v2.8.1 and PW3 branch (namespaced) now at v3.0.1.
    1 point
  21. I just had a duh! moment and thought I should share as it may be useful to others, especially PW beginners. I know a lot of you will go "yeah well duh...." and yeah, well I feel like a bit of an idiot but anyways.... I had a page outputting a table detailing data from about 200 records (PW pages). For each record it searched for child pages of a certain template, probably averaging 3 child pages per record and added some data from those pages to each row of the table. Simple stuff. The page was averaging about 12 seconds to load. Anyway, today I got frustrated enough to try to work out why it was so slow. Turns out I realised that the child pages I was searching for were all direct children, so I changed my search method from $pages->get(....)->find(.....) to $pages->get(.....)->children(.....) and blow me down the page load has gone from 12 seconds to a tad over 1 second. Turns out each child page had many child pages of their own (thousand of pages in total) and all these were being searched with the find() method. Stupid mistake, but I think right from the beginning of my learning of PW the find() method was ingrained. So hopefully this helps some newbies and others like me. Check out http://cheatsheet.processwire.com/page/built-in-methods-reference/page-find-selector/ and http://cheatsheet.processwire.com/page/built-in-methods-reference/page-children-selector/ for more info on these methods and others.
    1 point
  22. Hi, This morning the EU parlement has passed Article 13 with 10 votes against and 15 in favor. Have any memes on your website ? From now on the EU will censor them away. And this is only one example. You can fresh up about Article 13 here: https://www.eff.org/deeplinks/2018/06/internet-luminaries-ring-alarm-eu-copyright-filtering-proposal
    0 points
×
×
  • Create New...