Leaderboard
Popular Content
Showing content with the highest reputation on 01/30/2013 in all areas
-
ProcessWire is fast. With ProCache, ProcessWire is insanely fast! ProCache provides the ultimate performance for your website by completely bypassing PHP and MySQL and enabling your web server to deliver pages of your ProcessWire site as if they were static HTML files. The performance benefits are major and visible. Using ApacheBench with the homepage of the Skyscrapers site profile, we completed 500 requests (10 concurrent) to the homepage. The amount of time occupied to complete each of these was as follows: 29 seconds: no cache enabled 6 seconds: built-in cache enabled 0.017 seconds: ProCache enabled As you can see, the performance benefits are substantial. ProCache gives you the ability to drastically reduce server resources and exponentially increase the amount of traffic your server can handle. This is especially useful for traffic spikes. Beyond measurements, ProCache makes your website feel faster to users, respond faster to search spiders (which can help with SEO), and helps to conserve server resources for requests that actually need PHP and MySQL. ProcessWire is already very fast, and not everybody necessarily needs what ProCache delivers. But regardless of whether you need it or not, there is little doubt that you can benefit greatly from ProCache. For an example of ProCache in action, visit processwire.com or the skyscrapers site. Look in the lower right corner of the page (in the footer). If it says "ProCache", it means the page was delivered via ProCache. We did this for demonstration purposes (ProCache does not put anything in your markup unless you tell it to). More information about ProCache can be found on the ProCache documentation page. Please note There is a known issue when using ProCache with the LanguageLocalizedURL module. I hope to have this figured out soon, but for the moment you should not use ProCache in combination with that module as it doesn't appear to work in full. ProCache does not yet support multi-host capability (i.e. cache and delivery of different content per hostname), but it will very soon. How to get it Like with Form Builder, ProCache was produced as a commercial module to support development of ProcessWire. It is now available for purchase here. ProCache is in a beta test period. As a result, it's being offered with introductory pricing that may increase once we're out of that period. During the beta test period, I just ask that you let me know if you run into any bugs or issues during your use of ProCache. I also recommend that you follow the usual best practices with regard to backing up your site and testing everything before assuming it's all working. Beyond the introductory pricing, you may also use coupon code PWPC-BETA for 10% off the listed prices at checkout. This code will expire as soon as we're out of beta. When you get ProCache, you'll also get 1-year of access to the ProCache-members support and upgrades board, available here in the ProcessWire forums. Upgrades to ProCache will also be posted there for download. Disclaimer: At the date/time that I'm writing this, I think that I am currently the only one using ProCache in production use. That's why I'm providing it with the lower costs and coupon. If you are running production sites where everything must always work perfectly, you will either want to: 1) wait to install on important sites till it's out of beta; or 2) test thoroughly on a staging server or localhost before taking it to production use. In either case, always make sure you have good backups anywhere you install new modules, and always test to double check everything works how you want it to. Get ProCache Now ProCache Documentation Below are a few screenshots that show the configuration screens of ProCache. Have questions about ProCache? Please reply to this topic. Thanks for your interest in ProcessWire ProCache!15 points
-
Just relaunched my portfolio, of course with PW. It's a one pager but of course everything is editable via PW. Portfolio Webdesign Karlsruhe Feedback welcome.6 points
-
I don't understand much about the whole "Tests for ProcessWire core", but we all benefit from you effort on all things PW. ( not only this test ) a big THANK YOU to you nik.4 points
-
(It's been quite hectic around here the last couple of days - sorry to keep you "waiting"). Well, it seems I lack the capability to split things into pieces more than one person can work on simultaneously.. But let's see. I did some small structural adjustments, again. At the moment I'm thinking of these separate test classes for selectors: ValidityTest - to check that invalid selectors are being reported correctly, and valid ones are accepted OperatorsTest - to have some basic tests for each of the operators (this is the part that has some content there already) SubfieldTest - to test the different kinds of subfield selectors (parent.* and fieldtypes Page, Repeater, MapMarker, Comments + those I'm forgetting atm) SortAndLimitTest - to test various scenarios with sort, limit, start and end I think these would cover most common scenarios at least. Then there are a few more special selectors probably requiring a bit different approach (count, has_parent, include, status, grant_check), especially regarding consistency between in-memory and db queries. And it may be beneficial to test with a set of very complex selectors as well as there just might be something nasty lurking around - at least after some bigger core modifications if not currently. And I think you'd like to be able to do something like that one day. I'm quite keen on trying to get some test coverage report out of the system pretty soon as well (@apeisa: yeah, that sure looks interesting - have to see if that would suit our needs). And after that extending tests to cover functions in Page(s), Page/WireArray and so on will be my target. But I guess it's better to try and nail them selectors first . So, you could basically pick any of those test classes outlined above or just wait for me to submit issues to GitHub . SubfieldTest should be pretty straightforward to do based on OperatorsTest - and there's actually a stub just waiting for you in GitHub already. ValidityTest is another one you could write at once, but that should be done a bit differently from OperatorsTest I think (there's a way to handle exceptions in PHPUnit). Anyway, I'm going to continue a bit with the operators and then head to sort & limit, unless you get there first . Sadly it seems I haven't got too much time to invest on this right now - I hope I'm able to get something done during the weekend though.3 points
-
As briefly discussed earlier with Ryan (http://processwire.com/talk/topic/1560-searching-multiple-fieldtypes/page-2#entry23307), I tried to build some sort of test suite for ProcessWire. The tests aim for selector consistency (in-memory and db) and of course making them free of bugs - once and for all. The beginning of the test suite with instructions can be found from https://github.com/niklaka/ProcessWireTests . I wouldn't be surprised if I had to go and restructure the whole thing sooner than later (more than once even), but that'll do for now. Next I'll focus on writing a basic set of tests to cover at least the most common selectors (as there's currently only a few of the most simple ones there). This testing stuff if somewhat new to me and I've been reading lately a little something on the subject. Hope I got at least something right . Having said that, any help (or constructive criticism) from you my dear friends is highly appreciated. Especially if you'd happen to have any/some experience on testing - but I'll take kind words from anyone . I decided to try where I'm able to get with PHPUnit and so far it looks like it would be very much possible to build something useful with it (no, I'm not exactly surprised as it sure is a proven tool for such a thing). I did take Ryan's idea of using Skyscrapers profile as a base for testing (you're not making changes to it are you Ryan ), but there may be need for some other approach as well, even another Skyscrapers based one. Well, I'll go and write a a couple of more tests now. (PS: If some admin feels this post fits some other area better, please do move it - I wasn't sure where to put it myself.)2 points
-
2 points
-
It's not possible to do conditional markup generation. So you're maybe better off building you're menu with your own code. Which is quite simple. Only workaround I see is using JS to generate it. array('item_tpl' => '<a href="{url}" data-extratitle="{extra_title}">{title}</a>') Then use jquery. $('#menu a[data-extratitle!=""]').each(function(){ $(this).prepend($("<span class='nav_extra_title'>"+$(this).data('extratitle')+"</span>")); });2 points
-
This helps greatly the future development. Whenever there are core changes on selectors (optimization, new features etc), these tests can be run and see that everything works like they should. AFAIK currently only selectors are tested, but this can be taken much further for all parts of the framework.2 points
-
Hi guys, I've seen this has been an issue for others but it involved PHP safe_mode being on which isn't the case here. I've just transferred a site from dev to live using the site export module and when I go to upload a new image, the bar goes all the way to 100% and then the image doesn't show. Could anyone point me in the right direction? Am pretty sure assets is writable...1 point
-
Here is a new module for ProcessWire 2.1 that imports pages from a CSV file. By default it will create new pages from data in the CSV file, but you can also configure it to modify existing pages too (existing pages that have the same title). Please give it a try and let me know how it works for you and if you run into any issues with it. This module is something I've had in the works for awhile, and regularly use on various projects, so figured I should clean it up a bit and release it. Also attached are a couple screenshots from it. How to Install: 1. Download from: https://github.com/r.../ImportPagesCSV 2. Place the file ImportPagesCSV.module in your /site/modules/ directory. 3. In ProcessWire admin, click to 'Modules' and 'Check for new modules'. 4. Click 'install' next to the 'Import Pages CSV' module (under heading 'Import'). Following that, you'll see a new menu option for this module on your Admin > Setup menu. Supported field types for importing:* PageTitle Text Textarea (including normal or TinyMCE) Integer Float Email URL Checkbox (single) *I'll be adding support for multi-value, page-reference and file-based Fieldtypes in a future version.1 point
-
hello, everyone! been an active reader in the processwire community but never felt like i had anything to contribute. ufortunately, i still don't feel up to speed to contribute much to the community but i thought i'd share a new site. i used ryan's blog profile as a base. it's still not 100% finished (probably at about 90% on the dev side) and the blog hasn't been posted to yet. any opinions/critiques, good or bad, are appreciated. http://revengeofthecakeball.com/ many thanks! alex1 point
-
1 point
-
Honeypot as described by @yellowled, sometimes (depending on what you're building and for whom) accompanied with some JavaScript magic to make it sligthtly more efficient, still seems to work surprisingly well. I haven't felt any real need to apply CAPTCHA's in years. Just saying Anyway, this 2011 smashing mag article illustrates in great detail most common spam prevention solutions. It also points out their strong and weak points and even mentions some methods I hadn't even heard of before, like the slider -- that's actually damn elegant, but of course limits your audience, as they mention in the text.1 point
-
This is awesome! Those numbers are quite impressive. I'll be grabbing a license soon.1 point
-
No captchas anywhere, at least no visible ones. They're usually inaccessible, not as “bulletproof” as many people may think, and a nuisance to any visitor. Ever spent half an hour entering whatever you got from those stupid captcha images, failing over and over again although you were sure to have entered the correct pass phrase? Exactly. There is no perfect solution to avoid comment or contact form spam. As soon as you offer any kind of contact via form, you're going to get spam, period. I have found that a hidden captcha/honey pot can work pretty well and avoid a lot of spam. That basically means a hidden text input field which is not supposed to be filled out and is hidden via CSS from visual browsers and screen readers. Spam bots tend to fill out said field anyway, which means the PHP logic of the form will not send it. Of course, at some point, spam bot will adapt to that as well … YL1 point
-
1 point
-
If your doing the opposite you better just do this: array ('item_tpl' => '<a href="{url}"><span class="nav_extra_title">{nav_extra_title}</span>{title}</a>') Then use this to hide empty spans $("#menu span:empty").remove(); I'm not sure, but most commonly you execute the script before dom even loaded. So if the script is like this in the header it will never work. A technique is to execute it after dom load. $(document).ready(function(){ // your code }); Or short method $(function(){ // your code }); Otherwise I don't know.1 point
-
You had me at hello. My order (developer licence) was placed successfully.1 point
-
1 point
-
Thats why i sugested the checkbox. Or you can add a check in your menu code with $page->viewable(). That should ommit pages with no template file.1 point
-
Having just used this article to simplify some of my own code, I have written up a full tutorial on the wiki using the Bootstrap Collapse plugin as a case study http://wiki.processwire.com/index.php/First_Child_in_a_loop Joss1 point
-
..and just under four months later the wizard himself has over 2k likes! Didn't say it aloud myself when he hit the first thousand, so here goes: thanks Ryan! There hasn't been a moment of "nothing to do" for ages for me .1 point
-
The tooltip() function is a recent addition to jQuery UI. The dev branch is using the new jQuery UI, while 2.2.9 isn't.1 point
-
I think maybe this is a matter of being on PW 2.2.9? No? I can look to see if the problem is my doing, I've been building primarily on the DEV branch so I would never have seen this error. Thanks Raydale1 point
-
You most likely ran out of memory. MAMP and other *AMP installs often come configured with 32 MB memory limit for PHP, which isn't enough to upload largish files via ajax. View your phpinfo to see where your php.ini file is located. Edit it, and change memory_limit to 256M. Also in php.ini, update post_max_size to be the same or larger. Restart server and double check that the changes took effect by finding memory_limit in your phpinfo output.1 point
-
No problem, access control is always a little hard to get at first glance. You can mix roles and have them granular as you wish. Also took me a while to get it.1 point
-
Then you would maybe create another role for them with only delete permission and remove the delete permission from the other role. Then assign the "delete role" to the template you want them to delete.1 point
-
We're planning to have JSON export/import for fields. Templates are a little different in that they have a file on the disk too. But we can still make the data structures templates portable in the same way as fields.1 point
-
If you do use SSL certs for parts of the site, and if those parts are not 'public' you could try using self-signed certs as you probably don't need to go to the expense of getting anything fancy from a "trusted" third party.1 point
-
I do the exact same as this quite a lot - obviously if you're tweaking things on a live site a lot and there are lots of visitors it's not ideal as if someone loads the page when you're just uploading a template change and you're doing this quite a lot they'll possibly get an error. I'm doing it all the time on a site at the mo though as it's not open yet - it's in maintenance mode anyway using my module (cheap plug ).1 point