Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/25/2019 in all areas

  1. Fixed a lot of these. I don't really want to change much else as it's a massive pain in the ass when they change the forum templates every other upgrade. Things like UIKit styles adding big padding on quotes - I could spend a long time tweaking UIKit to just target the header element only somehow I guess but it's easier to just include Ryan's stylesheets and override a single class (done, padding is now 20px) ? Accessibility - if someone wants to give me the CSS changes I can just plug in I'd be happy to do so. I don't know enough about accessibility to tackle that myself. Forum width is same as the site width which makes sense visually, though perhaps we're missing a trick nowadays and could have a helpful sidebar at larger screen widths? Maybe some sort of quick links for docs etc? I'm not sure - it's more work and it's taken me this long just to tweak a dozen styles - I don't get paid for this and have to prioritise client work to pay the bills ?
    6 points
  2. Resetting Windows got a lot easier since I know www.ninite.com ?
    3 points
  3. Hey @szabesz - turns out the svg icon issue was actually related to not having the fixed debug bar position option checked. I decided to remove this an optional, because the draggable version had other problems as well. I think this might also fix your issue with the scrollbar being on top of the debug bar as well. The hiding of the body when hiding the debug bar was related to the custom server type indicator. I have fixed this, although this means that now the indicator won't be hidden when the bar is hidden, but hopefully that is ok. One observation about your Tracy settings - you didn't have the db() and bdb() shortcuts checked - you may want those. Also, I have deleted your settings attachment in your previous post because it includes your email address ?
    2 points
  4. Announcement: I've created a new branch on github with the requested feature by @felix. Please can you and / or anybody else try this out and give some feedback. If everything is working as expected, I will push this to the master branch. Short introduction: You can specify how many and what ever params you want into an array that is called $config->wirmailsmtp. Every valid key of this array will override the key of the stored modules config setting. // example entry in site/config.php $config->wiremailsmtp = array( "smtp_host" => "smtp.example.com", "smtp_port" => 587, "smtp_ssl" => 0, "smtp_start_tls" => 1, "smtp_user" => "yourusersname", "smtp_password" => "youruserspassword", "extra_headers" => array("Organization" => "Horst Nogajski - Fotografie & Webdesign", "X-Header" => "Some Content") ); To see your resulting (merged) settings you can var_dump the output of the method getSettings(): // debug example in a template file $mail = wireMail(); echo "<pre>"; var_dump($mail->getSettings()); I tested it here myself and it seems to work fine. EDIT: I forgott to mention that I removed the required flags from the modules config settings for smtp_host and smtp_port. This way, both settings now may stay empty in the config screen, but can be set via the $config->wiremailsmtp array. The downside would be that the modules config screen isn't that robust anymore in regard of misconfiguration. Is this acceptable, or should there also be a required setting in the modules config screen? This is open for discussion. ?
    2 points
  5. I recently mentioned that I was working (more like messing about quickly :-)) on a Visualisation module based on the awesome chart lib Vega. I haven't touched this module in a while. I only realised today as I was transferring my dev setup to WampServer and testing things out that I'd left this off at a stage where one could view a basic Viz. See the screenshots below. Word of warning: this does not even qualify as pre-alpha in my opinion. It is very early days. It is more of a playground to test ideas. It's also not high in my list of priorities so I don't know when it will be ready... Screenshots Create new viz from list of pre-built visualisations/charts Editing a single visualisation/chart
    2 points
  6. On Windows I regularly use Macrim Reflect Free to make an image of the OS and registry state before I make changes to the system, then when I don't like it I just slap the clean image on and have all changes reverted. Do look into https://www.macrium.com/reflectfree it will save you time and hassle. All the best. Regarding not having https, I am not sure if that is a good way to go forward. I think Chrome even now has something built in that will either give you a warning in the console or hinder you from doing local work when you are not on https. Don't quote me on it, but the general motion is to do everything via https.
    2 points
  7. @Schwab Right now I am using the PHP class Emogrifier to inline the styles. It works as easy as $emogrifier = new \Pelago\Emogrifier(); $html = '<html><h1>Hello world!</h1></html>'; $css = 'h1 {font-size: 32px;}'; $emogrifier->setHtml($html); $emogrifier->setCss($css); $mergedHtml = $emogrifier->emogrify(); Well, $html has to come from your page, and deliver correct HTML for every mail client. You have to generate that first. There are some preconfigured templates out there or you could use tools like MJML to create a template yourself.
    2 points
  8. Hey @tpr I am super happy to confirm that adding the style to aos.min.css fixed the issue and now my Admin tree is back to its normal state ? I guess we will see a new AOS release some time soon with the fix ? Thank you sincerely!
    2 points
  9. This has something to do that the markup is different here, there is a span.label_title around the page title's text. This has came up earlier too but I couldn't figure out why. I googled around and found a WebKit bug that could cause this. Could you try applying this CSS? If it works via devtools, please try adding this to aos.min.css (just append to the end): .PageList .PageListItem { transform: scale3d(1,1,1); } Or if no joy, by adding backface-visibilty: hidden. Unfortunately because I can't reproduce I can't check.
    2 points
  10. Hi @adrian, A lot of the code is much the same, but tidied up with the the coding style guide implemented, so I'm not surprised the diff doesn't reveal much! The readme is pretty thorough and covers a lot, but here's the gist: addData() - add X-Mailgun-Variables - https://documentation.mailgun.com/en/latest/user_manual.html#attaching-data-to-messages - to be honest don't know what use cases there are for it but it's in the API and was easy to implement addTags() - add multiple tags as an array getHttpCode() - to get the response code from either send() or validateEmail() * Most methods now chainable (see the Advanced Example in the readme) Tracking only used if bodyHTML() is set (As this only works in HTML email) cc() and bcc() only used when batchMode is off - this seems to me to be the correct implementation WireMail::htmlToText() used for generating the text version if only HTML passed (as in WireMail now) The ASCII conversion for tags now uses $this->sanitizer->nameFilter($tag, [" "], "", false, 128); WireMail::replyTo() implemented - doesn't seem to have been before removed addAttachment(), now uses WireMail::attachment() - which adds the ability to set the filename Unixtime is now passed to setDeliveryTime() A bunch of other small tweaks like using $sanitizer->email() in validateEmail() * I'd wanted to use WireHttp for the requests, but it doesn't allow custom cURL options. I have done a pull request for this, but I don't think I'll be changing the module's cURL request implementation now anyway. Cheers, Chris
    2 points
  11. Tracy Debugger for ProcessWire The ultimate “swiss army knife” debugging and development tool for the ProcessWire CMF/CMS Integrates and extends Nette's Tracy debugging tool and adds 35+ custom tools designed for effective ProcessWire debugging and lightning fast development The most comprehensive set of instructions and examples is available at: https://adrianbj.github.io/TracyDebugger Modules Directory: http://modules.processwire.com/modules/tracy-debugger/ Github: https://github.com/adrianbj/TracyDebugger A big thanks to @tpr for introducing me to Tracy and for the idea for this module and for significant feedback, testing, and feature suggestions.
    1 point
  12. I just made the switch from Sublime Text 3. Been using it for years and really liking Visual Studio Code. Here is what I have installed so far: Auto Rename Tag Bracket Pair Colorizer Color Highlight Insert Date String Live Server Markdown Preview Enhanced Numbers Bookmarks Polacode Prettier Code Formatter Project Manager Settings Sync Sublime Text Keymaps and Settings Importer Todo Tree vscode-icons WakaTime
    1 point
  13. This profile can be used as a business card or very simple blog. Requires the latest version processwire 3.0.101 !!! Milligram Site Profile For Processwire 3x with include functions like: MarkupRegions FunctionsAPI wireIncludeFile | wireRenderFile Essentially, this structure uses minimalist CSS framework Milligram and the Flexbox Grid System Gridlex Live Example CAN DOWNLOAD FROM THIS LINK ( Basic Version and simple Blog Version ) https://github.com/rafaoski/site-milligram https://github.com/rafaoski/site-milligram-blog Screenshot: If you want to use Laravel Mix you must first ensure that Node.js and NPM are installed on your machine. Basic example to Debian and Ubuntu based Linux distributions: Node.js curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs See more installation options LINK npm is installed with Node.js just check in linux terminal like below: node -v npm -v Set BrowserSync inside folder /templates/webpack.mix.js and change your dev url proxy: 'http://localhost/mix/', to your installation processwire folder like: proxy: 'http://localhost/your-processwire-installation-folder/', Next install npm packages in your templates folder with command npm install Now, boot up the dev server npm run watch, and you're all set go! On completion, use the command npm run production to build styles and scripts in the dist folder Simple Usage ( Basic Command ) Run npm install Watch npm run watch Build npm run production All files to Webpack build steps is inside file ( webpack.mix.js ) Folder With all SCSS files is inside templates/src/scss All build styles and scripts is inside the ( dist ) folder References: Milligram Gridlex Laravel Mix Feather Icons Web Font Loader Verlok Lazy Load Cookie Consent Particles.js
    1 point
  14. Don't forget to check out the newish Favicon badge option if you haven't already - I find it very useful.
    1 point
  15. Thank you! I myself actually like the idea that the custom indicator is always visible. Thanks for reminding me. Strange but I've never had the need of them, bd() and d() have just been enough. Maybe it is because I tend to prefer very targeted checks.
    1 point
  16. Are you new to ProcessWire? If so, then I might recommend you keep it all under one. Why? This will give you the opportunity to learn much more. They will use the same styling? Same layout? This will make it easier by using just a few templates. Is there something you wish to make only visible to you versus visible to guests? You'll learn about roles and permissions. This way you can tailor content to be visible to your visitors and yourself when you are logged in. Your first PW backend will be chaotic with too many pages and templates and fields. It's the natural order of things ? Over time, you will learn how to organize your backend in a fashion that makes better sense to you. I find it easier to keep all that under ONE website instead of trying to duplicate one to the other. Once you understand how to better organized things, it will make more sense and you can apply that logic to your second, better organized site. ALSO, try and do as much as you can without the use of Modules. There are many many wonderful modules created by the community that solves a lot of problems and wishes. I have found PW to be quite powerful enough without them until truly needed.
    1 point
  17. Yeah, it could for sure. Though I'd prefer seeing support for queries like RockFinder does in the core. It works, but it has some flaws and I think it could be done a lot better. Making it possible to query the PW data via SQL in an easy way should not be the task of a 3rd party module. It can be helpful in so many scenarios... Grids, REST apis, Charts, ....
    1 point
  18. @szabesz - thanks for those files - the svg size and hiding of body problems are coming from the server type indicator feature - specifically the "Custom - control with CSS" option. I'll try to fix shortly. Not sure about the bar being under the scrollbar - I still don't see that, but at least the other problems are figured out ?
    1 point
  19. Hi @kongondo, it is language aware in general, yes. There might be some special cases though like repeater fields, where some additional tweaks would be necessary. I've updated the docs with some words about that: https://github.com/BernhardBaumrock/RockFinder/blob/master/readme.md#multilanguage Hope that helps. Easy finders should just be fine and you can always use RockFinder as a start and join custom SQL as you need ?
    1 point
  20. 1 point
  21. I have a feeling this could (in future) perhaps play nicely with @bernhard's RockFinder?
    1 point
  22. I am not sure ninite can revert to a previously created, possibly clean image of the OS and installed software and its settings. Had a quick look, seems like one can tick the options and install all the stuff. However once you have installed stuff and then installed one more app that messed up the whole OS I am not sure ninite can revert to a previous state of the OS. Never used it so don't know, however I could not find anything about it on the website. Often, when setup correctly and afterwards an OS image is made, it is not necessary to completely reset Windows. Been there, done that, too many times. Just slap the previous clean image on and all your OS and software and its settings and the registry are fine again. Naturally given the image is clean. Takes about 2 - 5 minutes to revert to a previously made image. So the best time to make a first image is right after you have installed Windows again. Also it might be a good idea to format and clean the partition you are installing Windows to. I used to do this with Gparted Live. In fact I have a partition just for the OS and a separate partition for all data. Like this I do not have to go into numerous folders on the OS partition to backup. I just have my data on a partition that as nothing to do with the OS. Also, not sure if you do this, but I never had internet access on while installing Windows.
    1 point
  23. Heads up. If you run ProcessWire with TracyDebugger inside Devilbox you need to make sure you have Output Mode set to DEVELOPMENT, otherwise you will not see the Debug Bar.
    1 point
  24. Cleaning all local data storage features of the browser nor incognito mode did not make a difference either, all issues remain. I have no browser extensions installed, btw. I tested the scrollbar and the tiny icon issues on a clean and "latest" PW (last week's 3.0.127) and they are still there in Chrome, so these do not seem to be site specific. I can send you the whole site zipped up if you need it. See them in action: The scrollbar issue is kinda random. In the screen-grab it happens right after reload but not afterwards, but during my daily work I could not notice any pattern, most of the time the scrollbar gets in the way. However, the tracyHidden issue is indeed site specific so it does not happen on the clean install. I will need to spend more time on debugging this one. Oh, and the Tracy setting generated by your module: (from both clean and problematic sites) Thanks in advance
    1 point
  25. Hi @joer80, 1. Go the Setup --> Templates, click Filters. Then set "show system templates" to Yes. 2. Click "user" template 3. click Family tab 4. set "May this template has childern" to Yes. 5. set templates allowed for this template if necessary. But please think twice before you do this. It is not encouraged to add children to user page. It is better to create a separate page with page reference field that set to choose from user pages. Gideon
    1 point
  26. I've tried setting a max height on the dropdown menus so at least they were scrollable, but unfortunately the 3rd level menus that open to the right were cut off. They are absolutely positioned so I don't think this could be fixed. Btw I really don't like how the main menu markup is built in the admin, submenus are not part of the menu markup but they are positioned there on open. A simple CSS solution would be enough I think with proper nested markup, that would allow more customization.
    1 point
  27. Thanks, I've added this to v2.0.16, please try. It also contains a fix for the PHP notice @Brian Peat has come across.
    1 point
  28. Leave it. Let the user fix it. While I was able to make it work in a terminal, conversion is unreliable.
    1 point
  29. Ahh… no… i just fucked up the order of code… it was too late... hahah. thanks guys!
    1 point
  30. Although I don't know what your reasons for using var_dump(), I really recommend that you use the module TracyDebugger instead. It will give you better and cleaner information regarding any ProcessWire objects and their properties.
    1 point
  31. @happywire don't forget that a Page is not an array or similar, but a PHP object with protected and private fields. From the "top" (like print_r($page)) you may see some internal attributes (like the array of hooks), but you can not directly access those fields. To retrieve, for example, the table of hooks, you'll need to use an allowed method, like print_r($page->getHooks()). Same for any field placed on your template. Their content is not retrieved everytime you see a $page but only after an access. If you do something like $page->someField, then you do not access a member from that object, the Page object intercepts the access operator and retrieves 'someField' from the database, caches its content in the page object and performs any kind of output formatting specified for that particular field. So, to obtain a list of fields available on a particular page, you'll do a $page->getFields(), which you may use to enumerate all fields and dump their contents: foreach($page->getFields() as $fldName) { echo "{$fldName}: {$page->$fldName}<br/>"; echo '<pre>'; print_r($page->$fldName); echo '</pre>'; } Edit: if you print_r($page) before and after that loop you'll see the embedded ['data'] array populated. And similar will do for $image->getVariations();
    1 point
  32. @Matze, if you own or consider ProFields, you may check out FunctionalFields as well. While conceptionally intended for text translations, I do not see a reason why this should not work here. If you write something like this in your template file: $thePainter = __text(' ', 'painter', 'label=painter, required=true'); $thePeriod = __text(' ', 'period', 'label=period, required=true'); $theCanvas = __text(' ', 'canvas', 'label=canvas material, required=true'); $theTechnique = __text(' ', 'technique', 'label=painting technique, required=true'); You'll see that in your page editor: If you add more text replacement in your template file, these are added to all artist's pages immediately. Sidenote: I'll have to set a space for the original text, otherwise the fields do not show up, so they are actually not empty in this example. While this may be what you are looking for on first sight, I'd encourage you to think about using page references instead. Information like canvas material or painting technique are not endless and will repeat over various artists. Using plain text input, you'll have to repeat all this each time. And, if you are going multi-lingual, you'll have to enter every translation for every artist. With page references you'll have many benefits, like faster searches (who is painting with this particular technique in that period), generally less data in your database (less data to transfer to build an index, for example), one point to enter that information and may even add more info about it. You may even create new "attribute-pages" on the fly when entering the artist's page.
    1 point
  33. So, I've tried this morning to remove all the modules but the AOS and the hidden items still were hidden unless I move the mouse over them, but then after a page reload, they "hide" again. I did test it in Incognito on both computers and still see the same thing. After replacing the AOS 2.0.15 version with the 2.0.14 - it is all working fine so there must be something that is happening with the new version, but what and where is not clear yet. At least it is not related to my browser, computer and even the local server prior to the fact that it worked like a charm under 2.0.14 and it still does. P.S. After an upgrade from 2.0.14 to 2.0.15 - the hidden pages get "hidden" again.
    1 point
  34. Well, I tested the admin with the following browsers: Opera - Version:58.0.3135.107 Chrome - Version 73.0.3683.86 (Official Build) (64-bit) Here is the markup of one of the hidden pages 404 Not found: Here is a preview of all the rows to compare classes: I checked a few classes and if I change the opacity from 0.6 to any number and back - it shows properly: .PageList .PageListStatusHidden>a.PageListPage { opacity: .5; } Not sure why, but will test to remove all other modules to make sure that the issue is not caused by one of them. P.S. To be sure it is not a local OS (Server 2016) or Browser issue, tested on another PC with Windows 10 and the result is still the same. As far as it is quite late now here, I will try to get an earlier version of the AOS and see if the issue would appear as well. Will keep you updated and thanks for checking it up.
    1 point
  35. I couldn't reproduce (latest Chrome and Firefox). Could you check what CSS rule is causing this? Apparently the page title is there but not visible because the page IDs are not aligned to the left. It could be also handy to see the markup of a failing pagelist item.
    1 point
  36. Excellent suggestions. Thanks to all. @adrian, your solution works like a charm: Press New Set Title and Name (Template is currently unassigned) Press "Save" - Page now gets published with the chosen template, all template fields are blank. Setting pages to unpublished is still possible. This is how I want the flow.
    1 point
  37. Hi @felix, I don't want to enable plain text files with server & password settings, but going with the already needed and available site/config.php, as @adrian suggested, seems to be fine. (As it already stores the DB-credentials). I try to look into it and implement it this weekend. I think this can be useful for a lot of us.
    1 point
  38. If you're not harnessing the backend from ProcessWire I'd personally tend to not use ProcessWire. While it's entirely possible to do so (maybe also search for prev. discussions on the topic) there are some parts, which in my opinion discourage that kind of usage: Lack of proper testing capabilities. There are topics on how to do TDD with processwire, but the options on managing db state or handling requests in tests are not there. If you need to manage a lot of diverse data the autoloading of every template/field on each request can become a bottleneck. Working around it by reusing more fields/templates can work, but isn't great either. The selector engine for pages is great for light to medium complex stuff, but complex selections and especially aggregations need custom SQL or third party solutions like RockFinder. Also if you're not careful it's tempting to fall into n+1 query problems with fields / relationships being lazy loaded by default. Transactions are hardly used by the core, so if you want/need to prevent partial updates from happening you need to ensure that on your own by wrapping stuff into transactions. Not to say ProcessWire isn't otherwise a nice system, but those are the things I'd urge anyone to evaluate before using ProcessWire in a web application project.
    1 point
  39. "framework" and "web application projects" are very very loose terms... If you could describe a bit better what you are trying to build, I'm sure people could chime in with more "to-the-point" suggestions, or concrete real-life examples from their own experience. There are various ways how to extend / customize the whole backend. Custom dashboard, custom modules etc. @bernhard has an excellent, epic tutorial how to create your own module to handle potentially... well, just about anything you'd want. So, I guess if you want to get constructive feedback here, you should elaborate on what you're trying to achieve. And what exactly do you miss in PW that you have in Laravel or Silverstripe.
    1 point
  40. Site is very nice responsive all the way to smartphone
    1 point
  41. 1 point
  42. Thanks! The part in question would be this: "Taking into account the state of the art, the costs of implementation and the nature, scope, context and purposes of processing as well as the risk of varying likelihood and severity for the rights and freedoms of natural persons, the controller and the processor shall implement appropriate technical and organisational measures to ensure a level of security appropriate to the risk, including inter alia as appropriate [...]" GDPR doesn't state that the controller and the processor must encrypt all personal data, period. Loosely translated it says that, taking a lot of things (such as the cost, nature, scope, context, and purpose of data processing) they must take measures appropriate to the risk and its likelihood, and one of the measures that may be appropriate depending on a lot of factors would indeed be encryption. The truth to the matter is that unless there's a court case stating essentially that everything (including specifically email addresses) must be encrypted during storage, this can be interpreted in a multitude of ways. Then again, I'm still not a lawyer, and am mainly relying on opinions on the Internet – so don't take my word for it, and please do take every precaution you feel would be appropriate to your case ?
    1 point
  43. There is actually one benefit: if data is stored encrypted and the key is stored separately, even if it's on the same server, someone gaining illegitimate access to just your database but not full access to the server would mean that said data could be considered much less useful to the offending party. At the very least it could take them a long time to figure out what it is that they actually got their hands on. Although this predates GDPR, in opinion 03/2014 the Article 29 Working Party stated that breach affecting only encrypted data may also mean that the source of the breach isn't subject to typical breach notification procedures: Just something to consider. I'm personally still not convinced that storing emails encrypted makes a whole lot of sense on a typical website, but I'm also not a lawyer, or a specialist in data privacy for that matter. Still, if my business relied largely on storing personal data, I would probably consider taking every precaution in order to avoid a full-blown disaster ?
    1 point
  44. Just a quick note on this one: to my best understanding GDPR doesn't explicitly require encryption. Encryption is mentioned as a suitable option for data processors and controllers in order to secure user data, but it isn't strictly speaking enforced – and thus not encrypting data (such as email addresses) wouldn't automatically mean that the product can't be GDPR compliant.
    1 point
  45. What about: if($image->width > 9000) $image->size(9000, 0, $defaultOptions); I'd anyway prefer something generic like (You'll probably want to account for landscape and portrait as well): $imgWidth = $image->width; while($imgWidth > 400) // Larger than minimum? { $imgWidth /= 2; // half size (or whatever factor) $image->size($imgWidth, 0, $defaultOptions); } Not sure about the ImageMagick quality setting, but "max" quality of a JPEG normally relates to its (I'll name it) "cluster" size. The higher the quality setting, the smaller the cluster is. This has nothing to do with "keep quality from original", which may be encoded with a lower quality setting, which seems to be the case in your example.
    1 point
  46. $config->urls->httpRoot https://processwire.com/blog/posts/processwire-2.6.18-updates-pagination-and-seo/#new-http-prefix-available-for-all-config-gt-urls-properties
    1 point
  47. Hello, Me here. I work for a creative marketing agency and I have worked with so many CMS's I dare not count. But some of the leading ones include; Concrete5, Drupal, Joomla and WordPress. We almost always used WordPress over these other solutions. It meant for quicker development times, need a slider? Sure Revolution Slider has you covered. I went on to start building sites by just filling a header and footer in and building the rest in Visual Composer. Sure enough... I got lazy. Now we have over 30 websites running WordPress and they are all running out of date, the WordPress versions, the vast amount of plugins. Keeping WordPress up to date and secure is a job within itself. Then stuff like this starts happening: https://blog.sucuri.net/2014/09/slider-revolution-plugin-critical-vulnerability-being-exploited.html. I now when ever we have the budget for a custom build, use ProcessWire. If I found ProcessWire earlier, I may have never used WordPress for custom builds unless client requested. ProcessWire's API is one of the most powerful I have used and kicks WordPress's WP_Query ass and without a 3rd party plugin (ACF) WordPress is a pain in the backside. ProcessWire is now my one true love and I'm sure destiny brought us together, but I believe we are made for each other.
    1 point
  48. 1 point
×
×
  • Create New...