Ограничение поля ibm notes, возможность хранить данные в виде форматированного текста?

В приложении возникают проблемы с ограничениями полей.

В настоящий момент я использую многострочное поле редактирования на xpage для захвата информации и сохраняю ее в бэкэнде в документе Notes в виде текстового поля, например:

doc.replaceItemValue("emplInformation", employee.getInfo());

Я не знал, что пользователи вставляют «полные истории» в поле, поэтому это нарушает мою функциональность (я не обрабатываю ошибку, поэтому документ никогда не будет сохранен).

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

Это разумный поступок? Или мне попробовать другие варианты ?.

Я должен отметить, что пользователь не собирается вводить форматированный текст (пока). Так что мне не нужно обращать на это внимание. И они не будут вставлять изображения или HTML.

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

Рассмотрите возможность проверки, чтобы ограничить ввод данных пользователем, например 4 КБ или около того. RT принесет много других проблем в будущем (например, флаг isSummary).

Frantisek Kossuth 11.04.2018 13:53

Вы можете отключить флаг сводки для поля и перейти к более высокому пределу. Я думаю, если вы сделаете это, вы можете получить до 64 КБ для текстового поля. См. ibm.com/support/knowledgecenter/en/SSKTMJ_9.0.1/admin/…

Howard 11.04.2018 15:06

Привет, Ховард, спасибо за подсказку. Я приму это к сведению. Когда я смотрю на образцы текстов, которые вводят пользователи, и на размер поля, они почти не превышают лимит в 32 КБ.

Malin 11.04.2018 19:27

IBM говорит, что для RTF требуется 64 КБ, по моему опыту, если размер превышает 32 КБ, вы не сможете открыть документ. (Единственное решение - удалить поле из серверной части.)

Duston 13.04.2018 15:29
0
4
311
1

Ответы 1

Если вы хотите хранить данные в поле, может быть больше предела поля, вы можете рассмотреть возможность использования OpenNTF Domino API. Вы можете хранить в одном поле, если оно слишком большое, поле автоматически преобразуется в элемент RichText. Используется в нашем приложении HR Assistant, для получения информации об обходе лимита см. http://elstarit.nl/2018/01/18/make-the-nsf-modern-again-with-openntf-domino-api/

Привет, Фрэнк. Это может быть для меня вариантом. Но для моего пользовательского интерфейса: как мне прочитать поле, не зная, что это за поле? в моих java-объектах я определил тип поля. Когда мое поле имеет тип String, а внутренний документ - это форматированный текст, я должен преобразовать RT в String или читать только текстовую часть RT, если это возможно?

Malin 11.04.2018 19:25

С ODA я просто читаю doc.getItemValueString ("json"), и мне не нужно заботиться о том, что это за поле. В ODA гораздо больше плюсов, например, больше не нужно работать с NotesDateTimes и Vector.

Frank van der Linden 11.04.2018 20:01

Другие вопросы по теме