المشاريع واللوحات والمهام
ما يحمله المشروع، وقائمة المشاريع ومرشحاتها، ولوحة المهام بالسحب والإفلات والتحريك بلوحة المفاتيح، وما تحمله المهمة، وملفات المشروع، والأرشفة والاستعادة.
لحزمة الحزمة الكاملة
ما يحمله المشروع
| الجزء | القيم |
|---|---|
| الاسم والوصف، بالإنجليزية والعربية | الاسم الإنجليزي مطلوب (حتى 120 حرفًا)؛ أما الاسم العربي والوصفان فاختياريان. تعرض الصفحة العربية النص العربي إن وُجد، وإلا الإنجليزي. |
| المالك | عضو في مساحة العمل. يعرض الدرج كل عضو ما عدا الفوترة؛ ومالك المشروع الجديد هو منشئه إلا إذا اختير غيره. |
| موعد التسليم | اختياري. تسرد النظرة العامة المشاريع المفتوحة التي يحين موعدها خلال فترتها تحت مشاريع تحتاج إلى متابعة. |
| الحالة | قيد التنفيذ (الافتراضي)، أو قيد المراجعة، أو متوقف، أو مكتمل. وتُعدّ قيد التنفيذ وقيد المراجعة ومتوقف نشطة. |
| التقدم | من 0 إلى 100، تُضبط يدويًا في إعدادات المشروع؛ وضبط الحالة على مكتمل يجعلها 100. |
| اللوح | مهامه في أربعة أعمدة: قائمة الانتظار وقيد التنفيذ وقيد المراجعة ومنجز. |
| الملفات | ملفات مرفوعة حجم كل منها حتى 10 ميغابايت. |
مساحة العمل الأولية، Forma Studio، فيها 12 مشروعًا (6 قيد التنفيذ، و1 قيد المراجعة، و1 متوقف، و4 مكتملة) مع لوحاتها، ومشروع مؤرشف واحد هو Pilot dashboard، ليجد الأرشيف ما يستعيده.
قائمة المشاريع
تسرد /en/dashboard/projects مشاريع مساحة العمل، سبعة في كل صفحة، الأحدث تحديثًا أولًا، للأعضاء الذين يملكون projects.read.
- ثلاثة تبويبات مع أعدادها: كل المشاريع ونشط ومكتمل.
- المرشحات: بحث في الأسماء والأوصاف، والحالة، والمالك (الأعضاء الذين يملكون مشروعًا)، وموعد التسليم (يحين في اليوم المختار أو قبله). تمسحها إعادة الضبط. ويُحفظ التبويب والمرشحات والصفحة في العنوان.
- الأعمدة: المشروع والحالة والمالك والتقدم وموعد التسليم، وقائمة إجراءات فيها فتح وتعديل وأرشفة.
- يفتح مشروع جديد درج المشروع. ويفتح المؤرشفة المشاريع المؤرشفة.
إنشاء مشروع وتعديله
يفتح مشروع جديد، في قائمة المشاريع وفي النظرة العامة، درجًا فيه الاسم والوصف (في كل منهما تبويب إنجليزي وآخر عربي) والمالك وموعد التسليم والحالة؛ ويحفظه إنشاء المشروع ويفتح صفحته. وفي صفحة المشروع يفتح إعدادات المشروع الدرج نفسه ومعه التقدم (%) أيضًا. وإغلاق الدرج مع تغييرات غير محفوظة يسأل أولًا.
- يتطلب الإنشاء والتعديل والأرشفة والاستعادة
projects.write(المالكون والمسؤولون والأعضاء كما في البيانات الأولية). - عندما تنتهي فترة السماح لمساحة عمل متأخرة السداد (
BILLING_GRACE_DAYS، 7 أيام في.env.example)، أو يُلغى اشتراكها، يُرفض المشروع الجديد برسالة «The plan's limits are reached. Change the plan to add projects.» وتبقى المشاريع الموجودة تعمل. - يُكتب كل تغيير في سجل النشاط:
project.createdوproject.updated(مع الحالة التي انتقل منها وإليها) وproject.archivedوproject.restored.
لوحة المهام
تعرض صفحة المشروع (/en/dashboard/projects/all/<id>) حالته ومالكه وموعد تسليمه وتقدمه، ثم ثلاثة تبويبات: اللوح والنشاط والملفات.
- للوح أربعة أعمدة: قائمة الانتظار وقيد التنفيذ وقيد المراجعة ومنجز، ولكل منها عددها. وتعرض البطاقة عنوان المهمة وأولويتها والمسؤول عنها وموعد تسليمها.
- اسحب بطاقة إلى عمود آخر أو إلى مكان آخر في عمودها. وبلوحة المفاتيح اضغط Space لالتقاط مهمة، ومفاتيح الأسهم لتحريكها، وSpace لإفلاتها، وEscape للإلغاء. وفي قائمة كل بطاقة أيضًا تعديل ونقل إلى وأرشفة. والنقل الذي ترفضه واجهة API يعيد البطاقة إلى مكانها.
- يبدّل العرض بين اللوح والقائمة، وهي جدول فيه المهمة والحالة والأولوية والمسؤول وموعد التسليم.
- المرشحات: ابحث في المهام والمسؤول والأولوية.
- يفتح مهمة جديدة درج المهمة. الأعضاء الذين لا يملكون
projects.writeيرون اللوح والمهام للقراءة فقط.
ما تحمله المهمة
| الحقل | القيم |
|---|---|
| العنوان والوصف، بالإنجليزية والعربية | العنوان الإنجليزي مطلوب؛ ويقبل كل عنوان حتى 160 حرفًا («Keep the title to 160 characters.»)، أما العنوان العربي والوصفان فاختياريان. |
| المسؤول | عضو في مساحة العمل (يعرض الدرج كل عضو ما عدا الفوترة)، أو غير مسندة. |
| موعد التسليم | اختياري. |
| الأولوية | عالية أو متوسطة (normal) أو منخفضة. |
| الحالة | قائمة الانتظار أو قيد التنفيذ أو قيد المراجعة أو منجز: عمود اللوح. |
أرشفة في البطاقة تزيل المهمة من اللوح بعد تأكيد؛ ويبقى تاريخها في النشاط. المهام المؤرشفة ليس لها شاشة استعادة. وكل تغيير في مهمة حدث نشاط (task.created وtask.moved وtask.updated وtask.archived)، ويحسبها المخطط الأسبوعي في النظرة العامة.
ملفات المشروع
- يسرد تبويب الملفات ملفات المشروع من الأحدث، مع من رفعها وحجمها ووقتها. يقبل رفع ملف أي نوع ملف حتى 10 ميغابايت (
projects.write)؛ ويتطلب تنزيل الصلاحيةprojects.read. - كل ملف مرفوع يُضاف إلى تخزين مساحة العمل، وتقيسه الفوترة مقابل الخطة.
- يُخزَّن الملف باسم عشوائي في حاوية Cloudflare R2 عندما تُضبط متغيرات
R2_*الخمسة، وإلا فيMEDIA_UPLOAD_DIRالخاص بواجهة API (وحدة البيانات مع Docker)، ويُقدَّم من ذلك العنوان. يستطيع كل من يملك عنوان ملف فتحه، فشارك الروابط بحذر. - من قرص واجهة API نفسه، يُرسل الملف الذي ليس صورة أو PDF أو نصًا عاديًا أو صوتًا أو فيديو، مثل ملف HTML أو SVG، على أنه تنزيل بدلًا من فتحه في المتصفح، فلا تعمل صفحة مرفوعة أبدًا على عنوان واجهة API. وتقدّم الحاوية كل ملف بالنوع الذي رُفع به.
الأرشفة والاستعادة
أرشفة في المشروع تخرجه من القوائم والنظرة العامة والبحث؛ وتبقى لوحته ومهامه وملفاته كما هي. تسرد المؤرشفة (/en/dashboard/projects/deleted) المشاريع المؤرشفة، ويعيد استعادة مشروعًا إلى القائمة مع مهامه وملفاته. وتظل ملفات المشروع المؤرشف قابلة للعرض والتنزيل.
المسارات خلف هذه الصفحات
| المسار | الصلاحية |
|---|---|
GET /api/workspaces/:workspaceId/projects (status وstate وsearch وownerId وdueBefore وsort وorder وpage وlimit حتى 100) | projects.read |
GET .../projects/archived, GET .../projects/owners, GET .../projects/:projectId, GET .../projects/:projectId/activity | projects.read |
POST .../projects وPATCH .../projects/:projectId وDELETE .../projects/:projectId (أرشفة) وPOST .../projects/:projectId/restore | projects.write |
GET .../projects/:projectId/files, GET .../files/:fileId/download | projects.read |
POST .../projects/:projectId/files (متعدد الأجزاء، الحقل file) | projects.write |
GET .../projects/:projectId/tasks (assigneeId, priority, search) | projects.read |
POST .../projects/:projectId/tasks وPATCH .../tasks/:taskId وPOST .../tasks/:taskId/move وDELETE .../tasks/:taskId (أرشفة) | projects.write |
يأخذ .../tasks/:taskId/move العمود في status، ولوضع البطاقة يأخذ معرّف البطاقة التي تقف قبلها الآن في beforeId. وتستطيع أنظمتك قراءة المشاريع وإنشاءها وتعديلها وإضافة المهام بمفتاح API على /api/v1 بدلًا من ذلك.