Leaderboard
Popular Content
Showing content with the highest reputation on 02/15/2015 in all areas
-
Congratulations! We are currently running over 100 pw powered websites / applications. Most of those don't have any kind of version control (other than modules). We have separate dev/staging installation, where development is done and then manually migrated into production site. That works pretty ok, since our clients tend to buy bigger updates instead of lots of little tweaks. Also few shell scripts to create new sites based on profiles, resetting the dev enviroment etc. Very simple setup, and we are currently looking little tweaks into the workflow (adding git and sass into mix for example). I think that we will still keep separate installations and (semi)manual deployment. What do you mean with migrations in this scene? If migrations from another system, then currently we always build custom migration scripts where needed. If data schema migrations when adding new features, then see deployment part of my answer. If something else, we probably do it manually also. We also have some software that we have build using ProcessWire (one big one coming) - there we have given much more thought on these issues, since we need to have it automated. We have our model installer, that reads YAML files and does templates/fields/pages based on those. That's pretty advanced and currently tied into our product, but might be something we could try to generalize a bit and release at some point. Well, depends what you are looking for. Front end fellows that have been fighting with Drupal or WP are very happy with ProcessWire. Backend guys who like PHP in general do enjoy PW also. More experienced PHP developers do find the documentation lacking, when you dive deep enough. All in all, PW is technology that most devs & designers find exciting and I think recruiting people into ProcessWire is "easy" (recruiting is never easy, but with PW you can really focus on the person and his skills, not that if he/she has 3 years of experience with certain legacy tech). Last time I recruited the fellow I ended up hiring did build full pw website on the very same day we had an interview6 points
-
Hi, I have implemented the feature and it's available in the dev branch: https://github.com/wanze/Pages2Pdf/tree/dev If anyone has time to test it out, please do so and report any issues back here. I will merge it into the master branch after some more testing How does it work? First, you need to enable multilanguage support in the module configuration. If enabled, the module creates a PDF in the language of the current user. The same is true when downloading a PDF. If the PDFs are pre-generated when saving pages in the admin, a PDF for each language is created. The language name is appended to the PDF filename in order to distinguish between files of different languages. In addition, if the module "LanguageSupportPageNames" is installed, the local page name is used for the filename. At the same time I added the newest version of mPDF to the module WirePDF. As always, please check that your PDFs are still rendered correctly after updating! Good night to everyone from Switzerland3 points
-
3 points
-
ryan, everything you put out there is so friggin' polished. Outstanding work!3 points
-
Another Friday blog post with core updates just posted. This time we've got several image editing updates, particularly with regard to image editing for images placed in rich text fields. Also included are HiDPI/Retina support, an image variation tool, and more… Read all about it here, plus a video and screenshots: https://processwire.com/blog/posts/new-image-editing-features-2.5.19/3 points
-
@wanze, wow - thought i was going crazy! Thanks for the report... yeah, i was being paranoid and didn't want to delete any records... @nico, i believe that Wanze's solution would be the 'best' answer as it requires way less work. ** however this should be considered a bug, now that another user has confirmed it, and i can't see the average user wanting to go fiddle around with the database.. So this topic needs to be unmarked solved.. Also, can you change this topic to the bug report forum? Thanks!2 points
-
The 'keyword' to search for is PHP Object Oriented Programming (OOP). Find a good tutorial about OOP Classes, Objects, Methods (functions) and Properties (variables). A ProcessWire $page is an 'instance', i.e. and Object of the Class Page (see /wire/core/Page.php). In OOP, you can call/access the members of a Class (Methods and Properties) by 'creating' an instance/Object of that Class. When you use the variable $page, behind the scenes you are actually creating an instance of the class, i.e. $p = new Page(); You can create as many Objects of that Class as you want. The key here is that they will all be tracked differently by PHP - they are independent Objects of the same Class. So, in your case although your wire('pages')->get($pageid) were, from a database point of view, all grabbing the same page, from a OOP point of view, they were all different Objects, tracked differently, i.e. you were doing $x = new Page(), $y = new Page(), etc. Also, this should not work wire('pages')->get($pageid)->of(false); - since you need to get the page first (I could be wrong here) - and even if it did, it was a 'different' Object to the $page in the next line wire('pages')->get($pageid)->$pagefield->deleteAll(); So, in order to tell PHP that you were talking about a specific/single Object, we assign the $page we are after to the variable $p (behind the scenes $p = new Page(); - but not just any Page, but one with the id $p->id=1234 (from the wire('pages')->get(1234). Written late, I could have missed something but hope this makes sense....2 points
-
Though this isn't a PW project I thought I would take the opportunity to post an image of my PHP-based, redis backed, pick-and-pack software (I mentioned it here) that integrates with Amazon via their MWS API and is served via nginx running on one of the original 256mb Pi B models. The site is accessed in the warehouse from an Android tablet which allows me to move around the shelving to find the items really quickly and take care of printing off the address labels then packing and finally shipping the orders. If you've never seen what Amazon's seller central pick and pack list is like then I hope you can appreciate the difference given the example below (apologies as this is an old screenshot)...2 points
-
2 points
-
Inputfield And Fieldtype ImageFocusArea requires ProcessWire 2.5.6 or later This Inputfield makes it possible to select the important part of the image and use this area for different cropping options. This module is not a replacement for the existing Thumbnails module, though depending on your need it probably could replace it in many cases. I think a more flexible cropping approach than the existing Thumbnails module is useful especially when using the new html <picture> and you don't want the editor to define multiple thumbnails. Usage Create a new Inputfield ImageFocusArea and add it to the desired template. Edit a page with this template and add an image to the new field. You will see a link "Add Image Focusarea". Click the link and you will see a popup with a cropping tool similar to the Thumbnails module. Select the important part of the image, click "apply" and save the page. By default the Field hooks into Pageimage::size and automatically populates the cropping option with percentages of the center of the selected focusarea. You can always override this behaviour by calling $image->size with a different cropping option (e.g. $image->size(100,100,array('cropping'=>'center'))). The module introduces 3 new cropping options: align: This is the default if you do not override it with another cropping option. When resizing a image the module only adjusts the alignment of the crop. You will get the most zoomed-out result of these options. inside: Only parts inside of the selected area are used in the resulting image. You will get the most zoomed-in result of these options. outside: The resized image will contain the whole selected area. The surrounding imagearea will be used to reach the targetsize. This is also true for upscaling=false. Upscaling will only happen if the source image was smaller then the targetsize. API usage examples // here we force the old/usual 'center' mode: echo "<img src='{$page->image->size(200,200,array('cropping'=>'center'))}' />"; // by default if you did not define a cropping option, the cropping option gets automatically populated // Both calls will result in the same image: echo "<img src='{$page->image->size(200,200)}' />"; echo "<img src='{$page->image->size(200,200, array('cropping'=>'align'))}' />"; // the resulting image will be the center area of the selected focusarea echo "<img src='{$page->image->size(200,200, array('cropping'=>'inside'))}' />"; // to get an image with exactly the same ratio as the focusarea use width()/height() instead of a size() echo "<img src='{$page->image->width(200, array('cropping'=>'inside'))}' />"; echo "<img src='{$page->image->height(200, array('cropping'=>'inside'))}' />"; // the whole selected area will be part of the image, the surrounding imagearea will only be used to reach the targetsize echo "<img src='{$page->image->size(200,200, array('cropping'=>'outside'))}' />"; Flexible CSS Background Images Additionally you can access a new property cssBackgroundPosition, which could be useful for frontend responsive images. The visual result is similar to the cropping='align' mode, but depending on the size and postion of the focusArea and your images source and target size your mileage may vary. This property is intended to be used together with background-size: cover;. It is important that the background-image has the same ratio as the original image! <style> .cssimg{ background-size: cover; width:200px; height: 200px; } </style> <div class="cssimg" style="background-position: <?= $image->cssBackgroundPosition ?>; background-image: url(<?= $image->url ?>); "></div> Downloadhttps://github.com/phlppschrr/ImageFocusArea remember, this modules requires ProcessWire 2.5.6 or later There are still known bugs with upscaling=false, but I am not sure if it is a bug of this module or a ProcessWire bug. (fixed in ProcessWire 2.5.6) Thanks to Ryan and especially Horst for all the new great API additions for Pageimage und ImageSizer which made this module possible. This is my first module. If you notice any problems or unexpected behaviour post here or fill an issue on github. I am open to all suggestions. Do you think the cropping option names (align, inside, outside) are descriptive enough? Any better ideas? -- Edit: Renamed the Module to ImageFocusArea and updated the github link Edit 2: Reformatted this post and added some additional information.1 point
-
For some people it may be cool to run their own website on their own HW. But a PC is power hungry and some micros aren't powerful enough; therefore I tried to use a mini server with less than 5W power consumption. The setup: Linux (Pi: Raspbian/C1: Ubuntu) Apache2 + PHP5 MySQL + PhpMyAdmin NoIp2 (dynamic DNS client) PW (of course;-) PW is running OK on Raspberry Pi, but when you create a page with some images and resizing, you have to wait for the results between a couple of minutes and an hour; page rendering afterwards is within seconds. I wanted to try something quicker so I got an Odroid-C1 (same price as Pi - 35$) and the results are very good - C1 is about 6 times faster than Pi and after some configuring it runs stable and without problems. If someone's interested in details, don't hesitate to ask.1 point
-
1 point
-
are you sure about using the "wegstrich" / "geviertstrich" ( — ) in prices? usually i thought it's the "halbgeviertstrich" / hyphen ( – ) … i'm curious, it's been a while for me since i last had practical application for this knowledge.1 point
-
1 point
-
I had a similar problem yesterday with one of my modules (Pages2Pdf). Suddenly the module was no longer listed and also not installed. I'm using the module in a template and this was resulting in a fatal error, because there was no object returned by ProcessWire. I'm not sure what caused the problem, I was installing some new modules before. Things I tried: Clear modules cache via admin Clear modules cache manually None of this did help. The module was still in modules table in the database. After deleting it there, it appeard again in the admin and I did a "fresh" install.1 point
-
The absolutely MOST helpful post I have read in a long long long time. Thank you Kongondo!1 point
-
I was able to get Reno back, i had to go to the database of another installation and look at the caches table, then i matched the id to the id of the module in the modules table, and added these to the end of the json strings in modules verbose and modules info; then the module showed up and i was able to switch to it... hopefully that's solves this, but if anything changes i'll report back.. ,"202":{"summary":"Admin theme for ProcessWire 2.5 by Tom Reno (Renobird)","author":"Tom Reno (Renobird)","file":"\/home\/useracct\/dev\/wire\/modules\/AdminTheme\/AdminThemeReno\/AdminThemeReno.module","core":true,"configurable":true,"versionStr":"0.1.2"} ,"202":{"name":"AdminThemeReno","title":"Reno","version":12,"icon":"","requires":["AdminThemeDefault"],"requiresVersions":{"AdminThemeDefault":[">=",0]},"installs":[],"permission":"","permissions":[],"autoload":"template=admin","singular":false,"created":1411910134,"installed":true}1 point
-
Thanks for the awesome explanation! Yes I think I fully understand now. I was just setting the OF to false on one instance of the page, writing the image to another instance of the page, and saving yet another (unchanged, non-of'ed) instance of the page... (which failed because OF was not set to false on that specific instance).1 point
-
I am struggling to get it to work. I install the module, see a new "Drafts Page" appera but after that I only get "You are NOT editig draft version..." eroor message when I edit pages. What am I missing? How do you clone/create a draft? sorry its late, I should in bed.... :/1 point
-
1 point
-
I have the same problem EDIT: Opened an issue on this .1 point
-
I pushed it on GitHub in an alpha state: https://github.com/NicoKnoll/LightWire-Skin Feel free to try it and send me PullRequests or ideas.1 point
-
ok, whoever uses this and wants to test drive the purging module, here it is: https://github.com/gurkendoktor/processwire_purge_fcgi_cache in branch develop Just install it and you're good to go. I will prepare a README later. Looking forward to feedback or if it makes any sense for anyone except me. Known issues: * You will see errors if the page has not been cached yet * You will see errors if no page at all has been cached * The UI is still a bit of a mess1 point
-
Hi Apeisa, Thank you so much. I have enabled the demo mode. Here are the details. Front-end Demo - bluevr.webcreate.lk Back-end Demo mode - bluevr-webcreate.lk/processwire (The username 'admin' and password 'bluevr2')1 point
-
1 point
-
I'm building a series of Process Modules for internal business functions. We have several processes that require complex forms. More than would be feasible to create using pages. So I decided to use FormBuilder to allow the appropriate users create and maintain the forms. There would be way too many fields required to send all these forms to pages using the built-in FormBuilder process. These are all lengthy forms (and this is a University), so think 10+ forms — some with up to 60 fields. Rather than save the form to a page, we hook into 'FormBuilderProcessor::saveForm' and create a page that references FormBuilder entry. (The page title is the same as the form entry, for example 1.817) I got a few tips from Ryan on that part. There is one base module called "ProcessAdminForms" that has all the common functionality. The modules that extend it can get as specific as needed. The screenshots below are from the "ProcessAdminIPIFs" module. It is an internal HR process that is required to hire a new employee or setup a new vendor. List of entries Show/hide columns (state saved per user via cookie) Viewing an entry Administrative comments & notifications1 point
-
I'm currently working on a Pi A+ model and I can see, why people strive for a little more power. But as I'm trying to build a digital picture frame for my creative stuff like processing or as of late preverably openframeworks sketches I don't have the space to fit in the bigger Pi 2. You really have to build your stuff with as less overhead as possible to work with these. I just had experimented with a processing sketch, which mimiced this site: http://whatcolourisit.scn9a.org/. As processing is based on Java it needs X11, JVM and the sketch to run, so I got around 20-30 fps for this simple thing. Built the same thing in openframeworks, which is c++ based and compiles down to raw machinecode, it hardly drops below 57 fps.1 point
-
I would try something like this: http://stackoverflow.com/questions/8432601/wamp-xampp-localhost-responding-very-slow1 point
-
Another solution could be to wrap a function around the include for the remote file. This way it gets opened in its own scope and doesn't override your $config object: function readRemoteConfig($pathToFile) { $config = new stdClass(); // it is enough to use a StandardObject here, - without that, PHP will raise a 'notice' I believe. include($pathToFile); return $config; } $remoteConf1 = readRemoteConfig("path/to/remote1/site/config.php"); $remoteConf2 = readRemoteConfig("path/to/remote2/site/config.php"); $remoteConf3 = readRemoteConfig("path/to/remote3/site/config.php"); // and your (local) $config isn't affected or touched in any way1 point
-
Thank you for your feedback and your commitment. I already guessed that it won't work with every AD. So far, the few ADs I have for testing seem to work. Written before, I try to enhance the module over time and add more features and compatibilities to it. Therefore, I'd be pleased if you can share the code with me, so I can enhance this module and make it better. Of course, you will be given credits in the source code for this. What connects us is that we all love ProcessWire and want to see it grow in every environment. So if we pull together, we can achieve this.1 point
-
Alex, welcome to the forums. That can be done from admin site. Just edit page "Admin" on your page tree and change it name under settings tab.1 point