LibreOffice çeşitli özelliklere sahip bir ofis yazılımıdır ancak ek özelliklere ihtiyacınız olabilir. Bunun için eklentileri kullanabilirsiniz.
Eklentiler, eklenebilen/kaldırılabilen ana programdan bağımsız araçlardır. Standart LibreOffice bileşenlerine yeni işlevler ekleyebilir ya da mevcut işlevselliği kolaylaştırabilir.
build -> Eklentide bir değişiklik yaptığınızda bu betiği çalıştırarak yeni bir “eklentiadi.oxt” dosyası oluşturabilirsiniz.
description.xml -> Eklenti yöneticide görüntülenen eklentinin simgesi,adı, açıklaması gibi özelliklerinin (description dizini içerisinde bulunan dosyaların) dosya yolları bulunur.
extensionname.txt -> İçerisinde eklenti adı bulunur “eklentiadi.oxt” şeklinde.
Hello.py -> Eklentinin yapacağı iş bu dosyada tanımlanır.
Dizinler:
description -> İçerisindeki license.txt dosyası lisans metnini oluşturur, description.txt dosyasının içeriği ise eklenti yöneticiye uzantıyı ekledikten sonra eklentinin açıklaması olarak görünmektedir.
images -> Eklentinin simgesi bu dosya içerisinde bulunur.
META-INF -> manifest.xml dosyası bulundurur bu dosya içinde paketin içindeki tüm dosyaların bir listesi, paketteki her dosyanın media tipi bilgileri bulunur.
Eklenti yöneticiden eklentiyi kurmak için;
- Add
- .oxt uzantılı dosyayı seç
- Lisans sözleşmesini kabul et
- LibreOffice'i yeniden başlat.
Bu eklenti araç çubuğuna bir buton ekliyor ve butona tıkladığınız “Hello World!” çıktısı veriyor.
Eklentiyi github’a koydum. Eklentinin nasıl yazıldığını anlamak için temel bir örnek.
Not: Bozuk bir eklentiyi çalıştırınca, kaldırmak istediğimizde sorunla karşılaşıyoruz.
Bu bozuk eklentileri eklenti yöneticiden kaldırmak için:
/home/user/.config/libreoffice/4/user/uno_packages/cache/uno_packages/ içerisinde hangi eklentiyi kaldırmak istiyorsak onun .tmp_ uzantılı dizinini siliyoruz.
Geliştirici sürümünde aynı sorunla karşılaştığınızda ise:
libreoffice/instdir/user/uno_packages/cache/uno_packages/ içinde bulunan ilgili .tmp_ uzantılı dizini siliyoruz.
Eylülden bu yana bir grup arkadaşımla birlikte Libreoffice üzerine çalışmalar yapıyoruz. Ben şu ana kadar, farkettiğim hataları raporladım ve raporlanmış hata kayıtlarında belirtildiği gibi bir takım sorunları düzeltmeye çalıştım. Hala çalışıyorum. Genel olarak arayüz ağırlıklı işler yaptım. Kısaca bahsedecek olursam;
Libreoffice’te eklenti yöneticisi için herhangi bir buton ya da kısayol bulunmamaktaydı. Bununla ilgili açılan hata-kaydı ikisinden birini eklemeyi öneriyordu. Toolbar yeterince kalabalık olduğundan ben kısayol eklemeyi tercih ettim.
Tools > Extension Manager menüsü için ‘Ctrl + Alt + E’ kısayolunu ekledim.
Bunun dışında core’da uğraştığım ve bahsetmek istediğim bir diğer hata-kaydı
ise; Grafik oluşturulduğunda isteğe göre eklenen başlık bilgisinin gizlenebilmesini istiyorlardı. Bununla ilgili Ankara HackFest’te gönderdiğim 2 yama kabul edildi.
Son olarak, kısa bir süredir Libreoffice/online projesine bakıyorum. Arayüze Libreoffice’te de bulunan ‘Comment’ butonunun eklenmesini istiyorlardı. Butonu ekledim, görsel;
LibreOffice,pek çok platformda çalışan ve diğer ofis programlarıyla uyumlu, özgür ve ücretsiz bir ofis yazılımıdır.
LibreOffice’e katkı vermeyi düşünüyorsanız, katkı vermeden önce gerçekleştirilmesi gereken aşamaları ve yama göndermek için gerekli adımları anlatacağım.
Libreoffice hata takip sistemi olarak bugzilla kullanılmaktadır. Bugzilla, libreoffice kullanımı sırasında ortaya çıkan hataların kullanıcılar tarafından geliştiricilere bildirilmesini sağlayan web tabanlı bir arayüzdür.
”
All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license.
“
6. adım: Yama gönderilmesi
Yamaları gerrit üzerinden yolluyoruz. Gerrit özgür web tabanlı kod gözden geçirme aracıdır. Gerrit’e yama göndermek için gerekli adımlar burada anlatılmış.
Adımlar:
komutunu çalıştırıyoruz. Daha sonra /home/[username]/.ssh/id_rsa.pub içeriğini ayarlar kısmındaki SSH Public Keys kısmına ekliyoruz.
[Daha önce oluşturulmamış ise; “$ ssh-keygen “ komutuyla anahtarımızı oluşturuyoruz.]
Notlar:(Değişiklik yaptığınız dizinin bir üst dizinindeyken “ $ git add . “ komutunu kullabilirsiniz.)$ git commit dediğimizde,commit mesajının başına tdf# diyerek bug numarası ile ilişkilendirmelisiniz. Tam yapı:
tdf#<bug_id> <commit_mesaji>
şeklinde olmalıdır.
Yeni versiyon commit göndermek için gerekli adımlar da burada anlatılmış. Kısaca:
7. adım: Katkıcı listesine isim ekleme
İlk yamanız kabul edildikten sonra listeye isminizi eklemelisiniz.
[Not: Edit diyerek kendinizi ekleyebilirsiniz. Alfabetik sıraya dikkat ediniz.]