Script to set display name in iCS Calendar view to the LDAP CN

Script to set the display name in the Calendar view for iPlanet Calendar
Server(iCS) to the LDAP common name(CN)
By default, iCS uses a user ID(uid) based on an employee number, rather than on
an employee's first and last name, as the calendar ID(calid).
The current release of iCS (5.0 P2) does not create a display name for a
calendar when a user enables a calendar by logging in; by default, it will
list the calid again in the Display Name field of the Calendar view.
For example, if an employee has a calid of "12345," when you click the
Calendar tab to view the calendar, the Display Name will appear as follows:
<P>
12345 (12345)
<P>
A problem arises when a user tries to subscribe to another user's calendar.
Although the search criteria are based on the calid and the Display
Name, the only information currently stored in the calendar database is the
calid. Therefore, users will be unable to subscribe to another
user's calendar unless they know the calid of that person. The next
patch release for iCS will remedy this problem by using common names(CNs) as
the Display Names. That is, the database will store the CN values
from LDAP for users, and the Calendar view will appear something as follows:
<P>
12345 (John Doe)
<P>
Until this next release of iCS, there are two options to work around this
problem.
<P>
<OL>
<LI>You can "provision" users by running the cscal
administrative utility with the
Display Name option.
<P>
OR
<P>
<LI>If the user community already exists, you can use the sample Perl script
below to search through the calendars of users.
<P>
Note: If a default calid exists that doesn't have a Display Name, the script
will search the LDAP directory to find a CN to set as the Display Name for
that calendar.
</OL>
<P>
<HR>
<P>
<B>Sample Perl Script:</B>
#!/bin/perl5.004
sub TRUE {1}
sub FALSE {"}
$SIG{INT} = 'handler';
$SIG{QUIT} = 'handler';
$mypath = $ENV{'LD_LIBRARY_PATH'};
$savepath = $mypath;
$ENV{'LD_LIBRARY_PATH'} = $mypath.';.';
#--------------INITIALIZATION----------------
$host="ldaphost";
$base_dn="ou=People,o=iplanet.com";
$port=389;
$auth_dn="cn=Directory Manager";
$auth_pwd="password";
$found_confile = TRUE;
$default_cal = FALSE;
open(CSCAL,"./cscal -v list |");
while($cal_list = <CSCAL>)
if ($cal_list =~ m/: owner=/)
@calid = split(' ',$cal_list);
chop($calid[0]);
print "\ncalid: $calid[0] ... ";
$default_cal = TRUE if ($calid[0] !~ m/:/);
} elsif (($default_cal) && ($cal_list =~ m/^ name=([a-zA-Z ]*)/)) {
chomp($1);
print "cal name: $1";
if (($1 EQ ") || ($1 EQ $calid[0]))
open(LDAPSEA,"./ldapsearch -h $host -p $port -b \"$base_dn\" -D
\"$auth_dn\" -w \"$auth_pwd\" uid=$calid[0] |");
while($ldap_list = <LDAPSEA> )
if ($ldap_list =~ m/^cn: ([a-zA-Z ]*)/)
chomp($1);
`./cscal -n "$1" modify $calid[0]`;
print "The display name for $calid[0] is being modified to be: $1\n";
sleep(1);
close(LDAPSEA);
$default_cal = FALSE;
close(CSCAL);
sub handler
local($sig) = @_;
print "... Caught a SIG$sig--closing down shop\n";
close(CSCAL);
close(LDAPSEA);
exit(0);
}

anne wrote:
Hi David,
About your confuse about"case when 1=2 then "product_d"."name" else "calendar_d"."year" end".
You can try in your locale.
You will find they are different.
BASED ON THAT you have two table product_d and calendar_d AND they are related by one Fact table.
THEN When you type in
"case when 1=2 then "product_d"."name" else "calendar_d"."year" end"
AND
"calendar_d"."year",
IT WILL SHOW U TWO different RESULTS.
I need to show year which its related product is not null. but I cannot use SHOW->SQL RESULTS->TYPE SOME "WHERE..." because I also need to use "constrain"..
That why I choose to use a case when function..
So, do you have any idea about this?
Regards,
AnneWhy not use two filters in your request? Have something like this:
product_d.name IS NOT NULL
AND
calendar.year IS PROMPTED?
...instead of using a CASE statement? This way you can have both filters show the way they should in a meaningful way.

Similar Messages

  • Workflow display name coming up with .AMERICAN at the end

    Hi
    For a couple of employees created in our system, the workflow display name is coming with 'AMERICAN' at the end which clearly looks like is the language setting for the user. ORIG_SYSTEM for this users in WF_LOCAL_ROLES is WF_LOCAL_USERS.
    How can we fix this? There is no option called WF_LOCAL_USERS in the Synchroinze WF Local Roles program.

    Reply to sarojak
    To which orig system these users/roles belongs to? - WF_LOCAL_ROLES Shows Org system as WF_LOCAL_USERS
    What is the display name value shown when you query wf_local_roles table for the user that is having reported issue? - with .AMERICAN added

  • How to get column names for a specific view in the scheme?

    how to get column names for a specific view in the scheme?
    TIA
    Don't have DD on the wall anymore....

    or this?
    SQL> select text from ALL_VIEWS
      2  where VIEW_NAME
      3  ='EMP_VIEW';
    TEXT
    SELECT empno,ename FROM EMP
    WHERE empno=10

  • ¿How can I see more than a day in the calendar view of the notification center?

    Hi guys! I wanna know if there's any option to see more than a day in the calendar view of the notication center. I swear I saw a friend of mine who could see more than a day in the notification center.
    Than

    In Settings > Notification Center, try turning "on" all the six buttons under "Today View".  Also turn "on" the top two buttons under "Access on Lock Screen".  Doing that should show you "Tomorrow" at the bottom of Noticiation Center.

  • My file names have disappeared in grid view. Thery have been replaced with a dark bar along the bottom of the previews. If I toggle using the command u it hide the bar but I still can't see the file name. In list view all the file names are OK.

    My file names have disappeared in grid view. Thery have been replaced with a dark bar along the bottom of the previews. If I toggle using the command u it hide the bar but I still can't see the file name. In list view all the file names are OK.

    The dark bar is caused by the option "Show metadata below image".
    Check the settings for the metadata overlays in Grid view (basic and expanded) by clicking the little "badge" icon below the Browser and selecting "Edit". Is the filename still enabled in the list? And in a high enough position to have precedence for other metadata tags, if the space does not suffice to show all selected tags?
    Regards
    Léonie

  • Setting Display Name for sent emails

    Hi All,
    I want to set a display name for sent emails. For example: when I send emails using [email protected] and after receivign this amil in my inbox it says from [email protected] Is there any way that I can show display name for this like Kartik <[email protected]>.
    is there any API by which I can set this display name? Or this has to be done on mail server?
    Any help would be appreciated!!
    Thanks, Kartik

    it asks for a attribute messageFrom and passes it to SMTPTransport. I have tried setting different values for messageFrom like
    messageFrom=Test Email
    messageFrom="Test Email"
    but it didn't work for me. it expects a domain name there (even if its dummy) like
    messageFrom=[email protected]
    Can you tell me at which place InternetAddress is been called by SMTPTransport so that I can write my own impl for it.

  • WebCamera How to set display name

    It' possible to setup a display name different from the name on LCCS?
    I have OWNER on LCCS but I want display my name.
    (I don't wont change the name  on LCCS)

    Hi,
    There is no direct way of changing the name in LCCS because it takes the name from your user descriptor and shows it.
    If you want to show your custom name, what you can do is subclass the WebcamSubscriber's layoutCameraStreams() function and in that look for the line
    cBar.cameraUserLabel = ud.displayName;     
    You may want to change that line by setting something of your own.
    Hope this helps
    Thanks
    Hironmay Basu

  • Display name of shared calendar in Outlook clients after name change on the Exchange Server

    I have changed the name of a conference room resource calendar on the Exchange server but the name change is not being reflected in the end user's Outlook clients. I tested a remove/re-add and that worked but I cannot have everyone in the company do this.
    Is there anyway to force the change down to the Outlook clients?

    I don't know for sure, but if this is the case, then it's highly likely that the GUID is used by the client after its first view of the calendar.  From that point on, it appears it doesn't "revisit" the directory for updated names. 
    We'd need Outlook team feedback for confirmation.

  • Display a Calendar View in the Portale Server

    Hi, we use portal server 6.2 and we want to display a view of the calendar inside a channel of the portal.
    We know that portal have a calendar provider but we really didn't understand how can we use this provider to call a custom view of the calendar.
    Is it possible to display a custom view of the calendar inside a page of the portal ?
    Thanx

    Probably better to be posting this in the Calendar forum.

  • Automator script to set up auto-delete in Calendar on MacBook Air

    Use Calendar without synching in iCloud.  Want to auto-delete old events after a specified period, such as two weeks.  Apple Support chat said only way is Automator but they did not provide a script. 

    This is just a guess, but if I were to use Automator to write such a script, it might start like this.  I'm not willing to test it out on my machine, but I'll offer the suggestion to you as a starting point.  You begin by creating a new "service".

  • Script that gives specific names to layers - from bottom to the top

    Hi,
    This is probably an easy one for anyone with JavaScript experience.
    I have 35 layers that I want to give specific names to (now they're named liked "layer 1, 2, 3" - but sometimes this won't be consistent, so some numbering might be skipped,
    in other words I can't rely on a script that renames a specific "Layer 1" to "my name").
    I want to rename each layer from the bottom to the top, i.e.:
    "Power"
    "Yellow"
    "Hello"
    With the script working its way up from the bottom to the top.
    How do I accomplish this?
    Thank you so much for you taking your time to help me.

    something like this?
    if so, type your names in a text frame, select it and run this script
    // rename Layers from the bottom up
    // carlos canto
    // https://forums.adobe.com/thread/1653162
    // type your names in a text frame, select it and run this script
    var idoc = app.activeDocument;
    var itext = idoc.selection[0];
    var a_names = itext.contents.split ('\r').reverse();
    var namecount = a_names.length;
    var layercount = idoc.layers.length;
    var counter = Math.min(namecount, layercount);
    for (i=layercount-1, j=0; i>=layercount-counter; i--, j++) {
        var ilayer = idoc.layers[i];
        ilayer.name = a_names[j];

  • ADF train task Flow display name comonent value from bundel

    hi
    i have som problem with adf bounded task flow train.
    i build a bounded task flow as fragment and train and i add display name component to each view , but how i can give the display name value from a view controller bundel .
    regards mohammad.j.yaseen

    1). Select the component for which you want to set the attribute to a bundle
    2). In the property inspector, click the context menu next to the attribute you want to pick from a bundle (the thing that looks like a "V" next to the field"
    3). Choose "Select Text Resource..." from the resulting menu

  • OIM 11g: Has anyone managed to pre-populate Display Name by post process

    Hi all,
    I have an event handler to set Display Name. It works via pre-process but not post (which we need for recon).
    Does anyone have this working for trusted reconciliation?
    Thanks,
    Wayne,

    We are doing a little more basic in our modify post process handler... something like:
    public BulkEventResult execute(long processId, long eventId, BulkOrchestration bulkOrchestration) {
      HashMap<String, Serializable>[] bulkParameters = bulkOrchestration.getBulkParameters();
      String[] entities = bulkOrchestration.getTarget().getAllEntityId();
      params = new HashMap<String, Object>();
      HashMap<String, Serializable> parameters;
      for (int i = 0; i < bulkParameters.length; i++) {
           entityId=entities;
    parameters = bulkParameters[i];
    // Insert whatever your custom display name logic is below
    String fName = getParameterValue(parameters, "First Name");
    String lName = getParameterValue(parameters, "Last Name");
    String mInitials = getParameterValue(parameters, "Middle Name");
    String dName = lName + " ," + mInitials + " " + fName;
    params.put("Display Name", dName);
    try {
    entityManager.modifyEntity(bulkOrchestration.getTarget().getType(),entityId, params);
    } catch (InvalidDataTypeException e) {
    // All/any of your catches go here
    return new BulkEventResult();

  • Infopath - Show All values in Text box From PeoplePicker control (Display Name)

    I have One People Picker Control and one Text box.I set Value of Text box to "Display Name" and problem is that it show only First Value.so is there a way to show all values of "Display Name" in Text box ?
    Thanks

    Thanks
    the link that you provied , didnt help me but i dig into "http://www.infopathdev.com/forums/t/19623.aspx" and found solution.
    here is my solution :
    1- Create one Picker control (i changed name of control to Member ) and one Text Box
    2- Set Value of Text box to xdMath:Eval(xdMath:Eval(../my:Member/pc:Person, 'concat(pc:AccountId, ";")'), "..")
    3- if you changed name's picker control just Replace "../my:Member/pc:Person" with name's People Picker control on your Form.
    Edit 1 : I found out Why the formula in that Blog didn't work.it Because of copy/Paste
    Dont Copy/Paste Formula because maybe you get Error . how ? here :
    if you copy this formula :
    xdMath:Eval(xdMath:Eval(../my:Member/pc:Person, 'concat(pc:AccountId,
    result will be in Field :
    xdMath:Eval(xdMath:Eval(../my:Member/pc:Person, ‘concat(pc:AccountId,
    Look carefully, you see “..” instead ".." , this why you get Error Because of “
    Edit 2 : if you want to show only Display name you can Replace
    "pc:AccountId" to "pc:DisplayName".Here is Formula
    xdMath:Eval(xdMath:Eval(../my:Member/pc:Person, 'concat(pc:DisplayName, ";")'), "..")

  • Phonebook not displaying names in groups.

    Hi
    I just got a new macbook pro and when I connected my iphone to it, it erased all my contacts. So I manually put them in but now instead of displaying them by letter, eg-A-NAMES,B-NAMES,C-NAME,D-NAMES. It just shows one single list of people.
    Does anybody know what I can do to fix it.
    Thanks
    Aditya

    It depends on if your iphone is not displaying your contacts alphabetically or is address book not displaying names alphabetically.
    If it is the iphone, go to home screen > settings > phone and check the contacts section to see how the names are supposed to be sorted and displayed.
    If you have the settings correct, try power-cycling or resetting the iphone.
    Both shut the power down so you can turn back on. This link will help.
    http://docs.info.apple.com/article.html?artnum=305740
    If the reset does not resolve the issue, you might think about restoring the iphone. This link will help.
    http://docs.info.apple.com/article.html?artnum=305744
    If it is the address book that is having the issue, check the address book preferences to see how the names are supposed to be sorted and displayed.
    If these are set correctly, you can rename your address book preference file.
    To rename the file:
    Make sure you quit out of address book.
    Open finder and drag the following file to the desktop.
    ~\library\preferences\apple.com.AddressBook.plist
    This will reset any preferences you have set in address book.
    Hope this helps out.

Maybe you are looking for