viewSource

viewSource

By Aurooba Ahmed, Brian CoordsTechnology
Download on the App Store

viewSource episodes

  • Modern Deployment for Laravel and WordPress

    It's the fourth and final episode of our series exploring Laravel. Brian takes us through the deployment process using Laravel Forge and AWS. Aurooba discusses "modern" WordPress development and how WordPress solutions like SpinupWP compare to tools like Netlify and Forge.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    • Suggest an episode - https://suggest.viewsource.fm/
    • All the code - https://github.com/viewSourcePodcast/suggest-episode
    • Tailcolor (Tailwind Color Generator) - https://tailcolor.com/
    • Laravel Forge - https://forge.laravel.com/
    • Spinup WP - https://spinupwp.com/
    • Brian's website – https://www.briancoords.com
    • Aurooba's website – https://aurooba.com


    • (00:00) - S02E04 - Laravel pt 4
  • (00:07) - Our Completed Laravel App
  • (02:34) - Tailwind and Colors
  • (04:56) - AlpineJS and Package Bloat
  • (07:57) - Single Page Apps on Laravel
  • (09:43) - Brian's Three Open Terminals
  • (11:52) - Scaffolds and CLIs in WordPress
  • (15:03) - Handling Build Assets in your Deployment
  • (18:36) - Deployment - Forge (and SpinupWP)
  • (24:25) - Connecting AWS to Forge
  • (27:44) - Automated Git Deployments
  • (31:20) - Git vs SFTP in Managed WordPress Hosting
  • (34:33) - Other cool things like queues
  • (37:14) - Final Thoughts
  • 42 min
  • Content relationships in Laravel vs WordPress

    Continuing on in the Laravel series, Brian adds suggestion submission capabilities to the Suggest an Episode app and discussed routing, content relationships, and the ease of templating in Laravel versus WordPress.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    • Demo Project - https://suggest.viewsource.fm/
    • Project Repo - https://github.com/viewSourcePodcast/suggest-episode
    • Laravel Debug Bar - https://github.com/barryvdh/laravel-debugbar
    • BerlinDB - https://github.com/berlindb/core
    • Brian's website – https://www.briancoords.com
    • Aurooba's website – https://aurooba.com
    • (00:00) - Introduction
  • (01:14) - Submitting a form in to create a new suggestion
  • (04:17) - Blade Templating Conditionals
  • (06:51) - User roles and permission conditions
  • (08:08) - The basics of Laravel Routes
  • (09:10) - Routes and CRUD
  • (10:36) - Error Handling in Routes
  • (11:51) - Passing information to Routes
  • (12:36) - How to create a Laravel Route
  • (15:09) - Looking at the Suggestion Controller
  • (18:36) - Comparing Laravel Scaffolding to WordPress Features
  • (19:21) - Creating the Destroy function
  • (21:25) - Comparing Routes in WordPress
  • (23:07) - When the Data Model needs to change
  • (25:09) - Content Relationships in WordPress
  • (28:40) - What are the next steps of the application?
  • (29:42) - Conclusion
  • 30 min
  • Diving into models and views in Laravel

    Breaking down Laravel and the MVC framework by building our first model and view. Along the way, Aurooba and Brian talk about Breeze, Artisan, database migrations, and Query Builder - all fundamental components of Laravel- and how they work.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    • Laravel Breeze - https://laravel.com/docs/10.x/starter-kits#laravel-breeze
    • Eloquent ORM - https://laravel.com/docs/10.x/eloquent
    • Code from this episode - https://github.com/viewSourcePodcast/suggest-episode
    • Brian's website – https://www.briancoords.com
    • Aurooba's website – https://aurooba.com
    • (00:00) - Introduction
  • (00:08) - What are we building with Laravel?
  • (02:48) - Frontend Demo and Laravel Breeze
  • (04:17) - MVC - The Model
  • (07:20) - MVC - The View
  • (09:22) - MVC - Controller
  • (11:40) - Artisan Migrations to set up Database tables
  • (16:52) - Our New Suggestions Model
  • (18:01) - Strictness in a Framework
  • (21:53) - Query Builder
  • (25:16) - Views and Blade Templates
  • (32:29) - Coding Standards in Laravel
  • (35:13) - Next Steps and Outro
  • 37 min
  • When should you pick Laravel over WordPress?

    What exactly can you use Laravel for? How does it differ from WordPress? When does it make sense to use Laravel versus WordPress, and what can we learn from the Laravel approach to open source work? Come on an adventure with us as we dive into Laravel and build a mini project over the course of the next few episodes and compare and contrast it with our experience in the WordPress world.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    • Demo Project - https://suggest.viewsource.fm/
    • Project Repo - https://github.com/viewSourcePodcast/suggest-episode
    • Laravel Breeze - https://laravel.com/docs/10.x/starter-kits
    • WordPress Performant Translations plugin - https://make.wordpress.org/core/2023/09/05/call-for-testing-performant-translations
    • Canonical Plugins in WordPress - https://make.wordpress.org/core/2022/09/11/canonical-plugins-revisited/
    • Brian's website – https://www.briancoords.com
    • Aurooba's website – https://aurooba.com
    • (00:00) - Introduction
  • (00:58) - Getting into Laravel
  • (03:12) - How Laravel is Different from WordPress
  • (04:38) - Introducing the viewSource Laravel mini project
  • (07:18) - When should you and shouldn't you build with WordPress?
  • (11:26) - The Laravel Ecosystem
  • (15:44) - Documentation in the Laravel world
  • (18:06) - Using Breeze to spin up a login system
  • (20:22) - How Laravel gives you momentum
  • (21:28) - Every framework has a learning curve
  • (23:46) - How to get started with Laravel
  • (26:44) - Conclusion
  • 27 min
  • Delving into more than just WordPress

    Season 2 starts in October! Tune in to find out what we'll be chatting about in this second season of viewSource and when it begins.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    - Brian's website – https://www.briancoords.com
    - Aurooba's website – https://aurooba.com

    • (00:00) - Season 2 Trailer
  • (01:49) - Next.js 13 and Browser APIs
  • (03:18) - Laravel is like WordPress for Applications
  • (05:23) - Learning JavaScript (more) Deeply
  • (06:33) - GraphQL vs REST API
  • (09:18) - What can we learn about WordPress from other frameworks?
  • (10:45) - What is the future of bespoke WordPress?
  • (13:44) - Preview of season two
  • 17 min
  • Reflecting on WordPress: the recent updates, the near future, and other things

    The Season 1 finale of viewSource is a draft style episode where we reflect on our favourite WordPress conversations over the last 20 episodes, chat about what's coming next for both WordPress, viewSource, and both Aurooba and Brian. A fairly chatty episode where we touch on topics like Brian's hatred of JSX, Aurooba's recent struggles with Webpack, and booking flights for WordCamp US 2023. Listen in for a conversations with many twists and turns, hints about a secret project, and what you can expect from Season 2.

    A full transcript of the episode is available on the website. Watch the video podcast on [YouTube](https://www.youtube.com/watch?v=Yjdv3W2a42A) and subscribe to our channel and [newsletter](https://viewsource.fm/subscribe) to hear about episodes (and more) first!

    - Digging into ACF for the Block Editor – https://www.youtube.com/watch?v=NowGadjZHR4
    - Exploring different kinds of Gutenberg Blocks – https://www.youtube.com/watch?v=Ti7emRBeNSo
    - The episode where Brian schooled Aurooba on Bootstrap – https://www.youtube.com/watch?v=OfuDUQ-MPPo
    - Wishlist for modern WordPress – https://www.youtube.com/watch?v=aqLZedTj_FE
    - MRW's Events Calendar Reset – https://mrwweb.com/the-events-calendar-reset-on-github/
    - Just in time learning – https://www.briancoords.com/just-in-case-vs-just-in-time-learning/
    - Brian's website – https://www.briancoords.com
    - Aurooba's website – https://aurooba.com

    • (00:00) - Introduction
  • (00:43) - Introducting the viewSource Draft
  • (02:33) - Favourite WordPress conversation of the season
  • (09:40) - Favourite side effect of doing season one
  • (13:40) - Something cool we learned in the lasts 6 months
  • (14:10) - Brian digs into React
  • (17:01) - Dealing with change in the WordPress community
  • (17:55) - Aurooba's relationship with build tools
  • (21:48) - The concept of "just in time" learning
  • (23:09) - Being a beginner at something
  • (24:59) - Looking towards Season Two
  • (26:21) - WordPress is turning a corner
  • (27:57) - When will Season Two launch?
  • (29:03) - Aurooba's next course: React in WordPress
  • (30:33) - viewSource at WordCamp US
  • (33:22) - A secret project releasing soon
  • 37 min
  • Wishlist for Modern WordPress Development

    Season one moves closer to an ending as Aurooba and Brian share their biggest wish list items for modern WordPress development. With a focus on both User Experience and Developer Experience, they cover topics like extensibility, documentation, and user onboarding.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    • Turbo-Admin - https://turbo-admin.com/
    • Performance Report - https://make.wordpress.org/core/2023/05/25/wordpress-6-2-server-performance-analysis-summary/
    • Sustainability Team Proposal - https://make.wordpress.org/project/2023/05/30/proposal-establishment-of-a-formal-wordpress-sustainability-team/
    • Gutenberg Phase 3 - https://make.wordpress.org/core/2023/03/24/phase-3-collaboration/
    • UX and Polish - https://github.com/orgs/WordPress/projects/96
    • The bird theme https://make.wordpress.org/core/2021/10/06/introducing-twenty-twenty-two/
    • Gutenberg Examples Repo - https://github.com/WordPress/gutenberg-examples
    • Quick Post - https://wordpress.org/plugins/quickpost/ 
    • Brian's website – https://www.briancoords.com
    • Aurooba's website – https://aurooba.com
    • (00:00) - Introduction
  • (00:43) - Remembering the Site Editor
  • (01:50) - Remembering the TT3 Theme Release
  • (03:34) - What are WordPress themes now?
  • (06:20) - Our WordPress "Pre-Phase 3" Wishlist
  • (08:00) - A Unified Dashboard
  • (10:11) - The track record of extensibility in WordPress
  • (14:08) - Block Editor UI Nice-to-haves
  • (15:56) - What's a "power user"?
  • (17:21) - User Onboarding and Default Themes
  • (19:26) - The Query Loop Block
  • (20:46) - Writing Code Instead of Using UI
  • (21:41) - The Different Types of Developer Documentation
  • (26:59) - WordPress Scripts and Build Processes
  • (32:43) - Classic and Hybrid WordPress
  • (33:41) - Shortcodes are still out there
  • (37:24) - Communication and Feedback in the Community
  • 44 min
  • Lessons from producing season 1 of viewSource

    In this episode, Aurooba and Brian discuss the four main challenges they faced and learned from in while producing this first season of viewSource. They also dive into the side effects of producing viewSource and how it impacted other aspects of their professional lives. This all stemmed from a technical snaffu that lost them an episode they were looking forward to releasing but does segue well into the reflective period they find themselves as in as summer break approaches.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    • Riverside – https://riverside.fm/
    • Descript – https://www.descript.com/
    • Krisp.ai – https://krisp.ai/
    • Transistor.fm – https://transistor.fm
    • Trello – https://trello.com
    • GitHub Projects – https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects
    • Brian's website – https://www.briancoords.com
    • Aurooba's website – https://aurooba.com
    • (00:00) - Introduction
  • (00:16) - Re-recording but with a new topic
  • (01:49) - Reflecting on this season so far
  • (03:13) - Lesson 1: it all takes longer than you'd think
  • (04:32) - Project managing the podcast
  • (06:38) - Lesson 2: A lot of tools but never one that has it all
  • (10:07) - A lot goes into creating the kind of show we wanted to create
  • (11:50) - Lesson 3: The impact of AI on podcasting
  • (14:29) - AI in the kitchen
  • (15:21) - AI in the podcasting workflow
  • (16:47) - Lesson 4: Traction is slower and faster than you'd think
  • (18:43) - The focus was never on in-the-moment things
  • (21:38) - Coders like to see the code
  • (22:01) - Connecting with other developers
  • (23:46) - The result of this podcast was more than just the podcast
  • (25:33) - Outro
  • 26 min
  • Passing Props and Toggling an Element in React.js

    Aurooba and Brian complete their accordion in React.js as part of their series on building an accordion block. They discuss how components are loaded into the Dom, binding a value to the className attribute, and thoughts on prop drilling. The episode ends with a preview of the rest of Season One and thoughts on viewSource Season Two.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    - Code from this episode - https://github.com/viewSourcePodcast/viewSource-blocks/tree/episode/accordion-content-on-page
    - Brian's website – https://www.briancoords.com
    - Aurooba's website – https://aurooba.com

    00:00 Introduction
    03:16 Previous code recap
    06:54 Adding a key for looping elements
    07:54 Components are not HTML elements
    09:50 className
    13:02 Doing expressions inside attributes
    15:03 Adding CSS to our component
    16:53 Prop drilling
    19:10 useContext vs Prop Drilling
    22:27 Attempting to remove a component 
    27:08 Next Steps for viewSource and Season 2

    • (00:00) - E17 - React & Dom & Prop-Drilling
  • (03:16) - Previous code recap
  • (06:54) - Adding a key for looping elements
  • (07:54) - Components are not HTML elements
  • (09:50) - className
  • (13:02) - Doing expressions inside attributes
  • (15:03) - Adding CSS to our component
  • (16:53) - Prop drilling
  • (19:10) - useContext vs Prop Drilling
  • (22:27) - Attempting to remove a component
  • (27:08) - Next Steps for viewSource and Season 2
  • 33 min
  • Getting started with GitHub pull requests and review

    Brian and Aurooba walk through the process of submitting a pull request in GitHub, reviewing it, and merging it into a repository – discussing best practices and perspectives to take as the reviewer and the reviewee in an ongoing pull request. In this case, the open source project was wphelpers.dev and Brian was adding a fantastic new helper: a searchable guide to the WordPress Icon library (@wordpress/icons), which they also take a look at.

    A full transcript of the episode is available on the website. Watch the video podcast on YouTube and subscribe to our channel and newsletter to hear about episodes (and more) first!

    • The searchable icon library – https://wphelpers.dev/icons
    • The Post Status slack comment that prompted the creation of wphelpers.dev – https://poststatus.slack.com/archives/C0413TGQZ/p1645727796428859
    • @wordpress/icons repo – https://github.com/WordPress/gutenberg/blob/3f5da7aa3b3b2f37301a498f401c7623d989bb9d/packages/icons/README.md
    • @wordpress/icons visual reference – https://wordpress.github.io/gutenberg/?path=/docs/icons-icon--library
    • Netlify deploy previews – https://docs.netlify.com/site-deploys/deploy-previews/
    • Netlify collaborative drawer – https://www.netlify.com/products/deploy-previews/
    • Brian's viral tweet thread about the searchable icon library – https://www.briancoords.com/building-the-wordpress-icon-library/
    • Brian's website – https://www.briancoords.com
    • Aurooba's website – https://aurooba.com
    • (00:00) - Introduction
  • (00:13) - A tangent on wearing a uniform everyday
  • (02:05) - Recapping v1 of this episode we had already recorded
  • (02:42) - Getting into the topic: collaborating on GitHub
  • (03:46) - Introducing wphelpers.dev and how it came to be
  • (05:04) - How the searchable icon library guide came to be
  • (06:12) - The portability of Gutenberg packages
  • (07:20) - Walking through the searchable Icon Library
  • (09:23) - How wp-scripts interacts with @wordpress/icons
  • (09:51) - Our favourite uses for the searchable icon library
  • (11:02) - Diving into the pull request
  • (11:41) - Creating work-in-progress PRs
  • (12:56) - Collaborating with the deploy preview feature in Netlify
  • (13:14) - Getting feedback early on in the process
  • (14:16) - The netlify collaboration drawer
  • (15:07) - The ideal opening comment on a PR
  • (16:27) - Requesting a review in GitHub
  • (16:49) - Determing the right time to request a review
  • (17:47) - The features of an official review in GitHub
  • (20:53) - Making new issues from incoming feedback
  • (21:27) - Creating trackable history in GitHub
  • (25:13) - Requesting changes through reviews in GitHub
  • (26:13) - The code view in PRs and its features
  • (27:40) - GitHub reviews allow you to post your comments holistically
  • (30:23) - Automatic deployment with Netlify
  • (31:35) - Using the right tool for the situation
  • (33:21) - Discovering the existing icon library visual reference
  • 37 min

About viewSource

From the publisher's feed

A biweekly conversation around tech, web development, and WordPress with hosts Aurooba Ahmed and Brian Coords.