Wprowadzenie
Aplikacja Obiekty deweloperskie służy do tworzenia i wyświetlania obiektów deweloperskich różnych typów. Aplikacja pozwala na zarządzanie zadaniami w celu kontroli dostępu za pomocą dwustopniowego mechanizmu blokowania i zarządzania wersjami.
Niniejszy artykuł opisuje aplikację z elementami obowiązującymi dla wszystkich obiektów deweloperskich, a także sposób działania aplikacji. Dla każdego obiektu deweloperskiego dostępna jest dedykowana dokumentacja.
Definicje
Archiwalne i systemowe obiekty biznesowe używane do zarządzania obiektami deweloperskimi są podzielone na grupy:
- Archiwalne obiekty biznesowe zapisują wersjonowane dane. Zapisywane są zarchiwizowane, aktywne oraz bieżące wersje. Zawartość tych obiektów biznesowych jest wyświetlana i edytowana w aplikacji Obiekty deweloperskie.
- Obiekty biznesowe systemu są identyczne z archiwalnymi obiektami biznesowymi z wyjątkiem wersji. System wykorzystuje takie obiekty biznesowe, aby uzyskać dostęp do metadanych podczas działania systemu (np. wyświetlanie opisu danych, wyświetlanie ikon). Aktywna lub aktualna wersja podczas przetwarzania jest przenoszona z archiwum do obiektów biznesowych systemu. To, która wersja znajduje się w tabelach systemowych w danym momencie, jest opisane w schemacie programu.
Obszar nazw systemów deweloperskich – każdemu z systemów deweloperskich przypisany jest dokładnie jeden obszar nazw (przestrzeń nazw deweloperskich) z podprzestrzeniami nazw. Ten obszar nazw jest używany do programowania w systemie. Nowe obiekty deweloperskie mogą być tworzone tylko w tym obszarze nazw. Zmiany obiektów deweloperskich w innych obszarach nazw są możliwe tylko w ograniczonym zakresie.
Obszary nazw dla systemu deweloperskiego znajdują się w obszarze nazw com, która stanowi podstawę wszystkich nazw w obszarze. W obszarze nazw com nie znajdują się inne obszary nazw.
Struktura drzewa w obszarze nazw utworzonym przez prefiks deweloperski.
com.<skrót partnera> – rozwój rozwiązania branżowego lub systemu APP
com.<skrót klienta> rozwój dla klienta
Skróty muszą być unikalne we wszystkich systemach. Dlatego są one przypisywane centralnie.
Obiekt deweloperski – to obiekt zdefiniowany w Comarch ERP Enterprise, za pomocą którego programiści aplikacji rozwijają inne obiekty. Wszystkie obiekty deweloperskie zapisywane są w bazie repozytorium. Można je tworzyć, zmieniać i usuwać za pomocą aplikacji Obiekty deweloperskie.
Nazwy obiektów deweloperskich zaczynają się wielką literą, z wyjątkiem ikon. W przypadku ikon nazwa zaczyna się od małej litery. Następnie dozwolone są dowolne litery i cyfry arabskie.
Oryginalne repozytorium – każdy obiekt deweloperski jest oznaczony informacją, czy został pierwotnie zarejestrowany w bieżącym repozytorium, czy zaimportowany do tego systemu poprzez aktualizację oprogramowania.
Stan blokady – jeśli obiekt deweloperski jest edytowany w zadaniu deweloperskim, zostaje on zablokowany. Wprowadzono tutaj rozróżnienie:
- Blokada globalna jest blokadą zadania. Obiekt deweloperski jest przypisany do otwartego lub zwolnionego zadania. Oznacza to, że nie można go przypisać do żadnego innego zadania. Blokady tej nie można ustawić jawnie. Globalnie zablokowany obiekt deweloperski nie może być edytowany przez użytkownika, dopóki nie zostanie ustawiona blokada lokalna.
- Blokada lokalna jest blokadą użytkownika. Jest ona ustawiana, gdy obiekt deweloperski jest edytowany przez użytkownika. Blokada lokalna automatycznie obejmuje blokadę globalną.
Języki – system posiada kilka opcji używania języków dla danych nie zależnych od języka. Dla każdej bazy danych definiowany jest język podstawowy i języki dodatkowe, które określają języki, w których można edytować atrybuty lokalne. To, z którym z nich pracuje użytkownik, jest definiowane w ustawieniach użytkownika. Języki, które mają być dostępne jako języki korespondencyjne, można również wprowadzić w aplikacji Języki.
Rozróżnia się dwa języki w aplikacji Obiekty deweloperskie:
- Język wyświetlania – jest to język, w którym wyświetlane są teksty interfejsu.
- Język programowania – wszystkie możliwe do przetłumaczenia teksty w obiektach deweloperskich są wprowadzane w określonym języku programowania. Jeśli nie ma tekstu w określonym języku programowania dla tekstu, który można przetłumaczyć, tekst nie jest wyświetlany. Język programowania jest wyświetlany w prawym górnym rogu ikony typu obiektu programowania.
Wersjonowanie – można zapisać wiele wersji obiektu deweloperskiego. Wersjonowanie służy do archiwizowania zmian w obiektach deweloperskich i rozpoznawania zmian wprowadzonych przez partnerów. Pozwala na rozpoznawanie konfliktów podczas importowania nowej wersji.
Pierwsza wersja jest tworzona podczas tworzenia nowego obiektu deweloperskiego. Wersja ta staje się aktywna dopiero po aktywacji zadania deweloperskiego. Jeśli istniejący obiekt deweloperski zostanie uwzględniony w przetwarzaniu, tj. dodany do zadania deweloperskiego, tworzona jest nowa wersja. Numer wersji zwiększa się o jeden.
- Aktywna wersja – ostatnio aktywowana wersja. Jeśli obiekt deweloperski nie jest edytowany, ta wersja jest używana podczas działania. Tej wersji nie można zmienić.
- Aktualna wersja – jeśli obiekt deweloperski nie jest edytowany, bieżąca wersja odpowiada wersji aktywnej. Edycja odbywa się w bieżącej wersji, która jest zablokowana w zadaniu deweloperskim. Jednak system zazwyczaj ma już dostęp do bieżącej wersji (patrz tabele systemowe i archiwalne). Po zakończeniu edycji bieżąca wersja staje się wersją aktywną. Jeśli bieżąca wersja zostanie usunięta (usunięta z zadania deweloperskiego),następnie aktywna wersja jest kopiowana z powrotem do tabel systemowych. W systemach produkcyjnych bieżąca wersja jest zawsze taka sama jak wersja aktywna.
- Zarchiwizowana wersja to wszystkie inne wersje. Wersje te można tylko odczytywać, nie można ich zmieniać. Numer wersji składa się z sześciu znaków. W zależności od typu zestawu (poziomu wersjonowania) systemu, odpowiednia część numeru wersji jest zwiększana. Podczas zapisywania numeru wersji zera po prawej stronie są pomijane.
Zdefiniowano następujące rodzaje systemów:
Poziom | Typ | Wyjaśnienie | Numer wersji |
1 | Standardowy system deweloperski | Standardowy rozwój z kolejnym wydaniem. | x.0 |
2 | Środowisko deweloperskie aplikacji | Systemy tworzenia aplikacji mają poziom wersjonowania 2. Wszystkie numery wersji mają stałą wartość n w pierwszej cyfrze; jest ona określana w aplikacji Panel system. | n.x |
3 | System rozwoju partnerów | Niestandardowe rozszerzenie standardu systemu przez partnera. | 0.0.x |
4 | Zablokowany | 0.0.0.x | |
5 | Gotowy do użycia | 0.0.0.0.x | |
6 | System deweloperski klienta | Modyfikacja systemu standardowego lub branżowego zgodnie z indywidualnymi wymaganiami biznesowymi | 0.0.0.0.0.x |
7 | System produkcyjny, system testowy, QAS | System testowy zawiera test nowe rozwiązania, poprawki i tłumaczenia. | Brak rozwoju w tych systemach |
Pełna nazwa obiektu deweloperskiego – jest tworzona poprzez połączenie nazw przestrzeni nazw wyższego poziomu i nazwy obiektu programistycznego. Poszczególne składniki są oddzielone kropką. Odbywa się to analogicznie do klas i pakietów Java. W ramach typu obiektu deweloperskiego pełna nazwa jest unikatowa. Nazwy różniące się tylko wielkimi i małymi literami są niedozwolone.
Obiekt programistyczny XML – obiekt programistyczny zdefiniowany przy użyciu języka znaczników XML. Jest on zapisywany w pliku XML z oddzielnym programem, który nie jest częścią systemu ERP. Plik XML składa się z nagłówka, w którym określone są informacje ogólne (np. kodowanie XML, nazwa schematu XML itp.) oraz hierarchicznie uporządkowanych elementów opisujących obiekt rozwojowy XML. Typy obiektów programistycznych XML to:
Wersjonowanie
Wersja obiektu deweloperskiego odzwierciedla hierarchię rozwoju. Składa się z 6 liczb oddzielonych kropkami. Pozycja numeru może być wykorzystana do określenia poziomu w hierarchii, a tym samym również systemu.
Ponadto do numeru wersji dodawana jest nazwa systemu, w którym wersja została utworzona (oddzielona dwukropkiem). Umożliwia to rozróżnienie identycznych numerów wersji. Jest to konieczne w przypadku przenoszenia krzyżowego oprogramowania na tym samym poziomie wersji.
Jeśli obiekt deweloperski zostanie zmieniony, tworzona jest nowa wersja tego obiektu. W zależności od poziomu wersjonowania systemu, tj. pozycji systemu w hierarchii, odpowiedni numer wersji jest zwiększany.
Jeśli obiekt deweloperski zostanie zmieniony w tym samym systemie, wersja jest zwiększana: 2.0:4.4.0 staje się wersją 3.0:4.4.0.
Jeśli obiekt deweloperski z systemu upstream zostanie zmieniony, tworzona jest gałąź. Jeśli wersja 3.0:4.4.0 standardowej wersji deweloperskiej zostanie zmieniona w systemie rozwoju gałęzi, zostanie utworzona gałąź, w której trzecia cyfra zostanie zwiększona o jeden. W ten sposób powstaje gałąź 3.0.1:4.4.0. Jeśli ta nowa wersja zostanie zmieniona w systemie dostosowywania klienta, zostanie utworzona podgałąź 3.0.1.0.0.1:4.4.0.
Opis aplikacji
Aplikacja składa się z nagłówka i obszaru roboczego.
Nagłówek
Pola w nagłówku jednoznacznie identyfikują wersję obiektu deweloperskiego.
Pole | Opis |
Typ | W polu Typ wybiera się typ obiektu deweloperskiego. Po wybraniu typu odpowiedni edytor jest automatycznie otwierany w obszarze roboczym. Do wyboru są następujące obiekty programistyczne:
|
Wersja | W tym polu wyświetlany jest numer aktualnie otwartej wersji. Jeśli żaden obiekt deweloperski nie jest otwarty, pole jest puste. W celu wybrania innej wersji obiektu deweloperskiego należy rozwinąć listę. |
Nazwa |
W tym polu wprowadzana jest pełna nazwa obiektu deweloperskiego, która składa się z pełnej nazwy przestrzeni nazw i nazwy obiektu deweloperskiego. Pełna nazwa jest ograniczona do 200 znaków. Przestrzeń nazw i nazwa obiektu deweloperskiego są oddzielone kropką. Składnia jest następująca:<przestrzeń nazw>.<nazwa obiektu deweloperskiego>. Przykład: com.cisag.app.name. Za pomocą przycisku [Pomoc do wartości] można wskazać istniejące w systemie nazwy obiektu deweloperskiego. |
Przyciski w obszarze identyfikacji mają następujące funkcje:
Funkcja | Opis |
Pokaż aktywną wersję | Przycisk pozwala przełączać się pomiędzy bieżącą (lokalną lub globalną blokadą przez zadanie deweloperskie) a aktywną wersją obiektu deweloperskiego. Jeśli starsza wersja jest otwarta, bieżąca wersja jest otwierana, jeśli obiekt deweloperski jest zablokowany, w przeciwnym razie otwierana jest aktywna wersja. |
Zmień status edycji | Przycisk pozwala zmienić status edycji obiektu deweloperskiego. Status edycji nie ma żadnego efektu technicznego. Można go używać do oznaczania obiektów, które już były edytowane. Jest to przydatne w przypadku, gdy kilku deweloperów pracuje nad zadaniami deweloperskimi. |
Otwórz powiązany obiekt tekstowy | Przycisk otwiera powiązany obiekt tekstowy. Powiązanie między obiektem deweloperskim a obiektem tekstowym zostało opisane w artykule Obiekt deweloperski: Tekst. |
Obszar roboczy
Obszar roboczy składa się z kilku zakładek. Różne zakładki są dostępne w zależności od otwartego typu obiektu deweloperskiego.
Zakładka Edytor
Zakładka Edytor służy do wprowadzania rzeczywistych metadanych obiektu deweloperskiego. Struktura edytora zasadniczo różni się w zależności od typu obiektu deweloperskiego i w wielu przypadkach jest podzielona na kilka zakładek. Zakładki te znajdują się w dolnej części ekranu. Struktura edytora jest identyczna dla wszystkich typów obiektów deweloperskich XML, a metadane są wprowadzane do pliku XML za pomocą osobnego programu, który nie jest częścią systemu Comarch ERP Enterprise. Struktura edytora w zależności od typu obiektu deweloperskiego została opisana w dedykowanych dokumentach. Identyczne pola edytora dla typu obiektu rozwojowego XML zostały opisane w niniejszym rozdziale.
Pole | Opis |
Oznaczenie | Opis typu obiektu deweloperskiego; XML: Do czego służy obiekt deweloperski. |
Rozmiar całkowity w bajtach | Wyświetlanie rozmiaru pliku w bajtach. |
Zakładka Informacja
Zakładka jest dostępna dla wszystkich obiektów deweloperskich i zawiera informacje o bieżącym stanie obiektu deweloperskiego. Pola są pełnią rolę informacyjną i nie można ich edytować.
Sekcja Historia
Pole | Opis |
Utworzone przez | Informacja o tym, który użytkownik utworzył obiekt deweloperski (z datą utworzenia w polu Data utworzenia). |
Zmienione przez | Informacja o tym, który użytkownik ostatnio zmodyfikował obiekt deweloperski (wraz z datą modyfikacji w polu Data zmiany). |
Usunięte przez | Informacja o tym, który użytkownik usunął obiekt deweloperski (z datą usunięcia w polu Data znacznika usuwania). |
Sekcja Blokada
Pole | Wyjaśnienie |
Status blokady | Informacje o bieżącym stanie blokady. Dostępne są poniższe statusy:
|
Zadanie deweloperskie | Zadanie deweloperskie, do którego aktualnie przypisany jest obiekt deweloperski. Szczegółowe informacji można znaleźć w artykule Zadania deweloperskie. |
Zablokowany przez | Informacja o użytkowniku, który zablokował obiekt deweloperski. |
Data zablokowania | Informacje o dacie zablokowania, wyświetlana tylko w przypadku blokady lokalnej. |
Sekcja Generowanie
Informacje te są widoczne tylko dla wygenerowanych obiektów deweloperskich (Business object, Part, OQL View, ValueSet).
Pole | Opis |
Wygenerowany przez | Informacja o tym, który użytkownik wygenerował obiekt deweloperski (z datą wygenerowania w polu Data utworzenia). |
Status | Status generowania, dostępne opcje:
|
Sekcja Wyświetlana wersja
Pole | Opis |
Wersja | Wersja otwartego obiektu deweloperskiego. |
Zadanie deweloperskie | Wersja zadania deweloperskiego. |
Zmienione przez | Informacja, który użytkownik utworzył tę wersje (z datą modyfikacji w polu Data zmiany). |
Sekcja Aktywna wersja
Pole | Opis |
Wersja | Numer aktywnej wersji w systemie. |
Zadanie deweloperskie | Zadanie deweloperskie, w którym ta wersja została aktywowana. |
Zmienione przez | Informacja, który użytkownik utworzył tę wersję (z datą modyfikacji w polu Data zmiany). |
Sekcja Aktualna wersja
Pole | Opis |
Wersja | Wersja aktualnej wersji w systemie. Jeśli obiekt deweloperski nie jest zablokowany w żadnym zadaniu deweloperskim, aktualna wersja odpowiada wersji aktywnej. |
Zadanie deweloperskie | Zadanie deweloperskie, w którym aktualna wersja została aktywowana lub zablokowana. |
Zmienione przez | Informacja, który użytkownik utworzył tę wersję (z datą modyfikacji w polu Daty zmiany). |
Sekcja Poprzednie wersje
Pole | Opis |
Poprzednia wersja | Numer poprzedniej wersji. |
Gałąź poprzedniej wersji | Numer wersji gałęzi, z której powstała otwarta wersja. |
Wersja źródłowa | Wskazuje, z której wersji powstała zablokowana wersja. |
Numer wersji źródłowej | Numer wersji, z której pochodzi zablokowana wersja, jeśli została utworzona w wyniku równoległej rozwoju. |
Sekcja Odmowa
Ustawienie odrzucenia zostało opisane w rozdziale Ustawianie statusu obiektu deweloperskiego.
Pole | Opis |
Wersja | Wersja, w której obiekt deweloperski został odrzucony. |
Zadanie deweloperskie | Zadanie deweloperskie, do którego przypisana jest ta wersja. |
Zmienione przez | Informacja, który użytkownik utworzył tą wersje (z datą modyfikacji w polu Data odmowy). |
Sekcja Znacznik usuwania
Ustawianie znacznika usuwania opisano w sekcji Usuwanie.
Pole | Opis |
Wersja | Wersja, w której obiekt deweloperski został oznaczony do usunięcia. |
Zadanie deweloperskie | Zadanie deweloperskie, do którego przypisana jest ta wersja. |
Zmienione przez | Informacja o użytkowniku, który utworzył tę wersje (z datą modyfikacji). |
Sekcja Właściwości
Pole | Opis |
Oryginalne w tym systemie | |
Zaimportowane z systemu zewnętrznego | |
Zarejestrował | Informacje o użytkowniku, który utworzył obiekt deweloperski:
|
Nazwa | Obiekt deweloperski, w wyniku którego utworzono ten obiekt deweloperski. |
Język oryginalny | Aktywny język programowania w momencie utworzenia pierwszej wersji obiektu programowania. |
Sekcja Właściwości przestrzeni nazw
Pole | Opis |
Obsługujący użytkownik | Odpowiedzialny użytkownik przestrzeni nazw. |
Testowa przestrzeń nazw/Wewnętrzna przestrzeń nazw | Wskazuje, czy jest to testowa czy wewnętrzna przestrzeń nazw. |
Zakładka Etykiety
Etykieta łączy wydanie lub aktualizację oprogramowania z wersją.
Pole | Opis |
Etykieta | Nazwa aktualizacji lub wydania oprogramowania. Szczegółowe informacje można znaleźć w dokumentacji Etykiety. |
Wersja | Numer wersji, do której przypisane jest wydania lub aktualizacja oprogramowania. |
Typ | Typ etykiety, dostępne opcje:
|
Utworzone przez | Nazwa użytkownika, który zdefiniował wydanie lub utworzył aktualizację oprogramowania. |
Data utworzenia | Data utworzenia wydania lub aktualizację oprogramowania. |
Zakładka Wykaz zastosowania
Lista Wykaz zastosowania jest dostępna dla wszystkich obiektów deweloperskich. Wszystkie obiekty programistyczne, które korzystają z tego obiektu, są wymienione w strukturze drzewa. Rozwijanie drzewa powoduje rekurencyjne wyświetlanie wykazów zastosowania wybranych obiektów deweloperskich, co umożliwia oszacowanie wpływu zmian na inne obiekty deweloperskie.
Lista Wykaz zastosowania jest wykorzystywana podczas usuwania obiektów deweloperskich, które możliwe jest tylko wtedy, gdy nie odwołuje się do niego żaden inny obiekt.
Lista Wykaz zastosowania jest również używana do automatycznego dodawania obiektów deweloperskich do zadania deweloperskiego (szczegóły w rozdziale: Automatyczne dodawanie/usuwanie obiektów deweloperskich).
Cechy | Opis |
Przejmij zaznaczone obiekty deweloperskie do zadania | Obiekty deweloperskie są zablokowane w bieżącym zadaniu. Obiekty deweloperskie, które są już zablokowane w innym zadaniu, nie mogą zostać przejęte. |
Atrybuty | Wyświetlanie są informacje o użyciu atrybutów (np. w relacjach: Business object, Part, Extension, OQL Search).Ta funkcja jest dostępna tylko dla: Business object, Extension, OQL Search. |
Zakładka Pomoc kontekstowa
Na tej zakładce istnieje możliwość wprowadzania tekstów pomocy dla obiektu deweloperskiego. Bezpośrednią pomoc można wprowadzić tylko dla wybranych typów obiektów programistycznych, np. dla Action, Application lub Data–Description–LDT. Bezpośredni tekst pomocy można wywołać i wyświetlić dla elementów interfejsu, które korzystają z obiektu programistycznego.
Pole | Wyjaśnienie |
Nagłówek | Nagłówek/tytuł pomocy. |
Tekst | Dowolny tekst, który nie może przekraczać 2000 znaków łącznie z nagłówkiem. Tekst podlega tłumaczeniu. |
Okno dokowane Obiekty deweloperskie aktualnego zadania
Aby otworzyć okno Obiekty deweloperskie aktualnego zadania należy w z poziomu Menu wybrać opcję Okna dokowane a następnie Obiekty deweloperskie aktualnego zadania. W tym oknie wyświetlane są zablokowane obiekty deweloperskie zadania deweloperskiego (szczegóły w rozdziale Zadania). wprowadzone w polu zadania.
Na pasku narzędzi dostępne są następujące funkcje:
Przycisk | Wyjaśnienie |
[Pokaż/Ukryj] | Po wybraniu przycisku [Pokaż/Ukryj] wyświetlane jest pole z obszarem umożliwiającym filtrowanie obiektów zablokowanych w danym zadaniu deweloperskim. Po wprowadzeniu kryteriów wyszukiwania należy wybrać przycisk [Start]. Lista wyników zawiera obiekty spełniające kryteria wyszukiwania. |
[Nowy] | Jeśli w polach zapytania zostały wprowadzone zostały wartości wyszukiwania wyświetlane po kliknięciu przycisku [Rozwiń], można je usunąć za pomocą przycisku [Nowy]. Po wykonaniu tej czynności zostają wstawione wartości domyślne, a lista zablokowanych obiektów jest automatycznie aktualizowana. Uwaga Przycisk [Nowy] odnosi się wyłącznie do pól zapytania znajdujących się w rozwijanym obszarze. Pozostałe kryteria wyświetlania, wybrane za pomocą przycisków na pasku narzędzi (status przetwarzania, zablokowane obiekty, wygenerowane obiekty), nie są resetowane. Zmiana dotyczy wyłącznie przycisku określającego pochodzenie obiektu deweloperskiego. |
Status przetwarzania |
Umożliwia wpływ na sposób wyświetlania obiektów deweloperskich zgodnie z ich statusem przetwarzania. Dostępne są następujące opcje:
|
Pochodzenie |
Umożliwia filtrowanie wyświetlanych obiektów deweloperskich według pochodzenia ich zawartości. Funkcja ta jest szczególnie przydatna w przypadku zadań konfliktowych, gdzie istotne jest poznanie źródła zawartości wersji. Po aktywacji zadania deweloperskiego informacja o pochodzeniu zawartości obiektu nie jest już dostępna. Dostępne opcje:
|
[Wyświetl/Ukryj zablokowane obiekty] | Umożliwia wyświetlanie lub ukrywanie wszystkich obiektów deweloperskich, które posiadają globalną blokadę. |
[Wyświetl/Ukryj wygenerowane obiekty] | Obiekty deweloperskie wygenerowane przez system (np. wygenerowane klasy Java) mogą być wyświetlane lub ukrywane za pomocą tego przycisku. |
[Start] | Służy do aktualizacji widoku obiektów. Użycie przycisku jest konieczne np. po wprowadzeniu innego numeru zadania w polu zadania. |
Akcje związane z aplikacją
Ograniczenia
Poniższa tabela zawiera listę systemów, w których można tworzyć, zmieniać i usuwać obiekty deweloperskie.
Standard | Partner | Klient | |||||
Rozwój | Poprawka | Rozwój | Poprawka | Adaptacja do klienta | Adaptacja do klienta | Test Pro | |
Poziom 1 | Poziom 2 | Poziom 3 | Poziom 4 | Poziom 5 | Poziom 6 | Poziom 7 | |
Standard Kod systemu | |||||||
Utworzenie nowego OD | Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Zmiana OD | Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Usunięcie OD | Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Standard Kod aplikacji | |||||||
Utworzenie nowego OD | Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Zmiana OD | Tak | Tak | Tak | Tak | Tak | Tak | Nie |
Usunięcie OD | Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Zmiana logicznego typu danych | Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Zmiana obiektu biznesowego | Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Tak | Tak | Nie | Nie | Nie | Nie | Nie |
Standard | Partner | Klient | |||||
Rozwój | Poprawka | Rozwój | Poprawka | Adaptacja do klienta | Adaptacja do klienta | Produkcja | |
Poziom 1 | Poziom 2 | Poziom 3 | Poziom 4 | Poziom 5 | Poziom 6 | Poziom 7 | |
Partner/Klient Kod aplikacji | |||||||
Utworzenie nowego OD | Nie | Nie | Tak | Tak | Tak | Tak | Nie |
Zmiana OD | – | – | Tak | Tak | Tak | Tak | Nie |
Usunięcie OD | – | – | Tak | Tak | Tak | Tak | Nie |
OD = obiekt deweloperski
Funkcje specjalne podczas edycji obiektów deweloperskich
Wyjątkiem jest obiekt tekstowy. Obiekt tekstowy jest zależny od innego obiektu programistycznego i nie można go tworzyć, powielać, odtwarzać, sprawdzać ani usuwać. Obiekt tekstowy jest dodawany do zadania przez powiązany obiekt programistyczny i może być usunięty z zadania tylko za pomocą tego obiektu. Blokady są również ustawiane w taki sam sposób, jak w przypadku obiektu programistycznego. Obiekt tekstowy może być jawnie zablokowany i edytowany w zadaniu typu edycji. Tylko obiekty tekstowe mogą być zablokowane w tym typie zadania.
Przycisk [Dodaj]
Ta funkcja służy do tworzenia nowego obiektu programistycznego. Nowy obiekt jest tworzony dla wybranego typu obiektu deweloperskiego. Jeśli obiekt deweloperski jest już otwarty, pojawi się ostrzeżenie, jeśli zmiany nie zostały jeszcze zapisane.
Jeśli przestrzeń nazw i nazwa obiektu deweloperskiego zostały już wprowadzone w obszarze identyfikacji, nazwa obiektu deweloperskiego jest usuwana tylko wtedy, gdy obiekt deweloperski już istnieje. Jeśli nic nie zostanie określone, com.<skrót partnera>.app. zostanie ustawione automatycznie.
Pierwsza wersja jest tworzona automatycznie podczas tworzenia nowej wersji. Staje się ona widoczna w polu wersji dopiero po zablokowaniu lub zapisaniu obiektu deweloperskiego po raz pierwszy.
Gdy tworzony jest nowy obiekt deweloperski, pewne wartości domyślne są ustawiane na podstawie wcześniej otwartego obiektu deweloperskiego.
Poprzedni obiekt deweloperski | Nowy obiekt | Wartości domyślne w polach |
ValueSet | Logical data type (LDT) |
|
Part | Logical data type (LDT) |
|
Logical data type (LDT) | Logical data type (LDT) |
|
Logical data type (LDT) | Data description (LDT |
Log. Typ danych: poprzednio otwarty logiczny typ danych. |
Message class | Messege | Message class: poprzednio otwarta klasa zgłoszenia (Message class) |
Framework | Application | Framework: poprzednio otwarty obszar (Framework) |
Przycisk [Duplikuj]
Można powielić dowolną wersję obiektu deweloperskiego. Zawartość wersji może zostać powielona:
- w nowym obiekcie deweloperskim tego samego typu obiektu deweloperskiego
- w istniejącym obiekcie deweloperskim tego samego typu
- w tym samym obiekcie deweloperskim.
W tym celu należy wprowadzić nazwę obiektu deweloperskiego, który ma zostać powielony, w oknie dialogowym, które zostanie otwarte po wykonaniu akcji oraz określić, czy obiekt ma zostać powielony jako istniejący obiekt deweloperski, czy ma zostać utworzony nowy. Zapobiega to niezamierzonemu nadpisaniu zawartości istniejącego obiektu deweloperskiego.
Powielanie do istniejącego obiektu deweloperskiego różni się od powielania do nowego obiektu. W tym przypadku najpierw otwierany jest docelowy obiekt deweloperski i wszystkie jego elementy (np. atrybuty Business object) i są one oznaczane wskaźnikiem usuwania. Elementy źródłowego obiektu deweloperskiego są następnie dodawane do tego obiektu deweloperskiego. Sprawia to, że proces duplikacji zachowuje się tak, jakby był wykonywany ręcznie za pośrednictwem interfejsu.
Przycisk [Ponownie wykorzystaj nazwę obiektu]
Ta funkcja jest dostępna, jeśli ponownie ma zostać użyta nazwa usuniętego obiektu deweloperskiego. Przywracana jest tylko nazwa, metadane usuniętego obiektu deweloperskiego nie są przywracane. Nie jest to technicznie możliwe, ponieważ obiekty deweloperskie, do których istnieją odniesienia, mogły zostać usunięte. One również musiałyby zostać przywrócone.
Dla tej akcji wymagane jest zadanie deweloperskie. Obiekt deweloperski jest blokowany lokalnie w tym zadaniu. Wersjonowanie jest dalej zwiększane.
Przycisk [Blokuj]
Za pomocą tej akcji można lokalnie zablokować obiekt deweloperski. Obiekt deweloperski, który ma zostać zablokowany, nie może być zablokowany lokalnie przez innego użytkownika ani przez instalację aktualizacji oprogramowania.
Jeśli obiekt deweloperski nie jest jeszcze zablokowany globalnie w momencie blokowania (dotyczy to również nowych instalacji), należy określić zadanie deweloperskie, do którego można przypisać obiekt deweloperski. Po pomyślnym ustawieniu blokady globalnej ustawiana jest blokada lokalna. Jeśli obiekt deweloperski jest już zablokowany globalnie, ustawiana jest blokada lokalna.
Podczas blokowania wszelkie już wprowadzone zmiany są zapamiętywane (szczegóły w rozdziale Zapisywanie). W przypadku obiektów plików (np. Icon, Java class, File, Help object, Report) istniejące pliki są przechowywane w folderze roboczym. Gdy tworzony jest nowy obiekt, system tworzy odpowiednie pliki szablonów w folderze roboczym. Jeśli obiekt programistyczny już istnieje pliki z archiwum są przechowywane w systemie plików. Struktura katalogów roboczych została opisana w artykule Zadania deweloperskie.
Przycisk [Blokuj zależne obiekty deweloperskie]
Ta akcja jest dostępna dla typuL Java class i umożliwia automatyczne blokowanie wszystkich klas Java, które używają otwartej klasy Java podczas jej blokowania. Blokowane są tylko klasy Java, które są globalnie zablokowane w tym samym zadaniu deweloperskim.
Ta funkcja jest szczególnie przydatna w przypadku rozległych zadań związanych z konfliktami. Zapewnia to rozgraniczenie, które klasy Java muszą zostać poprawione. Rozgraniczenie niekoniecznie jest poprawne pod względem treści.
Zapisywanie i udostępnianie
Za pomocą tej akcji można zapisać zmienione dane obiektu deweloperskiego w archiwalnych obiektach biznesowych i zaktualizować systemowe obiekty biznesowe, pod warunkiem, że obiekt deweloperski mógł zostać pomyślnie sprawdzony.
Jeśli obiekt deweloperski nie jest jeszcze zablokowany, wówczas zostanie zablokowany automatycznie. W tym celu należy określić zadanie deweloperskie. Jeśli obiekt deweloperski jest już zablokowany globalnie, automatycznie ustawiana jest blokada lokalna. Zmiany nie zostaną zapisane, dopóki obiekt deweloperski nie zostanie zablokowany lokalnie i pomyślnie sprawdzony. Lokalna blokada jest następnie anulowana, ustawiana jest natomiast blokada globalna. W przeciwnym wypadku obiekt deweloperski pozostaje zablokowany lokalnie.
Aktualizowany jest również wykaz zastosowania dla obiektu deweloperskiego. Obiekty deweloperskie, do których się odwołano, są wpisywane na wykaz zastosowania. Obiekty deweloperskie, które nie są już używane, są usuwane z wykazu zastosowania.
Obiekt deweloperski powinien być zawsze zmieniany przy użyciu lokalnej blokady. Jeśli w międzyczasie obiekt deweloperski zostanie zmieniony przez innego użytkownika, zmienione dane nie będą mogły zostać zapisane. Obiekt deweloperski musi zostać ponownie otwarty, co spowoduje odrzucenie wszelkich niezapisanych zmian.
Zachowanie w przypadku obiektów deweloperskich opartych na plikach
Podczas zapisywania i zwalniania zawartość powiązanych plików z folderu roboczego bieżącego użytkownika jest zapisywana z powrotem do obiektów biznesowych archiwum. Pliki są następnie usuwane z folderu roboczego bieżącego edytora, a folder Common jest aktualizowany.
Przycisk [Usuń]
Aby usunąć obiekt deweloperski należy użyć opcji [Usuń]. Ta akcja tworzy kolejną wersję obiektu deweloperskiego, która jest oznaczona znakiem +. Nie ma żadnych wpisów w obiektach biznesowych archiwum i obiektach biznesowych systemu dla usuniętej wersji. Jeśli obiekt deweloperski, który ma zostać usunięty, nie jest jeszcze zablokowany, należy wprowadzić zadanie deweloperskie. Po usunięciu obiekt deweloperski nie może być już edytowany i jest globalnie zablokowany.
Obiekt deweloperski można usunąć tylko wtedy, gdy nie odwołuje się do niego żaden inny obiekt deweloperski. Przed usunięciem obiektu deweloperskiego należy usunąć te odniesienia. W tym celu można użyć listy Wykazy zastosowania, aby określić obiekty deweloperskie, do których istnieją odniesienia.
Przycisk [Weryfikuj]
Akcja sprawdza zawartość obiektu deweloperskiego pod kątem poprawności. W tym miejscu przeprowadzana jest ta sama kontrola, która jest używana podczas zapisywania i zwalniania obiektu. Weryfikacja może być przeprowadzona tylko w bieżącej wersji.
Przywracanie aktywnej wersji
Za pomocą tej akcji można usunąć globalną lub lokalną blokadę obiektu deweloperskiego. Zablokowana wersja i jej obiekty biznesowe archiwum są usuwane, a dane aktywnej wersji są kopiowane z powrotem do obiektów biznesowych systemu.
Gdy tworzony jest nowy obiekt, obiekt deweloperski jest całkowicie usuwany (wersja, archiwalne obiekty biznesowe i systemowe obiekty biznesowe). Usunięta wersja jest przywracana podczas ponownej instalacji.
Usuwanie obiektów deweloperskich z zadań powodujących konflikty
Opis zadań związanych z konfliktami można znaleźć w artykule Wprowadzenie: Logistyka oprogramowania.
Ta akcja jest dostępna w przypadku zadań konfliktowych, które powstały w wyniku przenoszenia krzyżowego oprogramowania lub zmian w wydaniu. Akcja Usuń konflikt jest dostępna dla zadań konfliktowych standardowej procesu przenoszenia.
W przypadku usunięcia obiektu deweloperskiego w tych zadaniach deweloperskich wszystkie wersje obiektu deweloperskiego, które są nowsze niż wersja aktywna, są automatycznie usuwane. Obejmuje to zablokowaną wersję i niektóre zaimportowane wersje. Jeśli obiekt deweloperski był już edytowany w systemie lub jeśli zaimportowane wersje są mniejsze niż wersja aktywna, wersje te są zachowywane.
Wygenerowane klasy Java (np. mapery obiektów biznesowych) nie mogą być usuwane indywidualnie z zadania deweloperskiego. Są one automatycznie usuwane z zadania deweloperskiego po usunięciu powiązanego obiektu deweloperskiego. Jeśli wygenerowane klasy Java znajdują się w zadaniu konfliktu bez powiązanego obiektu programistycznego, można je usunąć pojedynczo.
Zaimportowanych mapperów dbu z obiektów biznesowych nie można usunąć z zadania deweloperskiego. Muszą one zostać aktywowane, ponieważ są używane w metodach aktywnych mapperów obiektów biznesowych.
Usunięcie konfliktów
Opis zadań konfliktowych można znaleźć w artykule Wprowadzenie: Logistyka oprogramowania.
Ta akcja jest dostępna w przypadku zadań konfliktowych, które powstają podczas importowania aktualizacji oprogramowania za pośrednictwem standardowego przenoszenia. Pozwala to na usunięcie gałęzi, które zostały utworzone poprzez dostosowanie obiektów deweloperskich.
Gdy zablokowana wersja zostanie usunięta, zaimportowana wersja zostanie automatycznie uwzględniona w zadaniu konfliktowym. Jest to konieczne ze względów technicznych, aby wersja została poprawnie aktywowana. Nie ma możliwości edycji tej wersji, ponieważ została ona utworzona w innym systemie.
Ta akcja z przyczyn technicznych nie jest dostępna dla obiektów deweloperskich, Part i Extension.
Jeśli obiekt deweloperski znajduje się w zadaniu konfliktowym, a powiązany obiekt tekstowy również został dostosowany, ale nie znajduje się w tym zadaniu konfliktowym, usuwany jest tylko konflikt dla obiektu deweloperskiego. Konflikt w obiekcie tekstowym można usunąć tylko wtedy, gdy obiekt tekstowy również znajduje się w zadaniu konfliktowym.
Ustawianie statusu obiektu deweloperskiego
Za pomocą tej akcji można odrzucić obiekt deweloperski lub wstawić znacznik usuwania. Po ustawieniu statusu obiekt deweloperski otrzyma blokadę lokalną. Jeśli obiekt deweloperski nie jest zablokowany, należy wprowadzić zadanie deweloperskie. Jednocześnie można ustawić tylko jeden status.
Odrzucenie można anulować po ponownej aktywacji. Po aktywacji nie można usunąć znacznika usuwania.
- Odrzucanie – obiekt deweloperski nie może być używany. Jeśli taki obiekt deweloperski jest używany w innych obiektach deweloperskich, wyświetlane jest odpowiednie ostrzeżenie.
- Wstawienie znacznika usuwania – jeśli obiekt deweloperski jest używany w innych obiektach deweloperskich, wyświetlane jest odpowiednie ostrzeżenie. W przypadku obiektów biznesowych nie można już uzyskać dostępu do aktywnych mapperów. Tylko na wersjonowanych mapperach można napisać aplikację aktualizującą, która konwertuje dane na nowy obiekt biznesowy.
Zapisywanie
Można zapisać dowolny stan przetwarzania obiektu deweloperskiego. Dane są zapisywane tylko w obiektach biznesowych archiwum; obiekty biznesowe systemu nie są aktualizowane. Obiekt deweloperski pozostaje zablokowany lokalnie po akcji zapisania. Jeśli obiekt deweloperski nie jest jeszcze zablokowany, wówczas zostanie zablokowany automatycznie podczas zapamiętywania. W tym celu należy określić zadanie deweloperskie.
Istnieje możliwość zapisania dowolnego stanu obiektu deweloperskiego, chyba że dane nie mogą zostać zapisane w archiwalnych obiektach biznesowych (np. ciąg znaków, który jest dłuższy niż zdefiniowany w archiwalnym obiekcie biznesowym).
Eksport wyświetlanej wersji obiektu deweloperskiego
Za pomocą tej akcji można wyeksportować aktualnie wyświetlaną wersję obiektu deweloperskiego. Dokładny opis można znaleźć w artykule Eksport i import obiektów deweloperskich.
Tworzenie wymaganych obszarów nazw
Za pomocą tej akcji można utworzyć obszary nazw wymagane dla nowego obiektu deweloperskiego. Pozwala to na utworzenie obiektu deweloperskiego bez konieczności wcześniejszego tworzenia wszystkich wymaganych obszarów nazw. Akcja jest dostępna po tym, jak sprawdzenie nowego obiektu deweloperskiego wykaże, że wymagany obszar nazw nie istnieje.
Przestrzenie nazw są tworzone z następującymi ustawieniami:
-
Oznaczenie – techniczna nazwa przestrzeni nazw
-
Odpowiedzialny – użytkownik wykonujący akcję
-
Przestrzeń testowa – brak
-
Wewnętrzna przestrzeń nazw – brak
Tworzenie podobszarów nazw
Za pomocą tej akcji można utworzyć podobszary nazw dla otwartego obszaru nazw. Akcja jest dostępna tylko dla obiektów deweloperskich typu Namespace. Domyślnie tworzone są następujące podobszary nazw:
- obj
- ui
- gui
- log
- model
- reorg
- hook
- ui
- log
Można użyć właściwości ERP, aby zdefiniować, które podobszary nazw są tworzone wraz z akcją. Dokładnie informacje można znaleźć w artykule Właściwości ERP.
Zadania
Tylko zadania deweloperskie, w których bieżący użytkownik jest wprowadzony jako edytor, mogą być wybierane za pomocą pomocy wprowadzania.
Aplikacja Obiekty deweloperskie sprawdza następujące właściwości wybranego zadania deweloperskiego, jeśli przetwarzany jest w nim obiekt deweloperski.
Właściwość | Opis |
Status | Zadanie deweloperskie musi być otwarte. |
Procesor | Użytkownik musi być wprowadzony jako procesor w zadaniu programistycznym. |
Klasa kodu | Klasa kodu obiektu deweloperskiego musi odpowiadać klasie kodu zadania deweloperskiego. |
Typ | Typ aplikacji musi odpowiadać obiektowi deweloperskiemu (szczegóły w artykule Obiekt deweloperski: Namespace). |
Usuwanie atrybutów w Business object, Part, Extension oraz OQL View
Atrybuty Business object, Part, Extension oraz OQL View mogą być usuwane tylko wtedy, gdy
- nie są używane jako atrybuty indeksu lub atrybuty źródłowe relacji w tym samym obiekcie deweloperskim
- nie są używane jako atrybuty docelowe relacji w innym Business object, Part, Extension
- nie są używane jako atrybuty w OQL View lub OQL search
Automatyczne dodawanie/usuwanie obiektów deweloperskich
Automatyczne dodawanie
Jeśli atrybut Business object, Part lub Extension zostanie zmieniony, obiekty deweloperskie, które używają tego atrybutu i muszą zostać zregenerowane, i są automatycznie dodawane do zadania deweloperskiego (blokada globalna). W poniższych wariantach obiekty deweloperskie są dołączane do zadania:
- atrybut jest używany jako atrybut docelowy relacji w innym Business object, Part lub Extension
- atrybut jest używany jako atrybut w OQL View.
Jeśli logiczny typ danych zostanie zmieniony, wszystkie obiekty deweloperskie, które są generowane i używają tego logicznego typu danych w swojej definicji atrybutu, są automatycznie dodawane do zadania.
Automatyczne usuwanie
Obiekty deweloperskie są automatycznie dodawane do zadania deweloperskiego (poprzez zmianę lub usunięcie), są również automatycznie usuwane z zadania deweloperskiego, gdy obiekt deweloperski, który je dodał, został usunięty. Jeśli automatycznie dodany obiekt deweloperski został edytowany ręcznie, nie jest on już automatycznie usuwany z zadania deweloperskiego.
Całkowite usuwanie
Jeśli Bussines Object, Part, Extension lub OQL View zostaną usunięte, wygenerowane aktywne mapowania i wygenerowane obiekty NLS są automatycznie dodawane do zadania jako usunięte.
Uprawnienia
Uprawnienia mogą być przypisywane za pomocą ról uprawnień. Uprawnienia są przypisywane za pośrednictwem jednostki biznesowej: com.cisag.sys.repository.internal.obj.ObjectDirEntry.