Как экспортировать компоненты приложения в Lotus Domino Designer?

У меня есть устаревшее веб-приложение Lotus Domino - конечно, база данных с данными, а также JavaScript, ресурсы - включая изображения в формате png и jpg, подчиненные формы в виде HTML и CSS и т. Д.

Я хочу экспортировать само приложение - не данные, а просто структуру приложения - чтобы я мог повторно использовать изображения, HTML и CSS в других, более современных веб-инфраструктурах (например, Rails или NodeJS, или PHP, или Python, и т. Д.), Которые используют шаблоны HTML. и CSS и JS как файлы.

Как мне экспортировать HTML, CSS, JS, png, jpg и т. Д. Как есть? Я счастлив взять всю файловую структуру, как показано в Designer, просто хочу получить реальный HTML/CSS/JS/images/ и т. Д. там.

Я попытался использовать опцию "синхронизация диска управления исходным кодом", но файлы сохраняются в каком-то странном специфичном для Domino формате XML, а базовый HTML/CSS/etc хранится в шестнадцатеричном формате. Не очень полезно.

Как пример, я мог бы иметь в своем приложении Shared Elements\subforms\main.login.subform (и многие другие), которые выглядят так:

<style>
#service-content {
    background-color: #fff;
}

label, input {
    width: 100px;
    display: inline-block;
    padding: 3px 5px;
    margin-bottom: 10px;
}

input {
    width: 300px;
}

#login-message, h1 {
    text-align: center;
}   
</style>
<div style="width: 450px; margin: 0 auto">
    <input type="hidden" value="/<Computed Value>/page?readform" name="RedirectTo" />

    <h1>Login</h1>
        <!-- lots of html here -->
</div>
<!--// NAVIGATION -->

Я хочу извлечь это (и другим это нравится).

РЕДАКТИРОВАТЬ:

Как отметил @AndrewB в комментариях ниже, это стоит лучшего объяснения.

Рассматриваемое приложение Domino использует (в основном) статический html и JS для получения данных от агентов через Ajax. Таким образом, пользовательский интерфейс (html/css/js) очень пригоден для повторного использования с любым поддерживаемым приложением, с небольшим объемом работы.

Но это работает, только если я могу вытащить оригинальные статические страницы. Эти статики хранятся в Resources\Files\ или же Shared Elements\subforms\

РЕДАКТИРОВАТЬ 2:

Когда я отключаю бинарный экспорт DXL согласно @sjcaged, я получаю вывод для вышеупомянутого необработанного HTML, который выглядит следующим образом (это только конец):

<font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#4200ff'/>"submit"</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/> </run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='purple'/>value</run>    
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/>=</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#4200ff'/>"Login"</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/> </run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;&lt;/</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>div</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;</run></par>
<par def='3'><run><font name='Courier New' pitch='fixed' truetype='true' familyid='30'/></run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&lt;/</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>form</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;</run></par>
<par def='3'>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&lt;/</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='#3f8080'/>div</run>
<run><font name='Courier New' pitch='fixed' truetype='true' familyid='30' color='teal'/>&gt;
</run></par>
<par def='2'><run><font name='monospace'/>&lt;!--// NAVIGATION --&gt;</run></par></richtext>    
</body>
<item name='$$ScriptName' summary='false' sign='true'><text>main.nav</text></item></subform>

2 ответа

Решение

@deitch, вы были почти там: вы хотите включить контроль источников. Как это работает, это синхронизирует содержимое базы данных (автоматически или вручную) со стандартным каталогом файловой системы. Обратитесь к разделу справки "Настройка функции управления исходным кодом" для получения дополнительной информации.

Однако, чтобы это действительно работало, нужно изменить предпочтения. В Designer сначала перейдите в File | Предпочтения | Дизайнер | Управления источником. Убедитесь, что "использовать двоичный DXL" не установлен. См. Раздел справки "Выбор способа представления элементов дизайна на диске" для получения дополнительной информации о разнице - в основном, использование обычного DXL отделяет данные элемента дизайна [т.е. код] от преобразования метаданных в формате DXL, которое элемент дизайна имеет в база данных, где двоичный DXL помещает их в двоичный двоичный объект и не позволяет внешним приложениям редактировать их. Здесь также есть и другие параметры, для получения дополнительной информации см. Раздел справки "Настройка параметров функции включения управления исходным кодом".

После того, как это будет сделано, затем (все еще в Designer) щелкните правой кнопкой мыши проект, выберите "Team Development", а затем "Настройка управления исходным кодом для этого приложения". Он может отображать или не отображать заставку, и вы можете выбрать "Далее", но в конечном итоге он отобразит диалоговое окно с просьбой ввести имя проекта на диске. Убедитесь, что вторая строка указывает на каталог, который еще не существует (по умолчанию, с установленным флажком "использовать местоположение по умолчанию", он будет указывать на каталог данных Notes и добавлять к нему все, что введено в качестве имени для -диск проекта в виде нового имени каталога). Когда вы выбираете Finish, он экспортирует виртуальную файловую систему Eclipse в NSF в файловую систему, используя этот каталог в качестве корневого.

(Не все Перспективы показывают запись "Team Development". Примечательно, что Перспектива Java не делает. Перспектива Domino Designer, однако, делает. Чтобы изменить Перспективу, выберите Window | Open Perspective и выберите перспективу для использования.)

Как только это будет сделано, вы можете использовать внешние инструменты для добавления каталога в систему управления версиями [что всегда является хорошей идеей]; Пока не выбрано "Использовать двоичный DXL", вы также можете использовать внешние инструменты для манипулирования кодом и данными, которые считаются частью приложения.

Простой ответ: нет способа сделать это.

Веб-код, отображаемый в браузере, динамически генерируется http-задачей domino из форм, представлений, страниц, подчиненных форм, библиотек сценариев, формул и т. Д.

Простого html-представления нет нигде в базе данных.

Чтобы получить то, что вы хотите, вам нужен учитель, который захватывает и загружает сгенерированный источник, как это сделал бы браузер. Но так как большая часть функциональности находится на стороне сервера (проверки полей, агенты, отправка почты и т. Д.), Вы не получите ничего достаточного от такого подхода.

Конечно, вы можете вручную экспортировать изображения-ресурсы, CSS-файлы и, возможно, JavaScript-библиотеки (если они есть), но это не поможет вам продвинуться дальше к тому, чего вы хотите достичь.

Если вы хотите "перенести" NSF на другую платформу, вам придется переписать весь материал...

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