Leaderboard
Popular Content
Showing content with the highest reputation on 06/21/2018 in all areas
-
https://www.baumrock.com/portfolio/hrdiamonds-360-feedback-tool/ This tool was developed for the vienna based HR company hrdiamonds.com. They can create projects for their clients, setup the feedback architecture, choose from a library of competences and create their very own surveys and provide highly customized services for their clients. Highlights: Everything multilingual (EN/DE) PDF reports with custom designs, table of contents, page numbers, importable custom pdfs (annex, written in MS Word, so they have perfect freedom and ease of use) and of course: pretty charts (done by chart.js): Scalable and nice UI by RockGrid+batcher in several custom process modules: Automatic multilingual e-mails with several variables: Another example of RockGrid: Customizable groupings of feedback-roles (there have to be at least 3 feedbacks per role so they need to have the possibility of aggregating different feedbacks-roles). This project was online for some time already but I ported it from RockDatatables to RockGrid which I plan to release in the next days. If anybody is interested in using/reselling this tool feel free to contact me via PM ?7 points
-
A small news about Duplicator and why its not updated recently: On the current state of the module, it is usable for small website, I mean small database (I am aware of the issue which include the parent directory in the compressed package which make the package non deployable by the installer). As stated by Ryan itself, If you are working with really large files, it may be better to perform that task directly in PhpMyAdmin or the native MySQL client. And as I am working now with giga-sized databases, its the time to rewrite this module. So what is planned ? Duplicator will be made on top of PHPBU in the hope to provide to the community a professional focused backup service for your websites. More information : Future requirement: PHP 7.x.x The official repo : https://github.com/sebastianfeldmann/phpbu Any suggestion welcome. Have a nice day ! ✌️6 points
-
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.zip5 points
-
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 ?4 points
-
A small thing in your Js: it would be better to check the "type" of the input instead the icon. So instead of this: var passwordField = $this.next('.FieldtypePassword')[0]; if ($icon.hasClass('fa-eye-slash')) { passwordField.setAttribute('type','text') $icon.removeClass('fa-eye-slash'); } else { passwordField.setAttribute('type','password') $icon.addClass('fa-eye-slash'); } something like this (untested): var $passwordField = $this.next('.FieldtypePassword'); if ($passwordField.attr('type') === 'password') { $passwordField.attr('type', 'text'); $icon.removeClass('fa-eye-slash'); } else { $passwordField.attr('type', 'password'); $icon.addClass('fa-eye-slash'); } I also rewrote the passwordField to a jQuery object if that's what is used in the entire file.4 points
-
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
-
@tpr Thanks for your suggestion. Yeah I was using a mixup of jQuery and vanilla JS, as my script was vanilla before as I used it outside of the admin. I needed to change your code a lil bit, because the type is a property and not an attribute. The new updated version is attached to my first post now.2 points
-
My company developed a website where we sell greeting cards and gift products that our customers can customize and apply their own designs to. The designs can then be previewed in interactive 3D. We use a software package called Taopix 3D Designer for this. Taopix are using three.js to render the preview, so you may want to look into that javascript library as well.2 points
-
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.2 points
-
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 ?2 points
-
I am glad that this project is helping ProcessWire getting more devs on board :). I just want to say that I wouldn't have been able to finish ProcessVue if it wasn't for the amazing ProcessWire community. I believe that the community truly is the biggest selling point for new users (like me). Before trying ProcessWire I used OctoberCMS for a while but when I was stuck I got 0 support from the forums, so...althought the CMS is based on the amazing Laravel framework, I just left! I think that ProcessWire is extremely powerful and flexible and with time will become the tool of choice for frontend developers, the new GraphQL module will also help on this direction. Droves of frontend developers are looking for a CMS like this, they just don't know it exists! The usual keywords they use when looking for a SPAs CMS is "Decoupled CMS" or "Headless CMS", and I believe that that's exactly what ProcessWire is for! Some frontend developers prefer to use NodeJS, but the learning curve is huge if you need it for a non trivial project, and the worst thing of all is that after two weeks ANY js tool you may have used is outdated. See for example how Angular has been replaced with React or Vue, and Gulp with Webpack. That doesn't mean that I am against improvements in this regard, I just feel that it's just too much for us poor frontend devs to cope with! ProcessWire is stable, easy to use and won't change API every week. BTW, after that I migrate ProcessVue to GraphQL I am also planning to add Auth0 login integration with JWT, as I think that login/signup is a common feature in SPAs. I am sure I'll have to annoy @Nurguly Ashyrov and the rest of ProcessWire community for getting it in sync with ProcessWire users, but the result should be quite useful2 points
-
I thought about the possible issue with .attr vs .prop, I should have checked the code first. Funnily in vanilla js it's getAttribute and not getProperty ?1 point
-
@ridgedale I think the "} else {" wouldn't work in this instance as it's just a hook. However, you can hook all the actions you want to prevent. wire()->addHookBefore("Pages::saveReady", function($event) { if(wire("user")->hasRole('demo-user')) { $this->error("Sorry. You do not have permission to edit pages."); return false; } } wire()->addHookBefore("Pages::moved", function($event) { if(wire("user")->hasRole('demo-user')) { $this->error("Sorry. You do not have permission to move pages."); return false; } } wire()->addHookBefore("Pages::sorted", function($event) { if(wire("user")->hasRole('demo-user')) { $this->error("Sorry. You do not have permission to sort pages."); return false; } } wire()->addHookBefore("Pages::trashed", function($event) { if(wire("user")->hasRole('demo-user')) { $this->error("Sorry. You do not have permission to delete pages."); return false; } } If I recall Pages::saveReady get's called in all of these as they all require saving new information to the page. For example Trashed is just a status on the page. So you may only need Pages::saveReady but it's worth checking because I don't know for sure.1 point
-
Hi @ridgedale ProcessWire can do anything! Like, I'm serious. When people call it more of a framework, they are right. There are no limitations here. So you want to be able to have someone have the ability to look around the interface without submitting anything? Easily done using hooks. wire()->addHookBefore("Pages::saveReady", function($event) { if(wire("user")->hasRole('YOUR-ROLE')) { $this->error("Sorry, you do not have permission to edit."); return false; } } I haven't tested this, but I think it will work how you want. Replace 'YOUR-ROLE' with a created role. You can add this by creating a 'ready.php' in your /site/ folder.1 point
-
Hi Adrian, you are absolutely right! As soon as I switch output formatting off, the results are identically. Thanks for the fast clarification ?1 point
-
OMG I finally find it! ? A little bit not user-friendly, unfortunately. So after activating this configurable settings page, I finally discovered under "settings" a "Batch child editor setting". After going back to my BCE tab, the page selector is now there. Strangely when I removed this specific page from configurable pages (just for testing), the settings section disappear, however the page selector/fields to export are still sticking to my export CSV in BCE tab. Thanks for your patience!1 point
-
thx @horst, I think my explanation was not the best ? I don't want to use Photoshop - I just mentioned photoshop to explain what I am trying to do and asked for the best solution for what I already know can be done by hand with photoshop. Do you understand? The imagemagick link I posted above looks quite promising - though I have no idea how hard that would be in real life. The plan is to have a product image on the server, let the website visitor upload his logo/design, place this file on the background image, transform it and place it properly, maybe place an overlay above with some shadow or other effect (just dreaming) and save the final image and output it as preview to the website visitor.1 point
-
Thanks for the clarification, now I know that I haven't overseen something. ? But wouldn't it be better to have an alias for the lates-dev version, something like: $ wireshell upgrade --latestdev Otherwise I have to look up every time, (sometimes multiple times a week), for the latest dev sha-key and copy paste it into my CLI. For example: As you can see, only one hour later than your post, the sha key to the latest dev has changed to: 637f81579e121af8ab4c4a12e21227b36ae0cd8a1 point
-
Yes. For version 3.0.106 this would be $ wireshell upgrade --sha 643c9d3a87ddd8d579c4879c2382a9170466344b1 point
-
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.1 point
-
@pwFoo, if your page/template/file exists only to give some AJAX response then another approach you could consider is to hook ProcessPageView::pageNotFound. Then you don't need the page/template/file. In /site/init.php: $wire->addHookBefore('ProcessPageView::pageNotFound', function(HookEvent $event) { $url = $event->arguments(1); if($url === '/your-special-url/') { $event->replace = true; $event->return = 'your response'; } });1 point
-
- You can organize your images the way you want and not necessarily per page / repeater-item. For example using Media Library. - You can access the same image from different pages. No need to upload it several times. This can be done in CKEditor, but there was no single field type for this. One example is a repeater for an image-carousel. You can now put all the images in a Media Page called e.g. "Carousel" and then just pick them up in the repeater's ImagePicker. - You can also fill in an external Image URL and you will see a preview in the backend. - You can have an overview of all images in all pages of your site. (Not in Repeaters and Pagetables though) - Website admins can give backend users (editors) a predefined set of images for a certain field which they can choose from by defining selectors. - Picking up images is fast with ImagePicker. Thank you.1 point
-
I have edited the github repository, now ProcessVue is a site profile and you can install it easily. Just note that the REST API may have bugs...I don't even remember how it works1 point
-
Actually PHP is what the comments system uses for sending email. And it doesn't get any simpler: <?php mail("you@company.com", "Subject", "E-Mail Body"); If you want to send HTML: <?php mail("you@company.com", "Subject", "HTML Content", "Content-Type: text/html"); If you want to include a specific FROM address: <?php mail("you@company.com", "Subject", "HTML Content", "From: bob@company.com"); If you want to do both: <?php mail("you@company.com", "Subject", "E-Mail Body", "From: bob@company.com\nContent-Type: text/html");1 point