آیا امکانات آماده شیرپوینت برای تمام نیازهای یک سازمان کافی است یا بعضی فرآیندها به راهکاری اختصاصی نیاز دارند؟
sharepoint امکانات گستردهای برای مدیریت اسناد، فهرستها، صفحات، دسترسیها و همکاری داخلی دارد؛ اما هر سازمان قوانین، مسیرهای تأیید، سامانههای جانبی و روش کاری یکسانی ندارد.
وقتی نیازهای واقعی از امکانات آماده فراتر میروند، برنامه نویسی سفارشی سازمانی میتواند فاصله میان قابلیتهای عمومی شیرپوینت و شیوه واقعی انجام کار در سازمان را پوشش دهد. در ادامه این مقاله بررسی میکنیم چه زمانی توسعه سفارشی ضرورت پیدا میکند، چه کاربردهایی دارد و چگونه میتوان آن را طوری اجرا کرد که مستقیماً به نیازهای روزمره سازمان پاسخ دهد.
چرا امکانات آماده شیرپوینت همیشه کافی نیست؟
امکانات پیشفرض شیرپوینت برای بسیاری از نیازهای عمومی مناسباند. میتوان اسناد را نگهداری کرد، فهرست ساخت، دسترسی داد، صفحه ایجاد کرد و اطلاعات را میان تیمها به اشتراک گذاشت. مسئله زمانی شروع میشود که فرآیند واقعی سازمان با گزینههای آماده تطابق کامل ندارد و کاربران مجبور میشوند بخشی از کار را خارج از شیرپوینت ادامه دهند.
برای مثال ممکن است یک درخواست خرید در سازمان شما پنج مرحله تأیید داشته باشد، در هر مرحله قوانین متفاوتی اعمال شود و نتیجه آن نیز باید با سامانه مالی تبادل شود. در چنین شرایطی یک فرم ساده یا یک جریان آماده ممکن است تمام نیازها را پوشش ندهد و بخشی از کار همچنان با ایمیل، فایل اکسل یا پیگیری دستی انجام شود.
توسعه سفارشی زمانی معنا پیدا میکند که شیرپوینت باید با روش واقعی کار سازمان هماهنگ شود. هدف این نیست که هر قابلیت آماده را دوباره از ابتدا تولید کنیم؛ هدف این است که فقط قسمتهایی توسعه داده شوند که نبود آنها باعث دوبارهکاری، خطا، پراکندگی اطلاعات یا دشواری کنترل فرآیند میشود.
برنامه نویسی سفارشی سازمانی در شیرپوینت چه معنایی دارد؟
برنامه نویسی سفارشی سازمانی یعنی ایجاد یا توسعه قابلیتهایی در بستر شیرپوینت که براساس نیاز مشخص یک سازمان طراحی میشوند. این قابلیت میتواند یک فرم اختصاصی، یک صفحه کاری، یک گردشکار چندمرحلهای، یک داشبورد، یک ابزار جستوجو یا ارتباط میان شیرپوینت و نرمافزار دیگری باشد.
در عمل، روش اجرا به اندازه مسئله اهمیت ندارد. بعضی نیازها با تنظیمات خود شیرپوینت یا ابزارهای Power Apps و Power Automate قابل پاسخ هستند و برخی دیگر به توسعه اختصاصیتر با SharePoint Framework یا رابطهای برنامهنویسی نیاز دارند. انتخاب باید براساس پیچیدگی، مقیاس و عمر مورد انتظار راهکار انجام شود.
چه زمانی توسعه سفارشی در شیرپوینت ضرورت پیدا میکند؟
هر تفاوت کوچکی میان نیاز سازمان و امکانات آماده، دلیل مناسبی برای برنامهنویسی نیست. توسعه سفارشی زمانی ارزشمند است که یک نیاز تکرارشونده و مهم وجود داشته باشد و حلنشدن آن روی سرعت انجام کار، دقت اطلاعات، کنترل دسترسی یا هماهنگی میان واحدها اثر مستقیم بگذارد.
فرآیند سازمان چند مرحله و چند قانون دارد
اگر یک فرآیند تنها شامل ثبت اطلاعات و یک تأیید ساده باشد، معمولاً امکانات آماده کفایت میکند. اما زمانی که مسیر هر درخواست براساس مبلغ، واحد، نقش کاربر، نوع سند یا نتیجه مرحله قبلی تغییر میکند، توسعه سفارشی میتواند اجرای این قواعد را دقیق و قابل پیگیری کند.
کاربران مجبورند اطلاعات را در چند محل وارد کنند
وقتی یک کارمند اطلاعات درخواست را ابتدا در شیرپوینت، سپس در نرمافزار دیگری و بعد در یک فایل جداگانه وارد میکند، احتمال اختلاف داده و خطا بالا میرود. اتصال میان سامانهها میتواند انتقال اطلاعات را خودکار کند و ثبت دوباره همان داده را کاهش دهد.
فرمهای آماده با نیاز واحدها هماهنگ نیستند
بعضی واحدها به فرمهایی نیاز دارند که فیلدهای آن براساس پاسخ کاربر تغییر کند، اعتبارسنجی ویژه داشته باشد یا اطلاعات را از سامانههای دیگر نمایش دهد. در این شرایط یک فرم سفارشی میتواند تجربهای متناسب با همان کار ایجاد کند و ورود اطلاعات را برای کاربر روشنتر کند.
نیاز به صفحه یا قابلیت اختصاصی وجود دارد
گاهی کاربر باید در یک صفحه وضعیت درخواستها، وظایف، اسناد مرتبط و دادههای یک سامانه دیگر را کنار هم ببیند. اگر این تصویر واحد با وبپارتها و تنظیمات آماده قابل ایجاد نباشد، توسعه یک جزء اختصاصی میتواند اطلاعات موردنیاز را در همان نقطه کاری در اختیار او قرار دهد.
قوانین دسترسی پیچیدهتر از حالت معمول است
در بعضی سناریوها دسترسی به اطلاعات تنها براساس عضویت در یک واحد تعیین نمیشود و عواملی مانند پروژه، نوع پرونده، مرحله بررسی یا نقش فرد در همان درخواست مؤثر است. توسعه سفارشی میتواند این قواعد را با کنترل دقیقتری اجرا کند، البته طراحی دسترسی باید از ابتدای پروژه مشخص باشد.
کاربردهای برنامه نویسی سفارشی سازمانی در شیرپوینت
ارزش برنامه نویسی سفارشی سازمانی زمانی مشخص میشود که بتوان آن را به یک مسئله واقعی وصل کرد. در ادامه مهمترین کاربردهایی را بررسی میکنیم که معمولاً در سازمانها باعث میشوند استفاده از شیرپوینت از یک محیط عمومی به یک ابزار کاری متناسب با فرآیندهای داخلی تبدیل شود.
ساخت فرمهای اختصاصی برای ثبت اطلاعات
فرمهای سازمانی همیشه یکسان نیستند. درخواست خرید، درخواست مرخصی، ارزیابی تأمینکننده، ثبت قرارداد یا گزارش حادثه هرکدام دادهها و قواعد متفاوتی دارند. با سفارشیسازی فرم میتوان فیلدهای لازم را متناسب با نوع درخواست نمایش داد و اطلاعات غیرضروری را از دید کاربر حذف کرد.
برای مثال میتوان تعیین کرد اگر مبلغ خرید از یک حد مشخص بیشتر بود، فیلدهای مربوط به استعلام قیمت نمایش داده شوند یا اگر نوع قرارداد تغییر کرد، اطلاعات تکمیلی دیگری از کاربر خواسته شود. چنین رفتاری باعث میشود فرم با منطق واقعی فرآیند هماهنگ باشد و ثبت اطلاعات ناقص کمتر شود.
ایجاد گردشکارهای اختصاصی و چندمرحلهای
بسیاری از فرآیندهای سازمانی به یک تأیید ساده ختم نمیشوند. درخواست ممکن است میان مدیر واحد، مالی، حقوقی و مدیریت ارشد جابهجا شود و در هر مرحله شرط متفاوتی داشته باشد. گردشکار اختصاصی میتواند این مسیر را براساس قوانین مشخص اجرا و وضعیت هر درخواست را ثبت کند.
همچنین میتوان برای تأخیرها یادآوری ایجاد کرد، در صورت رد درخواست آن را به مرحله مناسب بازگرداند یا پس از تأیید نهایی اطلاعات را به بخش دیگری ارسال کرد. نتیجه این است که وابستگی به پیگیری شفاهی و ایمیلهای پراکنده کمتر میشود و مسیر انجام کار برای افراد مشخصتر خواهد بود.
اتصال شیرپوینت به نرمافزارهای دیگر
در بیشتر سازمانها شیرپوینت تنها سامانه موجود نیست. نرمافزار مالی، منابع انسانی، مدیریت ارتباط با مشتری، سامانه اتوماسیون اداری یا پایگاههای داده داخلی ممکن است اطلاعات مهمی داشته باشند. اتصال مناسب میان این سامانهها میتواند جلوی ایجاد جزیرههای جدا از اطلاعات را بگیرد.
برای مثال پس از تأیید یک درخواست خرید در شیرپوینت، اطلاعات نهایی میتواند برای ادامه عملیات به سامانه مالی فرستاده شود. یا اطلاعات کارکنان از سامانه منابع انسانی دریافت شود تا کاربر مجبور نباشد نام، کد پرسنلی و واحد سازمانی را در هر فرم دوباره وارد کند.
توسعه وبپارتها و صفحههای کاری اختصاصی
گاهی کاربران برای انجام یک وظیفه روزانه باید چند فهرست، کتابخانه و گزارش را جداگانه باز کنند. یک وبپارت یا صفحه اختصاصی میتواند اطلاعات مرتبط را در یک نمای واحد نمایش دهد؛ برای نمونه درخواستهای در انتظار تأیید، اسناد مرتبط، وضعیت پرونده و اقدام بعدی در همان صفحه دیده شوند.
این نوع توسعه زمانی ارزشمند است که کاربر هر روز با حجم مشخصی از اطلاعات کار میکند و جابهجایی میان چند بخش زمانبر است. هدف صفحه اختصاصی باید سادهتر کردن کار واقعی کاربر باشد، نه اضافهکردن گزینهها و جزئیاتی که استفاده از محیط را پیچیدهتر میکنند.
پیادهسازی قواعد اختصاصی کسبوکار
هر سازمان مجموعهای از قواعد داخلی دارد؛ برای مثال سقف اختیار مدیران متفاوت است، بعضی درخواستها به تأیید واحد حقوقی نیاز دارند یا یک سند پیش از انتشار باید کنترل شود. برنامهنویسی سفارشی میتواند این قواعد را در همان مسیر ثبت و بررسی اطلاعات اعمال کند تا تصمیمها از روی قاعده مشخص انجام شوند.
ایجاد گزارش و داشبورد متناسب با نقش کاربران
مدیر واحد، کارشناس و مدیر ارشد معمولاً به یک نوع اطلاعات نیاز ندارند. با توسعه مناسب میتوان برای هر نقش نمایی طراحی کرد که اطلاعات مهم همان فرد را نشان دهد؛ مانند درخواستهای عقبافتاده، پروندههای منتظر اقدام، حجم کار واحد یا وضعیت اجرای مراحل یک فرآیند.
ارزش چنین داشبوردی زمانی بیشتر میشود که دادههای چند منبع در یک نما کنار هم قرار گیرند. در این حالت مدیر برای مشاهده وضعیت مجبور نیست چند سامانه را جداگانه بررسی کند و میتواند از یک نقطه به اطلاعاتی که برای تصمیم روزانه نیاز دارد دسترسی داشته باشد.
مدیریت اسناد براساس قواعد خاص سازمان
مدیریت اسناد در برخی سازمانها فراتر از ذخیره فایل است. ممکن است سند باید شماره مشخص بگیرد، همراه پرونده خاصی نگهداری شود، در مرحلهای قفل شود، برای بازبینی ارسال شود یا پس از تأیید به محل دیگری منتقل گردد. توسعه سفارشی میتواند این مراحل را با جریان کار سند هماهنگ کند.
چند نمونه واقعی از کاربرد توسعه سفارشی
برای درک بهتر برنامه نویسی سفارشی سازمانی، بهتر است به سناریوهایی نگاه کنیم که در آنها یک قابلیت اختصاصی مستقیماً یک مسئله کاری را حل میکند. این نمونهها نشان میدهند که ارزش توسعه سفارشی در ارتباط آن با فرآیند روزمره است، نه در میزان پیچیدگی فنی آن.
سامانه درخواست خرید
کاربر درخواست خرید را ثبت میکند، فرم براساس نوع و مبلغ خرید اطلاعات لازم را نمایش میدهد و درخواست به افراد مربوط ارسال میشود. پس از طی مراحل تأیید، اطلاعات نهایی میتواند به سامانه مالی منتقل شود و اسناد مرتبط نیز در پرونده همان درخواست باقی بمانند.
فرآیند ورود نیروی جدید
پس از ثبت اطلاعات نیروی جدید، وظایف لازم میتواند برای منابع انسانی، فناوری اطلاعات، امور اداری و مدیر مستقیم ایجاد شود. هر واحد وضعیت اقدام خود را ثبت میکند و مسئول فرآیند میتواند ببیند چه مواردی انجام شده و چه کارهایی هنوز باقی مانده است.
مدیریت قرارداد و تمدید
برای هر قرارداد میتوان پروندهای ایجاد کرد که اطلاعات اصلی، فایلها، طرف قرارداد، تاریخها و وضعیت بررسی را کنار هم نگه دارد. نزدیکشدن به تاریخ تمدید میتواند باعث ایجاد یادآوری شود و تغییر وضعیت قرارداد نیز مسیر بررسی بعدی را براساس قوانین سازمان فعال کند.
درخواست خدمات داخلی
کارکنان میتوانند درخواستهایی مانند پشتیبانی فناوری اطلاعات، خدمات اداری یا تعمیرات را از یک فرم مشخص ثبت کنند. سیستم درخواست را براساس نوع موضوع به گروه مناسب میفرستد، وضعیت رسیدگی را ثبت میکند و کاربر بدون تماسهای مکرر میتواند آخرین وضعیت را مشاهده کند.
پرتال اختصاصی برای یک واحد سازمانی
یک واحد میتواند صفحهای داشته باشد که اسناد مهم، فرمهای پرتکرار، وظایف، درخواستهای باز و گزارشهای اصلی را در یک محل نمایش دهد. چنین صفحهای زمانی مفید است که از انباشتهشدن لینکها جلوگیری کند و کاربر را مستقیم به اقدامهایی هدایت کند که در طول روز انجام میدهد.
چه زمانی امکانات آماده بهتر از توسعه سفارشی هستند؟
توسعه اختصاصی همیشه انتخاب مناسب نیست. اگر نیاز با قابلیتهای آماده شیرپوینت، Power Apps یا Power Automate به شکل قابل قبول پاسخ داده میشود، اضافهکردن کد سفارشی میتواند هزینه نگهداری و پیچیدگی آینده را بیشتر کند. تصمیم مناسب، انتخاب سادهترین راهی است که نیاز واقعی را بهدرستی پوشش دهد.
برای مثال یک فرم ثبت درخواست با چند فیلد و یک تأیید ساده معمولاً نیاز به توسعه سنگین ندارد. در مقابل، اگر همان درخواست چند مسیر شرطی، اتصال به سامانههای داخلی، کنترلهای اختصاصی و نمایش داده از منابع مختلف داشته باشد، بررسی توسعه سفارشی منطقیتر میشود.
نشانههایی که میگویند احتمالاً به توسعه سفارشی نیاز دارید
· کاربران برای تکمیل یک فرآیند مجبورند بین چند سامانه، فایل و ایمیل جابهجا شوند؛
· اطلاعات یکسان چند بار در محلهای مختلف وارد میشود و اختلاف داده ایجاد میکند؛
· فرمهای موجود نمیتوانند قواعد و حالتهای متفاوت فرآیند را پوشش دهند؛
· مسیر تأیید براساس نقش، مبلغ، نوع درخواست یا نتیجه مرحله قبل تغییر میکند؛
· مدیران برای مشاهده وضعیت کار باید گزارشها را بهصورت دستی از چند منبع جمع کنند؛
· کاربران به صفحهای نیاز دارند که اطلاعات و اقدامهای مرتبط را در یک محل نشان دهد؛
· نیاز به ارتباط مستقیم شیرپوینت با سامانه مالی، منابع انسانی، CRM یا پایگاه داده وجود دارد؛
نتیجهگیری
برنامه نویسی سفارشی سازمانی زمانی ارزشمند است که امکانات آماده شیرپوینت نتوانند یک نیاز مهم و تکرارشونده را به شکل مناسب پوشش دهند. فرمهای اختصاصی، گردشکارهای چندمرحلهای، اتصال به نرمافزارهای دیگر و صفحههای کاری متناسب با نقش کاربران از مهمترین کاربردهای این نوع توسعه هستند.
نقطه شروع درست، شناخت فرآیند و مسئله واقعی است. سپس باید سادهترین روش مناسب انتخاب شود؛ گاهی تنظیمات آماده کافی است و گاهی توسعه اختصاصی لازم میشود. هرچه نیاز، داده، دسترسی، اتصالها و مسئولیت نگهداری از ابتدا روشنتر باشند، راهکار نهایی قابل استفادهتر و تغییر آن در آینده آسانتر خواهد بود.