İÇERİK YÖNETİM SİSTEMLERİ - Ünite 6: CraftCMS Özeti :

PAYLAŞ:

Ünite 6: CraftCMS

Ünite 6: CraftCMS

Giriş

Web 2.0, günümüzde oldukça yaygın bir şekilde kullanılan blog, forum, wiki ansiklopedisi ve sosyal ağ siteleri gibi birçok platformun yanı sıra web İçeriği sunma ve düzenlemenin kolay bir yolunu sunan İçerik yönetim sistemlerinin (İYS) ortaya çıkmasına aracılık etmiştir. Günümüzde, farklı amaçlara yönelik yüzlerce İYS’nin geliştirilmiş olduğu söylenebilir. Bu İYS’lerden biri olan CraftCMS ise oldukça güncel Web teknolojilerini kullanan ve bireysel kullanım için tamamen ücretsiz olan güçlü bir İYS olarak öne çıkmaktadır.

CraftCMS’nin Özellikleri ve Klasör Yapısı

HTML, CSS ve JavaScript gibi web teknolojilerini oldukça güncel bir şekilde kullanan CraftCMS, PHP ve MySQL tabanlıdır. CraftCMS’in asağıda verilen özellikleri taşıdığı söylenebilir:

  • Madde Matrix Yapısı: İçeriğin oldukça esnek ve dinamik bir şekilde sunulmasını sağlar.

  • Canlı Önizleme: Formlar aracılığı ile gerçekleştirilen değişikliklerin site arayüzüne nasıl yansıyacağını gerçek zamanlı olarak görüntüler.

  • Yerelleştirme: İçeriğin, konum ve dil bağlamında özelleştirilebilmesini sağlar.

  • Tek Tıklamayla Güncelleme: İçerik yönetim sistemine ilişkin yazılım güncellemelerinin, oldukça kolay bir şekilde gerçekleştirilmesini sağlar.

  • Özelleştirilebilir Alanlar: İçeriğin sunulacağı alanların yapısının, esnek bir şekilde özelleştirilebilmesini sağlar.

  • Kısım Hiyerarşisi: İçeriğin hiyerarşik bir yapı içinde sunulabilmesini sağlar.

  • Medya yönetimi: Web içeriğinde kullanılacak medyaların kolay bir şekilde yönetilebilmesini sağlar.

  • Kullanıcı Sistemi: Kullanıcı kaydının alınmasını, kullanıcı yönetimini ve kullanıcı yetkilendirmelerini içeren bir kontrol sağlar.

  • Kategori ve Etiket Sistemi: İçeriğin sınıflandırılabilmesini ve etiketlenebilmesini sağlayarak sistematik bir yapı oluşturur.

  • Üye Listesi: Site üyelerinin görüntülenmesini ve yönetilmesini sağlar.

  • Tema Yapısı: Site görünümünün kolayca özelleştirilebilmesini sağlar.

  • Eklenti Destegi: İYS’ye yeni işlevler kazandırılabilmesini sağlar.

  • Tepkisel Arayüz Destegi: Web içeriğinin, mobil cihazlar da dâhil olmak üzere her platforma uyumlu bir şekilde görüntülenebilmesini sağlar.

CraftCMS’nin sunumu www.craftcms.com adresli web sitesi üzerinden yapılmaktadır. Bu adres, CraftCMS’yi sunmanın yanı sıra CraftCMS hakkında bilgilendirici dokümanlar ve bir forum barındırmaktadır. İndirilen CraftCMS’nin içeriğinde iki klasör ve “readme” isimli metin dosyası vardır. “readme” isimli dosya, CraftCMS’nin kurulumuna ilişkin bilgi sağlayan web adreslerini barındırır. CraftCMS’nin işletim dosyalarının tamamı, “craft” isimli klasörde bulunur. “craft” klasörünün içerik ve işlevleri asağıdaki gibi sıralanabilir:

  • app: CraftCMS’yi oluşturan yazılım dosyalarını barındırır.

  • config: CraftCMS’nin yapılandırma (konfigürasyon) dosyalarını barındırır.

  • plugins: CraftCMS’nin istenilen yönde işlevler kazanmasını sağlayacak eklentilerin dosyalarını barındırır.

  • storage: CraftCMS’nin kullanımı sırasında oluşan dosyaların dinamik olarak kaydedilip silindiği klasördür.

  • backups: El ile veya otomatik olarak alınan veritabanı yedekleme dosyalarını tutar.

  • rebrand: Giriş sayfası logosu ve site ikonu gibi dosyaları tutar.

  • runtime: CraftCMS’nin çalışması sırasında oluşturduğu sistem günlüklerini, oturum bilgilerini ve önbellek dosyalarını tutar.

  • userphotos: Kullanıcılara ait profil fotograflarını tutar.

  • templates: Tasarım şablonlarını içeren klasörleri tutar. Bu şablonlar sayesinde CraftCMS’nin görünümü özelleştirilebilir.

“public” isimli klasör ise dört adet dosya içerir. Bunların en önemlisi “index” isimli PHP dosyasıdır. Bu dosya, web ziyaretçilerini karşılamakla yükümlüdür. Dolayısıyla “index.php” dosyası, CraftCMS ile yayın yapılacak Web sunucusunun Web klasörüne yerleştirilmelidir. Özel durumlarda bu dosyanın içeriğinde küçük bir düzenleme yapmak gerekebilir. Bu klasördeki diğer üç dosya ise htaccess, web.config, robots.txtdir.

CraftCMS’nin Kurulumu ve Deneme Erişiminin Sağlanması

CraftCMS’ye ait dosyalar indirilip sıkıstırılmış klasörden çıkarıldıktan sonra yapılması gereken ilk şey, bu şekilde elde edilen “craft” isimli klasörün kendisini, “public” isimli klasörün ise yalnızca içerdiği dosyaları web dizinine yüklemektir. Dosyaların sunucuya yüklenmesinden sonra “index.php” adlı dosyada küçük bir değişiklik yapılmalıdır. Bu dosya bir metin editörüyle açılıp içindeki “$craft-Path” adlı PHP değişkeni “craft” isimli klasörün yerini gösterecek şekilde değiştirilmelidir. CraftCMS, işletimi sırasında üzerindeki bazı klasörlerin içeriğinde değişiklik yapmaya ihtiyaç duyar. Bu nedenle “craft” isimli klasörde bulunan “app”, “config” ve “storage” isimli klasörlerin erişim yetkilerinin tekrar tanımlanması gerekebilir. Kurulum sürecinin en önemli adımı, CraftCMS tarafından kullanılabilecek bir veritabanının sağlanmasıdır. Bu noktada, yeni bir veritabanı oluşturulabileceği gibi önceden tanımlanmış veritabanlarından birisi de kullanılabilir. CraftCMS, oluşturacağı tablolara “crafti” gibi bir ön ek sağlayarak diğer tablolarla çakışma olasılığını önler. Veritabanı hazır olduğunda CraftCMS, veritabanına nasıl ulaşabileceği konusunda haberdar edilmelidir. Bunun için “craft” isimli klasörün barındırdığı “config” isimli alt klasörde yer alan “db.php” isimli dosya, bir metin editörü ile açılmalı ve gerekli değişiklikler yapılmalıdır. server alanına veritabanının yer aldığı sunucunun adresi yazılmalıdır. database alanına veritabanının adı yazılmalıdır. user alanına veritabanı için geçerli olan kullanıcı adı yazılmalıdır. password alanına kullanıcı parolası yazılmalıdır. tablePrefix alanı, tablo isimlerinde kullanılacak ön ek içindir. Değiştirilme zorunluluğu yoktur. Veritabanı yapılandırması tamamlandıktan sonra CraftCMS’nin kurulum arayüzü çalıştırılabilir. Bunun için bir web tarayıcısıyla kurulum adresi ziyaret edilmelidir. Kurulum yapılmış olan alan adına “/index.php?p=admin” eklemesi yapılarak oluşturulan adres ziyaret edilmelidir. Kurulum arayüzünün ilk sayfasındaki “Başla” etiketli butonun tıklanması, sürecin başlaması için yeterli olacaktır. Bir sonraki arayüz, yönetici hesabını oluşturmak için gerekli bilgileri isteyen bir form barındırır. Buraya yönetici yetkilerine sahip olacak kullanıcının adı, parolası ve mail adresi yazılıp “Sonraki” etiketli butona basılmalıdır. Sıradaki arayüz, site bilgilerini içeren üç form elemanı bulundurmaktadır. Buraya sitenin görüntülenecek adı, alan adı ve yerelleştirme bilgisi girildikten sonra, “Bitir” etiketli butona basılarak CraftCMS’nin kurulumu tamamlanır.

CraftCMS’yi kurmadan denemek için “https://demo.craftcms.com/” adresini ziyaret edip istenen bilgilerin girilmesi ve “Create my site” butonunun tıklanması yeterli olacaktır.

CraftCMS’nin Sistem Yönetimi

CraftCMS tarafından sağlanan web sitesinin görünümü üzerinde değişiklik yapmak için tahmin edileceği üzere yönetici arayüzüne ulaşmak gerekmektedir. Bunun için yukarıda da belirtildigi gibi kurulum gerçekleştirilmiş olan alan adına “/index. php?p=admin” eklemesi yapılarak oluşturulan adres ziyaret edilmelidir. Eğer kurulum yerel bilgisayara yapıldıysa web tarayıcısına “http://localhost/index. php?p=admin” adresi girilmelidir. Yine yukarıda bahsedilen deneme sitesinin tercih edilmesi durumunda yönetim paneline ulaştıracak olan adres, önceden de belirtildigi gibi CraftCMS tarafından gönderilen elektronik postada bulunacaktır.

CraftCMS tarafından sağlanan deneme sitesi için gönderilen elektronik postadaki yönetim paneli adresi web tarayıcısıyla ziyaret edilip “admin” olarak belirlenmiş kullanıcı adı ve “password” olarak belirlenmiş parola ile giriş yapıldığında, İngilizce bir yönetim paneli görüntülenir. Panelin Türkçeleştirilmesi için, sol çerçevedeki “Settings” etiketli link üzerinden ulaşılan arayüzdeki “Locales” etiketli buton tıklanmalıdır. Bu yolla erişilen sayfadaki metin kutusuna “Turkish” yazılıp giriş yapılarak, site Türkçeyi destekleyecek şekilde yerelleştirilebilir. Türkçeleştirilmiş yönetim arayüzünün karşılama ekranı “Yönetim konsolu” olarak da anılır ve bu ekran özelleştirilerek, siteye ilişkin verilerin görüntülenebileceği ve siteye ilişkin temel içerik düzenlemesi gibi işlemlerin kolayca yapılabileceği hâle dönüştürülebilir. Bu ekrana yeni bir bileşen eklemek için sol üst tarafta kalan “Yeni bileşen ekle” etiketli buton tıklanmalıdır. Bu buton, etiketleri ve işlevleri asağıda sıralanmış olan beş seçenek sunacaktır:

  • Besleme: Konsola, RSS haber kaynağı eklenmesini sağlar.

  • Hızlı yayınla: Sitenin istenilen bölümünde hızlıca yayın yapılmasını sağlar.

  • Son kayıtlar: Siteye eklenen son kayıtların takip edilmesini sağlar.

  • Yardım al: Site desteği ile mesajlaşmayı sağlar.

  • Yeni kullanıcılar: Siteye yeni kaydolan kullanıcıların takip edilmesini sağlar.

CraftCMS’nin en önemli yönetim özelliklerine sol çerçevedeki “Ayarlar” etiketli buton üzerinden ulaşılır. “Sistem” başlıklı alanda bulunan “Genel” etiketli buton; sitenin adının, adresinin, zaman diliminin, oturum açma sayfası logosunun ve site simgesinin belirlenmesini sağlayacak arayüze ulaştırır. “Yönelteçler” etiketli buton ise gelen web sistemlerinin hangi adreslere yönlendirileceğini belirleyen düzenlemelerin yapılmasını sağlayan arayüze ulaşmak için kullanılır. Yine bu alanda yer alan “Kullanıcılar” etiketli buton; kullanıcı gruplarının oluşturulması, kullanıcı profil görünümlerinin belirlenmesi ve kullanıcılara ilişkin güvenlik ayarlarının yapılması gibi düzenlemelere izin veren bir sayfaya yönlendirir. “Eposta” etiketli buton üzerinden ulaşılan arayüz, CraftCMS’nin sağladığı önemli bir işlev olan otomatik elektronik posta gönderimine ilişkin düzenlemeler içerir. “Mesajlar” sekmesi ise kullanıcılara gönderilecek olan mesaj şablonlarının düzenlenmesini sağlar. Sistem başlıklı alandaki son arayüz elemanı olan “Eklentiler” butonu, CraftCMS’nin özellik ve işlevlerinin genişletilmesini sağlayan üçüncü parti eklentilerin yönetilmesi için kullanılır. Bir İYS’nin en önemli işlevi sayılabilecek içerik sunumuna ilişkin önemli düzenlemeler, Ayarlar panelinin orta kısmında yer alan “İçerik” başlıklı bölümde yer alan linkler üzerinden ulaşılan arayüzlerle yapılır. Alanlar ile alakalı işlemler “Alanlar” isimli ikon tıklanarak gerçekleştirilebilir. “Bölümler” etiketli buton üzerinden, içerik yayını yapılabilecek olan bölümlerin listesini sunan arayüze ulaşılır. Bu arayüz; önceden oluşturulmuş bölümleri, genel özellikleriyle sunmaktadır. Bölüm ismine tıklanarak ulaşılan arayüz üzerinden bölümün temel özellikleri düzenlenebilir. Dosya kaynaklarının yönetimi, “Dosyalar” etiketli ikon tıklanarak ulaşılan arayüz üzerinden gerçekleştirilebilir. Ayarlar arayüzünde yer alan “Genel Etiketler” etiketli buton ile ulaşılan panel, isminden de anlaşılacağı üzere içerik şablonlarının oluşturulması sürecinde her yerden erişilebilecek ve kullanılabilecek olan etiketlerin tanımlanmasını sağlar. Ayarlar panelinin “Kategoriler” etiketli ikonu tıklanarak ulaşılacak arayüz aracılığı ile Web içeriği, kullanıcı veya dosya gibi varlıkların sınıflandırılabilmesi için hiyerarşik bir yapı oluşturmaya başlanabilir. CraftCMS, taksonomik yapılanma özelliğinin yanı sıra, etiket kullanımı ile folksonomik yapılanma özelliği de sunmaktadır. Ayarlar panelinin “Etiketler” etiketli ikonu, sözü edilen yapının temellerinin atılmasını sağlayacak arayüze ulaştırır. CraftCMS’nin sahip olduğu en önemli özelliklerinden biri olan yerelleştirilebilirlik, farklı dillere destek vermesi anlamında gelmektedir. Oluşturulan bütün içerik şablonlarında geçerli olacak şekilde yeni bir dil eklemek için önce Ayarlar panelindeki “Lokaller” etiketli ikon tıklanıp sonrasında açılan arayüzdeki metin kutusuna eklenecek dili girmek yeterlidir.

CraftCMS’nin Kullanıcı Yönetimi

CraftCMS’nin kullanıcı yönetimi, iki katmanlı bir yapıdadır. Kullanıcı yönetim arayüzü ilk katman olarak; kullanıcı grupları, kullanıcı profil alanları ve temel kullanıcı ayarlarını içermektedir. İkinci katmanda ise; kullanıcıların oluşturulması, yetkilerinin tanımlanması ve silinmesi gibi işlemler yapılır. Bu işlemlere yönetim panelinin sağ çerçevesinde yer alan “Kullanıcılar” etiketli buton üzerinden ulaşılabilir. Kullanıcı yönetim arayüzünde listelenen kullanıcı adlarına tıklanarak, kullanıcı hesapları üzerinde değişiklik yapmak mümkündür. Bu değişiklikler kişisel bilgilerin yanı sıra İYS içindeki izinleri kapsar. CraftCMS’nin kullanıcı izinlerinin tanımlanması konusunda oldukça detaylı bir yapısı vardır. Söz konusu izinler sistem yönetimine, kullanıcı hesaplarının yönetimine ve içerik yönetimine ilişkin birçok yetkilendirmeyi kapsar. Kullanıcı listesinin sağ üstünde bulunan “Yeni Kullanıcı” etiketli buton, kullanıcı oluşturma arayüzene ulaştıracaktır.

CraftCMS’nin İçerik Yönetimi

İçerik şablonları bir kere hazırlandıktan sonra, yazma yetkili bütün kullanıcılar bu şablonlar üzerinden içerik oluşturup varolan içerik üzerinde düzenleme yapabilirler. Web sitesinin içerik yönetimi, CraftCMS yönetim panelinin sol çerçevesindeki “Kayıtlar” etiketli butonla ulaşılan arayüz üzerinden yapılır. İçerik yönetim arayüzünde listelenen kayıtlar, kayıt listesinin üstünde bulunan butonlar aracılığı ile yayında olup olmama durumlarına ve içeriklerinin dillerine göre filtrelenebilirler. Ayrıca yine aynı blokta bulunan arama kutusu aracılığı ile içerik üzerinde arama yapmak da mümkündür. İçerik listesine göz atmayı kolaylaştıracak bir diğer seçenek de içeriklerin başlık ve yayın tarihi gibi çeşitli değişkenler açısından sıralanabilmesidir. Kayıt listesi üzerinden ulaşılan bir içeriği, baslığını tıklayarak ulaşılan form aracılığıyla tekrar düzenleyip güncellemek mümkündür. Yeni kayıt ekleme formunun doldurulması sırasında, içeriğin nasıl görüneceğini gerçek zamanlı olarak görmek için sağ üst kısımdaki “Canlı Önizleme” butonu tıklanabilir. Web sayfasına yeni bir kısım ekleyecek olan bu buton sayesinde, formda yapılan tüm değişiklikler takip edilebilecektir. İçerik ekleme formunun biçimlendirilip doldurulmasının ardından “Kaydet” etiketli buton kullanılarak, yeni içeriğin kaydedilmesi ve kayıtlar listesinde yerini alması sağlanır. Daha önce de belirtildigi gibi kaydedilmiş bir içerik; kayıtlar listesi üzerinden ulaşılıp değiştirilebilir, pasiflestirilebilir veya silinebilir.