-
Posts
716 -
Joined
-
Last visited
-
Days Won
26
Everything posted by Jonathan Lahijani
-
ProcessWire Screencasts / Video Tutorials
Jonathan Lahijani replied to Jonathan Lahijani's topic in Dev Talk
I've been working on the site quite a bit. Here are some very early screen grabs (a lot will be changed and improved): Home Page: http://goo.gl/rxjQ5t (more sections will be added below the masthead) Series Page: http://goo.gl/tNfJnk Episodes Page: http://goo.gl/fGJzqJ (very preliminary, many modifications to be made) Episode Page: http://goo.gl/zrIcXf (top of the screenshot is cut off) As you can see, I went with a very bright color palette. I want the site to appear fun, friendly and unintimidating. The colors are also inspired by the PW site. Color palette: http://www.paletton.com/#uid=60R1h0kwi++bu++hX++++rd++kX -
ProcessWire Screencasts / Video Tutorials
Jonathan Lahijani replied to Jonathan Lahijani's topic in Dev Talk
Thanks for the support and suggestions. Been working hard on episodes. About 1/3 done so far with episode recording, but still need to do editing as well as record the rest. I've began creating the website on my local server. I've inputted a list of all the episodes the "WordPress vs. ProcessWire" series will have (29 so far). Some more may be added to this series if I realize I've forgotten anything. Screenshot: http://goo.gl/3LUYTo Jonathan -
ProcessWire Screencasts / Video Tutorials
Jonathan Lahijani replied to Jonathan Lahijani's topic in Dev Talk
It was a busy summer and I finally have a little time to breathe. Now that ProcessWire 2.5 is out (as well as WordPress 4.0), it's a great time to get going with this project. I gave the idea more thought, and I'm going to start with a series of videos called "WordPress vs. ProcessWire". Each of the episodes in this series will begin by demonstrating a task/feature/approach in WordPress, then the equivalent task/feature/approach in ProcessWire. The episodes will also touch upon the architectural differences between both systems and highlight the strengths and weaknesses. Each video will be quick and to the point... somewhere between 3-8 minutes. Some episodes in the works: installation: just a simple walkthrough of the installation process of both systems pages page templates custom fields custom post types taxonomies page ordering plugins (an explanation of the repositories and how to install) forms (gravityforms vs. formbuilder) shortcodes (vs. hanna code) images embedding videos caching documentation etc. etc. I've actually created 10 episodes in one day today. This "WordPress vs. ProcessWire" series is targeted towards intermediate to advanced WordPress developers... anyone who knows how to custom theme WordPress well and has been using it regularly for at least one year. My thought is they are comfortable with WordPress despite some of its annoyances (speed, security issues, generated markup, api, data architecture, custom fields and custom post types approach), but they haven't found an alternative system that can match it pound for pound. This series will reduce the anxiety that's associated with a decision to invest one's time to learn an alternative technology. If I can prove that almost everything they are comfortable with in WordPress can be done with ProcessWire more elegantly, my hope is that it'll get a lot of people to switch. More coming soon.- 33 replies
-
- 15
-
New ProcessWire admin theme on dev branch
Jonathan Lahijani replied to ryan's topic in Themes and Profiles
Is this still the recommended way (in relation to the current dev branch... 2.4.14) to make a color variation based on the default admin theme? Doesn't this approach keep files in /wire/ which would be deleted upon an upgrade (bad practice)? -
Is it possible that child pages created WITHOUT the PageTable interface can still appear in the PageTable list? This issue is hard to explain so I will do my best with an example of the problem... Let's say you have a page template called 'product'. This 'product' template can have child pages called 'option'. So, you create a page using the 'product' template called 'Widget'. You then create 3 options using the 'option' template. These options as child pages of the 'Widget' page. Then one day you decide rather than having to create child pages the typical ProcessWire way, you take advantage of the PageTable field and use that to create these 'option' child pages since it's a slicker way to do it. The problem with this is the original 'option' child pages WILL NOT APPEAR in the PageTable field list. The only child pages that appear in the PageTable field are the ones that were created using the PageTable interface. Does this make sense? Perhaps the screenshot attached will help.
-
"Continuous integration" of Field and Template changes
Jonathan Lahijani replied to mindplay.dk's topic in General Support
Amazing! -
Shop-for-ProcessWire (@Apeisa)
Jonathan Lahijani replied to Nico Knoll's topic in Module/Plugin Development
I haven't had to deal with any complex product discounts yet. One competitor to FoxyCart that I haven't seen mentioned on the forums is called SnipCart. Similar concept (drop in cart), but it looks pretty slick and can manage orders in it as well (as opposed to using something like OrderDesk). Worth checking out, as well as the upcoming FoxyCart 2.0. -
Shop-for-ProcessWire (@Apeisa)
Jonathan Lahijani replied to Nico Knoll's topic in Module/Plugin Development
I agree with what you've stated. I've also worked with various ecommerce systems including: Magento: too overengineered, excruciatingly difficult to theme, slow, only makes sense sites that would take advantage of all its complexity; fun fact: it's 8 million lines of code, and the team consists of 8 developers; I believe the version 2.0 rewrite has been in the works for almost 4 years now Shopify: good but working with a remotely hosted / SaaS ecommerce system has its limitations. i also don't like how the catalog system is structured. Lemonstand: never worked with it but they went the remotely hosted / SaaS route OpenCart: looks nice on the outside, but once I dove in, I didn't like how certain things worked Prestashop: same as Opencart Volusion: SaaS and it sucks BigCommerce: SaaS; never used it but probably a good competitor to Shopify WooCommerce: not bad, however I've moved away from WordPress and since it's a WP plugin, it feels very second class, clunky and uses WP's architecture. it doesn't have a refined feel to it. also, a lot of functionality that should be built into it comes via extensions. given how the prices of extensions have sky rocketed for woocommerce, expect to spend around $500 to $1000+ dollars to bring it the features you will eventually need, that then may have issues with successive WP and Woocommerce updates... plugin hell. makes more sense to go with a dedicated ecommerce system where everything is built tightly together given those reasons. CS Cart: looks good, but I did some research and now I forgot why I didn't like it If I were to go with a dedicated ecommerce system, I'd either go with: Spree: Rails based solution. Got recently funded by GoDaddy with $5 million. Open source. Very promising and big names behind it. Built in a way where integrations can be done nicely. Sylius: Symfony based system. Looks promising as well. I don't take on too many ecommerce projects these days, however if I do, I keep it simple with ProcessWire + FoxyCart + OrderDesk. It's a simple but extremely flexible approach since ProcessWire makes it easy to build out a catalog that conforms to a site's unique catalog structure and product types without bending backwards and having to override a bunch of things. I'm interested to see what FoxyCart version 2 brings to the table. I'm also patiently awaiting Apeisa's system. Need any beta testers or perhaps some general feedback Apeisa? -
I'm an independent contractor and work with a lot of different clients. Most of the sites I do are light, medium or heavy content-based sites. ProcessWire is my go to system for these types of sites, or WordPress if the client really insists. I stay fairly busy and I've reached a point where I need to have a reliable, go-to developer that I can subcontract work to when I am too busy to take on the work by myself. This could lead to be a steady stream of projects to work on. I'm looking for someone with the following skills: strong php skills can do design conversion correctly (that is, taking a PSD and hand-converting it into html/css/js); also knows how to do mobile-first responsive design with either framework strong experience with Bootstrap and/or Zurb Foundation; using it SASS or LESS is a plus some experience with Grunt, Bower (the basics) knows how to make a theme/template from scratch (ideally using a starter theme like Roots.io) and organize files and code in a modular/partialized way (note: for my ProcessWire based sites, I use a starter template based on Roots.io for ProcessWire) strong experience with ProcessWire or WordPress (at least one of the two) understands how to best organize information and properly structure a site based on a CMS's capabilities (for example, using Custom Post Types and Taxonomies in WordPress; when to uses Pages vs. Custom Post Types, etc.) very organized and takes pride in their work If you are interested, please send me a private message or email (jlahijani at gmail.com) with the following: a list of some recent sites that you have done along with a couple sentences about each explaining the CMS, tools and approach used. i don't care much about the design of the site as opposed to the development part. your general preferred approach in developing medium-large content sites your location a little about yourself your website (if you have one) anything else you feel that you'd like to say Thank you, Jonathan
-
ProcessWire Screencasts / Video Tutorials
Jonathan Lahijani replied to Jonathan Lahijani's topic in Dev Talk
Hi Neeks, That video is quite old now and much has changed with my system since then, especially the caching technique. Also, caching is not needed as much anymore since I made a lot of optimizations to the code and eliminated a lot of issues that were causing lag. Regardless, PW has a proper caching module called MarkupCache which is the correct way to do the sort of caching I had in the video: http://modules.processwire.com/modules/markup-cache/ My bookmarking system is a good clone of Diigo along with features that suit the way I organize things. (note: Diigo now lets you edit previously bookmarked URLs, which was a major complaint I had about it). Given that this is a true webapp, building it with ProcessWire isn't the best fit, compared to a comprehensive webapp framework like Rails, Laravel, or some of the new NodeJS based frameworks out there (Meteor, MEAN, etc.) although it does get the job done. Being forced into an MVC way of doing things would make sense for a pet-project like this. However, I'm glad I originally built it in PW because it served as a great way to learn about a bunch of features I wouldn't have otherwise been exposed to. I mainly reserve PW for general CMS type sites or sites that wouldn't become true web apps. -
Has anyone used the Vimium extension for Chrome? Over the past few days, I've been working on some productivity hacks and part of that included relying less on the mouse for basic tasks. I've never been a true Linux user or one who uses Vim, but I gave this extension a shot after a few days, it's very liberating to be able to browse websites and control Chrome (especially manipulating tabs) entirely with the keyboard! I can see myself using vintage mode for Sublime in the near future. Maybe also the ability to navigate my file manager (xyplorer) with keyboard shortcuts (or just start using the command line a lot more often). Check it out: http://vimium.github.io/
-
If you've done heavy frontend WordPress development, then you may have heard of Roots: http://roots.io/ Roots 7.0.0 on Github: https://github.com/roots/roots/tree/7.0.0 It's described as: Roots, a WordPress starter theme, helps you make better themes with HTML5 Boilerplate, Bootstrap, and Grunt. Some key points from their site: Optimized for production use - The Roots Gruntfile compiles your LESS & minifies and concatenates CSS and JS. Bootstrap ready - Roots includes Bootstrap for faster web development, but it can easily be removed or replaced with your preferred CSS framework. Write less code with the theme wrapper - Template markup is controlled by a theme wrapper and is handled by one file instead of being scattered across all template files like typical themes. It's a starter theme (not a theme with an existing design) for tech savy developers and comes pre-configured with a nice set of tools, build scripts (css and js minification, etc) and an excellent template architecture and file organization from which you can build a site. How everything is organized is what makes it shine (as well as how it fixes a lot of ugly things in WordPress). I've been using it as my go to starter theme for over a year and I like the way it's been thought out. I recently used it on a large corporate site with some strict production environment requirements and it allowed me to dive very deep into Roots and get a great understanding of it. With that being said, I still have yet to settle on a standard site profile for when I create ProcessWire-based websites. I figured since I like Roots so much, I could create a site profile based off of it, if not for the template structure, then mainly for the tools it provides as well as file organization. I spent a couple hours and got a lot completed already. Anyone else have experience with Roots? Jonathan
- 1 reply
-
- 2
-
Hello all, I love ProcessWire and the community. It is a fantastically architected CMS. I believe over the next few years it will continue increasing in popularity as more people catch word of it. Perhaps it can even take a few percentage of marketshare away from WordPress, which powers 20%+ of all websites on the internet (insane, right?). Well, I'd assume a good portion of those are just wordpress.com blogs that no one reads or have been abandoned, but I could be wrong. I believe we can speed up the adoption rate and open people's eyes faster. They just need to see the light. The forum recently past the 2000th signup, which is about double the number last year. Perhaps we can have 10,000 a year from now. With that being said, I wanted to announce a project that I will be pursing... (drumroll please)... It will be called: Wirecasts.com I envision it as a website containing short, 5-10 minute videos discussing various topics with ProcessWire, much like Railscasts.com is to Ruby on Rails. My first goal is to start with a series of videos that goes head to head with WordPress. I will demonstrate how to do things in ProcessWire that developers are accustomed to in WordPress. For example: Local Installation ProcessWire Pages vs. WordPress Posts + Pages + CPT's Building Menus Custom Fields Themes vs. Site Profiles Shortcodes vs. Hanna Code Showcasing all kinds of plugins in WordPress and their ProcessWire equivalents (like Gravity Forms vs. Form Builder, etc.) I also anticipate creating videos related to some of the topics here on the forum. What's the best way to make a login form? What's the best way to organize content? And so on... Over the last few days, I've been perfecting my screencasting technique for this project. I have a super clean virtual machine with Windows 8 and minimal software (Chrome, Sublime Text, XYplorer) specifically configured for these videos. Videos will be shot in 720p with my Patrick Bateman-like radio voice narration (will need to work extra hard to get that part right). Here's a video I recorded and edited today. It does not yet have voice narration, but it will give you an idea of the quality I'm shooting for. http://bit.ly/1m1H66B (10mb mp4 file) I'd like to hear your feedback and any suggestions to make this a great site! Stay tuned. Jonathan
- 33 replies
-
- 27
-
White Construction Company Website
Jonathan Lahijani replied to Jonathan Lahijani's topic in Showcase
Yes. The whole home page slideshow uses that library. It's nice to work with once you get the hang of it. -
Hello fellow ProcessWire devs. I recently developed and launched the following site: http://whiteconst.com/ Specs: PW 2.4 Zurb Foundation 5 Full width layout + responsive design; font-scaling in certain situations Ajax page loading; window history pushstate CSS3 based loading animations (page to page, project modal) Heavily animated home page slideshow (built with sequencejs) Developed so that every page is properly indexed by search engines despite used of Ajax (each page has it's own unique URL; canonical meta tags also indicate to search engines what the official URL of a page is to prevent duplicate content cases) Form Builder module Hanna Code module XML Sitemap module Video Embed for YouTube/Vimeo module (don't know about this one? you should!) Custom module to that allows administrators to view all projects in the admin section using a table layout with more metadata screenshot: http://goo.gl/3HfJTW Custom modal to view projects Custom developed news blog (with categories, year archives, recent posts filters) Content is easily manageable by site admins All kinds of frontend coding to make the layouts look great, especially the project pages (image gallery, videos, etc.) This was a challenging project for several reasons. Several requirements and layouts were changed along the way. Also, whenever dealing with Ajax based page loading, that seems to complicate things by a factor of 3 (must take many other things into consideration for it to work properly and lots of edge cases). This was also the first PW site I did that needed a blog / news section. I didn't start with the Blog profile, but this was easy to roll. In fact, I like being able to build out the blog myself because of the greater control it provides. I wanted URLs to be formatted in a particular way. It needed to be Ajax based. I like naming things my own way (Blog or News? Post or Article?... WordPress's defaults are extremely confusing to the end user). At the end of the day, ProcessWire was a perfect fit for this project. - Jonathan
- 7 replies
-
- 18
-
Thanks for that resource Adrian. However, I don't think that approach will work for what I have in mind. For example, let's say I'm on a page that is of the template "car" that lists all the details of the car. Naturally, this gets stored in $page. Then let's say while still on that page I want to output the content of a separate page of a totally different template... let's call it "computer". $mycomputer = $pages->get("/computers/macbook-pro/"); At this point, both $page (which has a template of "car") and $mycomputer (which has a template of "computer") are of the Page class, but of different templates. Naturally, some methods would apply to "car" and some would apply to "computer". So, for example, would it be possible to add a property called "hello" to just a Page of template "computer", even without being on the "computer" template?
-
Hello, The Hook API documentation is great in explaining how hooks work. I wanted to know if it's possible to add a method or property to a Page, but pages only of a specific template type. The reasoning behind this would be certain methods or properties would only apply to specific template types. Possible? Thank you.
-
Another suggestion for just local testing / not sending out the actual email is a program called 'Test Mail Server Tool': http://www.toolheap.com/test-mail-server-tool/ However, make sure to not run it with a program like hMailServer simultaneously since there will be port conflicts.
-
Check out hMailServer: http://www.hmailserver.com/ Works well for me with my Gmail account.
-
Hey all, Here's a demo of what I've built. It's become my primary bookmarking system: I didn't demonstrate it in the video, but this system works amazingly on a mobile device too. It's so easy and quick to pull up stuff I want to read when at a coffee shop or have a few minutes to kill when on the go. I found Diigo's Android App very limiting in comparison, especially since it doesn't allow you to view all of your bookmarks on the mobile app (last time I checked). I have no plans as of yet to release this, but I may in the near future if you are all really interested. There are features I still want to build out as well as a lot of code cleanup and security measures that need to be implemented. Enjoy! Jonathan
- 14 replies
-
- 14
-
Is anyone here a heavy bookmarker like I am? Typically I'll get most of my news from Hacker News and Slashdot, followed by some great blogs on a daily basis. I usually never have time to read an article in depth when I first come across it, so I'll bookmark it for later. Or, if I quickly need to get up to date on some topic, I'll do a search (usually by tags) and familiarize myself with important stuff I've bookmarked in the past. After having used browser native based bookmarking (Firefox and Chrome), then Delicious, then Diigo, then Pinboard and becoming frustrated by all of them for various reasons and limitations, I've decided to roll my own little single user (and non social) bookmarking system with ProcessWire (with Bootstrap 3 as the frontend framework). It's still a work in progress, but it takes the best of all those systems with my own power features. It also utilizes ajax for certain actions. I'll need to create a Chrome extension to tie it all together. I have to say however, after working non-stop on it for hours on end and not being able to think of anything else, it's looking slick. Damn you ProcessWire for making this so enjoyable. Jonathan
- 14 replies
-
- 13
-
Isn't the idea you described just to remember a user's username in a cookie, even after they've logged out, so that it'd prepopulate a login form with their name? What would be the best approach for truly keeping them signed in (unless they specifically log out), even after they've closed their browser? Basically a "Remember Me" feature much like WordPress or other web apps (Google, etc.) where it expires after a couple weeks. I'm having difficulty with this.