Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/06/2013 in all areas

  1. Hey, guys. After much reading, learning, and experimenting with ProcessWire, I finally have something to show: humblebump.com It's not totally finished - there are some features I want to add - but I feel good shipping it as is and adding as I go. ProcessWire is great because I can add things as I learn. It's really flexible. Thanks for checking it out. Let me know what you think or if anything looks/works strangely.
    9 points
  2. It took me a while tonight but I think I understand option "pages" now. The affordance for flowing checkboxes into multiple columns is the cherry on top. I want to buy someone a drink. I am *thrilled* with this software.
    8 points
  3. So, while nothing happend here I contacted Ryan and asked him for setting up de.processwire.com as my little playground. What do you think about the current state? (I'm trying to add the left stuff tomorrow): http://de.processwire.com/
    6 points
  4. Thanks guys. I've just changed the release status to "stable", as there haven't been any real bugs to turn up, and I'm now using it on several production sites. If anyone is interested in seeing more details about the Apache bench test results I did, here they are. This is to the skyscrapers homepage, testing on localhost using the command "ab -n500 -c10 localhost:8888/skyscrapers/demo/". For all tests, I performed a manual pageview to the homepage before running, just to ensure the relevant cache was already active. The server is MAMP running Apache with PHP 5.4.4 on a Mac Pro (early 2008). ProcessWire is version 2.2.13. No caching enabled: Concurrency Level: 10 Time taken for tests: 29.066 seconds Complete requests: 500 Failed requests: 0 Write errors: 0 Total transferred: 11567500 bytes HTML transferred: 11361500 bytes Requests per second: 17.20 [#/sec] (mean) Time per request: 581.310 [ms] (mean) Time per request: 58.131 [ms] (mean, across all concurrent requests) Transfer rate: 388.65 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.7 0 8 Processing: 463 578 59.5 567 810 Waiting: 455 569 59.4 558 792 Total: 463 579 59.5 568 810 Percentage of the requests served within a certain time (ms) 50% 568 66% 591 75% 610 80% 622 90% 661 95% 693 98% 738 99% 760 100% 810 (longest request) Built-in Page cache enabled: Concurrency Level: 10 Time taken for tests: 6.809 seconds Complete requests: 500 Failed requests: 0 Write errors: 0 Total transferred: 11576500 bytes HTML transferred: 11370500 bytes Requests per second: 73.43 [#/sec] (mean) Time per request: 136.178 [ms] (mean) Time per request: 13.618 [ms] (mean, across all concurrent requests) Transfer rate: 1660.35 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.3 0 4 Processing: 93 135 17.6 132 249 Waiting: 90 130 15.7 127 236 Total: 93 135 17.7 132 249 Percentage of the requests served within a certain time (ms) 50% 132 66% 137 75% 141 80% 144 90% 154 95% 166 98% 187 99% 211 100% 249 (longest request) ProCache Enabled: Concurrency Level: 10 Time taken for tests: 0.117 seconds Complete requests: 500 Failed requests: 0 Write errors: 0 Total transferred: 11529500 bytes HTML transferred: 11370500 bytes Requests per second: 4260.61 [#/sec] (mean) Time per request: 2.347 [ms] (mean) Time per request: 0.235 [ms] (mean, across all concurrent requests) Transfer rate: 95942.85 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.2 0 1 Processing: 1 2 0.5 2 4 Waiting: 1 2 0.5 2 4 Total: 1 2 0.6 2 5 Percentage of the requests served within a certain time (ms) 50% 2 66% 2 75% 3 80% 3 90% 3 95% 3 98% 4 99% 4 100% 5 (longest request) ProCache Documentation and Order/Download page.
    4 points
  5. Hey folks, just found etherpad lite and I'm quite liking what I'm seeing. It's a live document collaboration tool and Mozilla has a server up and running where you can start public or 'team' documents you want to work on with others. I've just started one here to play with and invite you to join in and try it out. I wonder if this might be a way that we, as a community, might be able to work on documents for the wiki or something? Anyway, give it a try and see what you think.
    3 points
  6. Hey Processwire addicted, I´ve justed finished my portfolio site named misterui. Just a simple page to give me the oportunity to sell some of my work. The entire page is done with Processwire. I have coded a little eCommerce solution based on template files. Biggest need was that the page could do almost everything automatically, like creating invoice and notification mail. I came up with a front-end solution to handle orders. I could see open orders and closed orders, from the frontend I could advice the system to send the client his download link by just set the order to paid status. Orders are just pages with the data provided by the client and a attached file according to the product the customer ordered. The attached file is automatically deleted after 14 days to save some disk space. Well, pictures say more than thousand words. Just watch the attached video which shows the order process and the order handling for the superuser. https://youtu.be/Oz53MYdwtOg http://www.misterui.de
    3 points
  7. Well that's what processwire.com is for. de.processwire.com is for those that want to read about ProcessWire in German. I'm guessing people would still find out about PW from processwire.com first, and go to de.processwire.com to read about it in German. So it probably does make sense for the DE site to at least be a little more copy oriented than the main site, simply because that's the underlying purpose (native language). But my comment was really more just humor, brevity is an asset regardless of language.
    2 points
  8. Thank you both. I'm having a great time with PW as opposed to other CMSs I've tried in the past. I actually have fun putting things together and getting things to work!
    2 points
  9. Joshua, I'd actually like to do a full HTML Kickstart profile for ProcessWire, if that'd be alright with you. Maybe we could collaborate on it sometime?
    2 points
  10. Haha! It's gonna be legen... ...wait for it... ...and I hope you're not lactose intolerant because the second half of that word is DARY!
    2 points
  11. the world famous Lorenzo von Matterhorn
    2 points
  12. Kind of the same experience here, speaking of typo3. I‘ve never been a developer for typo3, but as a designer working together with developers I had to touch typo3 from time to time. Strange thing was: the CMS was implemented because the client wanted to manage his content himself (yeah, great idea that was) - but he felt so uncomfortable using typo3, that he called US to change his content in typo3. And: it was the same for me. I just couldn‘t feel like "yeah, I really like working with typo3." Everything was slow, complicated, strange... Maybe it was just bad installations and bad servers - but everything was different when I first worked with Contao and Processwire. So I‘m quite optimistic I will stay I while here...
    2 points
  13. I officially started my computer career on what was purported to be the second computer photo typesetting machine in California. Punch tape output. Paper all over the floor. Edits involved tape and scissors, feed the paper back into the machines reader. Sure beat lead and possibly catching your hand in an offset press. Got me hooked anyway.
    2 points
  14. To start, get a fresh copy of ProcessWire and install it (with the included basic profile). Then get a fresh copy of HTML Kickstart and unzip it. You'll want to take these dirs/files from HTML Kickstart (below), and move them to the root of your ProcessWire installation (where ProcessWire's /index.php file is located): /css/ /js/ /style.css I've taken the example.html that comes with KickStart and converted it into starter ProcessWire templates for you: html-kickstart-processwire.zip Unzip the attached file to replace the files in your ProcessWire's /site/templates/ directory. This includes these files: head.inc foot.inc basic-page.php home.php Now view your site. You should see HTML Kickstart's example.html file powering your ProcessWire site. Navigation should be using HTML Kickstart's horizontal menu and both bodycopy and sidebar should populate. I've left several static elements from the HTML Kickstart example.html as well, so you've got more to experiment with here. Let me know how it goes and if it makes sense. This thread is also related.
    2 points
  15. 2 points
  16. (Note: Module name temporary and will change) As recently mentioned here I am recently working on a little module. This module gives you a new admin page under "Setup" to create pages in a "batch" mode. What does it do - You can select a parent page where you want to create your pages. Then it will give you a list of templates you can chose from. Those should be permission and template setting aware. Also only parents that really can have children will work, else it will give an alert. - Add as many pages you like by clicking "+add Page". You can set the pages published or hidden status. Sort or remove the pages. - After you entered a template and at least a title you'll be able to klick "create Pages". If successful it will append the list of pages you just created with an open in page tree or edit link, and also the parent. - You can add pages and repeat the process to add pages to the pages you created simply by changing the parent page in the field above the table and go on. It's all ajax and not page load. Also the links of the created pages that get appended below will stay in the document and only the form entries get cleared. This is still work in progress, but I thought enough to share and if you like you can try/test/use it. Download: ProcessTools.zip Screen:
    1 point
  17. 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!
    1 point
  18. Fancy Admin Mode Just had a little funwith fancybox iframes, and created a little module that opens all admin links (topnav links, edit, view, new, copy actions) except "Pages" screen and "Site", "Search" in a FancyBox, so you'll never leave the page tree. It even works with inherit editing child pages. Download: https://github.com/s.../FancyAdminMode Little screencast to se it in action:
    1 point
  19. We just recently moved a ProcessWire site to our dev server and for some reason when we save a given page with an image placed in the WYSIWYG - on 'save' it seems to be encoding and adding backslashes to the image attributes as follows (HTML): <p><img src="\"/site/assets/files/1039/500x200.gif\"" width="\"500\"" height="\"200\"" alt="\"\"" /></p> Any ideas on a config / setting possibly making this happen?
    1 point
  20. @digitex I'm pretty sure that you have solved the problem for your use case. Can't see that causing any other issues, but I'm sure Ryan will confirm or correct that. (In PW it usually is as simple as that )
    1 point
  21. Hi retro and welcome. I think ProcessWire Pages are perfect to manage your models + you can use the Pw API for your queries. With the Page fieldtype, you can model all relations you need (1:n, n:m). Pw is really fast and as long you don't query "huge" data i think performance is not a problem. There's also the MarkupCache module to cache generated markup for a given amount of time in addition to the Template-Cache. (and of course the new ProCache module) Another advantage: You already have the admin interface to create/edit/delete data. Also you are more flexible if you need to extend fields. Is the site already online? However, if you decide to use custom tables, you can use a 3th party ORM or Pw's mysqli: //in Template $db->query("..."); //in Module $this->db->query("SELECT * FROM players")->fetch_array(); For the admin, you could create "Process" modules. These are sites that run in Pw's backend. I'd go with the first solution. Just ask if you have questions how to structure your Pages
    1 point
  22. Thanks Alan! Glad you are liking ProCache. I'm adding you to the ProCache board as soon as I finish writing this message. It is feasible to add it, and it sounds good, but there are some problems with doing this. It moves the render from one request to another. If a lot of pages were expired in the same request, it could even become quite a bottleneck on the server. The way it's setup now, the cache generation piggybacks on a page that's already being rendered, so it's very efficient and ProCache activities aren't ever going to consume all the server resources. Consider this scenario: a maintenance run expires 1000 cache files (a potentially common scenario on a large site)… if we have to regenerate them all right there (as opposed to when the page is next viewed) we will temporarily take over a lot of server resources… perhaps interrupting traffic to the site. Whereas, if we cache them on-demand (which is what it currently does), usage of those resources is spread out over a period of time, and generally focused on caching the most-important pages first. Even if we use cron to re-cache them incrementally, the use of resources would still be disconnected from the demand for them (i.e. caching pages that may not be needed in the short term while missing pages that are). But I understand where you are coming from. If you've got a page doing a lot of heavy lifting (perhaps taking several seconds to render) then you don't want any user to ever experience that. So I will put more thought into how such a situation could be handled. For now, if you want to limit the chances of users getting a non-cached page, the best strategy is to increase your expiration times and limit what gets cleared on page saves.
    1 point
  23. There is something about working with PW that seems to be encouraging people towards nice clean design. A great example!
    1 point
  24. Very impressed. Although PW has never felt slow or close to it this Module makes pages noticeably 'pop', even on a local test env'. A great strategy also for the robust commercial support of ProcessWire; the forms Module is excellent (bought) but of course not all sites need forms; but almost any serious site would consider this Module—Developer licence bought! One question Ryan/clever peeps, does the cron task noted in ProCache Maintenance not only clear out stale pages but also crawl the site so each page is cached ensuring the first page impression of any page by a visitor will be from cache, rather than the second and all subsequent visits? If not, could this safely be added as part of the cron?
    1 point
  25. In a corporate environment I would strongly suggest not hosting the intranet on the same server as a public facing site. In addition you would want to secure the intranet behind a firewall in a DMZ and use a web application firewall like mod security as well. Also you would typically separate your DB from your HTTP server and pass those communications through a FW and VLAN with monitoring. Sounds like overkill? Check out the cost for a typical compromise. Happens every day. I don't know your environment, but the fastest attack path against / into a company is compromising a site/server that employees use. That is not to say the PW is a security issue, but that security should be layered. And as soon as you start serving up sensitive corporate data, the game changes. Just saying.
    1 point
  26. Cloud9 IDE has a free tier for open source projects. Share coding sessions with chat and more.
    1 point
  27. Sounds like a good idea for a future Inputfield type though.
    1 point
  28. Do you have the Textformatter "Html Entity Encoder" applied to the TinyMce field? Remove it and it should work. Does it?
    1 point
  29. page-sort perm.say sort children not sort siblingers creat new role.u will give just page-sort perm put role .on parent tamplate (.teams? give.editors users new role in addishon to editor role now work ?
    1 point
  30. yes mats is right, this is the normal prev next function. just thought you want a prev next and pages navigation. So you got 2 solutions now
    1 point
  31. 1 point
  32. Try this: $page->next $page->prev http://processwire.com/api/variables/page/
    1 point
  33. to give you a starting point, this is the code snippet from the page i´ve posted <?php include('./includes/head.php'); $options = array( 'nextItemLabel' => "Weiter", 'previousItemLabel' => "Zurück", 'listMarkup' => "<div class='pagination pagination-centered'><ul>{out}</ul></div>", 'currentItemClass' => "active disabled", 'itemMarkup' => "<li class='{class}'>{out}</li>", 'linkMarkup' => "<a href='{url}'>{out}</a>" ); $items = $page->children("limit=10"); $pagination = $items->renderPager($options); echo $pagination; ?>
    1 point
  34. strip the words. as my marketing teacher said, keep it simple and strong. Means: as little words possible to tell your story. Try to write about 3 sentences with about 3-5 words maximum in the head. But so far you get a +1 from my part
    1 point
  35. Thanks for your advise! I think your instructions are so good, that I will manage! Lauri
    1 point
  36. Great addition to the already mighty PW offering, congratulations and thanks Ryan!
    1 point
  37. since i've done this kind of thing a lot, the first thing i notice about your setup is that you are using an image field within a repeater, but the image field already supports multiple images, so if i was doing this, i would not use a repeater, but just a plain image field, that allows multiple images. if you are only going to have 1 featured project, then this should work, assuming you don't put the image_field inside a repeater: $featured = $page->featured_project; $img = $featured->images->first(); $thumb = $img->size( 100, 100 );
    1 point
  38. Thank you @adrianbj! You're suggestion worked like a charm. Amazingly, it has cleared up all of the issues they were having - access is now fast, with no logouts. You're my hero! $config->sessionFingerprint = false; for the win
    1 point
  39. I wish that I had seen this earlier to respond. Awesome explanation and example Ryan! @siulynot - thanks for using HTML KickStart. Hope it saves you some time.
    1 point
  40. A solution might be to create a profile with some common elements, blog. sliders, galleries, portfolio, etc.. using something like twitter Bootstrap or Zurb Foundation for example. Then have a couple of different stylesheets to "customize the look". You get the same effect as a "theme". People could easily install the profile, customize the site stylesheet , add content, and be up and running. PW is not WP and that is a great thing.
    1 point
  41. Some $_SERVER variables like HTTP_REFERER can be manipulated by the client, so it's probably not safe to utilize without sanitization. However, since you are trying to keep track of the last page, I'd suggest using the $session variable. Place this at the top of your page before output: if($session->referrer_id) $page->referrer_page = $pages->get($session->referrer_id); $session->referrer_id = $page->id; Now anytime you want to access the last page, you'd do this: if($page->referrer_page) { echo "Last page you visited was: " echo "<a href='{$page->referrer_page->url}'>{$page->referrer_page->title}</a>"; }
    1 point
  42. Ah! You will have to explain that one to Joss and Mathew
    1 point
  43. Here is the recommended way to do this in ProcessWire (using your example): 1. Create a page: /options/favorite-foods/ (for example). Though call it whatever you want and place it wherever you want. 2. Add child pages: /options/favorite-foods/chocolate /options/favorite-foods/pizza /options/favorite-foods/gum /options/favorite-foods/waffles /options/favorite-foods/ice-cream /options/favorite-foods/donuts /options/favorite-foods/chips 3. Add a new "Page" reference field in Setup > Fields. Call it 'favorite_foods' (or whatever you want) For 'Dereference in API as', choose 'Multiple Pages' For 'Parent of selectable pages' select '/options/favorite-foods/' For 'Input field type' choose 'Checkboxes' 4. Add the new favorite_foods field to whatever templates you want, and you are set. More info: Need to add a new option? Add a new page under /pages/favorite-foods/ Want to do something cool with the template your favorite foods are using? Add this: <?php $links = $pages->find("favorite_foods=$page"); echo $links->render(); That would list all pages that had that particular favorite food selected. Perhaps this is a useful page in your site? Once you get used to the power of creating options this way, you won't want to do it any other way.
    1 point
×
×
  • Create New...