زمرہ آرکائوز: شیئرپوائنٹ ترقی

HTTP 406 میں خرابی شیئرپوائنٹ باقی آخر پوائنٹس خلاف کونیی $ http.get استعمال کرتے وقت

اپ ڈیٹ کریں: یہ بہت بڑا ٹکڑا معلومات کے باہر مارک AD نڈرسن کی نشاندہی: HTTP://blogs.office.com/2014/08/13/json-light-support-rest-sharepoint-api-released/. جو بہت وضاحت کرتا ہے :).

جو کبھی ایک بلاگ پوسٹ کا بدترین عنوان ہو سکتا! انیہو.

میں عام طور پر سب کے خلاف ایک O365 مثال کے طور پر میرے پروٹوٹیپانگ کرتے ہیں. تاکہ میں کسی دوسرے کو متاثر کے بارے میں فکر مند ہونا ضروری نہیں میں میرا ذاتی معاملہ ہے. ایک کے طور پر کنارے – جب ہم کائی – کے ساتھ اپنے لیپ ٹاپ پر مجازی مشینوں کے ارد گرد کاررید کال SQL Server یاد, IIS, ہائپر-۵ بمقابلہ فیصلہ کرنا. VMWare? انیہو...

میں انگولہر کرتا ہے اس کے ماحول میں استعمال کرتے ہوئے ایک اپلیکیشن تیار کیا تھا ۔, دوسری چیزوں کے درمیان, اس:

$http.get(سرورورل)
.کامیابی(تقریب(اعداد و شمار, درجہ, سرتحریر, تشکیل) {

متغیر کریں گیٹلانکسریسپانسی کوائف =;

getLinksResponse.value.forEach(تقریب(ٹہیریسلٹ) {

// اور وغیرہ وغیرہ اور اتنی بکواس

یہ صرف ٹھیک دو مختلف SharePoint آن لائن ماحول میں کام کر رہا تھا. تاہم, جب میرے ساتھی اس کے لئے ایک مثال کلودشری کے طور پر ported, وہ ہو رہی تھی ایک HTTP 406 غلطی (جس نے پہلی بار میں نے کبھی اس کو مل گیا تھا, تاکہ... yay, ميرے خيال سے). ہم نے تھوڑا سا تحقیق کی اور نے محسوس کیا تھا کہ "قبول" سرتحریر بند. آن لائن SharePoint کے ساتھ بالکل خوش تھا ۔:

قبول کریں: ایپلی کیشن/جساون

کلودشاری مثال کے طور پر مگر (پریم پر جو SP ہے, میں ایک مجازی سرور ہوسٹ کئے ہوئے) کلاسک چاہتا تھا "اودات مطول =" میں بھی اضافہ:

قبول کریں: ایپلی کیشن/جساون;اودات مطول =

جو درست کرنے کے لیے, ہم نے مزید کہا کہ اس طرح سرتحریر:

متغیر کریں config = {سرتحریر: {
'قبول کریں': ' ایپلی کیشن/جساون;اودات مطول ='
}
};

$http.get(سرورورل,تشکیل)
.کامیابی(تقریب(اعداد و شمار, درجہ, سرتحریر, تشکیل) {

متغیر کریں گیٹلانکسریسپانسی کوائف =;

getLinksResponse.value.forEach(تقریب(ٹہیریسلٹ) {

// اور وغیرہ وغیرہ اور اتنی بکواس

جس کا چھٹکارا مل گیا 406, لیکن یہ بھی جواب کی وضع تبدیل کر دیا. یہ زیادہ تھا... مطول. (ہا ہا!) مزید تبدیلیوں کی ضرورت تھی اور حتمی نتیجہ یہاں ہے ۔:

متغیر کریں config = {سرتحریر: {
'قبول کریں': ' ایپلی کیشن/جساون;اودات مطول ='
}
};

$http.get(سرورورل,تشکیل)
.کامیابی(تقریب(اعداد و شمار, درجہ, سرتحریر, تشکیل) {

متغیر کریں گیٹلانکسریسپانسی کوائف =;

گیٹلانکسریسپانسی.d.results.forEach(تقریب(ٹہیریسلٹ) {

// اور وغیرہ وغیرہ اور اتنی بکواس

یہ صرف تبدیل کردیا ایک 30 ہمارے لئے منٹ مسئلہ, پس ہم لوککاد. امید ہے کہ کوئی شخص یہ مفید ڈھونڈتا ہے.

</آخر>

بڑھتی ہوئی بیداری / جاوا سکرپٹ فریم ورک کو اپنانے

میرے ساتھی, جاوید انصاری (http://www.bigapplesharepoint.com/team?showExpertName=Javed%20Ansari&rsource=pgblog), وہ پسند ہیں یا کم از کم کے ساتھ SharePoint کے ساتھ استعمال کر رہا ہے کے لائحہ عمل پر ایک مختصر خلاصہ بلاگ پوسٹ نے لکھا: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=53&rsource=PGBlog).

jQuery میدان میں فاتح رہی ہیں لگتا ہے, بات کرنے کے لیے, اب سال کے لئے, لیکن دوسروں کے زیادہ نئے ہیں اور تصویر کو اس کے خلاف الگ الگ, انگولہر کی طرح. (سپسرواسیس, کورس کے, ایک زندگی کی محافظ سال رہا ہے اور میرے خیال میں تو میں جاری رہے گا).

کیا لوگ استعمال کر رہے ہیں? وہ مائیکروسافٹ کے ٹوولانگ پر زیادہ توجہ مرکوز ہیں (کساوم / جساوم) یا زیادہ انگولہر کی طرف بڑھا رہا ہے, ناک آؤٹ, ایمبار, وغیرہ?

میں ان غیر-Microsoft لائحہ عمل کی طرف ایک بڑھتے ہوئے تعصب ہے. میرے خیال میں مسفٹ کی چیزیں زیادہ مشکل اور کے ساتھ کام کرنا بہت مشکل ہے ۔, سیکھنا منحنی پرانے طرز سرور-جانبی دیو کے طور پر کے طور پر تقریبا کی ضرورت.

ایک تبصرہ یہاں پوسٹ یا اوور پر بگ ایپل SharePoint اگر آپ تبادلہ خیال کرنا چاہتے ہیں (بگ ایپل ایک اچھی بحث کا زیادہ امکان ہو گا).

</آخر>

ویب سائٹ کا مجموعہ ترتیب سے شیئرپوائنٹ ٹائمر نوکریاں سپننگ

میرے ساتھی, اشاسہ پٹیل, ایک بلاگ پوسٹ میں لکھا تھا ایک لچکدار ٹائمر ملازمت کے فن تعمیر کا بیان جو طویل عرصے سے جاری کاموں اور رپورٹس کی حمایت کرنے کے لئے کچھ اچھا لچک موجود ہے ۔  ان کے الفاظ میں:

1. مسلیں باہر چیکاد کا تجزیہ اور یاد دہانیوں کے افراد کے لئے اگر وہ نمبر بھیجنے کا دن (کیونکہ مسل خارج تھا) بعض چوکھٹ کی حدود سے تجاوز

2. جب ایک مخصوص مواد ہٹا دیا ہے یا نظام سے محفوظہ روابط دیگر مشمول ہٹا

3. صارف کو وہ تمام ویب سائٹ مجموعہ میں میں رکنیت سازی سب الرٹ دیکھنا چاہتا ہے

4. ایک یاد دہانیاں مصنفین کو جب ایک کا جائزہ لینے کے وقت میں مشمول کا اختصاص نہیں کیا گیا اور اس تاریخ کا مقام ہے کے مواد کا جائزہ لینے کے لئے بھیج رہا ہے ۔

ٹھیک ہے, فہرست چلا جاتا ہے...

– مزید دیکھیں: HTTP://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=40#sthash.7cKuiwly.dpuf

جب کچھ اس طرح بہت مددگار ثابت ہو گا میرا ماضی میں بار ہیں ۔.

</آخر>

کس طرح کرنے کے لئے: ایک دفتر کے لئے QUnit.js اور Blanket.js یونٹ کے ساتھ ٹیسٹ اور ٹیسٹ کوریج کی تشکیل 365 شیئرپوائنٹ اپلی کیشن

انٹرو

میں یونٹ ٹیسٹنگ کی تلاش کیا گیا ہے اور میں ایک نیا SharePoint اپلی کیشن پر دفتر میں SharePoint آن لائن کے لئے اپنے کام کے مطابق کوریج کے لیے جاوا سکرپٹ ٹیسٹ 365 سوٹ ہے.  واضح تحقیق راہوں کے نتیجے میں مجھے Qunit.js اور اس کے بعد دائیں, کے لئے Blanket.js.

قوناٹ یونٹ ٹیسٹ اپ سیٹ کریں اور انھیں ماڈیول میں گروپ ہوں ۔  ایک ماڈیول سے متعلق ٹیسٹ کو منظم کرنے کے لیے صرف ایک آسان طریقہ ہے ۔. (مجھے یقین ہے کہ میں اس کا مقصد کے طور پر استعمال کر رہا ہوں نہیں ہوں, لیکن یہ میرے لئے اب تک چھوٹے سے سیٹ کے ٹیسٹ میں ابھی تک جن کی وضاحت کے ساتھ کام کر رہا ہے).

Blanket.js قوناٹ کے ساتھ ضم کرنا شروع کردیا اور اس نے مجھے جاوا سکرپٹ کی اصل لائنوں تھے – اور زیادہ اہم بات یہ ہے – دراصل خون کے ٹیسٹ چلانے کے دوران ہلاک کردیا گیا نہیں دکھائے گا ۔  یہ 'کوریج' ہے، جو نافذ سلسلے کی طرف سے ٹیسٹ کا احاطہ ہیں جبکہ دوسروں نہیں ہیں.

اچھا ٹیسٹ کیس اپ سیٹ اور منظر کاری کے کوریج کے درمیان, ہم ہمارے کوڈ نقائص پوشیدہ ہے کہ خطرے کو کم کر سکتے ہیں ۔  اچھا ٹائمز.

قوناٹ

آپ اپنے Visual Studio ہے تو یہ اینٹی منصوبے سیٹ اپ, جاوا سکرپٹ پیکیج سے ڈاؤن لوڈ کرنے کی طرف سے شروع http://qunitjs.com.  جاوا اسکرپٹ اور متعلقہ CSS آپ حل کرنے کے لئے شامل کریں.  اس طرح میرا لگتا ہے:

image

اعداد و شمار 1

آپ دیکھ سکتے ہیں کے طور پر, تھا نہیں استعمال کرتے ہیں 1.13.0 اس وقت میں اس بلاگ پوسٹ نے لکھا. ڈاؤن لوڈ، اتارنا اور سی ایس ایس فائل کا اضافہ کرنا نہ بھولیں.

کہ جس طرح سے, اگلا قدم ٹیسٹ رخت کی کسی قسم کی تخلیق اور اس کی قوناٹ بٹ کے حوالہ کرنا ہے ۔  میں افعال کا ایک گروپ میں "جیسے دکھایا گیا QuizUtil_test.html" کہا جاتا ہے ایک HTML صفحہ پیدا کیا "QuizUtil.js" کہا جاتا ہے ایک سکرپٹ فائل میں جانچ کر رہا ہوں:

image اعداد و شمار 2

کوڈ یہاں ہے ۔:

<!دوکٹیپی ایچ ٹی ایم ایل>
<ایچ ٹی ایم ایل xmlns"http =://www.w3.org/1999/xhtml">
<سر>
    <عنوان>قویزوٹال ٹیسٹ قوناٹ کے ساتھ</عنوان>
    <لنک ر"قرطاس طرز =" href کی=".. /CSS/qunit-1.13.0.css" />
    <سکرپٹ قسممتن/جاوا سکرپٹ"=" ایسآرسی="QuizUtil.js" کوائف-سرورق></سکرپٹ>
    <سکرپٹ کی قسم ="متن/جاوا سکرپٹ" ایسآرسی ="قوناٹ-1.13.0.js"></سکرپٹ>
    <سکرپٹ کی قسم ="متن/جاوا سکرپٹ" ایسآرسی ="blanket.min.js"></سکرپٹ>

    <سکرپٹ>
        ماڈیول("گیٹادفروملوکوپ");
        ٹیسٹ("قیزوٹال گیٹادفروملوکوپفیلڈ", تقریب () {
            تھا گودوالی = "1;#پال Galvin";

            برابر(گیٹادفروملوکوپفیلڈ(گودوالی) + 1, 2), "کی شناخت [" + گودوالی + "] + 1 2 ہونا چاہیے";
            برابر(گیٹادفروملوکوپفیلڈ(غیر وضاحتی), غیر وضاحتی, "بے وضاحت ان پٹ دلیل غیر وضاحتی نتیجہ واپس کردینا چاہیے ۔");
            برابر(گیٹادفروملوکوپفیلڈ(""), غیر وضاحتی, "خالی ان پٹ دلیل ایک غیر وضاحتی قدر کو واپس کرنا چاہئے ۔");
            برابر(گیٹادفروملوکوپفیلڈ("gobbledigood3-تق;دکون ادا;سکفجع sdjfbvubvqrubqer0873407t534piutheqw;vn"), غیر وضاحتی,"ہمیشہ ایک نتیجہ متحول سیار سالم کو واپس کردینا چاہیے");
            برابر(گیٹادفروملوکوپفیلڈ("2;#کچھ دوسرے شخص"), "2", "پڑتال کر رہا ہے [2;#کچھ دوسرے شخص].");
            برابر(گیٹادفروملوکوپفیلڈ("9834524;#طویل قدر"), "9834524", "بڑی قدر ٹیسٹ ہے ۔");
            نوٹیقال(گیٹادفروملوکوپفیلڈ("5;#کسی کو بھی", 6), 6, "ایک نوٹیقال کی جانچ (5 مساوی نہیں 6 اس کے لیے نمونہ: [5;#کسی کو بھی]");

        });

        ماڈیول("ہٹملیسکاپی");
        ٹیسٹ("قیزوٹال ہٹملیسکاپی()", تقریب () {
            برابر(ہٹملیسکاپی("<"), "&لیفٹیننٹ;", "ایک کم آپریٹر سے فرار ('<')");
            برابر(ہٹملیسکاپی("<دو کلاس =  "someclass">کچھ متن</div>"), "&لیفٹیننٹ;دو کلاس =&quot;سومیکلاسس&quot;&GT;کچھ متن&لیفٹیننٹ;/div&GT;", "زیادہ پیچیدہ ٹیسٹ سلک ہے ۔");
        });

        ماڈیول("گیٹڈیٹیزکامل");
        ٹیسٹ("قیزوٹال گیٹڈیٹیزکامل()", تقریب () {
            برابر(گیٹڈیٹیزکامل(نئے تاریخ("12/31/2013")), "2013-12-31T:00:00:00", "مشکل کوڈت تاریخ ٹیسٹنگ: [12/31/2013]");
            برابر(گیٹڈیٹیزکامل(نئے تاریخ("01/05/2014")), "2014-01-05T:00:00:00", "مشکل کوڈت تاریخ ٹیسٹنگ: [01/05/2014]");
            برابر(گیٹڈیٹیزکامل(نئے تاریخ("01/31/2014")), "2014-01-31T:00:00:00", "مشکل کوڈت تاریخ ٹیسٹنگ: [01/31/2014]");
            برابر(گیٹودایاسکیمل(), گیٹڈیٹیزکامل(نئے تاریخ()), "گیٹودیاسکیمل() گیٹڈیٹیزکامل کے برابر کرنا چاہیے(نئی تاریخ())");
            برابر(گیٹڈیٹیزکامل("بکواس کی قدر"), غیر وضاحتی, "بکواس قدر کی تاریخ حاصل کرنے کے لئے کوشش کرتے ہیں ۔");
            برابر(گیٹڈیٹیزکامل(غیر وضاحتی), غیر وضاحتی, "کی تاریخ حاصل کرنے کی کوشش کریں [غیر وضاحتی] تاریخ ہے ۔");
        });

        ماڈیول("گیٹپآرامیٹربینمی");
        ٹیسٹ("قیزوٹال گیٹپآرامیٹربینمی (سے طلب سلک)", تقریب () {
            برابر(گیٹپآرامیٹربینمی(غیر وضاحتی), غیر وضاحتی, "حاصل کرنے کی کوشش کریں غیر وضاحتی پیرامیٹر چاہیے واپس بے وضاحت ہے ۔");
            برابر(گیٹپآرامیٹربینمی("موجود نہیں"), غیر وضاحتی, "جب ہم جانتے ہیں کہ پیرامیٹر موجود نہیں پیرا میٹر قدر حاصل کرنے کے لئے کوشش کرتے ہیں ۔");

        });

        ماڈیول("کوکیز");
        ٹیسٹ("قیزوٹال مختلف کوکی افعال ہیں ۔", تقریب () {
            برابر(سیٹکووکی("ٹیسٹ", "1", -1), گیٹکوکیوالی("ٹیسٹ"), "حاصل میں سیٹ کوکی کام کرنا چاہئے ۔");
            برابر(سیٹکووکی("انیکووکی", "1", -1), سچ, "ایک جائز کھانا پکانے کی سیٹنگ 'سچ' واپس کردینا چاہیے ۔");
            برابر(سیٹکووکی("پاگل کوکی نام !@#$%"%\^&*(()?/><.,", "1", -1), سچ, "ایک برا کوکی نام سیٹ 'غلط' واپس کردینا چاہیے ۔");
            برابر(سیٹکووکی(غیر وضاحتی, "1", -1), غیر وضاحتی, "کوکی کے نام کے طور پر غیر وضاحتی گزرنے والے ہیں ۔");
            برابر(گیٹکوکیوالی("موجود نہیں"), "", "کوکی ٹیسٹ موجود نہیں ۔");
        });

    </سکرپٹ>
</سر>
<جسم>
    <div ID"قوناٹ ="></div>
    <div ID"قوناٹ-حقیقت ="></div>

</جسم>
</ایچ ٹی ایم ایل>

یہاں کئی چیزیں ہیں ۔:

  1. حوالہ میری کوڈ (QuizUtil.js)
  2. حوالہ Qunity.js
  3. کچھ ماڈیول کی تعریف (گیٹادفروملوکوپ, کوکیز, اور دوسروں کو)
  4. رکھ رہا ہے ایک <div> جس کا ID "قوناٹ" ہے.

پھر, میں صرف اس صفحے کے اوپر ھیںچو اور آپ کو کچھ اس طرح:

image

اعداد و شمار 3

اگر آپ کو سب سے اوپر کے پار دیکھو, آپ کے پاس کچھ اختیارات ہیں, دو دلچسپ ہیں:

  • منظور ٹیسٹ چھپائیں: بہت واضح ہے ۔  آپ کی آنکھ صرف دیکھیں مسئلہ کے علاقوں اور بے ترتیبی کی ایک نہیں بہت مدد کر سکتے ہیں.
  • ماڈیول: (ڈراپ کریں): یہ امتحان آپ چاہتے ہیں صرف ان گروپوں تک خون کے ٹیسٹ فلٹر کریں گے.

خون کے ٹیسٹ لئے خود – چند تبصرے:

  • یہ آپ کو پہلی جگہ میں ٹیستبلی ہے کہ آپ کوڈ لکھنے کے لئے کی ضرورت ہے کہ بغیر کہہ جاتا ہے ۔  آلے کا استعمال کرتے ہوئے اس نظم و ضبط نافذ کرنے میں مدد کر سکتے ہیں. مثال کے طور پر, میں ایک فعل "گیٹودیاسکیمل کہا جاتا تھا ۔()".  یہ کوئی ان پٹ دلیل لیتا ہے کیونکہ یہ بہت ٹیستبلی نہیں ہے اور اس کے لئے مساوات کی جانچ کے لیے, ہم مسلسل حالیہ تاریخ کی عکاسی کے لئے ٹیسٹ کوڈ کو اپ ڈیٹ کرنے کی ضرورت ہو گی ۔  میں اس کی طرف سے ڈیٹا ہے ان پٹ پیرا میٹر اضافہ کر رہا ہے پھر آج کی تاریخ کامل شکل میں جب چاہوں کی حالیہ تاریخ گزر ریفیکٹور.
  • اس کے اپنے ٹیسٹ قوناٹ فریم ورک دستاویزات اور کافی مضبوط لگتا ہے ۔  اس ٹیسٹنگ کے لئے مساوات کی طرح آسان سے کام کرسکتے ہیں اور بھی ایجیکس طرز کالوں کے لئے معاونت موجود ہے ۔ (دونوں "اصلی" یا ٹھٹھوں اپنے پسندیدہ نقال استعمال کرتے ہوئے ۔).
  • اس عمل کے ذریعے جا رہا بھی آپ ایج مقدمات – کیا "بے وضاحت کے ساتھ" ہوتا ہے کے ذریعے پر غور کرنے پر مجبور یا صفر ایک تقریب میں گزر رہا ہے ۔  اسے یہ ان صورت حالوں کے باہر کی جانچ کے لیے مر سادہ بناتا ہے ۔  اچھی چیزیں.

Blanket.js کے ساتھ کوریج

Blanket.js قوناٹ کا تکملہ ضابطہ کی اصل لکیریں اس کورس کے دوران اپنے ٹیسٹ چلانے کے نفاذ سے باخبر رکھنے کی طرف سے ہے ۔  یہ حق قوناٹ میں تو اگرچہ یہ ایک پوری علیحدہ اپلی کیشن ہے میں, یہ اچھی طرح سے ادا کرتا ہے – یہ ایک سیملیس اپلی کیشن ہے کہ ایسا واقعی لگتا ہے.

اس عمل میں blanket.js ہے:

image اعداد و شمار 4

image

اعداد و شمار 5

(آپ دراصل 'کوریج کو فعال کریں' پڑتال خانہ سب سے اوپر پر کلک کرنا ہوگا [اعداد و شمار کو دیکھیں 3] یہ اہل بنانے کے لیے ۔)

اعداد و شمار میں نمایاں لکیریں 5 میرا ٹیسٹ میں سے کسی کی طرف سے سزائے موت دی گئی ہے نہیں, جس سے ان میں مکمل تحفظ چاہتے ہیں تو نفاذ کے لیے ایک ٹیسٹ وضع کرنے کے لئے کی ضرورت ہے تاکہ.

ان مراحل کی پیروی کرکے کام کرنے blanket.js حاصل کریں:

  1. اس سے ڈاؤن لوڈ، اتارنا http://blanketjs.org/.
  2. اس کے لیے اپنے منصوبے کا ا ضافہ کریں
  3. اپنے ٹیسٹ رخت صفحہ کی تازہ کاری کریں (میرے معاملے میں QuizUtil_test.html) مندرجہ ذیل:
    1. حوالہ کوڈ
    2. سجانے آپ <سکرپٹ> اس طرح حوالہ:
    <سکرپٹ قسممتن/جاوا سکرپٹ"=" ایسآرسی="QuizUtil.js" کوائف-سرورق></سکرپٹ>

Blanket.js چنتا ہے "کوائف-کور" کے وصف اور اس جادو کرتا ہے ۔  یہ قوناٹ میں کُنڈے, "اہل کوریج" کے اختیار کے اضافے کے لیے UI اپ ڈیٹس اور voila!

کاروائی کا خلاصہ (TL; ڈاکٹر)

اپنے ٹیسٹ واقعات لکھنے کے لیے قوناٹ استعمال کریں.

  • یہ ڈاؤن لوڈ، اتارنا
  • اس کے لیے اپنے منصوبے کا ا ضافہ کریں
  • جانچ صفحہ رخت لکھتے ہیں ۔
  • اپنے ٹیسٹ بنائیں
    • ٹیستبلی جا اپنے ضابطہ کی کچھ ریفیکٹاور
    • تخلیقی رہو!  پاگل کا خیال, ناممکن صورت حالوں اور انہیں بہرصورت جانچ.

کوریج کو یقینی بنانے کے لیے blanket.js استعمال کریں

  • اثبات کریں کہ قوناٹ کام کر رہا ہے
  • Blanket.js ڈاؤن لوڈ، اتارنا اور اسے اپنے اس منصوبے کے لیے ا ضافہ کریں
  • یہ اپنا ٹیسٹ رخت صفحہ کا ا ضافہ کریں:
    • Blanket.js کا ایک حوالہ کا ا ضافہ کریں
    • ایک "کوائف-کور" کے وصف کو شامل کریں آپ <سکرپٹ> ٹیگ
  • آپ قوناٹ ٹیسٹ چلانے کے.

میں کبھی کسی بھی اس سے پہلے کی کیا اور کچھ ابتدائی چیزیں گھنٹے کی ایک مٹھی بھر میں کام کر رہے تھے ۔ 

خوش ٹیسٹنگ!

</آخر>

undefinedاپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin

Lists.asmx, GetList اور ویلیو "خالی نہیں ہو سکتا”

آج میں نے دریافت کیا کہ GetList() میں طریقہ lists.asmx ویب سروس کو بہت احتیاط سے بلایا جائے ہے یا رعایت "شہوت انگیز null نہیں ہو سکتا VALUE" یہ ایک پراسرار پھینک کا شکار ہے (اور سنبھالنے ہے کہ آپ بھی بدتر عام غلطی پیغام ماضی حاصل کر سکتے ہیں, "قسم کی رعایت نہیں ' Microsoft.SharePoint.SoapServer.SoapServerException’ پھینک دیا گیا. ")  خاص طور پر, میں تم سے GetList کے طریقہ کار پر سابقہ ​​کسی بھی قسم کی فراہم نہیں کر سکتے ہیں پایا.  مندرجہ ذیل jQuery کا ٹکڑا نقطہ کی وضاحت کرتا ہے:

image

اگر آپ ایسا کرتے ہیں تو, ویب سروس اس کے مطابق "VALUE شہوت انگیز null نہیں ہو سکتا" کے ساتھ جواب fiddler-HTTP کے نقل فراہم کی:

<?xml ورژن "1.0 =" ضابطہ بندی "کو utf-8" =?>
  <صابن:لفافہ
     xmlns:صابن ="
HTTP://schemas.xmlsoap.org / صابن / لفافے /"    
     xmlns:xsi = "
HTTP://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd ="
HTTP://www.w3.org/2001/XMLSchema">

  <صابن:جسم>
    <صابن:غلطی>
      <faultcode>صابن:سرور</faultcode>
      <faultstring>
        قسم کی رعایت نہیں ' Microsoft.SharePoint.SoapServer.SoapServerException’ پھینک دیا گیا.
      </faultstring>
      <تفصیل سے>
        <غلطی سٹرنگ xmlns ="
HTTP://schemas.microsoft.com / شیئرپوائنٹ / صابن /">
ویلیو شہوت انگیز null نہیں ہو سکتا.
        </errorstring>
      </تفصیل سے>
    </صابن:غلطی>
  </صابن:جسم>
</صابن:لفافہ>

کورس کے, آپ شاید اپنے آپ کہ "s0" اپسرگ شامل نہیں کی جائے گی, لیکن کچھ ٹولز ایسا کرنے کا شکار ہیں (چاند اور سورج گرہن کی طرح).

یہ سب سے زیادہ بردوست ہے / دوسرے طریقوں سابقے برداشت کی وجہ سے مایوس کن.  مثال کے طور پر, the GetListCollection یہ prefixed رہا ہے تو طریقہ برا نہیں ہے, یہاں تک کہ "xyzzy" جیسے سابقے قسم کی معمولی ہدایات کے ساتھ:

image

یہ lists.asmx کے ساتھ منصفانہ عام لگتا ہے "VALUE شہوت انگیز null نہیں ہو سکتا" تو امید ہے کہ یہ مستقبل میں کسی کو مدد ملے گی.

</آخر>

اپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin

Endlessly Nesting <div> ٹیگ اور jQuery

یہ اس طرح ایک oddball موضوع کی طرح لگتا ہے, میں نے اس کے بارے میں واقعی قابل بلاگنگ ہے یقین نہیں ہے, لیکن اس سے پہلے مجھے کبھی نہیں روکا ہے, تو یہاں ہم جا مسکراہٹ

مجھے کسی کی تلاش کی طرف سے کچھ اعداد و شمار ھیںچ رہا ہوں جہاں ایک منصوبے پر کام کر رہا ہوں, XML بالآخر ایکس ایس ایل ٹی کے ذریعے ایچ ٹی ایم ایل میں تبدیل کر دیا جاتا ہے کہ اس وقت ایک XML پیغام میں اسے پیکنگ اور.  ملوث jQuery کی ایک بہت کچھ ہے, جس میں سے ایک تھوڑا سا کچھ جدول بندی فعالیت عملدرآمد کرتا ہے.  آپ کو ایک ٹیب پر کلک کرتے ہیں تو (واقعی, ایک <div>), jQuery invokes. چھپانے() اور. شو() مختلف divs پر (اس معاملے میں کوئی postbacks ہیں تاکہ ابتدائی صفحہ لوڈ ہونے تمام مواد ڈاؤن لوڈ).

گھنٹے کے ایک گروپ پہلے, ٹیب سوئچنگ منطق erratically برتاؤ کرنا شروع کر دیا اور یہ میرے ٹیبز میں سے ایک کو ظاہر نہیں کرے گا.  میں آخر میں ہے کہ انٹرنیٹ ایکسپلورر حقیقت اسے نیچے ٹریک (کم سے کم) سوچا کہ <div> ٹیگز تک اندر در اندر, intended.The ڈیولپر ٹول بار سے کہیں گہرے دکھائے گا:

-<div ID = "Tab1Content">
  -<div>
    -<div>
      -<div ID = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-آخر یہ سب طریقے سے یہاں نیچے بند کر دیا گیا دکھا!

تو, میں نے کیا تو $("# Tab1Content").چھپا(), میں نے بھی Tab2 چھپانا چاہتے ہیں اور میں نے بھی Tab1 ظاہر نہیں کیا تو میں Tab2 دکھا کبھی نہیں ہو سکتا ہے.  میں کاپی اور چسپاں کوڈ اپ بصری سٹوڈیو میں ہے اور یہ اچھی طرح div کی استر کے سب سے ظاہر ہوا, وہ کیا کر سکتی تھیں جیسا, اس طرح دیکھ کر:

-<div ID = "Tab1Content">
  +<div>
  +<div>
-<div ID = "Tab2Content">
  +<div>
  +<div>

میں تھوڑی دیر کے لئے دیوار کے خلاف اپنے سر سے شکست دی اور اصل HTML کوڈ میں خالی کی ایک بہت پیدا کیا گیا تھا دیکھا <div> ٹیگز, کی طرح:

<جسم>

  <div ID = "Tab1Content">

    <div ID = "row1" />
    <div ID = "row2" />

  </div>

  <div ID = "Tab2Content">

    <div ID = "row1" />
    <div ID = "row2" />

  </div>

</جسم>

(مندرجہ بالا waaaaaaaaaaaay oversimplified ہے.  خالی div ٹیگز مکمل طور پر درست ہیں. میرے سے کچھ <div> ٹیگز کے مواد کی مکمل تھے, لیکن بہت زیادہ نہیں تھے.  مجھے احساس ہوا کہ میری <xsl:-ہر ایک کے لئے> جب xsl ہدایات مختصر فارم div ٹیگز نکل رہے تھے:کے لئے ہر 'کوئی اعداد و شمار نہیں مل سکا.  میں پیداوار میں ایک HTML تبصرہ مجبور, کے طور پر دکھایا گیا:

image

 

میں نے اس کے بعد کیا, تمام div اچھی طرح لائن میں کھڑا کر اور میرے ٹیب پر سوئچنگ کام شروع کیا ہے.

ہمیشہ کی طرح, میں نے یہ ایک چوٹکی میں کسی کو امید ہے کہ میں مدد ملتی ہے.

</آخر>

اپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin

کے لئے "اس غلطی کی خالق ایک راہ کی وجہ کی وضاحت نہیں کیا.”

میں نے حال ہی میں شیئرپوائنٹ تلاش کے ساتھ بہت کام کر رہے ہیں اور خاص طور پر KeywordQuery کلاس دیا گیا ہے, خصوصیات اور طریقوں.

آپ کے نتیجے میں معمول کے مشتبہ افراد کے اوپر اور اس سے آگے کے نتائج واپس کرنے کے لئے مقرر کرنا چاہتے ہیں تو (یہاں دیکھ کر), آپ SelectedProperties مجموعہ میں شامل کریں, میں کے طور پر:

myKeywordQuery.SelectProperties.Add("ایزی");

بہت شکریہ اور ٹوپی کی ایک ٹپ کوری روتھ اور یہ بہت مددگار بلاگ پوسٹ (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

میرے معاملے میں, "xyzzy" اصل میں ایک منظم جائیداد نہیں ہے.  میں ویسے بھی SelectedProperties اسے شامل تو, شیئرپوائنٹ میرا پسندیدہ کبھی رن ٹائم مستثنیات میں سے ایک پھینک دیا:

"اس غلطی کا خالق ایک وجہ کی وضاحت نہیں کی."

مجھے خاص طور پر کی وجہ سے دارالحکومت میں "ر" پسند ہے.  یہ "کے نیٹ برابر کی طرح مجھ سے لگتا ہےمیں نے کوئی منہ ہے, اور میں چیخ ضروری ہے."

</آخر>

اپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin

آسان حوالہ: KeywordQuery تلاش سے پہلے سے طے شدہ نتائج

آپ ایگزیکیوٹ پکارتے تو() ایک KeywordQuery پر طریقہ, آپ ResultType.RelevantResults پر مبنی ایک ResultTable بنا سکتے ہیں.  یہ کوڈ کا ٹکڑا میرا کیا مطلب ہے کی وضاحت کرتا ہے:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

نتیجے میں ٹیبل کی معلومات کے مندرجہ ذیل کالم پڑے گا: 

WorkId
درجہ بندی
عنوان
مصنف
سائز
راہ
تفصیل
لکھو
SITENAME
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

میں نے ایک شیئرپوائنٹ سے اس فہرست حاصل 2010 ماحول, انٹرپرائز ایڈیشن.  امید ہے کہ یہ مستقبل میں کسی سے آسان ہو جائے گا.

</آخر>

اپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin

ایک کرنے کی وجہ: "میں ٹیکسی فائل کو حل نکالنے میں ناکام رہے”

آج ایک بصری سٹوڈیو ویب حصہ منصوبے پر کام کرتے ہوئے, میں تعیناتی کے عمل کے حصے کے طور _layouts فولڈر میں ڈال دیا جائے گا کچھ فائلوں کی ایک چھوٹی سی دوبارہ تنظیم کیا ہے. خاص طور پر, میں "TypeAhead کرنے کے لئے" TypeAhead.js "سے ایک. جے ایس فائل کا نام تبدیل کر دیا(پرانے).JS "  میں نے جیسے ہی اس کے جانشین "TypeAhead.js" درست ثابت ہوتا ہے کے طور پر دور کرنے کے لئے کی منصوبہ بندی.  اس طرح دیکھا:

image

میں نے اس منصوبے کو تعینات کرنے کی کوشش کی تو یہ فوری طور پر بصری سٹوڈیو کے ساتھ ایک مسئلہ کی وجہ سے:

نقص تعیناتی مرحلہ میں 'حل' کا اضافہ واقع ہوا ہے ۔: حل میں ٹیکسی فائل نکالنے کے لئے ناکام.

یہ آپ کو فائل کے ناموں میں قوسین ڈال نہیں کرنا چاہئے کہ باہر کر دیتا ہے.  میں parens ہٹا دیا ہے اور یہ کہ مسئلہ حل.

</آخر>

اپنے بلاگ کو سبسکرائب کریں.

ٹویٹر پر مجھ پر عمل کریں http://www.twitter.com/pagalvin