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 'ustaw edytorów' lub '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óc 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(SECTION4.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