W tym samouczku dowiesz się jak używać zaawansowanych ustawień workflow takich jak: widoczność i warunek wykonania akcji, potwierdzenie akcji, komunikat błędu oraz kroku akcji 'ustaw wartość w komórce'.
Działanie tych ustawień zobaczysz na przykładzie aplikacji do zbiorowego głosowania.
1. Zacznij
1.a
Zacznij od stworzenia nowej aplikacji i dodania w niej widżetu arkusza kalkulacyjnego z jedną komórką. W komórce tej wpisz przedmiot głosowania np. "Czy jesteś za zmianą godzin pracy na 9.00-17.00?".
1.b
Stwórz nowy arkusz kalkulacyjny i w jego pierwszej komórce wpisz wartość 0. Ustaw typ tej komórki na 'liczba' i ustaw ją na edytowalną.
1.c
Dodaj jeszcze jeden arkusz kalkulacyjny i w pierwszych komórkach jego kolumn wpisz 'głosy na tak' oraz 'głosy na nie'. Pod spodem w obu kolumnach wpisz wartość zero i ustaw typ tych komórek na 'liczba' oraz edytowalne.
Dodaj widżet akcji workflow.
2.Workflow
2.a
Stwórz nowy stan 'decyzja' i prowadzącą do niego ze startu akcję 'wyślij'. Dodaj jeszcze dwie akcje 'Tak' oraz 'Nie' wychodzące i wracające do stanu 'decyzja'. W stanie decyzja w polu 'Edytor' zaznacz 'wielu'. Taki zabieg jest potrzebny, gdyż w przypadku opcji 'jeden' pierwsza osoba która weszłaby do aplikacji odebrałaby uprawnienia pozostałym osobom.
2.b
dodaj na wejściu do stanu "decyzja" krok akcji "dodaj edytorów". Teraz w polu edytorzy możesz ustawić all- wtedy wszyscy użytkownicy twojej strony będą głosowali lub wybierz konkretnych wpisując ich emaile w kolejnych komórkach arkusza section2.
Ustaw tę sekcję jako niewidoczną wpisując w polu widoczność =false.
2.c
Przy takich ustawieniach workflow jakie tu mamy akcje "Tak" i "Nie" będzie można wykonywać w nieskończoność. Należy sprawić aby łączna liczba wykonań tych akcji była równa liczbie głosujących. W przypadku tego głosowania mamy jedynie dwóch głosujących. Zatem chcemy aby decyzja tak lub nie została podjęta dwa razy. Dodajmy więc jeszcze jeden komplet akcji "tak" i "nie" i stan do którego prowadzą - "zakończono".
Chcemy sprawić aby po ostatnim głosującym (w tym przypadku po drugim) aplikacja przechodziła w stan "zakończono".
2.d
Jednak w tym momencie zamiast jednego kompletu "tak" i "nie" wyświetlimy 2 komplety. Zanim to zmienimy potrzebujemy dodać jeszcze jedną rzecz. Jest nią krok akcji "ustaw wartość w komórce" na wejściu do stanu "decyzja". Uzupełnij jej ustawienia jak poniżej:
Taki zabieg sprawi że przy każdym otwarciu przez użytkownika tej apki wartość początkowo ustawiona na 0 będzie się zwiększała o 1. Korzystając z takiego licznika możemy postawić warunki dla kompletów "tak" i "nie".
2.e
W pierwszym komplecie akcji "tak" i "nie" w polu widoczność akcji wpisz następującą formułę:
=section2.a1<2
w przypadku w którym masz dwóch głosujących. Jeżeli jest ich więcej zastąp 2 w formule odpowiednią liczbą - łączną liczbą głosujących.
Natomiast w drugim zestawie wpisz identyczną formułę zamieniając jedynie znak mniejszość na znak równości:
=section2.a1=2
3.Podliczanie głosów
Abyśmy wiedzieli na koniec ile osób było za a ile przeciw konkretnej decyzji musimy za każdym "tak" i "nie" zwiększać wartości w sekcji 3.
Aby to zrobić w każdej akcji "tak" i w każdej akcji "nie" dodaj krok akcji "ustaw wartość w komórce". Każdą z nich uzupełnij następująco:
Dla akcji "tak":
Dla akcji "nie":
4.Jedna osoba - jeden głos
Aby jeden użytkownik miał możliwość zagłosować tylko raz musimy wprowadzić odpowiednie zmiany.
4.a
Najpierw do naszego arkusza z adresami email (section2) dodaj nowe wiersze- tak aby łącznie miał ich 6. Następnie wiersz czwarty ustaw jako edytowalny i pozostaw pusty.
4.b
Wróć teraz do zakładki workflow i do każdej akcji "tak" i "nie" dodaj jeszcze jeden krok akcji "ustaw wartość w komórce". Komórką tą będzie pusta utworzona właśnie komórka w arkuszu drugim. Wartością natomiast będzie formuła umieszczająca w tej komórce adres email aktualnie głosującego użytkownika. W tej komórce po każdym zagłosowaniu będą pojawiały się adresy email głosujących.
Formuła : =CONCAT(section2.a4,CURRENTUSEREMAIL(),';')
4.c
Teraz możemy na podstawie wartości komórki (wpisanych adresów email) wykluczyć użytkownika który już głosował - jego adres będzie już obecny w komórce.
Wobec takich wniosków wpiszmy w piątym wierszu drugiej sekcji następującą formułę:
=(FIND(SECTION2.A4,CURRENTUSEREMAIL())=0)
Ustaw Typ tej komórki jako 'Przycisk wyboru'.
Formuła ta sprawdza czy adres email obecnego użytkownika znajduje się wśród osób które już zagłosowały (osób wymienionych w wierszu 4).
Teraz musimy takiemu użytkownikowi uniemożliwić wykonanie akcji. Wobec tego umieśćmy tę formułę w polu "warunek wykonania" dla każdej akcji "tak" i "nie".
Możemy to zrobić albo poprzez skopiowanie tej formuły i wklejenie jej w pole warunku albo poprzez odwołanie do adresu tego gdzie jest wpisana - wówczas musimy wpisać jedynie :
=section2.a5
4.d
Teraz napiszmy jeszcze komunikat błędu, który jest napisem wyświetlającym się w momencie gdy warunek wykonania akcji nie jest spełniony. W naszym przypadku jest to próba głosowania po raz drugi. Wpiszmy taki komunikat w komórce A6 sekcji 2. Może być to np.: Nie możesz głosować dwa razy.
Następnie wpiszmy odwołanie do tej komórki w polu "komunikat błędu" dla każdej akcji "tak" oraz "nie".
=section2.a6
5.Potwierdzenie
Ostatnią rzeczą jaką możemy zrobić jest dodanie potwierdzenia dla akcji "nie". Potwierdzenie w naszej apce będzie to okienko które pojawi się u użytkownika który zagłosował na "nie".
Zaznacz opcję potwierdzenie a w tytule potwierdzenia wpisz np.: Napisz dlaczego. Chcemy aby osoba głosująca przeciwko decyzji wyjaśniła swoje powody.
6.Sprawdź
Teraz już tylko dodaj siebie jako twórcę apki, zapisz ją i uruchom aby sprawdzić jak działa.
Próba głosowania po raz drugi:
0 Komentarze