Styl blokowaniaOpis
brak blokowaniaPole nie jest w ogóle blokowane.
blokowanie do odczytu ( trzeba będzie zaimplementować)Edycja pola jest możliwa, ale wywołanie dc zostanie wykonane dopiero gdy pole to nie będzie zablokowane do zapisu.
blokowanie do zapisu (już jest zaimplementowane)

Nie można edytować pola ani ręcznie ani przez API. Wszystkie blokady (do zapisu i do odczytu) będą czekać aż ta operacja zapisu się zakończy.

Niestety są problemy z blokowaniem niektórych typów pól - trzeba będzie poświęcić czas żeby to ogarnąć...

 

 

OperacjaSposób 1Sposób 2Sposób 3Uwagi
blokowanie pól kryteriów formalnych

blokowanie do zapisu


Nie jest to optymalne, bo nie zmieniamy później wartości tego pola, ale jest najprostsze.

blokowanie do odczytu


Są to kryteria więc można je zmieniać, ale jak dla innego dc są to mappingi, to wywołanie tego dc poczeka aż tamten się zakończy.

brak blokowania

Nie blokujemy pól. Nikt też w tym sposobie nie będzie ich blokował do zapisu.

 
blokowanie pól mappingówblokowanie do zapisublokowanie do zapisu

brak blokowania


Nie blokujemy mappingów. Trzeba będzie obsłużyć sytuacje gdy:

  • pole nie zmieniło wartości od czasu wywołania dc
  • pole zmieniło wartość od czasu wywołania
 
blokowanie pola tego dc

brak blokowania


Nie blokujemy dc, ale jak ktoś inny zablokuje to nie możemy tego pola edytować.

brak blokowania


Nie blokujemy dc, ale jak ktoś inny zablokuje to nie możemy tego pola edytować.

brak blokowania


Nie blokujemy i nikt też nie zablokuje tego pola.

 

 

 

 

 

 

Uruchamianie automatycznego podciągania mappingów

 

 

 

Podciągnięcie mappingów następuje tylko jeżeli:

  • zmieniła się wartość pola od ostatniego podciągnięcia mappingów
  • zmieniła się wartość jakiegokolwiek pola wchodzącego w skład kryteriów (question)
  • zmieniła się wartość jakiegokolwiek pola do którego jest przypisany mapping (question)
TypBlokowanieUwagi
FormCriteria(error) 
Mapping  
   

 

 

Dopasowywanie wyników do wpisanej frazy

Użytkownik wpisuje w pole datachooser'a frazę. Po przejściu do innego pola automatycznie zaczyna się pobieranie mappingów.

Porównywanie wartości

Wartość porównywana jest CaseInsensitive i szukane jest wystąpienie wpisanego ciągu w wartości na dowolnej pozycji np. fraza UEr pasuje do query.

(question) co pustymi frazami które pasowałyby do wartości DC (question)

Algorytm wyboru wiersza z mappingami

Wybór wiersza zależny jest o liczby wyników, które pasują do wpisanej frazy:

 

Blokowanie pól???

 

Scenariusz #1

 

Datachooser'y

NazwaKryteriaMappingOpis
root  DC zapisuje mapping w zmiennej root_mapping_text_1

 

Spodziewany wynik

Po wpisaniu wartości w root mappingi podciągną się automatycznie, a w trakcie trwania zapytania do DC pole root_mapping_text_1 będzie zablokowane.