This document provides an introduction to building a WordPress plugin for beginners. It defines what a plugin is, compares plugins to themes, outlines benefits of custom plugins over modifying functions.php, and gives best practices and next steps for coding a basic plugin. The key points are that plugins add functionality to WordPress, custom plugins are preferable to editing functions.php, and the document provides links to coding standards and post type and shortcode developer references to get started building a plugin.
WordCamp Birmingham 2015 - Theme building workshopJonny Allbut
The document discusses techniques for building WordPress themes, including:
- Using a child theme to modify an existing parent theme allowing for easy updates
- Loading styles from a parent theme in a child theme using a functions.php file
- Understanding the WordPress template hierarchy to know which template files get used for different content
- Migrating a WordPress site to a new server by exporting the database, downloading files, importing the database, and running a search/replace script.
This document discusses custom blocks in the Gutenberg editor in WordPress. It provides basics about WordPress and discusses the old editor versus the new Gutenberg editor. It then explains what Advanced Custom Fields (ACF) is and how it can be used to create custom blocks for Gutenberg. It provides a demo of how to register a custom block, create fields for it in ACF, and build a template to display the block with the custom fields on a page.
Building a community of Open Source intranet usersLuke Oatham
This document discusses building a community of open source intranet users. It covers topics like learning WordPress, the GovIntranet theme and plugins used, content types for an intranet, using third-party plugins, open sourcing versions of the software, active clients using the software, developing for a wider audience with different systems, continuous development and community involvement.
In this session, we will rethink the role of designers, the purpose of a CMS, and how we manage and consume content. We will discuss:
(1) The tension between a design and a CMS. Should your design be optimized for your CMS? Or should you modify your CMS to achieve your design? In other words, are you walking the dog, or is the dog walking you?
(2) "Headless" Drupal: Drupal as a backend with multiple frontends. Drupal's theming layer is difficult to master and expensive to upgrade between major releases. We will discuss how the frontend and backend can be decoupled to provide better experiences for users, developers, and designers alike.
(3) Content as a service. Decoupling isn't just about separating the frontend from the backend or making upgrades easier. In fact, the real power of headless Drupal is separating content from presentation, allowing you to connect any number of websites, channels, or devices to a single source of content through an API!
(4) TWiT.tv case study. We'll close by discussing how Four Kitchens work with This Week in Tech to relaunch TWiT.tv as a decoupled Drupal site with an exposed API allowing their fanbase to directly access content.
Get ready for some really big, innovative ideas!
(This session was delivered at Twin Cities DrupalCamp on June 27, 2015.)
WordCamp Bournemouth 2014 - Designing with data in WordPressJonny Allbut
My Presentation from WordCamp Bournemouth 2014 on designing with data in WordPress. Covers structuring your data, the different data storage/attachment options available to you and some food for thought on how to use this data to deliver flexible WordPress websites.
This document discusses considerations for creating multilingual WordPress sites. It covers content-related considerations like original content versus translation and using in-house versus external translators. Developer considerations include localizing everything and following WordPress codex guidelines. Structural considerations involve UI language, plugins/themes, and URL structure. Different solutions for multilingual WordPress are presented, such as using separate installations for each language or having all languages in a single post. The document recommends checking plugin/theme compatibility and consulting support if unsure about the right solution for a given site.
WordCamp Birmingham 2015 - Theme building workshopJonny Allbut
The document discusses techniques for building WordPress themes, including:
- Using a child theme to modify an existing parent theme allowing for easy updates
- Loading styles from a parent theme in a child theme using a functions.php file
- Understanding the WordPress template hierarchy to know which template files get used for different content
- Migrating a WordPress site to a new server by exporting the database, downloading files, importing the database, and running a search/replace script.
This document discusses custom blocks in the Gutenberg editor in WordPress. It provides basics about WordPress and discusses the old editor versus the new Gutenberg editor. It then explains what Advanced Custom Fields (ACF) is and how it can be used to create custom blocks for Gutenberg. It provides a demo of how to register a custom block, create fields for it in ACF, and build a template to display the block with the custom fields on a page.
Building a community of Open Source intranet usersLuke Oatham
This document discusses building a community of open source intranet users. It covers topics like learning WordPress, the GovIntranet theme and plugins used, content types for an intranet, using third-party plugins, open sourcing versions of the software, active clients using the software, developing for a wider audience with different systems, continuous development and community involvement.
In this session, we will rethink the role of designers, the purpose of a CMS, and how we manage and consume content. We will discuss:
(1) The tension between a design and a CMS. Should your design be optimized for your CMS? Or should you modify your CMS to achieve your design? In other words, are you walking the dog, or is the dog walking you?
(2) "Headless" Drupal: Drupal as a backend with multiple frontends. Drupal's theming layer is difficult to master and expensive to upgrade between major releases. We will discuss how the frontend and backend can be decoupled to provide better experiences for users, developers, and designers alike.
(3) Content as a service. Decoupling isn't just about separating the frontend from the backend or making upgrades easier. In fact, the real power of headless Drupal is separating content from presentation, allowing you to connect any number of websites, channels, or devices to a single source of content through an API!
(4) TWiT.tv case study. We'll close by discussing how Four Kitchens work with This Week in Tech to relaunch TWiT.tv as a decoupled Drupal site with an exposed API allowing their fanbase to directly access content.
Get ready for some really big, innovative ideas!
(This session was delivered at Twin Cities DrupalCamp on June 27, 2015.)
WordCamp Bournemouth 2014 - Designing with data in WordPressJonny Allbut
My Presentation from WordCamp Bournemouth 2014 on designing with data in WordPress. Covers structuring your data, the different data storage/attachment options available to you and some food for thought on how to use this data to deliver flexible WordPress websites.
This document discusses considerations for creating multilingual WordPress sites. It covers content-related considerations like original content versus translation and using in-house versus external translators. Developer considerations include localizing everything and following WordPress codex guidelines. Structural considerations involve UI language, plugins/themes, and URL structure. Different solutions for multilingual WordPress are presented, such as using separate installations for each language or having all languages in a single post. The document recommends checking plugin/theme compatibility and consulting support if unsure about the right solution for a given site.
Content as a Service: What to Know About Decoupled CMSPantheon
Learn:
-How decoupled architecture can help future-proof a website
-How decoupled architecture leverages a wider set of experts by clearly delineating front and back-end
-How to use modules and patterns to build decoupled websites using Drupal 7 and WordPress
-What to expect from both Drupal 8 and the upcoming WordPress JSON API
The Fast Track to Mastering Modern WordPress - Rob Stinson & Carrie DilsWP Engine
This document discusses the future of WordPress and full site editing (FSE) using blocks. It covers the introduction and timeline of FSE, including the four phases of the Gutenberg project. Core blocks and full site editing blocks are shown. The document also discusses "Gutenberg optimized" themes and building custom blocks with a live coding demo. A timeline is provided for FSE, noting it will be included in core in WordPress 5.8 coming in March 2021.
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...eZ Systems
Roland Benedetti Chief Product and Marketing Officer at eZ Systems presented at re\VISION NYC on December 12, 2016. He spoke about what role content plays in a successful omni-channel user experience strategy. Content is key for digital success, but the reality is content by itself is nothing. We need to connect the right content to the right users and engage them throughout the customer journey in a consistent, meaningful way. In this talk, Roland Benedetti will share ideas on how content management technology can help organizations succeed with their content across channels and he'll also share some pitfalls to avoid.
The Ultimate WordPress Development EnvironmentMatt Geri
This document outlines the components of the ultimate WordPress development environment, including a local server, IDE/text editor, code checking, debugging, and deployment tools. A local server like Vagrant VirtualBox allows replicating the production environment and using WP-CLI commands. The IDE PhpStorm supports WordPress development with features like a built-in terminal, source control, and testing. Code checking ensures standards compliance using PHP Code Sniffer and WPCS. Debugging is done by setting breakpoints and inspecting in the browser. Deployment is handled through Git, WP Pusher, and Travis CI.
During this presentation, I showed how quickly ad easily someone new to DNN can get started with development using a module template. Then, I kicked it up a notch and showed how large teams and projects can be built using DNN.
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
This presentation was held at the international Joomla! conference JandBeyond 2014 in Königstein im Taunus, Germany.
Note: This is a shortened version of the entire presentation since I have added only my part.
This document discusses various DNN database tips and tricks presented by Will Strohl, including how to clear space by deleting old logs, change the dbo role owner when users cannot be created or dropped, change or replace themes by clearing default settings, and take over a site locally by changing the primary alias. The tips are demonstrated through SQL scripts that can automate common database tasks in DNN.
Blazor is an experimental .NET web framework that runs C# and HTML code in the browser using WebAssembly. WebAssembly is a new type of code that can run natively in browsers and allows C# and other languages to run directly in the browser. Blazor was demonstrated at a session and its future depends on high quality interoperability libraries and integration of existing UI components.
How to build a Mobile API or HTML 5 app in 5 minutesRobert MacLean
Robert gave a talk about how LightSwitch can help developers build mobile APIs and HTML5 apps faster by automating common development tasks and boring code, allowing them to focus on adding unique value. LightSwitch is a tool that streamlines creating the technical requirements for apps so they can be developed more quickly, connecting to data sources like SQL Server and exposing them through OData for mobile and HTML5 clients.
Presented at WordPress Sydney User Group, Tim Plummer talks about his experiences using Akeeba Web Framework (AWF). AWF is a web application framework for single source standalone web applications, Joomla! components and WordPress plugins.
WordPress is an open-source content management system (CMS) that can be used to create websites and blogs without coding knowledge. It allows users to create, edit, and manage website content through an intuitive dashboard. The dashboard is the central interface in WordPress and contains components for managing posts, pages, media, comments, plugins, users, and settings. Some key advantages of WordPress include its ease of use, wide range of customization options through themes and plugins, and large user community.
Rapid application development for WordPress using AWFTim Plummer
AWF is a new framework for developing plugins for WordPress, that can also run as standalone PHP applications and Joomla! components. Presented by Tim Plummer at WordCamp Sydney, 27th September 2014.
WordCamp Kent 2019 - WP 101: Local Development - Themes and PluginsJoe Querin
WordPress Multisite allows multiple sites to run under a single WordPress installation. UpDraftPlus and BackWPUp are popular plugins for backing up sites. A child theme allows modifications to an existing theme's files while still receiving updates, whereas a custom theme requires building all files from scratch. Local development tools like WAMP, DesktopServer, and Local by Flywheel allow running WordPress locally with PHP and MySQL. Source code repositories like GitHub and code editors help with development workflow.
2011 05 word-press-not-just-for-blogging-anymoreRudy Duke
This document provides an overview of building a website using WordPress. It discusses the differences between WordPress.com and WordPress.org, and recommends using WordPress.org for self-hosted sites to have full control. It also lists the basic tools needed like a domain name, web hosting, code editor, FTP client, and image editor. Additionally, it covers installing WordPress, selecting themes, plugins, and settings as well as resources for learning more about using WordPress for websites.
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
Joomla as a mobile App backend.
Presented at J & Beyond, 2015 in Prague.
This talk described ideas, principles and methods related to building mobile App backends in Joomla. The Joomla front end is an ideal tool to provide app content administrators the ability to control their app. We'll look at several examples of this process for Apps developed for the UK education sector. The Apps typically use RESTful JSON interfaces to pull and push data to and from the Joomla backend.
Within Joomla the FieldsAttatch a jBackend are used and extended upon. We'll look at the Joomla solution, what we used and what we added. We'll also touch on App development, including cross platform native app development with Ti Appcelerator, continuous integration of multiple rolling releases, team skill-sets, privacy issues and business cases.
It'll be a narrative of the project's journey, ideas, paths and reflections.
Although there will be some technical detail, it should appeal more generally too.
The talk was recorded and is on YouTube at...
https://www.youtube.com/watch?v=OGw-bjM4kt8
J & Beyond page...
http://jandbeyond.org/programme.html?view=session&id=45&return=L3Byb2dyYW1tZS5odG1s
This document contains a question and answer session between someone using the name Nicole and various other people regarding WordPress. Some of the key topics discussed include:
- The downsides of using plugins in WordPress that add unnecessary CSS and JavaScript files.
- Recommendations for what to include on a WordPress cheat sheet, such as referring to the WordPress codex which documents many core functions.
- How to create PHP files using a text editor and how PHP code is parsed and executed by the server.
- Different ways that pages are linked together in WordPress templates, including through template files and page naming conventions.
What is the Responsibility of Plugin Developers?Takayuki Miyoshi
The document discusses the responsibility of WordPress plugin developers to ensure accessibility and localization. It notes that plugins should follow WordPress core's standards of accessibility and work correctly in right-to-left languages. The key responsibilities are to use sufficient color contrast, correctly label forms, make text translatable, and style plugins appropriately for right-to-left languages. Accessibility and localization are important responsibilities for developers.
This document discusses creating a documentation portal. It begins by introducing the speaker and defining what a documentation portal is. The speaker then discusses why one would create a portal, noting that it requires an ongoing commitment. Various planning steps are outlined, including defining problems, requirements and prototypes. The remainder of the document provides a workshop example for creating a portal using an open source project on GitHub called Red Sofa. Steps are outlined for setting up accounts on Heroku and Cloudant, cloning the project, uploading content and reviewing the portal. Additional topics covered include simple configuration, updating content and metadata, customization, and usability testing.
A presentation created for introducing WordPress and outlining what will be covered in my WordPress Super Survival Skills Course - http://www.the-colab.com/wordpress-survival-skills-course/
Content as a Service: What to Know About Decoupled CMSPantheon
Learn:
-How decoupled architecture can help future-proof a website
-How decoupled architecture leverages a wider set of experts by clearly delineating front and back-end
-How to use modules and patterns to build decoupled websites using Drupal 7 and WordPress
-What to expect from both Drupal 8 and the upcoming WordPress JSON API
The Fast Track to Mastering Modern WordPress - Rob Stinson & Carrie DilsWP Engine
This document discusses the future of WordPress and full site editing (FSE) using blocks. It covers the introduction and timeline of FSE, including the four phases of the Gutenberg project. Core blocks and full site editing blocks are shown. The document also discusses "Gutenberg optimized" themes and building custom blocks with a live coding demo. A timeline is provided for FSE, noting it will be included in core in WordPress 5.8 coming in March 2021.
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...eZ Systems
Roland Benedetti Chief Product and Marketing Officer at eZ Systems presented at re\VISION NYC on December 12, 2016. He spoke about what role content plays in a successful omni-channel user experience strategy. Content is key for digital success, but the reality is content by itself is nothing. We need to connect the right content to the right users and engage them throughout the customer journey in a consistent, meaningful way. In this talk, Roland Benedetti will share ideas on how content management technology can help organizations succeed with their content across channels and he'll also share some pitfalls to avoid.
The Ultimate WordPress Development EnvironmentMatt Geri
This document outlines the components of the ultimate WordPress development environment, including a local server, IDE/text editor, code checking, debugging, and deployment tools. A local server like Vagrant VirtualBox allows replicating the production environment and using WP-CLI commands. The IDE PhpStorm supports WordPress development with features like a built-in terminal, source control, and testing. Code checking ensures standards compliance using PHP Code Sniffer and WPCS. Debugging is done by setting breakpoints and inspecting in the browser. Deployment is handled through Git, WP Pusher, and Travis CI.
During this presentation, I showed how quickly ad easily someone new to DNN can get started with development using a module template. Then, I kicked it up a notch and showed how large teams and projects can be built using DNN.
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
This presentation was held at the international Joomla! conference JandBeyond 2014 in Königstein im Taunus, Germany.
Note: This is a shortened version of the entire presentation since I have added only my part.
This document discusses various DNN database tips and tricks presented by Will Strohl, including how to clear space by deleting old logs, change the dbo role owner when users cannot be created or dropped, change or replace themes by clearing default settings, and take over a site locally by changing the primary alias. The tips are demonstrated through SQL scripts that can automate common database tasks in DNN.
Blazor is an experimental .NET web framework that runs C# and HTML code in the browser using WebAssembly. WebAssembly is a new type of code that can run natively in browsers and allows C# and other languages to run directly in the browser. Blazor was demonstrated at a session and its future depends on high quality interoperability libraries and integration of existing UI components.
How to build a Mobile API or HTML 5 app in 5 minutesRobert MacLean
Robert gave a talk about how LightSwitch can help developers build mobile APIs and HTML5 apps faster by automating common development tasks and boring code, allowing them to focus on adding unique value. LightSwitch is a tool that streamlines creating the technical requirements for apps so they can be developed more quickly, connecting to data sources like SQL Server and exposing them through OData for mobile and HTML5 clients.
Presented at WordPress Sydney User Group, Tim Plummer talks about his experiences using Akeeba Web Framework (AWF). AWF is a web application framework for single source standalone web applications, Joomla! components and WordPress plugins.
WordPress is an open-source content management system (CMS) that can be used to create websites and blogs without coding knowledge. It allows users to create, edit, and manage website content through an intuitive dashboard. The dashboard is the central interface in WordPress and contains components for managing posts, pages, media, comments, plugins, users, and settings. Some key advantages of WordPress include its ease of use, wide range of customization options through themes and plugins, and large user community.
Rapid application development for WordPress using AWFTim Plummer
AWF is a new framework for developing plugins for WordPress, that can also run as standalone PHP applications and Joomla! components. Presented by Tim Plummer at WordCamp Sydney, 27th September 2014.
WordCamp Kent 2019 - WP 101: Local Development - Themes and PluginsJoe Querin
WordPress Multisite allows multiple sites to run under a single WordPress installation. UpDraftPlus and BackWPUp are popular plugins for backing up sites. A child theme allows modifications to an existing theme's files while still receiving updates, whereas a custom theme requires building all files from scratch. Local development tools like WAMP, DesktopServer, and Local by Flywheel allow running WordPress locally with PHP and MySQL. Source code repositories like GitHub and code editors help with development workflow.
2011 05 word-press-not-just-for-blogging-anymoreRudy Duke
This document provides an overview of building a website using WordPress. It discusses the differences between WordPress.com and WordPress.org, and recommends using WordPress.org for self-hosted sites to have full control. It also lists the basic tools needed like a domain name, web hosting, code editor, FTP client, and image editor. Additionally, it covers installing WordPress, selecting themes, plugins, and settings as well as resources for learning more about using WordPress for websites.
Joomla as a mobile App backend - ideas, examples and experiencesAndy_Gaskell
Joomla as a mobile App backend.
Presented at J & Beyond, 2015 in Prague.
This talk described ideas, principles and methods related to building mobile App backends in Joomla. The Joomla front end is an ideal tool to provide app content administrators the ability to control their app. We'll look at several examples of this process for Apps developed for the UK education sector. The Apps typically use RESTful JSON interfaces to pull and push data to and from the Joomla backend.
Within Joomla the FieldsAttatch a jBackend are used and extended upon. We'll look at the Joomla solution, what we used and what we added. We'll also touch on App development, including cross platform native app development with Ti Appcelerator, continuous integration of multiple rolling releases, team skill-sets, privacy issues and business cases.
It'll be a narrative of the project's journey, ideas, paths and reflections.
Although there will be some technical detail, it should appeal more generally too.
The talk was recorded and is on YouTube at...
https://www.youtube.com/watch?v=OGw-bjM4kt8
J & Beyond page...
http://jandbeyond.org/programme.html?view=session&id=45&return=L3Byb2dyYW1tZS5odG1s
This document contains a question and answer session between someone using the name Nicole and various other people regarding WordPress. Some of the key topics discussed include:
- The downsides of using plugins in WordPress that add unnecessary CSS and JavaScript files.
- Recommendations for what to include on a WordPress cheat sheet, such as referring to the WordPress codex which documents many core functions.
- How to create PHP files using a text editor and how PHP code is parsed and executed by the server.
- Different ways that pages are linked together in WordPress templates, including through template files and page naming conventions.
What is the Responsibility of Plugin Developers?Takayuki Miyoshi
The document discusses the responsibility of WordPress plugin developers to ensure accessibility and localization. It notes that plugins should follow WordPress core's standards of accessibility and work correctly in right-to-left languages. The key responsibilities are to use sufficient color contrast, correctly label forms, make text translatable, and style plugins appropriately for right-to-left languages. Accessibility and localization are important responsibilities for developers.
This document discusses creating a documentation portal. It begins by introducing the speaker and defining what a documentation portal is. The speaker then discusses why one would create a portal, noting that it requires an ongoing commitment. Various planning steps are outlined, including defining problems, requirements and prototypes. The remainder of the document provides a workshop example for creating a portal using an open source project on GitHub called Red Sofa. Steps are outlined for setting up accounts on Heroku and Cloudant, cloning the project, uploading content and reviewing the portal. Additional topics covered include simple configuration, updating content and metadata, customization, and usability testing.
A presentation created for introducing WordPress and outlining what will be covered in my WordPress Super Survival Skills Course - http://www.the-colab.com/wordpress-survival-skills-course/
This document provides information on how to create a WordPress plugin. It defines what a plugin is, including that plugins are PHP additions that interact with WordPress core code and can change what WordPress does. It discusses when to use a plugin over theme functions and how WordPress finds and loads plugins. It then provides steps for creating a basic plugin, including adding settings pages, shortcodes, and uninstall functionality. Finally, it offers best practices for plugin development such as being unique, descriptive, consistent, and following WordPress coding standards.
Suppose you need to quickly develop user documentation in various formats for your software product.
What you likely want:
- Quick start
- Less tedious work and more automation
- Generate multiple formats from a single project
- No extra programming
- Fast updates and efficient reuse
- Better teamwork
Dr.Explain 5 is a solution
WordPress & Other Content Management SystemsEmily Lewis
"InfoByte" presentation for the University of New Mexico's Continuing Education program. Includes a high-level survey of several CMSes, including WordPress, ExpressionEngine, Plone, Drupal, Joomla and MojoMotor. Also includes a discussion about choosing a CMS.
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slidesJer Clarke
These are the slides from my talk at WordCamp Montreal 2013.
Talk description:
==Keep your code organized! Templates, functions.php and custom plugins==
If you've written PHP for a theme you should know by now that you need to keep anything complicated outside the templates. Functions.php can be a good place for this but there are many pitfalls and considerations you should keep in mind before (over)using it. This talk will examine your choices for organizing the code that makes up a WP site, ensuring you have plugin code in plugins and theme code in themes (it's not hard!).
TomatoCMS is an open source content management system built on LAMP stack. It was created by Nguyen Huu Phuoc and can run on web servers and multiple databases across operating systems. The CMS uses a widget-based concept where pages are made up of containers holding widgets. It has features like multilingual support, SEO optimization, caching, security and mobile support.
Presented at WordCamp Montreal 2017
For many WordPress users, even seasoned PHP developers, creating new plugins for WordPress seems like a daunting task. This presentation aims to show attendees how simple creating plugins for WordPress from the ground up can be by looking at the architecture of a WordPress plugin, from the basic concepts of registering actions and filters to more advanced concepts such as the creation of admin pages and registering shortcodes.
Best Practices for Building WordPress ApplicationsTaylor Lovett
This document provides best practices for WordPress applications, covering topics like caching, database reads/writes, search queries, maintainability, security, third-party code, teams, and workflows. It recommends tools and techniques to optimize performance, including using Redis for caching, Elasticsearch for complex queries, feature plugins, documentation, testing, linting, and managing dependencies with Composer.
Developing Custom WordPress Themes for ClientsSteven Slack
Should you develop custom themes for clients? When is it necessary? Why should you build custom themes for clients? Things that will be covered in this talk include, starting a theme from scratch, theme boilerplates, working with clients through the process, cost, performance, properly planning theme architecture around clients content, integrating with plugins and custom plugins, presentation vs functionality, updates and maintenance, shipping and installing the theme, training clients, populating site with content, and getting paid!!
This document provides an overview of why two university web developers, Shelley and Stephanie, chose to use WordPress for their institutions' websites. Some key points:
- Both previously struggled with limited resources and outdated CMS options at their schools, with many broken links, duplicate content, and lack of features.
- They tried alternatives like Drupal but found them too complex and difficult to use. WordPress offered an easy interface for content creation and management.
- WordPress allows them to easily create sites, blogs, and networks with thousands of free, high-quality plugins and themes. It also has a strong developer community and regular, stable updates.
- While it lacks some advanced features out of
Release Management with Visual Studio Team Services and Office Dev PnPPetter Skodvin-Hvammen
Learn about the capabilities of Visual Studio Online Services:
– how you can setup continuous builds whenever a change is committed to the source repository
– how to setup scheduled builds and deploys
– how to target deployments for your dev, test, uat and prod environments
– how to manage release security and use approval workflows
Also learn how you can use Office Dev PnP PowerShell to support rapid and automated deployments and about other alternatives out there
This document provides guidance on writing a first ExpressionEngine plugin. It outlines the basic steps, including naming conventions for the plugin file and class, adding plugin information and usage instructions, and how to integrate the plugin into templates. The document also briefly discusses porting plugins to ExpressionEngine 2.0 and some changes introduced in that version. The overall goal of the plugin discussed is to capitalize the first letter of each word in article titles.
Slides from a Presentation made to the WP Melbourne Meetup April 10th 2013 by Warren Denley. Provides an introduction to WordPress themes and plugins - what to look for, where to find them, how to install them and how to use them. Also includes a look at the top 10 plugins recommended by the presenter.
WordPress is a free and open-source content management system that can be used to create blogs and websites. It has a plugin architecture and a template system that allows for great flexibility and customization. WordPress is highly extensible through plugins and has a large community that contributes plugins, themes, and translations to support users in many different languages.
WordPress is an open-source content management system (CMS) that allows users to create beautiful websites and blogs. It has many features including simplicity, flexibility, easy publishing tools, user management, and a plugin system. To install WordPress, you need to create a database, start the configuration process, and complete the installation. WordPress templates work together to generate web pages and include templates for specific conditions. Hooks allow plugins and themes to modify WordPress areas through short code snippets without changing core files.
Add-On Development: EE Expects that Every Developer will do his Dutyreedmaniac
Add-Ons are what make ExpressionEngine the flexible powerhouse that it is today. Being able to write your own simple plugins or incredibly expansive modules allows you to mold ExpressionEngine to nearly any task that your website might require. However, with that power comes a great responsibility to insure that your code is not slowing down the entire site or unduly stressing the server through bad code architecture.
There are simple tools already built into ExpressionEngine and PHP that you can use to see precisely what your Add-On is doing during page processing and where it might be doing more work than is absolutely necessary. Every developer should use these to optimize their work from the very beginning of development, prior to release. This workshop will explain these tools and how you can use them effectively. It will also delve deeper into optimization techniques and tricks that will keep your code light and clean, while finding a balance between functionality and performance.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Driving Business Innovation: Latest Generative AI Advancements & Success StorySafe Software
Are you ready to revolutionize how you handle data? Join us for a webinar where we’ll bring you up to speed with the latest advancements in Generative AI technology and discover how leveraging FME with tools from giants like Google Gemini, Amazon, and Microsoft OpenAI can supercharge your workflow efficiency.
During the hour, we’ll take you through:
Guest Speaker Segment with Hannah Barrington: Dive into the world of dynamic real estate marketing with Hannah, the Marketing Manager at Workspace Group. Hear firsthand how their team generates engaging descriptions for thousands of office units by integrating diverse data sources—from PDF floorplans to web pages—using FME transformers, like OpenAIVisionConnector and AnthropicVisionConnector. This use case will show you how GenAI can streamline content creation for marketing across the board.
Ollama Use Case: Learn how Scenario Specialist Dmitri Bagh has utilized Ollama within FME to input data, create custom models, and enhance security protocols. This segment will include demos to illustrate the full capabilities of FME in AI-driven processes.
Custom AI Models: Discover how to leverage FME to build personalized AI models using your data. Whether it’s populating a model with local data for added security or integrating public AI tools, find out how FME facilitates a versatile and secure approach to AI.
We’ll wrap up with a live Q&A session where you can engage with our experts on your specific use cases, and learn more about optimizing your data workflows with AI.
This webinar is ideal for professionals seeking to harness the power of AI within their data management systems while ensuring high levels of customization and security. Whether you're a novice or an expert, gain actionable insights and strategies to elevate your data processes. Join us to see how FME and AI can revolutionize how you work with data!
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceIndexBug
Imagine a world where machines not only perform tasks but also learn, adapt, and make decisions. This is the promise of Artificial Intelligence (AI), a technology that's not just enhancing our lives but revolutionizing entire industries.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
How to Get CNIC Information System with Paksim Ga.pptx
Building your first plugin
1. Building Your First Plugin
A COMPLETE NEWBIE’S GUIDE TO CREATING A PLUGIN
SCOTT DELUZIO
#wcphx
@scottdeluzio
2. About me: Scott DeLuzio
• 14 Plugins on WordPress.org
• Core contributor
• Originally not a developer – you can do it too!
• Paid plugins include
• WP-CRM System
• WP1099
• Conditional Checkout Fields
• WP In-Post Ads
#wcphx
@scottdeluzio
3. What is a plugin?
• Software that adds to or changes how WordPress works
• Written in PHP – other code can be used too
• Easy to add features
• Myth: plugins slow your site down
#wcphx
@scottdeluzio
4. Theme vs. Plugin
THEME
• Think exterior of a car
• Controls look of site
• Placement of content
• Header, Footer, Sidebar,
Content
PLUGIN
• Think interior features of a car
• Controls functionality of site
• Creates content types
• Adds features
#wcphx
@scottdeluzio
5. Why your site might need plugins
• WordPress without plugins is limited
• Power of WordPress is in extendibility
• SEO
• eCommerce
• Connect to 3rd party services
• …about 54,000 others
• Or your own plugin
#wcphx
@scottdeluzio
6. Danger of functions.php
• Tutorials say paste into theme’s functions.php file
• Easier than explaining how to make a plugin
• Theme updates remove changes
• Use a child theme!
• Can’t switch themes without losing custom code
#wcphx
@scottdeluzio
7. Benefits of custom plugins
• Won’t be lost with theme update (functions.php)
• Free to change themes
• Easier to troubleshoot issues
• One specific function per plugin
#wcphx
@scottdeluzio
8. What you need for a custom plugin
• Text editor
• Not Microsoft Word (or other word processors)
• Notepad (Windows) / TextEdit (Mac)
• Notepad++ – Windows (free/Open Source)
• Atom – OSX, Windows, Linux (free/Open Source)
• Other paid / not open source options available
• FTP/Git/Backup
• Avoid the plugin/theme editor in WordPress
• Use a development site!
#wcphx
@scottdeluzio
9. Best practices
• define( ‘WP_DEBUG’, true );
• Use WordPress coding standards
• https://codex.wordpress.org/
• https://developer.wordpress.org/
• Use prefixes
#wcphx
@scottdeluzio
10. What will the plugin do?
• Create custom post types
• https://developer.wordpress.org/plugins/post-types/
• Create a shortcode
• https://developer.wordpress.org/plugins/shortcodes/
#wcphx
@scottdeluzio
11. Let’s Code Our Own Plugin
https://github.com/ScottDeLuzio/wcphx2018
#wcphx
@scottdeluzio
Editor's Notes
Before beginning, this is a beginner level talk.
If anyone has developed plugins, or is an advanced developer this might be nap time.
If you’re one of those people and are here for moral support, thank you.
You’re more than welcome to stay but I won’t be offended if you duck out.
I have 14 plugins on WordPress.org
I contributed to WordPress core, so if your site is updated to 4.9 or higher, some of my code is already on your site
My background is not in software development.
Have a degree in accounting
Was a soldier
Taught myself how to code
You can do it too!
Plugins are simply software that changes how WordPress works
They are written in PHP code, but other code like JavaScript can be used too
Plugins make it easy to add features to your site. Out of the box WordPress doesn’t have certain features but you can add them with plugins.
Contact forms
Page builders
eCommerce
SEO
Myth: plugins slow down your site
Plugins aren’t inherently bad or slow
Some hosts have perpetuated this myth by saying “you have too many plugins”
That’s a lazy way of saying “there are a lot of plugins on your site, and one of them might be slowing your site down but I don’t care to look at each one individually”
The hope is you get rid of some plugins, the problem magically fixes itself, and you never call back for help
Some plugins actually speed up your site (caching, optimize images, etc.)
Truth: badly coded plugins can slow down your site.
I want to make sure we understand the difference between themes and plugins
Themes
Imagine the exterior of a car. The color, shape, type of car (convertible, SUV, minivan)
Themes control the look of the site
Controls where content is placed
Manages the appearance of the site’s header, footer, sidebar, and content areas
Plugins
Think about the interior features of a car. The engine, GPS, heated seats, etc.
Plugins control the functionality of your site.
While themes control the placement of content, plugins can create new types of content
Think products in an eCommerce store
Plugins can add features to your site that don’t come with WordPress
A plain install of WordPress is pretty limited.
Don’t get me wrong, it is 100% all you need for a simple website.
Can make a basic business brochure site
Start a blog
No plugins are needed at all for this
Power of WordPress is in it’s extendibility
Simple to add plugins for:
SEO
eCommerce
Contact Forms
Connecting to 3rd party services
And about 54,000 other things
Online tutorials provide you with code snippets that you can copy and paste onto your site.
Many suggest copying into your theme’s functions.php file
I think this is a lazy “one size fits all” approach
Sometimes functions.php is the appropriate place for this code, but not always
The way tutorials are written, copying and pasting in their entirety may break your site.
Nothing may be wrong with the code – operator error
https://pippinsplugins.com/quick-introduction-to-action-hooks/
Theme Updates
If you aren’t using a child theme, and your theme gets an update your custom code will be lost
Child themes will fix this issue.
A child theme is a theme that inherits a parent theme’s features, but uses it’s own code to modify or override the parent theme a bit
But if you put your code in a child theme’s functions.php you can’t switch themes without losing the custom code.
This might be OK if the code is doing something specific to the theme
Ex: Make sidebar or footer appear differently on certain pages. Or changing the size of your thumbnail images.
Not if there is functionality that you want to keep regardless of how your site looks.
Custom plugins will live forever on your site regardless of theme updates, or if you’ve changed your theme.
It’s also easier to troubleshoot issues in a custom plugin.
Each plugin should do one thing. That way if you’re having trouble with that thing, you know exactly where to look to fix it.
Ex: Shortcode adds content to your page. If the page acts funny or has errors when the shortcode is in it, you know the shortcode plugin is messed up. Fix it or disable it.
Some popular contact form plugins create a form that you can use on your site.
They also have add-on plugins that let you connect to third party services, or do other things.
Imagine if all of the add-ons were baked into the main plugin, and the contact form stopped working correctly. Which add-on’s code caused it to stop?
With the code separated into multiple plugins, it’s easy to disable a plugin to isolate the issue.
Text Editor
Microsoft Word can technically write text, but can’t save as PHP. Reasons are technical, and not important – just don’t use it.
Built in text editors on Windows or Mac computers will work, but not really built for this purpose.
Free open source options available that can help catch errors in code, auto format code, and other benefits.
Code highlighting helps identify errors.
Paid non-open source options are also available. I use Sublime Text, but I won’t get into that here.
FTP/Git For PHP Code
PHP code can come from tutorials – only take from trusted sources
Write your own code if you’re familiar with PHP
When you do so, avoid using the plugin or theme editor in WordPress.
If you make a mistake, it can bring the whole site down, and you won’t have a way to revert changes.
Use FTP to upload changes to your server. That way if there’s a problem, you can CTRL+Z to undo changes on your computer and re-upload a working version.
Get a Development Site
Prevents your live site from crashing when something goes wrong.
If editing CSS, the worst case is you’ll make the site look ugly.
If editing PHP, and you’re missing one comma, quote, or semi-colon, you can bring the whole site down.
Many hosts offer staging, or development environments. Use that if you have nothing else to use.
Or buy a cheap hosting account to build on.
Can also install a server locally on your computer. Makes it easy to spin up sites quickly and test.
define( ‘WP_DEBUG’, true );
Put this in your wp-config.php file in the site’s root directory.
This will output errors onto the screen, and help identify issues.
Don’t use on a live site.
Coding standards
Prefix functions
If your plugin has a generic function name that is used somewhere else, it will conflict with the other function.
Example: your plugin adds a shortcode, and you use “add_shortcode” as a function name. Well WordPress already uses that, and you’ll cause an error.
Call it “my_plugin_name_add_shortcode” instead.
What are custom post types?
WP comes with 5 default post types
post, page, attachment, revision, menu
Custom post types handle specific content types
eCommerce site might have a Products CPT
Education site might have Assignments CPT
Movie review site might have Movies and Actors as separate CPTs
Think about it this way, posts is a default post type. That’s where blog posts show up. Not all content is a blog post, and shouldn’t show up in your blog’s feed.
You wouldn’t want a new blog post to show up every time you uploaded an image, right?
Images are your “attachment” post type.
Just like you wouldn’t want every product to show up on your blog feed on an eCommerce site.
What are shortcodes?
Shortcodes provide a way to dynamically interact with your site’s content.
You can’t put PHP code into a post or page for security reasons. You can put in a shortcode to do all sorts of things.
Shortcodes run a PHP function, which can display data from your site, or even another site through an API.
Every plugin should have:
A folder – technically this isn’t needed, but it is useful for organizing if the plugin will have more than one file.
A PHP file with a header comment
Header comment must at a minimum contain the plugin name.
Name should be unique.
Another plugin on your site with same name will be confusing – probably can’t save that way anyways, or one will override the other.
Another plugin on WordPress.org with same name will cause your plugin to be deleted when the other plugin gets updated.
Header comment can optionally also contain:
Plugin URL: The homepage of the plugin – can’t use WordPress.org URL
Description: A short description, which is shown on the Plugins page in WP Admin. Keep under 140 characters.
Version: 1.0, 1.1, etc. This helps keep track of changes, and lets people know there is a new version available.
Author: The name of the author, or a comma separated list of author names if more than one
Author URL: The author’s website
License: The name of the license that the plugin is distributed under (e.g. GPL2)
License URL: A link to the license text
Text Domain: A common string that denotes all text belonging to your plugin. This makes it easier to translate your plugin later on. If you’re building it for yourself and not distributing it, this isn’t necessary.
Domain Path: The location of your language translation files.