Schematy numerowania plików – nowości w wersji 2020
Jedna z wielu nowości w Vault 2020 dotyczy schematów numerowania plików. W wersji tej pojawiła się możliwość stosowania liczników globalnych a także zdefiniowanych przez użytkownika. Postaram się pokazać na przykładach o co chodzi.
We wszystkich schematach numerowania zdefiniowanych w Vault 2020 mamy możliwość wyboru odpowiedniego generatora liczb dla liczników.
Dostępne opcje obejmują:
- Prosty generator liczb (opcja domyślna) – generuje liczniki w obrębie grupy roboczej, w której się logujemy.
- Scentralizowany generator liczb – używany jest generator z komputera pełniącego rolę Publishera niezależnie od tego czy logujemy się do niego czy też w dowolnej grupie roboczej.
- Generator użytkownika – umożliwia stworzenie generatora w oparciu o reguły i mechanizmy spoza Vault.
Poniżej na przykładach przedstawię sposób działania poszczególnych generatorów.
Przykłady będą przedstawione w środowisku z replikacją, gdyż tutaj najłatwiej dostrzec różnice pomiędzy nimi.
Generator prosty (domyślny)
Jego działanie znamy dobrze z poprzednich wersji programu. W przypadku tworzenia schematów używanych w środowisku z replikacją konieczne było dodawanie identyfikatora grupy roboczej w celu uniknięcia konfliktów w nazwach plików. Liczniki w każdej z grup roboczych były generowane niezależnie. W zaprezentowanym przykładzie przedrostki 01 oraz 02 oznaczają odpowiednie grupy robocze:
Generator scentralizowany (nowość 2020)
W tym przypadku tylko Publisher generuje liczniki. Ten generator centralny wykorzystywany jest we wszystkich grupach roboczych i nie jest wymagane dodawanie identyfikatora grupy roboczej. W działaniu mechanizm ten może wyglądać np. tak:
Generator zdefiniowany przez użytkownika (nowość 2020)
W tym przypadku liczniki generowane są na podstawie reguł zewnętrznych spoza Vault 2020. Generator wykorzystywany jest jako wtyczka do ADMS. Jako efekt można uzyskać sytuację przedstawioną poniżej:
Na zakończenie zaprezentuję przykładowy sposób definiowania własnego generatora liczb.
Przypadek skorzystania z generatora scentralizowanego jest banalny – ogranicza się jedynie do wyboru odpowiedniej opcji w ustawieniach schematu numeracji.
W przypadku liczników użytkownika sprawa jest nieco bardziej skomplikowana.
Poniższy przykład pozwoli zdefiniować schemat składający się z dowolnego ciągu znaków wybranego przez użytkownika oraz dodanego unikalnego licznika niezależnego od sekwencji znaków go poprzedzających:
W celu uzyskania dostępu do schematu użytkownika potrzebne będą:
- Baza danych na serwerze SQL (może być ten sam server, który obsługuje Vault 2020)
- Biblioteka dll dostarczająca generatora użytkownika (dostępna do pobrania z tego artykułu)
- Modyfikacja pliku web.config
Dostarczona w przykładzie biblioteka jest jednym z wielu rozwiązań tego problemu.
Oczywiście można wykorzystać dowolny inny generator liczb i odpowiednio zmodyfikować kod programu, ale to już zadanie dla osób znających Vault API.
W pierwszym kroku stworzymy nową bazę danych i odpowiednią tabelę do przechowywania wygenerowanych wartości licznika.
Aby to zrobić należy z poziomu SQL Management Studio wykonać polecenia:
CREATE DATABASE MyNumberingDB
Utworzona zostanie odpowiednia baza danych, następnie:
Use [MyNumberingDB]
Create table autonumber (id int identity, number as (right(’000000’+convert([varchar], [id], 0), (6))), value varchar (10))
Następnie należy skopiować plik MyNumbering.dll do folderu:
Teraz modyfikujemy plik web.config dodając wpis odnośnie naszego nowego generatora liczb:
W zaznaczone ramką miejsce wklejamy następujący wpis:
<numberProvider name=”CustomNumberingProvider” type=”MyNumbering.MyNumbering, MyNumbering” canCache=”false”>
<!–<initializationParm value=”Your Value Here” />–>
</numberProvider>
Na zakończenie pozostaje nam zrestartować IIS na serwerze Vault poleceniem IISRESET i przystąpić do definiowania schematów numeracji korzystających z naszego nowego generatora liczb.
Aby przykładowy generator działał prawidłowo schemat musi zawierać:
- pole z tekstem ustalonym, dowolnym bądź listę wartości
- separator
- licznik złożony z sześciu znaków