Skip to end of metadata
Go to start of metadata

 

Podstawowe informacje

Pakiet: com.suncode.plugin.organization.structure.task.SyncOrganizationStructureDS

Dostępna od wersji: 1.0.0

Opis

Zadanie aktualizuje strukturę organizacyjną na podstawie odpowiednio skonfigurowanego źródła danych. 

Założenia

  • Usuwa stanowiska, które nie są podpięte do żadnego użytkownika
  • Jednostki organizacyjne tylko są dodawane, jeżeli nie istnieją już w systemie
  • Nie usuwa stanowisk już podpiętych do użytkownika (od wersji 1.0.1 opcja która na to pozwala
  • Zawsze aktualizuję dane użytkownika (Imię, Nazwisko, Email, Numer)
Parametry konfiguracyjne
Nazwa parametruod wersjiOpisTyp parametruUwagi i ograniczenia
Identyfikator źródła danych*1.0.0Id skonfigurowanego źródła danych odpowiednio skonfigurowanego pod zadanie.TekstTylko źródła z operacją "Odczyt".
Klucz mapowania użytkownika*1.0.0Mapowanie użytkowników z kolumną ze źródła (aktualnie obsługiwane userName,userNumber,userEmail).TekstWartości w systemie muszą być unikalne.
Klucz mapowania przełożonego1.0.1Mapowanie użytkowników z kolumną ze źródła (aktualnie obsługiwane superiorName,superiorNumber,superiorFullName,superiorFullNameRev).TekstPusta wartość zachowuję kompatybilność wsteczną.
Odłącz nie synchronizowane stanowiska 1.0.1Odłącza stanowiska użytkownikowi, których nie ma przypisanych w pobranych danych ze źródła. Obsługuje tylko użytkowników, którzy zgadzają się z danymi pobranymi ze źródła.TekstWartość pusta lub "false" (mogą być różnej wielkości litery) traktowana jest jako false. Inne wartości jako pozytywne.
Konfiguracja źródła danych

 

Źródło danych powinno być ustawione do odczytu oraz posiadać odpowiednie identyfikatory zmiennych, które chcemy zmapować.

 

Identyfikator
Opis
Uwagi
userNumberAktualizuje numer użytkownika.Może być użyty do mapowania, ale w systemie muszą być użytkownicy dodani już z unikalnym numerem.
userFirstNameAktualizuję imię użytkownika. 
userLastNameAktualizuję nazwisko użytkownika. 
userName Tylko do mapowania.
userEmailAktualizuje email użytkownika.Może być użyty do mapowania, ale w systemie muszą być użytkownicy dodani już z unikalnym email.
superiorFullNameRevNazwisko i imię przełożonego.Kolumna zawiera nazwisko i imię przełożonego (odwrócone). np "PlusWorkflow Administrator".
superiorFullNameImię i nazwisko przełożonego.Kolumna zawiera nazwisko i imię przełożonego. np "Administrator PlusWorkflow".
superiorFirstNameImię przełożonego.Kolumna zawiera imię przełożonego.
superiorLastNameNazwisko przełożonego.Kolumna zawiera nazwisko przełożonego.
superiorNameNazwa przełożonego.Kolumna zawiera nazwę przełożonego.
positionNameNazwa Stanowiska.Gdy nazwy nie ma, brany jest symbol stanowiska (gdy jest to tworzone jest nowe).
positionSymbolSymbol Stanowiska.Gdy nie ma symbolu stanowiska to generowany jest on za pomocą Nazwy stanowiska.
ouNameNazwa jednostki organizacyjnej. 
ouSymbolSymbol jednostki organizacyjnej. 
higherOUSymbolSymbol jednostki nadrzędnej.Zadziała gdy podane jest jednostka organizacyjna.
higherOUNameNazwa jednostki nadrzędnej.Zadziała gdy podane jest jednostka organizacyjna.
superiorNumberNumer przełożonego.Kolumna zawiera numer przełożonego.

 

Przykładowa konfiguracja źródła danych.

Sposób działania
  1. Zadania najpierw filtruje dane ze źródła. Zostawia dane użytkowników, którzy są już dodani do systemu.
  2. Zadanie na początku usuwa wolne stanowiska (w celu poprawnej numeracji symboli podczas tworzenia stanowisk).
  3. Następnie dla każdego wiersza pobranego ze źródła (już po filtracji) pobiera użytkownika wedle ustalonego parametru klucza mapowania  (userName, userNumber, userEmail).
  4. Aktualizuje dane tego użytkownika (, jeżeli źródło posiada odpowiednio skonfigurowane identyfikatory parametrów). Ustawia Imię , Nazwisko, Numer, Email.
  5. Potem pobiera lub tworzy jednostkę organizacyjną oraz jednostkę nadrzędną. 
  6. Następnie pobiera stanowisko użytkownika (Jeżeli go nie ma to tworzy nowe i przypisuję danemu użytkownikowi).
  7. Następnie do stanowiska podpina jednostkę organizacyjną.
  8. Po przetworzeniu wszystkich wierszy ze źródła danych, podpina przełożonych.
  9. Odpina niesynchronizowane stanowiska jeżeli jest włączona taka opcji.
  10. Na końcu usuwa wolne stanowiska.
Zasada tworzenia jednostek organizacyjnych
  1. Jeżeli w źródle danych nie ma ouName oraz ouSymbol, to nie utworzy żadnych jednostek organizacyjnych.
  2. Jeżeli jest podany tylko ouName, to tworzony jest symbol stanowiska na podstawie nazwy. Jeżeli nazwa jest jednoczłonowa, to symbol zostaję utworzony z wielkich liter. Gdy nazwa ma więcej słów, to symbol powstaje z pierwszych znaków tych wyrazów. np Dział Wdrożeniowy - DW.
  3. Gdy jest podany ouSymbol to wyszukiwana jest jednostka organizacyjna w systemie, ewentualnie aktualizowana jest nazwa jeżeli jest podany ouName.
  4. Gdy jednostki nie ma w systemie to jest tworzona nowa.
  5. Następnie odczytywane są higherOUName i higherOUsymbol. i poszukiwane lub tworzone jednostki nadrzędne wedle tego samego algorytmu.
  6. Na końcu do jednostki organizacyjnej jest ustawiana jednostka nadrzędna.

Przykład utworzonych jednostek organizacyjnych

Zasada tworzenia stanowisk
  1. Najpierw jest pobierane stanowisko przypisane do użytkownika po symbolu positionSymbol. Gdy użytkownik posiada to stanowisko, to co najwyżej jest aktualizowana jego nazwa. Lub sprawdzane, czy użytkownik posiada stanowisko o podanej nazwie positionName, jeżeli w źródle nie podano symbolu.

  2. Jeżeli użytkownik nie posiada stanowiska, to jest tworzone nowe. Symbol stanowiska jest generowany podobnie jak przy jednostkach organizacyjnych, tylko doklejany jest pierwszy wolny numer dla danego skrótu. (Zaczynając od 1 ) np dla positionName = "mechanik maszyn i urządzeń przemysłowych" wygenerowany symbol to MMIUP-4.

Przykład utworzonych stanowisk

Zasada dodawania przełożonych
  1. Gdy parametr "Klucz mapowania przełożonego" nie jest ustawiony to wykonywane są poniższe kroki.

    1. Aby można było dodać przełożonych, w źródle muszą być informacje o stanowiskach oraz informacje o przełożonym w  wybranym formacie: superiorFullName,  superiorFullNameRev lub  (superiorFirstName oraz superiorLastName).

    2. Najpierw sprawdza czy jest id superiorFullName potem superiorFullNameRev na końcu superiorFirstName oraz superiorLastName . I na tej podstawie wyszukuje przełożonego i go podpina do danego użytkownika.

  2. Gdy parametr ten jest ustawiony to wyszukuje przełożonego po tym parametrze i podpina do danego użytkownika. Dla wybranej opcji superiorFullName  oraz superiorFullNameRev  jeżeli nie ma tych id w źródle to będzie tworzył za pomocą superiorFirstName, i superiorLastName.

 

Change log

1.0.0 (obowiązująca dokumentacja)

  • Utworzenie zadania zaplanowanego

1.0.1

  • Rozszerzenie zadania zaplanowanego

 

 

 

 

  • No labels

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.