• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Export/import For Views And Forms

  • Автор темы Pikolu
  • Дата начала
P

Pikolu

добрый день

У меня вот такая проблема я незнаю как мне сделать экспорт и импорт для формы и видов !

А. мне надо что формы и виды экспортировать все в разные файлы, тоесть мне надо что каждая форма и вид получил свой файл в XML.

Б. мне надо после экспорта все это импортировать в XPAGE .

как мне это лутше всего сделать?

или возможно ли так сделать ?

Спосибо
Александр
 
N

nvyush

См. в справке дизайнера классы NotesNoteCollection, NotesDXLExporter, NotesDXLImporter
 
A

alik86

Если не программно, то гляньте .
 
P

Pikolu

а как сделать чтобы по экспортированию всех видов, каждый вид имел свой XML ?
Код:
Sub Initialize()
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docDesign As NotesDocument
Dim notes As NotesNoteCollection
Dim objExporter As NotesDXLExporter
Dim objStream As NotesStream
Dim strNoteID As String
Dim strDXL As String

Set db=session.Currentdatabase
Set objStream=session.Createstream
Set notes=db.Createnotecollection(False)
Set objExporter=session.Createdxlexporter

notes.Selectviews=True
'notes.Selectfolders=True
notes.Selectforms=True

notes.Buildcollection
strNoteID=notes.Getfirstnoteid
Do Until strNoteID=""
Set docDesign=db.Getdocumentbyid(strNoteid)

strDXL=objExporter.Export(docDesign)
objStream.Open Environ("Temp") & "\" & strNoteID & ".dxl"
objStream.Writetext strDXL
objStream.Close

strNoteID=notes.Getnextnoteid(strNoteid)
Loop
End Sub

можно этим примером так сделать ?
 
H

hosm

можно, оно же в отдельный файл каждое пишет. только код и формы отбирает - notes.Selectforms=True

Добавлено: PS не обратила внимания в стартовом, что формы тоже надо
 
P

Pikolu

можно, оно же в отдельный файл каждое пишет. только код и формы отбирает - notes.Selectforms=True

Добавлено: PS не обратила внимания в стартовом, что формы тоже надо

один вопрос а куда он экспортирует ? в какую папку ?

я навичок так извените меня ))
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
Environ("Temp") & "\" & strNoteID & ".dxl"
временная папка ОС (верно тока для винды)
для кроссплатформенности надо слэш ставить, а не бэксэш!
 
H

hosm

если код выполняется в серверном агенте, то папка будет на сервере, иначе - на компе того, кто выполняет код, т.е. собственно, у вас)
если у вас установлена переменная окружения Temp, то в ней ищите. Если нет, скорее всего, в рабочем каталоге нотуса будет файлик с цифирьками в имени и расширением ".dxl"
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 940
609
BIT
210
уточняйте систему! В винде, в проводнике %TEMP% - набрать в адресной строке
ЗЫ: мда - люди зачем-то юзают винду... и МСО..., а знать их не знают, вот я их знаю и не юзаю (наверное именно потому :) )
 
P

Pikolu

у меня все пошло )) вот мой скрипт как я сделал

Код:
Sub Initialize()
Dim session As New NotesSession
Dim db As NotesDatabase
Dim docDesign As NotesDocument
Dim notes As NotesNoteCollection
Dim objExporter As NotesDXLExporter
Dim objStream As NotesStream
Dim strNoteID As String
Dim strDXL As String

Set db=session.Currentdatabase
Set objStream=session.Createstream
Set notes=db.Createnotecollection(False)
Set objExporter=session.Createdxlexporter

'Views
notes.Selectviews=True
notes.Buildcollection
strNoteID=notes.Getfirstnoteid
Do Until strNoteID=""
Set docDesign=db.Getdocumentbyid(strNoteid)

strDXL=objExporter.Export(docDesign)
objStream.Open "C:\DXL\views" & strNoteID & ".dxl"
objStream.Writetext strDXL
objStream.Close

strNoteID=notes.Getnextnoteid(strNoteid)
Loop

'Forms
notes.Selectforms=True
notes.Buildcollection
strNoteID=notes.Getfirstnoteid
Do Until strNoteID=""
Set docDesign=db.Getdocumentbyid(strNoteid)

strDXL=objExporter.Export(docDesign)
objStream.Open "C:\DXL\forms" & strNoteID & ".dxl"
objStream.Writetext strDXL
objStream.Close

strNoteID=notes.Getnextnoteid(strNoteid)
Loop

End Sub

теперь как мне сделать импорт всех файлов в xpage ?
а можно их сразу переделать в xsp формат ?
 
T

turumbay

у меня все пошло ))
поздравляю! лиха беда начало :)
теперь как мне сделать импорт всех файлов в xpage ?
а можно их сразу переделать в xsp формат ?
что имеется в виду под импортом формы в xpage?
хочется для каждой формы сделать xpage с аналогичным функционалом? это врятли.
В теории - пишем xslt по преобразованию dxl->xsp.
На практике - ничего не получица, если на форме есть хоть сколько-нибудь кода( а он там есть всегда :) )
 
P

Pikolu

а что вы мне предложить можете ?
а можно сделать их в CustomControls ?
так пойдет ? или тоже не идет ?
 
T

turumbay

а что вы мне предложить можете ?
а можно сделать их в CustomControls ?
так пойдет ? или тоже не идет ?
я правильно понимаю задачу: нужен скрипт, преобразующий существующие формы и виды в xpages?
в такой постановке задача не решаема.
вам как минимум будет необходимо реализовать преобразование кода ls в javascript( что-то в клиент-сайд, что-то в сервер-сайд ).

на пальцах: форма с единственной кнопкой, скрытой по роли, с кодом
Код:
	Dim ws As New NotesUIWorkspace
Call ws.Prompt( PROMPT_OKCANCELLIST , "Preved!" , "Где медвед?" , "тут" , Evaluate( { "там":"тут" } ) )
Как такое конвертить автоматом?
 
P

Pikolu

я правильно понимаю задачу: нужен скрипт, преобразующий существующие формы и виды в xpages?
в такой постановке задача не решаема.
вам как минимум будет необходимо реализовать преобразование кода ls в javascript( что-то в клиент-сайд, что-то в сервер-сайд ).

на пальцах: форма с единственной кнопкой, скрытой по роли, с кодом
Код:
	Dim ws As New NotesUIWorkspace
Call ws.Prompt( PROMPT_OKCANCELLIST , "Preved!" , "Где медвед?" , "тут" , Evaluate( { "там":"тут" } ) )
Как такое конвертить автоматом?

задача у меня счас види и формы которые я экспортировал в DXL
их переделать автоматом в XSP и импортировать их в XPAGE или в CustomControls.

Да и это все должно иди автоматом !!!

такое возможно ?
 
N

nvyush

а как нибуть можно это сделать ? вручную или через специальные проги ?
вручную — можно (в смысле нарисовать в xpages всё самому, если функционал позволяет)
через специальные проги — если напишите утилиту конвертации form-dxl-xsp-xpages, не забудьте выложить на :lovecodeby: для свободного скачивания :)
 
P

Pikolu

но какой нибуть способ должен быть ?
но как то же луди делают это все в xpage !!
что никак это сделать нельзя ?
 
T

turumbay

но какой нибуть способ должен быть ?
но как то же луди делают это все в xpage !!
что никак это сделать нельзя ?
луди садяца и пишут. ручками. с нуля. т.е жмут в дизайнере "new xpage" и понеслась....
а чтоб вот так взять шаблон discussion от пятерки, нажать кнопку и сгенерить из него шаблон 8.51 - это ни в жизнь.
Если бы в середине прошлого века был интернет и lingvo.ru - все равно бы Пастернак переводил Фауста вручную. А лотусскриптовый код иногда посильнее фауста бывает :)
Короче: не решается ваша задача в общем случае. Забудьте.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!