Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Do klasy 
    Javadoc
    displayValueAuditTypes
    propertyjavadoc.plusworkflow
    classNamecom.suncode.pwfl.audit.util.AuditTypes
     dodać odpowiednią wartość np. AUDIT_CUSTOM_TEST.
  2. W klasie AuditCategories należy dodać nowy utworzony typ audytu w metodzie zwracającej kategorię tego audytu.
  3. Jeżeli audyt jest dodawany do kontrolera/servletu i jest dostęp do obiektu HttpServletRequest, to należy dodać fragment:

    Code Block
    languagejava
    @RequestMapping( "audit" )
    @ResponseStatus( HttpStatus.OK )
    public void test( HttpServletRequest request )
    {
        // czasochłonne operacje
    
        request.setAttribute( "audit", AuditBuilder.getInstance()
            .type( AuditTypes.AUDIT_CUSTOM_TEST )
            .success( true )
            .params( ImmutableMap.of( "param1", "paramValue" ) ) // parametry audytu
            .build() );
    }

    System sam obliczy sobie czasy wykonania zapytania, wyciągnie zalogowanego użytkownika oraz adres IP.
    Możemy też skorzystać z odpowiednich metod zamiast ustawiać pole z sukcesem:

    Code Block
    languagejava
    AuditBuilder.getInstance().type(AuditTypes.AUDIT_CUSTOM_TEST).buildSuccess();
    AuditBuilder.getInstance().type(AuditTypes.AUDIT_CUSTOM_TEST).buildFailure();
  4. Jeżeli audyt jest dodawany w innym miejscu, niż kontrolery/servlety, to należy dodać fragment.

    Code Block
    languagejava
    Date started = new Date();
    
    // czasochłonne operacje ...
    
    ManualAuditBuilder.getInstance() // ManualAuditBuilder pozwala na ustawienie dodatkowo użytkownika, czas trwania audytu i adres IP
        .type( AuditTypes.AUDIT_CUSTOM_TEST )
        .started( started )
        .username( username ) // jeżeli nie ma dostępu do requesta, lecz znany jest użytkownik
        .success( true )
        .params( ImmutableMap.of( "param1", "paramValue" ) )
        .build()
        .log();

    Należy samemu obliczyć czas wykonania audytu, ustawić ręcznie użytkownika i adres IP (jeżeli jest taka informacja).

  • Do tłumaczeń systemowych typu SERVER należy dodać wpisy z tłumaczeniami dla typu audytu (klucz identyczny jak typ audytu), oraz dla nazwy parametru (AUDIT_PARAM_ + nazwa parametru wielkimi literami). Przykładowo:

    Code Block
    languagetext
    titlemessages.properties
    AUDIT_CUSTOM_TEST=Dowolna nazwa audytu
    AUDIT_PARAM_PARAM1=Dowolna nazwa parametru audytu

    6. W przypadku w którym wartości parametrów audytu wymagają przetworzenia przed wyświetleniem należy dodać odpowiedni Formatter rozszerzający klasę com.suncode.pwfl.audit.formatter.Formatter z modułu plusworkflow-audit.

    Sytuacje w których powinno się dodać własny formatter to:

  • tłumaczenie nazwy procesu/zadania
  • pobranie imienia i nazwiska użytkownika (zamiast loginu)
  • pobranie jakiejś nazwy którą użytkownik może zdefiniować w customowych plikach tłumaczeń
  • przetłumaczenie wartości logicznej
  • przetłumaczenie jakiejś nazwy np. typ indeksu klasy dokumentów, typ uprawnienia, konfiguracji itp
Note

Klasa Formatter posiada już niektóre metody pozwalające na tłumaczenie wybranych parametrów audytu.

Note

Jeśli tworzymy audyt operacji w której zostają zmienione jakieś parametry np. należy w parametrach audytu pokazać zmianę parametru w formacie stara_wartość > nowa_wartość. Jeśli wartości mają zostać w jakiś sposób przetworzone to zalecam przekazać je do formattera w postaci "stara_wartość;nowa_wartość", ponieważ metody w klasie Formatter mają obsługę dostosowaną to wartości oddzielonych średnikiem.

 

Tworzenie audytu wdrożeniowego

Aby dodać wdrożeniowy audyt należy:

...