Forum Replies Created
-
AuthorReplies
-
Thank you for your query. We will contact you offline of this forum to resolve this issue.
Regards,
Advansys SupportThank you for your query.
Unfortunately I do not know technically whether administrator rights are enough on WTS/Citrix.
However, we have a workaround for the security system used by Formativ when installing in a Citrix environment; it works in 99% of cases. Please send an email to support@advansyscorp.com so that we can resolve this matter offline of this forum.
We look forward to hearing from you.
Regards,
Advansys Support[This message was edited by Support 3 on March 28, 2004 at 03:39 PM.]
Thank you for your query.
Our engineers have not been able to reproduce this problem. Consequently, we cannot update the solution with a ‘fix’ to this issue.
Nevertheless, we would like to help with your migration.
It is important to set up your Windows Messaging Service (WMS) with one profile for GroupWise and one profile for Outlook. The messaging clients must not share a profile. You can configure WMS by going to your Windows Control Panel, then open the Mail item.
The Undo button appears if any Outlook items have been migrated successfully. The fact that the button is missing indicates that no items were migrated.
Perhaps you could try migrating items other than tasks, like mail for example? It would help us to analyze this problem if you could do this, holding down the SHIFT key as you start the solution. This will produce a text log of the migration process, which may help us determine why it fails. Please post the text of the log here, or preferably in an email to support@advansyscorp.com.
I hope this helps.
Advansys Support
Thank you for explaining your method of fixing the problem.
We think that something in your system setup has changed since the reinstallation, leading to the reappearance of the error. It is possible that GroupWise and Outlook can update their respective WMS profiles without warning. This is why we recommend distinct profiles in Windows Messaging, one for GroupWise, one for Outlook. The GroupWise profile should use GroupWise-only services, and vice versa for Outlook.
Could you describe the behaviour of Personal Outlook Migration in both scenarios? That is:
(a) no contacts migrated, and
(b) GW crashes.Specifically, at what point in the process does the ‘Access violation…’ message appear? Can you provide a log that corresponds to each scenario? You can limit the time it takes to test this by restricting the migration to Contacts only. You can produce a more detailed log by holding down the SHIFT key as you execute Personal Outlook Migration. Ideally, we would prefer that you send log data and Formativ configuration data to support@advansyscorp.com.
I hope this helps, and we look forward to hearing from you again.
Advansys Support
This query has been answered by direct email.
Advansys Support
The menu context for RemoveMenuItem changed in GroupWise 6.5.1. I am sorry that the documentation on RemoveMenuItem in our Formativ Language Guide is out of date.
Here is some sample code that works with all GroupWise versions.
dim iText iText = "Disable (File | Import Documents...) menu item on the GroupWise client?" if MsgBox(iText, vbYesNo, "Enable/disable menu item") = vbYes then ' GroupWise 6.5.1 or later uses the short menu path. if GroupWise.EnvVersionName >= "6.5.1" then call GroupWise.RemoveMenuItem("GW.CLIENTFileImport Documents...") else call GroupWise.RemoveMenuItem("GW.CLIENT.WINDOW.BROWSERFileImport Documents...") end if else call GroupWise.ResetMenuItems call GroupWise.EnableCommand(858) 'AddNewDocument() end if call MsgBox("Restart GroupWise to see the changes.")
I hope this helps.
Advansys Support
GroupWise allows you to delegate an Appointment, Task or Note.
You may be able to do what you require with the Token API, using either ItemDelegateDlg() or ItemDelegateOpenItem(). I think the latter assumes the item to be delegated is represented by an open message view.
You can also use the Object API method Delegate() of an Appointment, Note or Task message object. This method returns a new message object whose properties should be initialized accordingly.
I hope this helps.
Advansys Support
Thank you for your query.
Unfortunately Formativ has no event available to signal that a proxy has occurred. Similarly, there is no event to signal ‘create rule,’ it is only possible to unconditionally block rule creation.
Our engineers have considered adding to Formativ these kinds of events. But at this time we cannot say when a version that includes such events will be released.
It is possible to do what you require by writing a Third Party Handler (TPH) that integrates with the GroupWise client. You will need to consult the online Novell Developer references to do this. Otherwise it may be possible for Advansys to supply you with a custom solution.
Best regards,
Advansys SupportThank you for your query and feedback.
We have just tried to replicate the problem you describe, by downloading and installing both Formativ Runtime and Add Signature. The solution works as expected – no problem whatsoever.
I am referring to Formativ Runtime, version 1.6.0.11
Could you describe the environment you had before installing the latest version of Runtime? That is, which edition (Runtime, Express) and version of Formativ were you using previously? Was Add Signature working prior to this installation?
We look forward to hearing more from you.
Advansys Support
I notice in the GroupWise Object API documentation here that .DeliveredDate is a Mail message property. But this property is only available in GroupWise 6.5 SP1 and later. In addition, all messages have the property .CreationDate, but its value probably relates to the message originator (not the time received).
You could compare delivered date or creation date with the current time. If neither of these turns out to be satisfactory, you could try the following approach.
Build a lookup table in a persistent store (eg. disk file) of unopened messages, identified by their message IDs. Each item could be paired with the time it was found unopened. You can use .DateToISO, .ISOToDate and a sorted .StringList in Utilities for this. Then remove from the lookup table items that are 2 hours or older, and process the associated messages as required.
I hope this helps.
Advansys Support
Thank you for you query.
Unfortunately there is no deterministic way of obtaining the message ID of the message that was just sent. This is a strange and frustrating omission from the GroupWise Object API.
However, you can devise a solution to try to find the just-sent message. We cannot guarantee a correct result, but perhaps you can develop a solution in which you have great confidence the result is correct.
I suggest you continue to handle the OnSend (After) event, and obtain some message properties that can be used to identify the message. For example, Subject, creation date, class name. Then look in the Sent Items folder (use the method .FindMessages) using these identifications.
I hope this helps.
Advansys Support
Thank you for you query.
Client is the first parameter of the Main subroutine in every Formativ applet. Here is a quote from the Formativ Programmers Guide:
quote:
This parameter represents the state of the GroupWise client at the time your applet was executed. It is the same as the GroupWise C3PO ClientState Object as documented in the GroupWise C3PO documentation.
You will find more information in the Programmers Guide on the properties and methods of Client.ClientState.
I hope this helps.
Advansys Support
Thank you for your query.
In short, yes you can write an alternative search routine.
This sort of thing would be done using the GroupWise Object API. You can choose either the .Find/.FindMessages method of a message collection, or else create a Query object using Account.CreateQuery. A query is appropriate for ‘large’ result sets, and can take a long time to complete.
In both cases, you will need to define an appropriate filter expression to search for the relevant item(s). For more on this, see the online documentation on filter expressions.
I hope this helps.
Advansys Support
The object GroupWise.Account refers to the root account (the logged-in user), regardless of whether proxying to another account.
To obtain a reference to the proxy account object, use either the Application object from the GroupWise Object API, documented here, or the ClientState object. The following code examples show how to do this with Formativ.
' This example assumes the collection .ProxyAccounts contains exactly one item, ' and that GroupWise has been *programmatically* proxied to only one account. Sub Main(Client, GWEvent) Dim x, y Dim oAccount Dim oMsg ' Programmatically proxy to another account: 'set oAccount = MultiLogin(...) GroupWise.NewMail Set oMsg = GroupWise.ComposingItem x = oMsg.sender Set oAccount = GroupWise.Session.ProxyAccounts.Item(1) y = oAccount.Owner.EmailAddress msgbox "Sender: " & x & ", EmailAddress: " & y Set oMsg = nothing Set oAccount = nothing End Sub
' Client.ClientState.CurrentAccount gives you an instance of the account that was ' proxied to using the GroupWise UI. The email address of the proxied account ' can be accessed thus: Begin Sub Main(Client, GWEvent) MsgBox Client.ClientState.CurrentAccount.Owner.EmailAddress End Sub
I hope this helps.
Advansys Support
Thank you for your query.
At present the Formativ language does not include a mechanism for scheduling an applet. However there are several options I know of that might be worth considering.
- Have an applet create a Formativ Portal. The browser (the Internet Explorer ActiveX) embedded in a Portal supports JavaScript, which has the built-in functions SetInterval(), SetTimeout(). Your Portal’s HTML can include JavaScript code that executes when the specified interval or timeout expires, to restart your applet. See Portal Manager in the Formativ Programmers Guide for more information.
- If using GroupWise 6.5 or later, you can take advantage of the ‘delayed delivery’ feature. That is, an applet can generate a message that GroupWise must deliver at a certain time (eg. 30min from now). Your applet should be integrated to execute on message arrival. On processing the message, your applet will delete it, send a ‘repeat’ message to maintain the schedule, and do the required mailbox processing. Such a message should be identifiable by a distinctive subclass for its class type, and a suitable Subject. It may also be worth setting the message to be a Hidden message.
- Write an external Windows application that starts GroupWise at 30min. intervals. Also write an applet that executes on GroupWise start-up, to process the mailbox. On completing the mailbox processing, the applet will create a file in a specific location to signal this completion. When the external application finds the file, it sends a Windows Message to terminate GroupWise, and deletes the file.
We favour the ‘delayed delivery’ option, if the necessary version of GroupWise is available. Using a Formativ Portal as a scheduler may be unreliable due to certain events of the ActiveX not firing when it is hidden.
I hope this helps.
Advansys Support
-
AuthorReplies