« Steve Castledine and I agree | Main| Nice bit from Bruce Elgort »

Sametime Meeting Center Customization - Part 3

Category
This next part in the Sametime Meeting center customization themed blog entries, really won't change anything as far as the end user is concerned, but it's going to make your life as someone modifying the Sametime Meeting center so much easier in the future. Especially when we come to what should be simple tasks like changing the colour of pages and things.

I had mentioned previously how this database could be used as a great example of how not to design a Domino Database, well this little change is one of the many examples found within the database. Right now within the database there are many $$ViewTemplates, with many of them being identical except for the contents of a single field. So this means whenever Lotus, or a developer wants to make simple change to the layout of the views, changing the colour for example, they have to edit every single $$ViewTemplate. This technique is going to allow us take 7 forms, and use just one instead.

Obviously make sure you have backed up your working stconf.nsf prior to make any changes. I suggest you copy the stconf template file and make a copy, and make changes to the new template copy, then you can just apply the new template, and if terrible things should happen, you can just revert back to the default template. So here are the steps that are going to allow us to make changesSteps to save time with design changes in the future...

  1. Delete the form $$ViewTemplateDefault

  2. Delete the forms:
    $$ViewTemplate for vwWebActiveMeetings
    $$ViewTemplate for vwWebAdminAllMeetings
    $$ViewTemplate for vwWebAdminHiddenMeetings
    $$ViewTemplate for vwWebAllmeetings
    $$ViewTemplate for vwWebFinishedMeetings
    $$ViewTemplate for vwWebMyMeetings
    $$ViewTemplate for vwWebRecordedMeetings
    $$ViewTemplate for vwWebScheduledMeetings
    $$ViewTemplate for vwWebTodaysMeetings


  3. Open the form "$$ViewTemplate for vwWebActiveMeetings" and rename it to "$$ViewTemplateDefault"

  4. At the top of this form find the field "NumberOfMeetings"

  5. Edit the formula for the field, changing it to :
    @Elements(@DbColumn("";@DbName;@ViewTitle;1))
  6. near the top find the field "uiNavSelection"

  7. Edit the formula for the field, changing it from :

    REM {Indicates which of the navigation bar menu items is selected};
    "navAct";
    REM {Valid values are:};
    REM {navNew - New Meeting};
    REM {navAUn - Unlisted Meeting};
    REM {navAct - Active};
    REM {navSch - Scheduled};
    REM {navFin - Finished};
    REM {navTo - Today};
    REM {navAll - All Meetings};
    REM {navRec - Recorded};
    REM {navMy - My Meetings};
    REM {navCal - Calendar};
    REM {navUn - View Unlisted (admin only)};

    To:

    @If(
    @ViewTitle="vwWebActiveMeetings";"navAct";
    @ViewTitle="vwWebAdminAllMeetings";"navAll";
    @ViewTitle="vwWebAdminHiddenMeetings";"navUn";
    @ViewTitle="vwWebAllMeetings";"navAll";
    @ViewTitle="vwWebFinishedMeetings";"navFin";
    @ViewTitle="vwWebMyMeetings";"navMy";
    @ViewTitle="vwWebRecordedMeetings";"navRec";
    @ViewTitle="vwWebScheduledMeetings";"navSch";
    @ViewTitle="vwWebTodaysMeetings";"navTo";"navAct")

  8. At the top of this form find the field "uiViewTitle"

  9. Edit the formula for the field, changing it to :

    @If( @ViewTitle="vwWebActiveMeetings";"Active Meetings"; @ViewTitle="vwWebAdminAllMeetings";"All Meetings - Admin"; @ViewTitle="vwWebAdminHiddenMeetings";"Unlisted Meetings - Admin"; @ViewTitle="vwWebAllMeetings";"All Meetings"; @ViewTitle="vwWebFinishedMeetings";"Finished Meetings"; @ViewTitle="vwWebMyMeetings";"My Meetings"; @ViewTitle="vwWebRecordedMeetings";"Recorded Meetings"; @ViewTitle="vwWebScheduledMeetings";"Scheduled Meetings"; @ViewTitle="vwWebTodaysMeetings";"Today's Meetings";"Active Meetings")

  10. Towards the bottom of the form find the section that has: <a href="vwWebActiveMeetings?Openview&Start=<Computed Value>&Count= |
    <a href="vwWebActiveMeetings?Openview&Start=<Computed Value>&Count=<Computed Value>">Next</a>
  11. Put computed text where it says "vwWebActiveMeetings" with a calculation of @ViewTitle so it now shows
    <a href="<Computed Value>?Openview&Start=<Computed Value>&Count= |
    <a href="<Computed Value>?Openview&Start=<Computed Value>&Count=<Computed Value>">Next</a>

  12. on the three lines we just edited, we want to change the hide whens, so change each line as follows:

    For Line:
    <a href="<Computed Value>?Openview&Start=<Computed Value>&Count=<Computed Value>">Previous</a>
    Give the hide when formula of
    @Contains(@UpperCase(Query_String)+"&";"START=1&") | !@Contains(@UpperCase(Query_String);"START=")|@ViewTitle="vwWebTodaysMeetings"

    For Line:
    |
    Give the hide when formula of
    @Contains(@UpperCase(Query_String)+"&";"START=1&") | !@Contains(@UpperCase(Query_String);"START=") | (NumberOfMeetings <= NumberOfCount) | (NumberOfMeetings < NumberOfStart + NumberOfCount) | @ViewTitle="vwWebTodaysMeetings"

    For Line:
    <a href="<Computed Value>?Openview&Start=<Computed Value>&Count=<Computed Value>">Next</a>
    Give the hide when formular of
    (NumberOfMeetings <= NumberOfCount) | (NumberOfMeetings < NumberOfStart + NumberOfCount)

  13. Save the form
We're done, so now test...

Copyright 2006 Carl Tyler

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::rolleyes:;-)