FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Filemaker ile Custom Web Publishing nasıl yapılır?

0 oy
1,184 kez görüntülendi
Merhaba arkadaşlar, filemakerı veritabanı olarak kullanıp php ile arayuz oluşturmak için kullanılan custom web publishing yöntemi nasıl yapılmaktadır ?
17, Haziran, 2015 Web Publishing kategorisinde mkanlioglu (62,630 puan) tarafından soruldu

3 Cevaplar

+3 oy
 
En İyi Cevap

8000 karakter limiti varmış, iki sayfa halinde yayınlıyorum: 2. Bölüm

 

Başlamadan Önce

FileMaker CWP için FileMaker Server kurulu olan ve web yayını yapabileceğiniz (Mac'te Apachee, Windows'ta IIS ile) bir sunucuya ihtiyacanız var. FM Server deployment sırasında CWP yapacağınızı belirtirseniz FileMaker sizin için IIS/Apachee ayarlarını yapıyor.

 

 

PHP ile CWP

FileMaker'ın sunduğu FileMaker.php veya Mehmet Bey'in bahsettiği FX.php ile file maker'a bağlanıp web sitesi oluşturmaya hazırız.

 

1. Veritbanına bağlantı

FileMaker'la herhangi bir işlem yapmadan (her veritabanında olduğu gibi) bir kullanıcı adı ve şifre ile bağlanmamız gerekiyor.

require_once ('Filemaker/Filemaker.php');
$fm = new FileMaker(Veritabani.fp7', Sunucu_IP_Adresi, 'kullanici_adi', 'parola');

Buradaki önemli bir husus veritabanına ulaşacak kullanıcının "extended priveledges" bölümünde Access via FileMaker Web Publisging ... seçili olması gerekir. Bir diğer önemli konu güvenlikle ilgili. Webden erişecek kullanıcılara yeni bir kullanıcı hesabı oluşturup sadece ihtiyacı olan tabloları görmesi, düzenlemesi vb. güvenlik ayarlarını özel olarak belirlemenizde fayda var.

 

2. Sorgumuzu oluşturyoruz

Veritabanına bağlandık artık FileMaker'dan veri çekebiliriz. Bunun için bir kaç fonksiyon yeterli.

$request = $fm->newFindCommand('arama_yapilacak_yerlesim_adi');
$request->addFindCriterion('Sorgulanacak_alan', 'Sorgu_degeri');
$result = $request->execute();
$records = $result->getRecords();

Yukarıdaki kodlarda;

2.1 Öncelikle "newFindCommand " ile bir arama komutu oluşturyoruz. (FileMaker'cada Enter Find Mode).

2.2 Ardından "addFindCriterion" ile (FileMaker'cada Set Field diyebiliriz) arayacağımız alana değeri giriyoruz.

2.3 Kriterlerimizi yazdıktan sonra Execute() ile sorgumuzu çalışıtırıyoruz (FileMaker'cadaki Perform Find)

2.4 Son olarak arama sonuçlarını $records adlı bir diziye çekiyoruz.

 

Bu kayıtları listelemek PHP'ye kalıyor. foreach ($records as $record)

 

 

3. Hata ayıklama

Sorgumuz her zaman istediğimiz sonucu vermeyebilir (bknz: Murphy Kanunları: Madde 1). Bir hata oluştuğunda kullanıcının karşına garip yazılar çıkmasını istemiyorsak, FileMaker'ca söylemek gerekirse Set Error Capture [On] dememiz gerekiyor. Neyse ki FileMaker.php'de bunu da düşünmüşer. Execute ile sorgularımızı çalıştırdıktan sonra aşağıdaki kodlarla hata kontrolü yapabiliyoruz.

if (FileMaker::isError($result)) {
       echo 'Üzgünüm, hata oluştu. (Hata Kodu: '.$result->code.')';
}

 

4. Gerisi size kalmış :)

FileMaker ile yaptığınız her işlemi genel olarak sorgu olarak adlandırabiliriz. Bunlardan ilk aklıma gelenler;

  • Arama/Bulma
  • Kayıt Ekleme/Silme
  • Kayıt Değiştirme
  • Script Çalıştırma (Bu gerçekten hoş bir detay, doğrudan FileMaker scriptini PHP ile tetikleyebiliyorsunuz.)

 

 

FileMaker CWP ilgilnenler için önerebileceğim kaynaklar;

FileMaker API for PHP Documentation  (jonathanstark.com/fm/filemaker-api-for-php-documentation.php)

Web Publishing with FileMaker and PHP (jonathanstark.com/fm/web-publishing-with-filemaker-and-php.php)

FileMaker & PHP için El Kitabı (jonathanstark.com/php-book)

CWP with PHP Resmi FMI Dökümanı (fmhelp.filemaker.com/docs/13/en/fms13_cwp_php.pdf)

F 'n' web : CWP ile ilgili hoş bir blog (blog.jsfmp.com)

21, Haziran, 2015 F. Osman Cabi (197,900 puan) tarafından cevaplandı
21, Haziran, 2015 Goksel_Gokce tarafından seçilmiş
Teşekkürler, faydalanacağımız bir doküman olmuş.
Rica ederiz. FileMaker konusunda içerik üretimini önemsiyoruz. Yalnız bu makaleler güncellenebilir. Yeni projelerde DataAPI kullanarak fm/web bağlantısını tercih ediyoruz.
+1 oy
1 yöntem FX diye bir API vardı. Bağlantıyı yapınca filemaker veritabanına PHP ile bağlanıyorduk. PHP de istediğimizi yapıyorduk.

2 yöntem ise filemaker PHP asistans ile yapıyorduk. Ama daha sonra php asistan kaldırıldı.

Diğer bağlantı yöntemlerini ise Göksel bey in yazdıklarından takip edebilirsiniz.
19, Haziran, 2015 Mehmet KAYA (165,360 puan) tarafından cevaplandı
Şuan bir proje ile uğraşıyorum. Bir haftayı geçer. Ardından paylaşımlara devam edicem. İnsert update delete işlemleri ve bu işlemleri hazırlayacak filemaker&php creator paylaşıcam.
+2 oy

8000 karakter limiti varmış, iki sayfa halinde yayınlıyorum: 1. Bölüm

Tanım ve biraz tarihçe

FileMaker Custom Web Publishing (CWP) FileMaker'daki veritabanına kullanıcıların web tarayıcısıyla erişebildiği web sayfaları olarak tanımlanabilir. İlk olarak 4. sürümde gelen web companion plug-ini ile CDML (Claris Dynamic Markup Language) ve Lasso ile yapılan CWP Siteleri doğdu. CDML, doğrudan HTML kodlarının arasına [FMP-Field] tagları ile FileMaker'dan veri çekmek mümkün olan çok basit bir dildi. O zamanlar FileMaker'ı ürün gamında bulunduran Claris FirmasıClaris Home Page isimli uygulama yayınlayarak FileMaker CWP için yeni bir HTML düzenleyici piyasa sürmüştü.

 

Sonraki sürümlerde CDML/Lasso'ya ilave olarak  XML, PHP dilleri ile CWP mümkün hale geldi. FileMaker, 7. sürümüyle beraber CDML'i rafa kaldırılıp, kullanıcılarını performans açısından daha iyi ve W3C standartlarına uyumlu olan XML'e yönlendirildi.

 

FileMaker 9. sürümüyle beraber (sürümü yanlış hatırlıyorsam düzeltin lütfen) FileMaker.php API'si ile PHP'ye desteğini artırdı.

 

XML/XSL ve PHP güncel sürümlerde en çok tercih edilen CWP dilleri. Ben de 7. sürümle beraber XML/XSL'le biraz çalışma yapıp 9'dan sonra PHP'ye geçenlerdenim.

 

 

CWP Artıları ve Eksileri

FileMaker'daki verilerinizi webe açmanın bir kaç yolundan birisi Custom Web Publishing. CWP ile yayın yamak için PHP/XSL /HTML/CSS kodları yazmanız gerektiğinden dolayı FileMaker'ın yıllardır alıştığımız sürükle bırak kolaylığı yok elbette. FileMaker çözümünüzü dışarıdaki kullanıcılara/müşterilenize açmak için CWP güzel bir araç. Herhangi bir başka veritabanı ile entegrasyon yapmadan web üzerinden verilerinize erişebiliyorsunuz. Ayrıca sadece basit veri girişleri/raporlara ihtiyacı olan localdaki kullanıcılar için CWP tasarlayarak +300USD/kullanıcı maliyetlerinden kurtulmak için de bir yöntem olabilir. FileMaker CWP ne yazık ki PHP+MySQL kadar performanslı değil.

21, Haziran, 2015 F. Osman Cabi (197,900 puan) tarafından cevaplandı
...