درس ۶ — دسترسیها، و بایگانی بهجای بازنویسی
شناسهها زیاد خوانده میشوند، کم نوشته میشوند، و وقتی نادرست باشند گران تمام میشوند. همین ترکیب دقیقاً همان چیزی است که گروه فقطخواندنی برای آن ساخته شده، و این ماژول یکی از آنها را عرضه میکند. قاعدهای هم عرضه میکند که از خود دسترسیها مهمتر است: وقتی شمارهای تغییر میکند، مقدار قدیمی بهجای بازنویسی بایگانی میشود و تاریخچه در پایگاه داده میماند، جایی که یک حسابرس میتواند ببیندش.
مدل ذهنی: دو گروه اینجا، یک گروه آنجا. ماژول پایه دو گروه دسترسی از آنِ خود میسازد. پل منابع انسانی هیچ گروهی نمیسازد — تماماً به گروهی تکیه میکند که از پیش این داده را روی فرم اصلی کارمند محافظت میکند.
| گروه | به کاربر چه اجازهای میدهد | کجا اعمال میشود |
|---|---|---|
| UAE Identifiers / User | خواندن فهرست و جستوجوی مقادیر — فقط خواندن | فهرست و دفتر ثبت مقادیر |
| UAE Identifiers / Manager | ساختن، ویرایش و بایگانی مقادیر دفتر ثبت، و ویرایش خود فهرست | فهرست و دفتر ثبت مقادیر |
کارمندان / مسئول (hr.group_hr_user) |
دیدن گروه UAE IDs، و ستون کارمند در All Identifiers | رکوردهای کارمندان |
گروه Manager را به هرکس بدهید که باید بتواند مقدار دفتر ثبت را اضافه یا اصلاح کند یا فهرست را ویرایش کند؛ گروه User را به هرکس که باید بتواند مقادیر را ببیند. در سمت منابع انسانی چیزی فراتر از آنچه از پیش میدهید برای دادن نیست: هر فیلدی که پل لمس میکند از پیش به گروه کارمندان / مسئول (Employees / Officer) محدود است، همان گروهی که از پیش فیلدهای کارت هویت اماراتی، پاسپورت، مجوز کار و ویزا را روی فرم اصلی کارمند محافظت میکند. هرکس که از پیش بتواند جزئیات محرمانهٔ منابع انسانی کارمندی را ببیند، گروه UAE IDs را هم میبیند؛ هرکس که نتواند، نه آن را میبیند و نه هیچ فیلدی درون آن را.
مسیر کلیک برای مقداری که تغییر کرده است. All Identifiers را باز کنید، مقدار جاری آن شناسه و آن دارنده را پیدا کنید، بایگانیاش کنید، سپس مقدار تازه را بسازید. به همین ترتیب انجامش دهید تا قاعدهٔ یکمقدارفعال هرگز با شما درنیفتد. هر دو گام به گروه UAE Identifiers / Manager نیاز دارند، و به همین دلیل کسی که این شمارهها را نگهداری میکند باید آن را داشته باشد و بیشتر آدمها نباید.
چرا بایگانی بهتر از بازنویسی است. شناسهای که جایگزین شده، لحظهٔ جایگزینی از اهمیت نمیافتد. روی فاکتورهایی که صادر کردهاید دیده میشود، روی اظهارنامههایی که دادهاید، و در مکاتباتی که روزی کسی پیش رویتان میگذارد. روی فیلد بنویسید و آن شماره از پایگاه دادهتان میرود؛ بایگانیاش کنید و همچنان هست، با نشان اینکه دیگر جاری نیست. محدودیتی که ماژول اعمال میکند یک مقدار فعال است — و مقادیر بایگانیشده به حساب آن نمیآیند، پس نگه داشتن تاریخچه هیچ هزینهای برایتان ندارد.
مثال عملی. برای Marina Ridge Trading LLC یک شمارهٔ ثبت گمرکی جایگزین برای شارجه صادر میشود. مدیر All Identifiers را باز میکند، مقدار شارجه را که جایگزین شده بایگانی میکند، و مقدار تازه را میسازد. ثبت دبی دست نخورده میماند و شمارههای هر دو امارت کنار هم فعال میمانند — که درست است، و همان قاعدهٔ «به تفکیک امارت» از درس ۴ است که بار دوم کارش را انجام میدهد.
حالت خطا. «نمیتوانم مقدار دفتر ثبت را اضافه یا ویرایش کنم.» خواندن برای گروه User در دسترس است؛ ساختن، ویرایش و بایگانی مقادیر به گروه UAE Identifiers / Manager نیاز دارد. «ستون کارمند را روی All Identifiers نمیبینم.» آن یکی به سطح دسترسی مسئول منابع انسانی مربوط است، نه به گروه UAE Identifiers — دو سمت این دوره دو پاسخ متفاوت دارند، و درخواست گروه اشتباه کندترین راه رسیدن به دسترسی است.