الجمعة، 24 أبريل 2015

لمحة عن متجر اوفيس و شيربوينت



قامت مايكرسفت باتاحة متجر تطبيقات سمته متجر اوفيس و شيربوينت او Office and SharePoint Store يخدم بدرجة اولى شريحة المستخدمين للمحتاجين للتطبيقات كما في باقي منصات التطبيقات مثل منصة Apple او Android ...

فدعونا اليوم ننظر الى منصة الشيربوينت من جانب ربحي غير الجانب التقني الذي دائما ما نتناوله.
كيف تكون البرمجة على الشيربوينت مربحة و ذات عائد مالي ؟
في احصائية لمايكرسفت يوجد حول العالم ما يزيد عن 1 بليون مستخدم اوفيس ! نعم بليون مستخدم ! 
تخيل معي اذا ما يمكن ان يستفيد المبرمج عندما يكون تطبيقه متاحا لهذه الشريحة !؟


اضيف الى ما سبق من ميزة انفتاح تطبيقك على شريحة هائلة في العالم ,  ان المستخدمين سواء شركات او افراد يثقون في مايكرسفت, و هذا اكيد , لذلك فان المستخدم عندما يجد التطبيق في متجر ماكيرسفت لن يفكر غالبا "من صاحبه" ؟
لان مايكرسفت ايضا و قبل اعتماد التطبيق تقوم بفحصة من الفيروسات و من ان التطبيق لا يهدف الى التحاول على اصحاب البطاقات البنكية و غير ذلك ...

1- كيف تشتري تطبيقا من المتجر ؟ 

سنتعرف الان على المتجر من وجهة نظر المستخدم و ليس المطور, من اجل ذلك قم بفتح ملف اوفيس وورد ثم من خلال Insert Tab قم بالضغط على My Apps عندها ستنفتح لك نافذة تعرض التطبيقات التي في متجر الاوفيس بالاضافة الى كاتالوج التطبيقات الداخلي لمؤسستك "Apps Catalog":


ستلاحظ ايضا انك اذا قمت بتثبيت تطبيق ما و ارسلت ملف الاوفيس الى شخص ما سيسافر التطبيق مع ملفك :) !! لكن في حال لم يكن مجانيا فان الشخص المرسل اليه لن يستطيع استخدامه الا اذا اشتراه هو ايضا.
بامكانك ايضا استعراض المتجر من خلال موقعه على الانترنت store.office.com 
و سترى ايضا تطبيقاتك :



يوجد تصنيف للتطبيقات كالتي هي خاصة بـ Outlook مثلا اختر واحدة منها و ستظهر لك صفحة التفاصيل والتي فيها كل معولمات التطبيق وصور له , كذلك تقييمات العملاء ...




اذا احببت التطبيق و اردت تثبيته فانه سيطلب منك الدخول بحساب اوفيس 365 الخاص بك لدى مايكرسفت : 



بعد ادخال حسابك ستظهر نافذة لتاكيد على رغبتك في تثبيت التطبيق :



عند التاكيد سيتم التثبيت :



و للتحقق من ذلك قم بالدخول على https://outlook.office365.com

و ستلاحظ وجود التطبيق  كما في الصورة :







للمعلومية اذا كنت قد اخترت تطبيقا لتثبيته على حزمة اوفيس المكتبي فان التطبيق لن يتم تثبيته على جهازك و انما اذا تم استدعاؤه من قبل الاوفيس فانه سيعمل على البيئة السحابية لمايكرسفت ...


طيب لنحاول الان تثبيت تطبيق على موقع شيربوينت على البيئة السحابية و الذي سيكون عادة تحت رابط مشابه لـ "https://mysubdomain.sharepoint.com"  :




عند الضغط على رابط "From Your Organization" ستظهر لك التطبيقات التي قامت مؤسستك بعملها و اتاحتها للمستخدمين :



لديك ايضا امكانية اختيار تطبيق من متجر التطبيقات :




سيفتح لك متجر شيربوينت مشابه تماما لمتجر اوفيس : 




لنختر مثلا تطبيق Nintex  لاجراءت العمل :




اما اذا كنت ستشتري التطبيق لتستفيد منه في بيئة شيربوينت داخلية في مؤسستك ففي رايي لابد لك ايضا ان تعلم جملة من الامورعن التطبيقات قبل شرائها من المتجر وهي :


* اذا كان لديك بيئة تجريبية و اخرى فعلية انتاجية فلايمكنك تثبيت التطبيق نفسه على البيئتين بل لابد لك ان تشتريه مرتين كل نسخة خاصة بالبيئة التي ستيزل عليها

* اذا كان لديك موزع احمال "Load Balancer" بين اكثر من خادم ويب  والذي يوزع الحمل بين اكثر من خادم لكن لنفس الموقع فانك لن تحتاج شراء التطبيق بعدد خوادم الويب "Front End Servers" التي لديك 2- كيف ترفع تطبيقك على المتجر ؟ 

نحتاج التعرف اذا على لوحة تحكم البائع "Developer Dashboard"  لذلك لابد ان تقوم بانشاء حساب خاص باللوحة بعد ان تدخل على الرابط التالي: https://sellerdashboard.microsoft.com/Registration
ستحتاج الدخول باستخدام حسابك في مايكرسفت لتظهر لك الشاشة التالية :




الان قم باضافة معلومات مؤسستك ان كان حسابك مسجلا على انه حساب مؤسسة .
ثم انتظر الموافقة على حسابك كما هو موضح في الصورة ادناه :



عند الظغط على علامة التبويب "Apps" ستجد تطبيقاتك المرفوعة على المتجر اما تبويب "Account" ففيه معلومات حسابك اما تبويب "Payout & tax" فهو لكيفية استلامك للعائدات المالية التي تحصل عليها من بيعك للتطبيقات وهي نفس المعلومات التي  تستخدمها اذا كنت قد رفعت سابقا تطبيقات Windows Phone او Windows 8:



بالنسبة لتبويب "client ids" فانه خاص بتطبيقات الشيربوينت التي سترفعها و تريدها ان تستخدم بروتوكول OAuth باستخدام ذلك المعرف او Id , لذلك تحتاج انشاء معرف جديد لكل تطبيق سيستخدم Oauth:



اما تبويب Metrics فيعطيك لمحة عن اقبال المستخدمين على تطبيقك في المتج مثل عدد مرات التحميل , عدد النسخ المفعلة من التطبيق في الوقت الحالي, عدد مرات الزيارة على صفحة التطبيق في المتجر ...

الان اضغط على Add new App اذا كان لديك تطبيقا تريد رفعه :




وهنا شاشة اضافة معلومات عن التطبيق :




قم ايضا باضافة طريقة اختبار تطبيق حتى يقوم فريق مايكرسفت بتجربته , ومن دون تعليمات الاختبار سيتم رفض تطبيقك, من اجل ذلك و عند تعبئة اي خانة ,انصحك بكتابة كل مايخطر ببالك من تفاصيل عن تطبيقك . تجدر الاشارة الى ان مايكرسفت تركز في اختبار التطبيق على 3 امور اساسية :

* تصميم التطبيق User Experience
* انه لا يحتوى على فيروسات
* انه لا يحتوي على محتوى مخل
وهذا الاختبار يتكرر كلما قمت برفع نسخة محدثة من تطبيقك ...
انت مجبر ايضا على دعم التطبيق لمدة 90 يوما حسب الاتفاق مع مايكرسفت قبل حذف التطبيق نهائيا  من المتجر حيث 






3- كيف تحصل على المال من خلال متجر اوفيس و شيربوينت ؟ 

- اولا من  خلال جعل ثمن للتطبيق بحيث لا يمكن تثبيته من قبل المستخدم الا بعد شراء التطبيق. لكن لابد ان تعلم ان مايكرسف تستفيد دائما من 20 % من قيمة بيع التطبيق فلو كان تطبيقك ب10 دولار سيكون نصيبك منها 8 و نصيب ماكيرسفت 2 دولار.


- ثانيا من خلال تطبيق مجاني لكن الخدمات الذي به تكون بمقابل , على سبيل المثال تطبيق مجاني لتحويل الملفات الى امتداد PDF لكن عندما يكون بالملف اكثر من صفحة يكون تحويل بقية الصفحات بمقابل مالي.

- ثالثا من خلال الاعلانات 


ختاما ادعوكم لزيارة موقع "http://dev.office.com" و الذي يحتوى على جميع سياسات مايكرسفت و التعليمات اللازمة فيما يتعلق بالتطبيقات على متجر اوفيس و شيربوينت. كما يعرض الموقع دليلا عن الاعلانات التي يمكن قبول عرضها من قبل مايكرسفت





الخميس، 23 أبريل 2015

مكون كروم



غالبا ما يفرض احتياج المؤسسة لديك ان تكون تطبيقات الشيربوينت من نوع Cloud-hosted بتصميم موحد مع تصميم بوابة الشيربوينت. لذلك فان فيجوال ستوديو 2013 يوفر لك ضمن نموذج مشروع شيربوينت ملف App.master :


لكن في الحقيقة مهما حاولت مطابقة تصميم التطبيق بتصميم بوابة الشيربوينت سيكون ذلك صعبا للغاية. 
اذا الحل لهذه المشكلة هو استخدام مكون كروم او Chrome control و الذي تجده في مكتبة جافاسكربت "sp.ui.controls.js" التي في مجلد SharePoint Layouts.
قم بنسخة الى مشروع في الفيجوال ستوديو و ابدأ باتسخدامه فهو يمكنك مما يلي:

- وراثة مكونات الهيدر من موقع Host web المستضيف للـتطبيق, وهي تحتوى على روابط ملفات stylesheet . وهو ما يضمن تطابق الالوان المستخدمة و الفونت ...

- تثبيت رابط لموقع Host web في كل صفحات التطبيق

- اظهار قائمة منسدلة شبيه بقائمة "اعدادات الموقع" وهي تتيح لك وضع روابط لصفحات الاعدادات التي في تطبيقك ...



الأحد، 19 أبريل 2015

اعداد و ادارة خدمات اكسس في شيربوينت 2013


اهمية خدمة اكسس في الشيربوينت تاتي من اهمية اكسس نفسه (اعني الذي في حزمة الاوفيس المكتبية) لدى المستخدمين.لكن الاهم من ذلك ان خدمة اكسس في الشيربوينت تحل مشاكل كثيرة قد يتسبب فيها اكسس المكتبي لدى المؤسسة التي حسب عدد الموظفين فيها قد تجد اضعاف ذلك العدد من ملفات اكسل و اكسس يستخدمونها في اغراض العمل.
بعض تلك المشكلات هي :
- وجود تطبيقات لدى المستخدمين بعيدة تماما عن التحكم و الادارة من قبل ادارة تقنية المعلومات.
- سيأتي اليوم الذي ترمى فيه تلك التطبيقات بين احضان قسم التقنية في المؤسسة ليقال لهم تعاملوا معها  :)
- لا وجود لخطط نسخ احتياطي و استرجاع لتلك التطبيقات
- عادة يصعب ما يصعب جدا مشاركتها مع الاخرين والعمل عليها بشكل جماعي
- في الغالب لا يمكن ترقيتها 
- اذا كانت تستخدم طريقة الدخول بحساب وكلمة مرور فانها لن تكون معتمدة على الية الدخول الموحد للمؤسسة Single Sign On او حتى عل حسابات المجلد النشط Active Directory

و بالمناسبة كنت في موضوعين سابقين شرحت كيفية عمل تطبيق اكسس على اوفيس 365 لكن لمن لا يملك اشتراك فيه ويود ان يعد خدمة الاكسس في مركز البيانات الخاص به اقول ما يلي, هناك 3 امور لابد من الاعتناء بها اثناء التخطيط المسبق قبل تفعيل الخدمة وهي :

1- التكلفة : 

 * خادم SQL Server : قد يكون لديك خادم  sql server 2008 r2 sp1 لكن ذلك لا يكفي لتشغيل خدمات اكسس على الشيربوينت لانها تستخدم ميزات جديدة لا توفرها نسخة 2008 مثل Full text Search لذلك لابد من نسخة 2012
* يفضل تخصيص sql server instance  خاص بخدمات اكسس لدواع سيتم شرحها لاحقا في النقطة (2) ...

2- نموذج الحماية : 

* تستخدم تطبيقات اكسس للاتصال بخادم sql طريقة المصادقة SQL Authentication وهي تعتبر اقل حماية من NT Authentication. لذلك فان هناك مؤسسات لا تحبذها.

3- ادارة الخدمة :

* لابد ان تعرف ان لكل تطبيق اكسس يتم انشاء قاعدة بيانات خاصة به على مستوى خادم SQL Server لذلك مع المرور الوقت سيكون لديك عدد كبير من قواعد البيانات لكن بامكاني ان اقول ان ذلك لن يسبب في مهام اضافية كثيرة لمدير قواعد البيانات لان تطبيق الاكسس يقوم تلقائيا بانشاء قاعدة البيانات و الحساب و الصلاحيات اللازمة له على SQL Server
* في ما يخص النسخ الاحتياطي فانه يعتمد على خطة النسخ الاحتياطي الخاصة بـخادم SQL لديك 

بعد ما تعرفت على ما سبق و قررت تفعيل الخدمة في مزرعة الشيربوينت لديك فما عليك الا عمل الخطوات التالية :

1- تثبيت SQL Server 2012 : 

* عند اعداد Security Mode قم باختيار Mixed Mode
* حساب الخدمة الذي ستستخدمه خدمات اكسس على الشيربوينت لابد ان يكون الادوار التالية على خادم SQL :  ( db creator , security admin) 
* اثناء عملية التثبيت و عند اختيار الميزات التي سيتم تفعيلها قم بتفعيل Full-Text Search Feature
* بعد الانتهاء من التثبيت قم بتفعيل خاصية "contained database" حيث انها ضرورية لفصل قواعد بيانات التطبيقات عن بعضها البعض من ناحية الحماية , يعني لا يمكن لحساب واحد الاتصال باكثر من قاعدة بيانات بالاضافة الى ان ذلك يسمح بتعديل خاصية Collation على مستوى قاعدة البيانات الواحدة , طبعا اذا كان لديك تطبيقات بـ Collation  مختلفة :


* قم ايضا بتفعيل خاصية "Allow Triggers to Fire Others" كما يلي :



2- اعداد خدمة اكسس :

* قم بتبيت البرامج التالية على جميع خوادم الشيربوينت في مزرعتك :






مع العلم ان الثلاث الاولى يفترض انها موجودة مسبقا لديك لان شيربوينت يحتاجها.

* الان على مستوى IIS في خواجم الشيربوينت قم بتفعيل خاصية Load User Profile كما في الصورة التالية, هذه الخطوة مهمة لفصل الحسابات المشغلة للتطبيقات :



3- تفعيل خدمة اكسس على الشيربوينت :
* قم بتفعيل الخدمات التالية التي يحتاجها الاكسس من خلال لوحة التحكم Central Admin :
             - Access Services 2010
             - Access Services
             - App Management Service
             - Microsoft SharePoint Foundation Subscription Settings Service
             - Secure Store Service

* بعد تفعيل الخدمات السابقة قم بانشاء مجموعة مواقع SiteCollection خاص بتطبيقات Access Apps و انشئ ايضا موقع فريق "Team Site"
* قم باستخراج مفتاح من نوع Secure Store Service Key حيث تحتاجه خدمة اكسس لتعمل بشكل صحيح
* قم بفتح خدمة اكسس المفعلة الان على لوحة التحكم كما في الصورة التالية و قم برطها بخادم قواعد البيانات الخاص بها:

                




* بعد ما سبق يتكون قادرا على عمل تطبيقات اكسس على مزرعتك الداخلية و ليس فقط على اوفيس 365 كما اشرت في موضوعين سابقين :



الخاتمة :
من الايجابيات المميزة لتفعيل خدمات Access في الشيربوينت:
- باعتبار ان الجدوال التي يتم تصميمها بالاكسس هي في النهاية عبارة عن جداول SQL Server لذلك فبامكاننا الاستفادة من جميع ما تقدمه قواعد بيانات SQL Server من ميزات. لعل اهمها استخراج التقاريرالمتقدمة و الربط مع اكسل و حتى التطبيقات الخارجية كتطبيقات ASP.NET  او PHP  او غير ذلك ...
- امكانية استخدام الاكسس من خلال متصفح الانترنت ايضا
- مركزية التحكم في البيانات
- مركزية التحكم في الصلاحيات
- شاشة مستخدم اكثر احترافية
- التعرف على كثافة الاستخدام من عدمه
- امكانية الرفع على متجر تطبيقات الاوفيس
- امكانية الترقية و الاستفادة من الميزات الجديدة
...



السبت، 18 أبريل 2015

أطلق تطبيق شيربوينت فقط في 60 ثانية باستخدام اكسس 2013 !! (الحلقة 2)


مواصلة للحلقة السابقة , لنتخيل اننا نريد اضافة جدول جديد الى تطبيقنا السابق وان الجدول الجديد يحتاج الى بيانات الموظفين التي كنا قد اضفناها الى التطبيق. الجدول الجديد هو "بيانات الموظف"
في هذه الحالة Access 2013 سيمنحك بشكل تلقائي علاقة ربط مباشر مع جدول Employees و لن يكون المستخدم عندها مضظرا الى انشاء تطبيق اكسس جديد لينشئ فيه جدول مهام الموظف.
انظر الى الصور التالية :
1- قم باضافة جدول "Employees  To Do List" من قائمة النماذج الافتراضية الجاهزة 


2- بعد ظهور جدول To Dos  , قم بالظغط على "Edit Table" كما في الصورة :


3- ستظهر لك حقول الجدول وبينها حقل Assigned To  والذي يفترظ ان يكون من نوع Lookup بحيث تظهر بيانات الموظف الذي ستوكل اليه المهمة من جدول ثان جاهز مسبقا.


4- اضغط على Modify Lookups و ستظهر لك نافذة تبرز الجدول الذي تم الربط معه بشكل تلقائي وهو "Employees"


بهذه الطريقة يحافظ Access على تناسق البيانات و تماسكها "data consistency" ...

5- بامكانك اضافة حقول جديدة للجداول كاضافة حقل الراتب الشهري للموظف من نوع عملة "Currency"  




6- بامكانك عمل تحقق من صحة الحقل المدخل "Validation":



7- سينعكس الحقل الجديد على شاشات التطبيق في اوفيس 365  بشكل آلي وكذلك كل تعديل تقوم به :



8- يمكنك استخدام زر التخصيص من خلال اكسس "Customize in Access" لفتح التطبيق من جديد وعمل التعديل اللازم على تصميم التطبيق:



9 - دعونا نجرب الان اضافة طريقة عرض جديدة "View"





10- قم بحفظ التعديلات ثم افتح التطبيق  من جديد على المتصفح , ستلاحظ ظهور طريقة العرض الجديدة و عند الظغط عليها بامكانك استعراض البيانات مرتبة حسب الخاصية التي اخترتها في الخطوة (9) اي حسب البلد "Country" . سيظهر لك ايضا عدد المصفوفات في كل مجموعة "Group" , لاحظ هنا لدينا عدد 2 موظفين من Saudi Arabia



10-  لمن يريد الاستزادة من تطبيقات الاكسس التي يوفرها الكثير من المبرمجين على الانترنت بامكانك البحث عنها و تحميلها من متجر الشيربوينت "SharePoint Store".



11- لكن ماذا لو احببت رفع تطبيقك المعدل الى متجر التطبيقات ؟ يكفيك حفظ التطبيق كـحزمة App بامتداد (.app) كما في الصورة :




لقد فعلنا كل ما سبق من غير سطر واحد برمجي ! مع العلم ان ما سبق فقط مقدمة والا بامكان المستخدم عمل تطبيقات اكثر تقدما و تعقيدا فيها استخراج للتقارير و غير ذلك ...


الجمعة، 17 أبريل 2015

أطلق تطبيق شيربوينت فقط في 60 ثانية باستخدام اكسس 2013 !! (الحلقة 1)


شئنا أم ابينا , يوجد في مؤسستنا من المستخدمين العاديين غير الفنيين من يقوم بعمل تطبيقات ! نعم بالفعل , من خلال استخدامهم للاكسل او الاكسس او حتى على منصات خارجية متوفرة على الانترنت ...
وهم يقومون بذلك لانهم يحتاجونه و المؤسسة نفسها تحتاجه ...
خصوصا ان تلك التطبيقات الخارجية التي ينشؤها المستخدمون غالبا ما ستصبح يوما ما عالية الاهمية للمؤسسة و حساسة جدا في سير العمل :)   !! ومع ذلك فهي في الوقت نفسه ذات تصميم يفتقر الى الدقة و الجودة .
لذلك, هم يحتاجون مساعدتنا لعمله بالطريقة صحيحة والمثالية, ويحتاجون المساعدة لبناء تلك التطبيقات على منصة آمنة بحيث تكون البيانات محفوظة بطريقة سليمة. 
فماذا لو ساعدناهم على بناء تلك التطبيقات بالطريقة الصحيحة منذ البداية ؟

في البداية دعوني اقترح ان نركز على تطبيقات الاكسس. والتي تكون على هيئة تطبيقات مكتبية Desktop Applications, الا ان تطلعات المستخدم هي ان يستفيد من تطبيق Access 2013 المكتبي في كل مكان يذهب اليه : في المكتب , في البيت , في الجهاز المحمول و حتى في الجوال ... 
شيربوينت يقدم الحل للهدف السابق حيث بالامكان انشاء و استضافة تطبيق اكسس على منصة شيربوينت 2013 و تشغيله باستخدام المتصفح فقط. واليكم مراحل عمل تطبيق اكسس في اقل من دقيقة !

1- قم بفتح Access 2013  و بانشاء تطبيق ويب مخصص "Custom Web App"




2- قم بربط الاكسس ببيئة الشيربوينت في مؤسستك ( مع العلم انه لابد ان تكون قد جهزت  البيئة مسبقا لاستضافة تطبيقات الشيربوينت لان تطبيق Access web App هو في النهاية SharePoint App) او قم بربط الاكسس باستراكك في Office 365 (اليك رابط مساعدة لذلك : انشاء موقع مبرمج على How to: Create a Developer Site within your existing Office 365 subscription)
عملية الربط هذه سينتج عنها في ما بعد تواجد شاشات التطبيق ضمن منصة الشيربوينت اما البيانات فستكون محفوظة في خادم SQL Server الخاص بك سواء على الخدمة السحابية Azure اذا كنت تستخدم موقع المبرمج على Office 365 او على الخادم الخاص بالمؤسسة في شبكتها الداخلية.
بالنسبة لي فقد استخدمت الخدمة السحابية حيث لدي حساب مفعل اما انت اذا لم يكون لديك حساب فبامكانك الحصول على ترخيص 3 اشهر مجاني للمبرمجين كما في الرابط التالي : 
Sign up for an Office 365 Developer Subscription and set up your tools and environment


3- بعد الربط ستكون الشاشة كالتالي :



 4- توجد نماذج من تطبيقات كثيرة جاهزة للاستخدام مقدمة هدية من مايكرسف :) . قم باختيار ما يناسبك. اما انا فاخترت تطبيق الموظفين "Employees"




5- بعد ان يتوفر التطبيق لك للاستخدام ستكون الشاشة كالتالي , عندها سيكون اكسس قد قام بتجهيز جميع جداول قواعد البيانات و العلاقات بينها و جميع المناظر اللازمة "Views"



6- اضغط على زر نشر التطبيق "Launch App" ليكون الاكسس برفع التطبيق على موقع البرمجة الخاص بك على الخدمة السحابية لمايكرسفت و التي اشرت اليها في الخطوة (2)




7- والان ما عليك الا الاستمتاع بتجربة تطبيقك الجديد الذي عملته في اقل من دقيقة 








8- وهنا لديك امكانية العرض على هيئة ورقة بيانات "DataSheet"



9- اذا احببت ان تختبر بنفسك وجود البيانات على خادم SQL Server فما عليك الا فتح قواعد البيانات على Azure مستخدما SQL Server Management Studio و ستظهر لك جداولك و بياناتك, طبعا اذا قمت بعملية Update مثلا لمعلومات موظف ما, و حاولت بعد ذلك عرض بياناته من خلال شاشة الشيربوينت فتجد ان التعديل فعلا قد تم ...

ارجو انك قمت بتجربة ممتعة :)