Grails Plugins(Console, DB Migration, Asset Pipeline and Remote pagination)NexThoughts Technologies
It's an introduction with examples of some of popular Grails plugins - Console, DB Migration, Asset Pipeline and Remote pagination which are used in day to day task.
Hooked on WordPress: WordCamp ColumbusShawn Hooper
- The document is a presentation about WordPress hooks given by Shawn Hooper at WordCamp Columbus in July 2015.
- It introduces the two types of hooks in WordPress - actions, which are triggered during specific events, and filters, which modify data as it passes through functions.
- Examples are given of how to add, remove, and modify hooks through themes and plugins to extend WordPress functionality.
This document discusses jQuery and plugins. It begins by showing how to perform AJAX requests without jQuery using XMLHttpRequest. It then demonstrates how to simplify AJAX requests using jQuery's $.post, $.get, and $.ajax methods. The document concludes by explaining that many jQuery plugins exist to add functionality, how to include plugin code in a webpage, and provides examples of plugin usage and structure.
This document describes how to store and retrieve images from a MongoDB database. It includes code snippets for connecting to a MongoDB database, defining a collection to store images, uploading images and metadata to the database via a form, and retrieving and displaying the stored images on a webpage by querying the database. The images are stored in a directory on the server and references to the image files are saved in a MongoDB collection along with other metadata like title.
Capybara is a tool for automated user interaction testing of web applications. It allows automating browser interactions like clicking links, filling forms, and making requests. It works with several test frameworks and drivers to test against different environments. It provides a domain-specific language for describing tests in a readable way and has features for navigation, interaction, querying, finding elements, debugging, and configuration. Some examples of using it include testing a font generation application and ensuring loading states display correctly. Potential issues include slowness with some drivers and handling of dialog boxes and new windows.
Copycopter Presentation by Joe Ferris at BostonRBbostonrb
The document discusses copy for a website homepage and different approaches to managing it. It describes the traditional process of committing code changes with copy to a repository and deploying them. It then introduces an alternative using a Ruby gem called Copycopter Client that allows editing copy without needing to deploy code, provides automatic synchronization, and a standard API for Ruby and Rails applications. The gem is presented as a way to more easily manage copy without worrying about deploys or technical steps.
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)Dotan Dimet
A lightning talk given at Rails Israel 2014
(http://railsisrael2014.events.co.il/presentations/1319-mojolicious-perl-framework-for-the-real-time-web).
Uses some slides lifted from Glen Hinkle's YAPC 2012 talk
(https://speakerdeck.com/tempire/intro-to-mojolicious-perl)
and an image created by Marcus Ramburg.
Capybaras are the largest rodents in the world. They are related to guinea pigs, but are the size of a big dog or small pig. They live in South America, and they're pretty damn cute.
Capybara is also the name of a Ruby gem written by Jonas Nicklas. It helps you write integration tests for web apps by pretending to be a user with a web browser. It takes a black box approach to testing, letting you go to URLs, click links and buttons, fill in forms, and check that the rendered page contains what you think it should have in it.
This talk is about Embracing Capybara: how to understand Capybara, train it to do new tricks, and discipline it when it misbehaves.
Grails Plugins(Console, DB Migration, Asset Pipeline and Remote pagination)NexThoughts Technologies
It's an introduction with examples of some of popular Grails plugins - Console, DB Migration, Asset Pipeline and Remote pagination which are used in day to day task.
Hooked on WordPress: WordCamp ColumbusShawn Hooper
- The document is a presentation about WordPress hooks given by Shawn Hooper at WordCamp Columbus in July 2015.
- It introduces the two types of hooks in WordPress - actions, which are triggered during specific events, and filters, which modify data as it passes through functions.
- Examples are given of how to add, remove, and modify hooks through themes and plugins to extend WordPress functionality.
This document discusses jQuery and plugins. It begins by showing how to perform AJAX requests without jQuery using XMLHttpRequest. It then demonstrates how to simplify AJAX requests using jQuery's $.post, $.get, and $.ajax methods. The document concludes by explaining that many jQuery plugins exist to add functionality, how to include plugin code in a webpage, and provides examples of plugin usage and structure.
This document describes how to store and retrieve images from a MongoDB database. It includes code snippets for connecting to a MongoDB database, defining a collection to store images, uploading images and metadata to the database via a form, and retrieving and displaying the stored images on a webpage by querying the database. The images are stored in a directory on the server and references to the image files are saved in a MongoDB collection along with other metadata like title.
Capybara is a tool for automated user interaction testing of web applications. It allows automating browser interactions like clicking links, filling forms, and making requests. It works with several test frameworks and drivers to test against different environments. It provides a domain-specific language for describing tests in a readable way and has features for navigation, interaction, querying, finding elements, debugging, and configuration. Some examples of using it include testing a font generation application and ensuring loading states display correctly. Potential issues include slowness with some drivers and handling of dialog boxes and new windows.
Copycopter Presentation by Joe Ferris at BostonRBbostonrb
The document discusses copy for a website homepage and different approaches to managing it. It describes the traditional process of committing code changes with copy to a repository and deploying them. It then introduces an alternative using a Ruby gem called Copycopter Client that allows editing copy without needing to deploy code, provides automatic synchronization, and a standard API for Ruby and Rails applications. The gem is presented as a way to more easily manage copy without worrying about deploys or technical steps.
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)Dotan Dimet
A lightning talk given at Rails Israel 2014
(http://railsisrael2014.events.co.il/presentations/1319-mojolicious-perl-framework-for-the-real-time-web).
Uses some slides lifted from Glen Hinkle's YAPC 2012 talk
(https://speakerdeck.com/tempire/intro-to-mojolicious-perl)
and an image created by Marcus Ramburg.
Capybaras are the largest rodents in the world. They are related to guinea pigs, but are the size of a big dog or small pig. They live in South America, and they're pretty damn cute.
Capybara is also the name of a Ruby gem written by Jonas Nicklas. It helps you write integration tests for web apps by pretending to be a user with a web browser. It takes a black box approach to testing, letting you go to URLs, click links and buttons, fill in forms, and check that the rendered page contains what you think it should have in it.
This talk is about Embracing Capybara: how to understand Capybara, train it to do new tricks, and discipline it when it misbehaves.
Marcus works at Nordaaker Consulting but they are moving south in January. He demonstrates how to use Mojolicious to make HTTP requests and parse the response using Mojo::DOM. Mojolicious is a full-stack web framework for Perl 5 that provides a modular architecture and aims to have minimal dependencies.
Mojolicious is a fast web development tool that is easy to start with, use, and extend. It facilitates best practices without enforcing them. Bootstrap from Twitter is very user-friendly across browsers. Mojolicious is light, flexible, and easy.
This document provides an overview of Mojolicious, a real-time web application framework written in Perl. It discusses getting started with Mojolicious::Lite, including routes, placeholders, templates and layouts. It also covers sessions, growing applications out of Lite into Mojolicious, and additional Mojo modules for things like web clients and HTML parsing. Resources for learning more about Mojolicious are provided.
Outline
- What Is Selenium
- Why Automates Web Browser
- Automation with Selenium IDE
- Automation with WebDriver
- Page Factory
- Page Object Pattern
- Automation with FluentAutomation
- Selenium Grid
- Selenium Tests in Continuous Integration
- The Reality
- Q & A
Code sample can be downloaded at http://goo.gl/KtyF6r
I talked about Vue.js at @agenciasomadev. In this talk I showed the basics about the Vue.js JavaScript Framework and it's simplicity. I hope you enjoy :)
Filters format data for display to users. Built-in filters include filter to search/filter data and orderBy to sort. Custom filters can be created to format data as needed, like converting large numbers to abbreviations. Filters are invoked with a pipe (|) in bindings like {{expression | filter}}. Examples demonstrate using built-in and custom filters.
This document discusses JavaScript events. It defines events and event handlers, and covers common DOM and mouse/keyboard events. It demonstrates how to add and remove event listeners in JavaScript, and describes the event object that is passed to event handler functions. Finally, it covers event propagation and how to stop or prevent propagation using event object methods.
This document discusses Google App Engine and Gaelyk, a framework that allows developers to build applications for Google App Engine using Groovy and Grails. It provides an overview of key concepts including using Gaelyk to build applications with Groovy controllers and GSP template views, accessing the App Engine datastore and services, and deploying applications to App Engine. It also briefly mentions some features not covered in detail like plugins, billing, quotas, advanced APIs, and app market integration. The document appears to be describing Gaelyk and giving an introduction to building applications on App Engine using the Gaelyk framework.
Mojolicious is a lightweight web framework inspired by Ruby frameworks. It uses PSGI and includes features like ORM, templating, internationalization, and forms. Some key differences between Mojolicious and Dancer are that in Mojolicious the application is defined as a class rather than a script, the code is more "natural" with no magic, and Mojolicious routes are very powerful. What works well about Mojolicious is the good documentation, fast IRC support, powerful routing system, extensive test suite, and clear no dependencies policy. However, the no dependencies policy can cause issues, some tests may not be relevant, and the Template Toolkit renderer requires prefixing all variables with "c.".
Mojolicious is a full-stack web framework and HTTP client for Perl that provides an object-oriented API without hidden magic or dependencies. It includes features like asynchronous I/O, routing, plugins, sessions, templating, internationalization support, and JSON/XML handling. Mojolicious comes in three flavors: Mojolicious::Lite for simple apps, Mojolicious for full MVC apps, and Mojo as a lightweight base framework. It supports technologies like CGI, FastCGI, PSGI, HTTP 1.1, and WebSockets.
The document provides an overview and demos of key features in ASP.NET including bundling and minification, database migrations, mobile web rendering, building web APIs, unit testing web APIs, hosting web APIs, using SignalR for real-time web functionality, and making HTTP requests from ASP.NET controllers. It includes code samples and screenshots to demonstrate concepts like adding CSS classes conditionally, setting up database migrations, building a chat hub with SignalR, and making asynchronous HTTP requests from an action method.
This document discusses Mojolicious, a lightweight web framework for Perl. It provides examples of using Mojolicious to quickly generate a new project skeleton, start a web server, and add routing and templates. The document also lists some advantages of Mojolicious like its small core dependencies, quick prototyping capabilities, and ability to scale from simple to more complex applications.
Mixpanel is the most advanced analytics platform for mobile & web. Instead of measuring pageviews, it helps you analyze the actions people take in your application. An action can be anything - someone uploading a picture, playing a video, or sharing a post, for example
This document contains notes from a meeting on web application security. It discusses several common vulnerabilities like SQL injection, cross-site scripting (XSS), and clickjacking. It provides examples of how these vulnerabilities can occur and ways to prevent them, such as sanitizing user input, enabling CSRF protection middleware, and using the X-Frame-Options header. Keywords discussed include MySQL, Docker, Kubernetes, Ansible, and various attack vectors like CSRF, XSS, SQL injection, and clickjacking. The document aims to educate on security best practices for Python and Django web applications.
This document introduces the Database.com SDK for building Java applications that interact with Salesforce data. It discusses the key components of the SDK including the JPA provider, API connector, and OAuth authentication. It also provides an overview of how to deploy Java applications to Heroku, including using Git for deployment, configuring dynos, and other Heroku features.
The document summarizes building a webOS application from scratch using Agile Commerce. It discusses generating the initial project structure, adding logging, generating scenes, building and populating a list with data from a REST service, and adding an image viewing widget to scroll through images. Key files and functions are explained for each step in developing the application.
Service workers and the role they play in modern day web appsMukul Jain
Service workers have greatly improved the experience of web apps by providing offline access to pages, caching data, background sync and other native app-like features. Nowadays, Progressive Web Apps are working together with service workers to provide the users better performance and experience than a typical web app. But service worker’s power doesn’t just stop at giving offline experience and background notifications. They can be used in areas ranging from request deferring to the virtual server.
PowerShell: Through the SharePoint Looking GlassBrian Caauwe
This document provides an overview of using PowerShell for automating SharePoint tasks. It discusses using PowerShell on-premises with the Server-Side Object Model and SharePoint Management Shell, as well as using PowerShell for SharePoint Online with the Client-Side Object Model and PnP PowerShell. It also provides an example of automating a site request process with PowerShell.
Marionette.js is a JavaScript framework that builds upon Backbone.js to provide additional structure and functionality. It fills gaps in Backbone by implementing common patterns for views like ItemView, CollectionView, CompositeView, and LayoutView. These views provide functionality for rendering individual models, collections of models, composite views that combine a collection within a template, and complex nested layouts with multiple regions respectively. The framework is actively maintained by a core team and large community and used by many large applications for its flexibility, separation of concerns, and ability to build complex UIs through nesting of views and regions.
This document provides an introduction and overview of AngularJS. It discusses key AngularJS concepts like directives, controllers, filters, models, configuration, routing, resources, testing and more. Code examples are provided throughout to demonstrate how each concept works in practice. The document is intended to give readers a high-level understanding of AngularJS and its capabilities for building dynamic web applications.
The document provides guidance on how to write a first WordPress plugin, including an overview of plugins and their capabilities, how to structure a plugin with PHP code and files, how to use hooks and filters to extend WordPress functionality, how to add administrative features like settings pages and widgets, and tips for best practices when developing WordPress plugins.
The document discusses WordPress actions and filters. Actions allow plugins to hook into points of execution, while filters allow plugins to modify data before it is used. It provides examples of how to use add_action(), add_filter(), remove_action(), remove_filter() and has_action/filter(). Common core actions and filters are also listed, such as init, wp_head, the_content, and the_title. The purpose is to demonstrate how plugins can leverage hooks to customize WordPress behavior.
Marcus works at Nordaaker Consulting but they are moving south in January. He demonstrates how to use Mojolicious to make HTTP requests and parse the response using Mojo::DOM. Mojolicious is a full-stack web framework for Perl 5 that provides a modular architecture and aims to have minimal dependencies.
Mojolicious is a fast web development tool that is easy to start with, use, and extend. It facilitates best practices without enforcing them. Bootstrap from Twitter is very user-friendly across browsers. Mojolicious is light, flexible, and easy.
This document provides an overview of Mojolicious, a real-time web application framework written in Perl. It discusses getting started with Mojolicious::Lite, including routes, placeholders, templates and layouts. It also covers sessions, growing applications out of Lite into Mojolicious, and additional Mojo modules for things like web clients and HTML parsing. Resources for learning more about Mojolicious are provided.
Outline
- What Is Selenium
- Why Automates Web Browser
- Automation with Selenium IDE
- Automation with WebDriver
- Page Factory
- Page Object Pattern
- Automation with FluentAutomation
- Selenium Grid
- Selenium Tests in Continuous Integration
- The Reality
- Q & A
Code sample can be downloaded at http://goo.gl/KtyF6r
I talked about Vue.js at @agenciasomadev. In this talk I showed the basics about the Vue.js JavaScript Framework and it's simplicity. I hope you enjoy :)
Filters format data for display to users. Built-in filters include filter to search/filter data and orderBy to sort. Custom filters can be created to format data as needed, like converting large numbers to abbreviations. Filters are invoked with a pipe (|) in bindings like {{expression | filter}}. Examples demonstrate using built-in and custom filters.
This document discusses JavaScript events. It defines events and event handlers, and covers common DOM and mouse/keyboard events. It demonstrates how to add and remove event listeners in JavaScript, and describes the event object that is passed to event handler functions. Finally, it covers event propagation and how to stop or prevent propagation using event object methods.
This document discusses Google App Engine and Gaelyk, a framework that allows developers to build applications for Google App Engine using Groovy and Grails. It provides an overview of key concepts including using Gaelyk to build applications with Groovy controllers and GSP template views, accessing the App Engine datastore and services, and deploying applications to App Engine. It also briefly mentions some features not covered in detail like plugins, billing, quotas, advanced APIs, and app market integration. The document appears to be describing Gaelyk and giving an introduction to building applications on App Engine using the Gaelyk framework.
Mojolicious is a lightweight web framework inspired by Ruby frameworks. It uses PSGI and includes features like ORM, templating, internationalization, and forms. Some key differences between Mojolicious and Dancer are that in Mojolicious the application is defined as a class rather than a script, the code is more "natural" with no magic, and Mojolicious routes are very powerful. What works well about Mojolicious is the good documentation, fast IRC support, powerful routing system, extensive test suite, and clear no dependencies policy. However, the no dependencies policy can cause issues, some tests may not be relevant, and the Template Toolkit renderer requires prefixing all variables with "c.".
Mojolicious is a full-stack web framework and HTTP client for Perl that provides an object-oriented API without hidden magic or dependencies. It includes features like asynchronous I/O, routing, plugins, sessions, templating, internationalization support, and JSON/XML handling. Mojolicious comes in three flavors: Mojolicious::Lite for simple apps, Mojolicious for full MVC apps, and Mojo as a lightweight base framework. It supports technologies like CGI, FastCGI, PSGI, HTTP 1.1, and WebSockets.
The document provides an overview and demos of key features in ASP.NET including bundling and minification, database migrations, mobile web rendering, building web APIs, unit testing web APIs, hosting web APIs, using SignalR for real-time web functionality, and making HTTP requests from ASP.NET controllers. It includes code samples and screenshots to demonstrate concepts like adding CSS classes conditionally, setting up database migrations, building a chat hub with SignalR, and making asynchronous HTTP requests from an action method.
This document discusses Mojolicious, a lightweight web framework for Perl. It provides examples of using Mojolicious to quickly generate a new project skeleton, start a web server, and add routing and templates. The document also lists some advantages of Mojolicious like its small core dependencies, quick prototyping capabilities, and ability to scale from simple to more complex applications.
Mixpanel is the most advanced analytics platform for mobile & web. Instead of measuring pageviews, it helps you analyze the actions people take in your application. An action can be anything - someone uploading a picture, playing a video, or sharing a post, for example
This document contains notes from a meeting on web application security. It discusses several common vulnerabilities like SQL injection, cross-site scripting (XSS), and clickjacking. It provides examples of how these vulnerabilities can occur and ways to prevent them, such as sanitizing user input, enabling CSRF protection middleware, and using the X-Frame-Options header. Keywords discussed include MySQL, Docker, Kubernetes, Ansible, and various attack vectors like CSRF, XSS, SQL injection, and clickjacking. The document aims to educate on security best practices for Python and Django web applications.
This document introduces the Database.com SDK for building Java applications that interact with Salesforce data. It discusses the key components of the SDK including the JPA provider, API connector, and OAuth authentication. It also provides an overview of how to deploy Java applications to Heroku, including using Git for deployment, configuring dynos, and other Heroku features.
The document summarizes building a webOS application from scratch using Agile Commerce. It discusses generating the initial project structure, adding logging, generating scenes, building and populating a list with data from a REST service, and adding an image viewing widget to scroll through images. Key files and functions are explained for each step in developing the application.
Service workers and the role they play in modern day web appsMukul Jain
Service workers have greatly improved the experience of web apps by providing offline access to pages, caching data, background sync and other native app-like features. Nowadays, Progressive Web Apps are working together with service workers to provide the users better performance and experience than a typical web app. But service worker’s power doesn’t just stop at giving offline experience and background notifications. They can be used in areas ranging from request deferring to the virtual server.
PowerShell: Through the SharePoint Looking GlassBrian Caauwe
This document provides an overview of using PowerShell for automating SharePoint tasks. It discusses using PowerShell on-premises with the Server-Side Object Model and SharePoint Management Shell, as well as using PowerShell for SharePoint Online with the Client-Side Object Model and PnP PowerShell. It also provides an example of automating a site request process with PowerShell.
Marionette.js is a JavaScript framework that builds upon Backbone.js to provide additional structure and functionality. It fills gaps in Backbone by implementing common patterns for views like ItemView, CollectionView, CompositeView, and LayoutView. These views provide functionality for rendering individual models, collections of models, composite views that combine a collection within a template, and complex nested layouts with multiple regions respectively. The framework is actively maintained by a core team and large community and used by many large applications for its flexibility, separation of concerns, and ability to build complex UIs through nesting of views and regions.
This document provides an introduction and overview of AngularJS. It discusses key AngularJS concepts like directives, controllers, filters, models, configuration, routing, resources, testing and more. Code examples are provided throughout to demonstrate how each concept works in practice. The document is intended to give readers a high-level understanding of AngularJS and its capabilities for building dynamic web applications.
The document provides guidance on how to write a first WordPress plugin, including an overview of plugins and their capabilities, how to structure a plugin with PHP code and files, how to use hooks and filters to extend WordPress functionality, how to add administrative features like settings pages and widgets, and tips for best practices when developing WordPress plugins.
The document discusses WordPress actions and filters. Actions allow plugins to hook into points of execution, while filters allow plugins to modify data before it is used. It provides examples of how to use add_action(), add_filter(), remove_action(), remove_filter() and has_action/filter(). Common core actions and filters are also listed, such as init, wp_head, the_content, and the_title. The purpose is to demonstrate how plugins can leverage hooks to customize WordPress behavior.
If you are new to WordPress, but already know how to program, the typical "Hello, World" examples aren't helpful. You need to know how to make the right API calls, and where to find documentation about the actions and filters that WordPress makes available to you.
This presentation is a brief introduction skimming the surface of the API hook system in WordPress. It does not go into deep detail, but gives brief "real world" examples of how to use filters and actions, along with pointers on where to find the main documentation that will help you get started on your own plugins.
The document summarizes Joe Dolson's presentation on accessibility and WordPress at WordCamp Chicago 2013. It discusses making WordPress more accessible through plugins, themes, and core code contributions. It provides examples of using ARIA attributes and filters to make themes more accessible. It also highlights existing WordPress accessibility plugins like WP-Accessibility and Media A11y and initiatives like The Cities Project to improve WordPress accessibility.
Slide links:
- https://lumberjack.rareloop.com
- https://docs.lumberjack.rareloop.com
- https://github.com/Rareloop/lumberjack-bedrock-installer
- https://github.com/Rareloop/lumberjack
- https://github.com/Rareloop/lumberjack-validation
- https://github.com/Rareloop/hatchet
- https://lizkeogh.com/2017/08/31/reflecting-reality/amp
- https://www.upstatement.com/timber
- https://roots.io/bedrock
- https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design
- https://github.com/zendframework/zend-diactoros
- https://www.php-fig.org
- http://php-di.org
---
Often WordPress themes are not easy to change, maintain or fun to work on. This can rule WordPress out as a viable option for bespoke, non-trivial websites.
In this talk we’ll dive into how this happens & look at how we can benefit from software engineering techniques to help make your code easier to change. I’ll also show how using Lumberjack, a powerful MVC framework built on Timber, can be used to power-up your themes.
This document discusses WordPress theme development and provides an overview of key concepts. It introduces PHP basics like variables, conditionals, and loops used in themes. It also covers template tags for outputting content, conditional tags for checking page types, and the template hierarchy for determining which template file to use. Finally, it discusses functions.php, common functions used there, adding theme support, and using hooks, actions and filters to modify WordPress behavior.
This document discusses quality assurance (QA) for PHP projects. It introduces various QA tools and techniques including syntax checking, documentation, testing, version control and code coverage. Screenshots are provided to illustrate concepts like detecting bugs early, observing behavior and preventing mistakes. The document also includes exercises for attendees to practice setting up version control with Git, running syntax checks with PHP Lint, generating documentation with phpDocumentor, and testing models with PHPUnit.
The document outlines best practices for WordPress development, including using child themes to modify existing themes, leveraging WordPress hooks to extend functionality, removing warnings and notices, using core WordPress functions instead of external libraries, and following naming conventions to avoid conflicts. The presentation covers these topics and is intended to help developers work more efficiently and avoid common issues when building with WordPress.
Reviews the basis of using JavaScript within WordPress. How to load in scripts correctly and move PHP data into JavaScripts for later use. Presented at WordCamp LA 2012
This document provides an introduction to HTML enhanced for web apps using AngularJS. It discusses key AngularJS concepts like templates (directives), controllers, dependency injection, services, filters, models, configuration, routing, resources and testing. Directives allow HTML to be extended with new attributes and elements. Controllers contain business logic. Dependency injection provides dependencies to controllers and services. Filters transform displayed data. Models represent application data. Configuration sets up modules. Routing maps URLs to templates. Resources interact with RESTful APIs. Testing ensures code works as expected.
A talk I gave at Mage Titans Italy 2018: http://www.magetitans.it/speakers/joke-puts/
How can you make Magento do what you want? In Magento 2 there are a lot of ways to add customizations. What are your options? Can you do a rewrite like in Magento 1? Should you use an event to add that business-critical logic when your invoice reaches state paid? Or is a plugin a better option? Maybe it’s the only option. What’s the deal with dependency injection and why do I need interfaces? In this talk we’re going to explore all the possibilities.
Stop Hacking WordPress, Start Working with it - Charly Leetham - WordCamp Syd...WordCamp Sydney
Many developers know how to write code in php but that doesn't mean they can write code for Wordpress.
When developing sites for clients in Wordpress, it sometimes preferably to write a custom function that will simplify data input, management and display.
The Wordpress coding framework is continually evolving and provides a number of hooks (through actions & filters) to allow developers to quickly and easily grab functions to create world class websites.
Charly will speak about the power of hooks and filters and explain some of the most common ones to use if you want to write your own custom functions, to make the management of your wordpress websites a breeze.
How to build twitter bot using golang from scratchKaty Slemon
This document provides a tutorial on how to build a Twitter bot using Golang from scratch. It covers setting up a Twitter developer account, installing prerequisites like Golang and ngrok, configuring the .env file, implementing CRC validation, registering and subscribing webhooks, listening for events, sending tweets in response, and setting up the server. The full source code for the Twitter bot project is provided in a GitHub repository for reference. The tutorial aims to help readers develop their own Twitter bot application from start to finish without using any third-party libraries.
This document provides an overview of how to write a WordPress plugin in 3 steps:
1. Plugins add functionality to WordPress through hooks like actions and filters without modifying core code. Actions call functions when events occur, while filters modify values being returned.
2. Plugins include metadata like the name, description, and author to display in the admin interface. Code is hooked into WordPress using actions and filters.
3. More advanced plugins can use objects to organize code, support custom post types and settings, and be submitted to the official WordPress plugin directory. Careful coding and documentation is important to create high quality, well-supported plugins.
10 Things Every Plugin Developer Should Know (WordCamp Atlanta 2013)arcware
The document outlines 10 things that every WordPress plugin developer should know, including enabling debugging, prefixing functions, enqueuing scripts and styles properly, only including JS/CSS on admin pages, using AJAX in the admin, adding extensibility hooks, supporting multisite, internationalization, security, and using helpful functions and constants. It provides examples and explanations for each topic to help plugin developers write more effective and secure code.
Plugins on OnDemand with Remote Apps - Atlassian Summit 2012 Atlassian
The document discusses how remote apps allow developers to integrate third party applications into Atlassian's OnDemand service. Remote apps use a simple descriptor file to register the app and define things like permissions, pages, and macros. This avoids the complexity of developing plugins and allows apps to be built using any programming language. Examples are provided of how to create a Lucidchart diagramming app using remote apps.
5. The Struggle Is…
● PHP is scary
● Making your own plugin is scary
● PHP is very scary
● You just never have the options you need
6. My Journey
2011 Mike “The SEO”
2012 Mike “Frameworks”
2013 Mike “The Hacker”
2014 Mike “Expert Generalist”
7. Whats a Hook According to the Codex
“Hooks are specified, by the developer, in
Actions and Filters. “
“In technical and strict terms: a Hook is an event, i.e. event as understood
by Observer pattern, invoked by the do_action() or apply_filters() call that
afterwards triggers all the action or filter functions, previously hooked to
that event using add_action() or add_filter(), respectively.”
8. Where do Hooks Live
Generally speaking, you have 3 different
places where “hooks” live.
● Core
● Themes
● Plugins
9. Allows you to “do something” to insert
something at a “checkpoint”.
Action Defined
12. Adding What You Want (Writing a Function)
function wc_your_function_name() {
?>
<!--hi people-->
<?php
}
Your function name
PHP On and Off
Your HTML
13. Real Life Example
//Adding A Credit Link to TwentyFourteen
add_action( 'twentyfourteen_credits' , 'mz_site_credits'
);
function mz_site_credits() {
echo "<a href='http://iammike.co' title='mike
zielonka'>Designed by Mike Zielonka</a>";
}
14. Allows you to “filter the result” and return
something different at a “fancy checkpoint”.
Filter
17. Returning What You Want (Writing a Function)
function wc_your_function_filter_name($title, $sep)
{
$name = ‘My Site is Called ’;
$title .= $sep . ' ' . $name;
return $title;
}
Your function name
Return your
changes
Arguments
18. Real Life Example
//Adding a Phrase the Site Title
add_filter( 'wp_title', 'wc_your_function_filter_name', 10, 2 );
function wc_your_function_filter_name($title, $sep) {
$name = 'My Site is Called ';
$title .= $sep . ' ' . $name;
return $title;
}
19. Where To Put Your Hooks
● Functions.php of your theme
○ Preferably in a child theme
● Plugin
20. Adding Hooks To A Plugin
Add Opening PHP Tag and Add A Plugin Header
<?php
/*
Plugin Name: Mike's Sample Plugin
Plugin URI:
Description: Adds some sample hooks.
Author: Mike Zielonka
Version: 1.0
Author URI: http://iammike.co
Text Domain: mz-sample-plugin
*/
22. Basic Rookie Tips
● Namespace your functions to avoid
conflicts. ie: mz_function
● Do not start functions with numbers.
● Always take back ups.
● Learn more about the PHP function
function_exists() to prevent headaches
when switching themes and plugins