Is it simple to update an Add-on which no longer works?

Discussions about using 3rd party extension with OpenOffice.org

Is it simple to update an Add-on which no longer works?

Postby John_Ha » Mon Dec 22, 2014 2:46 pm

This Writer post Readability Report has been read nearly 700 times suggesting there is a lot of interest in the Readability Report Add-on. A post says:
As near as I can discern, it appears that the author, "neiln," sold the code to Microsoft for MS Office 2010 and stopped OpenOffice development, making this "abandonware."

As we still have access to the oxt file, how difficult would it be to get it working with AOO 4.1.1? Is it simply a case of updating a field "Works with ..." to include 4.1.1 and see it it does indeed work with 4.1.1? Or it more complicated than that?
AOO 4.1.6, Windows 7 Home 64 bit

See the Writer Guide, the Writer FAQ, the Writer Tutorials and Writer for students.

Remember: Always save your Writer files as .odt files. - see here for the many reasons why.
John_Ha
Volunteer
 
Posts: 6776
Joined: Fri Sep 18, 2009 5:51 pm
Location: UK

Re: Is it simple to update an Add-on which no longer works?

Postby RoryOF » Mon Dec 22, 2014 3:31 pm

I've recently looked at an extension which was written in Java; the Java source was available, and I was eventually able to modify it and compile it to run on OO 4.1.1 (a miracle, as I don't know any Java!). Readability Report (from memory) was written in Java, but would need to be decompiled which takes a lot of work (experience years ago with CP/M 3).

Much of the logic behind Readability Report is published in some academic papers by the author.
Apache OpenOffice 4.1.7 on Xubuntu 18.04.3 (mostly 64 bit version) and very infrequently on Win2K/XP
User avatar
RoryOF
Moderator
 
Posts: 29489
Joined: Sat Jan 31, 2009 9:30 pm
Location: Ireland

Re: Is it simple to update an Add-on which no longer works?

Postby Villeroy » Mon Dec 22, 2014 8:46 pm

https://forum.openoffice.org/en/forum/v ... =7&t=65420
markinapub wrote:I'm not getting any errors from the extension manager; it says it's installed fine but I cannot locate it anywhere in the program.

The devs changed the XML configuration of menu entries and toolbar buttons. Either you modify the add-on configuration accordingly (no, I don't know how) or you find out the service URL which triggers some action. The URL should be mentioned in the Addon.xcu. It starts with protocol [color=blue]service:[/url]
Copy this URL into a document, turn it into a hyperlink and click it. If it pops up some dialog or something, you can use it in a Basic macro like this:
Code: Select all   Expand viewCollapse view
Sub Start_MyExtension()
srv = createUnoService("some.path.MyExtension.StartDialog")
srv.trigger("")
End Sub

and add some custom toolbar, menu, keyboard shortcut triggering that macro.
See also https://forum.openoffice.org/en/forum/v ... 58#p183658 with my "SpecialCells" add-on and a macro trigger.
Please, edit this topic's initial post and add "[Solved]" to the subject line if your problem has been solved.
Ubuntu 18.04, no OpenOffice, LibreOffice 6.x
User avatar
Villeroy
Volunteer
 
Posts: 27114
Joined: Mon Oct 08, 2007 1:35 am
Location: Germany

Re: Is it simple to update an Add-on which no longer works?

Postby John_Ha » Mon Dec 22, 2014 11:59 pm

Villeroy wrote:... or you find out the service URL which triggers some action. The URL should be mentioned in the Addon.xcu. It starts with protocol [color=blue]service:[/url]

Villeroy

Thanks. I am stumbling a bit in the dark here, as I don't really understand HTML, but I couldn't find anything which looked like that in Addons.xcu which I have copied below ...

Code: Select all   Expand viewCollapse view
<?xml version='1.0' encoding='UTF-8'?>

<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Addons" oor:package="org.openoffice.Office">
  <node oor:name="AddonUI">

    <node oor:name="OfficeToolBar">
      <node oor:name="surrey.readabilityreport" oor:op="replace">
      <node oor:name="m1" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Readability</value>
        </prop>
        <prop oor:name="ImageIdentifier" oor:type="xs:string">
          <value/>
        </prop>
        <prop oor:name="Target" oor:type="xs:string">
          <value>_self</value>
        </prop>
        <prop oor:name="Context" oor:type="xs:string">
          <value>com.sun.star.text.TextDocument</value>
        </prop>
        <prop oor:name="Title" oor:type="xs:string">
          <value/>
          <value xml:lang="en">Readability Report</value>
        </prop>
      </node>
      <node oor:name="m2" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:BrainOverload</value>
        </prop>
        <prop oor:name="ImageIdentifier" oor:type="xs:string">
          <value/>
        </prop>
        <prop oor:name="Target" oor:type="xs:string">
          <value>_self</value>
        </prop>
        <prop oor:name="Context" oor:type="xs:string">
          <value>com.sun.star.text.TextDocument</value>
        </prop>
        <prop oor:name="Title" oor:type="xs:string">
          <value/>
          <value xml:lang="en">Brain Overload Report</value>
        </prop>
      </node>
      <node oor:name="m3" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Coherence</value>
        </prop>
        <prop oor:name="ImageIdentifier" oor:type="xs:string">
          <value/>
        </prop>
        <prop oor:name="Target" oor:type="xs:string">
          <value>_self</value>
        </prop>
        <prop oor:name="Context" oor:type="xs:string">
          <value>com.sun.star.text.TextDocument</value>
        </prop>
        <prop oor:name="Title" oor:type="xs:string">
          <value/>
          <value xml:lang="en">Coherence Report</value>
        </prop>
      </node>
      <node oor:name="m4" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Detailed</value>
        </prop>
        <prop oor:name="ImageIdentifier" oor:type="xs:string">
          <value/>
        </prop>
        <prop oor:name="Target" oor:type="xs:string">
          <value>_self</value>
        </prop>
        <prop oor:name="Context" oor:type="xs:string">
          <value>com.sun.star.text.TextDocument</value>
        </prop>
        <prop oor:name="Title" oor:type="xs:string">
          <value/>
          <value xml:lang="en">Detailed Report</value>
        </prop>
      </node>
      </node>
    </node>
    <node oor:name="Images">
      <node oor:name="com.surrey.readabilityreport.readability.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Readability</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/syntax2.jpg</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
      <node oor:name="com.surrey.readabilityreport.overload.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:BrainOverload</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/brain3.PNG</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
      <node oor:name="com.surrey.readabilityreport.coherence.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Coherence</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/coherence2.JPG</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
      <node oor:name="com.surrey.readabilityreport.detailed.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Detailed</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/syntax3.jpg</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
      </node>
  </node>
</oor:component-data>
AOO 4.1.6, Windows 7 Home 64 bit

See the Writer Guide, the Writer FAQ, the Writer Tutorials and Writer for students.

Remember: Always save your Writer files as .odt files. - see here for the many reasons why.
John_Ha
Volunteer
 
Posts: 6776
Joined: Fri Sep 18, 2009 5:51 pm
Location: UK

Re: Is it simple to update an Add-on which no longer works?

Postby John_Ha » Tue Dec 23, 2014 12:37 am

I have been doing some more digging and came across Extensions and Apache OpenOffice 4.0 which gives an example of an AOO v3 Addons.xcu and the changes needed to make it work under AOO v4. I am trying to work my way through it ...
AOO 4.1.6, Windows 7 Home 64 bit

See the Writer Guide, the Writer FAQ, the Writer Tutorials and Writer for students.

Remember: Always save your Writer files as .odt files. - see here for the many reasons why.
John_Ha
Volunteer
 
Posts: 6776
Joined: Fri Sep 18, 2009 5:51 pm
Location: UK

Re: Is it simple to update an Add-on which no longer works?

Postby Villeroy » Wed Dec 24, 2014 11:32 pm

Try this macro:
Code: Select all   Expand viewCollapse view
Sub openReadabilityReport()
srv = createUnoService("com.surrey.readabilityreport:Readability")
srv.trigger()
End Sub

If it works as expected, create your own customized UI for it.
Please, edit this topic's initial post and add "[Solved]" to the subject line if your problem has been solved.
Ubuntu 18.04, no OpenOffice, LibreOffice 6.x
User avatar
Villeroy
Volunteer
 
Posts: 27114
Joined: Mon Oct 08, 2007 1:35 am
Location: Germany

Re: Is it simple to update an Add-on which no longer works?

Postby John_Ha » Thu Dec 25, 2014 12:15 am

Villeroy

Thank you. I had previously installed the Readability Report add on, so I placed the macro in my macro library and Tools > Macros > Run macro > and ran it. Unfortunately it stopped at the srv.trigger() line with the error message "Basic run-time error. Object variable not set".

AOO 4.1.1 under W7.
AOO 4.1.6, Windows 7 Home 64 bit

See the Writer Guide, the Writer FAQ, the Writer Tutorials and Writer for students.

Remember: Always save your Writer files as .odt files. - see here for the many reasons why.
John_Ha
Volunteer
 
Posts: 6776
Joined: Fri Sep 18, 2009 5:51 pm
Location: UK

Re: Is it simple to update an Add-on which no longer works?

Postby hanya » Thu Dec 25, 2014 5:07 am

Replace older Addons.xcu file with this:
Code: Select all   Expand viewCollapse view
<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data oor:name="Addons" oor:package="org.openoffice.Office"
xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <node oor:name="AddonUI">
    <node oor:name="OfficeToolBar">
      <node oor:name="surrey.readabilityreport" oor:op="replace">
          <prop oor:name="Title" oor:type="xs:string">
            <value xml:lang="en-US">Readability Report</value>
          </prop>
        <node oor:name="ToolBarItems">
          <node oor:name="m1" oor:op="replace">
            <prop oor:name="URL" oor:type="xs:string">
              <value>com.surrey.readabilityreport:Readability</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
            <prop oor:name="Target" oor:type="xs:string">
              <value>_self</value>
            </prop>
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.text.TextDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value/>
              <value xml:lang="en">Readability Report</value>
            </prop>
          </node>
          <node oor:name="m2" oor:op="replace">
            <prop oor:name="URL" oor:type="xs:string">
              <value>com.surrey.readabilityreport:BrainOverload</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
            <prop oor:name="Target" oor:type="xs:string">
              <value>_self</value>
            </prop>
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.text.TextDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value/>
              <value xml:lang="en">Brain Overload Report</value>
            </prop>
          </node>
          <node oor:name="m3" oor:op="replace">
            <prop oor:name="URL" oor:type="xs:string">
              <value>com.surrey.readabilityreport:Coherence</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
            <prop oor:name="Target" oor:type="xs:string">
              <value>_self</value>
            </prop>
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.text.TextDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value/>
              <value xml:lang="en">Coherence Report</value>
            </prop>
          </node>
          <node oor:name="m4" oor:op="replace">
            <prop oor:name="URL" oor:type="xs:string">
              <value>com.surrey.readabilityreport:Detailed</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
            <prop oor:name="Target" oor:type="xs:string">
              <value>_self</value>
            </prop>
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.text.TextDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value/>
              <value xml:lang="en">Detailed Report</value>
            </prop>
          </node>
        </node>
      </node>
    </node>
    <node oor:name="Images">
      <node oor:name="com.surrey.readabilityreport.readability.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Readability</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/syntax2.jpg</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
      <node oor:name="com.surrey.readabilityreport.overload.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:BrainOverload</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/brain3.PNG</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
      <node oor:name="com.surrey.readabilityreport.coherence.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Coherence</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/coherence2.JPG</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
      <node oor:name="com.surrey.readabilityreport.detailed.images" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>com.surrey.readabilityreport:Detailed</value>
        </prop>
        <node oor:name="UserDefinedImages">
          <prop oor:name="ImageSmallURL">
            <value>%origin%/../../../../../images/syntax3.jpg</value>
          </prop>
          <prop oor:name="ImageBigURL">
            <value/>
          </prop>
          <prop oor:name="ImageSmallHCURL">
            <value/>
          </prop>
          <prop oor:name="ImageBigHCURL">
            <value/>
          </prop>
        </node>
      </node>
    </node>
  </node>
</oor:component-data>

 Edit: Title was placed in the wrong node.

I made conversion tool: https://dl.dropboxusercontent.com/u/917 ... uconv.html 
Please, edit this thread's initial post and add "[Solved]" to the subject line if your problem has been solved.
Apache OpenOffice 4-dev on Xubuntu 14.04
hanya
Volunteer
 
Posts: 884
Joined: Fri Nov 23, 2007 9:27 am
Location: Japan

Re: Is it simple to update an Add-on which no longer works?

Postby Villeroy » Thu Dec 25, 2014 5:03 pm

Hanya,
Thank you for helping out with add-in configuration again.

John_Ha wrote:Is it simple to update an Add-on which no longer works?

As you can see it is far from simple. In theory it is very easy to do when you have the right text editors to edit well formed XML with some hierarchical view and syntax highlight. Let me outline the relevant nodes and properties from your original xcu file:
Code: Select all   Expand viewCollapse view
Addons
    AddonUI
        OfficeToolBar
            surrey.readabilityreport
                m1
                    URL
                    Imageidentifier
                    Target
                    Context
                    Title
                m2
                m3
                m4
        Images

There is one Addons node with one AddonUI having one OfficeToolBar and Images. OfficeToolBar has one surrey.readabilityreport having 4 buttons m1,m2,m3 and m4 each one having 5 properties URL, Imageidentifier, Target, Context and Title.

Hanya changed it to this structure:
Code: Select all   Expand viewCollapse view
Addons
    AddonUI
        OfficeToolBar
            surrey.readabilityreport
                ToolBarItems
                    Title
                    m1
                        URL
                        Imageidentifier
                        Target
                        Context
                        Title
                    m2
                    m3
                    m4
        Images

where surrey.readabilityreport has one note of ToolBarItems with one Title property and the 4 toolbar buttons m1,m2,m3 and m4.

I can not test this configuration because I could not find this addon on the internet.

Since 1 hour I try to adjust the Addon.xcu of my own "SpecialCells" add-on for Calc but I never see any toolbar whereas the trigger macros do work.
Please, edit this topic's initial post and add "[Solved]" to the subject line if your problem has been solved.
Ubuntu 18.04, no OpenOffice, LibreOffice 6.x
User avatar
Villeroy
Volunteer
 
Posts: 27114
Joined: Mon Oct 08, 2007 1:35 am
Location: Germany

Re: Is it simple to update an Add-on which no longer works?

Postby hanya » Thu Dec 25, 2014 6:44 pm

where surrey.readabilityreport has one note of ToolBarItems with one Title property and the 4 toolbar buttons m1,m2,m3 and m4.
Sorry, this was wrong. Title property should be placed with the same level of the ToolBarItems. I fixed in the above code. But even the Title property is placed in the ToolBarItems node, the toolbar should be shown.

I can not test this configuration because I could not find this addon on the internet.
I could obtain from here: http://extensions.openoffice.org/en/pro ... report-204
It says the package is OS dependent but it seems it works well on Linux environment.

Since 1 hour I try to adjust the Addon.xcu of my own "SpecialCells" add-on for Calc but I never see any toolbar whereas the trigger macros do work.
This looks working well on AOO 4.1.1:
Code: Select all   Expand viewCollapse view
<?xml version='1.0' encoding='UTF-8'?>
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Addons" oor:package="org.openoffice.Office">
  <node oor:name="AddonUI">
    <node oor:name="AddonMenu">
      <node oor:name="name.AndreasSaeger.SpecialCells" oor:op="replace">
        <prop oor:name="Context" oor:type="xs:string">
          <value>com.sun.star.sheet.SpreadsheetDocument</value>
        </prop>
        <prop oor:name="Title" oor:type="xs:string">
          <value xml:lang="en">SpecialCells</value>
        </prop>
        <prop oor:name="URL" oor:type="xs:string">
          <value/>
        </prop>
        <prop oor:name="Target" oor:type="xs:string">
          <value>_self</value>
        </prop>
        <node oor:name="Submenu">
          <node oor:name="menu01" oor:op="replace">
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.sheet.SpreadsheetDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value xml:lang="en">Formatting ...</value>
              <value xml:lang="fr">Formatage ...</value>
              <value xml:lang="de">Formatierung ...</value>
            </prop>
            <prop oor:name="URL" oor:type="xs:string">
              <value>service:name.AndreasSaeger.SpecialCells.DialogCellFormatRanges?menu</value>
              <value>_self</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
          </node>
          <node oor:name="menu02" oor:op="replace">
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.sheet.SpreadsheetDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value xml:lang="en">Contents...</value>
              <value xml:lang="fr">Contenu...</value>
              <value xml:lang="de">Inhalte...</value>
            </prop>
            <prop oor:name="URL" oor:type="xs:string">
              <value>service:name.AndreasSaeger.SpecialCells.DialogCellContents?menu</value>
            </prop>
            <prop oor:name="Target" oor:type="xs:string">
              <value>_self</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
          </node>
        </node>
      </node>
    </node>
    <node oor:name="OfficeToolBar">
      <node oor:name="name.AndreasSaeger.SpecialCells" oor:op="replace">
        <prop oor:name="Title" oor:type="xs:string">
          <value xml:lang="en-US">Special Cells</value>
        </prop>
        <node oor:name="ToolBarItems">
          <node oor:name="btn01" oor:op="replace">
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.sheet.SpreadsheetDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value xml:lang="en">Format</value>
              <value xml:lang="fr">Formatage</value>
              <value xml:lang="de">Formate</value>
            </prop>
            <prop oor:name="URL" oor:type="xs:string">
              <value>service:name.AndreasSaeger.SpecialCells.DialogCellFormatRanges?button</value>
            </prop>
            <prop oor:name="Target" oor:type="xs:string">
              <value>_self</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
          </node>
          <node oor:name="btn02" oor:op="replace">
            <prop oor:name="Context" oor:type="xs:string">
              <value>com.sun.star.sheet.SpreadsheetDocument</value>
            </prop>
            <prop oor:name="Title" oor:type="xs:string">
              <value xml:lang="en">Contents</value>
              <value xml:lang="fr">Contenu</value>
              <value xml:lang="de">Inhalte</value>
            </prop>
            <prop oor:name="URL" oor:type="xs:string">
              <value>service:name.AndreasSaeger.SpecialCells.DialogCellContents?button</value>
            </prop>
            <prop oor:name="Target" oor:type="xs:string">
              <value>_self</value>
            </prop>
            <prop oor:name="ImageIdentifier" oor:type="xs:string">
              <value/>
            </prop>
          </node>
        </node>
      </node>
    </node>
    <node oor:name="OfficeHelp">
      <node oor:name="name.AndreasSaeger.SpecialCells" oor:op="replace">
        <prop oor:name="Context" oor:type="xs:string">
          <value>com.sun.star.sheet.SpreadsheetDocument</value>
        </prop>
        <prop oor:name="URL" oor:type="xs:string">
            <value>service:name.AndreasSaeger.SpecialCells.ConfigProvider?#_TOP</value>
        </prop>
        <prop oor:name="Title" oor:type="xs:string">
          <value xml:lang="en">SpecialCells Reference Manual</value>
          <value xml:lang="de">SpecialCells Anleitung</value>
        </prop>
        <prop oor:name="Target" oor:type="xs:string">
          <value>_top</value>
        </prop>
      </node>
    </node>
  </node>
</oor:component-data>

If you have the title settings in CalcWindowState configuration, remove it as follows to make your title shown specified in the Addons.xcu file:
Code: Select all   Expand viewCollapse view
Sub RemoveAddonsUISettings
  sNodeName = "private:resource/toolbar/addon_" & "name.AndreasSaeger.SpecialCells"
  cp = CreateUnoService("com.sun.star.configuration.ConfigurationProvider")
  p = CreateUnoStruct("com.sun.star.beans.PropertyValue")
  p.Name = "nodepath"
  p.Value = "/org.openoffice.Office.UI.CalcWindowState"
  node = cp.createInstanceWithArguments("com.sun.star.configuration.ConfigurationUpdateAccess", Array(p))
  if node.UIElements.States.hasByName(sNodeName) then
    node.UIElements.States.removeByName(sNodeName)
    node.commitChanges()
  end if
End Sub
Please, edit this thread's initial post and add "[Solved]" to the subject line if your problem has been solved.
Apache OpenOffice 4-dev on Xubuntu 14.04
hanya
Volunteer
 
Posts: 884
Joined: Fri Nov 23, 2007 9:27 am
Location: Japan

Re: Is it simple to update an Add-on which no longer works?

Postby Villeroy » Thu Dec 25, 2014 7:43 pm

Thank you very much for the online conversion tool, for the SpecialCells Addons.xcu and for Sub RemoveAddonsUISettings. Before running RemoveAddonsUISettings, I could not remove my add-on. The new version of SpecialCells with your Addons.xcu can be removed and installed flawlessly.
Now I'm going to add some version info, description and icons so it can be uploaded to the extensions site.
Next version will be moved from the dialog to the side bar.

This is the simplified transcription of the valid toolbar structure:
Code: Select all   Expand viewCollapse view
Addons
    AddonUI
        OfficeToolBar
            surrey.readabilityreport
                Title
                ToolBarItems
                    m1
                        URL
                        Imageidentifier
                        Target
                        Context
                        Title
                    m2
                    m3
                    m4
        Images

surrey.readabilityreport has one Title and a collection of ToolbarItems with 4 members.
Please, edit this topic's initial post and add "[Solved]" to the subject line if your problem has been solved.
Ubuntu 18.04, no OpenOffice, LibreOffice 6.x
User avatar
Villeroy
Volunteer
 
Posts: 27114
Joined: Mon Oct 08, 2007 1:35 am
Location: Germany


Return to Extensions

Who is online

Users browsing this forum: No registered users and 1 guest