Это звучит выполнимо с DXL, и я думаю, что вы можете использовать и LotusScript, и Java для этого.
Что-то вроде этого должно делать это в Java:
public class RenderDesign extends AgentBase {
public void NotesMain() {
try {
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
DxlImporter myimporter = session.createDxlImporter();
try {
myimporter.setDesignImportOption(myimporter.DXLIMPORTOPTION_REPLACE_ELSE_CREATE);
myimporter.importDxl(this.getDxl(), agentContext.getCurrentDatabase());
}
catch (Exception e) {
System.out.println(this.getDxl());
System.out.println(myimporter.getLog());
}
} catch(Exception e) {
e.printStackTrace();
}
}
Тогда просто создайте строку с помощью DXL. Используйте Инструменты -> Утилиты DXL -> Экспортер (или Просмотр ), чтобы проверить элемент дизайна, который вы хотите добавить или отредактировать:
public String getDxl(String agentname, String replicaid) {
return "<?xml version='1.0' encoding='utf-8'?>"+
"<view name='(auto-view)'> "+/* ... */"</view>";
}
Обратите внимание, что средство импорта DXL совсем не устойчиво и не допускает ошибок: вы можете вызвать сбой клиента Developer на входе, который является допустимым XML и соответствует DTD. Например, пытаясь установить fieldhint=""
в поле. Имейте это в виду при разработке.