ایده جدید ، ابزار جدید پرنيان

شیرپوینت یک ابزار قوی برای جستجو بر روی محتوا می باشد و با ساختن view بر روی ليست ها می توان انواع گزارشات معمول را ايجاد کرد . اما ساخت برنامه هاي کاربردی پیچیده بر روی آن با مشکلاتي مواجه مي شود که اصلي ترين آنها عبارتند از :

1. روش جستجو در لیست شیرپوینت بر اساس مدل index کردن می باشد و جستجوی مشابه برنامه هاي کاربردی که بر روی تک تک آیتم ها انجام مي شود و کاربران به آن عادت دارند در ليست هاي شیرپوینت وجود ندارد .
2. امکان تنظیم حقوق دسترسی در حد ستونهاي لیست وجود ندارد .
3. ایجاد فرمهاي Master-Detail با استفاده از لیست هاي شیرپوینت به سادگی امکان پذیر نیست .

مشکل اول را آقای علیزاده با نوشتن یک وب پارت حل کرد . این وب پارت (Parnian.ListFilter) امکان اتصال به هر ليست یا کتابخانه اسناد را دارد و با استفاده از آن می توان بر روی همه ستونهای قابل جستجو ، می توان جستجو کرد .
مشکل دوم را آقای سعيدي با وب پارت تنظیم حقوق دسترسی بر روی ستون ، view ، نوع محتوا و ... حل کرد .
مشکل سوم را من با استفاده از فیلتر لیست ، فیلد lookup و اضافه کردن کد جاوااسکریپت به صفحه NewForm.aspx حل کردم .

با وجود این هنوز برای برخی از فرم های ورود اطلاعات (شبیه فرم هایی که با استفاده از Ajax ایجاد مي شود) واسط کاربری ایجاد شده توسط شیرپوینت مناسب نبود . راه حلی که به ذهنم رسید استفاده از InfoPath به عنوان فرم ساز ، استفاده از شیرپوینت به عنوان گزارش ساز و استفاده از Parnian.ListFilter به عنوان ابزار جستجو بود . برای رسیدن به اين منظور بایستي امکان نگهداری داده فرم هاي InfoPath در شیرپوینت فراهم می شد .

اینجا بود که ابزار کپي اطلاعات InfoPath در ليست هاي شیرپوينت ايجاد گرديد . اين ابزار فرم InfoPath داراي يک Master و یک يا چند Detail را پشتيباني مي کند . تعيين اينکه چه داده اي از فرم InfoPath در چه فيلد و چه ليستي در شیرپوينت ریخته شود از طریق پر کردن فرم پيکربندي انجام مي شود که نمونه اي از فرم پيکربندي در زير آمده است .

 

شيرپوينت 2010 و هوش سازماني

بعد از ظهور شيرپوينت و قابليتهاي جالب و جذاب آن در ايجاد سرويس هاي BI، تعداد زيادي از سازمانها از شيرپوينت براي مديريت و اشتراك گزارشات و تحليلها استفاده كرده و مي كنند. گزارشات در فرمتهاي گوناگوني ايجاد مي شوند. تعدادي از آنها در قالب مستنداتي است كه به صورت خودكار و يا دستي توليد شده اند؛ بعضي ديگر فايلهاي اكسلي هستند كه حاوي سطوحي از تعامل پذيري از طريق چارتها و pivot table هستند؛ و گزارشهايي كه به صورت دايناميك و در لحظه از روي اطلاعات پايگاه داده با استفاده از ابزارهايي نظير SQL Server Reporting Service ايجاد مي شوند.

شيرپوينت نه تنها امكان نمايش اين انواع مختلف گزارشات را به صورت امن فراهم مي كند، بلكه امكاناتي را ايجاد كرده تا اين گزارشات را در قالب داشبورد گرد هم آوريم و تصويري وي‍‍ژوال و بصري از فرايندهاي كسب و كار در اختيار مديران قرار دهيم.

براي روش شدن تعريف BI در جلسات از مثال زير استفاده مي كنم. مدير يك سازمان كه نقش رهبري و هدايت سازمان را بر عهده دارد مانند يك راننده اتومبيل فرض كنيد كه نقش هدايت اتومبيل را عهده دار است. سرويس BI داشبوردي در اختيار مدير قرار مي دهد كه وضعيت سازمان خود را با يك نگاه ارزيابي كند درست مانند داشبورد مقابل راننده كه با يك نگاه به آن مي تواند از وضعيت دماي آب، ميزان سوخت، دور موتور، سرعت و ... مطلع شود.

هوش سازمانی - BI
 

ستون‌های فقط خواندنی، مخفی و مجوزدهی ستون‌ها در لیست‌های شیرپوینت

برای انجام کاری نیاز به لیستی داشتم که بشه بعضی ستون‌هاش رو ReadOnly و Hidden کرد. موقعی که برای یک لیست در شیرپوینت ستونی تعریف می‌کنید چنین گزینه‌ای وجود نداره اما با برنامه نویسی و از طریق property هایی مثل ReadOnlyField میشه اینو درست کرد، حتی با کمک چند تا property دیگه (مثلاً ShowInEditForm و ShowInNewForm و ...) میشه تعریف کرد که یک فیلد خاص توی فرم ویرایش یا نمایش یا ایجاد نشون داده بشه یا نه. تا اینجای کار ساده است.

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

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

مساله مشابهی برای مجوزدهی روی Content Type‌ها و View ها در شیرپوینت وجود داره که به تدریج همه این‌ها رو در قالب یک solution‌ کامل پرنیانی برای رفع نقایص مجوزدهی در شیرپوینت ارائه می‌کنیم.

 

فیلم دمو عملکرد و امکانات اتوماسیون اداری پرنیان

یکی از محصولات خوب پرنیان، اتوماسیون اداری هست که بر پایه شیرپوینت و Outlook توسعه داده شده.

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

همین‌طور برای هر فیلم دمو یک نسخه با کیفیت و رزولویشن بالا به فرمت wmv برای دانلود آماده شده که در ادامه لینک دانلودشون رو مشاهده می‌کنید.

به این ترتیب مجموعه فیلم‌های دمو محصولات پرنیان که تا حالا در سایت شرکت قرار گرفتند این‌ها هستند:

اتوماسیون اداری پرنیان
اتوماسیون اداری بر پایه شیرپوینت و Outlook: امکانات محصول مشاهده آنلاین فیلم دمو | دانلود فیلم دمو با کیفیت بالا

گردش کار پرنیان
 گردش کار بر پایه شیرپوینت و InfoPath: امکانات محصول مشاهده آنلاین فیلم دمو | دانلود فیلم دمو با کیفیت بالا

سرویس Single Sign On پرنیان
ورود متمرکز به نرم افزارهای سازمانی از طریق پورتال شیرپوینت: امکانات محصولمشاهده آنلاین فیلم دمو | دانلود فیلم دمو با کیفیت بالا

 

اتوماسیون اداری با Outlook، Exchange و شیرپوینت

اگر پورتال پرنیان را زیر و رو کرده باشید، قطعا به یک سیستم برخوده اید با نام اتوماسیون اداری مبتنی بر اوتلوک!
شعار ما در طراحی این سیستم بسیار ساده است: "نامه ایمیلی است که قابلیت رهگیری دارد."
 

دادن مقدار null به فیلد تاریخ در Infopath

داشتم سرویس آلارم را بر روی زیر ساخت گردش کار پرنیان پیاده سازی می کردم . در این سرویس نیاز شده یک فیلد تاریخ را در فایل xml مربوط به InfoPath از طریق برنامه پاک کنم ، برای این کار به InnerText مربوط به نود تاریخ مقدار خالی دادم اما در زمان submit فرم با خطای validation مواجه شدم .

پس از بررسی متوجه شدم که برای جلوگیری از چک شدن validation در نود هایی که مقدار خالی دارند باید از عبارت xsi:nil="true" در attribute های نود استفاده کنيم . به عنوان مثال برای نود زیر کنترل مربوط به فیلدهای تاریخ انجام نمي شود و خطای validation ایجاد نمی شود:

<my:DueDate xsi:nil="true"></my:DueDate>

 

ویژگیهای برجسته شیرپوینت 2010

شعار مایکروسافت برای شیرپوینت 2010، "بستر تعاملی کسب و کارها برای وب و سازمان" است.  این شعار نشان دهنده نگاه هدفمند این کمپانی به اینترنت به عنوان یک مقوله بسیار مهم و درآمد زا می باشد.

تغییراتی نظیر پشتیبانی بهتر از مرورگرهای غیر از اینترنت اکسپلورر، افزودن قابلیتهای چون برچسب گذاری و امثالهم تایید کننده این نگاه هوشمندانه هستند که در آینده نه چندان دور مرز مشخصی بین پورتال اینترانت سازمانها و پورتال اینترنتی وجود نخواهد داشت. و پرسنل سازمان تقریبا اکثر خدمات و سرویسهای پورتال را چه بیرون و چه درون سازمان دریافت خواهند کرد.

و اما توصیف برجسته ترین ویژگیها و قابلیتهای شیرپوینت 2010 نسبت به نسخه های قبلی آن:

§         رابط کاربری کاملا جدید مخصوصا بکارگیری ریبون

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

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

شاید اصلی ترین تفاوت در رابط کاربری شیرپوینت2010 بکارگیری صحیح و مناسب ریبون و همچنین قابلیت باز شدن پنجره ها به صورت popup است.

تعریف مایکروسافت از این ویژگی: رابط کاربری کارآمد با استفاده از کنترل ریبون جدید باعث کاهش هزینه های آموزش، بهبود کارایی و کاهش هزینه ها می شود.

§         ویرایشگر وب

ویرایشگر html در این نسخه خیلی بهتر شده و در بیشتر قسمتهای شیرپوینت هم اضافه شده است. در واقع این بار ویرایشگر وب  در ریبون تعبیه شده است. و میشه گفت هر کاری را باهاش میشه انجام داد

تعریف مایکروسافت از این ویژگی: ویرایشگر وب جدید به کاربران اجازه می دهد که یک سایت را به آسانی سفارشی نمایند. و به تغییرات محیط کسب و کار در زمان کوتاه و با کیفیت مناسب پاسخ دهند.

§         وب پارت سیلورلایت

تعریف مایکروسافت از این ویژگی: با استفاده از وب پارت سیلورلایت می توان به راحتی و به صورت ایمن برنامه های کاربردی و مدیا را درون سایت قرارداد و با آن یکپارچه نمود. به عبارت دیگر تجربه کاربر در کار با سیستم را به یک سطح بالاتر ارتقا داد

§         تم بهبود یافته

تعریف مایکروسافت از این ویژگی: در ترکیب با ویرایشگر وب این نسخه، تم بهبود یافته شیرپوینت 2010 امکان استفاده از تم آفیس مورد علاقه شما را فراهم می کند! همچنین با استفاده از قابلیتهای تغییر فونت و رنگها می توانید سایت شیرپوینت را به ظاهر دلخواه خود تغییر دهید.

§         پشتیبانی از مرورگرهای مختلف

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

§         سرویس Visio

در تکمیل سرویسهای مبتنی بر ابر بعد از اکسل سرویس در شیرپوینت 2007، نوبت به visio سرویس در شیرپوینت 2010 شده است. به صورت خلاصه این سرویس امکان مشاهده دیاگرمهای visio به صورت تحت وب را فراهم می نماید.

 

هاستينگ يا ميزباني شيرپوينت فارسي

در انتهاي بسياري از جلسات كه به منظور معرفي شيرپوينت و همچنين قابليتهاي منحصر به فرد آن به منظور به كارگيري در راه اندازي  يك پورتال واقعي برگزار مي كنيم.  به يكسري سوال جديد مي رسيم.
   "خوب، قبول كنيم كه شيرپوينت خوب است، اوه نه عالي است مخصوصا به عنوان پورتال! حال چگونه آنرا روي هاست نصب كنيم؟ آيا هاست اختصاصي لازم است؟ هزينه آن چقدر است؟ لايسنس آن را چه كنيم و چندين سوال ديگر كه حاكي از آن است كه  خيلي از ما به آن دليل كه نمي دانيم شيرپوينت به لحاظ فني براي راه اندازي به چه چيزهايي نياز دارد،‌يا از اين طرف بوم مي افتيم يا از آن طرف بوم :)"

اين طرف بوم: خوب ما يك هاست داريم كه .Net و Sql Server را پشتيباني مي كند. خوب چرا نمي شود شيرپوينت را روي آن نصب كرد. مگر شما نگفتيد كه زيرساخت شيرپوينت .Net و Sql server است؟
آن طرف بام: خوب پس لازم است يك سرور اختصاصي بخريم، لايسنس شيرپوينت را هم بخريم، sql و ويندوز را هم بخريم. خوب يكهويي بگو بريد مايكروسافت را بخريد، خلاص :O

واقعا چطور مي شود از اين همه توانمندي شيرپوينت روي اينترنت بهره برداري نمود؟
شيرپوينت مجموعه اي از سرويسهاي ويندوزي، پايگاه داده، و web applicationها است كه باعث مي شود نتوان آنرا مانند يك سيستم ساده .net ي روي يك هاست كه صرفا از .Net و Sql پشتيباني مي كند، نصب نمود. لذا لازم است كه هاست مورد نظر شيرپوينت را هم مانند يك تكنولوژي Support كند. تا بتوانيم راهكارها و پورتال سازمان خود را روي آن هاست راه اندازي كنيم. اين سرويس "هاستينگ شيرپوينت" با ظهور شيرپوينت 2003 در دنيا معمول شد. و چندين سايت وجود دارند كه اين سرويس را ارايه مي دهند.
خدا را شكر، همه چيز حل شد، بريم پورتال را راه اندازي كنيم.
هنوز مقداري ديگر صبر لازم است. سرويسهاي ميزباني شيرپوينت فقط از Language packهايي كه توسط خود مايكروسافت عرضه مي شود، پشتيباني مي كنند. در نتيجه زبان فارسي و تقويم شمسي توسط اين گونه ميزبانها پشتيباني نمي شود.
هر چي كه رشته بوديد رو كه پنبه كرديد، خوب بايد چي كار كرد؟
سرويس هاستينگ شيرپوينت فارسي(Zone) كه به صورت مشترك توسط پرنيان و آفتاب ارايه مي شود، به طور كامل اين نياز را تحت پوشش قرار مي دهد، در اين سرويس شيرپوينت فارسي شده به همراه تقويم شمسي  و البته ديگر Language packهاي پشتيباني شده توسط مايكروسافت جهت ارايه هر گونه راهكار از جمله پورتال در دسترسي مي باشد.

البته هنوز هم اين گزينه وجود دارد كه براي ارايه هر سرويسي حتي يك سايت HTML استاتيك مي توان هاست اختصاصي خريد. پس موضوع هاست اختصاصي يك راه حل نيست، بلكه يك انتخاب است كه همواره و براي همه مسايل وجود دارد.

ادامه دارد ...
 

سرویس خبرخوان پرنیان: خبرخوان جامع الکترونیکی برای سازمان‌ها

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

یکی از سرویس‌هایی که قابل ارائه روی پورتال‌های شیرپوینتی پرنیان است سرویس خبرخوان است که به صورت یک feature به پورتال اضافه می‌شود و در واقع یک خبرخوان جامع الکترونیکی است.

سرویس خبرخوان پرنیان که به صورت یک Job روزانه در شیرپوینت با قابلیت تنظیم زمان اجراست به دو شکل عرضه می‌شود:
خبرخوان خبرگزاری‌ها: این سرویس با استفاده از اطلاعات مربوط به فید RSS خبرگزاری‌ها که در یک لیست شیرپوینت قرار دارد، آخرین خبرهای خبرگزاری‌ها را به لیست دیگری در شیرپوینت اضافه می‌کند.
مزیت استفاده از این سرویس ضمن تجمیع خبرهای خبرگزاری‌های مختلف، قابلیت مرور آفلاین است. از آنجایی که این سرویس در ساعات مشخصی از روز اجرا می‌شود تنها به یک سیستم (سرور شیرپوینت) با قابلیت اتصال به اینترنت نیاز دارد و سیستم‌های دیگر شبکه سازمان نیازی به آنلاین بودن ندارند.

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

خبرخوان روزنامه‌ها و مجلات: سایت اغلب روزنامه‌ها و مجلات نسخه PDF روزنامه یا مجله را برای دانلود ارائه می‌کنند. بعضی از روزنامه‌ها و مجلات نیز در سایت خود قابلیت RSS را دارند. خبرخوان روزنامه‌ها و مجلات نسخه PDF صفحات مختلف روزنامه‌ها را به صورت روزانه دریافت و آرشیو می‌کند. این سرویس در حال حاضر در حال توسعه می‌باشد و امیدواریم به زودی همراه دمو خبرخوان خبرگزاری‌ها آن را به پورتال پرنیان اضافه کنیم.

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

 

سلام دنیا!

این اولین پست وبلاگ ماست. به رسم همه توسعه دهنده ها، اولین بار فقط به دنیا سلام می کنیم. سلام دنیا!

 

آخرین نظرات

Comment RSS