SlideShare a Scribd company logo
1 of 31
Creating patches without using the command line. Drupal CVS checkouts etc. Roy Scholten
Topics covered: ,[object Object],[object Object],[object Object],[object Object]
1. Install Aptana And make it work with CVS
Download Aptana
Install CVS 1
Install CVS 2
Install CVS 3
Install CVS 4
Install CVS 5
2. Create a project to hold a Drupal CVS checkout.
Aptana view
Aptana project
Import
Repository information
Select Module
Check out as
Location
Select tag HEAD
Checking out…
Succes!
3. Install this copy of Drupal as per usual. (Not covered in this tutorial…)
4. Make a patch Improve a piece of the code, test it, create a patch and post it in the issue tracker.
Aggregator.css example 1
Aggregator.css example 2
Create patch…
Save patch as…
Advanced options
The patch file
You have created a patch!
Next steps… ,[object Object],[object Object],[object Object]
Good luck! Roy Scholten http://www.yoroy.com

More Related Content

What's hot

Tutorial how to create a simple maven project
Tutorial how to create a simple maven projectTutorial how to create a simple maven project
Tutorial how to create a simple maven projectssuser29f27f
 
Intro to Stylecop
Intro to StylecopIntro to Stylecop
Intro to Stylecopwlscaudill
 
StyleCop breaking down the barriers to entry
StyleCop breaking down the barriers to entryStyleCop breaking down the barriers to entry
StyleCop breaking down the barriers to entryGary Park
 
Five Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteFive Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteMediacurrent
 
The Selfish Programmer
The Selfish ProgrammerThe Selfish Programmer
The Selfish Programmerkamaelian
 
Selenium Testing with TestingBot.com
Selenium Testing with TestingBot.comSelenium Testing with TestingBot.com
Selenium Testing with TestingBot.comtestingbot
 
Intro to CI/CD using Docker
Intro to CI/CD using DockerIntro to CI/CD using Docker
Intro to CI/CD using DockerMichael Irwin
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badJoe Ferguson
 
Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus DeployKaroline Klever
 
Telerik test studio webinar deck
Telerik  test studio webinar deckTelerik  test studio webinar deck
Telerik test studio webinar deckDhananjay Kumar
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeCassey Lottman
 
Drupalcamp Simpletest
Drupalcamp SimpletestDrupalcamp Simpletest
Drupalcamp Simpletestlyricnz
 
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...DevOpsGroup
 
Arquillian: Effective tests from the client to the server
Arquillian: Effective tests from the client to the serverArquillian: Effective tests from the client to the server
Arquillian: Effective tests from the client to the serverLukáš Fryč
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityMatt Tesauro
 
Testing Legacy Apps
Testing Legacy AppsTesting Legacy Apps
Testing Legacy AppsDawn Code
 

What's hot (20)

Tutorial how to create a simple maven project
Tutorial how to create a simple maven projectTutorial how to create a simple maven project
Tutorial how to create a simple maven project
 
Intro to Stylecop
Intro to StylecopIntro to Stylecop
Intro to Stylecop
 
StyleCop breaking down the barriers to entry
StyleCop breaking down the barriers to entryStyleCop breaking down the barriers to entry
StyleCop breaking down the barriers to entry
 
Five Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal SiteFive Easy Ways to QA Your Drupal Site
Five Easy Ways to QA Your Drupal Site
 
The Selfish Programmer
The Selfish ProgrammerThe Selfish Programmer
The Selfish Programmer
 
Selenium Testing with TestingBot.com
Selenium Testing with TestingBot.comSelenium Testing with TestingBot.com
Selenium Testing with TestingBot.com
 
Intro to CI/CD using Docker
Intro to CI/CD using DockerIntro to CI/CD using Docker
Intro to CI/CD using Docker
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
 
Getting started with Octopus Deploy
Getting started with Octopus DeployGetting started with Octopus Deploy
Getting started with Octopus Deploy
 
Telerik test studio webinar deck
Telerik  test studio webinar deckTelerik  test studio webinar deck
Telerik test studio webinar deck
 
Automated tests to a REST API
Automated tests to a REST APIAutomated tests to a REST API
Automated tests to a REST API
 
Continuous testing
Continuous testingContinuous testing
Continuous testing
 
Octopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of CodeOctopus Deploy @Erie Day of Code
Octopus Deploy @Erie Day of Code
 
Drupalcamp Simpletest
Drupalcamp SimpletestDrupalcamp Simpletest
Drupalcamp Simpletest
 
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
Pester & PSScriptAnalyser - Power Test your PowerShell with PowerShell - Futu...
 
Arquillian: Effective tests from the client to the server
Arquillian: Effective tests from the client to the serverArquillian: Effective tests from the client to the server
Arquillian: Effective tests from the client to the server
 
Being Lean Agile
Being Lean AgileBeing Lean Agile
Being Lean Agile
 
Day 2
Day 2Day 2
Day 2
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
Testing Legacy Apps
Testing Legacy AppsTesting Legacy Apps
Testing Legacy Apps
 

Similar to Create Drupal patches with Aptana

WordPress Plugin Development For Beginners
WordPress Plugin Development For BeginnersWordPress Plugin Development For Beginners
WordPress Plugin Development For Beginnersjohnpbloch
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress developmentSteve Mortiboy
 
Steps to port your module in drupal.org when you have the d8 code ready
Steps to port your module in drupal.org when you have the d8 code readySteps to port your module in drupal.org when you have the d8 code ready
Steps to port your module in drupal.org when you have the d8 code readyDrupalGeeks
 
Software Design
Software DesignSoftware Design
Software DesignSpy Seat
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Amazon Web Services
 
Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Pei-Hsuan Hsieh
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your OrganizationDalibor Blazevic
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...Amazon Web Services
 
Django is a high-level Python web framework that enables rapid development of...
Django is a high-level Python web framework that enables rapid development of...Django is a high-level Python web framework that enables rapid development of...
Django is a high-level Python web framework that enables rapid development of...ArijitDutta80
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
 
Building Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTMLBuilding Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTMLOlga Scrivner
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersSarah Dutkiewicz
 
Contributing to drupal
Contributing to drupalContributing to drupal
Contributing to drupalmarcingy
 
Azure DevOps Extensions
Azure DevOps ExtensionsAzure DevOps Extensions
Azure DevOps ExtensionsChristian Waha
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension librarydominion
 

Similar to Create Drupal patches with Aptana (20)

WordPress Plugin Development For Beginners
WordPress Plugin Development For BeginnersWordPress Plugin Development For Beginners
WordPress Plugin Development For Beginners
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
 
Steps to port your module in drupal.org when you have the d8 code ready
Steps to port your module in drupal.org when you have the d8 code readySteps to port your module in drupal.org when you have the d8 code ready
Steps to port your module in drupal.org when you have the d8 code ready
 
Software Design
Software DesignSoftware Design
Software Design
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
Android studio
Android studioAndroid studio
Android studio
 
Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development Eclipse IDE, 2019.09, Java Development
Eclipse IDE, 2019.09, Java Development
 
How to implement DevOps in your Organization
How to implement DevOps in your OrganizationHow to implement DevOps in your Organization
How to implement DevOps in your Organization
 
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
AWS re:Invent 2016: DevOps on AWS: Accelerating Software Delivery with the AW...
 
Django is a high-level Python web framework that enables rapid development of...
Django is a high-level Python web framework that enables rapid development of...Django is a high-level Python web framework that enables rapid development of...
Django is a high-level Python web framework that enables rapid development of...
 
Recipes for Drupal distributions
Recipes for Drupal distributionsRecipes for Drupal distributions
Recipes for Drupal distributions
 
DevOps Delivery Pipeline
DevOps Delivery PipelineDevOps Delivery Pipeline
DevOps Delivery Pipeline
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
Building Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTMLBuilding Shiny Application Series - Layout and HTML
Building Shiny Application Series - Layout and HTML
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
 
Azure DevOps for JavaScript Developers
Azure DevOps for JavaScript DevelopersAzure DevOps for JavaScript Developers
Azure DevOps for JavaScript Developers
 
Contributing to drupal
Contributing to drupalContributing to drupal
Contributing to drupal
 
Azure DevOps Extensions
Azure DevOps ExtensionsAzure DevOps Extensions
Azure DevOps Extensions
 
Implementing xpages extension library
Implementing xpages extension libraryImplementing xpages extension library
Implementing xpages extension library
 

More from Roy Scholten

Less look, more feel
Less look, more feelLess look, more feel
Less look, more feelRoy Scholten
 
Introductie online personalisatie
Introductie online personalisatieIntroductie online personalisatie
Introductie online personalisatieRoy Scholten
 
Bootstrapping ux in your open source project
Bootstrapping ux in your open source project Bootstrapping ux in your open source project
Bootstrapping ux in your open source project Roy Scholten
 
Drupal product 3 is the magic number
Drupal product 3 is the magic numberDrupal product 3 is the magic number
Drupal product 3 is the magic numberRoy Scholten
 
Modules page-designs
Modules page-designsModules page-designs
Modules page-designsRoy Scholten
 
Drupal 8 UX: Connceting the dots
Drupal 8 UX: Connceting the dotsDrupal 8 UX: Connceting the dots
Drupal 8 UX: Connceting the dotsRoy Scholten
 
More better core profiles
More better core profilesMore better core profiles
More better core profilesRoy Scholten
 
Building Blocks For Your Modules Ui
Building Blocks For Your Modules UiBuilding Blocks For Your Modules Ui
Building Blocks For Your Modules UiRoy Scholten
 
Drupal6 Css Theming
Drupal6 Css ThemingDrupal6 Css Theming
Drupal6 Css ThemingRoy Scholten
 
Views 2 UI design process
Views 2 UI design processViews 2 UI design process
Views 2 UI design processRoy Scholten
 

More from Roy Scholten (14)

Less look, more feel
Less look, more feelLess look, more feel
Less look, more feel
 
Introductie online personalisatie
Introductie online personalisatieIntroductie online personalisatie
Introductie online personalisatie
 
Bootstrapping ux in your open source project
Bootstrapping ux in your open source project Bootstrapping ux in your open source project
Bootstrapping ux in your open source project
 
Spreekbeurt melle
Spreekbeurt melleSpreekbeurt melle
Spreekbeurt melle
 
Drupal product 3 is the magic number
Drupal product 3 is the magic numberDrupal product 3 is the magic number
Drupal product 3 is the magic number
 
Modules page-designs
Modules page-designsModules page-designs
Modules page-designs
 
Drupoid
DrupoidDrupoid
Drupoid
 
Learning to fly
Learning to flyLearning to fly
Learning to fly
 
Drupal 8 UX: Connceting the dots
Drupal 8 UX: Connceting the dotsDrupal 8 UX: Connceting the dots
Drupal 8 UX: Connceting the dots
 
Drupal 7 UX –
Drupal 7 UX – Drupal 7 UX –
Drupal 7 UX –
 
More better core profiles
More better core profilesMore better core profiles
More better core profiles
 
Building Blocks For Your Modules Ui
Building Blocks For Your Modules UiBuilding Blocks For Your Modules Ui
Building Blocks For Your Modules Ui
 
Drupal6 Css Theming
Drupal6 Css ThemingDrupal6 Css Theming
Drupal6 Css Theming
 
Views 2 UI design process
Views 2 UI design processViews 2 UI design process
Views 2 UI design process
 

Recently uploaded

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Recently uploaded (20)

Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Create Drupal patches with Aptana

Editor's Notes

  1. - Download Aptana at http://aptana.org/studio/download (there are many different flavours of IDE, let's not get into comparing them here). - Installation means unpacking the zip file and putting the Aptana folder in your Applications folder.
  2. - Launch the Aptana application. Should open with a popup that lets you 'Install additional features'. Yes, we want to do that. - Under the nicely named 'Others', expand the SCM plugins and check the 'CVS' box. - Click the 'Install' button.
  3. - Aha! You thought that would start installation of the CVS feature huh? Wrong! Instead: another popup will eh, pop up. - Expand the 'Collaboration Tools' section and check the 'Eclipse CVS Client' box. - Click 'Next'. You might see a couple of flashing progress bars. Don't worry.
  4. Yes, that’s indeed what we want to install. Next please!
  5. - 'Review the items to be installed'. Well yes, we want to install the Eclipse CVS Client, so let's click'Next>' once more and accept the license agreement.
  6. Should really be installing now! Once finished, let's do the suggested restart of Aptana. The 'Customize Aptana Studio' popup will show again, close it for now. Congratulations, you’ve just installed your IDE and added CVS support to it!
  7. Alright then, ready to get down to business! We'll download the latest version of Drupal HEAD from drupal.org’s CVS repository into a new project.
  8. Let's take a look at the home screen: - Top left a browser for your file system, click the second 'Project' tab, we'll be working from there most of the time. - Bottom left has the getting started videos. Maybe later, ok? Let's close it for now.
  9. - Right- or Control-Click somewhere in the empty project listing and select "Import…"
  10. - Expand the 'CVS' section, select 'Projects from CVS' and click 'Next >'.
  11. Now we have to supply the info needed to connect with the CVS repository on drupal.org. This is documented on http://drupal.org/node/320, though it took me some trial and error to find where some of the slashed are meant to be. This should work: Host: cvs.drupal.org Repository path: /cvs/drupal User: anonymous Password: anonymous Leave the Connection type settings as is. It's handy to check the 'Save password' box, you'll have to set a master password then. Click ‘Next>’
  12. Fill out 'drupal' in the text field for 'Use specified module name'. Click 'Next >'…
  13. Do *not* use the first option that uses the 'New Project Wizard', somehow that starts over the whole process… Instead, use the second 'Check out as a project in the workspace'. Choose a (slightly sensible) name for your project and click 'Next >' again.
  14. Attention! You'll probably *not* want to check out (download) into the default workspace location. Instead, you want to download to the place where you keep all your local sites. I keep mine in the 'Sites' folder in my Home directory. I'm such a rebel… 'Next >'…
  15. Yes, we want to check out from the 'HEAD' tag. No more 'Next >' clicks available, let's hit 'Finish' then!
  16. You should see the download in progress now. When finished, you'll see a fresh new project in the left sidebar. If not, double check your Documents/Aptana workspace folder to see if you didn't check out into the default location after all.
  17. That's it. If all went well, you now have a fresh CVS checkout of the latest Drupal HEAD on your system. Applause for yourself!
  18. I'm skipping the part of setting up a virtual host, MySQL database and all that to actually get this Drupal installation up and running for now. Awww, really? Yes, really. There's quite a few tutorials out there that explain this quite well. http://drupal.org/node/128752 describes the process for Drupal version 6, which should get you on your way.
  19. We’ll take a very simple example of making one change to just one file in the Drupal code. This could be a piece of interface text, code documentation, CSS or (gasp!) some actual PHP. We’ll do a very simple change to some CSS here…
  20. You've been scanning the Drupal core CSS files and found this in aggregator.css: #aggregator .categorize-item h3 { margin-bottom: 1em; margin-top: 0; } This is of course an absolute travesty! You care about code optimization and rightfully think that this should be rewritten using CSS short-hand notation, like so: #aggregator .categorize-item h3 { margin: 0 0 1em 0; } This doesn't change any actual layout (I'm assuming there's no left or right margins defined elsewhere, it's an example ok?), so there's not that much to preview in this case.
  21. Great! Let's assume that this is all you want to change to aggregator.css and you want to see this change added to the central Drupal code base (remember, you have only changed your local copy of Drupal now). To do so, you want to export this change in a format that can be easily applied to the central Drupal code repository. This now is what is called a patch. A patch sums up the changes in your local Drupal installation compared to the central repository. Yup, that's 'diff’ and that is exactly what a Version Control System allows you to do. Let's see how it's done in Aptana…
  22. Right- or Control-click on your Drupal installation folder, choose ‘Team’ and then ‘Update’. This makes sure we’ll be comparing or changes to the latest version of the code. Right- or Control-click on the aggregator.css file Choose 'Team' > 'Create Patch…'
  23. Choose the 'File' radio button, hit 'Browse…', type a name for your patch and select the place to save it to. Make sure you use .patch as the file extentsion. Hit 'Save' in this dialog and 'Next >' in the 'Create Patch' dialog.
  24. - Oooh, advanced options… It's important to set the patch root to 'Project' here. - Click 'Finish'!
  25. Then, hurry to the location on your file system where you told Aptana to save the patch and open it (in Aptana or your text editor of choice). For our aggregator example it should look something like this.