PNLCS'e topluluk katkısıyla modül keşfi desteği eklendi. Katkıyı yapan geliştiriciye (terbora-core) teşekkür ederiz:
https://github.com/Panelica/pnlcs/pull/47

Önceki durum

Yeni bir ödeme, sunucu, alan adı veya SSL modülü eklemek için çekirdek koddaki modül listesini elle düzenlemek gerekiyordu. Bu, her güncellemede değişikliğin kaybolma riski demekti.

Yeni durum

- Modül, modules/ altındaki kendi klasörüne konuyor ve yanına bir pnlcs.json dosyası ekleniyor. Sistem modülü kendiliğinden tanıyor, çekirdekte değişiklik gerekmiyor.
- Güvenlik için iki kontrol var. Dışarıdan eklenen bir modül, yerleşik bir modülün yerine geçemiyor. Modül kendini hangi türde tanıtıyorsa o türün gereklerini karşılamak zorunda; karşılamıyorsa hiç yüklenmiyor.

Örnek: Bir ödeme modülü

Klasör yapısı:

modules/Gateways/OrnekOdeme/
├── OrnekOdemeModule.php
└── pnlcs.json
pnlcs.json:

{
    "name": "ornekodeme",
    "type": "gateway",
    "class": "Modules\\Gateways\\OrnekOdeme\\OrnekOdemeModule",
    "version": "1.0.0",
    "display_name": "Örnek Ödeme",
    "description": "Örnek ödeme altyapısı entegrasyonu",
    "author": {
        "name": "Firma Adınız"
    }
}
- name: Modülün sistemdeki benzersiz adı.
- type: gateway (ödeme), server (sunucu), registrar (alan adı) veya ssl.
- class: Modül sınıfının tam adı. Sınıf, türünün arayüzünü uygulamak zorunda: ödeme modülü için GatewayModuleInterface, sunucu için ServerModuleInterface, alan adı için RegistrarModuleInterface, SSL için SslModuleInterface.
- version, display_name, description, author: Bilgi amaçlı alanlar.

Klasör modules/<Tür>/<ModülAdı>/ düzeninde, yani iki seviye derinlikte olmalı. Mevcut modüller (Stripe, iyzico, PayPal, cPanel, Plesk ve diğerleri) aynı dizinde örnek olarak incelenebilir.

Yeni Modüller ekranı

Yönetim panelinde Setup → Modules altında yeni bir ekran var. Kurulu tüm sunucu, ödeme, alan adı, SSL ve eklenti modülleri tek listede görünüyor ve her biri tek tıkla açılıp kapatılabiliyor. Dışarıdan eklenen modüller bu listede "Third-party" (üçüncü taraf) etiketiyle ayrıca işaretleniyor.

Bir sunucu ya da ürün tarafından kullanılan sunucu ve SSL modülleri, yanlışlıkla kapatılmasın diye kilitli.

Tamamen açık kaynak

PNLCS, MIT lisansıyla tamamen açık kaynaktır. Kodu kendi ihtiyaçlarınıza göre özelleştirebilir, kendi modüllerinizle genişletebilir ve kendi SaaS ürününüz olarak sunabilirsiniz.

- Web sitesi: https://pnlcs.com
- Kaynak kod: https://github.com/Panelica/pnlcs