SlideShare a Scribd company logo
How to Contribute
   to Drupal
(And become a Drupal ninja!)
Stand up
Can you name this
   character?
Raphael
(of Teenage Mutant Ninja Turtles)
Stand up

 (again)
Do you contribute to
     Drupal?
Follow along at
http://tinyurl.com/contribute-drupal
Ways that anyone
can contribute...
Advocacy
Get involved with your
local Drupal community
  on groups.drupal.org
Translations

http://drupal.org/contribute/translations
http://groups.drupal.org/i18n
translations@drupal.org
http://localize.drupal.org/
Graphics
$$$ or €€€
http://association.drupal.org
Report problems with
  documentation.
      http://drupal.org/handbook
Provide usability
   feedback.
    http://groups.drupal.org/usability
    drupal.org Issue queue
E.g.
Help out with user
     support.
Improve
documentation
How to help with
   documentation

Improve / fix text
Create new pages
Roll-in comments
Issue queue house-
     cleaning.
File feature requests.
File bug reports.
Bad bug reports

“It’s broke.”
“OMG!1! READ THIS!1!”
“You suck.”
"Make it work"
Good bug reports

Search first.
What did you do?
What did you expect to happen?
What happened instead?
Search first!
Testing and
reviewing patches.
What is a “patch?”
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1117
diff -u -p -r1.1117 node.module
--- modules/node/node.module    31 Aug 2009 17:06:09 -0000      1.1117
+++ modules/node/node.module    2 Sep 2009 08:40:24 -0000
@@ -1898,7 +1898,7 @@ function node_page_default() {
   else {
     drupal_set_title(t('Welcome to @site-name', array('@site-name' => variable_get
('site_name', 'Drupal'))), PASS_THROUGH);

-   $default_message = '<p>' . t('No page content has been created yet.') . '</p>';
+   $default_message = '<p>' . t('No front page content has been created yet.') . '</p>';

    $default_links = array();
    if (_node_add_access()) {
Finding a patch
Issue queues

Novice tag; http://drupal.org/patch/novice

Play patch bingo
Bad patch reviews

“+1”
“I haven’t read the issue, but...”
“I haven’t tested the patch, but...”
Good patch reviews
Describe what you did.
Describe your results.
Give your opinion about what this
means, based on experience,
background, etc.
Be as nit-picky as possible (within
reason ;)).
Tools of the trade

cvs checkout drupal
  http://drupal.org/node/320 & 321
patch -p0 < patch.patch
  http://drupal.org/patch
Demo

Let’s test
a patch!
Help with developer
 documentation.
Contribute (to)
modules & themes
Become a code
     contributor
Search for existing similar code.
Apply for a CVS account.
Check-in your code.
Create a project.
Maintain your issue queue. ;)
Create patches.
Tools of the Trade
Coding standards http://drupal.org/coding-standards
Coder module http://drupal.org/project/coder
                             cvs checkout
                             cvs diff -up > my.patch

                             Thick skin ;)
Demo: Let’s create a
      patch!
Mentor new
developers.
Get involved with a
specialist group on
groups.drupal.org
Organize
development efforts.
Wow, this sounds like
an awful lot of work.




      Why should I bother?
Drupal is a
   DO-ocracy
Karma is the official currency.
Saves time and
   money.
Gets you more
business and attracts
   better people.
http://buytaert.net/contributing-back-to-drupal
More eyes & reviews
   on your code

Makes you a better
  programmer.
Gives you direct input
 into the direction of
        project.
Stand up
Do you know a way you can
   contribute to Drupal?
        (not money)
Useful links

These slides http://tinyurl.com/contribute-drupal

How to contribute: http://drupal.org/contribute

User groups: http://groups.drupal.org

Creating patches: http://drupal.org/patch/create

Finding patches: http://drupal.org/patch

Novice issues: http://tinyurl.com/drupalnovice

Contribute to documentation: http://drupal.
org/contribute/documentation
Questions?

More Related Content

Viewers also liked

Open source cms-presentation-v1
Open source cms-presentation-v1Open source cms-presentation-v1
Open source cms-presentation-v1
Jaladhi Bhatt
 
Taxonomy Everywhere
Taxonomy EverywhereTaxonomy Everywhere
Taxonomy Everywhere
Drupalcon Paris
 
The State Of Rdf In Drupal 7
The State Of Rdf In Drupal 7The State Of Rdf In Drupal 7
The State Of Rdf In Drupal 7
Drupalcon Paris
 
State Of Drupal September 2009
State Of Drupal September 2009State Of Drupal September 2009
State Of Drupal September 2009
Drupalcon Paris
 
Web Typography Fundamentals
Web Typography FundamentalsWeb Typography Fundamentals
Web Typography Fundamentals
Drupalcon Paris
 
How to contribute back to Drupal
How to contribute back to DrupalHow to contribute back to Drupal
How to contribute back to Drupal
Ravindra Singh
 

Viewers also liked (6)

Open source cms-presentation-v1
Open source cms-presentation-v1Open source cms-presentation-v1
Open source cms-presentation-v1
 
Taxonomy Everywhere
Taxonomy EverywhereTaxonomy Everywhere
Taxonomy Everywhere
 
The State Of Rdf In Drupal 7
The State Of Rdf In Drupal 7The State Of Rdf In Drupal 7
The State Of Rdf In Drupal 7
 
State Of Drupal September 2009
State Of Drupal September 2009State Of Drupal September 2009
State Of Drupal September 2009
 
Web Typography Fundamentals
Web Typography FundamentalsWeb Typography Fundamentals
Web Typography Fundamentals
 
How to contribute back to Drupal
How to contribute back to DrupalHow to contribute back to Drupal
How to contribute back to Drupal
 

Similar to How To Contribute To Drupal Drupal - DrupalCon Paris

Why Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPressWhy Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPress
Jen Lampton
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
Ryan Price
 
The State of Drupal 8
The State of Drupal 8The State of Drupal 8
The State of Drupal 8
nyccamp
 
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010
Ted Husted
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys Admins
Puppet
 
DrupalCon Paris Muiltilingual Panel
DrupalCon Paris Muiltilingual PanelDrupalCon Paris Muiltilingual Panel
DrupalCon Paris Muiltilingual Panel
Doug Green
 
Drupal Front End PHP
Drupal Front End PHPDrupal Front End PHP
Drupal Front End PHP
Emma Jane Hogbin Westby
 
Drupalcamp Simpletest
Drupalcamp SimpletestDrupalcamp Simpletest
Drupalcamp Simpletest
lyricnz
 
Testing In Drupal
Testing In DrupalTesting In Drupal
Testing In Drupal
Ryan Cross
 
Drupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - YogyakartaDrupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - Yogyakarta
Roy Gunawan
 
Contributing to drupal
Contributing to drupalContributing to drupal
Contributing to drupal
marcingy
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Acquia
 
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
singingfish
 
Drupal 8: A story of growing up and getting off the island
Drupal 8: A story of growing up and getting off the islandDrupal 8: A story of growing up and getting off the island
Drupal 8: A story of growing up and getting off the island
Angela Byron
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Emma Jane Hogbin Westby
 
Learning PHP for Drupal Theming, DC Chicago 2009
Learning PHP for Drupal Theming, DC Chicago 2009Learning PHP for Drupal Theming, DC Chicago 2009
Learning PHP for Drupal Theming, DC Chicago 2009
Emma Jane Hogbin Westby
 
Turbogears Presentation
Turbogears PresentationTurbogears Presentation
Turbogears Presentation
didip
 
Functional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal ThemingFunctional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal Theming
Emma Jane Hogbin Westby
 
DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress
Rob Bertholf
 
Drupal Theming For Beginners – Danté SELF 2010
Drupal Theming For Beginners – Danté SELF 2010Drupal Theming For Beginners – Danté SELF 2010
Drupal Theming For Beginners – Danté SELF 2010
Mediacurrent
 

Similar to How To Contribute To Drupal Drupal - DrupalCon Paris (20)

Why Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPressWhy Drupal Should Be More Like WordPress
Why Drupal Should Be More Like WordPress
 
Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011Drupal Theme Development - DrupalCon Chicago 2011
Drupal Theme Development - DrupalCon Chicago 2011
 
The State of Drupal 8
The State of Drupal 8The State of Drupal 8
The State of Drupal 8
 
Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010Open source secret_sauce_apache_con_2010
Open source secret_sauce_apache_con_2010
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys Admins
 
DrupalCon Paris Muiltilingual Panel
DrupalCon Paris Muiltilingual PanelDrupalCon Paris Muiltilingual Panel
DrupalCon Paris Muiltilingual Panel
 
Drupal Front End PHP
Drupal Front End PHPDrupal Front End PHP
Drupal Front End PHP
 
Drupalcamp Simpletest
Drupalcamp SimpletestDrupalcamp Simpletest
Drupalcamp Simpletest
 
Testing In Drupal
Testing In DrupalTesting In Drupal
Testing In Drupal
 
Drupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - YogyakartaDrupal 7 Release Party - Yogyakarta
Drupal 7 Release Party - Yogyakarta
 
Contributing to drupal
Contributing to drupalContributing to drupal
Contributing to drupal
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
 
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
Don't RTFM, WTFM - Open Source Documentation - German Perl Workshop 2010
 
Drupal 8: A story of growing up and getting off the island
Drupal 8: A story of growing up and getting off the islandDrupal 8: A story of growing up and getting off the island
Drupal 8: A story of growing up and getting off the island
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010
 
Learning PHP for Drupal Theming, DC Chicago 2009
Learning PHP for Drupal Theming, DC Chicago 2009Learning PHP for Drupal Theming, DC Chicago 2009
Learning PHP for Drupal Theming, DC Chicago 2009
 
Turbogears Presentation
Turbogears PresentationTurbogears Presentation
Turbogears Presentation
 
Functional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal ThemingFunctional FIPS: Learning PHP for Drupal Theming
Functional FIPS: Learning PHP for Drupal Theming
 
DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress DrupalCampHI - Drupal vs WordPress
DrupalCampHI - Drupal vs WordPress
 
Drupal Theming For Beginners – Danté SELF 2010
Drupal Theming For Beginners – Danté SELF 2010Drupal Theming For Beginners – Danté SELF 2010
Drupal Theming For Beginners – Danté SELF 2010
 

More from Drupalcon Paris

Sketching
SketchingSketching
Sketching
Drupalcon Paris
 
Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3
Drupalcon Paris
 
Rd Fa In Drupal
Rd Fa In DrupalRd Fa In Drupal
Rd Fa In Drupal
Drupalcon Paris
 
Localize Drupal Org
Localize Drupal OrgLocalize Drupal Org
Localize Drupal Org
Drupalcon Paris
 
Presentation Edipresse Experience Drupalcon
Presentation Edipresse Experience DrupalconPresentation Edipresse Experience Drupalcon
Presentation Edipresse Experience Drupalcon
Drupalcon Paris
 
Praes
PraesPraes
20minutes Quart
20minutes Quart20minutes Quart
20minutes Quart
Drupalcon Paris
 
Enterprise Sitemanagement 2
Enterprise Sitemanagement 2Enterprise Sitemanagement 2
Enterprise Sitemanagement 2Drupalcon Paris
 
Field Api Drupalcon Paris
Field Api Drupalcon ParisField Api Drupalcon Paris
Field Api Drupalcon Paris
Drupalcon Paris
 
Drupalcon2009 Heuer3
Drupalcon2009 Heuer3Drupalcon2009 Heuer3
Drupalcon2009 Heuer3
Drupalcon Paris
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
Drupalcon Paris
 
Building Community
Building CommunityBuilding Community
Building Community
Drupalcon Paris
 

More from Drupalcon Paris (12)

Sketching
SketchingSketching
Sketching
 
Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3Staging Drupal 8 31 09 1 3
Staging Drupal 8 31 09 1 3
 
Rd Fa In Drupal
Rd Fa In DrupalRd Fa In Drupal
Rd Fa In Drupal
 
Localize Drupal Org
Localize Drupal OrgLocalize Drupal Org
Localize Drupal Org
 
Presentation Edipresse Experience Drupalcon
Presentation Edipresse Experience DrupalconPresentation Edipresse Experience Drupalcon
Presentation Edipresse Experience Drupalcon
 
Praes
PraesPraes
Praes
 
20minutes Quart
20minutes Quart20minutes Quart
20minutes Quart
 
Enterprise Sitemanagement 2
Enterprise Sitemanagement 2Enterprise Sitemanagement 2
Enterprise Sitemanagement 2
 
Field Api Drupalcon Paris
Field Api Drupalcon ParisField Api Drupalcon Paris
Field Api Drupalcon Paris
 
Drupalcon2009 Heuer3
Drupalcon2009 Heuer3Drupalcon2009 Heuer3
Drupalcon2009 Heuer3
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
 
Building Community
Building CommunityBuilding Community
Building Community
 

Recently uploaded

一比一原版(毕业证书)马来西亚双威大学毕业证如何办理
一比一原版(毕业证书)马来西亚双威大学毕业证如何办理一比一原版(毕业证书)马来西亚双威大学毕业证如何办理
一比一原版(毕业证书)马来西亚双威大学毕业证如何办理
ucowe
 
How Safe Is Manta Ray Night Snorkeling In Kona
How Safe Is Manta Ray Night Snorkeling In KonaHow Safe Is Manta Ray Night Snorkeling In Kona
How Safe Is Manta Ray Night Snorkeling In Kona
Kona Ocean Adventures
 
Inca Trail to Machu Picchu An Unforgettable Adventure
Inca Trail to Machu Picchu An Unforgettable AdventureInca Trail to Machu Picchu An Unforgettable Adventure
Inca Trail to Machu Picchu An Unforgettable Adventure
Xtreme Tourbulencia
 
ghmc zones and circle and why they are needed
ghmc zones and circle and why they are neededghmc zones and circle and why they are needed
ghmc zones and circle and why they are needed
narinav14
 
What Is The United Airlines Change Name Policy?
What Is The United Airlines Change Name Policy?What Is The United Airlines Change Name Policy?
What Is The United Airlines Change Name Policy?
flyingrules001namech
 
Bahrain Visa For Indians, Complete Process
Bahrain Visa For Indians, Complete ProcessBahrain Visa For Indians, Complete Process
Bahrain Visa For Indians, Complete Process
toolzbuycomaccess
 
Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...
Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...
Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...
AirportCityTerminals Terminals
 
Colombia Historical Tour - savvytravelers
Colombia Historical Tour - savvytravelersColombia Historical Tour - savvytravelers
Colombia Historical Tour - savvytravelers
Savvy Travelers
 
Southwest Airlines Low Fare Calendar: The Ultimate Guide
Southwest Airlines Low Fare Calendar: The Ultimate GuideSouthwest Airlines Low Fare Calendar: The Ultimate Guide
Southwest Airlines Low Fare Calendar: The Ultimate Guide
i2aanshul
 
Slovenia Visa for Indians | How to apply
Slovenia Visa for Indians | How to applySlovenia Visa for Indians | How to apply
Slovenia Visa for Indians | How to apply
Triple I Business
 
What Budget-Friendly Attractions Does San Antonio Offer For Families
What Budget-Friendly Attractions Does San Antonio Offer For FamiliesWhat Budget-Friendly Attractions Does San Antonio Offer For Families
What Budget-Friendly Attractions Does San Antonio Offer For Families
Walking Tours of San Antonio
 
What Should You Expect On Austin's History Tour
What Should You Expect On Austin's History TourWhat Should You Expect On Austin's History Tour
What Should You Expect On Austin's History Tour
Walking Tours of Austin
 
Best leisure recommended travel tips of 2024
Best leisure recommended travel tips of 2024Best leisure recommended travel tips of 2024
Best leisure recommended travel tips of 2024
kdadfarin363
 
09 Days Tour To Skardu(By Road): Skardu Ambassador Tours
09 Days Tour To Skardu(By Road): Skardu Ambassador Tours09 Days Tour To Skardu(By Road): Skardu Ambassador Tours
09 Days Tour To Skardu(By Road): Skardu Ambassador Tours
Skardu Ambassador Tours
 
American Airlines Name Change Policy Highlights.pptx
American Airlines Name Change Policy Highlights.pptxAmerican Airlines Name Change Policy Highlights.pptx
American Airlines Name Change Policy Highlights.pptx
edqour001namechange
 
定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样
定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样
定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样
eovoam
 
一比一原版(UST毕业证)圣托马斯大学毕业证如何办理
一比一原版(UST毕业证)圣托马斯大学毕业证如何办理一比一原版(UST毕业证)圣托马斯大学毕业证如何办理
一比一原版(UST毕业证)圣托马斯大学毕业证如何办理
yfuwd
 

Recently uploaded (17)

一比一原版(毕业证书)马来西亚双威大学毕业证如何办理
一比一原版(毕业证书)马来西亚双威大学毕业证如何办理一比一原版(毕业证书)马来西亚双威大学毕业证如何办理
一比一原版(毕业证书)马来西亚双威大学毕业证如何办理
 
How Safe Is Manta Ray Night Snorkeling In Kona
How Safe Is Manta Ray Night Snorkeling In KonaHow Safe Is Manta Ray Night Snorkeling In Kona
How Safe Is Manta Ray Night Snorkeling In Kona
 
Inca Trail to Machu Picchu An Unforgettable Adventure
Inca Trail to Machu Picchu An Unforgettable AdventureInca Trail to Machu Picchu An Unforgettable Adventure
Inca Trail to Machu Picchu An Unforgettable Adventure
 
ghmc zones and circle and why they are needed
ghmc zones and circle and why they are neededghmc zones and circle and why they are needed
ghmc zones and circle and why they are needed
 
What Is The United Airlines Change Name Policy?
What Is The United Airlines Change Name Policy?What Is The United Airlines Change Name Policy?
What Is The United Airlines Change Name Policy?
 
Bahrain Visa For Indians, Complete Process
Bahrain Visa For Indians, Complete ProcessBahrain Visa For Indians, Complete Process
Bahrain Visa For Indians, Complete Process
 
Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...
Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...
Frontier Airlines at Boston Logan International Airport (BOS) Comprehensive G...
 
Colombia Historical Tour - savvytravelers
Colombia Historical Tour - savvytravelersColombia Historical Tour - savvytravelers
Colombia Historical Tour - savvytravelers
 
Southwest Airlines Low Fare Calendar: The Ultimate Guide
Southwest Airlines Low Fare Calendar: The Ultimate GuideSouthwest Airlines Low Fare Calendar: The Ultimate Guide
Southwest Airlines Low Fare Calendar: The Ultimate Guide
 
Slovenia Visa for Indians | How to apply
Slovenia Visa for Indians | How to applySlovenia Visa for Indians | How to apply
Slovenia Visa for Indians | How to apply
 
What Budget-Friendly Attractions Does San Antonio Offer For Families
What Budget-Friendly Attractions Does San Antonio Offer For FamiliesWhat Budget-Friendly Attractions Does San Antonio Offer For Families
What Budget-Friendly Attractions Does San Antonio Offer For Families
 
What Should You Expect On Austin's History Tour
What Should You Expect On Austin's History TourWhat Should You Expect On Austin's History Tour
What Should You Expect On Austin's History Tour
 
Best leisure recommended travel tips of 2024
Best leisure recommended travel tips of 2024Best leisure recommended travel tips of 2024
Best leisure recommended travel tips of 2024
 
09 Days Tour To Skardu(By Road): Skardu Ambassador Tours
09 Days Tour To Skardu(By Road): Skardu Ambassador Tours09 Days Tour To Skardu(By Road): Skardu Ambassador Tours
09 Days Tour To Skardu(By Road): Skardu Ambassador Tours
 
American Airlines Name Change Policy Highlights.pptx
American Airlines Name Change Policy Highlights.pptxAmerican Airlines Name Change Policy Highlights.pptx
American Airlines Name Change Policy Highlights.pptx
 
定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样
定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样
定制(cardiff学位证书)英国卡迪夫大学毕业证本科学历原版一模一样
 
一比一原版(UST毕业证)圣托马斯大学毕业证如何办理
一比一原版(UST毕业证)圣托马斯大学毕业证如何办理一比一原版(UST毕业证)圣托马斯大学毕业证如何办理
一比一原版(UST毕业证)圣托马斯大学毕业证如何办理
 

How To Contribute To Drupal Drupal - DrupalCon Paris