SlideShare a Scribd company logo
LibreOffice'e Katkı Süreci ve
Deneyimlerimiz
Yeliz Taneroğlu
twitter.com/yeliztaneroglu
Kader Tarlan
twitter.com/kdrtrln
Aybüke Özdemir
twitter.com/aybuke_ozdemir
Gülşah Köse
twitter.com/gulsahkse
LibreOffice
Staroffice - Openoffice - LibreOffice
The Document Foundation
Linux, MacOS, Windows platformlarına uyumlu
Özgür yazılım
Katkı Vermeden Önce Yapılması
Gerekenler
Sürüm takip sistemi
Hata takip sistemi
Kod gözden geçirme sistemi
Kaynak Kodun Derlenmesi
$ sudo apt-get build-dep libreoffice
$ git clone git://anongit.freedesktop.org/libreoffice/core
$ ./autogen.sh
$ make
$ instdir/program/soffice
(ide ile çalışmak isteyenler için)
$ make kdevelop-ide-integration
İlk Yamayı Yolarken
$ git checkout -b <yeni dal adı>
$ git add dosya
$ git commit -m “tdf#bug-id açıklama”
$ ./logerrit submit master
Feragatname
Uno Slots
UNO Nedir?
Universal Network Objects
Farklı programlama dilleri, nesne modelleri, makine mimarileri
arasında birlikte çalışılabilirliği sağlayan bileşen modelidir.
Slot Nedir?
Kullanıcı arayüzü bileşenleri ile bu bileşenlerin
gerçekleştirimi arasındaki bağlatıyı kuran
kısımdır.
Slot
UNO Komutu Tanımlama
officecfg/
├── GenericCommands.xcu
├── WriterCommands.xcu
├── CalcCommands.xcu
Araç Çubuğuna Eklenmesi
İlgili XML dosyası bulunur ve istenilen pozisyona
eklenir
Simge Ekleme
Eklenilecek simge komutun ismiyle aynı olmalı
Icon-themes dizini içindeki galaxy dizinine
mutlaka eklenmeli. Diğer temalar seçimseldir.
Küçük simge
Büyük simge
Slot Oluşturma
Metod Slotları
Pencere açma, bir alanın değerini
değiştirme, ...
Durum Slotları
Bir alanın değerini çağırma, bir
bileşenin rengini öğrenme, …
Her modülün içinde bulunan sdi dizini altında
tanımlanırlar.
Slot ID Tanımlaması
Kullanıcı Arayüzü Bileşenini
Kaydetme
Oluşturduğumuz Slotu kullanıcı arayüzündeki
bileşenle ilişkilendireceğiz
Daha önce yazılmış kontrolcü sınıflarından daha
farklı bir iş yapmasını bekliyorsak yeni bir
kontrolcü tanımlamalıyız
LibreOffice için Test Yazmak
Test nedir?
Yazılım Yaşam Döngüsünde Testin Önemi
Manuel Test
Kullanıcı Arayüzü (UI) Testi oluşturmak
Manuel Test için kullanılacak araç “Moztrap”
LibreOffice için manuel testlerin yazılması
Test Durum belgesi oluşturmak
Automated UI Test
Automated UI testleri oluşturmak
LibreOffice için Otomasyon testlerinin
önemi
Unit Test
Unit testleri oluşturmak
LibreOffice için Unit testlerinin önemi
fdo39694.ott
Bugüne Kadar Neler Yaptık?
Teşekkürler

More Related Content

Similar to Devfest Istanbul 2015 Sunumu

LibreOffice Geliştirmeye Hızlı Başlangıç
LibreOffice Geliştirmeye Hızlı BaşlangıçLibreOffice Geliştirmeye Hızlı Başlangıç
LibreOffice Geliştirmeye Hızlı Başlangıç
Muhammet Kara
 
Python programlama
Python programlamaPython programlama
Python programlama
Murat KARA
 
Açık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım GeliştirmeAçık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım Geliştirme
Serkan Kaba
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme Teknolojileri
Yusuf AYTİN
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - Seminer
Cihan Özhan
 
INFTEC-2024 Python Programlama Giriş Kursu
INFTEC-2024 Python Programlama Giriş KursuINFTEC-2024 Python Programlama Giriş Kursu
INFTEC-2024 Python Programlama Giriş Kursu
Murat KARA
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Bilgi Güvenliği ve BT Yönetişim Hizmetleri
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Mehmet Ince
 
Temel linux
Temel linuxTemel linux
Temel linux
emreberber07
 
Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018
Murat KARA
 
Developer Tools
Developer ToolsDeveloper Tools
Developer Tools
Burak Erol
 
Bilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği MetasploitBilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği Metasploit
msoner
 
Eclipse
EclipseEclipse
Eclipse
Muharrem Tac
 
Dojotoolkit Nedir?
Dojotoolkit Nedir?Dojotoolkit Nedir?
Dojotoolkit Nedir?
zehra doruk
 
Git Sunumu
Git SunumuGit Sunumu
Git Sunumu
Zafer Gürel
 
Tersine Mühendislik 101
Tersine Mühendislik 101Tersine Mühendislik 101
Tersine Mühendislik 101
Fatih Erdoğan
 
Metasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik DenetimiMetasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik DenetimiFatih Ozavci
 
.Net Core sunum
.Net Core sunum.Net Core sunum
.Net Core sunum
Şerif Aydın
 
Programlama Dilleri Tanıtım
Programlama Dilleri TanıtımProgramlama Dilleri Tanıtım
Programlama Dilleri Tanıtım
Atilla Özgür
 
Git, Github, Versiyon Kontrolü 101
Git, Github, Versiyon Kontrolü 101Git, Github, Versiyon Kontrolü 101
Git, Github, Versiyon Kontrolü 101
OnurSercanYlmaz
 

Similar to Devfest Istanbul 2015 Sunumu (20)

LibreOffice Geliştirmeye Hızlı Başlangıç
LibreOffice Geliştirmeye Hızlı BaşlangıçLibreOffice Geliştirmeye Hızlı Başlangıç
LibreOffice Geliştirmeye Hızlı Başlangıç
 
Python programlama
Python programlamaPython programlama
Python programlama
 
Açık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım GeliştirmeAçık Kaynak Kodlu Yazılım Geliştirme
Açık Kaynak Kodlu Yazılım Geliştirme
 
Yazılım Geliştirme Teknolojileri
Yazılım Geliştirme TeknolojileriYazılım Geliştirme Teknolojileri
Yazılım Geliştirme Teknolojileri
 
Go Programlama Dili - Seminer
Go Programlama Dili - SeminerGo Programlama Dili - Seminer
Go Programlama Dili - Seminer
 
INFTEC-2024 Python Programlama Giriş Kursu
INFTEC-2024 Python Programlama Giriş KursuINFTEC-2024 Python Programlama Giriş Kursu
INFTEC-2024 Python Programlama Giriş Kursu
 
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
BTRisk Zararlı Yazılım Analizi Eğitimi Sunumu - Bölüm 2
 
Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1Web Uygulamalarında Kaynak Kod Analizi - 1
Web Uygulamalarında Kaynak Kod Analizi - 1
 
Temel linux
Temel linuxTemel linux
Temel linux
 
Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018Python Programlama Diline Giriş - Güncelleme 2018
Python Programlama Diline Giriş - Güncelleme 2018
 
Developer Tools
Developer ToolsDeveloper Tools
Developer Tools
 
Bilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği MetasploitBilgi Sistemleri Güvenliği Metasploit
Bilgi Sistemleri Güvenliği Metasploit
 
Eclipse
EclipseEclipse
Eclipse
 
Dojotoolkit Nedir?
Dojotoolkit Nedir?Dojotoolkit Nedir?
Dojotoolkit Nedir?
 
Git Sunumu
Git SunumuGit Sunumu
Git Sunumu
 
Tersine Mühendislik 101
Tersine Mühendislik 101Tersine Mühendislik 101
Tersine Mühendislik 101
 
Metasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik DenetimiMetasploit Framework ile Güvenlik Denetimi
Metasploit Framework ile Güvenlik Denetimi
 
.Net Core sunum
.Net Core sunum.Net Core sunum
.Net Core sunum
 
Programlama Dilleri Tanıtım
Programlama Dilleri TanıtımProgramlama Dilleri Tanıtım
Programlama Dilleri Tanıtım
 
Git, Github, Versiyon Kontrolü 101
Git, Github, Versiyon Kontrolü 101Git, Github, Versiyon Kontrolü 101
Git, Github, Versiyon Kontrolü 101
 

Devfest Istanbul 2015 Sunumu