Jump to content

ryan

Administrators
  • Posts

    16,715
  • Joined

  • Last visited

  • Days Won

    1,517

Everything posted by ryan

  1. Thanks! I've added it to the video directory here: http://processwire.com/videos/managing-portfolio-site/
  2. If you uncheck the checkbox separating the address and the lat/lng boxes, you can adjust the coordinates separately from the address, or vice versa.
  3. Nik, the modules directory now has a version 2.3 option for the requirements, so it's safe to add it whenever you are ready.
  4. One possible issue here is that your install files have Windows line breaks (CR+LF), whereas ProcessWire's files are supposed to have unix line breaks. So it looks like the files must have gone through some save or filter at some point. Though if I omit whitespace from the diff, it finds no differences. Since the error seems fairly mysterious at this point, I think it would be worth checking if maybe your FTP client used an ASCII upload (rather than binary) when pushing these files to your server. It's possible that the file format changed as a result of that. I will keep trying to think if there is anything else we can try. If you want to PM me account credentials (FTP or SSH) I'm also happy to login and debug it that way too.
  5. I don't think there is necessarily a right answer to that question, as there are various factors and preferences that would dictate what approach may be best for a given situation. But for a small site, maintenance of two trees would probably be the most direct and easy route. On a larger site, multiple trees may take more work to maintain and other solutions may be more attractive in some cases. The multi language support page covers some of this and the multi-language fields page in there gets into a couple of different approaches as well. But it's a broad topic and a good question so always good to discuss different strategies.
  6. This should be possible. You'd use a Pages::saveReady hook. You'll want to have your hook do something along these lines: if($page->template == 'album' && $page->isChanged('images')) { $newItems = $page->images->getItemsAdded(); if(count($newItems)) { // images were added, create your new unpublished blog post // the $newItems WireArray contains the images that were added } }
  7. Yes--once I get this added, any valid selector should work. I'll try to get this in place within the next week. Btw, limit=n should already work for siblings
  8. Nice job u-nikos, I like your updates. The begin/end stuff is particularly creative and cool. I would like to add this to MarkupCache. Personally, I am always populating variables anyway, so the current markupcache method works for me. But I know others prefer to have their base in HTML rather than PHP, and this will be a lot better for them in particular. The idea of setting those rules is also great. Though I'm also a little confused by the definition, even after you've explained it further. I think having rules that span two lines may be in part what's confusing me. Is there a way to do it all on one line, maybe something like this? what page is saved? name or regex of cache to expire Example 1: When page's using basic-page as template are saved, clear the SubNavCache template=basic-page? SubNavCache Example 2: When a page with id or parent_id of 1 is saved, clear the TopNavCache id|parent_id=1? TopNavCache Example 3: When page with template section is saved, clear all the caches template=section? * Does this do the same thing that you were suggesting or is there more to it?
  9. Welcome Seuche. Thanks for sharing the site, you did a nice job with it. Glad that you are enjoying ProcessWire!
  10. Finally figured this one out. Apparently PHP 5.4 comes with a class name "SessionHandler" that is the same as ProcessWire's. So I just renamed ours to be WireSessionHandler and now all seems good with PHP 5.4. But this is yet more motivation to move everything to namespaces sooner rather than later. Now thinking this has to be done in ProcessWire 2.4.
  11. Thanks for setting this all up Pete!
  12. Not sure what the issue might be here, but just wanted to post the different options for getting random items: getRandom() - With no arguments, returns 1 random item (unless the array is empty) getRandom(n) - Returns n random items, where n is greater than 1.
  13. Your versions and PHPinfo seem to look fine to me. The errors that you got make me think the most likely scenario is that somehow your install.sql got corrupted, had it's character set changed, or got modified before installation in some manner. Have you tried a fresh install? If you still get the same error, try posting your /site/install/install.sql and /wire/core/install.sql.
  14. Evan, if you don't find the help you need within the next couple of weeks, let me know. I could certainly help with at least the advanced stuff like the search system you've mentioned. But am scheduled on other stuff for the first half of the month, so might be better at figuring out the finishing details rather than the overall need.
  15. Most of what you see in ProcessWire was developed long before I'd ever used or seen ExpressionEngine in action (or any other CMS for that matter). I can't speak for some of the 3rd party admin themes that apparently have some similarity, but ProcessWire itself has had no influence from EE. Still, I think it's a compliment when people think there are similarities, because that suggests to me that they are familiar with EE and finding points of comfort with ProcessWire. I also think that ProcessWire and EE have a similar audience, often trying to accomplish similar things. Personally, I don't have a sense of what the similarities are because I see them as opposites in many ways. ProcessWire is tree-hierarchy based, EE is bucket based. ProcessWire is PHP-API based, EE is tag/template-engine based based. These are huge differences. I suppose the main similarity I can find is that they keep the developer in control of the markup. But of course, a lot of other systems do too. Honestly, while I've used EE2 before, I've never gotten deep enough into it to be able to evaluate all the differences fairly. What other points of similarity have you guys found? Also if there are areas where EE seems more 'pro' perhaps it would be good for us to evaluate and learn from these things.
  16. ProcessWire Skyscrapers Site Profile This is the profile for the skyscrapers demo site as seen at: http://processwire.com/skyscrapers/. This site profile release also coincides with some upgrades to the Skyscrapers site. The updates were to re-do many of the template files to make them easier to read, convert some classes to functions (easier for folks to understand), and convert the maps to use the FieldtypeMapMarker module. The main differences from the live site are that this profile excludes most of the photos and skyscraper text. Only the photos taken by me are included. This is to ensure we aren’t distributing any text or photos in case the license ever changes to something other than Wikimedia Commons. I can change the text/photos on my skyscrapers site, but can’t on any sites someone else sets up with this profile, so figure it’s better to play it safe. Requirements ProcessWire 2.3 OR ProcessWire 2.2 dev branch (2.2.12 or newer) ZIP How to install Get the latest version of ProcessWire 2.3. At the time this text was written, ProcessWire 2.3 wasn’t yet released, so if that is still the case you’ll want to get version 2.2.12 or newer from the dev branch. Before running the installer, replace all the files/directories in the /site-default/ directory of ProcessWire with those from this site profile. This includes the following: /site-default/config.php /site-default/install/ /site-default/modules/ /site-default/templates/ [*]Now run the installer to complete the installation. Template details The template files in the profile take the approach of populating variables that are output within a main/shared markup file. This is different from the basic profile that ProcessWire comes with. Specifically, make note of the following files: /site/templates/_init.php – This file is automatically included before any template file is executed. We use it to initialize the variables we populate and include a shared library of functions. /site/templates/_out.php – This file is automatically included after any template file is executed. In our case, we use it to contain our main markup that also outputs the variables we populated. /site/templates/includes/functions.php – This is where we are keeping a shared library of functions, most for generating skyscraper list markup. /site/templates/*.php – These are the site’s template files, each named consistently with the page(s) they represent. The primary focus of these files is to populate the $content variable that is output by _out.php. The use of _init.php and _out.php are something new to ProcessWire 2.3. These are specified in the /site/config.php: $config->prependTemplateFile = '_init.php'; $config->appendTemplateFile = '_out.php'; Use of this new feature is optional. We’ve used it in this profile because it reduces the amount of redundant include() code necessary in each of our template files. Download Skyscrapers Profile at GitHub or download ZIP file Skyscrapers Profile at modules.processwire.com Remember that you must have ProcessWire 2.3 (or 2.2.12 dev branch) or newer to install this profile.
  17. If the number of products isn't large (say less than 100) then the best way is probably to sort them in memory like the way Soma mentioned. But if you need something that can scale infinitely, then you'd want to keep your endprice as a field on the page that you can use for sorting directly from the $pages->find() query. Perhaps as a hidden field that is automatically populated via Pages::saveReady hook. It would be fairly easy to implement, let us know if you'd like an example.
  18. Really great video! Nice job. Thanks for making this. It is the best video demonstration I've seen of ProcessWire. Would you mind if I embedded this on our videos page? http://processwire.com/videos/
  19. ProcessWire will have support contract options available in 2013. I'm still working out the details, but wanted to let you know that option will be there for those that want it. Most of us here don't and won't need support contracts, because we can get pretty much anything resolved in a manner of minutes via these forums. But I would gather that a large portion of PW's user base doesn't actually participate in these forums. I also think that there are companies out there that would feel much better having the insurance of guaranteed support when they need it. Basically, if someone feels they need a support contract, I want to make sure we can accommodate that. I also see this as a way to further support growth of the project. As for EllisLab, I think they may be in a tough spot and trying to find the best way to survive and hopefully thrive. I had heard unsubstantiated rumors on Twitter several months ago that they might make EE free. To me suggested they might not be thriving as a business the way I would have thought. In such a case, change could be necessary in order to grow rather than contract. I have no idea if this is true (it's all guessing), and it's a little hard for me to imagine how they could not be profitable… given that their entire user base pays to use the software. But I don't think they would have made such drastic changes if everything was okay with the business model and finances before. My guess is they were faced with the choice of having to make cutbacks (like staff), stagnate, or make big changes. It appears they opted for big changes and are trying to re-focus their resources towards the high-end. That being the 20% of the audience that can pay the big bucks, at the expense of the other 80% that doesn't pay as well. And have probably accepted the sacrifices that go along with it. For that 20%, these costs are not really that big, and are probably seen to strengthen the B2B commitment (greater cost sometimes feels like greater insurance and less risk). There are other big players out there paying hundreds of thousands of dollars (every year) to companies with products that are inferior to EE. There are more opportunities to grow for them there than there are on the open source side. After all, products like ProcessWire and others are just as capable (and many would say more-so). It's not sustainable and makes little sense in a for-profit business to plan growth competing against a worldwide network of developers working for free. It's hard to grow a business when most of your competition is at least as good, and free. Whereas, I think it makes good business sense for them to carve out some new space where there is opportunity and partnership with bigger players. That's the side where the service matters as much, or more, than the software itself. And they can do well at both. I'm hoping that ProcessWire and other open source CMSs can benefit and grow as a result of changes with EllisLab. But I also hope that EllisLab and ExpressionEngine benefit and grow in the way they want to. Looking at where they are and what they are, it's not hard to understand why they've refocused. Though I say that as an outsider that's not negatively affected by their decision. Regardless of whether you like EE or not, it is in a fairly unique spot in the CMS landscape as a commercial product that is often listed with, and interchanged with, open source products. It's not something that I think could be repeated today, and I've always had a lot of respect for what they've been able to do and the influence they've had. EE is a good software with good people behind it. I'd like to see them do well and think that they will.
  20. It's more of a reverse-honeypot field. Rather than excluding a form based on a populated value, it excludes based on an unpopulated value. This can be even more effective than a regular honeypot, but it does rely on Javascript. In order to eliminate the problem of false positives, you want to hide the CommentForm with CSS and unhide it with Javascript at the same time that you add the security field (as in the examples above).
  21. ryan

    ProcessWire on the web

    The opensourcecms.com folks are good people. But I'm not sure they fully understand the extent to which those votes are manipulated. I'm still hopeful they will fix this someday, by at least tying it to some kind of recognized account system (even Facebook). But they will have to throw out the votes they've collected in the past, as they are largely noise. Once they do correct this system and make it honest, we will gladly have ProcessWire there, and I know other CMS projects that will follow suit.
  22. While I'm not in the camp that wants my URLs to go outside my site structure, I can see that it's a need some may have. And you've brought up a very good solution here--we could accomplish this pretty easily. SEO would not be a problem because the module that would implement the solution would hook into the Page::path function to ensure that it's reflecting the alias rather than the original. It would also not be a stretch to have the module perform a 301 to the alias when the page is accessed at the original URL.
  23. Thanks for adding to the modules directory. I have updated your listing with some additional text description and your screenshots. Feel free to change if you'd like: http://modules.processwire.com/modules/delegate-profile/
  24. ProcessWire will also handle this for you automatically (with redirects) if you install the Page Path History module (already included with the core).
  25. To Geocode from the API side, you need to set the address field and save the page: $page->map->address = '411 Holly Road, Hopkins, MN'; $page->save(); If that doesn't do it, you may sometimes need to give $page a hint: $page->trackChange('map'); $page->save(); If it still doesn't work, you might want to double check that your PHP install supports allow_url_fopen. The 'status' field is not meant to be set by you. It is set by Google Maps geocoder.
×
×
  • Create New...