Fetures tam olarak ne yapar ?

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
karaca's picture

Premium bir tema ile siteyi bitirdim. buna rağmen anlamadığım şey fetures ne işe yarıyor ? features ile oluşturulmuş ve export edilmiş bir dosyayı import ettim ama ne işe yaradığını anlamadım. biri özetleyebilirmi ? Fetures modülü ne işe yarıyor..

Comments

kısaca views gibi bir modül

vsc's picture

drupal in özelliklerini kullanarak yeni özellikleri olan bir uygulama oluşturabilirsin.
google da "drupal features tutorial" arama yaparsan birçok açıklama ve örnek uygulama bulabilirsin. kolay gelsin

en büyük özelliği ...

SuleymanK's picture

... ayarları (configurations) veri tabanı bazından code bazına geçirmektir. Böylelikle bir işlem geliştirdiğinde ve onu A-Sunucusundan B-Sunucusuna aktarmak istediğnde sadece yapman gereken oluşturmuş olduğun Feature'yı A'dan B'ye kopyalamak ve onu etkin hale getirmek olacaktır.

Böylelikle misal Online olan bir sistemi durdurmaksızın geliştirmiş olduğun işlemi entegre edebilirsin. Features kullanmadan bu okadar kolay olmayabilir çünkü ya Online olan sistemin kendisinde çalışman gerekecek veya veri tabanını local sistemine indirip tekrar yüklemen gerekecek ve buda Online yürüyen bir sistemde duraklamaya yol açacaktır.

Bilmem anlatabildim mi :)

Merhabalar

cssturk's picture

Öncelikle belirteyim Features modulunun kullanim alani oldukca genistir ve basit bir tanim yapmak kolay degildir.

Bu nedenle en cok kullanilan özelligini elimden geldigince anlatayim.

Features en cok proje gelistirme safhasinda kullanilir. Özelligi veritabani uzerinde yapilan islemlerin kod'a cevirmesidir. Böylece hem surum (version) takibi yapilabilir ve hem de es zamanli proje gelistirmek mumkun hale gelir. Örnek vermek gerekirse;

Diyelim ki siz ve ben birlikte bir site yapiyoruz ve iki yeni icerik turune ihtiyacimiz var. Biri "event" olsun ve digeri "urunler". Event turu icerigi siz gelistireceksiniz ve bende urunleri. Event icerisinde baslik, tarih, konum vs gibi alanlar olacak. Urunler icin ise baslik, kategoriler, aciklama vs..

Gelistirme ortamimizin su sekilde oldugunu dusunun. Sizin lokal sunucunuz, yani kendi bilgisayarinizda calisiyorsunuz. Bende ayni sekilde lokalde calisiyorum. Ancak ikimizinde yaptigi calismalar bir test sunucusuna aktariliyor. Bu sunucu internette bir yerde olsun mesela.

Siz event turu icerigi kendi bilgisayarinizda yaptiniz. Bende urunleri ayni sekilde yaptim. Yapilan calismalar tamamen veritabani uzerinde oldugundan ortada bir modul veya dosya, yani bir kod yok.

Features olmasa idi söyle yapacaktik. Siz kendi bilgisayarinizdaki veritabanini internetteki sunucuya aktaricaktiniz. Sizin yaptiginiz event turu icerik aktarilmis olacakti. Ancak bu durumda ben kendi veritabanimi bu sunucuya aktaramam, eger aktarirsam sizin yaptiginiz event turu yok olur ve yerine benim yaptigim urunler turu icerik gelir.

Veya her ikimizde internetteki sunucuya bu icerik turlerini elle girmemiz gerekicekti.

Bu verdigim örnekleri unutun. Bu sekilde proje gelistirilmez, yapilmaz.

Features bu örnekte su ise yariyor. Her ikimizde olusturmus oldugumuz icerik turlerini features sayesinde birer modul haline getiriyoruz. Böylece internetteki sunucuya bir sekilde baglanip, mesela FTP ile bu modulleri aktariyoruz. Bu modulleri etkinlestirdigimiz zaman bu yeni icerik turleri features tarafindan otomatik olarak olusturuluyor.

Kabaca bu sekilde.

kolay gelsin
Cenk

not: yazi biraz uzun oldu mazur görun.

Mükemmel anlatım

iwd35's picture

Hocam sağolun çok güzel anlatmışsınız. Şimdi benim aklımda şöyle bir soru oluşuyor ya da genel bir sıkıntımdan bahsedeyim:
Yeni bir site yapmaya karar verdik ve işe koyulduk. Drupal 7 kullanacağız. Ancak her seferinde modülleri tekrar tekrar indir, kur ayarla... Bunlar nereden baksanız 1,2 günü alıyor. Yani bu temel modüllerin yüklediği ve ayarlarının yapıldığı sistemi Features modülü ile komple yedekleyip, ileride kullanmak için saklayabilir miyiz? Sanki böyle bir şey mümkün gibi geldi bana anlattıklarınızdan yola çıkarak?
Yeni bir site için default kurulumdan sonra Features ile hızlıca tüm ayarlarımızı aktarabilir miyiz, buna imkan var mıdır?

Syg.
Barış

Aynen öyle ...

SuleymanK's picture

... Feature'ları genel tutarsanız hiç bir sıkıntı olmaz. Ancak modülleri kendiniz indirmeniz gerekiyor. Birde Make-file olayına bir göz atmanı tavsiye ederim. Senin arzu ettiğin işlem bu iki sisteme bakıyor, yani Make-File + Features. Tabiki bununla beraber birtakım başka şeyleride biraz bilmen gerekiyor mesela Drush gibi.

Drush Make:
https://www.drupal.org/project/drush_make

Make-File hakkında kısa bir tutorial mahiyetinde burda bilgi var (ingilizce):
http://www.webomelette.com/how-use-drush-make-your-daily-routine

Drush:
https://www.drupal.org/project/drush

Tekrar merhaba

cssturk's picture

Features ile dedigim gibi bircok sey yapilabilir ancak anlattiginiz olayda Drush ve DrushMake kullanmak en dogrusudur.

Yine bir örnek ile anlatayim. Bir Drupal kurulumunda temel adimlar nelerdir. Drupali indir, bir klasöre koy, veritabani olustur, Drupali kur, modulleri indir, aktif hale getir vs. vs. liste uzar gider.

Drush ile tum bu islemleri terminal uzerinden komut ile halledebilirsin. Mesela Views modulune ihtiyacin var diyelim. Drush ile terminalden komut vererek su sekilde yapabilirsin;

Views modulunu indirmek icin "drush dl views"
ve Views modulunu aktif etmek icin "drush en views"

Drush Make ise tam senin ihtiyacin olan sey. Drush Make olayi bir adim ileri göturuyor. Kabaca yaptigi sey su;

bir make dosyasi icine Drush'in neler yapmasi gerektigini listeliyorsun. Diyorsun ki mesela git Drupal'i indir, suraya koy, veritabani yarat, sirfersi su olsun, Drupal'i kur, kullanici adi bu ve sifresi su olsun, su su su modulleri indir, su su su modulleri aktif hale getir, vs. vs.

yani kucuk bir make dosyasi ile koca bir kurulum paketi olusturmus ve sistemi kurmus oluyorsun. Hemde en guncel surumleri ile. Ayni make dosyasini daha sonra baska bir projede de kullanabilirsin. Harika!!!

Windows yok iken DOS kullanilirdi. Hersey komut yazilarak yapilirdi. Yani Drush gibi.

DOS kullananlar hatirlar, ".bat" uzantili dosyalara komutlar liste halinde yazilirdi ve daha sonra bu dosya calistirildiginda listelenen tum komutlar sirasi ile calistirilmis olurnurdu. Yani Drush Make gibi.

SuleymanK arkadasim birkac link eklemis, bir gözat derim.

kolay gelsin
Cenk