Jump to content


Popular Content

Showing content with the highest reputation on 01/16/2013 in all areas

  1. 5 points
    Hi guys, It's been a while since I was involved in the forums here. I've been away working with legacy Drupal, Joomla and WordPress systems due to client requirements. It's been a time hog and not all that enjoyable a process. I finally had a chance to use PW for a project again yesterday and what a breath of fresh air it has been! I had forgotten how easy, consistent and reliable querying pages was, no more temperamental WP_Query object in WordPress or complex render arrays in Drupal. It's great to see how the community has grown since I last checked in, as well as the improvements to ProcessWire overall. Ryan is steering forward in a very strong direction. I'm going to have to get the FormBuilder plugin I think, it looks to be fantastic. Anyway, I hope to be hanging around here more soon as a bit of work/life freedom approaches. Keep up the good work.
  2. 2 points
    Hi. I need "user profiles" for a project. So I looked for it for a long time in PW forum and then I came to a decision to make a module from Ryan and the others code. I share this code with you. Wait with great pleasure for your suggestions and comments Module page: https://github.com/orkhan/FrontendUserProfilesPW
  3. 2 points
    News_Year.title=$currentyear I'm on a mobile but I think I got that right - if I understood you right in the first place . Hope this helps!
  4. 1 point
    EDIT: This project has been put on ice - I don't work with ProcessWire in my day job anymore, so this project is looking for a new maintainer. Knowing that, you can decide whether it's worthwhile reading through 7 pages of posts EDIT: The source code has been dumped on GitHub - feel free to fork and have at it. There's one thing about ProcessWire that pains me, and I've brought this up before - it's the same problem I have with e.g. Drupal... Because the meta-data (Configuration, Fields and Templates) is stored inside the database, once you have a live site and a development site, moving changes from the development site to the live site is, well, not really possible. Repeating all the changes by hand on the live site is simply not an option I'm willing to consider. Telling the client to back off the site and give me a day or two to make the changes, and then moving the whole database after making and testing the changes on a development site, is really a pretty poor solution, too. I had heard some talk about a module in development, which would make it possible to import/export Fields and Templates? It sounds like that would mostly solve the problem. Ideally though, I'd really like a solution that records changes to Fields and Templates, and allows me to continuously integrate changes from one server to another. So I started hacking out a module, but I'm not sure if it's going to work at all, if it's even a good idea, or if it's worth the effort. I'm looking for feedback on the idea as such, more than the code I wrote, which isn't real pretty right now. Anyway, have a look: https://gist.github.com/b7269bb7bd814ecf54fb If you install this, create a "data" folder under the module's folder - migration files will be written there. Basic overview of the idea and code: The module hooks into Fields::load() and takes a "snapshot" of the current Field properties and settings on start-up. It also hooks into ProcessField::fieldSave() and when a field is saved, it compares it's properties and settings to the snapshot it took at startup - if changes were made, it writes the previous name and updated properties into a file. The same thing is not implemented for Templates yet, but would be. The migration-files are named like "YYYY-mm-dd-HH-mm-ss.json", so that they can be sorted and applied in order. Each file contains a JSON representation of a method-call - currently only updateField() which would repeat a previous set of changes and apply them to another installation of a site. (not implemented) So basically, the module would record changes to Fields and Templates, and would be able to repeat them. How those files get from one system to another is less of a concern - would be cool if servers could exchange migrations semi-automatically, using some kind of private key system, but initially, simply copying the files by hand would suffice. I'm more concerned about the whole idea of capturing changes and repeating them this way. Any thoughts? Is this approach wrong for some reason? Would this even work?
  5. 1 point
    I just released a new module: Trashman. It adds new admin page which allows users without superuser role to view and restore pages. Grab it while it's hot: https://github.com/apeisa/Trashman Few screenshots:
  6. 1 point
    The one thing to bear in mind with using the version from the admin is something ryan mentioned ages ago in another thread - it might be better to use your own download in case the admin version ever changes. For example the current version is FancyBox v1 and there is a v2 version of Fancybox - whilst I can't imagine ryan changing it yet as the current version works fine, it could break your front-end work if it were to change. It's one of those things that probably won't happen or if it does it might not affect you, but still worth bearing in mind.
  7. 1 point
    Doolak, check out the language alternate fields, should help on your title / multilang title problem: http://processwire.com/api/multi-language-support/multi-language-fields/#language-alternate-fields
  8. 1 point
    call: $modules->get("JqueryFancybox"); from whitin your template Then the CSS & the JS will be in the script & css array. use them in your <head> foreach($config->styles->unique() as $file) echo "<link rel='stylesheet' href='$file' />"; foreach($config->scripts->unique() as $file) echo "<script src='$file'></script>";
  9. 1 point
    I quite like naming it Fred. Its a family tradition. (Freda if it is a girl website, of course.)
  10. 1 point
    I'm happy to see this thread has fostered some interesting discussions. I'd like to clarify what my intention was when I started this thread. All I wanted to do was share my enthusiasm for ProcessWire and to discuss with you how the PW community, as a whole, could benefit from having EE people coming over to explore the system we've all come to love so much. I think this thread is an example of the interesting discussions that could come out of that interaction. Hopefully, this and other discussions will blossom into something tangible, concrete we can all benefit from. I also want to point out that I have nothing against EllisLab or EE, in fact, I've briefly used EE in the past and, in general, liked the system a lot. You guys have made some fabulous points throughout this discussion and there's no need for me to repeat what has already been eloquently expressed, but there's something Joss said that I really liked: That's it, isn't it? ProcessWire is here to help us create websites, better, and it does a fantastic job at doing so. It's like the great football (soccer) players like Messi, they make it look so easy you think you could do it. Don't know what I'm talking about? Try to build what you're building without ProcessWire and you'll see! ProcessWire does that, make us look like the world-class designers and developers we all are, right?
  11. 1 point
    Okay cool, I've been on the 2.3 dev for awhile and might not be remembering if this was in 2.2.9 or not. But give it a try sometime and let me know if you find it's missing anything in that regard. This is one thing that ProcessWire does not do out of the box. In this regard, it starts from a security over flexibility model. It maintains a strong separation between what is public/guest and what is admin. Whereas with something like Drupal, you can blur the line quite a bit. In fact, I've actually used Drupal when I needed this quickly. But ProcessWire can certainly do it all just as well, if not better, but it'll take a good deal of code to implement it and make it secure. The admin is for trusted users, even if they don't have access to do a lot in there. So if your users fit the definition of "trusted" then this would be a fine approach. But I would avoid anything that would make it possible for any random person to create an account and then get into your admin. This is the approach I personally prefer, and it's the one I use for modules.processwire.com. But you do have to consider security at ever step. Make sure you limit the fields they can populate and don't let them change things like template, parent or status. I would also avoid any kind of file uploads, unless you are using a tool like FormBuilder that can quarantine them for approval.
  12. 1 point
    Greetings Everyone, I like checking those stats on BuiltWith... It's interesting to attempt an interpretation of what these numbers might mean. In general, I assume that, as we move from "top million" to "top 10,000" sites, we move up the ladder to more professional projects requiring greater scaling, security, and management capabilities. Building on that interpretation... - Drupal shows the greatest growth (from ~ 10% to 19% of the market) - WordPress drops in popularity at first, but then settles at a huge chunk (> 50% of the market) - ExpressionEngine does not change much along the way (goes from ~ 2% to 3% of the market) - Most surprisingly, Joomla drops out entirely as you move up (from ~ 9% to 0% of the market) There is about 2.4% unaccounted for -- maybe Joomla's share? Some of the numbers on that site seem a bit flaky. For example, the "Top CMS Technology" sidebar lists vBulletin and Yii as CMSs. It also lists Microsoft Word as a CMS! And yet it does not show CodeIgniter and Symfony at all in the list? I also doubt the accuracy of the "Content Management System Migration" chart. Thanks, Matthew
  13. 1 point
    This is just a tiny, one-line tweak - but it really makes a huge difference in terms of ease and speed in working with the Page List. I've added this to my admin theme, but I really think this belongs in the core. in "ProcessPageList/ProcessPageList.css": /** * When an item is open, this style ensures that the PageListActions become visible * */ .PageList .PageListItemOpen > ul.PageListActions, .PageListItem:hover > ul.PageListActions, /* <-- add this line! */ .PageListSelectHeader .PageListActions { display: inline !important; } You now have direct access to "new", "edit", etc. - just by hovering over an item in the Page List. Give it a try - you will most likely never want to go back!
  14. 1 point
    Hey Everyone, Joss: I don't expect anyone to pose a true challenge to Facebook right now... Except Facebook itself, which I think in some ways is beginning to happen. I think Facebook has its importance, for sure. But Facebook has always felt rather antithetical to what I see as beautiful Web development, for a variety of reasons... The way it cheapens true discussion, how a single social-networking paradigm is blocking exploration of the very idea of Web-based connections, and how the ugly appearance of a set of icons litters pages everywhere we look. Finally, we generally have to hold our tongues about all of this lest we seem to go against mighty Facebook. Maybe if I started developing Facebook apps I might feel differently! Thanks, Matthew
  15. 1 point
    Hey khan great, thanks for sharing your module. I created also various bits of it in templates and not as a module to stay flexible with forms and code. Just by taking a quick look at code, it would be nice to have it translatable. Also it would be nicer to build forms with PW API inputfields. This would make it much easier for styling and such. Keep up the good work.
  16. 1 point
    Simplest would be to use Ryan's web service module. It is pretty straightforward and we are here to help with it.
  17. 1 point
    I wish I could dedicate the time to finish this - but it's not the sort of thing you can bill a client for, so... if I had to build this, it would be in my spare time - and I have a million things I'd like to build in my spare time...
  18. 1 point
    This post has been useful to me beyond belief, guys! Just to let you know all your efforts and suggestions are much appreciated!
  19. 1 point
    I know, it's a whole extra character to type, taking up space in the database. Some people have no consideration
  20. 1 point
    Should work fine from this point forward: and and EDIT: And that other one where he's undecided is now:
  21. 1 point
    Evening! I have a "pages" field in some news articles that is for selecting a year. I can retrieve this field from the article like this: <?php echo $pages->get("/news-articles/proper-photography/")->News_Year->title; ?> "title" is the field I used in the pages that make up my selects. So far, so good. Now the problem. I need to get an array of pages matching this value to a variable. For instance, I need all pages where this field = 2012. So: $newsitems = $pages->find("template=TB_News, =$currentyear"); $currentyear is my variable is me not knowing what to put! if "News_Year" was a text field I could just put that field in there. But because it is a pages field, I need to get the "title" bit. Obviously, if I put News_Year->title in there, PHP thinks I have gone nuts and bursts into tears. So, how to I get that value and put it in my hole? Joss
  22. 1 point
    News_Year.title=xyz Or better retrieve the year as page object. Then do News_Year=$yearpage In the selector. Im on mobile too lol
  23. 1 point
    I also came from symphony, but didn't put it on the list because with the time using pw I came to the conclusion that those things that symphony does well, pw also does, if not even better I love their debug tool, and when I joined the forums here I tried to think of something similar for pw http://processwire.com/talk/topic/260-breadcrumbs-how-to-and-what-it-says-about-the-system/#entry1882 (end of the post). That kind of tool makes all the sense in symphony (i guess you can't develop a site without) but not in pw, and I think Nik nailed it with the selector test.
  24. 1 point
    Yes that looks like the case I've upgraded to the latest dev version and that seems to have fixed the problem. Thanks!
  25. 1 point
    Does this conversation between nik and ryan has something to do with it?
  26. 1 point
    There is other CMS'???
  27. 1 point
  28. 1 point
    Greetings, I have had several conversations with people about this. All the time, I hear, "But Joomla has all those templates." It can be difficult to explain that the reason there are no "templates" (themes) in ProcessWire is not because something is missing. It's actually the opposite... With ProcessWire, the entire world of design possibilities is your "theme." You can go to any theme site (Themeforest, for example) or just create your own layout, and there -- you have a ProcessWire theme. If you see a WordPress theme you really like, it's simple to bring the design into ProcessWire (if you want). It is just a matter of challenging the assumption that a "theme" must be specific to the CMS. Thanks, Matthew
  29. 1 point
    Creating categories using checkboxes isn't recommended. Create a nested page structure that represent you categories. Then use a page field to select from them (multiple if needed) Now the category tree can be used to output a nested navigation for example. In the category template you would enable urlSegments and you can use that simply to list pages that are linked to this category through page field. The template code for the category pages would look like this: if($input->urlSegment1){ // if url segment is a product we get the product to render details page if($pages->get("name=$input->urlSegment1")->template == "product"){ $prod = $pages->get("name=$input->urlSegment1"); } else { // else we get the normal page } } else { // in case we are on a "normal" category page, do different stuff $cat = $page; } Then proceed outputing stuff as usual. And the navigation using my MarkupSimpleNavigation module would be extremly simple. $root = $page->rootParent(); // the root page of the categories $navcol = $nav->render( array('collapsed' => true), null, $root); This will give you urls like /categories/cat1/cat1c/ where you can list all product that belong to cat1c. And have product links like: /categories/cat1/cat1c/product1 Which can then constructed like this: <a href='$page->url$prod->name/'>$prod->title</a> Hope that helps and is understandable. Not finished but working on a shop that uses this approach here: http://sultan.urlich.ch/shop/ Same is done with ingredients for products. A page of a incredient then lists all products that have the ingredient like here: http://sultan.urlich.ch/zutaten/gewuerze/
  30. 1 point
    We have many users that have come over from EE, just like we have many users that have come over from WordPress, Drupal, MODx and Joomla, among other platforms. These users are enthusiastic about ProcessWire and like to share their enthusiasm with friends. Please don't confuse the title of this thread as being something the project is trying to pursue, because it's not. I'm assuming the OP is a current/former EE user that is enthusiastic about PW and wants to share that. We are not actively trying to benefit from changes at EllisLab or trying to pursue EE users. If I were an EE user, I would want what's best for the company behind it and would stick with it. When those changes were announced, I went to the #eecms hashtag to see what all the fuss was about. There were other projects being opportunistic about it (the Perch one was actually kind of cute). We were silent on it. Just because there were current/former EE users talking about ProcessWire does not mean that ProcessWire is trying to pursue EE. EE has nothing to do with any "cause" here. I changed the theme shown on the homepage because users here thought it would be better if it showed exactly what you see when you install, until we get the rotation up. We have several sets that are going to go in there (rotating) and the one that was there previously is one of them. Now that the default admin theme is in there, there have still been folks that say "that looks like EE". I designed that admin theme and can say for certain it takes no inspiration from EE. I really don't know if the other admin theme that was in there takes inspiration from EE or not. But looking through screenshots, it seems like there are similarities and differences. I'm not convinced anyone was trying to copy the look of EE. Design trends and interfaces for similar tasks are bound to bear some resemblances to each other. People need to step out their front door. There is one thing I can be certain of though, and that's that I'm glad people might say "that looks like EE" and not "that looks like Joomla". I was glad to see this. It came along at the right time. If I was an EE user, this would make me a lot less concerned about the changes in support plans. Glad to hear PW and others are being looked at. We are thrilled to welcome any EE users. Still, if folks are happy with everything about EE from the software side (even if a little angry about EllisLab changes in the short term), they shouldn't abandon it. CMSs aren't religions, and it's okay to use more than one. It is curious to me that Blocks gets mentioned despite not even being out. Blocks appears to be built as a platform specifically targeted towards EE users, and that's probably why. The model behind that one is ultimately a paid model. EE itself is inexpensive in the grand scheme of things. Blocks apparently takes that further by just making the core free instead (a little bit of a trap). But the end result is the same: you'll be spending significant amounts of money on either, because both are built around a paid model. They are there for the money. And that's perfectly fine so long as the user understands that. But with EE, at least you are getting an experienced platform, history and track record. My opinion is that EE users looking for a change should look outward (beyond the money model) not inward. One you have your "a ha" moment with ProcessWire, you'd lose all interest in EE or anything like it. But EE users have to be willing to let go of learned complexity, baggage and preconceptions about CMSs in their mind. And not everyone is ready for that. If an EE user either isn't ready or doesn't find what they are looking for by looking outward, then they should instead look beyond the short term angry EE chatter. EllisLab is making long term decisions for the benefit of the company and the software, and it's actually a good reason for those folks that really like it, to stick with it. Individual developers are not going to be the ones paying these $20k yearly support fees, so it shouldn't be an issue. It's the big enterprise clients that will pay those fees, and they'll think it's a great deal relative to their old CMS monsters. What's good for EllisLab will ultimately be good for the people that want to implement and use their software. This is confusing quantity with quality. If quantity is the measurement, then EE isn't there yet either. If it was, I don't think EllisLab would be changing their business model. For better or worse, the EE ecosystem is also built around a money model. That ecosystem rises and falls with a business rather than the product. PW has always been about quality and has never been about quantity. I started this project as the only user for many years. When I put it out there, I intended to keep it going for the long term regardless of how many users we had. We don't get paid here. We do the work because we love it. They may be huge now, but Drupal and Joomla will really have to fight hard to be relevant in the future. They carry a lot of legacy ideas and methodology, and they kind of have to. They can only lose market share from here, so it seems like they are pursuing defensive growth strategies. When a Drupal, Joomla or WordPress developer gets a taste of ProcessWire--and really gets it--they are changed. I think that ProcessWire and systems like it will make it difficult for the likes of Drupal and Joomla to stay relevant in the long term. I'm sure EllisLab sees this too. But EE users should at least feel good that EllisLab is pursuing a growth strategy that seems geared towards growth rather than maintenance. WordPress is not great software either, but we can all learn something from the way they've grown and likely will continue to. I wouldn't trade our ecosystem or software with any of theirs. And for those that measure by quantity, we'll get there too, but we won't be counting. People from EE are totally welcome here. I'm glad you've joined the discussion. But want to be clear we are not hoping to achieve anything in that regard. If our strategy were to pursue users from other CMSs, we wouldn't be pursuing EE -- it only represents a tiny sliver of the CMS pie. We only want to gain users based purely on the quality of our software and community, and the good reputation that accompanies it. This is an open community and we don't control what gets posted. The only reason you see EE mentioned here is because of EE users that are now using ProcessWire. I appreciate their enthusiasm. While I have positive feelings for EllisLab and EE, it is not on the radar here as having anything to do with our project, goals or strategy.
  31. 1 point
    A forum is a forum, and undoubtedly this must be one of the friendliest to anyone that wants to participate on discussions. And no matter what people say or how far this discussion is linked to, it can't be seen as more than a bunch of happy PW users agreeing on the benefits that PW brings over another tool and wishing that other people will see things as they do. There's nothing more natural than this, and unlike in many other forums, people that entered the discussion with a different opinion than the majority where warmly welcomed and their opinions where respected. I don't see any sign of alert here... More importantly. If there's a voice that should be taken has the official voice of the ProcessWire project, that's Ryan's voice. And this thread gave him the opportunity of showing once more how he respects other projects and those who are behind them. Also, I wouldn't worry too much about PW "not being there yet", in my opinion it's going in a very fast (and solid) pace. @panictree, maybe this thread went further than you expected, or even wanted, but from my part thanks for having started it edit: Pete sorry for another one... my paragraphs all glued toguether edit2: managed to fix them in firefox. I was on chrome when posted before edit3: chrome is fixed after refreshing some times
  32. 1 point
    Greetings Everyone, I sensed a buzzing in my ears... Oh, hello Joss! Quick bit of relevant history: Joss and I have tag-teamed on numerous, lengthy discussions on core CMS issues, stretching back into some obscure Joomla technical groups where he and I voiced loudly the need for that CMS to adopt better custom-field options, as well as other issues. Those were heated discussions, zeroing in on gaps in Joomla's central functioning. But even in those inherently critical discussions, Joss and I both stayed positive and constructive and tried to do our part to move Joomla forward to improve. In those discussions (which I could dig up for anyone who is interested) I often made comparisons between Joomla and other systems as a way of exemplifying what I thought Joomla could become -- again trying to do so in a constructive way. Joss and I remained a virtual tag-team throughout those discussions, online and offline. Which brings us back to the current discussion... I spent a good portion of 2011, and most of 2012, on a quest to test several CMSs and make an honest assessment of them. By the end of 2012, I had deeply tested the following systems: ProcessWire PyroCMS ModX ExpressionEngine Joomla Drupal Concrete5 It's pretty clear which system I have chosen! But that's not the point. The point is, I gave all these systems an unbiased try, and I learned a lot by looking at them honestly. (With Joomla, I did more than "try," as it was my core system for about four years.) Some of these systems have such large gaps in their capabilities I could not continue using then for the kind of sites I want to develop. But others on this list have strong benefits. Still, in the end, the flexibility and complete openness of ProcessWire's API made it a winner across the board for me. The systems that come closest in my mind to ProcessWire's capabilities are EE, ModX, and PyroCMS. Again, each of those systems has its benefits that ProcessWire could learn from (perhaps we could get into specifics in another discussion). But again and again ProcessWire proved itself to be a more natural and flexible system. We should acknowledge that there is a development philosophy behind each system that appeals to certain kinds of users. For example, users who do not want to look at code, and users who want templates that lay out specifically what goes where in their sites, will be happier with systems like Joomla or Drupal. If someone is just counting the number of available extensions, ProcessWire can't compete with Joomla or Drupal (which have tens of thousands). I don't think the raw number of extensions is meaningful at all, but that is also for another discussion. To many users, there is comfort in high numbers. For people who want a fairly open system, with control of their URLs, but which still make some templating assumptions, Concrete5 and PyroCMS are good. When you get into "completely open" systems you can seriously compare EE, ModX, and ProcessWire, at which point there are more refined choices like the use of tags, how files are handled, the speed of the interface, and more. The specific comparisons go on and on... I much prefer positive discussions. That does not mean we cannot be critical. It's more a comment on the goals of a discussion. It's depressing when all you have achieved is a slamming of something (or someone) else. It's much more exciting if in the end you improve your system (or yourself) by taking an honest look around you. Also, to be blunt, it is smarter to be constructive. Of course, it's also more work: it's just so easy to slam someone or something, especially in a forum where you know everyone already agrees with you! The fact is, EE, PyroCMS, ModX (and other systems) were built by very capable and creative people. We should strive to learn whatever we can from their strengths and weaknesses, while simultaneously stating clearly where ProcessWire does something better. In these forums, we are always communicating to at least two vast audiences: 1. People already dedicated to ProcessWire 2. People testing the waters or shopping around For both audiences, we are better off being positive and constructive. Although there is lots of anger and criticism on public forums, I believe that most people are attracted to a positive environment. For audience #1, we are better off pinpointing where ProcessWire can improve (while being constructive). For audience #2, it is important to point out where ProcessWire is better than other systems (while being constructive). Bottom line: I have found that ProcessWire is better across the board in significant ways. There is definite value to pointing out where ProcessWire is better. We just need to do so while being aware of the intelligence of other systems. Thanks, Matthew
  33. 1 point
    I think it is always difficult, but quite natural to talk about the competition. However, the nature of the internet makes it rather more complicated than before. In the "old world" (which I find I miss more and more) this conversation would have taken place down the pub (that is a "bar" to you foreigners!), would have been full of idle speculation and pure BS and that is where it would have stayed. Now, of course, not only is the conversation "published" but is also searchable - and therefore it is good that this conversation is congenial. I have never used EE, and since my main income is not from web design it is unlikely that I will ever do so. I have seen screen shots of the admin and it looks exactly like the one I had on my own-designed Dreamweaver based CMS back in 2001 (A web oddity). However, since that was only ever used by 20 financial journalists I can more or less guarantee that none of the EE people ever saw it, so it is coincidence, nothing more. At the end of the day, you should never design a UI to be "different" you should design it to be workable, and by that criteria, in the end everyone's UI is going to be pretty similar, I suspect. There are four things that make a good application: Strong, under-the-hood design Easy to use and logical interface (so, probably not designed by a coder! ) Versatility to allow the client to achieve what they require and to get their true money's worth. A good design team that works to produce a strong, competitive product rather than achieve some sort of philosophical goal (even if the product is ultimately free) But there is one other aspect that sometimes gets overlooked - the application must have a clearly defined market. Being all things to all people can seem very glamorous and noble when chatting round the water cooler, but if that becomes the driving force behind the product, the result can be confused, messy and fragmented. I think ProcessWire has a clear goal, that is what makes it attractive to me, and I think it is why (with a bit of a push) it can have mass market appeal. That goal: Create a website. Because for 99% of the time, that is exactly what people will want to do with it - create a website with 'n' number of pages, all pretty similar with some bits of dancing and fun attached. Not wonderfully headline making, but the practical day to day job of business website design. ProcessWire does have the ability to address far more complex needs too, of course, and the fact that it can be hooked into other systems (or they be hooked into it, perhaps) means that it is wonderfully extendible for the knowledgeable designer. But that does not distract from the basic fact that it is a great way to produce a solid, secure, well balanced website and I think as long as that is kept front and centre, it will do well. As for the competition? Well, as I said at the beginning, it is natural to talk about them, and it is wise if one sees the competition getting something wrong to learn from that - there is nothing more idiotic than repeating someone else's mistakes - but in the end, the real focus has to be in getting one's own project right, whatever the competition are up to. As Matthew Scheneker knows, I like to be optimistic about the future of a project and get very grumpy when my optimism is undermined by idiotic, egotistical, idealogical battles that have nothing to do with good business or good R&D. And strangely, that is what I have been enjoying most over the last couple of months - a developer and a supportive community that has a healthy and realistic "can-do" approach that is of real benefit to the users. On that basis, the fact that ProcessWire is also a very good and solid tool is a very sweet bonus! Joss (PS: Years ago I had a very interesting bit of advice from Victor Kiam who was a client. He said that when a project is your baby, then keep it as your baby, keep control and don't share it. Once it gets to a size where you have to share it or you are getting a little weary of it, sell it completely and go and find a new baby. )
  34. 1 point
    I am currently in the process of setting up a site with ProcessWire and pretty much the only alternatives for me were ExpressionEngine and WordPress. WordPress just isn't built for anything but blog posts (I am aware of the 'custom post types' but it's a real pain requiring tons of hacks) and while I used to be a fan of ExpressionEngine it's just not a good fit if you don't have $ to spend. There are excellent add-ons for EE but I'd need quite a couple of them to get the same functionality that PW provides (Playa versus multiple related pages/PageArray in PW, Matrix versus Repeaters in PW). Additionally the limitations of the free version (e.g. the discussion forums being missing) and the license fee kicking in as soon as I try to monetize a site in any way kind of make me hesitate building the kind of "Let's see how this works out" projects that I often mess with on EE. I am not sure whether the concept of EE served as an inspiration or blueprint for PW, as they are really quite similar but as others have pointed out in this thread, the whole transition should be super-easy as a lot of the site building blocks are the same. Even if you didn't intend to do so (and I don't think so at all), you have created quite the 'ExpressionEngine killer' here... and eventually the word will spread. That said, ExpressionEngine is a great product and I hope EE (the product), the community and EllisLab keep on going strong. And if you can afford it and your customer feels better about using a 'commercial' product backed and supported by a company, definitely go for it. From what I have seen so far the EE backend still seems more 'pro' and if you use the right add-ons, a couple of parts are more convenient and polished. (That won't stay like that forever though.)
  35. 1 point
    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.
  36. 1 point
    @steve - Cheers - no rush at all. Kind of a side point: I have a YOURLS setup on a short domain that I use through my twitter account which gives me short links like: http://stlmv.in/4l. I'm not a fan of 3rd party url shorteners because there's no guarantee they'll bee around in the future. YOURLS just works. Perhaps I'll sponsor a module that can automatically create a shortened URL from your YOURLS install. The API is here if anyone is interested: http://yourls.org/#API. And other side point is that some of my web clients actually print newsletters (crazy, I know) and reference urls in them. Having shorter urls makes that easier. @antti: Oh yeah. I never thought to use it like that! Regards Marty
  37. 1 point
    Great solution, thanks for posting this Pete. I figure I should follow-up and post the route that I use too, though this one depends on the server running unix. It creates rotating backups off your non-web-accessible home directory with a cron job, and then a cron job on your machine (or another server) copies the backups over every day. 1. Login to your unix-based web account (SSH or FTPS/SFTP) and create a directory off your non-web-accessible home directory where the backups will be stored. I call mine /db-backups/: mkdir /home/your-account/db-backups 2. Create a file in your home directory called .my.cnf (starting with a period). This holds your DB connection information. Place the following into that file, replacing "mysql_username" with your database username, and "mysql_password" with your database password: /home/your-account/.my.cnf [client] user=mysql_username pass=mysql_password If working on a shared server or some environment where other accounts can get into your files, make sure that .my.cnf file isn't readable by anyone else. i.e. type "chmod og-rwx .my.cnf" to remove (o)ther and (g)roup read/write/execute access to it. 3. Create another file in your non-web-accessible home directory called db-backup and paste the following in there. Update the first two lines in the script to point to the directory you created in step 1 (DB_BACKUP) and the name of the database you want to backup (DB_NAME). /home/your-account/db-backup #!/bin/bash # modify the following to suit your environment DB_BACKUP="/home/your-account/db-backups" DB_NAME="your-db-name" # title and version echo "" echo $DB_NAME echo "----------------------" echo "* Rotating backups..." rm $DB_BACKUP/$DB_NAME.5.sql mv $DB_BACKUP/$DB_NAME.4.sql $DB_BACKUP/$DB_NAME.5.sql mv $DB_BACKUP/$DB_NAME.3.sql $DB_BACKUP/$DB_NAME.4.sql mv $DB_BACKUP/$DB_NAME.2.sql $DB_BACKUP/$DB_NAME.3.sql mv $DB_BACKUP/$DB_NAME.1.sql $DB_BACKUP/$DB_NAME.2.sql echo "* Creating new backup..." mysqldump $DB_NAME > $DB_BACKUP/$DB_NAME.1.sql echo "----------------------" echo "Done" Note: I found this code somewhere else online a couple years ago and don't remember where to properly credit it. 4. Save the above and make it executable: chmod u+x db-backup If you are connected via SSH, test it out to make sure it's working by typing: ./db-backup It should create the first backup in your ./db-backups/ directory. 5. Setup a daily cron job to execute that file: /home/your-account/db-backup … most web hosting accounts have some ability to setup cron jobs in the control panel. 6. Now your server is keeping rotating backups in your account. Next I'd recommend going further and copying them to another machine, automatically every day. How you do this depends on whether you are going to use SFTP/FTPS or SSH (with rsync). Its preferable not to use regular FTP since it's not secure. In my case, I've setup a cron job on my OS X desktop to copy over the files to my computer every day. It executes a file that looks like this: #!/bin/bash /usr/bin/rsync --archive --rsh=/usr/bin/ssh --verbose user@domain.com:db-backups/* /Users/ryan/Backups/db/ That copies those rotating backups to a /Users/ryan/Backups/db/ directory on my computer. In order for the above to work, you'd have to already be using SSH with your account and have your SSH keys assigned so that you can connect without typing your login/password. If anyone is running a similar setup, I'll be glad to tell you how to do that. But I know there are other ways to automate this task and the approach you use here kind of depends on the platform and whether you have SSH access on the server. This setup is pretty bulletproof, but I'd like to have some module in PW in the future that will let it do all of this for you – Automatic backups from one server to another.
  • Create New...