Tugas
Ringkasan
Tugas adalah inti dari Ziptask. Pekerjaan diatur ke dalam daftar tugas (proyek atau checklist) yang berisi tugas (hal-hal yang perlu dikerjakan secara individual). Daftar bisa bersifat pribadi (dimiliki satu anggota) atau berbagi (ditugaskan ke beberapa anggota).
Templat adalah cetak biru yang bisa dipakai ulang untuk daftar — Anda membangunnya sekali dan memunculkan daftar baru darinya sesuai kebutuhan. Daftar berulang adalah lapisan opsional di atas templat: sebuah templat bisa diberi jadwal sehingga daftar baru dimunculkan otomatis. Sebuah templat tidak harus berulang; ia bisa dimunculkan secara manual kapan pun dibutuhkan.
Daftar Tugas
Siapa yang bisa membuat daftar
Anggota mana pun bisa membuat daftar pribadi. Admin dan Root bisa membuat daftar dan menugaskannya ke anggota mana pun di akun. Team Admin bisa membuat dan menugaskan daftar tetapi hanya ke anggota di dalam tim mereka sendiri — mereka tidak bisa menugaskan ke anggota di luar lingkup tim mereka.
Siapa yang bisa melihat daftar
| Peran | Visibilitas |
|---|---|
| Anggota | Daftar yang terkait dengan salah satu tim mereka, ditambah daftar yang mereka buat atau yang ditugaskan kepada mereka (tim aktif). Dengan tim nonaktif, hanya daftar yang mereka buat atau yang ditugaskan kepada mereka. Daftar yang dibuat Anggota atau ditugaskan kepadanya bersifat dapat diedit; yang lain yang bisa mereka lihat bersifat hanya lihat. |
| Team Admin | Daftar yang terkait dengan salah satu tim mereka, ditambah daftar yang mereka buat atau yang ditugaskan kepada mereka (tim aktif). Visibilitas default berlingkup tim — sama seperti Admin tetapi terbatas pada tim mereka. |
| Admin | Semua daftar di akun setiap saat (lingkup akun — tidak dibatasi oleh tim). |
| Root | Semua daftar di akun setiap saat. |
Daftar hanya-lihat: Anggota yang bisa melihat daftar tetapi bukan pembuat atau orang yang ditugaskan bisa melihat tugas dan progresnya tetapi tidak bisa menambah tugas, mengambil tugas, atau mengunggah lampiran. Daftar ini diberi label “Hanya lihat” di tampilan daftar.
Tim dinonaktifkan. Saat teams_enabled nonaktif, keterkaitan tim diabaikan dan visibilitas jatuh kembali ke lingkup peran setiap anggota: Admin dan Root (lingkup akun) tetap melihat setiap daftar, sedangkan anggota berlingkup tim (peran Anggota default) hanya melihat daftar yang mereka buat atau yang ditugaskan kepada mereka. Saat teams_enabled aktif, anggota berlingkup tim juga melihat daftar milik salah satu tim mereka; seorang anggota di beberapa tim melihat daftar dari semua tim itu digabungkan. Visibilitas selalu mengikuti lingkup izin anggota — tidak pernah lebih dari yang diberikan perannya.
Daftar tanpa tim: Jika sebuah daftar dibuat tanpa tim (baik sebelum tim diaktifkan atau oleh anggota yang tidak ada di tim mana pun), ia tidak punya keterkaitan tim dan hanya terlihat oleh pembuat dan Root. Admin atau Root bisa membuka modal edit daftar dan menugaskannya ke tim untuk memulihkan visibilitas yang lebih luas.
Tindakan daftar per peran
| Tindakan | Anggota | Team Admin | Admin / Root |
|---|---|---|---|
| Membuat daftar pribadi | ✓ (tingkat free: maks. 10 daftar aktif) | ✓ | ✓ |
| Membuat dan menugaskan daftar ke anggota | ✗ | ✓ (hanya anggota tim sendiri) | ✓ |
| Mengedit judul / deskripsi / tanggal tenggat | Hanya pembuat | Hanya pembuat (berlingkup tim) | ✓ |
| Menghapus daftar | Hanya pembuat | Hanya pembuat (berlingkup tim) | ✓ |
| Mengarsip / batal arsip daftar | Hanya pembuat | Hanya pembuat (berlingkup tim) | ✓ |
| Menambah / menghapus penugasan anggota | ✗ | ✓ (hanya anggota tim sendiri) | ✓ |
Mengelola orang yang ditugaskan
Admin, Root, dan Team Admin (dalam lingkup tim mereka) bisa mengubah siapa yang ditugaskan ke sebuah daftar. Ada dua cara melakukannya:
- Kelola anggota (cepat): Di halaman detail daftar, ketuk avatar orang yang ditugaskan atau tindakan Kelola anggota di area orang-yang-ditugaskan untuk membuka dialog yang khusus menambah/menghapus orang saja. Perubahan tersimpan langsung dan diperbarui bagi semua yang sedang melihat daftar secara real-time.
- Edit daftar (formulir lengkap): Formulir edit daftar juga menyertakan pemilih orang-yang-ditugaskan, di samping judul, deskripsi, tanggal mulai, tanggal tenggat, tim, dan label. Sebuah daftar bisa membawa tanggal mulai opsional selain tanggal tenggat — keduanya menandai jendela kerja (mis. mulai Senin, tenggat Jumat). Mulai dan tenggat dipilih dengan kontrol tanggal & waktu gabungan dan menyertakan waktu dalam hari — mulai baru default ke 9 pagi dan tenggat ke 5 sore dalam zona waktu akun. Daftar baru men-default-kan mulai ke hari ini pukul 9 pagi; kosongkan jika sebuah daftar tidak punya waktu mulai tersendiri. Mulai harus pada atau sebelum tenggat. Sebuah daftar menjadi terlambat begitu tanggal dan waktu tenggatnya lewat (daftar dengan tenggat pukul 5 sore menjadi terlambat pukul 5:01 sore, bukan pada awal hari berikutnya).
Kedua jalur membutuhkan izin penugasan. Team Admin hanya bisa menambah atau menghapus anggota di dalam tim mereka sendiri; Anggota biasa tidak bisa mengubah penugasan dan tidak akan melihat tindakan Kelola anggota.
Daftar berulang — siapa yang ada di setiap kemunculan. Daftar berulang memunculkan salinan baru pada setiap jadwal, dan setiap salinan baru mengambil orang-yang-ditugaskan dari rangkaian berulang (induknya), bukan dari daftar satu hari mana pun. Jadi saat Anda membuka Kelola anggota pada sebuah kemunculan berulang, sebuah banner “Daftar ini berulang” di bagian atas menyediakan dua sakelar yang mengontrol sejauh mana perubahan Anda berlaku:
- Tambahkan anggota baru ke setiap kemunculan — aktif secara default. Siapa pun yang Anda tambahkan bergabung dengan rangkaian, sehingga setiap kemunculan mendatang menyertakan mereka. Matikan untuk menambahkan seseorang hanya untuk kemunculan ini saja (mis. pengganti satu hari).
- Hapus anggota dari setiap kemunculan — nonaktif secara default. Menghapus seseorang hanya memengaruhi kemunculan ini saja (mis. hari sakit). Aktifkan untuk juga mengeluarkan mereka dari setiap kemunculan mendatang.
Banner ini hanya muncul pada kemunculan berulang; pada daftar biasa tidak ada yang perlu diselaraskan. Sakelar ini berlaku untuk orang yang benar-benar Anda tambahkan atau hapus dalam sesi ini — anggota yang sudah ada dan hanya-untuk-kemunculan-ini yang Anda biarkan tercentang tidak berubah. Untuk memindahkan seseorang yang ada pada satu kemunculan ke seluruh rangkaian, tambahkan mereka pada daftar berulang (induknya) itu sendiri.
Mengarsip daftar
Daftar bisa diarsip alih-alih dihapus. Daftar yang diarsip disembunyikan dari tampilan default dan tidak dihitung terhadap batas daftar aktif tingkat free. Untuk melihat daftar yang diarsip, ketuk Diarsipkan di kepala halaman daftar — tampilan beralih untuk menampilkan hanya daftar yang diarsip. Daftar yang diarsip tetap sepenuhnya dapat dijelajahi: mengetuk sebuah kartu di tampilan arsip membuka detail daftar tempat tugas dan riwayat bisa ditinjau.
Batas daftar aktif tingkat free: Akun tingkat free bisa punya hingga 10 daftar aktif (yang tidak diarsip) sekaligus. Mengarsip sebuah daftar mengosongkan satu slot. Jika akun tingkat free berada di batas, membuat daftar baru atau membatalkan arsip daftar diblokir sampai daftar lain diarsip.
Siapa yang bisa mengarsip: Pembuat daftar, atau Admin atau Root bisa mengarsip daftar mana pun. Mengarsip mempertahankan semua data, tugas, dan riwayat daftar — tidak ada yang dihapus.
Daftar yang tertaut proyek: Jika sebuah daftar tertaut ke proyek, mengarsipnya tidak menghapusnya dari total poin atau biaya proyek. Semua daftar selalu dihitung ke rekapitulasi proyek terlepas dari status arsipnya. Catatan mengenai hal ini ditampilkan di konfirmasi arsip saat daftar termasuk dalam sebuah proyek.
Membatalkan arsip: Baik tombol Batal Arsip pada kartu daftar yang diarsip maupun tindakan Batal Arsip di bilah sisi detail daftar menampilkan konfirmasi sebelum memulihkan daftar menjadi aktif. Di halaman detail, tindakan bilah sisi beralih antara Arsipkan dan Batal Arsip berdasarkan status daftar saat ini.
Field tim pada daftar tugas
Membutuhkan: feature flag
teams_enabled
Setiap daftar tugas bisa secara opsional dikaitkan dengan sebuah tim. Saat sebuah daftar punya tim, nama tim muncul sebagai lencana pada kartu daftar dan di bilah sisi detail daftar.
Saat membuat daftar:
| Situasi | Perilaku |
|---|---|
| Anggota pembuat ada di tepat satu tim | Daftar otomatis dikaitkan dengan tim itu |
| Anggota pembuat ada di beberapa tim | Pemilih Tim muncul di formulir pembuatan; anggota memilih tim mana (atau “Tanpa tim”) |
| Anggota pembuat tidak ada di tim mana pun | Daftar tidak punya keterkaitan tim |
Saat mengedit daftar:
Admin dan Root bisa mengubah tim pada daftar mana pun yang bisa mereka kelola. Anggota biasa bisa mengubah tim hanya pada daftar yang mereka miliki, dan hanya ke tim yang saat ini mereka masuki. Memilih “Tanpa tim” diizinkan dan menghapus keterkaitan tim.
Saat teams_enabled nonaktif, pemilih tim, lencana tim pada kartu, dan bagian tim di bilah sisi detail semuanya disembunyikan. Keterkaitan tim yang ada dipertahankan dan dipulihkan jika flag diaktifkan kembali.
Sakelar lingkup Milik Saya / Semua
Halaman daftar tugas punya sakelar Milik Saya | Semua yang memfilter daftar mana yang ditampilkan.
| Lingkup | Menampilkan |
|---|---|
| Milik Saya | Daftar yang dibuat anggota atau yang ditugaskan kepadanya |
| Semua | Semua daftar yang bisa dilihat anggota (akun penuh atau tim, sesuai aturan di atas) |
Lingkup default per peran (hanya pertama kali):
- Anggota → default ke Milik Saya
- Admin / Root → default ke Semua
Lingkup yang dipilih diingat per orang, di perangkat itu — begitu seorang anggota beralih ke Semua, halaman terbuka pada Semua lain kali, sampai mereka mengubahnya lagi. Default per peran di atas hanya berlaku sebelum seorang anggota membuat pilihan. Mengalihkan lingkup memuat ulang daftar dari halaman 1; tarik-untuk-menyegarkan dan gulir tak terbatas sama-sama menghormati lingkup saat ini.
Tampilan “Milik Saya” kosong. Pada akun yang menugaskan pekerjaan per tim alih-alih ke individu, tampilan Milik Saya seorang anggota kru bisa kosong — mereka tidak membuat daftarnya dan tidak ditugaskan secara individual, jadi daftar itu milik tim mereka, bukan mereka secara langsung. Saat Milik Saya kosong, halaman menampilkan penjelasan singkat dan tombol Lihat semua daftar yang beralih ke Semua, tempat daftar tim mereka muncul. (Dengan tim dinonaktifkan, tombol yang sama cukup beralih ke Semua untuk menampilkan setiap daftar yang bisa dilihat anggota.)
Filter juga diingat. Urutan pengurutan, filter tanggal tenggat, filter label, dan sakelar arsip juga diingat per orang di perangkat itu, sehingga daftar terbuka kembali seperti terakhir kali anggota meninggalkannya. Hanya pencarian teks bebas yang tidak diingat — ia terhapus setiap sesi.
Status daftar
Status keseluruhan sebuah daftar diturunkan dari tugas-tugasnya:
- Belum Dimulai — tidak ada tugas, atau semua tugas berstatus TODO
- Sedang Dikerjakan — setidaknya satu tugas berstatus DOING atau COMPLETED tetapi belum semua selesai
- Selesai — semua tugas berstatus COMPLETED
Indikator warna status
Setiap kartu daftar menampilkan garis batas kiri berwarna dan lencana progres yang mencerminkan status daftar saat ini:
| Status | Garis batas kiri | Lencana progres |
|---|---|---|
| Belum Dimulai | Abu-abu (buram) | Abu-abu |
| Sedang Dikerjakan | Amber | Amber |
| Selesai | Teal | Teal |
Tugas
Tugas berada di dalam sebuah daftar. Pembuat daftar, Team Admin di tim daftar itu, dan Admin / Root bisa menambah dan mengedit tugas. Orang yang ditugaskan mengerjakan tugas yang ada (mengambil, menyelesaikan, mengajukan untuk persetujuan) tetapi tidak menambah atau mengeditnya. Anggota yang melihat daftar dalam mode hanya-baca (visibilitas tim, tidak ditugaskan) bisa melihat tugas tetapi tidak bisa berinteraksi dengannya — itu memang disengaja: seorang admin menugaskan daftar ke orang-orang yang mengerjakannya (lihat “Mengerjakan tugas vs. mengelolanya” di bawah).
Mengerjakan tugas vs. mengelolanya. Mengerjakan tugas dan mengedit tugas adalah izin yang terpisah. Sebuah peran bisa memberikan ambil & selesaikan (tindakan kru sehari-hari — mengklaim, menyelesaikan, melepaskan, berkomentar, mengunggah bukti) tanpa memberikan kemampuan untuk menambah, mengedit, atau menghapus tugas atau mengganti nama daftar — dan sebaliknya. Untuk peran kru (Anggota, Team User) kemampuan “mengerjakan” ini berlingkup sendiri: ia berlaku untuk daftar yang mereka buat atau yang ditugaskan kepada mereka, sehingga pekerjaan diperoleh melalui penugasan. Alur yang dimaksudkan adalah Admin atau Team Admin membagi dan menugaskan setiap daftar ke kru, dan orang-orang yang ditugaskan itu lalu mencentang itemnya (daftar tetap hanya-baca-pengelolaan bagi mereka — tanpa Tambah Tugas atau ganti nama — tetapi tombol Ambil dan Tandai selesai muncul). Admin bisa membangun peran khusus dengan cara yang sama — berikan act pada Item Daftar Tugas sendirian, atau padukan dengan update untuk juga mengizinkan mengedit teks item. Akun yang justru ingin agar anggota tim mana pun bisa mengambil daftar tim mereka mana pun tanpa langkah penugasan bisa menggandakan sebuah peran dan memberikan act pada Item Daftar Tugas pada lingkup tim (konsekuensi: anggota tim yang sedang tidak bertugas lalu juga bisa menandai pekerjaan selesai). Menyetujui dan menugaskan ulang tugas tidak pernah menjadi bagian dari pengerjaan item; keduanya tetap di tangan Team Admin / Admin / Root.
Menambah beberapa tugas dengan cepat: Di dialog Tambah Tugas, gunakan Tambah & Buat Lagi — atau cukup tekan Enter di kolom judul — untuk menyimpan tugas saat ini dan langsung memulai yang baru dengan formulir dikosongkan (dialog tetap terbuka dan kursor kembali ke judul). Ini cara tercepat menyusun sebuah checklist. Tambah menyimpan tugas dan menutup dialog seperti biasa. Keduanya menghormati opsi tugas yang sama (poin, persetujuan, wajib foto).
Tindakan tugas per peran
| Tindakan | Anggota — pembuat daftar | Anggota — hanya ditugaskan | Team Admin (tim sendiri) | Anggota (hanya-lihat) | Admin / Root |
|---|---|---|---|---|---|
| Menambah tugas | ✓ | ✗ | ✓ | ✗ | ✓ |
| Mengedit judul / deskripsi tugas | ✓ | ✗ | ✓ | ✗ | ✓ |
| Menyetel poin, persetujuan, atau opsi foto tugas | ✗ | ✗ | ✓ | ✗ | ✓ |
| Menugaskan ulang tugas ke anggota lain | ✗ | ✗ | ✓ | ✗ | ✓ |
| Menghapus tugas (hanya TODO) | ✓ | ✗ | ✓ | ✗ | ✓ |
| Mengambil / mengubah status tugas Anda sendiri | ✓ | ✓ | ✓ | ✗ | ✓ |
| Menyelesaikan atau mengatur ulang tugas milik orang lain | ✓ (daftar mereka) | ✗ | ✓ | ✗ | ✓ |
| Mengajukan untuk persetujuan | ✓ | ✓ | ✓ | ✗ | ✓ |
| Menyetujui / menolak | ✗ | ✗ | ✓ | ✗ | ✓ |
Wewenang Team Admin berlaku untuk daftar di tim mereka sendiri. Menyetel nilai poin dan sakelar persetujuan / foto membutuhkan lingkup tim atau akun — Anggota biasa tidak bisa menyetelnya bahkan pada daftar yang mereka buat. Ini mencegah anggota memberi poin hadiah pada pekerjaan mereka sendiri untuk menggelembungkan saldo mereka sendiri.
Batasan penghapusan: Tugas hanya bisa dihapus saat berstatus TODO. Tugas yang sudah diambil (DOING, PENDING_APPROVAL, COMPLETED) tidak bisa dihapus; pembuat daftar, Team Admin di tim daftar itu, atau Admin atau Root bisa mengatur ulangnya ke TODO dulu jika perlu dihapus.
Transisi status tugas
Tanpa alur persetujuan (default):
| Transisi | Siapa yang bisa memicunya | Apa yang terjadi |
|---|---|---|
| TODO → DOING | Anggota mana pun yang ditugaskan ke daftar (atau admin / team admin, atau peran khusus dengan task_item:act pada lingkup daftar) | Menyetel orang-yang-ditugaskan tugas ke anggota saat ini; mencatat waktu mulai |
| DOING → COMPLETED | Anggota yang mengambilnya, pembuat daftar, Team Admin di tim daftar itu, atau Admin / Root | Mencatat siapa yang menyelesaikannya dan kapan; memberikan poin jika aktif |
| DOING → TODO | Anggota yang mengambilnya, pembuat daftar, Team Admin di tim daftar itu, atau Admin / Root | Menghapus orang-yang-ditugaskan dan waktu mulai |
| COMPLETED → TODO | Pembuat daftar, Team Admin di tim daftar itu, atau Admin / Root | Menghapus semua field pelacakan; membatalkan poin jika aktif |
Mengatur ulang tugas yang sudah selesai meminta konfirmasi. Karena pengaturan ulang (COMPLETED → TODO) menghapus catatan penyelesaian — siapa yang menyelesaikannya dan kapan — serta membatalkan poin apa pun yang telah diberikan, aplikasi sekarang menampilkan konfirmasi sebelum membuka kembali tugas yang sudah selesai, sehingga ketukan yang tidak sengaja tidak bisa diam-diam membatalkan poin yang sudah diperoleh. (Jika pembatalan itu akan membuat saldo anggota menjadi negatif, sebagai gantinya ditampilkan “Peringatan Poin” yang lebih tegas.) Pelepasan (DOING → TODO) dan tindakan persetujuan tidak terpengaruh — keduanya tidak menghapus penyelesaian atau poin.
Dengan persetujuan diwajibkan pada sebuah tugas (lihat Memerlukan Persetujuan di bawah):
| Transisi | Siapa yang bisa memicunya | Apa yang terjadi |
|---|---|---|
| DOING → PENDING_APPROVAL | Anggota yang mengambilnya, atau siapa pun yang bisa mengelola daftar | Mengajukan tugas untuk ditinjau; mencatat waktu pengajuan |
| PENDING_APPROVAL → COMPLETED | Team Admin di tim daftar itu, atau Admin / Root | Menyetujui tugas; memberikan poin ke orang-yang-ditugaskan |
| PENDING_APPROVAL → DOING | Team Admin di tim daftar itu atau Admin / Root (menolak), atau orang-yang-ditugaskan (menarik) | Kembali ke DOING agar pekerja bisa memperbaiki dan mengajukan ulang |
| DOING → COMPLETED (lewati) | Team Admin di tim daftar itu, atau Admin / Root | Melewati gerbang persetujuan dan menandai tugas selesai langsung |
Warna status tugas
Setiap baris tugas menampilkan lencana status dan garis batas kiri berwarna:
| Status | Warna lencana | Garis batas kiri |
|---|---|---|
| TODO | Abu-abu | Abu-abu (buram) |
| DOING | Amber | Amber |
| PENDING_APPROVAL | Biru langit | Biru langit |
| COMPLETED | Teal | Teal (judul baris dicoret dan diburamkan untuk menandakan bahwa itu selesai) |
Aturan kunci: Anggota biasa tidak bisa bertindak atas tugas yang tidak mereka ambil — dengan satu pengecualian: pembuat daftar bisa menyelesaikan atau mengatur ulang tugas mana pun pada daftar yang mereka buat, bahkan jika orang lain yang mengambilnya. Team Admin bisa bertindak atas tugas mana pun pada daftar tim mereka sendiri, dan Admin atau Root bisa bertindak atas tugas mana pun di akun, untuk menuntaskan atau menugaskan ulang pekerjaan atas nama anggota tim. Menyetujui sebuah tugas tidak diberikan oleh kepemilikan semata — ia membutuhkan wewenang persetujuan (Team Admin, Admin, atau Root); pembuat yang berperan Anggota biasa bisa menyelesaikan tugas daftar mereka tetapi tidak bisa menyetujuinya.
Penanganan konflik: Jika dua anggota mencoba bertindak atas tugas yang sama secara bersamaan, perubahan kedua diblokir dan anggota itu melihat pemberitahuan, lalu daftar disegarkan otomatis untuk menampilkan keadaan saat ini.
Poin saat penyelesaian
Saat points_system aktif, menyelesaikan sebuah tugas memberikan poin kepada anggota yang menyelesaikannya. Poin diberikan kepada orang yang ditugaskan pada saat penyelesaian (baik penyelesaian langsung maupun persetujuan). Membatalkan penyelesaian (COMPLETED → TODO) mengurangi poin itu otomatis.
Persetujuan & Bukti Foto
Admin, Root, dan Team Admin (pada daftar tim mereka sendiri) bisa menyetel dua opsi independen per tugas (di formulir Tambah/Edit Tugas). Salah satunya bisa dipakai sendiri — Wajibkan Foto/Dokumen tidak lagi bergantung pada Memerlukan Persetujuan.
| Sakelar | Membutuhkan flag | Apa fungsinya |
|---|---|---|
| Memerlukan Persetujuan | approval_enabled | Pekerja harus mengajukan tugas untuk ditinjau; seorang penyetuju — Team Admin di tim daftar itu, atau Admin atau Root — harus menyetujui sebelum ia menjadi COMPLETED dan poin diberikan. |
| Wajibkan Foto / Dokumen | attachments_enabled | Setidaknya satu lampiran harus ada pada tugas sebelum ia bisa diselesaikan. Jika persetujuan juga aktif, lampiran diwajibkan pada langkah ajukan-untuk-persetujuan. Ditampilkan setiap kali lampiran diaktifkan, terlepas dari Memerlukan Persetujuan. |
Kedua sakelar default nonaktif dan independen — Anda bisa mewajibkan foto tanpa persetujuan (mis. “jepret foto bukti untuk menyelesaikan tugas”), mewajibkan persetujuan tanpa foto, keduanya, atau tidak sama sekali. Keduanya bisa disetel saat membuat atau mengedit tugas, atau pada tugas templat sehingga nilainya terbawa ke setiap daftar yang dimunculkan dari templat itu.
Persyaratan foto berlaku untuk semua orang, termasuk admin — tidak ada pengecualian untuk admin. Untuk menyelesaikan tugas yang mewajibkan foto ketika tidak ada yang tersedia, seorang admin harus mengedit tugas dulu untuk mematikan persyaratannya (atau melampirkan file). Ini berbeda dari gerbang persetujuan, yang admin memang bisa lewati (lihat Pengecualian admin di bawah).
Siapa yang menerima notifikasi
- Saat seorang pekerja mengajukan untuk persetujuan, semua orang dengan wewenang persetujuan (Team Admin di tim daftar itu, ditambah Admin dan Root) menerima notifikasi.
- Saat seorang penyetuju menyetujui sebuah tugas, orang yang ditugaskan menerima notifikasi.
- Saat seorang penyetuju menolak pengajuan, orang yang ditugaskan menerima notifikasi.
- Saat seorang pekerja menarik pengajuannya sendiri, tidak ada notifikasi yang dikirim.
Pengecualian penyetuju
Penyetuju bisa melewati gerbang persetujuan: selama sebuah tugas berstatus DOING (bahkan jika persetujuan diwajibkan), Team Admin di tim daftar itu, atau Admin atau Root, bisa mengetuk Tandai selesai untuk langsung ke COMPLETED. Ini disengaja — mereka selalu bisa bertindak atas nama tim. Pembuat daftar yang berperan Anggota biasa bisa menyelesaikan tugas pada daftar mereka sendiri tetapi, karena tidak punya wewenang persetujuan, tidak bisa melewati tugas yang mewajibkan persetujuan.
Lampiran Tugas
Membutuhkan: feature flag
attachments_enabled
Anggota bisa melampirkan file langsung ke masing-masing tugas. Ini terpisah dari lampiran tingkat-daftar. Lampiran tugas berguna untuk alur unggah-sebelum-mengajukan saat persyaratan persetujuan maupun lampiran diaktifkan.
| Tindakan | Anggota | Admin / Root |
|---|---|---|
| Melihat lampiran tugas | ✓ (pada daftar yang bisa dilihat) | ✓ |
| Mengunggah lampiran tugas | ✓ (pada daftar yang bisa dilihat) | ✓ |
| Menghapus lampiran tugas | Hanya pengunggah | ✓ |
Ketuk tindakan Lampiran pada tugas mana pun untuk melihat, mengunggah, atau menghapus file. Di aplikasi ponsel Anda bisa Ambil Foto dengan kamera atau Pilih File untuk melampirkan foto atau dokumen yang ada; di web pemilih file terbuka langsung. Baris tugas menampilkan lencana jumlah lampiran saat ada satu file atau lebih.
Thumbnail sebaris: tugas dengan lampiran menampilkan sederet thumbnail kecil hanya-baca langsung pada tugas di halaman detail daftar tugas — sehingga foto bukti pekerjaan terlihat sekilas tanpa membuka setiap tugas. Ketuk sebuah thumbnail untuk membuka file lengkapnya. Mengunggah dan menghapus tetap terjadi melalui tindakan Lampiran. Deretan itu diperbarui langsung saat orang lain menambah atau menghapus foto.
Templat dan Daftar Berulang
Membutuhkan: flag
templates_enableduntuk templat; flagrecurring_listsuntuk yang berulang. Keduanya diaktifkan otomatis dari paket Starter ke atas. Pada Free, kedua fitur tidak tersedia.
Templat
Sebuah daftar tugas bisa disimpan sebagai templat. Templat adalah cetak biru yang bisa dipakai ulang — ia tidak muncul di daftar tugas biasa dan tidak bisa dikerjakan langsung. Hanya Admin dan Root yang bisa membuat atau mengelola templat.
Ada dua cara membuatnya: memulai templat kosong dari halaman Templat, atau mengubah daftar yang ada menjadi templat dengan Simpan sebagai templat, yang ada di tindakan pada halaman detail daftar. Simpan sebagai templat membuka formulir singkat yang terisi awal dengan judul dan deskripsi daftar (keduanya bisa diedit) dan menyalin tugas-tugas daftar ke templat baru — termasuk poin setiap tugas dan pengaturan “wajib foto” / “wajib persetujuan”-nya. Progres, orang yang ditugaskan, tanggal tenggat, komentar, dan lampiran adalah keadaan kerja dan tidak disalin. Setelah dibuat, sebuah tautan pada konfirmasi membawa Anda langsung ke templat baru.
Saat sebuah templat dimunculkan, sebuah daftar tugas biasa yang baru dibuat darinya dengan semua tugas, penugasan, dan label disalin ke dalamnya. Tugas diatur ulang ke TODO. Pemunculan bisa dilakukan secara manual atau otomatis lewat jadwal pengulangan.
Halaman detail templat mencantumkan tugas-tugasnya berurutan (seret untuk mengurutkan ulang). Setiap tugas menampilkan poin hadiah dan poin usahanya (saat sistem poin aktif) dan ikon kecil yang menandai tugas mana pun yang wajib foto atau wajib persetujuan — sehingga Anda bisa melihat sekilas apa yang akan terbawa ke setiap daftar yang dimunculkan dari templat. Ringkasan total poin hadiah dan poin usaha templat muncul di samping jumlah tugas.
Daftar berulang
Sebuah templat bisa diberi jadwal pengulangan sehingga instansi daftar baru dibuat otomatis dengan irama berulang. Templat itu sendiri disebut daftar induk; salinan yang dibuat disebut instansi. Semua instansi langsung bisa dikerjakan saat muncul — tidak ada keadaan “Mendatang”.
Frekuensi
| Frekuensi | Irama |
|---|---|
| Harian | Setiap hari |
| Mingguan | Setiap 7 hari |
| Dua mingguan | Setiap 14 hari |
| Bulanan | Hari yang sama tiap bulan; jika tanggal tenggat jatuh pada hari terakhir suatu bulan, instansi berikutnya jatuh pada hari terakhir tiap bulan berikutnya (mis. 31 Jan → 28/29 Feb → 31 Mar) |
Cara instansi dibuat
Instansi dibuat sesuai permintaan — sistem tidak pernah membuat instansi mendatang lebih awal. Saat sebuah periode jatuh tempo, satu instansi Aktif dibuat untuk periode itu. Semua instansi langsung Aktif dan bisa dikerjakan.
Sistem memeriksa setiap jam dan membuat instansi mana pun yang periodenya sudah jatuh tempo.
Pembukaan lebih awal: Saat semua tugas pada sebuah instansi Aktif selesai, sistem otomatis membuat instansi periode berikutnya — anggota tidak perlu menunggu pemeriksaan berikutnya.
Acara terjadwal pada kalender: Kalender menampilkan tanggal pengulangan mendatang sebagai acara terjadwal (ditampilkan dengan garis batas putus-putus). Ini belum daftar nyata — mereka dihitung dari jadwal induk. Anggota mana pun dengan izin membuat-daftar bisa mengetuk acara terjadwal dan memilih Aktifkan Sekarang untuk membuat instansi berikutnya seketika — ini termasuk Admin, Root, Team Admin, dan Anggota biasa untuk daftar yang mereka miliki atau yang ditugaskan kepada mereka.
Menyetel jadwal pengulangan
Tombol Atur Jadwal muncul di halaman detail daftar induk. Admin dan Root bisa menyetel jadwal kapan saja — daftar tidak perlu menjadi templat dulu.
Jadwal yang tersedia: Harian, Setiap dua hari sekali, Setiap 3 hari, Hari kerja (Sen–Jum), Mingguan, Setiap 2 minggu, dan Bulanan. Memilih Khusus… (opsi terakhir di daftar tarik-turun jadwal) menawarkan dua penyusun:
-
Interval — “Setiap N hari / hari kerja / minggu / bulan” untuk interval apa pun hingga 30 (mis. setiap 5 hari, setiap 2 hari kerja, setiap 2 bulan).
-
Hari — berulang pada sekumpulan hari kerja pilihan setiap minggu (mis. setiap Selasa dan Kamis, atau Sen/Rab/Jum). Pilih satu hari atau lebih dari chip M–S–S–R–K–J–S.
-
Hari kerja berulang setiap hari kerja dan melewati akhir pekan — instansi hari kerja yang jatuh tempo pada Jumat memunculkan yang berikutnya pada Senin, tidak pernah Sabtu atau Minggu. Dalam mode Khusus, hari kerja hanya menghitung hari kerja, jadi “setiap 2 hari kerja” dari Jumat jatuh pada Selasa berikutnya (Sabtu dan Minggu tidak dihitung). Rentang mulai→tenggat suatu pengulangan hari kerja juga dihitung dalam hari kerja: daftar dua-hari-kerja yang mulai pada Jumat jatuh tempo pada Senin berikutnya, bukan Sabtu.
-
Hari (hari kerja tertentu) menghasilkan satu daftar pada tiap hari yang dipilih, setiap minggu — mis. Sel + Kam menghasilkan daftar setiap Selasa dan setiap Kamis. Tanggal mulai adalah jangkarnya; daftar pertama mulai pada hari kerja terpilih berikutnya pada atau setelah tanggal itu.
-
Bulanan mempertahankan perilaku akhir-bulan (daftar yang mulai tanggal 31 jatuh pada hari terakhir tiap bulan).
-
Tanggal mulai (jangkarnya). Pengulangan berjalan pada tanggal mulai: tiap instansi dibuat saat hari mulainya tiba. Sebuah daftar juga bisa membawa tanggal tenggat — batas waktu dalam periode itu — dan keduanya bersama menandai jendela kerja (misalnya, mulai Senin, tenggat Jumat); tiap instansi yang dihasilkan mempertahankan rentang mulai→tenggat yang sama. Tanggal tenggat bersifat opsional: daftar dengan hanya tanggal mulai cukup berulang pada tanggal itu tanpa batas waktu. Karena penjadwalan berjangkar pada tanggal mulai, sebuah daftar tanpa tanggal mulai akan dimintai satu saat Anda menyetel jadwalnya (default-nya hari ini) — itu menjadi tanggal mulai daftar.
-
Hari adalah hari akun. Pengulangan memakai zona waktu akun (Pengaturan Akun) untuk menentukan kapan sebuah hari dimulai, sehingga daftar “harian” terpicu pada hari kalender lokal akun dan mulai/tenggat hari-yang-sama tetap satu hari sepanjang tahun — termasuk melintasi perubahan waktu musim panas. Jika zona waktu akun kosong, ia jatuh kembali ke UTC.
-
Menyetel jadwal memperbarui aturan pengulangan. Jika tanggal mulai instansi berikutnya adalah hari ini atau sebelumnya, instansi Aktif dibuat seketika.
-
Tidak ada instansi mendatang yang dibuat lebih awal — kalender menampilkan penanda terjadwal sebagai gantinya.
-
Karena instansi dibuat pada saat jatuh tempo, tugas apa pun yang ditambahkan ke daftar induk setelah jadwal disetel akan otomatis muncul di semua instansi mendatang. Tidak perlu menyinkronkan ulang atau memperbarui instansi yang ada secara manual.
Mengakhiri pengulangan pada suatu tanggal
Saat menyetel atau mengubah jadwal, opsi Berakhir mengontrol berapa lama pengulangan berjalan:
- Tidak pernah (default) — daftar terus menghasilkan instansi sampai seseorang menghentikannya. Beginilah daftar berulang selama ini bekerja.
- Pada tanggal — pilih tanggal akhir, dan pengulangan berhenti dengan sendirinya begitu tanggal itu lewat.
Tanggal akhir bersifat inklusif: instansi yang mulainya jatuh pada tanggal akhir tetap dibuat, dan tidak ada yang dihasilkan setelahnya. Menyetel tanggal akhir tidak menghapus apa pun — ia hanya menghentikan instansi mendatang; instansi yang sudah dibuat tetap ada sebagai daftar mandiri. Begitu tanggal akhir lewat, daftar cukup berhenti membuat salinan baru — jadwal itu sendiri dibiarkan tetap, sehingga daftar terus menampilkan “Berulang … · Berakhir {date}” sebagai catatan atas apa yang dilakukannya (ia tidak dihapus, dan instansi yang ada tak tersentuh). Tanggal akhir memakai zona waktu akun, seperti bagian penjadwalan lainnya, dan harus pada atau setelah tanggal mulai daftar. Untuk mengakhiri pengulangan seketika alih-alih pada suatu tanggal, gunakan Hentikan Pengulangan (di bawah), yang menghapus jadwal sepenuhnya.
Tindakan per peran
| Tindakan | Anggota (sendiri/ditugaskan) | Admin / Root |
|---|---|---|
| Menyetel jadwal pengulangan | ✗ | ✓ |
| Mengubah jadwal pengulangan | ✗ | ✓ |
| Menghentikan pengulangan | ✗ | ✓ |
| Melihat acara terjadwal (mendatang) pada kalender | ✓ | ✓ |
| Mengaktifkan instansi berikutnya seketika | ✓ (hanya sendiri/ditugaskan) | ✓ |
| Menghapus daftar (dengan pilihan lingkup untuk yang berulang) | Hanya pembuat | ✓ |
Menghentikan pengulangan
Tombol Hentikan Pengulangan di halaman detail daftar induk melucuti jadwalnya. Tidak ada daftar yang dihapus — jadwal pengulangan induk dihapus dan tidak ada instansi baru yang dibuat. Instansi Aktif dan yang selesai yang sudah ada tidak terpengaruh; keduanya tetap ada sebagai daftar mandiri dan menyimpan riwayatnya.
Mengubah jadwal
Tombol Ubah Jadwal memperbarui pengulangan mulai dari sini. Ia terbuka terisi awal dengan jadwal saat ini (frekuensi atau hari-hari tertentu), jadi hanya bagian yang diubah yang perlu disesuaikan. Awalan tidak lagi disetel di sini — ia berasal dari tanggal mulai dan tenggat daftar itu sendiri. Tidak ada instansi yang ada yang dihapus atau diubah. Acara terjadwal mendatang pada kalender diperbarui untuk mencerminkan irama baru secara otomatis.
Berpindah antara induk dan instansi
Halaman detail sebuah instansi menampilkan tautan “Bagian dari rangkaian berulang” yang menavigasi kembali ke daftar induk, sehingga memudahkan mengelola jadwal tanpa harus mencari templat aslinya.
Menghapus daftar induk berulang
Saat daftar induk dihapus, sistem menanyakan lingkupnya:
| Pilihan | Apa yang terjadi |
|---|---|
| Hanya daftar ini | Menghapus hanya induknya. Instansi yang ada menjadi daftar mandiri dan tidak terpengaruh. Tidak ada instansi baru yang dibuat karena induknya sudah hilang. |
| Seluruh rangkaian | Menghapus induk dan setiap instansi pada status apa pun — termasuk daftar yang sedang Aktif. Ini tidak bisa dibatalkan. |
Menghapus instansi berulang
Saat sebuah instansi individual dihapus, sistem juga menanyakan lingkupnya:
| Pilihan | Apa yang terjadi |
|---|---|
| Hanya instansi ini | Menghapus hanya instansi ini. Induk dan jadwal tidak terpengaruh; rangkaian berlanjut normal. |
| Seluruh rangkaian | Menghapus induk dan setiap instansi pada status apa pun — termasuk daftar yang sedang Aktif. Ini tidak bisa dibatalkan. |
Pengingat
Membutuhkan: feature flag
reminders_enabled(aktif secara default untuk setiap paket)
Tambahkan pengingat ke daftar tugas yang memberi tahu orang sebelum daftar itu mulai atau jatuh tempo — sebuah preset (sehari/seminggu sebelum mulai atau tenggat) atau tanggal & waktu khusus — masing-masing ditujukan ke semua orang di daftar atau anggota tertentu, dengan catatan opsional. Pengingat terpicu lewat notifikasi push + dalam aplikasi, dan widget Pengingat mendatang ditampilkan di dasbor. Lihat Pengingat untuk panduan lengkap.
Lampiran Daftar
Membutuhkan: feature flag
attachments_enabled
Saat diaktifkan, anggota bisa melampirkan file (gambar dan dokumen) ke daftar tugas. Tipe yang didukung mencakup JPEG, PNG, WebP, dan format dokumen umum. Gambar otomatis diubah ukurannya saat diunggah. Setiap file punya batas ukuran 20 MB, dengan maksimum 20 lampiran per daftar. Di aplikasi ponsel, ketuk kotak tambah untuk Ambil Foto dengan kamera atau Pilih File; di web pemilih file terbuka langsung.
| Tindakan | Anggota | Admin / Root |
|---|---|---|
| Melihat lampiran | ✓ (pada daftar yang bisa dilihat) | ✓ |
| Mengunggah lampiran | ✓ (pada daftar yang bisa dilihat) | ✓ |
| Menghapus lampiran | Hanya pembuat lampiran | ✓ |
Komentar
Anggota bisa meninggalkan komentar pada tugas untuk menambah konteks, mengajukan pertanyaan, atau mencatat catatan. Komentar terlihat oleh siapa pun yang bisa melihat daftar. Tidak ada penyuntingan — untuk membetulkan komentar, hapus dan kirim ulang.
| Tindakan | Anggota | Admin / Root |
|---|---|---|
| Melihat komentar | ✓ (pada daftar yang bisa dilihat) | ✓ |
| Menambah komentar | ✓ (pada daftar yang bisa dilihat) | ✓ |
| Menghapus komentar sendiri | ✓ | ✓ |
| Menghapus komentar mana pun | ✗ | ✓ |
Catatan dukungan
- Jika seorang Team Admin bilang mereka tidak bisa menugaskan anggota ke sebuah daftar, periksa bahwa anggota sasaran termasuk dalam salah satu tim Team Admin itu. Team Admin hanya bisa menugaskan dalam lingkup tim mereka sendiri — mereka tidak bisa menugaskan di seluruh akun.
- Orang yang ditugaskan bisa dikelola dua cara: dialog cepat Kelola anggota dari detail daftar (ketuk avatar orang yang ditugaskan), atau formulir edit lengkap. Keduanya membutuhkan izin penugasan, jadi Anggota biasa tidak akan melihat Kelola anggota. Perubahan orang-yang-ditugaskan yang dibuat satu orang memperbarui penonton lain yang membuka daftar itu secara real-time.
- Untuk menambah banyak tugas sekaligus, gunakan Tambah & Buat Lagi di dialog Tambah Tugas — ia menjaga dialog tetap terbuka dan mengosongkan formulir setelah tiap penyimpanan alih-alih membukanya kembali per tugas.
- Jika seorang Anggota tidak bisa melihat sebuah daftar, periksa dulu sakelar Milik Saya / Semua — daftar yang bisa mereka lihat tetapi tidak ditugaskan hanya muncul di Semua. Jika daftar masih hilang dan
teams_enabledaktif, periksa keterkaitan tim daftar (terlihat di bilah sisi detail daftar). Sebuah daftar terlihat oleh seorang anggota hanya jika tim daftar cocok dengan salah satu tim yang diikuti anggota. Daftar tanpa keterkaitan tim hanya terlihat oleh pembuat dan Root. - Jika seorang anggota baru saja ditambahkan ke sebuah tim tetapi masih tidak bisa melihat daftar tim itu, mereka mungkin perlu menyegarkan aplikasi. Jika masalah berlanjut, verifikasi bahwa keanggotaan tim mereka tersimpan di halaman Tim.
- Jika seorang Anggota tidak bisa menyelesaikan tugas yang mereka ambil, periksa bahwa mereka ada di daftar orang-yang-ditugaskan daftar itu.
- Jika seorang Anggota bilang mereka bisa mengedit tugas tetapi tidak bisa menghapusnya, itu benar — hanya pembuat daftar (atau Admin atau Root) yang bisa menghapus tugas. Orang yang ditugaskan yang bukan pembuat daftar punya hak edit tetapi bukan hak hapus atas tugas.
- Jika seorang Anggota tidak bisa mengedit atau menghapus daftar pribadi mereka sendiri, verifikasi bahwa mereka pembuat daftar. Anggota bisa mengedit dan menghapus sepenuhnya daftar tugas yang mereka buat.
- Jika seorang Anggota mendapat “Tugas ini memerlukan persetujuan” saat mencoba menandai selesai, tugas itu mewajibkan persetujuan. Anggota harus memakai Ajukan untuk Persetujuan sebagai gantinya; hanya admin yang bisa menyetujuinya.
- Jika seorang Anggota tidak bisa mengajukan untuk persetujuan atau tidak bisa menyelesaikan tugas karena “lampiran diwajibkan”, tugas itu mengaktifkan Wajibkan Foto/Dokumen — mereka harus mengunggah setidaknya satu file lewat tindakan Lampiran dulu. Persyaratan ini berlaku untuk semua orang, termasuk admin (tanpa pengecualian); untuk menyelesaikannya tanpa foto, seorang admin harus mengedit tugas dan mematikan persyaratannya.
- Jika sebuah tugas tersangkut di DOING dan anggotanya tidak tersedia, Admin atau Root bisa mengatur ulangnya ke TODO.
- Templat dan instansi yang dimunculkannya terpisah — mengedit templat setelah pemunculan tidak mengubah daftar yang sudah dimunculkan.
- Sakelar Memerlukan Persetujuan hanya muncul di formulir tugas saat
approval_enabledaktif; sakelar Wajibkan Foto/Dokumen muncul setiap kaliattachments_enabledaktif, terlepas dari persetujuan. - Jika sebuah instansi hilang setelah suatu periode seharusnya mulai, instansi dibuat otomatis dalam sejam. Jika masih belum muncul, Admin atau Root bisa memicu pembuatan secara manual lewat tombol Aktifkan Instansi Berikutnya di halaman detail daftar induk, atau dengan mengetuk acara terjadwal pada kalender dan memilih Aktifkan Sekarang.
- Menghentikan pengulangan tidak menghapus daftar mana pun — ia hanya menghapus aturan pengulangan pada induk. Semua instansi yang ada tetap sebagai daftar Aktif mandiri. Jika seorang admin ingin menghapusnya, mereka harus menghapus masing-masing secara manual.
- Jika sebuah akun turun ke Free (atau langganan dibatalkan atau habis karena pembayaran gagal), daftar berulang berhenti menghasilkan instansi baru secara otomatis, karena
recurring_listsadalah fitur berbayar. Tidak ada daftar yang dihapus — induk dan instansi yang ada tetap apa adanya, dan jadwal melanjut dengan sendirinya jika akun berlangganan ulang ke paket yang menyertakan daftar berulang. - Jika seorang anggota melaporkan bahwa sebuah daftar menghilang, periksa apakah ia diarsip. Daftar yang diarsip disembunyikan dari tampilan default dan hanya terlihat saat sakelar Diarsipkan aktif.
- Mengarsip daftar yang tertaut proyek tidak memengaruhi total poin atau biaya proyek itu. Data daftar selalu dihitung ke rekapitulasi proyek terlepas dari status arsip.
- Mengubah jadwal pengulangan tidak memengaruhi instansi yang ada. Hanya periode mendatang yang dihitung ulang.
- Frekuensi bulanan mempertahankan perilaku akhir-bulan: daftar dengan tenggat 31 Jan akan selalu jatuh pada hari terakhir tiap bulan, bukan tanggal 31 yang tetap (yang akan melewati bulan yang tidak punya tanggal 31).