Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 08/02/2018 in all areas

  1. Thank you - I have committed that change and updated the module's directory.
    3 points
  2. Interesting, I use it very rarely. I remember using it only once when I copied many badly formatted articles with random title cases, and it was a great help. I've modified this feature so it works now on text(language) fields and file/image description fields as well, even after uploading new items. Plus it works with ajax loaded fields and repeaters too. It's also new that on case change an input change is also triggered so you'll get a confirmation alert to save on leaving the page. I've also fixed some positioning issues, eg with expanded language tabs. I'll upload the new version tomorrow if everything goes well.
    3 points
  3. As you know (because you have been kindly testing it via PM), the new version now has an extra Submit button just below the customPHP code field to make it easier to quickly save and test multiple iterations of the code.
    2 points
  4. @bernhard On the "ProcessWire Info and Links" panel. ...then look near the top of the panel for the version list... ...hit the copy button and then paste as part of any issue you raise on the Processwire-Issues repo.
    2 points
  5. I've been using phpstorm since November last year solely on processwire projects. The issues I have are not related to processwire but the phpstorm interface in general. I also have used vscode and other code editors with processwire projects. To be honest, I don't think phpstorm is worth the price. It is far too annoying for the benefit of intellisense than vscode, for example.
    2 points
  6. Glad you figured it out! You can edit your first post, and it will give you the option to edit the title as well. Normally, people just add [SOLVED] to the beginning of the title.
    2 points
  7. DEPRECATED - USE ROCKMIGRATIONS INSTEAD I'm very happy to share my newest module called "ProcessWire Kickstart" that I developed during the holidays Maybe some of you already saw the preview thread about this... What it does: This module makes it possible to install ProcessWire in a fully automated process. You can define all necessary settings in one single php file and you can even define "recipes" that get executed after installation. This means you can install modules, adopt settings and do whatever you want with your new site using the PW API (like creating pages and so on). You could also place a kind of frontend boilerplate on your git account and grab that after installation and place it in your templates folder. I ran out of time so maybe someone could try that out and show how he did it Additional to that there is a ProcessModule to install in your ProcessWire admin which makes creating and testing recipes super easy. Note: Alpha realese until this module gets some more testing. Please be careful with this tool since it does some heavy file system manipulations (unzipping, moving and DELETING whole directories...). Use at your own risk. Usage: Just grab a copy of the kickstarter, place it on your server, visit yournewsite.com/kickstart.php, adjust settings (like username+password) as needed and hit "install". If your mysql user does not have the rights to create a new database then you have to create a database before running the installer! Download: via SSH: cd /var/www/yournewsitedirectory wget baumrock.com/kickstart.php // or using curl curl baumrock.com/kickstart.php -L --output kickstart.php Manually: Klick baumrock.com/kickstart.php and upload the file to your server Note: baumrock.com/kickstart.php returns the current master file from the gitlab repo and changes the namespace of the script so that it can install itself via recipe. If you don't need to install the kickstart processmodule via recipe you could also download the kickstart.php file from gitlab. Screenshots/Walkthrough: The initial Screen: You can either upload a file via the left panel or take my example file from the gitlab repo: This way you can create your own kickstartfiles and host it on your own accounts. When the file is loaded you can easily edit all necessary informations, like username, password and the url where to grab ProcessWire from. I just tried it with an old version as well... 2.7 worked just fine (having the old installer that recently was updated) but an ancient 2.2.4 version failed. I don't think anybody will ever need to install lots of old versions of pw with this tool but I wanted to mention it here. Hit "install" and lean back - on my VPS it takes 15 seconds to install my very own custom version of processwire with all modules that i need After logging into your admin you'll see that all modules from your recipe are installed: Recipe Editor: As recipes are executed after processwire was installed you have all your API magic available there. Running this scripts is only possible inside of a working processwire installation, so I created a module to help you with that task. See the comments of the sample recipe for more information! I hope this tool helps you to save lots of time and create lots of awesome ProcessWire websites I would be happy to see how you use this and please share useful recipes here in the thread so that everybody can profit. Maybe you just want to throw in an idea what could be done (for example I can imagine a recipe that checks file permissions on the system after installation)... Some parts of the code and maybe also part of the idea are taken from @Soma 's old and still great online installer, thx for that!
    1 point
  8. I guess... we have to thank you!
    1 point
  9. This works as expected. Tested in Chrome, EDGE, Firefox, Opera (all latest versions).
    1 point
  10. @wbmnfktr and @iank - would you please try reverting to the version currently on Github and then replace that line with: var method = $.fn.jquery.replace(/\.(\d)/g,".0$1").replace(/\.0(\d{2})/g,".$1") > "1.6" ? 'prop' : 'attr'; and let me know if that works as expected. Thanks!
    1 point
  11. For once, a joke about programming that actually made me laugh.
    1 point
  12. Yep, working great, thanks again!
    1 point
  13. Ok... now I understand what they tried. Didn't see that very first line. I'm using 3.3.1 right now.
    1 point
  14. I can confirm the behaviour @iank describes but I'm quite surprised that I notice this change just as of today. I changed line 182 from [method] to .prop to get the functionality back. $(this).parents('.pwcmb-option-wrapper').siblings().find('.pwcmb-widget__row-cb').prop('checked', !checked); Is it me or is [method] wrong at that and some other places?
    1 point
  15. Hi @zoeck, Thanks for your interest in Media Manager. I can't give a definite date but it will be in the autumn.
    1 point
  16. Hi @iank - that's strange. It looks like this for me: There is some JS to uncheck the other checkbox here: https://github.com/adrianbj/CookieManagementBanner/blob/8a1cafe555221c9de03299d1ffdd9dafd8fe4d63/assets/js/CookieManagementBanner.js#L180-L183 I don't really know why the original Drupal version of this took this approach over simple radio buttons, but it seems to work as expected here. I think it's a jQuery version issue. In one of the recent commits, "on" was changed to "bind" to support older versions of jQuery. I wonder if that's the problem you are seeing? Could you try changing that "bind" to "on" and see if it works for you?
    1 point
  17. I have not been able to understand why in the language change some images return null value while others do not. So, I inserted the images in this way: $ima_small = $page->getInputField('image_card')->getImage(); $ima_big = $page->image_card; if ($ima_small!=null) { $ima_small = $ima_small->width(400); // echo '<img class="ima_normal" src="' . $ima_small->url . '">'; } else { echo '<img class="ima_normal" src="' . $ima_big . '">'; } Surely it is not the most elegant solution! but maybe this can be used to some one.
    1 point
  18. Adrian, I just noticed on the "Manage Preferences" banner, the two options "I accept" and "I do not accept" are checkboxes, meaning it's possible to select both of these, which could be confusing for the user. It only saves the "I accept" value to the local storage if both are checked, but if you popup the banner again without a page refresh, both checkboxes remain checked.
    1 point
  19. All set, please try. I will check if I can add the case toggle to Batch Child Editor's page title field too, that would also come handy. If you have other special fields in mind to support, please tell.
    1 point
  20. @adrian I've been trying out the Custom PHP panel features and it's working really well. There's cake and icing - but I've thought of a cherry. There's still scrolling involved when iterating something in the custom panel when it comes to saving what you are doing - if the panel could be moved right to the bottom of the config inputs, that would put the save button within easy reach (for those who aren't using AOS's feature to fix the submit button on the header.)
    1 point
  21. whoah that is super amazing! Thanks – yeah i have 2 sites with random capitalizations of words in a certain field and am case changing them all... sometimes editors use all caps for things..
    1 point
  22. I am not sure there is much I can do about this - those triangles are how Markdown generates the output for <details><summary> tags. If you have any ideas on an alternate approach, let me know though. Regardless, I think the key things is that Ryan (and other PW Issues regulars) will get to know this output and how it works.
    1 point
  23. Agreed, that does look nice. I have committed a new version with the following changes. Now we just need to get people using it more regularly ? Each section is structured as a table and with the Server Details not collapsed. The plain text version is basically the same, just with section titles added for clarity. SERVER DETAILS ProcessWire: 3.0.108 PHP: 7.2.6 Webserver: Apache/2.4.33 (Unix) MySQL: 8.0.11 SERVER SETTINGS allow_url_fopen: 1 max_execution_time: 120 (changeable) max_input_nesting_level: 64 max_input_time: 60 max_input_vars: 1000 memory_limit: 128M post_max_size: 8M upload_max_filesize: 50M xdebug: xdebug.max_nesting_level: GD: bundled (2.1.0 compatible) GIF: 1 JPG: 1 PNG: 1 EXIF Support: 1 FreeType: 1 Imagick Extension: MODULE DETAILS AdminOnSteroids: 1.9.8 BatchChildEditor: 1.8.12 BreadcrumbDropdowns: 0.1.0 CookieManagementBanner: 0.2.1 FieldtypeStreetAddress: 0.5.1 FormBuilder: 0.3.4 InputfieldFormBuilderFile: 0.0.2 InputfieldStreetAddress: 0.5.1 JquerySelectize: 1.0.4 MarkupSEO: 0.8.7 MarkupSitemap: 0.4.1 ModuleReleaseNotes: 0.10.7 ModuleSettingsImportExport: 0.2.9 PageRenameOptions: 1.0.4 ProcessAdminActions: 0.6.12 ProcessChildrenCsvExport: 1.7.0 ProcessFormBuilder: 0.3.4 ProcessWireUpgrade: 0.0.7 ProcessWireUpgradeCheck: 0.0.7 RestrictTabView: 1.1.3 TextformatterTagParser: 2.2.0 TracyDebugger: 4.10.25
    1 point
  24. Glad I could help someone! Another thing to keep in mind is your admin url. In most cases it is mydomain.com/processwire/, but it can also be customized to something else like mydomain.com/admin/. In that case you will also have to update your Cloudflare page rules.
    1 point
  25. Personally, I think a table would really help the clarity of the server details. | Server | Version | | ------:|:------- | | PW | $pw_version | | PHP | $php_version | | ... Edited to add: At least to my eye, it's hard to tell that the "Server Details", "Server Settings" and "Module Details" lines are actually click targets that open up a hidden list. Yeah, I know there are triangle markers as visual clues, but I mistook those simply as list-item markers the first couple of times I saw these in issues. I'm more used to click targets being styled as links or saying something like (more...) or something like that.
    1 point
  26. I think that makes most sense. Just like this or do you think that a table layout would help with clarity?
    1 point
  27. @adrian Fantastic! Thank-you, that works great. Regarding the "Lite" reporting button idea; I'd gather a few more opinions on this before doing anything. For example, another alternative is to just keep the existing button but make the basics a non-collapsed table with all the additional details in the collapsed sections following it. That would make the basics stand out pretty well in the issue reports.
    1 point
  28. Everything looks good. Please can you try the following code snippets in a template file: $imgPath = $config->paths->files . '1/animated.gif'; // add the full path to an original animated gif here!! $ii = new ImageInspector(); $info = $ii->inspect($imgPath, true); var_dump($info); $is = new ImageSizer($imgPath); var_dump($is->getEngines()); $shortInfo = $is->getImageInfo(); var_dump($shortInfo); and check the output? The first var_dump() should have a true under "info"->"animated", and the second one only should have one array item named "ImageSizerEngineAnimatedGif". If this is the case, we need to check further.
    1 point
  29. @adrian Thanks, that's fixed it, and nothing lost. While you have this feature in your working memory, another request: could you have the config scroll to the custom PHP field if it were changed on the last save? That would allow a smoother flow of iterations using the field, and shouldn't interfere with anyone else's use of the config area. That would be the icing on the cake, but I'm totally happy with the cake the way it is at the moment ? --- With regard to the Version List functionality, if anything, I think a "lite" version for initial reporting of just the PW, PHP, Webserver & MySQL versions as a markdown table would be useful. One thing that's struck me reading through the issues is that clarity matters. I really like the comprehensive data you've made available with the existing feature - but I completely missed the data, tucked away at the bottom of a couple of issues. It was only when I found the feature in Tracy that I had a lightbulb moment and realised that's where those three lines in the issue reports came from. (I like to follow the KISBIS rule where possible: Keep It Simple, Because I'm Stupid)
    1 point
  30. ? Many thanks! ? That is very helpful.
    1 point
  31. Hi, I always limit PW's Images inputfield to 50 images which is normally just enough for most sites and it also makes sure storage requirement does not skyrocket ... I guess it is not feasible for this site you mention, so you might want to consider using @kongondo's Media Manager module: https://mediamanager.kongondo.com/ sure it is commercial but at the same time feature rich and should not have problems dealing with lots and lots of images.
    1 point
  32. ProcessWire & Vue.js — a Lovestory Introducing the all new ICF Conference Website The new ICF Conference Page — Fearless » What would happen if we were equipped to fearlessly face the daily challenges and live a life without fear? « This question is at the core of our next ICF Conference in 2019 in Zurich. Its also the question we set out to answer in terms of developing the new website; the all new ICF Conference website is our most advanced website in terms of technology, designed to take advantage of the latest web-technologies. Its a brand new design powered by a lean setup, using ProcessWire for easy content management and a slick frontend based on Vue.js, Quasar and a heavily customized Uikit theme. Technology-stack — From backend to frontend, technologies that are fun, easy and fast to develop with We built on the ICF Ladieslounge website as a solid foundation and took our learnings from building our last Conference Booklet PWA (Progressive Web App) and applied it to the new website. Some highlights of the new ICF Conference website: Completely decoupled backend and frontend Custom design based on Uikit frontend framework Changing of languages happens instantly, no page-reload required Easy content updates thanks to ProcessWire All data is transferred using a single request returning custom JSON » Continue reading on Medium And please don't forget to clap and share:
    1 point
  33. @Soma Yeah this is my issue with Vue.JS - I use Vue.JS often for two way data-binding which is amazing to be able to easily update content and do visual changes to the site based on those updates. For example adding something to a basket. It's much easier with Vue than jQuery or JavaScript. My issue with Vue is exactly that. You can use it just on a component basis or you can use it to render your entire UI. To me it just doesn't make sense to use it to render an entire UI with a website. A web app sure, but a website it's often overkill and introduces that exact problem. You can introduce server side rendering of Vue with Nuxt but then it just seems like another layer of 'over complication'. I personally stopped using Vue for websites unless I absolutely needed two way binding. It just didn't make sense and the extra complication of implementing it such as having to convert everything from ProcessWire into a JSON feed. EDIT: Noticed this post still gets likes, so what's changed since then? AlpineJS. AlpineJS is a solution to this exact problem, worth a look for anyone wanting to do some cool UI stuff without including all of Vue features and overhead.
    1 point
  34. PhpStorm doesn't know what API variables PW makes available to template files. So you need to add variable types hints in a DocBlock at the top of your template files. I use... /** * @var Config $config * @var Fieldgroups $fieldgroups * @var Fields $fields * @var Languages $languages * @var Modules $modules * @var Page $page * @var Pages $pages * @var Paths $urls * @var Permissions $permissions * @var ProcessWire $wire * @var Roles $roles * @var Sanitizer $sanitizer * @var Session $session * @var Templates $templates * @var User $user * @var Users $users * @var WireCache $cache * @var WireDatabasePDO $database * @var WireDateTime $datetime * @var WireFileTools $files * @var WireInput $input * @var WireLog $log * @var WireMail $mail * @var \ProCache $procache * @var \FormBuilder $forms **/ Your field names are not a part of the PW API (field names don't exist in the file system but only in the database). But I believe you can get code completion for field names using the Template Stubs module.
    1 point
  35. Just pushed a little update that makes the definition of recipes easier, see this sample: <?php $password = $this->randomPassword(); return [ 'pw' =>'https://github.com/processwire/processwire/archive/dev.zip', 'profile' => 'site-default', 'settings' => [ 'timezone' => 368, // vienna 'dbName' => 'yourdbname', 'dbUser' => 'root', 'dbPass' => $this->randomPassword(), 'admin_name' => 'youradminurl', 'username' => 'youradminusername', 'userpass' => $password, 'userpass_confirm' => $password, //'dbTablesAction' => 'remove', // overwrite existing tables? ], 'recipes' => [ function() { $this->msg('Installing RockMockup...'); $this->installModule('RockMockup', 'https://gitlab.com/baumrock/RockMockup/repository/master/archive.zip'); $this->succ('RockMockup installation completed'); }, ], ]; I also added this video to the first post to demonstrate how easy it is to use (I think all the screenshots may have made the impression that it is complicated)!
    1 point
  36. If Jquery is removed i'd like to see plain vanilla js and no framework in between. Just like like there is no PHP framework in PW.
    1 point
  37. I'd be surprised if it worked with Profields Table as that is quite different from a normal Page Reference field. The relevant JS is here if you want to explore how it works. You could make a request for dependent selects in the Profields Table forum and see what Ryan says. It would be a nice feature. It works for me - see below (seems to work with "Custom find" too):
    1 point
  38. If you are using cloudflare.com you might also want to create a page rule like: *mydomain.com/processwire/* Security Level = High Cache Level = Bypass Disable Apps Disable Performance This should prevent any of the Processwire admin from being proxied by cloudflare.
    1 point
  39. A other possibility for ProcessPageEdit would be to abuse the method addOptionsString. The default InputfieldSelect (the page one:-)) has a method 'addOptionsString' that methode takes a string as argument. To create options from there you could create a text like the text below (There must be at least 3 spaces before the options, 3 is recommended) A 1234=Alfa Romeo 1235=Aston Martin B 1236=BMW 1237=Bugatti Example in the spoiler.
    1 point
×
×
  • Create New...