Ana içeriğe geç

Sürüm Notları#

JIRA sürüm notları

Plugin Güncellemeleri#

Genel Olarak#

  • hvl-javalt-framework-plugin-parent projesi oluşturuldu (JAVALTPR-3315). Böylece artık tek bir parent versiyon kullanılarak, plugin tanımlamaları sırasında ayrıca versiyon vermeye gerek kalmamıştır. Migrasyon adımları şöyledir:
    • gradle.properties dosyası içerisinde plugin versiyonlarının tamamı silinip yerine hvlJavaltFrameworkPluginParentVersion=6.0.0 yazılmalıdır.
    • settings.gradle dosyası içindeki gradle.projectsLoaded -> dependencies içerisine
      classpath platform(group: 'tr.com.havelsan.plugin', name: 'hvl-javalt-framework-plugin-parent', version: "$hvlJavaltFrameworkPluginParentVersion")
      
      satırı eklenmelidir. Diğer classpathlerin sonundaki version ifadeleri kaldırılmalıdır.
    • Root build.gradle dosyası içerisinde subprojects altına aşağıdaki blok eklenmelidir.
      buildscript {
          dependencies {
              classpath platform(group: 'tr.com.havelsan.plugin', name: 'hvl-javalt-framework-plugin-parent', version: "$hvlJavaltFrameworkPluginParentVersion")
          }
      }
      
    • Modüller içerisinde ayrıca kullanılan veya tanımlanan pluginler varsa hepsinin versiyon kısımları silinmelidir. Artık pluginler uygun versiyon bilgisini tanımlanan plugin parent içerisinden alacaktır.
    • Örnek olarak hvl-javalt-samples projesi incelenebilir.
  • Eksen altyapısı, Spring boot 3.4.1 versiyonuna güncellendi. (JAVALTPR-3561)
  • Gradle versiyonu 8.10 olarak güncellendi. (JAVALTPR-3621)

hvl-gradle-plugin#

hvl-gradle-code-generator-plugin#

hvl-gradle-hibernate-plugin#

hvl-gradle-liquibase-plugin#

hvl-gradle-lombok-plugin#

hvl-gradle-mapstruct-plugin#

hvl-gradle-maven-plugin#

hvl-gradle-querydsl-plugin#

  • Hata düzeltmeleri ve iyileştirmeler yapıldı. (JAVALTPR-3579)

hvl-gradle-spring-plugin#

  • Unit testler için JUnit 5 uyumluluğu sağlandı. (JAVALTPR-3482)
  • Docker push için dockerPublishingUrl ve dockerPublishingName parametreleri özelleştirme sağlandı.

hvl-gradle-workspace-plugin#

Core Güncellemeleri#

hvl-framework#

  • Entegrasyon testleri için test container altyapısı eklendi. Bu kapsamda eksen tarafından kullanılan third-party container'lar ve config-server container'ı eklendi. Doküman Linki (JAVALTPR-3475)
  • Konfigürasyon şifreleme yöntemi jasypt'nin PBEWithHMACSHA512AndAES_256 algoritması olacak şekilde değiştirildi. (JAVALTPR-3588)

Önemli Değişiklik

Eski algoritma PBEWithMD5AndDES idi. Eğer ENC@[ ile başlayan şifrelenmiş bir konfigürasyon varsa bunun yeni algoritmaya göre tekrar şifrelenmesi gerekmektedir. Bunun için eksen tool instance veya online tool'lar kullanılabilir.

  • Swagger için bearer token ve oAuth2 ile yetkilendirme desteği eklendi. Swagger configurer eklendi. Doküman Linki (JAVALTPR-3681)

  • Request loglama özelliği içerisine request body, header ve response body, header loglanma yeteneği eklendi. Aktif etmek için includeList değeri konfigüre edilmelidir. Doküman Linki (JAVALTPR-3831)

hvl-cloud-framework#

hvl-session#

hvl-cloud-session#

hvl-security#

  • hvl-security-web-starter paketinden direkt olarak HvlSecurityProperties içindeki permitUrl'e eklenen login uçları gibi değerler eksen kategorisinden customized kategorisine taşındı. (JAVALTPR-3609)

Önemli Değişiklikler

Form girişinde kullanılacak ve permit olarak verilmesi gereken login uçları gibi değerlerin permitUrl yerine HvlSecurityContext üzerinden alınması tavsiye edilir. hvl-security-web-starter paketi kullanılmıyorsa birşey yapılmasına gerek yoktur.

  • hvl-oauth2-security kütüphanesi ile EKSEN altyapısının OAuth 2 entegrasyonu sağlandı. Doküman Linki (JAVALTPR-3680)

hvl-cloud-security#

  • hvl-cloud-oauth2-security kütüphanesi ile EKSEN cloud altyapısının OAuth 2 entegrasyonu sağlandı. Doküman Linki (JAVALTPR-3680)

hvl-data#

  • HvlSimpleEntity yapısı değiştirildi ve primary key olarak UUID kullanımına destek verdildi. (JAVALTPR-3500) Örnek kullanım aşağıdaki gibidir. Projenin tamamına buradan erişilebilir.
@Entity
@Table(name = HvlJpaUuidSample.TABLE_NAME)
public class HvlJpaUuidSample extends HvlSimpleEntity<UUID> {

    //Table Name
    public static final String TABLE_NAME = "SAMPLE_UUID";

    //Columns
    public static final String NAME_COLUMN = "NAME";
    public static final String SURNAME_COLUMN = "SURNAME";

    @Column(name = NAME_COLUMN)
    @NotBlank
    @Size(max = HvlJpaSampleConstraint.NAME_SIZE)
    private String name;

    @Column(name = SURNAME_COLUMN)
    @NotBlank
    @Size(max = HvlJpaSampleConstraint.SURNAME_SIZE)
    @Convert(converter = HvlStringCryptoConverter.class)
    private String surname;

    ...
  • HvlEnversRevisionEntity içerisindeki Integer tipindeki id alanı Long yapıldı.

Tip Değişikliği

Bu kapsamda liquibase scriptlerinde tip değişikliği için ekleme yapılmalıdır. Eskiden integer olan bu alan artık Long olduğu için ilgili revision entitylerin scriptleri güncellenmelidir.

  • EKSEN tarafından sağlanan entityler için id sequence generator yapısı değiştirildi. Bu kapsamda hvl-infra'daki application-database-datasource.yml dosyasına aşağıdaki alanlar eklendi.

    • spring.jpa.properties.hibernate.id-generator.hvl_default_numeric_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.sequence.HvlEntitySequenceGeneratorStrategy
    • spring.jpa.properties.hibernate.id-generator.hvl_default_uuid_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.uuid.HvlEntityTimeOrderedEpochBasedUUIDGeneratorStrategy
  • HvlLookupModel sınıfına java validasyonları eklenmiştir. HvlLookupEntityConstraint sınıfı deprecate edildi. (JAVALTPR-3601)

  • HvlBaseQueryGenerator sınıfı içerisindeki expressionBuilder() içerisindeki iş mantığı, yeni oluşturulan void postPredicate(BooleanBuilder expressionBuilder); metodu içerisine taşındı. expressionBuilder() methodu final yapılarak override edilmesi engelledi. Bunun yerine void prePredicate(BooleanBuilder expressionBuilder) methodu eklendi. (JAVALTPR-3747)

Önemli Değişiklik

HvlBaseQueryGenerator'dan extends eden sınıflar expressionBuilder() methodunu override ediyorsa, bu değişiklik compile hatasına sebep olacaktır. Compile hatasını çözmek için override edilen expressionBuilder() içerisindeki iş mantığının void prePredicate(BooleanBuilder expressionBuilder) içerisine taşınması gerekmektedir.

Eğer önceki eksen versiyonundan gelen iş mantığının devre dışı bırakıldığı bir senaryo varsa, aynı mantık postPredice içerisine taşındığı için bu method override edilerek iş mantığı devre dışı bırakılmalıdır. İş mantığından kasıt where clause'una deleted = false eklenmesidir.

hvl-cache#

hvl-mq#

  • Retriable yani tekrarlanabilir exception'lar tanımlanabilmesi sağlandı. Böylece sürekli tekrarlanması gereken durumlar ele alınabilir. Doküman Linki (JAVALTPR-3739)

hvl-support#

  • hvl-mail-support kütüphanesindeki HvlMailAutoConfiguration sınıfı HvlMailConfiguration şeklinde normal konfigürasyon sınıfına dönüştürüldü ve bu konfigürasyonu aktif etmek için @HvlEnableMailSupport anotasyonu eklendi. (JAVALTPR-3375)

Önemli Değişiklik

hvl-mail-support sınıfı kullanılan modüllerde konfigürasyon sınıfı artık otomatik olarak devreye girmeyeceği için, mail ile ilgili bean'ların oluşmasını sağlamak için @HvlEnableMailSupport anotasyonu kullanılmalıdır.

  • Apm agent versiyonu 1.52.1 -> 1.52.2 yükseltildi.
  • hvl-skywalking-support kütüphanesi eklendi. Doküman Linki (JAVALTPR-3799)

Cloud Ürün Güncellemeleri#

hvl-config-instance#

  • Config server her zaman gateway arkasında çalışabilecek şekilde güvenliği iyileştirildi. Permit ve secure path propertyleri eklendi. Secure path üzerinde bulunan dosyalar EKSEN güvenlik bloğuna dahil edildi, HVL_TOKEN ile erişim zorunlu tutuldu. Backend uygulamalarının konfigürasyonları basic authentication ile hizmet vermeye devam etmektedir. Permit path üzerinde bulunan dosyalar hiçbir güvenlik olmadan direkt erişime açık olacaktır (Login ekranları gibi yerlerde kullanılması için). Doküman Linki (JAVALTPR-3609)

hvl-gateway-instance#

  • İstek kısıtlama/bloklama özelliği eklendi. Doküman Linki (JAVALTPR-3476)
  • Dinamik filtrelerin eklenebilmesi sağlandı. Doküman Linki (JAVALTPR-3662)
  • Yönlendirme yapılırken basic authentication ile güvenlik sağlanabilme yeteği eklendi. Doküman Linki (JAVALTPR-3741)

hvl-admin-instance#

hvl-registry-instance#

Backend Ürün Güncellemeleri#

hvl-oauth-instance#

  • Kullanıcının tüm kaynaklardan(profil,rol grup,profil grup-rol,profil grup-rol grup) gelen vekalet edilebilir rollerini vekalet verebilmesi sağlandı. (JAVALTPR-3744)
  • Şifre kullanım süresi dolacak kullanıcılara uygulama içinden bildirim ve mail gönderimi sağlandı. Doküman Linki (JAVALTPR-3527)
  • Uzun süreli giriş yapmayan kullanıcılara mail gönderilmesi sağlandı. Doküman Linki (JAVALTPR-3529)
  • Kullanıcı hesabının son geçerlilik tarihinin dolmasına belirli bir gün kala mail gönderimi sağlandı. Doküman Linki (JAVALTPR-3525)
  • Uzun süreli giriş yapılmaması durumunda ilgili hesabın otomatik kapatılması sağlandı. Doküman Linki (JAVALTPR-3530)
  • Öntanımlı roller ile kullanıcı oluşturma aşamasında profil oluşturma sırasında self_registration durumu harici profil detay seçimi zorunlu kontrolü eklendi. (JAVALTPR-3289)
  • Şifre kullanım süresi geçmiş/geçmemiş kullanıcıların sorgulanabilmesi sağlandı. (JAVALTPR-3217)
  • Kullanıcısı olmayan bir profilin vekaletinin yönetici tarafından verilebilmesi sağlandı. (JAVALTPR-3306)
  • Vekalet başlangıç tarihinin değiştirilememesi sağlandı. (JAVALTPR-3304)
  • KEYSİS admin kullanıcı kilidi kaldıramama problemi çözüldü. (JAVALTPR-3817)
  • Rol claim sorgulamalarında disabled rollerin görüntülenmemesi sağlandı. (JAVALTPR-3856)

Önemli Değişiklikler

Logger Processor Oauth instance'ı artık kullanılmadığı için kullanımdan kaldırıldı. Bu kapsamda docker ve kubernetes konfigürasyonları hvl-infra'dan silindi. (JAVALTPR-3523)

hvl-notification-instance#

  • Polling uygulamasına kafka destegi eklendi. Kafka topiğine mesajı produce ederek polling ve announcement mesajı oluşturma yeteneği eklendi. (JAVALTPR-3678)
  • Notification instance revision entity ortaklaştırıldı. (JAVALTPR-3551)
  • Polling uygulamasına dinamik şablon yönetimi eklendi. (JAVALTPR-3746)
  • Notification Template description alanı validasyon düzeltmesi yapıldı. (JAVALTPR-3866)
  • Polling quartz desteği hvl-quartz paketinden saglandı. (JAVALTPR-3003)
  • Performans iyileştirmeleri yapıldı.
  • Collection olarak eklenen notification request attribute bilgilerinin şablon content içeriğinde iteratif görüntülenebilmesi sağlandı. (JAVALTPR-3834)
final HvlNotificationMailRequestModel mailNotificationRequestModel = new HvlNotificationMailRequestModel();
        mailNotificationRequestModel.setCode("SABLON_3");
        mailNotificationRequestModel.setLocale(new Locale("tr-TR"));
        mailNotificationRequestModel.setToAddressList(Collections.singletonList("javalt@havelsan.com.tr"));
record Item(String location, String material, String serialNumber, String expirationDate) {}
List<Item> items = List.of(
        new Item("Ankara", "Kalem", "S123", "2023-01-01"),
        new Item("Çubuk", "Defter", "312321", "2023-01-01")
);
List<Item> expiredItems = List.of(
        new Item("Mersin", "Domates", "3123sdgsdgdgs2132", "2023-01-01"),
        new Item("Antalya", "Biber", "3123123sfasa12321", "2023-01-01"),
        new Item("Adana", "Limon", "3123123sfasa12321", "2023-01-01")
);
Map<String, Object> attributeMap = new HashMap<>();
        attributeMap.put("name", "John");
        attributeMap.put("surname", "Doe");
        attributeMap.put("itemTable", items);
        attributeMap.put("expiredItemTable", expiredItems);
        mailNotificationRequestModel.setAttributeMap(attributeMap);
<html>
<body>
<p>Sayın ${name} ${surname};</p>
<p>Son kullanma tarihi yaklaşan ve(ya) tarihi geçmiş seri numaralı malzemelerin listesi aşağıdaki gibidir:</p>
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse; width: 100%;">
<thead>
<tr>
<th colspan="4" style="text-align: center;">Son Kullanma Tarihi Yakşalan Malzemeler</th>
</tr>
<tr>
<th>Lokasyon</th>
<th>Malzeme</th>
<th>Seri Numarası</th>
<th>Son Kullanım Tarihi</th>
</tr>
</thead>
<tbody> $V{itemTable} <tr>
<td>${location}</td>
<td>${material}</td>
<td>${serialNumber}</td>
<td>${expirationDate}</td>
</tr> $V{end} </tbody>
</table>
<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse; width: 100%;">
<thead>
<tr>
<th colspan="4" style="text-align: center;">Son Kullanma Tarihi Geçmiş Malzemeler</th>
</tr>
<tr>
<th>Lokasyon</th>
<th>Malzeme</th>
<th>Seri Numarası</th>
<th>Son Kullanım Tarihi</th>
</tr>
</thead>
<tbody> $V{expiredItemTable} <tr>
<td>${location}</td>
<td>${material}</td>
<td>${serialNumber}</td>
<td>${expirationDate}</td>
</tr> $V{end} </tbody>
</table>
</body>

Önemli Değişiklikler

Mail uygulamasında @Deprecated(since = "6.0.0") olarak işaretlenen sınıf ve metodlar:

- `tr.com.havelsan.javarch.notification.content.provider.converter.HvlNotificationCalendarMapper` sınıfının yerine `HvlNotificationCalendarEventNotificationRequestMapper` kullanılmalıdır.
- `tr.com.havelsan.javarch.notification.mail.cloud.client.service.HvlNotificationMailRestService.calendarNotify` metodunun yerine aynı sınıf içindeki `calendarEventNotify` metodu kullanılmalıdır.
- `tr.com.havelsan.javarch.notification.mail.starter.controller.HvlNotificationMailRestController.calendarNotify` metodunun yerine  aynı sınıf içindeki  `calendarEventNotify` metodu kullanılmalıdır
- `tr.com.havelsan.javarch.notification.mail.cloud.client.service.HvlNotificationMailRestService.calendarNotify` metodunun yerine  aynı sınıf içindeki  `calendarEventNotify` metodu kullanılmalıdır.

hvl-logger-instance#

Önemli Değişiklikler

3.1.0 versiyonunda Deprecated olarak işaretlenen builder sınıfları silindi. Builder sınıfları model sınıflarının içine taşındı. HvlEventLogModelBuilder.create() gibi kullanımların compile hatası alması durumunda, HvlEventLogModel.builder() şeklinde değiştirilmesi gerekmektedir.

  • 3.1.0 versiyonunda Deprecated olarak işaretlenen builder sınıfları silindi. (JAVALTPR-3333)
  • Logger producer MQ Provider servisine produceAsync methodu eklendi. (JAVALTPR-3334)
  • Logger producer jpa data provider (hvl-logger-producer-jpa-data-provider) paketine farklı bir şema üzerinden çalışma yeteneği eklendi. Doküman Linki (JAVALTPR-3356)
  • Logger processor uygulamasına olay kayıtlarının arşiv tablosunu temizleme özelliği eklendi. (JAVALTPR-3367) Doküman Linki
  • Logger processor job clenaer süresi milisaniye cinsinden iso formatına değiştirildi. PROCESSOR_PROCESS_INTERVAL yeni değeri PT10S yapıldı. (JAVALTPR-3373)
  • Logger için test container desteği eklendi. Gradle bağımlılığı: [group: 'tr.com.havelsan.framework.logger.test', name: 'hvl-logger-test'], (JAVALTPR-3465)
  • Logger search için kullanılan HvlLogSearchQueryModel içerisindeki indices alanının virgül kullanılarak çoklu indeks ismi ile çalışabilmesi sağlandı. Örnek: index1*,index2* (JAVALTPR-3519)
  • Olay kayıtlarına fluentd üzerinden elasticsearch'e atılırken timestamp eklenmesi sağlandı.
  • Logger search uygulamasında sort mekanizaması iyileştirildi. Türkçe karakter ve büyük/küçük harflere göre sonuçların düzgün gelmesi sağlandı. Doküman Linki (JAVALTPR-3708)

hvl-bpmn-instance#

Önemli Değişiklik

İş Listesinde, iş detayı formKey alanından değil, belirli bir formatta hazırlanan süreç değişkeni üzerinden erişilebilir olacak. Kullanımı, aşağıda verilen referansta "İş Detayı" başlığında görülebilir.

  • Süreç tanımları sayfasına "Süreç İstatistikleri" grafikleri eklendi. (JAVALTPR-757)
  • Gösterge öğelerine (dashlet) hedef tanımı yapılabilmesi sağlandı. Doküman Linki (JAVALTPR-3389)
  • Gösterge paneli (dashboard) tasarlanması sağlandı. Doküman Linki (JAVALTPR-3534)
  • Süreç akışında gerçekleşen mail gönderiminin Notification ürünü üzerinden hazır mail template'i kullanılarak yapılabilmesi sağlandı. Doküman Linki (JAVALTPR-3445)
  • Uygulamanın iframe olarak kullandığı Flowable çizim aracına form işlemleri ve konfigürasyonu eklendi. Doküman Linki (JAVALTPR-3788)
  • İyileştirmeler ve bugfix'ler yapıldı.

İş Listesi

hvl-system-instance#

hvl-report-instance#

  • Hvl Content Manager ya da herhangi bir web endpoint üzerinden içerik yüklenmesi sağlandı. (JAVALTPR-3715)
  • Hvl Content Manager entegrasyonu yapıldı. (JAVALTPR-3758)
  • Rapora eklenecek watermark içeriği üretiminin strateji bazlı seçilebilmesi sağlandı. (JAVALTPR-3590)
  • Rapor tasarımı şablonunda CDI Bean kullanımı desteği sağlandı. (JAVALTPR-3592)
  • Rapor tasarım şablonuna; sayfa numarası, oluşturan kullanıcı gibi özelliklerin opsiyonel olarak dahil edilmesi sağlandı. (JAVALTPR-3633)
  • MinIO entegrasyonu yapıldı. (JAVALTPR-3860)
  • İyileştirmeler ve bugfix'ler yapıldı.

hvl-help-portal-instance#

  • İçerikten tag arama eklendi. (JAVALTPR-3459)

UI Güncellemeleri#

Altyapı Kütüphaneleri#

hvlng/framework-bff#

hvlng/framework-core#

hvlng/framework-theme#

  • Topbar üzerindeki componentte ve notification sayfasında verilen linklere göre iç/dış sayfa yönlendirme yapılması sağlandı. (JAVALTPR-3800)
  • Eksen framework sayfa içeriğinde arama sağlandı. (JAVALTPR-3511)
"search": {
  "enabled": true,
  "excludedSuffixPattern": "^[A-Za-z]+(?:_[A-Za-z]+){3,}_\\d{4}$",
  "pageLimit": 10
 }

Önemli Değişiklikler

Polling ve announcement sayfaları için tümünü görüntüleme linkleri parametrik yapıdı. (JAVALTPR-3746)

config.json içinde aşağıdaki parametreler eklendi:

- `seeAllNotificationsRedirectUrl`:Tüm Bildirimleri Görüntüle
- `seeAllAnnouncementsRedirectUrl`:Tüm Duyuruları Görüntüle
- `seeAllGeneralAnnouncementsRedirectUrl`:Tüm Genel Duyuruları Görüntüle

Uygulama Kütüphaneleri#

hvlng/keysis-lib#

hvlng/bpmn-lib#

Önemli Değişiklik

İş Listesinde, iş detayı formKey alanından değil, belirli bir formatta hazırlanan süreç değişkeni üzerinden erişilebilir olacak. Kullanımı, aşağıda verilen referansta "İş Detayı" başlığında görülebilir.

  • Süreç tanımları sayfasına "Süreç İstatistikleri" grafikleri eklendi. (JAVALTPR-757)
  • Gösterge öğelerine (dashlet) hedef tanımı yapılabilmesi sağlandı. Doküman Linki (JAVALTPR-3389)
  • Gösterge paneli (dashboard) tasarlanması sağlandı. Doküman Linki (JAVALTPR-3534)
  • Süreç akışında gerçekleşen mail gönderiminin Notification ürünü üzerinden hazır mail template'i kullanılarak yapılabilmesi sağlandı. Doküman Linki (JAVALTPR-3445)
  • Uygulamanın iframe olarak kullandığı Flowable çizim aracına form işlemleri ve konfigürasyonu eklendi. Doküman Linki (JAVALTPR-3788)
  • İyileştirmeler ve bugfix'ler yapıldı.

hvlng/report-lib#

  • İyileştirmeler ve bugfix'ler yapıldı.

hvlng/ldap-lib#

hvlng/notification-lib#

  • Polling şablonlarını düzenleme yeteneği eklendi
  • Şablon modelinde bazı alanların veritabanı modeli ile boyutlarının eşleştirilmesi sağlandı.

Uygulamalar#

Konfigürasyon (yml) Güncellemeleri#

Önemli Değişiklik

application-management.yml#

  • management.endpoint.health.access: ${HEALTH_ACCESS:unrestricted} değeri eklenmiştir.
  • management.endpoint.restart.enabled key değeri, management.endpoint.restart.access olarak değiştirilmiştir ve value değeri ${RESTART_ACCESS:unrestricted} yapılmıştır.
  • management.endpoint.shutdown.enabled key değeri, management.endpoint.shutdown.access olarak değiştirilmiştir ve value değeri ${SHUTDOWN_ACCESS:unrestricted} yapılmıştır.
  • management.endpoints.enabled-by-default key değeri, management.endpoints.access.default olarak değiştirilmiştir ve value değeri ${MANAGEMENT_ACCESS:unrestricted} yapılmıştır.

application-bpmn.yml#

  • hvl.bpmn.repository.initializer.git.label değeri master olarak değiştirilmiştir.
  • flowable.database-schema değeri ${BPMN_DB_SCHEMA:${spring.jpa.properties.hibernate.default_schema}} olarak değiştirilmiştir.
  • hvl.bpmn.notification.enabled: ${BPMN_NOTIFICATION_ENABLED:false} değeri eklenmiştir.

application-cloud-gateway.yml#

  • hvl.cloud.gateway.request.restriction.enabled: ${HVL_REQUEST_RESTRICTION_ENABLED:false} değeri eklenmiştir.
  • hvl.cloud.gateway.request.restriction.paths altına aşağıdaki değerler eklenmiştir:
    • .*/actuator(/.*)?
    • .*/config/.*framework\(_\)spring.*
    • .*/config/.*framework\(_\)log4j2.*
    • .*/config/.*framework/spring.*
    • .*/config/.*framework/log4j2.*

application-cloud-tracing.yml#

  • hvl.httpexchanges.recording.enabled: false değeri eklenmiştir.

application.database.datasource.yml#

  • spring.datasource.hikari altına aşağıdaki değerler eklenmiştir:
    • minimum-idle: ${DB_POOL_MIN_IDLE:5}
    • maximum-pool-size: ${DB_POOL_MAX_SIZE:100}
    • idle-timeout: ${DB_POOL_IDLE_TIMEOUT:5000}
    • max-lifetime: ${DB_POOL_MAX_LIFETIME:1200000}
    • connection-timeout: ${DB_POOL_CONNECTION_TIMEOUT:60000}
  • spring.jpa.properties.hibernate.type.preferred_uuid_jdbc_type: char değeri eklenmiştir.
  • spring.datasource.password değeri ${DB_PASSWORD:ENC@[09GvOMFV5EFT1OoFXCpZh+HWSkhuAviQSc17ANSu91J9jRToWX9ofRq8LmAf/S01]} olarak değiştirilmiştir.
  • spring.jpa.properties.hibernate.sql-templates-type: ${DB_SQL_TEMPLATES_TYPE:ansi} değeri kaldırılmıştır.
  • spring.jpa.properties.hibernate.type.preferred_uuid_jdbc_type: char değeri eklenmiştir.
  • spring.jpa.properties.hibernate.id-generator.hvl_default_numeric_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.sequence.HvlEntitySequenceGeneratorStrategy değeri eklenmiştir.
  • spring.jpa.properties.hibernate.id-generator.hvl_default_uuid_type_strategy: tr.com.havelsan.javarch.domain.model.entity.strategy.uuid.HvlEntityTimeOrderedEpochBasedUUIDGeneratorStrategy değeri eklenmiştir.

application-database-liquibase.yml#

  • hvl.liquibase.username değeri hvl olarak değiştirilmiştir.
  • hvl.liquibase.referencePassword değeri ENC@[09GvOMFV5EFT1OoFXCpZh+HWSkhuAviQSc17ANSu91J9jRToWX9ofRq8LmAf/S01] olarak değiştirilmiştir.
  • spring.liquibase.parameters.logger-schema: ${hvl.logger.producer.provider.jpa.schema} değeri eklenmiştir.

application-hvl-data.yml#

  • hvl.core.git.global.username.password değeri ${HVL_GIT_GLOBAL_PASSWORD:ENC@[QqsSKa/CPcMrhWsc2TUPFORmbUSLEZIjaGdhGRd4nRP34d/ciVMhcHgEW3soyz1Q]} olarak değiştirilmiştir.
  • hvl.core.jdbc.initializer.git.label değeri master olarak değiştirilmiştir.

application-hvl.logger.yml#

  • hvl.logger.producer.provider.jpa.schema: ${LOGGER_JPA_PROVIDER_SCHEMA:${spring.jpa.properties.hibernate.default_schema}} değeri eklenmiştir.
  • hvl.logger.producer.provider.jpa.history-cleaner altına aşağıdaki değerler eklenmiştir:
    • enabled: ${LOGGER_JPA_PROVIDER_HISTORY_CLEANER_ENABLED:true}
    • job-cron: ${LOGGER_JPA_PROVIDER_HISTORY_CLEANER_CRON:0 0 0 * * ?}
    • ttl-days: ${LOGGER_JPA_PROVIDER_HISTORY_CLEANER_TTL_DAYS:7}

application-hvl-multi-tenancy.yml#

  • hvl.core.multi-tenancy.datasource.sample1.username değeri hvl olarak değiştirilmiştir.
  • hvl.core.multi-tenancy.datasource.sample2.username değeri hvl olarak değiştirilmiştir.

application-hvl-oauth2-security.yml dosyası eklenmiştir.#

application-hvl-security.yml#

  • hvl.core.security.method.type değeri eksen olarak değiştirilmiştir. (default)
  • hvl.core.security.method.eksen.authorityParser: ":" değeri eklenmiştir.
  • hvl.core.security.method.permit-url.notification altına aşağıdaki değer eklenmiştir:
    • /polling/template/enabled/by-code/**
  • hvl.core.security.method.permit-url.bpmn altına aşağıdaki değer eklenmiştir:
    • /process/form/**
  • hvl.oauth.auth.async-token altından aşağıdaki değerler silinmiştir:
    • username: ${AUTH_ASYNC_TOKEN_USERNAME:hvltest5}
    • password: ${AUTH_ASYNC_TOKEN_PASSWORD:123}
    • profile-id: ${AUTH_ASYNC_TOKEN_PROFILE_ID:1}
  • hvl.oauth.auth.async-token altına aşağıdaki değer eklenmiştir:
    • api-key: ${AUTH_ASYNC_TOKEN_API_KEY:HVL_TEST_5_SYSTEM_USER_API_KEY_VALUE}
  • hvl.system.service.url değeri ${SYSTEM_SERVICE_URL: http://hvlsystemsettingserver:9193} olarak değiştirilmiştir.
  • hvl.notification.polling.service.url: ${NOTIFICATION_POLLING_SERVICE_URL: http://hvlnotificationpollingserver:7087} değeri eklenmiştir.

application-hvl-service.yml#

  • hvl.request-logger.include-list değerleri aşağıdaki gibi örneklendirilmiştir:
    • #request-body,request-headers,response-body,response-headers
  • hvl.request-logger.request-body-max-length: 1000 değeri eklenmiştir.
  • hvl.request-logger.response-body-max-length: 1000 değeri eklenmiştir.

application-hvl-web-security.yml#

  • hvl.core.security.web.login-form.title değeri ${SECURITY_WEB_LOGIN_FORM_TITLE:EKSEN Web Form} olarak değiştirilmiştir.
  • hvl.core.security.web.credentials değeri ENC@[NOV9nDrzEkZOMIB4bC6TP6rO+TW8brFCpCVNzkJmO9hcD/vayh/aUs621a27wL9s] olarak değiştirilmiştir.

application-instance.yml#

  • hvl.core.configuration.encryptor.pooled-pbes.password değeri "{cipher}AQCJ+C12EnWb7fGx1gI7Itg5OmuKnA//m7/Q4qLaMJk8IaA6Ki+55wTuax49OW4CbxKfzJsWSFLxV+5CKnKxsfg/mz0pLV5M05Ur63oPZG8t9O+8m0n7AGOAkgypfosJS6bGLdh5FOM7UuGXSXfJdCayi0e9Z8CCIY1ysWhEn6OXFu1VUE7P6nqpJkqq2UN/Uc0W8ha76RVIX1yUMyyf7rnJk6Vow1WT43bOhGJVq63LXifixbXLSlTyW18DsXgekaP7Z42HmDLFGOJrmdRiiykE8XNAv9c7gzl6fYHroRyqZFxVSLiBpHMa5T3YLUjAWs+fiV34dp09yGEmxs2/aDtlYvldTM7xLsQcPwksWWrQVgp5c3QyIaj1UZ9pWoONSOF12a23U2fYRv2jTNsKzHjI8GJ4PeRHQD5+zq8sW33X1Q==" olarak değiştirilmiştir.
  • hvl.core.configuration.encryptor.pooled-pbes.algorithm değeri ${CONFIG_ENC_PBES_ALGORITHM:PBEWithHMACSHA512AndAES_256} olarak değiştirilmiştir.
  • hvl.core.configuration.encryptor.pooled-pbes.iv-generator-class-name: ${CONFIG_ENC_PBES_IVGC:org.jasypt.iv.RandomIvGenerator} değeri eklenmiştir.

application-kafka.yml#

  • hvl.core.kafka.consumer.non-retriable-exceptions parametresinin adında retryable typo düzeltmesi yapılmıştır.
  • hvl.core.kafka.consumer.retryable-exception-properties.backoff altına aşağıdaki değer eklenmiştir:
    • interval-ms: ${KAFKA_RETRYABLE_BACKOFF_INTERVAL_MS:2000}
    • multiplier: ${KAFKA_RETRYABLE_BACKOFF_MULTIPLIER:1.5}
    • max-interval-ms: ${KAFKA_RETRYABLE_BACKOFF_MAX_INTERVAL_MS:60000}
  • spring.kafka.producer.transaction-id-prefix değeri ${KAFKA_PRODUCER_TRANSACTIONAL_ID_PREFIX:${spring.kafka.producer.client-id}-tx-} olarak değiştirilmiştir.
  • spring.kafka.producer.retries değeri ${KAFKA_PRODUCER_RETRIES:50} olarak değiştirilmiştir.
  • spring.kafka.producer.properties altına aşağıdaki değerler eklenmiştir:
    • request.timeout.ms: ${KAFKA_PRODUCER_REQUEST_TIMEOUT:90000}
    • delivery.timeout.ms: ${KAFKA_PRODUCER_DELIVERY_TIMEOUT:240000}
    • transaction.timeout.ms: ${KAFKA_PRODUCER_TRANSACTION_TIMEOUT:160000}
    • retry.backoff.ms: ${KAFKA_PRODUCER_RETRY_BACKOFF_MS:75}
    • linger.ms: ${KAFKA_PRODUCER_LINGER_MS:5}
    • max.block.ms: ${KAFKA_PRODUCER_MAX_BLOCK_MS:120000}

application-ldap-datasource.yml#

  • spring.ldap.modify.attribute.entry.object-class.field-value değeri ${LDAP_ATTRIBUTE_MODIFY_ENTRY_OBJECTCLASS_VALUE:top,person,organizationalperson,inetorgperson,posixaccount} olarak değiştirilmiştir.
  • spring.ldap.modify.attribute.group.object-class.field-value değeri ${LDAP_ATTRIBUTE_MODIFY_GROUP_OBJECTCLASS_VALUE:top,groupofnames,nestedgroup,ipausergroup,ipaobject,posixgroup} olarak değiştirilmiştir.
  • spring.ldap.select.attribute.group.object-class.field-value değeri ${LDAP_ATTRIBUTE_SELECT_GROUP_OBJECTCLASS_VALUE:ipausergroup} olarak değiştirilmiştir.

application-management.yml#

  • hvl.management.endpoint.env.sanitizer.key-regexes kısmı ve altına da aşağıdaki değerler eklenmiştir:
  • .*[Pp]assword$
  • .*[Ss]ecret$
  • hvl.core.security.web.credentials

application-redis.yml#

  • hvl.core.cache.redis.cache-manager.ttl değerinin key kısmı default-cache-ttl olarak değiştirilmiştir ve ${REDIS_CM_DEFAULT_CACHE_TTL:PT0S} değeri eklenmiştir.
  • hvl.core.cache.redis.cache-manager.cache-expirations: [ ] kısmı eklenmiştir.
  • spring.data.redis.timeout: 6000 değeri eklenmiştir.
  • spring.data.redis.lettuce.shutdown-timeout değeri ${REDIS_LETTUCE_SHUTDOWN_TIMEOUT:2000ms} olarak değiştirilmiştir.
  • spring.data.redis.lettuce.pool.max-active değeri ${REDIS_LETTUCE_POOL_MAX_ACTIVE:15} olarak değiştirilmiştir.
  • spring.data.redis.lettuce.pool.min-idle: ${REDIS_LETTUCE_POOL_MAX_IDLE:2} değeri eklenmiştir.

application-swagger.yml#

  • hvl.springdoc.api-docs.properties.api-info.security.bearer altına aşağıdaki değerler eklenmiştir:
    • enabled: false
    • format: JWT
  • hvl.springdoc.api-docs.properties.api-info.security.oAuth2 altına aşağıdaki değerler eklenmiştir:
    • authorization-url: http://eksen.hvlnet.net:7080/protocol/oidc/authorize
    • token-url: http://eksen.hvlnet.net:7080/protocol/oidc/token
    • grant-types: client_credentials,authorization_code,password,implicit
    • scopes: openid

admin-server-docker-compose.yml#

  • services.admin-server.image değeri harbor.bulut.ai/framework/hvl-spring-admin-server:6.0.0 olarak değiştirilmiştir.
  • services.admin-server.environment altına aşağıdaki değerler eklenmiştir:
    • SECURITY_WEB_LOGIN_FORM_ENABLED: 'false'
    • MANAGEMENT_ACCESS: none
    • RESTART_ACCESS: none
    • SHUTDOWN_ACCESS: none
    • REQUEST_LOGGER_ENABLED: 'false'
  • services.admin-server.entrypoint kısmından -XX:+EnableDynamicAgentLoading değeri çıkarılmıştır.

bpmn-admin-docker-compose.yml#

  • services.bpmn-admin.image değeri harbor.bulut.ai/framework/hvl-bpmn-admin-server:6.0.0 olarak değiştirilmiştir.
  • services.bpmn-admin.environment altına aşağıdaki değerler eklenmiştir:
    • SW_AGENT_NAME: bpmn-admin-server
    • BPMN_REPOSITORY_INITIALIZER_GIT_LABEL: master
  • services.bpmn-admin.entrypoint değerlerinden hvl-bpmn-server.jar, -hvl-bpmn-admin-server.jar olarak değiştirilmiştir.

bpmn-engine-docker-compose.yml#

  • services.bpmn-engine.image değeri harbor.bulut.ai/framework/hvl-bpmn-engine-server:6.0.0 olarak değiştirilmiştir.
  • services.bpmn-engine.environment.SW_AGENT_NAME: bpmn-engine-server değeri eklenmiştir:
  • services.bpmn-engine.entrypoint değerlerinden hvl-bpmn-server.jar, -hvl-bpmn-engine-server.jar olarak değiştirilmiştir.

config-docker-compose.yml#

  • services.config-server.image değeri harbor.bulut.ai/framework/hvl-spring-configuration-server:6.0.0 olarak değiştirilmiştir.
  • services.config-server.environment altına aşağıdaki değerler eklenmiştir:
  • REQUEST_LOGGER_ENABLED: 'false'
  • MANAGEMENT_ACCESS: none
  • RESTART_ACCESS: none
  • SECURITY_ENABLED: 'false'
  • METHOD_SECURITY_ENABLED: 'false'

gateway-docker-compose.yml#

  • services.gateway.image değeri harbor.bulut.ai/framework/hvl-spring-gateway-server:6.0.0 olarak değiştirilmiştir.
  • services.gateway.environment altına aşağıdaki değerler eklenmiştir:
  • MANAGEMENT_ACCESS: none
  • RESTART_ACCESS: none
  • SHUTDOWN_ACCESS: none
  • services.gateway.entrypoint değerlerinden -XX:+EnableDynamicAgentLoading çıkarılmıştır.

logger-processor-docker-compose.yml#

  • services.logger-processor.image değeri harbor.bulut.ai/framework/hvl-logger-processor-server:6.0.0 olarak değiştirilmiştir.
  • services.logger-processor.environment kısmında yapılan değişiklikler aşadağıdaki gibidir:
    • DB_SCHEMA_CREATE_ENABLED: 'false' değeri kaldırılmıştır.
    • LIQUIBASE_CHANGE_LOG değeri liquibase/logger-processor/changelog-root.yaml olarak değiştirilmiştir.
    • PROCESSOR_PROCESS_INTERVAL değeri PT10S olarak değiştirilmiştir.

logger-producer-docker-compose.yml#

  • services.logger-producer.image değeri harbor.bulut.ai/framework/hvl-logger-producer-server:6.0.0 olarak değiştirilmiştir.
  • services.logger-producer.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
    • SW_AGENT_NAME: logger-producer-server değeri eklenmiştir.
    • DB_SCHEMA_CREATE_ENABLED: 'false' değeri kaldırılmıştır.
    • KAFKA_TRANSACTION_ENABLED: 'true' değeri kaldırılmıştır.

logger-search-docker-compose.yml#

  • services.logger-search.image değeri harbor.bulut.ai/framework/hvl-logger-search-server:6.0.0 olarak değiştirilmiştir.
  • services.logger-search.environment.SW_AGENT_NAME: logger-search-server değeri eklenmiştir.

notification-mail-docker-compose.yml#

  • services.notification-mail.image değeri harbor.bulut.ai/framework/hvl-notification-mail-server:6.0.0 olarak değiştirilmiştir.
  • services.notification-mail.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
  • SW_AGENT_NAME: notification-mail-server değeri eklenmiştir.
  • DB_SCHEMA_CREATE_ENABLED: 'false' değeri eklenmiştir.
  • KAFKA_TRANSACTION_ENABLED: 'true' değeri kaldırılmıştır.

notification-polling-docker-compose.yml#

  • services.notification-polling.image değeri harbor.bulut.ai/framework/hvl-notification-polling-server:6.0.0 olarak değiştirilmiştir.
  • services.notification-polling.environment altına aşağıdaki değerler eklenmiştir:
  • SW_AGENT_NAME: notification-polling-server
  • POLLING_EVENT_TOPIC: 'javalt-polling-notification'
  • HVL_SCHEDULING_QUARTZ_JDBCJOBSTORE_TABLEPREFIX: QRTZ_

notification-stomp-ws-docker-compose.yml#

  • services.notification-stomp-ws.image değeri harbor.bulut.ai/framework/hvl-notification-stomp-ws-server:6.0.0 olarak değiştirilmiştir.

oauth-auth-docker-compose.yml#

  • services.authentication.image değeri harbor.bulut.ai/framework/hvl-oauth-auth-server:6.0.0 olarak değiştirilmiştir.
  • services.authentication.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
  • SW_AGENT_NAME: auth-server değeri eklenmiştir.
  • AUTH_OIDC_LOGIN_PAGE_URL değeri "https://eksen.bulut.ai/keysis/#/login" olarak güncellenmiştir.
  • AUTH_OIDC_ISSUER_URI değeri "https://eksen.bulut.ai/gw/auth-server" olarak güncellenmiştir.

oauth-authz-docker-compose.yml#

  • services.authorization.image değeri harbor.bulut.ai/framework/hvl-oauth-authz-server:6.0.0 olarak değiştirilmiştir.
  • services.authorization.environment altına aşağıdaki değerler eklenmiştir:
  • SW_AGENT_NAME: authz-server
  • LIQUIBASE_CONTEXTS: 'dev,setting'
  • POLLING_EVENT_TOPIC: 'javalt-polling-notification'

oauth-event-docker-compose.yml#

  • services.event.image değeri harbor.bulut.ai/framework/hvl-oauth-event-server:6.0.0 olarak değiştirilmiştir.
  • services.event.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
  • SW_AGENT_NAME: oauth-event-server değeri eklenmiştir.
  • KAFKA_TRANSACTION_ENABLED: 'true' değeri kaldırılmıştır.

oauth-ldap-docker-compose.yml#

  • services.ldap.image değeri harbor.bulut.ai/framework/hvl-oauth-ldap-server:6.0.0 olarak değiştirilmiştir.
  • services.ldap.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
  • SW_AGENT_NAME: ldap-server değeri eklenmiştir.
  • KAFKA_TRANSACTION_ENABLED: 'false' değeri kaldırılmıştır.

oauth-session-docker-compose.yml#

  • services.session.image değeri harbor.bulut.ai/framework/hvl-oauth-session-server:6.0.0 olarak değiştirilmiştir.
  • services.session.environment.SW_AGENT_NAME: session-server değeri eklenmiştir.

registry-docker-compose.yml#

  • services.registry-first.environment.SECURITY_WEB_LOGIN_FORM_TITLE: EKSEN Eureka Server 1 değeri eklenmiştir.
  • services.registry-first.environment.REQUEST_LOGGER_ENABLED: 'false' değeri eklenmiştir.
  • services.registry-second.environment.SECURITY_WEB_LOGIN_FORM_TITLE: EKSEN Eureka Server 2 değeri eklenmiştir.
  • services.registry-second.environment.REQUEST_LOGGER_ENABLED: 'false' değeri eklenmiştir.
  • services.registry-image.image değeri harbor.bulut.ai/framework/hvl-eureka-registry-server:6.0.0 olarak değiştirilmiştir.

report-docker-compose.yml#

  • services.report.image değeri harbor.bulut.ai/framework/hvl-report-server:6.0.0 olarak değiştirilmiştir.
  • services.report.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
  • SW_AGENT_NAME: report-server değeri eklenmiştir.
  • KAFKA_TRANSACTION_ENABLED: 'false' değeri kaldırılmıştır.

system-menu-docker-compose.yml#

  • services.system-menu.image değeri harbor.bulut.ai/framework/hvl-system-menu-server:6.0.0 olarak değiştirilmiştir.
  • services.system-menu.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
  • SW_AGENT_NAME: system-menu-server değeri eklenmiştir.
  • LIQUIBASE_CHANGE_LOG değeri changelog-root.yaml olarak değiştirilmiştir.
  • LIQUIBASE_CONTEXTS: dev,menu değeri eklenmiştir.

system-setting-docker-compose.yml#

  • services.system-setting.image değeri harbor.bulut.ai/framework/hvl-system-setting-server:6.0.0 olarak değiştirilmiştir.
  • services.system-setting.environment alanı için yapılan değişiklikler aşağıdaki gibidir:
  • SW_AGENT_NAME: system-setting-server değeri eklenmiştir.
  • LIQUIBASE_CHANGE_LOG değeri changelog-root.yaml olarak değiştirilmiştir.

bpmn-ui-docker-compose.yml dosyası eklendi.#

eksen-ui-docker-compose.yml dosyası eklendi.#

eksen-ui-docker-compose.yml#

  • services.eksen-ui.image değeri harbor.bulut.ai/framework/hvl-eksen-ui:5.7.0 olarak değiştirilmiştir.
  • services.eksen-ui.environment altına aşağıdaki değerler eklenmiştir:
    • CONF_SERV_ENDPOINT: https://gwinfradev.bulut.ai/eksen-config
    • APP_BASE_HREF: /

flowable-editor-docker-compose.yml#

  • services.bpmn-editor.image değeri harbor.bulut.ai/framework/hvl-flowable-editor:6.0.0 olarak değiştirilmiştir.

Veritabanı Güncellemeleri#