Opis problemu
Aktualnie w firmie piszemy aplikację webową, która ma za zadanie przenieść papierowe aplikacje o X, Y i Z na web. Aplikacje te (dalej będę je zwał formularzami) mogą być wypełniane przez użytkownika końcowego przez kilka miesięcy. Zaś ich poziom skomplikowania zależy od tego czego dotyczy dany formularz.
Do tej pory formularze te były zbierane ręcznie – aplikant wypełniał dokument Word, konwertował do PDF, drukował, podpisywał, nagrywał płytkę i słał. Taki dokument, mógł w różnych miejscach zawierać pytanie typu czy załączasz dokumentację dotyczącą tego punktu? TAK/NIE. Każdy załącznik zaś na końcu wydrukowanej kopi był listowany zaś fizycznie znajdował się na płytce.
Takich miejsc na formularzu jest średnio 20 (najwięcej jak się doliczyłem to było tych miejsc 43). Co więcej, 95% z nich jest opcjonalna, jednak zawsze znajdzie się te 5% które jest wymagane – przeważnie jest to spowodowane załącz dokumenty potwierdzające lub negujące…
Firma chcąc przenieść formularz na web stwierdziła, że najlepszym rozwiązaniem będzie umieszczenie pod każdym pytaniem - które może posiadać załączniki - kontrolki do uploadu pliku(ów). Po wgraniu pliku, informacje o nim znajdują się w tabelce pod uploadem umożliwiającej usunięcie pliku(ów) i w razie konieczności wgranie ich ponownie lub też dodania nowych.
Przez takie rozwiązanie strona nagle wydłuża się i wydłuża. Rekord to chyba 4 strony A4 bez wgranych załączników (czyt. tabelki z informacją o załącznikach do pytania). Samo przewijanie czy nawet skakanie po stronie przestaje być wygodne nie wspominając już o zarządzaniu tym wszystkim.
Wygląda to mniej więcej tak:

Prototyp działa i nie ma z nim większych problemów, jednak JA (tak JA) nie przepadam za tym rozwiązaniem, nie podoba mi się, uważam, że wprowadza zbyt dużo zamieszania, zarówno po stronie UI jak i po stronie bazy danych itp. itd. Nie wiem, ale czuje, że coś robię nie tak godząc się na to.
Dlatego też szukam innego rozwiązania, innego, które zadowoli mnie a zarazem pokaże firmie iż pomysł z wrzucaniem 20 uploaderów mija się z celem.
Do głowy przychodzą mi dwa pomysły.
Osobna sekcja formularza
Ze względu na wielkość tych formularzy istnieje przeważnie parę zakładek/dynamicznych kaskadowych menu umożliwiających użytkownikom poruszanie się po całym formularzu.
Jedną z opcji jest przerzucenie uploadera w jedno miejsce, na nową zakładkę gdzie użytkownicy będą mogli w jednym miejscu zarządzać uploadem dokumentów.
Spowoduje to zamianę pytania na wersję papierową: czy załączyłeś… co też mi się osobiście nie podoba. Może można by było dodać linki do sekcji i uploadować dokument w zależności od wybranej sekcji. To znów nie jest takie dobre, bo jak biedny użytkownik może pamiętać, że w sekcji XYZ pytali się go o dokumentację CBA zaś w sekcji ABC o dokumentację ZYX.
Jednak strona była by dużo lżejsza. Na przykład mogłoby to tak wyglądać:


Minusem jest to, że teraz jest ciężko zrobić walidację czy użytkownik wgrał dokument dla wymaganych uploadów – może zaznaczyć odp. Tak, a i tak dalej nic nie wgrać.
Osobne okno
Można pomyśleć o przeniesieniu odpowiedzialności wgrywania dokumentów do osobnego okna, tak by przy każdym pytaniu pojawił się link – upload, który otworzy mini okienko gdzie użytkownik będzie mógł wybrać pliki i je następnie wgrać na serwer.
Plus jest taki, że można przeprowadzić prosto walidację czy coś zostało wgrane, gorzej z zarządzaniem plików, może wyświetlić tabelkę pod pytaniem?
Na przykład coś takiego:

Podsumowanie i pytania do Was
Tak naprawdę sam nie wiem, jakie rozwiązanie wybrać i które się sprawdzi.
Tak czy siak, muszą być spełnione założenia:
- Niektóre uploady są wymagane;
- Na druku ma się pojawić informacja iż załączniki zostały dodane lub niedodane do pytania.
Jestem ciekaw waszych spostrzeżeń na ten temat Także, która opcja według was była by najlepsza? Może jest też inne wyjście z sytuacji? A może lepiej bym już pakował walizki? :)