سؤال

أولا، دعنا نقول أن لدي مجموعات 2 في تطبيق ويب واحد في المنفذ 80:

  1. مجموعة الموقع الرئيسية: /
  2. مجموعة موقع متداخل: / مواقع / خاصة /

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

    كل من العمل أعلاه غرامة طالما يتم تنشيط الميزة في مجموعة موقع "الجذر" الرئيسي. ومع ذلك، إذا نشرت الميزة فقط لجمع موقع الموقع الثانوي (حدود العزلة الجديدة، مسار URL المتداخل)، فلن يتم استراحة المرجع النصي 1؟

    سوف يبحث المتصفح عن custom1.js في المسار التالي:

    / مكتبة النمط / mysolution / custom1.js

    عندما يكون الملف حقا في

    / المواقع / مكتبة خاصة / نمط / mysolution / custom1.js

    يعمل ScriptLink الثاني دائما، نظرا لأن _Layouts عالمي، وبالتالي يجد المستعرض دائما /_layouts/mysolution/custom2.js بغض النظر عن مجموعة المواقع التي تم نشر الميزة فيها.

    صحيح؟ أعتقد أنني أفعل فحص عقلية فقط.

    أنا أتم إغراء الوصول السهل إلى البرامج النصية يمكنني تعديلها على أساس مخصص في المكتبة / النمط /، ولكن أكره فكرة أن هذه الميزة (كما تم تصميمها أعلاه) تعمل فقط في مجموعات موقع الجذر .

هل كانت مفيدة؟

المحلول

جرب هذا من أجل الرابط الأول لأنه يهدف إلى معالجة ما تراه بالضبط، على الرغم من أن بعض الضوابط لا توسع القيمة. giveacodicetagpre.

حول ما إذا كان ينبغي أن يكون في _Layouts أو مكتبة النمط هو مناقشة اندلعت منذ بيتا SP2007 في عام 2006 دون فائز واضح.الحكم العام هو أنه إذا كان الملف شيء يمكن تعديله من قبل مالكي الموقع، فينبغي أن يذهب في "مكتبة النمط" وإذا كان الملف شيء يجب أن يكون بإمكانه إدخاله فقط من تعديله ثم يذهب في _layouts.أنا تبسيط، بالطبع، حيث يوجد ما لا يقل عن عشرة من الاختلافات بين الموقعين.

هذا مجرد واحدة أخرى من الأماكن التي تنطبق فيها SharePoint الرسمية على كل شيء: "ذلك يعتمد"

نصائح أخرى

يرجى إلقاء نظرة على الإجابات على هذا السؤال أيضا وبعد إنه موضوع معقد، مع عدم وجود إجابة "صحيحة". أعتقد أن كريس أوبراين لخصه جيدا في إجابته.

رأيي الشخصي هو أنه يعتمد :) في حالتك، نظرا لأنك تريد استخدام ملف .js نفسه في مجموعات موقعين (أو أكثر)، فسأضع بالتأكيد تحت عنوان "_layouts".

سؤال آخر هو: هل لديك مراحل التنمية؟ إنتاج القبول في التنمية؟ هل لديك نوع من التحكم المصدر؟ إذا كانت الإجابة على أي من هذه هي نعم، فسأي مرة أخرى، مرة أخرى، بالتأكيد وضعها تحت "_layouts". خاصة لأنه ملف جافا سكريبت. لماذا ا؟ نظرا لأن JavaScript يحتوي أيضا على "الكود"، فإنه يؤدي نوعا ما من المنطق، وأحيانا يكون له منطق أعمال (إخفاء شيء ما إذا تم ملء بعض الحقول، صحة البيانات قبل إرسالها، إلخ). إذا عبرت كل ما تبذلونه من التعليمات البرمجية. لماذا لا ينبغي أن تذهب من خلال نفس مراحل الاختبار؟ بالطبع يجب ذلك.

وإذا كان لديك عنصر تحكم مصدر وتستخدم وحدة نمطية لنشر ملفك إلى مكتبة مستندات ك "ghostableinLibrary"، فأعتقد أنها بداية كابوس إذا سمحت للناس بتخصيصها. تخيل أنك نشر الملف الخاص بك (JS أو CSS) من خلال الوحدة النمطية إلى 10 مجموعات المواقع. في 5 من مستخدمي الموقع قاموا بتعديل الملف. هذا يعني أنه تم فصل ملفك الآن من الإصدار الموجود في نظام الملفات. عند التالي، تريد نشر بعض التغييرات العالمية في هذا الملف، وتريد تطبيقها على جميع مجموعات المواقع، فستفشل بصمت على تلك التي تم فيها تخصيص الملف. ستحتاج أولا إلى إعادة توجيه تلك الملفات إلى تعريف الموقع، ثم سيتم أخذ ملفك الذي تم دفعه بواسطة الوحدة النمطية في الاعتبار. لكنك سوف تفقد أي تعديل جعل مسؤولو الموقع. أو، إذا كنت ترغب في الاحتفاظ ببعض هذه التعديلات ووضعها في الإصدار الخاص بك على التحكم المصدر ... سيكون عليك أن تأخذ كل ملف مخصص، واحدا تلو الآخر، ومقارنتها يدويا مع التحكم في المصدر، ودمج التغييرات وبعد لا، أعتقد أنه من الأفضل تجنب ذلك.

لكنك تعرف أفضل مزرعة SharePoint وكيف سيتم استخدامها. لذلك ربما هناك بعض الخصوضات في الإعداد الخاص بك أن الطلب على وضع هذه الملفات في مكتبة النمط. إذا كان الأمر كذلك، من فضلك قل لي، أنا فضولي :)

هتافات

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top