أرشيفات الإشارات: جافا سكريبت

سريعة وسهلة: إنشاء موقع SharePoint باستخدام بقية

وهناك كثير من الموارد حول التي تبين كيفية القيام بذلك, ولكن لم أتمكن من العثور على ارتباط شامل الذهاب إلى, وها نحن.

يمكنك إنشاء موقع SharePoint باستخدام API بقية.  هنا مثال كامل خبز:

<!--
    SiteRequestForm.html: جمع المعلومات وإنشاء موقع للمستخدم.
-->

<مركز>
<الجدول>
    <tr>
        <td>اسم الموقع:</td>
        <td><الإدخال نوع= "نص" الاسم= "اسم الموقع" معرف= "اسم الموقع" /></td>
    </tr>
    <tr>
        <td colspan= "2">
            <الإدخال نوع= "يقدم" معرف= "كريتيسيتيبوتون" القيمة= "إنشاء الموقع" />
        </td>
    </tr>
</الجدول>
</مركز>

<البرنامج النصي src="../Plugins/jquery-1.11.0.min.js"></البرنامج النصي>

<البرنامج النصي>
فأر كريتيسيتيلوجيككونتينير = {

    كريتيسيتيداتا: {
            "معلمات": {
                __metadata: { "نوع": "س.ويبينفوكريتيونينفورميشن" },
                عنوان Url: "Paultest1",
                العنوان: "Paultest1",
                وصف: "إنشاء بقية ويب قبل Paul!",
                اللغة: 1033,
                ويبتيمبلاتي: "sts",
                أوسيونيقويبيرميسيونس: كاذبة
            }
    },

    كريتيسيتي: الدالة () {

        jQuery.support.cors = صحيح;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").فال();
        
        $.أجاكس({
            عنوان url: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            الأسلوب: "وظيفة",

            رؤوس: {
                "قبول": "التطبيق/json; odata = مطول",
                "نوع المحتوى": "التطبيق/json;odata = مطول",
                "X-ريكويستديجيست": $("#__REQUESTDIGEST").فال()
            },

            البيانات: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            النجاح: الدالة () { تنبيه("النجاح"); },
            خطأ: الدالة () { تنبيه("خطأ"); }

        });
    },

    ويريوبفورم: الدالة () {
        $("#CreateSiteButton").انقر فوق(الدالة () {
            تنبيه("على وشك أن محاولة لإنشاء الموقع.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</البرنامج النصي>

عندما تكون ناجحة, يمكنك الحصول على حزمة JSON في رد مثل هذا:

image

بلدي الأفكار الرئيسية وتعلمه من هذا التضمين:

  • ويستخدم هذا النهج مسج.  في حالتي, مكتبة jQuery بلدي يقع في ".../الإضافات. "  سوف تحتاج إلى تغيير ذلك للإشارة إلى موقع JQ المفضلة الخاصة بك.
  • يمكنك نسخ ولصق قصاصة ذلك كله في جزء ويب محرر المحتوى على صفحة، وينبغي لها أن تعمل على ما يرام.  سوف تحتاج إلى تغيير نقطة النهاية لاستدعاء API وتأكد من الرجوع JQ بشكل صحيح.
  • عنوان url الخاص بالنسبة إلى نقطة النهاية API الخاص بك.  في حالتي, فإنه يتم إنشاء المواقع الفرعية تحت https://bigapplesharepoint.com
  • لا تحتاج إلى توفير محتوى-طول. بعض التدوينات و MSDN الوثيقة يعني أن لديك, ولكن حدث لي تلقائياً, التي افترض أن يتم معالجة بواسطة استدعاء.ajax $ نفسها.
  • مطلوب هذا الخط من أجل تجنب رد فعل "المحرمة": "X-ريكويستديجيست": $("#__REQUESTDIGEST").فال().  وهناك طرق أخرى للقيام بذلك, ولكن هذا لطيف جداً.  لقد فقدت الرابط للمدونة التي قدمت هذا الاختصار.  ح/تي لك, مدون غامضة!

حظاً سعيداً وآمل أن يساعد هذا شخص.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

سريعة وبسيطة: SharePoint بقية المكالمة إرجاع فقط 100 سجلات

لقد تم العمل على موقع ويب التي يواجهها عامة للممارسة SharePoint بلدي هنا في نيويورك ويستخدم الكثير من المكالمات جافا سكريبت والباقي لإظهار المحتوى.

أثناء تطوير الخطوط الرئيسية, إنشاء إحدى وحدات dataset صغيرة مع فقط 10 أو حتى انسحبت الصفوف في قائمة مخصصة، ويدعو بقية بلدي من هناك.  مرة صدم أعلى القائمة إلى صفوف مئات قليلة من البيانات لاختبار للنمو المتوقع, لقد وجدت أنه تم الحصول بالضبط 100 الصفوف التي يتم إرجاعها إلى الوراء في بلدي يدعو بقية.

وهذا شيء بسيط جداً بعنوان.  في حالتي (وأعتقد أن في معظم الحالات), شكل افتراضي بقية تدعو إلى SharePoint (وربما كمعيار صناعة?) عودة 100 الصفوف.  لإرجاع أكثر من الافتراضي, استخدم المعلمة $top على المكالمة, كما هو الحال في:

الحصول على/Insights Dev/_api/web/lists/GetByTitle('موكبلوج')/العناصر?$حدد معرف =,العنوان,فئات/العنوان,Blog_x0020_Author/العنوان,داتيبوبليشيد,بلوجسوماري&$قم بتوسيع = Blog_x0020_Author,فئات&$التصفية =&$أعلى = 9999

وقد اخترت 9999 وفي هذه الحالة منذ ذلك الحين وأنا أعلم أن جرووثويسي, لن يكون هناك أكثر من 200 أو حتى إضافة صفوف إلى هذه القائمة في سنة.  إذا فإنه يصبح صعب المراس, يمكن أن ننفذ بعض الترحيل على الطريق.

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

الرجل الفقير التخزين المؤقت في جافا سكريبت

[ليرة تركية;إصدار الدكتور: استخدام ملفات تعريف الارتباط لتخزين نتائج async المكالمات; تقديم نتائج الماضي async المكالمات فورا وثم التحقق من صحة لهم بعد تحميل الصفحة.]

لقد تم العمل على موقع SharePoint على الإنترانت لعميل تلك الميزات, أمور أخرى, ملاحة ثانوية منمنمة خيارات القائمة التي تتم إدارتها عن طريق قائمة مخصصة قديمة عادية.  والفكرة أن العميل يحصل على التحكم في القائمة موقع "بهم" دون التي تؤثر أو تتأثر الملاحة العالمية التي وضعت من قبل أنه.

(هناك شيء هدامة بشكل لا يصدق حول إضافة سوب الذي يشير إلى ملف HTML الذي يحمل بعض المغلق وشبيبة أساسا تغيير كل شيء تقريبا عن سلوك الموقع... ولكن هذا وظيفة أخرى)

التعليمات البرمجية لهذا بسيطة جداً:

قرحة موضعية هنا أن كل مرة أي شخص عدد مرات تصفح الموقع إحدى الصفحات في الموقع, مستعرض ويب المستخدم هو الوصول إلى الحصول على العناصر من القائمة.  بمجرد اكتمال ديف والتجارب أثبتت أن تكون الأمور مستقرة وإكمال, هذه الدعوة لا لزوم لها أكثر من 99% الوقت منذ القائمة، ونادراً ما يتغير.  كما أنها تؤثر على واجهة مستخدم غريب هو أمر شائع في هذا العالم الجديد الشجاع من فرط أجاكسي مواقع ويب--يجعل الصفحة وفقط ثم يجعل القائمة.  أنها متوترة وتشتيت في رأيي.  ومتقطعة. حتى, التخزين المؤقت. 

تم تعديل المنطق thusly:

  • ابحث عن ملف تعريف ارتباط في المستعرض الذي يحتوي على القائمة حسب آخر قراءته
    • إذا وجدت, جعله فورا.  لا تنتظر حتى انتهاء تحميل الصفحة.  (كنت بحاجة للتأكد من أن يتم وضع استراتيجيا HTML الخاص بك هنا, ولكن ليس من الصعب القيام به).
  • انتظر حتى الانتهاء من تحميل وجعل async الكلمة لتحميل عناصر القائمة من قائمة استخدام بقية أو lists.asmx أو أيا كان الصفحة
  • قارن ما حصلت ضد ملف تعريف الارتباط
    • إذا كان يتطابق, وقف
    • خلاف ذلك, باستخدام jQuery, ملء حفنة بشكل حيوي إذا <لي>الشعبية في <إبري>
  • استخدام CSS للقيام بكافة التنسيقات
  • الربح!

البعض منكم سوف يقول, "يا! هناك لا حقيقية من التخزين المؤقت يحدث هنا منذ كنت تقرأ القائمة على أي حال كل مرة واحدة.”  وكنت على حق--أنا لا إعطاء الخادم أي نوع من كسر.  ولكن نظراً لأن هذه الدعوة هو عدم التزامن ويحدث بعد الصفحة الأولى حمولة HTML يجعل تماما, أنه "يشعر" أكثر استجابة للمستخدم.  القائمة يجعل جميلة بقدر ما يعتمد الصفحة.  وإذا حدث القائمة للتغيير, يخضع المستخدم لإعادة رسم متقطعة من القائمة, لكن هذا مرة واحدة فقط.

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

  • وضعت في قاعدة أن "التخزين المؤقت لملف تعريف الارتباط" صالحة لحد أدنى من 24 ساعات أو بعض الأخرى تحديد إطار زمني. ما دام هناك لا كوكي منتهية الصلاحية, استخدام القائمة لقطة في ملف تعريف الارتباط وابدأ ضرب الخادم.

حسنا.. هذا هو كل ما يأتي إلى الذهن الآن :). 

إذا كان أي شخص لديه أي أفكار ذكية هنا أنا أحب أن أعرف منهم.

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

</نهاية>

undefinedالاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin