Jump to content

MatthewSchenker

PW-Moderators
  • Posts

    677
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by MatthewSchenker

  1. Greetings, Renobird: I agree. However, I still have several legacy Joomla projects where I am getting clients to make the move to ProcessWire. The number is dropping, but there are enough of them to keep reminding myself of how Joomla pales in comparison. Which brings me to another major praise for ProcessWire: it is easier to re-make a site from scratch with ProcessWire than it is just to maintain a Joomla site with all its plugins and modules and conflicting Mootools messes. Soon, these legacy contracts will come to an end, and they will all have to be on ProcessWire! Thanks, Matthew
  2. Greetings, Sorry about that! I was posting code that originally had a few other lines not necessary for this discussion. Forgot to strip out the extra reference. It's fixed now. Thanks, Matthew
  3. Greetings, I have been working a lot with SVG graphics lately, which is especially interesting when combined with the dynamic nature of ProcessWire. I generally use Adobe Illustrator or Inkscape to create the SVGs. But I really like this: http://code.google.com/p/svg-edit/ It works very nicely as a standalone app, but the exciting part is integrating this with a ProcessWire site. More on that in another post! Thanks. Matthew
  4. Greetings, If I understand this correcrly, building pages from the API makes this poasible without a new field type. Generally, when I have people adding pages using front-end forms via the API, I have specified places for creating pages they need. For example, I'm working on a project now where I created an "admin options" page that has the following links: - Create new show - Create new gallery Choosing one of those options brings them to the page-creation form, which is coded to set the new page as a child of "Shows" or "Galleries" (depending on their choice). You could do the same thing by having a "Create New..." select box containing the same choices (show, gallery), then use that choice as the parent when you actually create the page. Of course, that's if you do this from the API. If you're doing this from the admin back-end, where would you place it? The new-page process starts from the page tree, so how would you define where it resides? Thanks, Matthew
  5. Greetings, Thanks everyone for these ideas. As always with ProcessWire, there are many ways to accomplish what needs to be done. In my search for an AWS solution, I came across this code for Laravel. I think it can either be adapted to ProcessWire, perhaps as a module: https://github.com/aws/aws-sdk-php-laravel Thanks, Matthew
  6. Greetings, I agree with everything being said here. On a related idea... Lately, I've been experimenting with SVG layouts, and when you combine that with the dynamic capabilities of ProcessWire you enter a whole new world of possibility. I've been meaning to set up a discussion on this to share our ProcessWire/SVG explorations. Thanks, Matthew
  7. Greetings, Yes... Several times a week, I have an urge to post something like this! For me, with recent experiences in Joomla/Drupal/WordPress fresh on my mind, I can make direct comparisons to many core ways of working. As time goes on, and my "big three" experiences fade away, I do find myself forgetting specific details. But what I never forget is the feeling of frustration and how long it took to get projects up and running in the other CMSs, and the freedom we have in ProcessWire to just make our visions happen. It's interesting you post this today. Recently, I have been wanting to search the web for any discussions comparing CMSs and make sure that more people understand that it's not only about "the big three." Thanks, Matthew
  8. Greetings, The idea of selects being pages -- at first -- seems odd, because other CMSs have simpler ways to do it. But the first time you need to have multi-dimensional elements as selects, you realize how terrific this is. Just a simple example... In one of my recent projects, admins create store pages and add the location by selecting a US state. They need to see the full name of the states in the select box. I also needed to create a search that allowed visitors to find those stores by entering any or all of the state name. But, I also needed to display state abbreviations in store listing pages. Using ProcessWire selects, I just created "state" pages with the title field, as well as an "abbreviation" field, then used those pages to populate the select. The person creating the page doesn't even know the abbreviations are there. They just know that when they select the full state name, magically, the proper abbreviation shows up in the listings pages. You could go many levels down (or up) from there! Thanks, Matthew
  9. Greetings, AHA! A little voice told me there must be something like this going on, because of two things: 1. It seemed odd to get a "selector" issue when creating pages. 2. There's always an easy solution to any "issues" in ProcessWire. Here's what happened. In this project, I added a method to check for duplicate titles upon submitting the page (creating or editing), and THAT is where the "selector" issue was happening. For others dealing with this same idea, here's my code... Originally, I had this, which DID NOT work: $matchedtitle = $input->post->title; $checktitles = $pages->find("parent=/parent/, title=$matchedtitle"); // Look for existing pages with requested title. I edited it as follows, and IT WORKS: $matchedtitle = $sanitizer->selectorValue($input->post->title); // "selectorValue" strips out commas from title search. $checktitles = $pages->find("parent=/parent/, title=$matchedtitle"); // Look for existing pages with requested title. The second code snippet is the one to use. Thanks, Matthew EDIT: The code above is for the create page routine. The edit page routine has a bit more going on.
  10. Greetings, Very excellent work Horst! I have tried this in a sandbox site and cannot wait to integrate it into a live project. Now, how about preventing clients from uploading photos that ruin our beautiful designs? Maybe a hand that reaches out and stops them from clicking "submit" in certain cases? Or maybe an automatic watermark that stamps "developer not responsible for this image." But seriously, your work is amazing. Thanks, Matthew
  11. Greetings, I have been using front-end forms to create pages for in a few ProcessWire projects, and it works great! However, I just created my first project that requires commas in the titles, and suddenly I get this error whenever I create or edit pages with a comma in the name: Error Exception: Unknown Selector operator: '' -- was your selector value properly escaped? (in .../public_html/wire/core/Selectors.php line 165) I have a form collecting information to create a page. I then use an $np variable populate the fields for new pages. As long as there is no comma in the title, everything is great. Here are the coding approaches I have tried to handle this problem (I show the title line for clarity): Attempt 1. Sanitizing the title, then just making the name = title: $np->title = $sanitizer->text($input->post->title); $np->name = $np->title; Attempt 2. Sanitizing the name separately (as described in the API): $np->title = $sanitizer->text($input->post->title); $np->name = $sanitizer->name($input->post->title); Attempt 3. Another approach via the API: $np->title = $sanitizer->text($input->post->title); $np->name = $sanitizer->pageName($input->post->title); Attempt 4. Finally, I have tried not setting the "name" at all, since Ryan has suggested elsewhere that it is auto-generated from the title. In each case, the error occurs if there is a comma in the title. If there are any other non-url characters, there is no problem. Is there another syntax I should be using in my templates to deal with commas in API-created pages? Thanks, Matthew
  12. Greetings, In this situation, I completed a site for a client, and I am neither hosting the site nor offering service on the site. The client is on his own! I mentioned that he should NOT trust the host to do backups. Then he asked me if I could build some way to make backups easier. So I hunted through the API thinking, "the building blocks I need for a PW backup script must be here somewhere -- I can always find the bits I need for any solution." I am thinking that "backing up" is really no different than creating a profile. So maybe initiating something like this would work: http://processwire.com/talk/topic/530-profile-export-module-also-upgrade-pw-20-to-21/page-2 If there was a situation where the site needed to be restored, the client would call me to take care of it. Thanks, Matthew
  13. Hi Arjen, I was hoping (maybe) to create something that my clients can initiate as an option. I already am creating control panels for a lot of other functions and was thinking this would be part of it. Thanks, Matthew
  14. Greetings, Sorry for resurrecting an old discussion. But it is still very relevant! I've been looking lately at solutions for setting up automated backups to my Amazon S3 service. Does anyone know what kind of code we could use in the PocessWire API to make this work? Thanks, Matthew
  15. Greetings, Very nice site. The various pieces knit together really well. Your logo works really nicely with the general imagery you chose for the site. I like how you arrange all the major pages and provide intuitive sub-page navigation. These pages feel like we are following your story naturally. This works especially well in the "About" section. And by the way, you really let us into your soul here! Comments: - Couple of typos. "Music" page: "Critisism" instead of "Criticism." "About" page: "invisisble" instead of "invisible." - Your main navigation does not indicate the "active" page. This is important since your pages don't contain the menu title (for example, the "About" page does not literally say "About"). - The switch to Tumblr for your blog feels awkward. This may be my personal thing (I never liked Tumblr blogs). Looking forward to seeing where you take this next! Thanks for sharing, Matthew
  16. Greetings, When it comes to flexibility in layout, I can't think of a system that is better than ProcessWire. Let me describe an example of what I had to do for a project I just completed for an arts organization with variations in their "event" pages. Sometimes, these events had multiple images, sometimes only one. Same for text: sometimes the event had text and other times it did not. Then there are combinations of these. (I'll be posting this as a case study soon). Using the same template, I had to shift the layout depending on which combination is true for that event: - Multiple images and text: I display text to the left and a lightbox gallery to the right of the text. - Single image and text: I display text to the left and display a static, full-size image to the right of the text with no lightbox. - Multiple images and no text: I display a lightbox gallery on the left (where the text woukd normally go). - Single image and no text: I display a static, full-size image on the left (where the text would normally go) with no lightbox. Because of the design freedom of ProcessWire, I was able to build some logic into my templates to detect what is going on and render different outcomes. Of course, in my examples above I have coded these variations. I have not allowed the client (for example) to decide randomly where to insert text and/or galleries or single images. In my opinion, I would advise any client against this kind of strategy, as it actually ends up limiting -- not expanding -- each element, and I think it leads to messy sites. As diogo said, there is value in explaining the need to constrain in some ways. Thanks, Matthew
  17. Greetings, I just checked this out -- using iPad Safari and Chrome. Looks fun, and you certainly "let the images do the talking"! Everything works great and your creations are interesting. I like your twisted sense of humor. You seem to tend towards the macabre, but that does make your work memorable. Your logo is humorously disgusting!!! My only comment is that the menu pull-down button seems odd. The button itself seems out of place. What's interesting is that your site is very transition-heavy, which is great. But with the menu I think it would actually be more elegant to just display steady links. Thanks for sharing! Matthew
  18. Greetings, Maybe build this in ProcessWire? It seems, at least theoretically, to be possible. What are the particular requirements? Thanks, Matthew
  19. Greetings, Funny you ask this, because I have recently been thinking about how complex my bookmarks have become in Firefox. I am always organizing them. It's worth the effort, but I would be glad to hear about systems people use to better organize and use their bookmarks! Below is a screen shot of my bookmark folders in Firefox, which are arranged alphabetically. Sorry, the shot gets cut off at "u"! And this doesn't even show all the sub-folders! Thanks, Matthew
  20. I'd like to add a bit to the great material that has already been posted... Journey From the "Big Three" to ProcessWire... It might seem that ProcessWire is "elitist" because it doesn't assume anything. But let me share my experiences with you, which have led me to the opposite conclusion. I came to ProcessWire from the world of Joomla (and Drupal and WordPress), where all manner of web development building blocks are set up and built ready for you to use, to make your life easier. In fact, you might say that in this way a system like Joomla is the most un-elitist system out there. It assumes you know nothing, and holds your hand through every part of building a web site. For a couple of years, this was good for me. Until one day, when I learned some JQuery and wanted to implement some new concepts, or when I read on Stack Overflow about some creative ways to make PHP do what I need, or wanted to create a unique layout for a client and needed to start from a blank slate, or wanted my user registrations to look unique, or wanted my articles to have 20 separate fields, or wanted a tagging system that looked and behaved in a particular way, or wanted to set up custom search functions for my site. Suddenly, everything about Joomla's un-elitist approach felt stifling. At every step, if I was not doing something the "Joomla way," it didn't work or was 10 extra steps to override something. When I posted about this to the Joomla leaders, I was essentially told, "You don't do it that way in Joomla." When I switched to ProcessWire, I realized that I was now free to implement any good coding ideas I discovered on my own, or discovered on Stack Overflow, or read about in various CSS, Javascript, and PHP realms. Core Assumptions... ProcessWire makes only two assumptions: first, that you have a good grasp of foundational building blocks of the web; second, that you explore the API. On the first point, the assumptions ProcessWire makes are generally the same basic assumptions that would be made if you were developing sites in "pure" PHP/HTML/CSS/Javascript. In other words, any knowledge you gain about these foundational building blocks can be immediately implemented in ProcessWire. On the second point, yes, there are system-specific API elements you need to understand. But they are designed to cleanly facilitate depth and creativity in those foundational building blocks. ProcessWire Trusts Your Intelligence and Capabilities... Put all this together and what do you have? Well, you have a situation where you can create anything you want, because you can get at the foundations of systems that exist on the web. For example, if you need a tagging system, you can learn what constitutes a tagging system. What are the core principles of tagging? Once you understand it, you can build it in ProcessWire. Not only that, but you can build it your way, with no assumptions, freely. If you come from a system like Joomla, Drupal, or WordPress, this means you may have to learn a few new ways to work. But those ways of working -- again -- go directly to the basic building blocks of the web. I know from experience that the un-elitist approach used by Joomla, Drupal, and WordPress seem to be nicer but actually turn out to be very harmful to your individual progress because they delay your exploration of these foundational building blocks. With ProcessWire, because it trusts you to use those foundational building blocks, the knowledge you gain using ProcessWire is applicable beyond ProcessWire and helps you no matter how you create web applications. Put another way, ProcessWire allows you to explore and build in the most un-elitist way possible. With that Said... After all this, there is of course some system-specific material to learn. There is the ProcessWire API, which is unique to ProcessWire. The system has been developed to get as close as possible to "pure" expression, and the syntax of ProcessWire's API calls have only what is needed to get at your data. But yes, there is API syntax to learn here, and the list of specific calls is pretty long. There are "best practices" for combining API elements. There are general goals that we all need for our web applications (galleries, tagging, user registrations, forms, etc) and somewhere there is a good combination of ProcessWire API calls to make them happen. What are those combinations? Well, usually there is more than one, because it depends on what you want to do in your application. The answer may not be pre-packaged, so you may have to hunt a bit. But I definitely agree that it would be great to have documentation of various methods (combinations of ProcessWire API calls and "pure" PHP/CSS/JS) to accomplish various goals. For that, we need what I would call "goal-oriented" documentation. I am proud to say that I am working on this right now. I have been working in silence. But discussions like this make me want to get it out there sooner. * * * I hope this helps a bit. Embrace the way ProcessWire allows you to work! Thanks, Matthew
  21. If the client is coming from "plain HTML" the pitch to get them into ProcessWire is easy. However, in my experience, ASP creates absolute addiction (but not necessarily because it's so great). As a side note: in case you don't use it already, Wappalyzer is a nice plugin for Firefox or Chrome that reveals the system a site is built with. Thanks, Matthew
  22. Greetings, I will agree that WordPress comes up a lot with clients. Probably every week I talk with a potential client with a WordPress site he or she wants to re-do. Because WordPress is so ubiquitous, many clients don't seem aware of other options. Of course, these days, I make my best pitch for remaking the site in ProcessWire. And the pitch works often enough! For those who refuse to budge from WordPress, I increasingly suggest they go to someone else. The only other major tool in my design/develop arsenal these days is a PHP framework (shift between Laravel and CodeIgniter), but ProcessWire is rapidly replacing that as well! My experience and interpretation of the situation: 1. If you're an independent developer, how popular WordPress is shouldn't matter too much. There is enough work outside WordPress. 2. It's up to each of us -- and the ProcessWire community -- to develop statements we can use to show clients the advantages of ProcessWire over WordPress (for example, explaining that ProcessWire is a CMS but built to be as flexible as PHP itself, and PHP is the language that WordPress is built with). 3. Clients often don't actually "choose" WordPress the way a designer/developer chooses a CMS. It's just that WordPress was the first and biggest thing they saw when they typed "blogging software" into Google. 4. There are a good number of clients out there who started using WordPress because they just wanted a blog, and now that they want more than that they are aware -- even as non-techies -- that WordPress is still meant mostly for blogging. 5. You can have a good life as a designer/developer without WordPress. Even if the stats trickle down, 81% of the time the situation does NOT include WordPress! Thanks, Matthew
  23. Greetings, This is interesting. In a way, I feel badly for MODx. It is a capable system with a lot of the qualities designer/developers want for freedom in development. But it seems their niche is vague. I only experimented with MODx for a short time (while I was using Joomla but before I discovered ProcessWire). From my perspective, MODx is not as wide open and flexible as ProcessWire, it's not in a position to market itself like ExpressionEngine, and it's just not going to appeal to the drag-and-drop crowd that sticks with Joomla, Drupal, and WordPress. Thanks, Matthew
  24. Greetings, I viewed this mostly on mobile using an iPad with Safari and Chrome. Very nice! The site is easy to navigate and has a very friendly feel -- which is important for something like this where your audience is not technical and needs to feel welcomed. You did a great job keeping a consistent stucture throughout. I really like the doctor bio pages -- they have just enough information to be informative and link nicely to further "official" information. You came up with a nice structure for navigating to various parts of the site. Four comments/questions: 1. In the left nav, "HOSPITAIS CREDENCIADOS" is wider than other listings. Is this intentional? 2. Page titles that run more than one line are cut off in the middle of the second line (on mobile). 3. Search results items sometimes have a title and intro text, other times only a title. Is this intentional? 4. How did you determine whether pages are accessed via the top nav or the side nav? Thanks for sharing! You did a great job. Matthew
  25. Greetings Teppo, I have spent time looking at this, mostly on mobile (iPad, Safari/Chrome). I really like the typography and the bright color theme. Each individual article has a nice eay-to-read presentation. It's great that you focus on content, which is what matters most of all for a site like this. And speaking of content -- you wrote lots of excellent arrticles! Keep that going! I agree with others regarding the logo, although it looks better on mobile. My only other comment is on the layout of blog articles. The uneven vertical space of articles makes the layout a bit confusing (although, even here, navigating to a title is not too bad). There seems to be an issue displaying the "project" pages (on mobile). They display initially, then the content disappaears: http://www.flamingruby.com/projects/process-login-history/ http://www.flamingruby.com/projects/page-render-ip-restriction/ http://www.flamingruby.com/projects/version-control-for-text-fields/ http://www.flamingruby.com/projects/process-changelog/ I have this book arked and will definitely watch your posts. Thanks, Matthew
×
×
  • Create New...