Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Posts posted by Philipp

  1. Cool! Installed it on a test site. I like the basic idea but think there is still some work to do on the execution.




    User: demo

    Password: demo123 

    (Hint: Yes, that is a shameless self-ad for lightning.pw. Hope that's ok)


    But most of the points adressed in the onboarding PDF could be fixed with little changes to the default text and for example providing a preview of the admin URL instead of only the name.


    • Like 8
  2. Update time! We've launched lightning.pw over the weekend.

    I've added more information on the first post. Try it for yourself now and use the coupon code PROCESSWIRE for a free credit. Any feedback is welcome.

    Please note, that we would still call this a beta version. We are note sure how many ProcessWire sites we can fit on a server so we might have to finetune some settings for better performance later. Also there are still some little optical improvements on our todo list. 

    • Like 8
  3. (Correct me if I'm wrong but) The datetime field outputs a UNIX timestamp per default, right? If not, you could convert it to one using the PHP DateTime function.  You can get the unformatted UNIX timestamp as LostKobrakai described above.

    With a timestamp, you could simply add 6 days to the date and output it with the date() function:

    //Future date is calculated on page. 86400 = seconds for a day)
    $future_date = $page->getUnformatted("week_beginn") + (86400 * 6 );
    //Output the timestamp, formated to something like 2014.08.20
    echo date('Y.m.d',$future_date);
    EDIT: Using getUnformatted()
    • Like 1
  4. woop, you hide the best part on the last slide. To quote his PDF:

    Modules and themes doesn’t help the user understand the system. It just tries to hide the complexity by adding more complexity. 

    I like ProcessWire the way it is. Clean and minimal. Please, don't tell me how to do things. Instead focus on tutorials, guidelines and articles that explain how to use the tool ProcessWire to build great sites.

    My first site with ProcessWire was quite easy and not a complex monster. I learned how to use different field types and how to structure content with each project and I'm still impressed, when I find a new way to solve a problem with ProcessWire. That wouldn't be possible, if I had everything finished. Then I would say "Oh thats great but not exactly what I needed". 

    ProcessWire as a clean and minimal CMS/CMF to build a website is great. Ryan should try to improve the system itself and keep bloat away. (In my opinion, the new 2.5 with all it's profiles is even too much to start). There are other areas to improve, beside the system and most of them were mentioned before in this thread:

    • Better onboarding process that guides the users
    • A single place for all the little code snippets and fragments.
    • Tutorials for beginners and experts. Maybe have a look the new Kirby docs
    • More site profiles to start with, but not bundled by default (Download during the installation?)
    • Like 15
  5. That's right. We're still in closed development. Apache just searches for the first active virtual host which is the PMA at the moment and redirects to it. PMA will be used if you ever need direct access to the database.

    I hope we can launch this weekend .. only one part of the backup script is not ready for prime time. This part is critical, because we don't want to lose your data. Otherwise we're testing the system and are fixing bugs. 

    You can follow us on twitter for more information: https://twitter.com/lightningpw

    • Like 1
  6. Is your profile_image field a single image field? If not, you can either change this in the admin area by setting the maximum of files for this field to 1. If not, you could access the "first" image with the first() method.

    $thumb_contest = $contestant->profile_image->first()->size(50,50);

    If this doesn't work you might have to check if you have the right pages in the PageArray $contestants.

    • Like 1
  7. Thank you all. If you have something else on your "wishlist" for development let us know.

    We spent the last week working on a super boring SAP shop for a university project so progress slowed down a little bit. However, I've made a new  video to show the latest features we've been working on.

    Beside the new "Create site" page and the workflow for new users, we build backend features like the version change and a backup system. The service always has the latest ProcessWire files from github and it's possible to schedule sites for deletion now. Some bugs are still open and the Help page was just started.

    Our plan is to launch the service to the public in the next week. 

    • Like 7
  8. This is possible, of course. It's a "normal" ProcessWire after installation where you can access the /site/ folder. So you can create a new demo user, modify the config.php and then you have a showcase.

    It's also easier for developers to test a module against multiple versions of ProcessWire because you can change the version as you wish with a single click. So trying out my module in the latest dev? No problem. 

    • Like 5
  9. UPDATE: 14.09.2014 We've launched lightning.pw!
    Create a new ProcessWire site in under 30 seconds with lightning.pw . Our new service will help developers to work together on a new site, enable new ProcessWire users to explore the CMS and you can now easily test a feature or module. Our goal was to replace the long localhost setups so that you can instantly start developing. 


    Current launch features:

    • Create new ProcessWire sites
    • Choose between ProcessWire 2.4 and 2.5 or the latest dev version
    • Choose a profile on installation
    • We setup a custom subdomain and will provide you a FTP login for file access
    • ProcessWire works as expected. Every feature (except PHP sendmail) works. Install modules, write templates and create new sites as you wish
    • Dashboard to manage multiple sites
    • Upgrade (or downgrade) ProcessWire with a single click
    • Free Hosting for module developers.

    Planned features:

    • Save and use your own installation profiles
    • Custom subdomain names
    • github/bitbucket integration
    • Create snapshots of your site
    • Free integration of minimize.pw for image compression


    lightning.pw is free to use. You can buy credits to expand a site after the free usage timeframe of seven days.  Credits start at 3€ per month but get cheaper the more you buy. If you develop a customer site for an average of 6 months, you would pay 15€ for the whole development setup. If you think the price is high, please notice that we don't want to oversell our servers and that we want to build further features. 

    If you have developed a free module for ProcessWire, you can contact us to get free hosting for your showcase or development site.

    Bonus: You can use the coupon code PROCESSWIRE to get a free month. Just enter the code under the Payment section on the dasboard.


    The first intention for this project was our own need for a simple development solution. lightning.pw is build with Ruby on Rails and uses a custom written ProcessWire installer. We worked hard to maximize security and stability of the service. We create a backup of every site every 12h and can scale within minutes if server load increases. 

    You can ask questions here on the forum or follow us on Twitter for updates (and maybe coupon codes ;) )  

    Try lightning.pw and tell us what you think. We appreciate every form of feedback! 

     --- original post ---
    I will keep this short. We worked on a new project for the last couple of days. Instant ProcessWire hosting for development, testing and as a showcase for ProcessWire. The idea was on our mind for over a year, rested when the community won the bitnami contest but was finally started when we needed a better tool for our internal development.
    Excuse my bad mix of Englisch and German and watch the short video that explains and shows the basics:

    The features include
    • Installation of any ProcessWire version in under 60 seconds
    • Complete setup of a profile for ProcessWire, you can select the profile
    • FTP access to the /site/ directory
    • Login to ProcessWire with your lightning.pw account
    • Own and custom subdomains
    • Complete ProcessWire where everything works as expected
    • Secured and fast server, restricted access and daily backups.

    Every site is free for seven days and will be deleted afterwards, except if you choose to extend the site with credits you bought. Module developers can host a showcase/demo for free.
    Our plan is to get the best experience for PW developers and small teams. Maybe it will help ProcessWire grow or maybe it will just stay a tool we use for our own sites. We have a github/bitbucket integration, custom profiles and an export workflow on our roadmap. 
    We would be glad to hear your opinions and your feedback on this idea and the current execution. What feature would really make this attractive for you?

    • Like 28
  10. We're neither using one of the three you named. At the moment, we (2 people, sometimes 3) setup a subdomain on our webserver and develop together via FTP.  For large projects, we're using git (via bitbucket) and we commit to the repo and then the server replace the files. This is far from optimal but it works, we can show the progress to clients, work on the same database etc.

    I would really like something were I can use GIT as a tool to monitor code changes but have the flexibility of a simple ftp login and where I can show progress to clients. 

    • Like 2
  11. Really like the page. Great layout and it's clear what they do. 

    One small suggestion: Maybe you could replace the logo on the top-left with a retina/high resolution one? Everything else on the site looks nice and clean on my macbook. (Yes, I know. People with high density screens are the minority but we're growing fast ;) )

    • Like 1
  12. 1) Introduction
    A great ProcessWire site is useless without visitors. If the site lacks of direct traffic, the webmaster has to rely on search engine users clicking on the right result. The goal is a good position on the result pages of special keywords. Optimizing sites for search engines, mostly Google, is called Search Engine Optimization (SEO). You will find many of techniques, methods and ideas on the internet. The topic is widely discussed and new ways of SEO arrive every day.
    This tutorial covers the technical aspect for SEO with the ProcessWire CMS and should give you a general overview on the topic.
    2) Why ProcessWire fits perfectly to your SEO strategy
    With ProcessWire, nearly all practices for SEO can be used. It might be one of the best CMS in this field. Let us explain these   bold claims.
    Every SEO aspect is related to the content on your page. It can be some meta tags in the HTML-Head or how you structure your headings. Even microformats are just another way of how markup is presented to the visitor (or the search engine bot). After all, it's the logic on how we generate the HTML that we try to optimize. Where to put the content, how to define a site description or how URLs are made up. Most SEO modules for common CMS like WordPress or Drupal are generating the right markup.
    ProcessWire is a little bit different. As you might know, there is no pre-defined markup. Every line of front-end HTML code can be written by the programmer. As a result, there is no limit on how we can structure the HTML. You want those new fancy HEAD Attributes? No problem. Grab the first image of a gallery and define it as the meta og:image? Easy job, even if you need a special resolution for Facebook and a smaller one for Twitter.
    So, what do we have to do? We can't just simply install a one-click "SEO module". We have to define, which fields will represent which HTML attribute or how we wrap the content into microformat schemas. Ask yourself the following questions:
    • Which values(keywords,descriptions,information) do I need for my SEO strategy?
    • Are those values stored per page, for a section of your site or can they be defined for the whole site?
    • Should the user/administrator enter those values or can they be combined/calculated based on other fields?
    • What happens if there is no value defined for a field? How does the fallback look like?
    Beside that, some good practices for SEO are already implemented by ProcessWire. The URL structure representing the page tree is clean and you can even customize it to fit to your requirements.  Unique URLs are standard. With modules like ProCache, MinimizePW or AIOM you can optimize page speed quick. Everything else, expect the server performance is part of the undefined HTML markup.
    3) Example on how to integrate meta tags (or anything you like)
    We want to have some keywords and a (short) description in our HTML Head. So we create two fields, calling them e.g. keywords and description and add them to a template. Create a page with that template and enter some keywords and a description.
    In your template file output the fields in the HTML head:
    <meta name="description" content="<? echo $page->description ;?>"/>

    That's all. We can now extend this to have fallback or choose the fields with a more advanced logic. Nico explains this for example in his blog post.

    Extra hint: If we want to fallback on the (mandatory) title field of a page, we can use the ->get Method.
    <meta name="description" content="<? echo $page->get('description|title');?>"/>

    This will use the title field in case the description field is empty. You could use this to provide the user an option to "override" the SEO logic by manually entering the values.

    Another example would be the alt-tag for images.
    To provide an alt-tag for an image, we use the description field of the image field. In this example, we take the first image from the field "images" on the page.
    <img src="<? echo $page->images->first()->url ;?>" alt="<? echo $page->images->first()->description;?>"/>

    The description attribute is part of every PageImage field. You could hide it from the backend but it's visible by default.

    4) Modules for SEO
    This module will generate a sitemap.xml that can be crawled and used by search engines. The basic setup just generates a sitemap.xml with every page included. You can finetune the settings if you want.
    This module sets microformats for content in TextAreas/WYSIWYG areas. It will wrap basic content into the right schema.org schema. The module page provides further information
    Moving a page to another URL? With this module you don't have to worry about visitors getting an 404 error. It will try to track changes in the URL of pages and redirect visitors to the new location - as long as there isn't a new page with the URL.
    Sometimes you want to have some entry-pages for special keywords. If you need a special domainname for those site, you can setup the Multisite module. 
    5) Further links and tutorials
    6) Conclusion
    Maybe this little tutorials helps starters to get an idea, on how to optimize their page for search engines. This might seem little bit more difficult then just to install a one-click solution. But if you put in an hour to just think about a clean and readable markup with all tags, you will get great results.
    Any additions or practices are welcome. I will try to answer any questions in this thread and make the tutorial better over time.
    • Like 24
  13. I have to show another ProcessWire while about 10 000 guest are entering the festival area. We've made this site exactly 125 days ago and while it's not our best page, it has some kind of interesting background story.



    This is a website for a german two-day electro festival. Some better-known DJs will be playing there and thousands of guest are expected (They hope to sell the ticket no 10000 this evening). The website features basic information pages, a DJ voting contest with FB integration and a overview of all ticket stores. It's build with ProcessWire 2.4 using FormBuilder and the AIOM module.

    How we got started

    Our existing client asked for a "small countdown page". They bought the "rights" of the festival and needed something quick to start the promotion. The problem? We didn't even had access to the domain but they printed the first batch of ads and flyers with the URL on it. The first mail came on Wednesday and the site should go online on friday. Don't we all love those kind of challenges... ;)

    As expected, the site requirements started to grow. We didn't had time for proper project management or any kind of planing. The whole site was build quick and dirty in under a week. We hired another coder to help us. The site is far from perfect, we know. It's hard to get the best results without proper communication and the lack of time. Anyway, the site was online and features were added quickly. 

    The festival last year had about 2000 attendees. We saw the line up after we build the site and that was the point we realized, that our client had something bigger in mind...

    The Domain

    The domain was already printed on thousands of flyers when we first heard of the project. At that time, the old agency deleted the domains without a notice to us. We could get the open-beatz.de one but a domain shark got the name without the - . This stuff can get really expensive so we had to negotiate withe the new, unwanted domain holder. After some mails we got down from 5000€ to a smaller three-digit price. Lesson learned (and paid).

    The DJ Voting

    DJs could apply with a sample soundcloud set. The DJ with the most Votes (in form of FB likes) will play at the festival. The whole contest was embedded within a facebook application tab. The page had 406 DJs listed with a sum of around 11k likes. A DJ was represented with a PW pages were we counted the likes on that URI using the FB API. 

    The contest is now hidden but you can see an example page here: www.openbeatz.de/dj-contest/wildchild/

    The TV ad and numbers

    You open Facebook and then you see the status "OpenBeatz TV ad in 5 minutes on RTL". Great, why did nobody tell us? The site was featured in multiple ads on the german RTL and RTL2 (larger) tv stations with the URL at the end. There were even ads at prime times like 19:00 and 20:00. 

    Traffic peaked between 2000-4000 additional unique visitors after each clip. ProcessWire took it like a champ even without ProCache. For the stat nerds: 72% of those visitors in the time after the TV ads were on mobile.

    In total we had an average of 1700 unique visitors every day with a peak of 11k visitors. The site was also shared on the artists facebook pages which brought another 1000 visitors within a 30 minute time frame.

    What did we learn?

    Plan ahead and communication. Make double tripple sure that your client tells you all the details and the size of the project. We started to small. If there is no time don't rush. If I could travel back in time, I would just delay that stupid countdown page for a week and plan a better version of the PW site.

    Planning for the next OpenBeatz festival website will start in two weeks. Next time we will be prepared and launch a better site with lots of useful and cool features. Again, using ProcessWire :) Ideas are welcome.

    One more thing: The whole site isn't a site on its own. It's just part of the Rocking High website using the Multisite module. But I thought a new thread in the showroom was appropriate.

    Have a nice week end!


    • Like 11
  14. We're proud to release our next and new version of ProcessImageMinimize (1.0) and the minimize.pw service. As mentioned here and on Twitter we've worked hard the last two weeks. The whole service has been rebuilt from the ground to support all the wanted features of the community. It's faster and more reliable, it works out-of-the box and has a new pricing structure.

    • Images are processed async. behind the scenes
    • The service works on a queue now.
    • The service has new compressions scripts with higher quality output, especially for jpg files
    • Build to scale: We can scale the servers in under a minute and handle thousands of images without any problems
    • The module uploads the image and waits until the image is minimized. 
    • If activated, the module is now able to replace the original image file instead of creating a .mz variation
    • If activated, the module automatically sends every new image to the service
    • The module also works with apeisa Thumbnails module (CropImage), adding an getMzThumb($name) method
    • While the image is beeing minimized, the module creates a temporary image. You can now set a quality of 100 on your image config without problems
    • Direct link to the new dashboard at the module settings page
    • The module now tells you if you have no volume left.
    • The module also features the "classic" way of using the minimize()/mz() API method on PageImages.
    • A new dashboard for customers features statistics and a quick overview
    • You can see traffic, compression rates, saved bandwidth and more for each website using your license key.
    • You can browse old invoices.
    • New pricing structure
    • The pricing is now based on a volume-based point system. Buy more volume(=images) for your license if you need them.
    • No yearly price, no auto-renewal. And  1000 2000 images for free.
    • A new website with an overhauled design and more feature information
    • A new little minigame to compare minimized JPGs.
    • All the old features like secured https connections, the fail-safe module and our image size reductions.
    • The few existing customers are migrated with some extra volume :)

    You can read about the features at our new website.

    Ready to start?

    Download the module and read the documentation at Github

    For the first week, we will give all new users 2000 instead of 1000 images for free. So signup and try the service. This should be enough for alle small- to mid sized projects.

    If you need more than those two thousand images, you can buy another 5000 for around 19€ or 15000 for 39€. You don't have to update your license key on your module configuration after buying more volume. Paying for the service also removes the three site limit.

    Attached is a screenshot of our development dashboard and the new homepage.

    Please note, that we currently don't support a full ProCache installation. At least one PHP call on any site has to be made in order to activate the module. We have a plan to solve this problem but it's not implemented in this release. Also the stats don't display the correct amount of images sent for old customers, because we haven't tracked them before.

    Thanks for your previous feedback. Thanks to all the developers using our beta. You really helped us. We hope that we can provide a valuable service to the (growing) ProcessWire community.

    Feel free to ask any questions. Submit your first impressions of the service, the website or any other aspect. As mentioned before, we want to be open and honest.



    • Like 9
  15. When compressing the PNG image with ImageOptim (and the underlaying programms) you reduce e.g. the color depth of each pixel indivually, you remove full alpha transparency on complete transparent pixels and you reduce the color palette. Lots of stuff happens and basically the whole file is "repacked".

    ProcessWire isn't (and can't be) that intelligent. When resizing you create a new PNG file without all those optimization. ProcessWire reads the file and puts the image content into a new file using the full 24bit for every pixel of the PNG file. As you have already noticed, the quality settings don't have that much of an effect on the final image size.

    You would have to use ImageOptim again on the thumbnail.

    And as a shameless self promotion: There is our ProcessImageMinimize module/service which does exactly the same as ImageOptim but directly "on the fly" with ProcessWire. With the next version launching this weekend, you can minimize up to 2000 images for free.

    • Like 6
  16. Nice site and I like the overall look. The idea with the whole menu through the menu button is neat.

    I'm having the same problems as teppo While scrolling, images pop up randomly or are loaded after I've scrolled past them. Using Chrome on a Mac (the one with a retina display, maybe the Javascript reads a wrong value from display height?)

  17. There is no option to use minimize.pw on a configured field-based selection. In this case, you can use the API method to select the fields you want via template code. We've added this to the list of features implemented later.

    Currently we're working on the new website and nicer dashboard with more statistics. We also found a way to optimize JPGs more, but we will use this gain in file size to compensate for a higher JPG quality level.(85 instead of 80). On a side note, PNGs are even smaller and we will implement an option for (animated) gif files. 

  18. Thanks for the feedback muzzer. Good timing!

    As some people already noticed on twitter some hours ago, we're working on the next version of minimize.pw. 


    We've listen to all your feedback and have rewritten the whole service. It now features an async way of minimizing images that takes some more time(a minute) until changes are visible but it works much smoother without any noticable increase in loading times. We just did a live test on a site with 2000 images and around 800 visitors/day and we couldn't measure any drawbacks.

    Beside, the basic new features of the module will be an option to override original files and a one-click solution where we minimize every uploaded image.

    I've invited some people to test this and I hope we can go public around next week. We will also inform all existing customers and transfer the accounts to the new system. If you can't wait and want to beta-test, write me a message ;)

    • Like 2
  19. The really nice modified TinyMCE in Wordpress. It looks awesome and feels much more developed than the PW defaults one. I also like the simple editor medium.com features, especially with the content "modules" you can insert.

    No need for an app in my opinion.

  • Create New...