Export/import For Views And Forms

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

Pikolu

#1
добрый день

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

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

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

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

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

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

nvyush

Lotus team
22.04.2009
2 317
0
#2
См. в справке дизайнера классы NotesNoteCollection, NotesDXLExporter, NotesDXLImporter
 
P

Pikolu

#4
а как сделать чтобы по экспортированию всех видов, каждый вид имел свой 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
можно этим примером так сделать ?
 

hosm

* so what *
18.05.2009
2 442
6
#5
можно, оно же в отдельный файл каждое пишет. только код и формы отбирает - notes.Selectforms=True

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

Pikolu

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

Добавлено: PS не обратила внимания в стартовом, что формы тоже надо
один вопрос а куда он экспортирует ? в какую папку ?

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

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#7
Environ("Temp") & "\" & strNoteID & ".dxl"
временная папка ОС (верно тока для винды)
для кроссплатформенности надо слэш ставить, а не бэксэш!
 

hosm

* so what *
18.05.2009
2 442
6
#9
если код выполняется в серверном агенте, то папка будет на сервере, иначе - на компе того, кто выполняет код, т.е. собственно, у вас)
если у вас установлена переменная окружения Temp, то в ней ищите. Если нет, скорее всего, в рабочем каталоге нотуса будет файлик с цифирьками в имени и расширением ".dxl"
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 583
269
#10
уточняйте систему! В винде, в проводнике %TEMP% - набрать в адресной строке
ЗЫ: мда - люди зачем-то юзают винду... и МСО..., а знать их не знают, вот я их знаю и не юзаю (наверное именно потому :) )
 
P

Pikolu

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

Код:
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 формат ?
 
13.03.2009
625
1
#12
поздравляю! лиха беда начало :)
теперь как мне сделать импорт всех файлов в xpage ?
а можно их сразу переделать в xsp формат ?
что имеется в виду под импортом формы в xpage?
хочется для каждой формы сделать xpage с аналогичным функционалом? это врятли.
В теории - пишем xslt по преобразованию dxl->xsp.
На практике - ничего не получица, если на форме есть хоть сколько-нибудь кода( а он там есть всегда :) )
 
P

Pikolu

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

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

Pikolu

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

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

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

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

nvyush

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

Pikolu

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