Безопасно ли вносить небольшие изменения в файл versions.aspx в папке LAYOUTS?
-
09-12-2019 - |
Вопрос
Я столкнулся с проблемой с клиентом, которому не нравится, что ее несколько строк текстовых полей усекаются на странице истории версий списка.У нее есть поле для комментариев, и она хотела бы увидеть все комментарии к версии целиком.
Я обнаружил, что на странице используется:itemcurr.GetTruncatedFieldValueAsHtml(поле), Ответ.Вывод
Я хочу заменить эту строку на:itemcurr.GetFieldValueAsHtml(поле), Ответ.Вывод
Итак, вот мои вопросы / опасения:
- Могу ли я просто внести это простое изменение и распространить его на все списки?
- Я знаю, что внесение изменений таким образом не поддерживается, но помимо возможного нарушения моей настройки после обновления, есть ли в этом какой-либо вред?
- Есть ли лучший способ расширить усеченное поле без необходимости прибегать к пользовательским страницам, пользовательскому js и переопределениям методов?
Спасибо.
Решение
"Правильный" ответ содержится в вашем пункте №2;не делайте этого, так как это не поддерживается.
Чтобы ответить на ваш вопрос № 1, любое изменение, внесенное в файлы в /_layouts/, распространяется на всю ферму, поэтому все списки повсюду немедленно заметят изменения.
Если клиент действительно настаивает на этом, то одним из вариантов для вас было бы скопировать страницу versions.aspx в пользовательскую папку в /_layouts/, а затем использовать Инструмент для перезаписи URL-адресов сопоставление входящих запросов со страницы исходных версий с вашей пользовательской страницей.Это позволяет вам изменять копию страницы, не беспокоясь о том, что исправление изменит стандартную страницу Microsoft.Это также дает вам дополнительную степень контроля, поскольку вы можете указать, на какой сайт / web попадает измененная страница, на основе фильтров, определенных в правиле перезаписи.
Имейте в виду, что изменения, вносимые любым средством перезаписи URL-адресов, применяются только к одному серверу, поэтому эта опция должна быть установлена и поддерживаться на всех серверах во всех фермах.Любые изменения также должны быть скопированы вручную на каждый сервер во всех фермах.