رفتن به محتوای اصلی

واردکننده‌های CSV

وارد کردن فایل‌های لیست خروجی FET به صورت بخش به بخش، و تنها قانون مرتب‌سازی که ارزش دارد از همان ابتدا به درستی اعمال شود.

FET می‌تواند هر یک از لیست‌های خود را به عنوان یک فایل CSV جداگانه صادر کند. هفت مورد از آن فایل‌ها در اینجا خوانده می‌شوند، هر کدام در بخش مخصوص به خود در ویرایشگر داده، تا بتوانید به جای کل پروژه به یکباره، هر لیست را جداگانه وارد کنید.

هفت فایل

  • استاد — لیست اساتید.
  • درس — لیست دروس.
  • توضیح کلاس — لیست برچسب‌ها.
  • اتاق‌ها و ساختمان‌ها — یک فایل که هر دو را پوشش می‌دهد، همانطور که در FET است.
  • دانشجویان — سال‌ها، گروه‌ها و زیرگروه‌ها، با سلسله‌مراتبشان.
  • فعالیت‌ها — لیست فعالیت‌ها، که فایلی است که بار تدریس یک مدرسه را قبل از تولید هر برنامه درسی حمل می‌کند.
  • زمان‌های در دسترس نبودن استاد — تنها فایلی که به جای لیست، قوانین را حمل می‌کند. این از محدودیت‌های زمانی وارد می‌شود، نه از اساتید.

هر کدام از بخش مخصوص به خود وارد می‌شود: بخش را در ویرایشگر داده باز کنید و از دکمه وارد کردن CSV آن استفاده کنید. فایل خوانده می‌شود، به شما نشان داده می‌شود که چه کاری انجام خواهد داد، و تا زمانی که تأیید نکنید، چیزی نوشته نمی‌شود.

فایل در دسترس نبودن جایگزین می‌کند، اضافه نمی‌کند

شش فایل اول آنچه را که گم شده است اضافه می‌کنند و بقیه را دست‌نخورده باقی می‌گذارند. فایل زمان‌های در دسترس نبودن استاد به دلیل محتوایش متفاوت عمل می‌کند: FET یک جدول کامل می‌نویسد — هر استاد در برابر هر ساعت، با علامتی در جایی که آن استاد نمی‌تواند تدریس کند.

یک سلول خالی به معنای "بدون اطلاعات" نیست. این فایل می‌گوید این استاد در آن زمان آزاد است. بنابراین وارد کردن آن، زمان‌های در دسترس نبودن اساتیدی را که لیست می‌کند جایگزین می‌کند، که تنها راهی است که یک جایگاه آزاد شده می‌تواند واقعاً اعمال شود.

اساتیدی که فایل به آنها اشاره نمی‌کند، کاملاً دست‌نخورده باقی می‌مانند، بنابراین فایلی که سه استاد را پوشش می‌دهد نمی‌تواند سی استاد دیگر را مختل کند.

قبل از اینکه چیزی نوشته شود، به شما گفته می‌شود که چند محدودیت حذف خواهد شد، چند مورد نوشته خواهد شد و چند استاد دست‌نخورده باقی می‌مانند. هیچ بازگشتی وجود ندارد، بنابراین اگر برنامه درسی مهم است، ابتدا یک نسخه پشتیبان تهیه کنید.

استادی که نامش از قبل در برنامه درسی نیست، نادیده گرفته می‌شود و ایجاد نمی‌گردد — این فایل افراد موجود را تنظیم می‌کند، افراد جدیدی را معرفی نمی‌کند.

یک علامت می‌تواند یک اولویت باشد نه یک مانع

سلول‌های آن فایل تیک نیستند — هر کدام یک وزن از 0 تا 100 را حمل می‌کنند، و وزن معنای علامت را تغییر می‌دهد.

100 به معنای "نمی‌تواند" است. این حالت عادی است و به یک قانون ساده استاد در دسترس نیست تبدیل می‌شود.

زیر 100 به معنای "ترجیح می‌دهد نباشد" است. یک قانون "در دسترس نیست" تنظیم ضعیف‌تری ندارد — مطلق است یا هیچ — بنابراین یک علامت وزنی به روش دیگری ثبت می‌شود: به عنوان زمان‌های ترجیحی که در آن لیست می‌شود هر جایی که درس‌های استاد ممکن است بروند، با آن وزن. این همان محدودیت است که به صورت مثبت بیان شده است.

FET حالت وارد کردن برای این ندارد. راهنمای خود FET به شما می‌گوید که وقتی به وزنی زیر 100 نیاز دارید، از زمان‌های ترجیحی استفاده کنید. این واردکننده آن مرحله را برای شما انجام می‌دهد.

شما بین آنها انتخاب نمی‌کنید و هیچ تنظیماتی برای اشتباه کردن وجود ندارد. اگر فایلی حاوی سلول‌های وزنی باشد، واردکننده قبل از نوشتن به شما اطلاع می‌دهد و وزن‌هایی را که پیدا کرده است نام می‌برد.

دانشجویان را قبل از فعالیت‌ها وارد کنید

این تنها قانونی است که ارزش پیروی دقیق را دارد.

اگر یک فعالیت به مجموعه‌ای از دانشجویان اشاره کند که هنوز وجود ندارد، آن مجموعه به صورت مسطح ایجاد می‌شود — و هرگز پس از آن به یک ساختار صحیح سال-گروه-زیرگروه ارتقا نمی‌یابد.

ابتدا فایل دانشجویان را وارد کنید تا سلسله‌مراتب به درستی وارد شود. اگر ابتدا فعالیت‌ها را وارد کنید، انبوهی از گروه‌های مسطح خواهید داشت که در یک لیست درست به نظر می‌رسند اما در هر جایی که ساختار اهمیت دارد، اشتباه عمل می‌کنند. اصلاح آن پس از آن به معنای حذف و دوباره انجام دادن آنهاست.

همین ایجاد خودکار برای اساتید، دروس و توضیح کلاس‌ها که توسط یک ردیف فعالیت نامگذاری شده‌اند، اعمال می‌شود. برای آنها بی‌ضرر است — یک استاد، استاد است — و دقیقاً به همین دلیل است که مورد دانشجویان افراد را به اشتباه می‌اندازد.

پیش‌نمایش قبل از تأیید

Choosing a file does not import it: the columns it recognised, what it would add, what it would skip because it is already there, and the row it could not use.
Choosing a file does not import it: the columns it recognised, what it would add, what it would skip because it is already there, and the row it could not use.

انتخاب یک فایل به معنای وارد کردن آن نیست. ابتدا فایل خوانده می‌شود و شما خلاصه‌ای از آنچه اتفاق خواهد افتاد دریافت می‌کنید: چند ردیف فهمیده شد، چه چیزی ایجاد خواهد شد، و هرگونه هشدار در مورد ردیف‌هایی که قابل استفاده نبودند. ردیف‌های بدون نام گزارش شده و نادیده گرفته می‌شوند، به جای اینکه بی‌صدا فضاهای خالی ایجاد کنند.

فقط زمانی که تأیید کنید، چیزی نوشته می‌شود.

نکاتی درباره فرمت که ارزش دانستن دارند

شما اصلاً نیازی به آماده‌سازی خروجی‌های خود FET ندارید — آنها همانطور که هستند خوانده می‌شوند. اینها زمانی اهمیت دارند که شما فایلی را به صورت دستی می‌سازید یا آن را در یک صفحه گسترده ویرایش می‌کنید.

  • نام فایل‌ها بر اساس پسوند مطابقت داده می‌شوند. FET خروجی‌ها را با نام برنامه درسی پیشوندگذاری می‌کند، بنابراین myschool_teachers.csv به عنوان فایل اساتید شناخته می‌شود. پسوند را حفظ کنید و پیشوند می‌تواند هر چیزی باشد.
  • علامت ترتیب بایت (BOM) مورد انتظار است. FET یکی می‌نویسد، و هنگام خواندن حذف می‌شود. فایلی که بدون آن ذخیره شده باشد نیز مشکلی ندارد.
  • جداکننده برای هر فایل شناسایی می‌شود به جای اینکه فرض شود، بنابراین یک خروجی جدا شده با نقطه ویرگول نیز به خوبی یک خروجی جدا شده با کاما کار می‌کند.
  • سلول‌های منبع تو در تو هستند. یک | یک جزء تقسیم شده را از دیگری جدا می‌کند، و یک + اعضا را در یک جزء جدا می‌کند — بنابراین یک سلول می‌تواند چندین استاد را برای یک درس، یا اساتید مختلف را برای هر جزء نام ببرد.
  • نام دروس بر اساس + تقسیم نمی‌شوند. یک درس ممکن است به طور قانونی شامل علامت جمع در نام خود باشد، بنابراین تقسیم آن نام را کوتاه می‌کند. اگر چندین درس را در یک سلول قرار داده‌اید، این چیزی نیست که فرمت پشتیبانی کند.
  • یک سلول عددی خالی به معنای "بدون محدودیت" است، نه صفر. خالی گذاشتن یک سلول حداقل روزها، حداقلِ هیچ را اعمال نمی‌کند — به این معنی است که محدودیت وجود ندارد.

آنچه پس از آن به دست می‌آورید

یک برنامه درسی که از این فایل‌ها ساخته شده است، یک لیست فعالیت واقعی را در خود جای می‌دهد، بنابراین مانند یک پروژه عمل می‌کند نه یک تصویر از آن: مدت زمان‌ها و اجزای تقسیم شده موجود هستند، و آنچه دانلود می‌کنید از داده‌های واقعی ساخته شده است.

گام‌های بعدی