On 11/15/2012 04:47 AM, Rory O'Farrell wrote:
On Wed, 14 Nov 2012 13:33:52 -0500
Rob Weir <[email protected]> wrote:
On Wed, Nov 14, 2012 at 1:04 PM, Kay Schenk <[email protected]> wrote:
On Wed, Nov 14, 2012 at 6:23 AM, Rob Weir <[email protected]> wrote:
On Wed, Nov 14, 2012 at 3:08 AM, Andrea Pescetti <[email protected]>
wrote:
On 13/11/2012 Painius wrote:
then I should notify all of you to see if someone
else has the problem and possibly a solution. His tip did
not keep AOO from crashing, so here goes...
Frequent crashes are often due to the first of our Known Issues:
http://www.openoffice.org/development/releases/3.4.1.html#AOO3.4.1ReleaseNotes-KnownIssues
Apache OpenOffice 3.4.0 and 3.4.1 manage the user profile differently
than
previous versions. The old user profile is automatically converted so
that
users can keep their extensions and settings. In a minority of cases,
especially with highly customized profiles (many extensions or
customizations) the conversion doesn't succeed. Common symptoms are:
frequent application crashes, problems with dictionaries or thesaurus,
OpenOffice starting and crashing after a few seconds. To solve this, just
reset/rename your user profile as explained in the official OpenOffice
forum.
http://user.services.openoffice.org/en/forum/viewtopic.php?t=12426
So if this is our #1 issue, is there anything we can do to improve it?
Deleting the profile is really a power-user remedy. It requires
more OS knowledge than the typical user has, especially on Windows
where folders like this are hidden by default.
Has anyone tried to figure out exactly what is happening? Is there
anyway we can finally fix this in AOO 4.0? We might not be able to
migrate every extension, but at least make it so that if something
cannot be converted we write out some diagnostic info in a text file.
And if something doesn't convert, we skip it entirely? IMHO, it is
better to require a reinstall of an extension than to create an
unstable profile.
-Rob
This has NOT been an issue with Linux (in my experience), even though
Hagar's response on the forums gives instructions for how to deal with it:
http://forum.openoffice.org/en/forum/viewtopic.php?t=12426
Do we know what OSes are most affected?
I have never seen the issue either, on Windows or Linux. But I may be
just missing the combination needed.
What is frustrating is that we don't know the cause.
Is it a problem with a single popular extension? A problem with a
single setting, or many settings? All settings of a specific data
type? A robustness issue dealing with bad data? A new bug? An old
bug?
Studies have shown that most people don't report problems. If
something doesn't work they'll just stop using it. But they'll tell
their friends. So for every person who has reported this issue, we
should consider that there are many more how are just suffering in
silence, or have already given up.
On the other hand, if this just goes away in AOO 4.0 then a
well-publicized , easy to use profile clean-up tool might be the only
thing we can do for current users.
-Rob
Rather than a separate profile clean-up tool perhaps a better approach would be
to incorporate the functionality for this within AOO, accessible only by
command line. #
A separate tool is OS dependant, which means we have to have a number of them
(each with detailed instructions); incorporated into OpenOffice at a command
line level it knows the target OS so we don't need individual separate OS
dependant applications.
Being driven from command line prevents inadvertent application of such a
potentially dangerous utility, and at command line level it ought be
simple(ish) to cause OpenOffice to reboot into graphics mode and thereby
generate a new default User Profile.
Getting the location of the user settings is easy, run the macro shown
below to see the user path settings. The difficult part, is knowing if
you can rename the directory while OOo is running; I expect probably
not, because files will be open. I don't really understand what happens
if you rename that directory while OOo is running. I expect, therefore,
that an external utility is required (if you desire one).
Sub DisplayPathSettings
Dim oPathSettings ' PathSettings service.
Dim oPropertySetInfo ' Access the service properties.
Dim aProperties ' Contains all of the service properties.
Dim oDoc ' Reference a newly created document.
Dim oText ' Document's text object.
Dim oCursor ' Cursor in the text object.
Dim oProperty ' A property of the service.
Dim cPropertyName$ ' Property name.
Dim cPropertyValue ' Property value may be an array or multiple
strings.
Dim aPaths ' The paths as an array.
Dim cPath$ ' A single path from the array.
Dim j As Integer ' Index variable.
Dim i As Integer ' Index variable.
oPathSettings = CreateUnoService( "com.sun.star.util.PathSettings" )
' Example of how to get a single property you are after.
'oPathSettings.Work
' Get information about the properties of the path settings.
oPropertySetInfo = oPathSettings.getPropertySetInfo()
' Get an array of the properties.
aProperties = oPropertySetInfo.getProperties()
' Create an output document.
oDoc = StarDesktop.loadComponentFromURL( "private:factory/swriter", _
"_blank", 0,
Array() )
oText = oDoc.getText()
oCursor = oText.createTextCursor()
oText.insertString( oCursor, "Path Settings", False )
oCursor.ParaStyleName = "Heading 1"
oText.insertControlCharacter( oCursor, _
com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
' Iterate over the array of properties,
' and write information about each property to the output.
For i = LBound( aProperties ) To UBound( aProperties )
oProperty = aProperties( i )
cPropertyName = oProperty.Name
cPropertyValue = oPathSettings.getPropertyValue( cPropertyName )
oText.insertString( oCursor, cPropertyName, False )
oCursor.ParaStyleName = "Heading 3"
oText.insertControlCharacter( oCursor, _
com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
If IsArray(cPropertyValue) Then
' Multiple URLs are somtimes returned as an array.
aPaths = cPropertyValue
ElseIf Len( cPropertyValue ) > 0 Then
' Multiple URLs are somtimes separated by a semicolon.
' Split them up into an array of strings.
aPaths = Split( cPropertyValue, ";" )
Else
aPaths = Array()
End If
For j = LBound( aPaths ) To UBound( aPaths )
cPath = aPaths( j )
oText.insertString( oCursor, cPath, False )
oText.insertControlCharacter( oCursor, _
com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
Next
oText.insertControlCharacter( oCursor, _
com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, False )
Next i
End Sub
--
Andrew Pitonyak
My Macro Document: http://www.pitonyak.org/AndrewMacro.odt
Info: http://www.pitonyak.org/oo.php