Как заставить обновления изменений дизайна для клиентов, использующих xPages? - PullRequest
0 голосов
/ 17 февраля 2012

Я создаю веб-страницу, используя xPages, и я постоянно изменяю сценарий и дизайн, включая javascript, сервер и клиент, изменения таблиц стилей и изображений.

Каждый раз, когда я изменяю нужный мне javascript или таблицу стилейчтобы увидеть мои изменения в веб-браузере, и я также хочу, чтобы мои пользователи получали последние изменения при доступе к веб-странице.

Я знаю, что могу использовать Shift-Reload или CTRL-reload и очистить кэш веб-браузера.и я также знаю, что могу изменить дату истечения срока действия объектов, но я хочу более плавный и более контролируемый способ сделать это.

В поисках наилучшей практики для этого.

Спасибо

Томас

Ответы [ 9 ]

5 голосов
/ 19 февраля 2012

В файле xsp.properties для приложения или на сервере для широкого использования сервера вы можете установить xsp.application.forcefullrefresh = true. В документации по файлу xsp.properties написано:

# Обновление приложения # Когда для этого свойства установлено значение true, тогда полное обновление приложения запрашивается, когда # дизайн класса изменяется (означает, что все данные отбрасываются в области).

# xsp.application.forcefullrefresh = false

В новом руководстве по командам XSP Portable говорится: «Это свойство было введено в Notes / Domino 8.5.3. По умолчанию оно имеет значение false и особенно полезно на этапе разработки приложения XPages.»

Я не полностью протестировал это поведение, но оно звучит многообещающе. Вы можете / должны, конечно, только установить его в истинное состояние, пока вы вносите изменения. как только стабилизируется, установите его обратно.

/ Newbs

1 голос
/ 27 февраля 2012

Добавление ответа Ферри и вашего комментария;

Вместо «? Dummy = randomvalue», вы можете использовать «? Version = 2.1».Таким образом, он будет кэширован, но когда вы измените дизайн, вы можете просто увеличить версию.

Есть проблема с этим подходом, поскольку некоторые прокси-серверы не будут кэшировать что-либо с параметрами запроса.Лучше переименовать файл напрямую, добавив в него дату или номер версии.Это всегда будет работать.

Чтобы временно отключить кэширование, используйте Fiddler2.Это легко включить и отключить в одном месте через любой веб-клиент.А также дополнительные преимущества для функций отслеживания запросов http.

0 голосов
/ 09 марта 2012
Why do not we use the window.location.reload()...

Which does the same like ctrl+F5

It reloads the page, which is similar to context.reloadpage 
0 голосов
/ 27 февраля 2012

Я нашел другое решение, поместив мои css и js в тему, которую легко переименовать.

как описано здесь http://goo.gl/vFTii

0 голосов
/ 22 февраля 2012

NEwbs - хороший ответ, но полезно отметить, что в Firefox есть очень полезный плагин под названием «веб-разработчик» от Chris Pederick, который позволяет отключить кеш.

http://chrispederick.com/work/web-developer/

Другой действительно полезный - Firebug, который просто потрясающий - он делает любой HTML-код намного проще

https://addons.mozilla.org/en-US/firefox/addon/firebug/

0 голосов
/ 19 февраля 2012

возможно, вы могли бы посмотреть, как домино может контролировать кэширование URL.

http://www.ibm.com/developerworks/lotus/library/ls-resp_head_rules/

0 голосов
/ 18 февраля 2012

Добавление к парому ответа и вашего комментария;

Вместо «? Dummy = randomvalue» вы можете использовать «? Version = 2.1». Так что он будет кеширован, но когда вы меняете дизайн, вы можете просто увеличить версию.

0 голосов
/ 18 февраля 2012

То, как я читаю этот вопрос, заключается в том, что вы хотите, чтобы каждое внесенное вами изменение немедленно появлялось в браузере или клиенте клиента. Вы действительно уверены, что хотите это сделать? Похоже, что вы не проводите никакого тестирования, поэтому любые опечатки, ошибки, сбои и т. Д. Будут переданы вашим пользователям. Похоже, плохой план для меня. Надеюсь, я ошибаюсь, и вы используете шаблон и помещаете только свои полностью протестированные изменения в рабочую версию вместо внесения изменений в рабочую версию.

Я бы просто опубликовал график, когда изменения будут переданы в производство, и позволил бы пользователям перезагрузить свой браузер или клиент в это время. Либо так, либо делайте это в нерабочее время, и при следующем входе в систему они получают самые новые изменения.

0 голосов
/ 17 февраля 2012

Чтобы полностью отключить любое кэширование, добавьте url + '"? Dummy =" + @Unique ();'для каждого URL в файлы JavaScript или изображения ...

...