Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Philipp

  1. Perhaps we'll display the top 3 on the homepage or something. Currently "most liked" is a sort option, but default sort is by date modified.

    A "top pages" would be great. I would suggest that you make the top pages depending on the number of likes AND the time since the site was submitted. If not, there is the chance that only 3 or 4 pages will gain new votes while other pages can never reach that state.

    And great to see minimize.pw ;)

    • Like 2
  2. Everything you've mentioned is possible with ProcessWire. If there aren't any complete solutions avaible for Wordpress or Joomla then ProcessWire might be your best choice to build it by yourself. But remember that the great flexiblity comes from building your own "logic" and template rather than using 10 different modules from 10 developers. It takes more time but the result is customized for your problem then.

    Basic functionality would be:

    • listing and search of properties for rent and sale
    • blog layout display and detail display
    • gallery for each property
    • google maps display of location
    • google maps search
    • user registration
    • add to favorites function
    • send to friend
    • social share
    • and so on
    • Search and list the properties pages. No problem. Example pseudo-code $pages->find('template=house,sale=1");
    • Another view option for a list of properties. The detail page could be the template of the property.
    • The gallery can be a field with multiple Images or a extra page linked to the property. 
    • There is a GoogleMapsMarker Fieldtype. Works fine with some JS libraries for front-end integration.
    • Not sure about this one.
    • Now we come to the weaker spot of ProcessWire. It's no problem to build a simple signup form and make basic user management. But depending on your requirements you will have to put a lot of effort into this topic.
    • Fine if you only need it for a single user/session
    • Just HTML/JS magic. No problem and nothing special to ProcessWire
    • ...

    The backend might be your problem.

    for the agents

    • front and back end editing
    • restricted access to some sensitive informations (like landlords contact details, clients info and so on)
    • adding property informations with some already defined values in dynamic fields (street names for instance)
    • Jquery image upload (automatic resize, thumbnail creation, watermark add)
    • I am sure you get the picture.
    1. Backend Editing is no problem. But building a Front-End live editor thing is a huge project. Whole teams are spending weeks developing such functionality for other plattforms.
    2. Here you can look into the Module directory. This is possible with PW
    3. Not sure. You would define a source for this pre-populated data. Maybe a combination of a simple module and Page-reference field?
    4. Image resizing is no problem, neither is the thumbnail creation one. You can add a watermark with Horsts PIM module.

    Overall this is a complex project. Especially the front-end editing and the user thing can take some time. A basic system where you can have properties listed with details is easy and should be your first step. If you can invest the time you will get an awesome and flexible site.

    Split the project into smaller milestones would be my last suggestion. 

    • Like 5
  3. Thanks Horst for the honest feedback. You're right, I didn't handle this situation and our conversation the right way.

    • does the service keep IPTC? This one is mandatory for my colleagues photo-archive with 35.000+ images.
    • You advice to use a default quality setting of 100% with PW in the config.php for all images. That makes sense, but if the service is down for any reason, including expired licence key, you pass through uncompressed images (100% quality == 0% compression). You have no fallback in the service / system. (And if you add a fallback, please don't try to guess which quality-setting they may like for their images, ask them. - Means: make it configurable!)
    • I don't want only one potential client who visits the site have to wait. Not only one. Instead of sending images to the service and back and let the visitor wait until all is finished, you better pass through the local fallback and trigger the service in the background. This is much faster at first request and equal at second request. But much better is to create the images when uploading new images to the site. This way only the owner and or coworkers have to wait, but no vistitors / potential clients.
    • To find potential clients you need some reputation: which sites already use the service?
    • What's about the feedback of some satisfied customers?
    1. Yes, we keep the IPTC information. But please keep in mind, that we do some sort of compression that's not completely lossless. 
    2. That's right and its already on the list for the next update.
    3. Like normal image variations in ProcessWire, the first time you load the page takes longer. The person uploading the images needs to open the page once. That's not perfect but was the fastest working method. See below.
    4. We only have one live site and some sites in developement. That's a problem, I know.
    5. Same thing as 4. Or should I be quoting myself? :P


    We sat down today and based on your feedback wrote down some features for the next module version. They should increase performance, make it more configurable and the integration will be easier. We also thought about developers like Horst that have thousands of images.

    • Alternative hook after the image upload (based on selected fields). No need to call the mz() method or changing templates.
    • Option to overwrite original files or to keep a variation.
    • A pseudo "async" upload method. Images will be sent to our servers and then the site will render without the minimized images. If you open the site again, your PW will check if the minimized images are ready for download and replace/create the minimized files. No need to wait for our servers but results may take another page load before they appear. We don't want to open a "pipe" (e.g POST /receiveimages/) to write them back to the file system once compressed. 
    • Fallback to PW compressed images.

    On the server side we will then build a complete queue system for better scaling across multplie server instances. It also allows use to use the slower but better options of PNGQuant or JPEGOptim. 

    The goal is to release this in the last february/first march week.

    • Like 5
  4. Thanks for the feedback. Great thoughts.

    And I do think your service is wonderful. Teppo pointed out that this service could work if it is a one click, put it on/off service.

    I think this should be our priority No. 1 for the next module update. Select the image-fields you want to minimize and done. We just have to decide what happens to image variants and how we can "catch" them.

    I'd try to make the benefit of this service as clear as possible and consider what @apeisa said about minimising images during upload. Latter is what I see as the biggest flaw in your current product, actually: if the service would automagically start working after one-click install I believe it would be a lot more beneficial than current solution.
    Ease of use combined with very clear explanation about what happens when your free quota is gone (does the service still work, does it prevent using the site normally etc.) and easy way to upgrade your plan and you've got a winner.. probably :)

    That was on my mind when writing the assumptions above. We couldn't clearly communicate the benefits of the module/service. That you will get faster page speeds because a webpage nowadays contains mostly (large)images. Question: Target more the developers or our "customers" (clients).

    As of today, the module will still work if our servers go down or your licence key expire. You just won't get minimized images because the module hands through the original PageImage. If you want to update your plan, buy another licence key... ?

    And again, the 1-click-solution as mentioned before. Got this one :P

    if we have 5000 active developers/agencies working with pw and 10% are interested in image sizes, then your current audience is 500 people. No clue about usual conversion rates, but to really make money you do need superb product and marketing. And most importantly: time.

    Our intention was never about "big money". The dev community here is small (compared to other plattforms) and we knew this. We could reach out to other CMS like Typo3 or Wordpress but thats not the plan and there are already other solutions out there.  We just thought, that we would have more than a single "Free signup" after three weeks and maybe even a sale(!). 

    We made the service commercial, to cover our server costs (currently a single instance for 20$/m) and maybe to get a little bit more to cover the costs for e.g. Ryans ProCache and FormBuilder for our own use. It's not for everyone to setup the scripts and a server to compress images. It should be as easy as possible and you should just have to focus on using the service rather than running it. 

    It's hard to find prices and the right way to market your product. I think we still have to figure this out and see, where we will go. We will invest some more time but this might result in a better outcome for everyone (even other developers who might try to make a commercial service/module for ProcessWire).

    • Like 2
  5. Thanks Nico.
    After three weeks, we want to share our experience and some informations about the module and service. We think that an open and honest approach on this topic might help others to develop great commercial (and free) modules. 
    minimize.pw started as an internal solution for a problem. Working with an agency with large PNGs, we searched for a way to compress them with PNGQuant. We thought that other developers would be interested in this kind of a service and that lead us to the decision to make it a commercial service. We have to pay for the servers and maintenance.
    The whole developement took around 3 days with some additional hours in writing backend jobs like backups and payment management. 
    As today, 21 days after launch, we've only got a single "Free" signup and zero licences sold. We got some E-mails and questions but nothing more. Beside our internal usage on three client sites not much happened. We didn't expect much, but we thought there would at least be more free signups.
    So what went wrong? Well, we made some assumptions:

    • There is no interest in this kind of service. 
    • The pricing is to high and the free plan isn't worth a look.
    • Our website could't convince visitors to use the service
    • To many open questions because there isn't a FAQ or something similar
    • We just have to wait longer
    • The module missed some important features

    We hope that the first point isn't true. With some feedback from twitter, we think that there is a market for some developers to use this service. The same applies to the last point - at least we should have some more signups. So we might have to improve the remaining 4 assumptions.
    In the next week, we will update our service/site:

    • An improved and better free plan: You will get 1000 images per year and you don't have to renew after a month.
    • More images on new paid plans (replacing the old monthly model):
      • Standard with 30 000 images / year and up to three sites for 39€
      • Large with 100 000 images / year and ten sites, 99€
    • A new webpage with better examples and a FAQ. We will later add a case study with a larger site.
    • Planned features for the module itself:
      • Compression while uploading images
      • Replace images instead of making variants (as an option)
      • Usage with the Thumbnails module (CropImage)
      • (An Async performance modus)

    But before doing this, we would be glad to hear what the community thinks about this. We would appreciate some feedback and/or your thoughts on the service and the module.

    P.S. Here is a special key with unlimited images and sites, valid for the next four weeks: zE1DptpPYN

    • Like 4
  6. The root page of all other pages, or called by it's path/name "/". Normally with the template "home". 

    The URL for the home page ist the prefix for all language URLs. Normally, home doesn't have an url because it's url is the trailing slash /. 

  7. Thanks for trying it - it was just written from scratch here in the forum.

    The guide was just simple and you should just try to follow the steps. Don't be confused with stuff like LanguageTranslationFiles or the FielChangeWarning.

    That's the dirty part of the guide :P

  8. Quick 'n' dirty guide if you want a single page tree with the same content in different languages. The URLs will then look like example.com/en/my-article or example.com/de/mein-artikel

    1:) Download and install ProcessWire

    2:) Install the modules you find under the "Language" Tab. 

    3:) Go To Setup->Languages and add new languages. Please note, that the default one is also the default language of your site*

    4:) For every field type text or textArea change the Type to TextAreaLanguage or TextLanguage. (e.G. body with TextArea becomes body with textAreaLanguage). You fields should now have multiple tabs for each language, if you edit a page.

    5:) Go to the root page (/) and look under "Settings" Setup an URL for every language, e.g. en,de,ru,... . Looks like this: http://take.ms/34Tq5

    6:) Create pages and fill in the content. You can build a front end language switch as described in Ryans API Language page.

    ProcessWire will take care of changing URLS (e.g. /en/example to /de/beispiel) and you can access the current language via $user->language;

    *It's possible later to define another language as the default language.

    • Like 15
  9. Hey folks, just wanted to add this side project to the list of incredible ProcessWire sites.



    It's a site where you can download Wallpaper, taken in my home town Heidenheim. The idea was to ask more photographers to add pictures but thats currently only a future plan. The whole site didn't took any longer than one evening.

    • ProcessWire 2.3.x dev with ProCache
    • Apeisas Thumbnailmodule for the cropped variations of the image
    • Some Lazyloading JS magic
    • Responsive CSS Grid.

    Anyone interested in a site profile from this page? 

    • Like 9
  10. It minimizes the images the same way thumbnails (e.g. ->size(120,60)) are generated. The image takes the trip to minimize.pw and returns. So the first time, your page loads you will notice the longer page loading speeds. After that, the minimized image is served from your disc. It takes around 15seconds to compress 5MB PNGs to 1.3MB PNG or to compress two 6MB JPGs to 3MB JPGs.

    The next milestone for the module is a feature where it will replace the image directly after upload - so the minimized version will be the only version on your disc and the performance should be better. Another plan includes an async method to send the images back "behind" the scenes - but only if there is a need for such a function.

    • Like 2
  11. Update 09.05.2014: new version of minimize.pw released. I've updated this post and you can read more here.

    A service and module to make images lightweight: minimize.pw 
    Our new commercial service for ProcessWire: minimize.pw  With minimize.pw, you can shrink your images (JPG and PNG) without noticeable visible differences up to 80%. This makes pages load faster and helps you to work with people not familiar with command line image compression. You can try it for free.

    Learn more
    Download the module
    Github Page

    Module features

    • Hooks into any Pageimage with ->minimize() (short ->mz() )
    • Automatic compression with a 1-click-setup (new)
    • Overwrites original files or keeps both versions (new)
    • Image compression with minimize.pw
    • Fail-safe mode so that your visitors won't notice any problems if we're offline or you have no volume left.

    Usage with templates
    First, download and install the module. You have to enter a license key.

    To embed a minimized image into your web page, simply call the method mz() or minimize() on your Pageimage-object. Please note, that is has to be a single Pageimage. We also support apeisa Thumbnails module.

    $img = $page->image;

     Or put in context

    $img = $page->image;
    echo "<img alt='A minimized image' src='{$img->minimize()->url}'>";

     You can also use it combined with other Pageimage methods:


    Read more at Github

    While the module is free, our service is fee-based. We have to pay for servers and traffic ;) With this version we've dropped our year-based pricing structure and introduce a new volume-based pricing. Everyone gets 2000 images for free and you can buy additional volume anytime.

    • Free: 1000 images once 
    • 5000 images / 19€
    • 15000 images / 39€
    • 50000 images / 89€

    Buying more volume will also drop the site limit of three.

    Feel free to ask any question you might have. 




    • Like 15
  12. Running PHP Version 5.3.27, memory limit set to 64M and max_execution to 60 seconds. Trying it with 128MB now.

    Looking through the logs, I've found some suspicious entries. Time it little bit off: 

    [Thu Jan 16 20:12:50 2014] [error] [client 87.165.***.***] mod_security: Access denied with code 406. Pattern match "cc:" at POST_PAYLOAD [severity "EMERGENCY"] [hostname "redacted.com"] [uri "/processwire/page/edit/?id=22354"] 

    If this is the issue, Ryan was right. Thanks. Looking into mod_security now. 

    EDIT: Solved! Google spit out some interessting links for "POST_PAYLOAD" and mod_security. I've deactivated the POST filtering for mod_security. Just add this to your .htaccess file:

    <IfModule mod_security.c>
        # Should mod_security inspect POST payloads
        SecFilterScanPOST Off

    Taken from this site (more info)

    • Like 2
  13. Sorry for pushing this old post. Been quiet some time but have to report back with some research. Not solutions but some useful intel for other people having the same problems as me.

    • Using a normal ProcessWire 2.3 download and installing it without any 3rd party modules produces the problems too.
    • I've looked through the php.ini, all configs and every switch I could find. Found nothing that could possible cause the problems. Limits are way over the file sizes.
    • File name, file content etc. isn't a problem. Tried several combinations.
    • This problems especially occurs with PDF files and images. 
    • It's a problem with our server, not ProcessWire :P

    I've found one problem with JPG files saved in Adobe Photoshop:

    • Open a 16bit JPG/TIFF file (e.g. from Lightroom)
    • Saving it as a JPG with "Save as..." will cause the upload to fail. Stuck at 100%.
    • Converting the image to 8bit in Photoshop by changing the image modus helps. Save it again and the upload works.
    • Reproducable

    No idea why it happens, but this fixes some images. I've started to look closer to the PDF files and tried the same thing here:

    • PDFs are saved with Adobe Illustrator CC via "Save copy as..."
    • Saving a PDF with either 8bit or 16bit JPG included doesn't make a difference. Uploads fails with the default Adobe settings.
    • Removing all meta data (previews, editable paths) doesn't help
    • Changing the PDF version from 1.3 to 1.5 doesn't help.
    • Specify a output color profile doesn't help
    • But: Removing all meta data AND specify a color profile makes the upload work. Didn't get stuck with 100%. PDF 1.3 to PDF 1.5

    That's all I could figure out. If you have another idea let me know.  Thanks.

    • Like 2
  14. Couldn't you just use the current page number and generate the URLs according to this?

     $input->pageNum gives you the current page.  Example:

    $nextURL = $config->httpHost . "page-" . $input->pageNum + 1;

    Of course, you would need to deal with the last and first page. 

  15. Update on the site. 


    We've launched an overhauled version last month. Large image, simple navigation and a responsive design. I've tried to keep the site simple an clean. Behind the scenes is the new dev version of ProcessWire, the Justify CSS Grid and Typekit Fonts. Of course, the site is cached by ProCache.


    You can still see the old, 2012 version here: https://v2.conclurer.com/ (ignore the SSL error)

  16. Just did some fixes to the site. They uploaded PNG images which still were around 500kb in size for the news thumbnail. Beside this fix, I've tried to minify the CSS and delay the load - but unfortunaley, we didn't the cleanest work in the JS files back in March. The slider won't render with defered loading and there were some little issues. Now the JS is minifed but not combined into a single file.  

    ProCache off:


    Turned on and created a cached version before the test:


    The pingdom test is kinda strange. I've got a better score with slower times from the benchmark. 

    My own "feeling" test resultet in a much faster page respond speed. I think, the real benefit of ProCache is also the ability to save the server ressourcen. If you alot of traffic suddenly, your site might still be running fast. 

    EDIT: Minified the HTML Output and run the test again with ProCache turned on. Yet another result:


    EDIT2: The min.css wasn't minified after all. Saved another 9.6KB.


    Pingdom really depends on the time of the test and their own server response time.

    Google now downgraded me to 89 and 94. I know that the prefixfree blocks CSS rendering (but it helps me alot to develope sites and its quite fast). Some images uploaded by the users need optimization. The goal is to get below 500kb and one second :P

  17. Tested a website with ProCache activated. I also did some other stuff like gzip compression and some tweak for the htaccess I've found around the net. Don't forget about a clean and lightweight html markup and compressed CSS/JS/Images. 

    Got a 90/100 + 95/100 Google Page Speed.


    I didn't add a JS loader or integrated CSS for the "above the fold" category. Here's a nice guide to do that


    EDIT: It's funny, that google does critize its own Webfont CSS Loading... 

    • Like 3
  18. I've run into this issue again: When uploading a PDF file, the upload stops at 100% and no file is saved. This is problably not a problem with the server configuration: I've checked the php.ini settings and I can easily upload some other PDFS or large iamages without any problems. It only occures with some PDF files.

    • Some PDFs work, some don't. I've attached an example.
    • The PDFs were created on Mac OS X (using Adobe software). 
    • Saving the files again with the preview.app on OS X helped once. 
    • Tried uploading them from another computer / OS - without success.
    • I can upload larger files, other file types or other PDFs to the installation without problems.
    • Two users had those problems.

    Just using a standard file field.  

    Can someone maybe try to upload the PDF? If it's possible, it might be the server configuration. If not, I'm note sure where to look for a solution. Might be a wrong structure of the saved pdf. There is nothing special in the ERROR Log or in the debug view.

    Thanks for help.

    (Removed the attachment)

  • Create New...