Решено Как снять копии шаблона(дизайна) со списка баз? создать ntf

Тема в разделе "Lotus - Администрирование", создана пользователем Ruslan280, 26 ноя 2015.

Метки:
  1. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    Подскажите пожалуйста - возникла необходимость снять шаблон с большого количества баз.
    хотелось бы автоматизировать процесс.
    пытался сделать из ОС батником

    FOR %%G IN (d:\lotus\domino\data\baza\*.nsf) DO (
    echo %%~nxG
    nserver.exe -c "cl copy baza\%%~nxG templates\%%~nG.ntf template"
    )

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

    кто-нибудь знает правильное решение?
     
  2. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    тю, открываешь любую базу, достаешь док иконку и затираешь там это поле с название шаблона ;)
     
  3. odyssey

    odyssey Active Member

    Регистрация:
    23 дек 2014
    Сообщения:
    26
    Симпатии:
    3
    ИМХО тут стоит немного другая задача - автоматом с рабочих баз нагенерить шаблонов
     
  4. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    это как?
    что подразумевается в данном случае под шаблоном? ;)
    наделать копии без доков? ;)
     
  5. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Сделать копию базы можно с помощью метода CreateCopy, но "назначить" её шаблоном метода нет.
    Потому, что файлы баз могут быть заблокированы сервером и с консоли OC могут не скопироваться. И к тому же процесс копирования всех элементов базы может занимать продолжительное время, может просто подождать надо пока файл "наполнится"?
     
  6. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    Ну... я генерю ntf так:
    Код (LotusScript):
    fPath = StrLeftBack(db.Filepath,".")
    If InStr(fPath, {\}) Then fPath = StrRightBack(fPath,{\})
     
    Set templateDb = db.Createcopy("",fPath & ".ntf")
     
    Call templateDb.Grantaccess(ses.Username, 6)
     
    А вот тут целую базы создают для создания списка шаблонов http://www.ibm.com/developerworks/lotus/library/nd-template/
     
    3 пользователям это понравилось.
  7. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Ну, так это будет обычная база, только с расширением NTF. В свойствах базы она же не будет значится шаблоном.
     
  8. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0

    спасибо - то что надо

    а они, интересно, зашифрованные создаются?
     
  9. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    да,точно-копии без документов
     
  10. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    @garrick, согласен, но у нас служба Design отключена.
    Вместо refresh делаем Replace, программно.
    А чтобы проставить галку, надо четко понимать что такого храниться в $Flags у иконки базы.
    Иконку можно получить так: Set doc = db.GetDocumentByID("FFFF0010")
    Для одной моей базы, если она не является шаблоном там значение: J7SF2
    А вот если является, то: J7F2
    Таким образом надо найти все возможности DBIcon и можно делать почти что угодно...
     
  11. rinsk

    rinsk Lotus team
    Lotus team

    Регистрация:
    12 ноя 2009
    Сообщения:
    795
    Симпатии:
    78
  12. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    всё отлично работает . отключил шифрование по умолчанию так
    File - Security --> User Security --> Notes Data --> Databases --> "Do not locally encrypt"
     
  13. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    возможно кому-то будет интересно - vbs-скрипт для снятия копий шаблонов с баз в папке
    копирует в папку лотус-клиента - data/годмесяцдень

    Код (LotusScript):
    server="domino/ru"
    password=""
    folder="papka"
     
    Dim s, dir, db,ndb
    Set s = CreateObject("Lotus.NotesSession")
    Call s.Initialize(password)
    Set dir = s.GetDbDirectory(server)
    Set db = dir.GetFirstDatabase(1247)
     
    dest=DatePart("yyyy",Now)& DatePart("m",Now) & DatePart("d",Now) & "/templates/"
    While Not (db Is Nothing)
     
    pos=InStr(UCase(db.FilePath),UCase(folder))
    If pos=1 Then
     
    WScript.Echo db.Title& "  " & db.FilePath
    Set ndb=dir.OpenDatabase(db.FilePath)
     
    If ndb.isopen Then
    Set tdb=ndb.CreateCopy("",dest & db.Filename)
    WScript.echo "ok"
    Else
    ers=ers & " " & db.title
    WScript.echo db.title & " !!! error"
    End If
     
    End If
    Set db = dir.GetNextDatabase
     
    Wend
     
    WScript.Echo "done.  errors: " & ers
     
     
    #13 Ruslan280, 15 дек 2015
    Последнее редактирование модератором: 16 дек 2015
  14. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    фейерично будет работать на линухах, аиксах, ос390 ;)
    почему это не агент, а какой-то виндятский скрипт, да еще вызывает КОМ нотусни...
    страшное глюкало будет
     
  15. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    ну да - глючить может. просто возможно кому-то пригодится для примера.
    скрипт из агента и сделан. - там разница только в Set s = CreateObject("Lotus.NotesSession").

    агент занимает клиента лотус во время работы :(
     
  16. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    ну так БД создается не "просто-так" :), вполне нормальная ситуация - подождать (или запускать на сервере - если ответ "не нужен")
     
  17. Ruslan280

    Ruslan280 Well-Known Member

    Регистрация:
    18 апр 2013
    Сообщения:
    49
    Симпатии:
    0
    или запустить скрипт и он всё что нужно сделает в фоне :)
    вариантов масса. кому как нравится. я из скрипта этого сделал hta - там можно только несколько баз выбрать и видно прогресс.
    удобно
     
  18. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    скрипт платформенно не переносИм
     
Загрузка...

Поделиться этой страницей