Корпоративная страница

Тема в разделе "Lotus - Программирование", создана пользователем Cleric-Lviv, 19 сен 2008.

  1. Cleric-Lviv

    Cleric-Lviv Lotus team
    Lotus team

    Регистрация:
    3 янв 2008
    Сообщения:
    605
    Симпатии:
    0
    Всем привет!
    вот дали задание сделать корпоративную страницу:blink: и чтоб она била у всех как стартовая, на ибм нарил как ето делать вот силка http://www.ibm.com/developerworks/lotus/li...Page/index.html
    но вот проблем (или я уже слепой) в статье пишет следующее:

    "You can now edit the advanced options for all Welcome pages, including the "Basics" page, by clicking the Options button. (You may have switch to another Welcome page before you'll see the Options button on the "Basics" page.) When you click the Options button, you'll notice a new Advanced Properties tab:"

    но вот "Options button" я не вижу в упор!!!!!!!

    версия 7,0,3

    Может кто делал такое?
     
  2. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    Так ни кто и не завел??
     
  3. erdi

    erdi Well-Known Member

    Регистрация:
    20 авг 2008
    Сообщения:
    261
    Симпатии:
    36
    а что ты хочешь?
    после всех вариантов и костылей - самый лучший способ пройтись и ручками все сделать на каждой машине, чем постоянно получать нагоняй за тех сотрудников(20%) у которых автоматически она не подтянулась
     
  4. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    Просто пройти и сделать ручками вариант - не вариант)) от слова вообще)
    просто я понять не могу, что нужно сделать.. Базу создал, агента запустил, в политике выбрал базу и страницу - у пользователя ни чего не поменялось..вот сижу читаю, перечитываю.. и все равно понять не могу что не так..
     
  5. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    swyatogor
    Наши сказали, что в 7-ке это еще работало, а в 8-ке и дальше уже нет.
     
  6. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    Спасибо.. значит обломс(( хм.. бяда((
     
  7. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    а АйБиэМовцы то знают??))
     
  8. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    кстати.. оно таки работает.. только немного не так как хотелось бы((

    зы.. а кто-нить знает как в базу поместить элемент дизайна из другой базы??
     
  9. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Очевидное: Руками скопировать
    Можно агентом, у каждого элемента дизайна есть UniversalID, так как это такие же документы, пусть и отличаются.
    NotesNoteCollection может отобрать элементы дизайна, далее можно получить документ и скопировать.
     
  10. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    :lol:
    хм.. поковыряемся..
     
  11. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    о да детка.. о да)))
    кому почти готовое решение установки корпоративной страницы??))
     
  12. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    swyatogor
    Всем, спасибо скажем)
    Можно даже с описанием, если не сложно)
    Только локальное шифрование нужно снять и ACL выставить правильный :lol:
    Лучше грузить в zip наверное, хотя может форум и rar съест.
     
  13. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    так у мну только описание и есть)) и несколько строк кода)
    ну так вот..
    продолжение в файлике..
     

    Вложения:

  14. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    Чтот тут подумалось.. раз уж всё равно всё меняется кодом.. то нафиг тогда и политика не нужна.. нужно просто сделать документ настройки и скопировать его же в ту же базу с дизайном страницы и по необходимости также копировать в пользовательский букмарк..
     
  15. swyatogor

    swyatogor Lotus team
    Lotus team

    Регистрация:
    24 фев 2014
    Сообщения:
    432
    Симпатии:
    10
    Посмотреть вложение HP.zip - Вот база с дизайн элементами и настройкой, которая необходима
    а этот код я поставил в шаблон почты в датабэйс скрипт событие postopen
    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">код</div></div><div class="sp-body"><div class="sp-content">
    Код (LotusScript):
        '************************************
    '* Мой код
    '* Меняем домашнюю страницу
    '************************************
    Call InsDesignHP
    Call ChangeHP
    и два модуля там же
    Код (LotusScript):
    Sub InsDesignHP
    Dim s As New NotesSession
    Dim destdb As NotesDatabase
    Dim sourcedb As NotesDatabase

    Dim NC As NotesNoteCollection
    Dim curdisdoc As NotesDocument
    Dim destdisdoc As NotesDocument
    Dim tempdisdoc As NotesDocument
    Dim noteid As String   
    Dim tempUNID As String 
    Dim curDT As New NotesDateTime ("")
    Dim destDt As New NotesDateTime ("")
    On Error Resume Next
    Set destdb = s.Getdatabase("", "bookmark.nsf", False) ' получаем базу пользователя
    Set sourcedb = s.GetDatabase("ezop","hp.nsf") ' получаем нашу базу с исходниками страницы
    If sourcedb Is Nothing Or destdb Is Nothing Then
    '       Msgbox "Нет источника"
    Exit Sub
    End If
    %REM   
    '******************************************
    '* Удаляем старые фреймы и страницы - CorpWP
    Set nc = destdb.CreateNoteCollection(False)
    ' Выбираем в базе только дизайн элементы необходимого нам вида 
    nc.SelectFrameSets = True
    nc.SelectPages = True
    Call nc.BuildCollection
    ' и перекладываем то что навыбирали в базу пользователю  
    noteid = nc.GetFirstNoteId
    Do Until noteid = ""
    Set curdisdoc = destdb.GetDocumentByID(noteid)
    If curdisdoc.Getitemvalue("$TITLE")(0) = "CorpWP" Then Call curdisdoc.Remove(True)
    noteid = nc.GetNextNoteId(noteid)      
    Loop
    '*******************************************
    %END REM
       

    Set nc = sourcedb.CreateNoteCollection(False)
    ' Выбираем в базе только дизайн элементы необходимого нам вида 
    nc.SelectFrameSets = True
    nc.SelectPages = True
    nc.Selectforms = True
    nc.SelectImageResources = True
    Call nc.BuildCollection
    ' и перекладываем то что навыбирали в базу пользователю  
    noteid = nc.GetFirstNoteId
    Do Until noteid = ""
    Set curdisdoc = sourcedb.GetDocumentByID(noteid)       
    Set destdisdoc = destdb.GetDocumentByUNID(curdisdoc.UniversalID)
    If (destdisdoc Is Nothing) Then
    Set destdisdoc= curdisdoc.CopyToDatabase(destdb)
    tempUNID = destdisdoc.UniversalID
    destdisdoc.UniversalID=curdisdoc.UniversalID
    Call destdisdoc.Save(True,False)
    Set tempdisdoc = destdb.GetDocumentByUNID(tempUNID)
    Call tempdisdoc.Remove(true)
    Else


    curDT.LSLocalTime = curdisdoc.LastModified
    destDT.LSLocalTime=destdisdoc.LastModified

    If curDT.TimeDifference(destDT)>0 Then
    '               Msgbox curDT.TimeDifference(destDT)
    Call destdisdoc.Remove(True)
    Set destdisdoc= curdisdoc.CopyToDatabase(destdb)
    tempUNID = destdisdoc.UniversalID
    destdisdoc.UniversalID=curdisdoc.UniversalID
    Call destdisdoc.Save(True,False)
    Set tempdisdoc = destdb.GetDocumentByUNID(tempUNID)
    Call tempdisdoc.Remove(True)
    End If
    End If
    '       Msgbox curdisdoc.UniversalID + "|" + destdisdoc.UniversalID
    noteid = nc.GetNextNoteId(noteid)      
    Set destdisdoc=Nothing
    Set curdisdoc=Nothing
    Loop
    End Sub
    Sub ChangeHP
    Dim s As New NotesSession
    Dim destdb As NotesDatabase
    Dim sourcedb As NotesDatabase
    Dim prof As NotesDocument
    Dim curdoc As NotesDocument
    Dim newdoc As NotesDocument
    Dim curHP As String
    Dim newHP As String
    Dim NC As NotesNoteCollection
    Dim curdisdoc As NotesDocument
    Dim destdisdoc As NotesDocument
    Dim noteid As String
    Dim vie As NotesView

    On Error Resume Next
    Set destdb = s.Getdatabase("", "bookmark.nsf", False) ' получаем базу пользователя

    ' а это юнид нашей настройки
    newHP = "E2113B72532D23B846257D69001985AD"

    ' берем профиль настроек текущей страницы   
    Set prof = destdb.Getprofiledocument("currentlayout")
    ' смотрим какая страница стоит
    curHP = prof.GetItemValue("CurrentLayoutKey")(0)
    Set curdoc = destdb.Getdocumentbyunid(curHP)
    ' ечли уже нужная то не дергаемся
    If curdoc.ourcorp(0)=newHP Then Exit Sub

    Set sourcedb = s.GetDatabase("ezop","hp.nsf") ' получаем нашу базу с исходниками страницы
    If sourcedb Is Nothing Then
    '       Msgbox "Нет источника"
    Exit Sub
    End If
    Set vie = sourcedb.Getview("(Layouts)")
    Set newdoc = vie.Getfirstdocument()

    Set newdoc = newdoc.Copytodatabase(destdb)
    ' ну и собственно  сносим текущую настройку, а нашей присваиваем ид стоявшей..
    ' не знаю почему, но просто перепрописывать в профиль новый ИД грозит траблами((
    Call curdoc.Copytodatabase(destdb)
    Call curdoc.Remove(True)
    newdoc.UniversalID = curHP
    Call newdoc.ReplaceItemValue("ourcorp",newHP)
    Call newdoc.Save (True,False)  
    End Sub
    ночью дизайн обновился.. пользователи с утра зашли в почту и.... ни чего не произошло.. закрыли клиента, зашли заново - вот она новая страница..
    Проверено.. работает..
    хотя конечно может где то косячки еще есть(
     
Загрузка...

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