Günümüzde kurum veya organizasyon yapılarında kurumsal içerikte farklı kullanıcılar tarafından değişik kategoride Microsoft Office uygulamaları ile yoğun bir doküman üretimi gerçekleştirilmektedir. Bu yoğun doküman kütüphanesinde özellikle kurumsal yazışmalar için kuruma özel doküman standartları belirlenerek, bu standartlara uygun doküman şablonları hazırlanmaktadır. Hazırlanan doküman şablonları ilgili kullanıcıların ulaşabileceği ortak alana kopyalanarak ihtiyaç anında bu alandan kopyalanarak kullanılması sağlanmaktadır.
Makalemizin ilk bölümünde hazırlanan doküman şablonlarını bu bölümde de active directory üzerinden domain içerisindeki kullanıcılara merkezi olarak dağıtımı için gerekli teknik detayları uygulamalı olarak gerçekleştireceğiz. Makalemizdeki adımları başarıyla uyguladığınızda şirket kullanıcılarınız ortak alandan doküman şablonunu kopyalamaya gerek kalmadan Office uygulamalarını (Word, Excel, PowerPoint, vb.) başlattıklarında şirkete ait doküman şablonlarının bulunduğu kategorileri otomatik olarak görecek ve buradan istedikleri şablonu açıp kendi dökümanlarını üretmiş olacaklardır.
ŞABLON YAPILANDIRMA DOSYASI : TEMPLATES.XML
Hazırlanan şablon dökümanlarının Office uygulamalarında gelen Available Templates kategorisi altında görüntülenebilmesi için bir XML konfigürasyon dosyasında bu dökümanlara ait tanımlamaların yapılması gerekir. Microsoft Office uygulaması bu XML dosyasını referans alarak şablon dosyasının, küçük resim ve önizleme resim dosyalarının nereden ve nasıl alınacağına karar verir.
Aşağıda örnek bir XML konfigürasyon dosyası içeriğini görüyorsunuz:
XML dosyası içerisinde “application” ve “template” olmak üzere iki ana element parçası vardır. Resimde de görüldüğü gibi öncelikle “featuredcontent” isimli bir ana element açıyoruz. Hemen akabinde “application” elementi açıp içerisinde hangi uygulama için şablon tanımı yapılıyorsa bunu belirtiyoruz. Word için “WD”, Excel için “XL”, PowerPoint için de “PP” kısaltması kullanılır. İlgili uygulama içerisinde tanımlanacak tüm şablon dosyası tanımlarını kapsayan “featuredtemplates” elementi açılır. “Featuredtemplates” elementi içerisinde de her doküman şablonu dosyası için “featuredtemplate” elementi açılarak içerisinde şablon tanımına ilişkin tanımlamalar yapılır. “Title” alanı Office uygulamaları içerisindeki görünecek etiket adı, “source” alanında da dosyanın kaynak yolu tanımlanır. Her template tanımı için “media” elementi içerisinde küçük resim görüntüsü dosyasının özellikleri ve resim dosyası yol tanımı belirtilir. “Preview” elementi ile de önizleme görüntü resmi tanımı ile ilgili tanımlamaları gerçekleştiriyoruz. Her template tanımı sonunda “featuredtemplate” elementi kapatılmalıdır. Herhangi bir uygulama içerisindeki tüm şablon tanımları yapıldıktan sonra da “Featuredtemplates” elementi kapatılmalıdır. Sonrasında da ilgili uygulamaya ait “application” elementi kapatılmalıdır. Eğer Excel ya da PowerPoint gibi ikinci bir uygulama için de şablon tanımı yapılacaksa “featuredcontent” elementi kapatılmadan tekrar yeni bir “application” elementi açılır. Onun içerisinde de o uygulama ve uygulamanın şablonlarına ait alt element tanımları ve değerleri belirtilir ve sonunda da yine “application” elementi kapatılır. Tüm uygulamalara ait şablon tanımlamaları tamamlandıktan sonra da “featuredcontent” elementi kapatılır.
Örnek bir XML dosyası için bu link üzerinden de erişebilirsiniz.
Biz uygulamamızda aşağıdaki XML dosyamızı oluşturduk ve içerisinde Word, Excel ve PowerPoint uygulamalarına ait şablon tanımlarını tanımladık.
Yukarıdaki şekilde de görüldüğü gibi Word, Excel ve PowerPoint uygulamaları için ayrı ayrı şablon tanımları yapılmıştır.
Bu tanımları içeren XML dosyasını da yine aynı konuma Templates.XML adıyla kaydediyoruz.
ÖNEMLİ NOT : Yeni bir şablon oluşturulduğunda da ilgili şablon ve resim dosyaları dosya sunucusu üzerindeki klasörlere kopyalandıktan sonra şablon yapılandırması mutlaka bu XML içerisine tanımlanmalıdır. Bu tanımlamalarda hiçbir yerde Türkçe karakter kullanılmamalıdır.
Bu oluşturduğumuz XML dosyasının geçerli olup olmadığı ve içeriğinin yorumlanmasını yapacak XML Schema dosyasını da (XSD) aynı konuma oluşturuyoruz. XSD dosyası isteğe bağlıdır, doğrulama yapmak istemiyorsanız tanımlamayabilirsiniz. Standartlar açısından konumlandırmanızı öneriyoruz. Örnek bir XSD schema dosyasına bu linkten erişebilirsiniz. Biz de uygulamamızda OfficeTemplates.xsd isimli schema dosyasını aynı konuma kopyalıyoruz.
Biz uygulamamızda bu linkten indirdiğimiz örneği aynen kullandık.
XML YAPILANDIRMA DOSYASINI OKUYACAK REGISTRY AYARLARININ TANIMLANMASI
Şu ana kadar yaptığımız hazırlıklarla şablon dosyaları, bunların önizleme resimleri, bu dosyaların tanımlamalarını içeren XML yapılandırma dosyamızı hazırladık. Sıra geldi Office uygulamasının bu yapılandırma dosyasını okuyacak şekilde kullanıcı bilgisayarlarında registry ayarlarının yapılandırılmasına. Bu işlem için de Templates.reg isimli bir registry yapılandırma dosyası hazırlıyoruz. Bunun hazırlarken Notepad açıp ilgili tanımlamaları yaptıktan sonra .REG uzantılı olarak dosyayı kaydedebileceğiniz gibi, mevcutta bir bilgisayarda bu tanımlamaları yapıp ilgili anahtar hiyerarşisini REG dosyasına export ederek de oluşturabilirsiniz.
\\MST-DC01\CozumPark-Templates$ paylaşımı altında Templates.reg dosyası içerisinde kullanıcı bilgisayarlarında registry içerisine yazılacak tanımlar girdi olarak belirtilir. Bu tanımlar sayesinde yukarıdaki şablonları içeren XML dosya okunarak istemci bilgisayarlarında ilgili şablonlar listelenecektir.
Templates.reg dosyası içeriğini de aşağıdaki şekilde görmektesiniz:
Buradaki tanımlarda Office 2010 olanlar için 14.0, Office 2013 olanlar için de 15.0 versiyonu için tanımları yaptık. Kullanıcı bilgisayarlarında her ikisi oluşmuş olacak ve kullanılan versiyona göre şablonlar otomatik olarak gelecektir. “ServiceURL” anahtarı ile şablonların okunacağı XML dosyasının kaynak yolu tanımlamasını belirtiyoruz. PROVIDERS altında belirttiğimiz anahtar adı Office uygulaması içerisinde bizim şablonlarımızın belirtileceği kategorinin görünen adıdır. Biz COZUMPARK TEMPLATES olarak tanımladık ve bu şekilde görüntülendiğiniz göreceğiz. DisableBootToOfficeStart tanımı da isteğe bağlıdır ve Office 2013 kullananlar için geçerlidir. Bildiğiniz gibi Office 2013 uygulamalarını başlattığınızda otomatik olarak hazır gelen şablonları ve çalışılan son dökümanları listeleyen bir başlangıç ekranı gelir.
Bunun gelmesini engellemek için DisableBootToOfficeStart registry anahtarını aktifleştiriyoruz. Böyle bir ihtiyaç ya da gereksiniminiz yoksa bunu da tanımlamayabilirsiniz. Biz her açılışta son çalışılan dökümanların otomatik gelmesini istemediğim için bu değeri de belirttik.
REGISTRY DOSYASININ LOGON SCRIPT OLARAK KULLANICILARA UYGULANMASI
Bir önceki adımda kullanıcı bilgisayarlarında Office doküman şablonlarını ve ilave özelliklerini XML yapılandırma dosyasında okuyup, kullanıcı bilgisayarlarına getirecek registry ayarlarını içeren REG dosyasına tanımladık. Şimdi de bu şablonları kullanacak kullanıcılar için REG dosyasını active directory domainine logon olan bu kullanıcılara logon script olarak uzaktan tetiklemeye geldik. Bunun için de bir BAT dosyası oluşturacağız. Biz örneğimizde REGADD.BAT olarak isimlendiriyoruz.
Yukarıdaki şekilde de görüldüğü gibi REG dosyasını ağ yolundan okuyarak import ediyoruz. Bu oluşturduğumuz BAT dosyasını NETLOGON klasörü içerisine kaydediyoruz.
ÖNEMLİ NOT : Eğer mevcut durumda kullanıcılara uygulanan bir logon script varsa bu durumda yukarıdaki BAT dosyasının içerisine yazdığımız satırı mevcut logon script dosyası içerisine ilave etmeniz yeterlidir. Böylece mevcut yapıyı bozmadan ya da değiştirmeden bu ilave satırı da ekleyip çözüme gidebilirsiniz.
Son olarak bu BAT dosyasını çalıştırmak istediğimiz kullanıcı hesabı özelliklerinde Profile tabında Logon Script olarak RegAdd.BAT isimli dosyanın tanımlanmasını yapalım.
Toplu olarak çok sayıda kullanıcı için bu tanımı DS komut satırı araçları, VBS script ya da PowerShell cmdlet ile de yapabilirsiniz. Hatta Active Directory Users and Computers konsolu içerisinde Saved Queries ile ilgili kullanıcıları listeleyip, tamamını aynı anda seçip Properties’den Profile tabından Logon Script tanımlayabilirsiniz. PowerShell ile bu konudaki örneklere burdan ulaşabilirsiniz.
Artık sıra geldi kullanıcı bilgisayarlarından logon olup test etmeye.
KULLANICI BİLGİSAYARINDAN TESTLERİN GERÇEKLEŞTİRİLMESİ
Biz demo ortamımızda Windows 7 işletim sistemi ile çalışan ve Office 2013 yüklü istemci bilgisayarından logon script tanımı yaptığımız MesutAladag isimli kullanıcımızla giriş yaparak yaptığımız ayarların uygulanıp uygulanmadığını test ediyoruz.
Word Uygulamasını çalıştırdığımızda New tıkladığımızda aşağıdaki gibi COZUMPARK TEMPLATES kategorisinin geldiğini göreceksiniz.
COZUMPARK TEMPLATES kategorisine tıkladığınızda da oluşturduğumuz şablonların listelendiğini göreceksiniz.
İstediğiniz şablonu açıp artık dökümanlarınızı hazırlayabilirsiniz.
Eğer Office 2010 kullanıyorsanız da oluşturduğumuz şablonların görüntüsü aşağıdaki şekilde olacaktır:
Bu gelen klasör kategorisine girdiğinizde yine ilgili şablonlarını listelendiğini göreceksiniz.
Bu kontroller Word, Excel, Powerpoint vb. tüm uygulamalar için ayrı ayrı kontrol edebilirsiniz.
Kullanıcı bilgisayarında Registry uygulamasını başlatırsanız da ilgili registry anahtarları ve string değerlerinin oluştuğu ve doğru bir biçimde geldiğini de kontrol edebilirsiniz.
ÖNEMLİ NOT : Herhangi bir kullanıcı bilgisayarında şablonlar eksik gelirse ya da oluşmazsa [HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\ altından Spotlight anahtarı silinmelidir. Daha sonra log off olup tekrar logon olunduğunda logon script çalışacak ve ilgili şablonlar sağlıklı bir biçimde tekrar yüklenecektir. Bu işlemi logon script yöntemi ile active directory üzerinden uygulamak için de aşağıdaki içeriğe sahip bir REG dosyası oluşturup bunu yine ağ yoluna kopyalayıp logon script içerisinden de öncelikle bu dosyayı çağırabilirsiniz.
Burada dikkat çeken nokta Registry anahtarları tanımlarının başındaki “-“ işareti. Bu işaret ilgili anahtarın silinmesi anlamına geliyor.
Ağ yoluna bu REG dosyasını da kaydettik. Son olarak logon script içerisinden bu REG dosyasını da çağıracak satırı ekliyoruz. Bu satırı üste alıyoruz ki öncelikle mevcut bir tanım varsa registry içerisinden silsin ve daha sonra Templates.REG dosyasından ilgili ayarları import edilmiş olacaktır.
SONUÇ
İki bölümden oluşan bu makale serimizde kurumsal organizasyonlarda hazırlanmış Microsoft Office doküman şablonlarının active directory domaininde bulunan kullanıcılara active directory logon script kullanılarak merkezi bir sunucudan dinamik olarak dağıtımını tüm detaylarıyla inceledik. Başka bir makalemizde görüşmek dileğiyle sağlıcakla kalın.