Better, Faster, Freer
July 03, 2009
#i103287# - Chart: some lines vanish on import of some old files
#i103296# - Database access: Mail merge wizard: Save document leaves wrong document open
#i103293# - Database access: ZoomText's magnifier doesn't follow the focus in the property browser
#i103289# - Installation: KDE 4 integration: changes in scp2
#i103298# - Presentation: Impress: Arrows with two heads displayed wrongly
#i103299# - Presentation: Impress: red spell checking lines dont' switch on/off properly
#i103297# - framework: Mail Merge Wizard: Crash in attempt to overwrite an open document
#i103294# - framework: oo access to network share truncates last character of share-name
#i103283# - gsl: KDE 4 integration
#i103286# - gsl: KDE 4 integration: configuration backend
#i103290# - gsl: KDE 4 integration: file picker
#i103284# - gsl: KDE4 integration: vcl plugin
#i103288# - porting: KDE 4 integration: changes to configure
#i103302# - sc: Absolute references to other sheets are updated as if relative on referenced cell move
#i103295# - sc: Date conversion Error while pasting dates in MM/DD/YYYY format
#i103291# - sc: MATCH and VLOOKUP in unordered mode fails with large numbers
#i103292# - sw: OpenOffice hangs when I try to open a MS word file
#i103285# - sw: Strikethrough //// changed to ---- when saving in "WordXP" format
#i103301# - sw: can not download any Mac OS X PPC version of open office
#i103300# - sw: writerfilter: docx document ends up empty

July 03, 2009 03:43 AM

July 02, 2009
I'm proud to announce that OpenOffice.org Education Project will be represented at LSM / RMLL 2009 from the 7th to the 11th of July.

More precisely, Mathieu Lalanne, Pierre Pasteau, (to be confirmed) Nicolas Jeudy, and myself will welcome you, and try to answer your questions about everything.

Means answer all actions, including OOo4Kids Project we do to create a strong bridge between Educational world and the OpenOffice.org Project

Mathieu Lalanne(who will replace Remi Boulle, unavailable), will present the Education Project and EducOOo, the non profit association in the dedicated day of the french "pôle de compétences logiciels libres" of the SCEREN.

Link 1 : The OpenOffice.org Education Project


From my side, I'll participate to 3 presentations. The two first, will be with people from Ecole Centrale Nantes [4], aka ECN.

Also, thursday 9th July:

Link 2, presentation with Olivier Girardot, ECN student: Students contributions to OpenOffice.org

Link 3, presentation with Morgan Magnin, teaching at ECN : Challenges and recommandations

The last one, will be the 10th July, and will belong to the Development topic, and will be about OOo4Kids ( http://wiki.ooo4kids.org )

Link 4, about : present the the OOo4Kids project


See you !!

ericb (noreply@blogger.com), July 02, 2009 07:15 PM

Everything is in the title: when you want to unzip an ODF or OOXML file, there is no bash completion for those documents types. I hacked the /etc/profile.d/complete.bash file of my Suse box to make it work.

Here is a first diff which can be improved to support other file extensions:

--- complete.bash	2008-06-09 14:21:12.000000000 +0200
+++ complete.bash	2009-07-02 19:04:41.000000000 +0200
@@ -162,8 +162,7 @@
 	esac							;;
     gunzip)		e='!*.+(gz|tgz|z|Z)'			;;
     uncompress)		e='!*.Z'				;;
-    unzip)		e='!*.+(???)'
-			t="@(MS-DOS executable|Zip archive)*"	;;
+    unzip)		e='!*.+(zip|ZIP|o[dt][tspgf]|O[DT][TSPGF]|doc[xm]|DOC[XM]|xlsx|XLSX|pptx|PPTX)';;
     gs|ghostview)	e='!*.+(eps|EPS|ps|PS|pdf|PDF)'		;;
     gv|kghostview)	e='!*.+(eps|EPS|ps|PS|ps.gz|pdf|PDF)'	;;
     acroread|[xk]pdf)	e='!*.+(pdf|PDF)'			;;

Cédric, July 02, 2009 05:20 PM

I’m happy to announce OpenOffice.org 3.1.1 alpha2 packages for openSUSE. They are available in the Build Service OpenOffice:org:UNSTABLE project and include many upstream and Go-oo fixes. Please, look for more details about the openSUSE OOo build on the wiki page.

The packages are alpha versions and might include even serious bugs. Therefore they are not intended for data-critical usage. A good practice is to archive any important data before an use, …

We kindly ask any interested beta testers to try the package and report bugs.

Other information and plans:

The next build will be 3.1.1-beta1 and should be available 3-4 weeks from now. The final OOo-3.1.1 packages should be available at the beginning of September.

I have vacation the following two weeks and will not have access to the internet. I hope that the current alpha2 build is usable. If not, please report bugs and switch back to the stable build.

Petr Mladek, July 02, 2009 05:11 PM

#i103272# - *Testproduct: [Automation]: broken links in id_tools_2.inc
#i103266# - Database access: [CWS dba32d] database file is corrupt after open report in bugdoc
#i103278# - Drawing: ppt import: simple lines are not imported
#i103273# - Formula editor: Input text not buffered while waiting the ui to appear
#i103267# - Presentation: Allow effect "Shadow" applied to multiple lines at once
#i103282# - Presentation: Presentation crashes when exporting to .pdf
#i103271# - Presentation: View Switching and Spellcheck Crash
#i103268# - Presentation: text attributes cannot be changed when multiple text objects are selected
#i103260# - api: offapi: sh: line 1: regview: command not found
#i103274# - framework: Automation bridge: callback to JScript Uno objects causes crash
#i103275# - framework: URP Bridge disposed when running cli version tests
#i103277# - gsl: vcl: KWin won't give windows with GDK_WINDOW_TYPE_HINT_DOCK the focus
#i103263# - l10n: Please create Albanian / SQ / Shqip pootle site
#i103261# - native-lang: sq.openoffice.org is dormant... please restart.
#i103276# - qa: [Automation] tDataDatapilot needs workaround for not working tabs
#i103279# - sc: AutoFilter get lost after data sorting
#i103281# - sc: Excel export: BIFF export writes all built-in styles from XL2007
#i103270# - sw: Crash when OOO tries to highlight list when puting curson on it
#i103264# - sw: WW8: Bullet tab space heavily enlarged on export
#i103265# - sw: a11y: use ODF conform hyperlinks in table of contents
#i103280# - sw: exploding pagination in .RTF
#i103269# - sw: instsetoo_native fails to register dict-fr.oxt when building with FORCE2ARCHIVE
#i103262# - tools: no login to QUASTe possible

July 02, 2009 03:44 PM

EducOOo Logo

This report is the fruit of the collaboration between Ecole Centrale Nantes(aka ECN) and OpenOffice.org Education Project.

Thanks to Olivier Girardot and Aude Quintana, students at ECN who sent me the english version of The Eraser.

* Link for downloading the .odt en-US version
* Link for downloading the .pdf en-US version
* Link for downloading the .pdf fr version

Another report "the Saving Machine", who was made for save the annotations made with the Impress feature is available.

* Link for downloading the french version of the Saving Machine

Many many thanks to the students from Ecole Centrale Nantes for their great work, to Morgan Magnin, their professor, and to Thorsten Behrens for his enormous contribution.

My conclusion of that, is I think it really worth to see more collaboration between OpenOffice.org Project and the Education world, and I'm proud to manage the Education Project, who exactly has the goal to create a strong bridge between both.

Last but not least, 2 presentations of this collaboration are scheduled at LSM 2009, but I'll say more about that very soon ;-)



"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Education Project on the wiki

EducOO.org blog (french)

OOo4Kids Project

Many thanks to Ben Bois , author of the EducOOo logo, dedicated to the OpenOffice.org Education Project
...

ericb (noreply@blogger.com), July 02, 2009 08:39 AM

#i103259# - Drawing: graphics object fill is incorrect for some polygons
#i103257# - Installation: Python-UNO Bridge Feature Description Truncated
#i103255# - Presentation: Path is not shown in GraphicObjects with missing graphics
#i103251# - framework: ODF, support for svg:desc
#i103253# - gsl: psprint: malloc error when printing headless
#i103252# - gsl: psprint: printing headless on Mac still triggers user dialog
#i103250# - qa: Issue Tracking - Issues should be marked as closed against version milestones (To track when a given issue is resolved in a more searchable way)
#i103254# - sc: Autocomplete tabbing over to next cell
#i103258# - sw: Add to dictionary requires too many actions.
#i103256# - sw: Crash when loading Master Document

July 02, 2009 03:43 AM

July 01, 2009

It's been two weeks of prototyping now and we have already achieved great progress regarding the fidelity level of the prototypes and have gained many insights that we would have missed otherwise if we would solely rely on static low-fidelity prototypes.

Currently we are trying to figure out what might be a promising metaphor for organizing functionality and making it available to the users. There are a couple of basic constraints that limit our possibilities at hand. We still move around on a 2D surface, for instance. So, we only have two dimensions to organize tons of icons and buttons that give access to the features we have in Impress. In addition, the 2D screen real estate is also limited. The consequences of these constraints can be nicely demonstrated if you switch on all available toolbars and panes in any of the applications we have in OpenOffice.org.

What to do? We need to pretend that we have either more dimensions or more space. One way to simulate a multidimensional environment is to use tabbed navigation. Tabs give us the ability to implicitly squeeze a few dimensions onto a 2D surface by revealing one 2D tab at a time. This concept or metaphor was and still is frequently used in the web. Another way would be to implicitly increase the screen real estate, along the horizontal dimension for instance, and visually focus on those regions that offer functionality that is currently required.

However, since we decided to keep some sort of a menu in the new UI, it is quite a challenge to integrate both into one coherent concept. There is actually an inherent problem that comes along. Having a menu and having additional hierarchical global navigation elements increases the number of choice and adds to visual clutter (See my previous blog about MSO 2008 for Mac). Any user would have to decide where to look for functionality, is it is the menu or is it somewhere else. To solve that issue we need a design strategy that combines the best things of both worlds e.g. if a user wants to explore the abilities of OOo or needs to use advanced features, she will find any of these in the menu. However, the menu should never be the default way of using basic functionality. Therefore, we need to design an efficient way for accomplishing all basic, less advanced tasks without the menu. In addition, this should be as obvious as possible to the users in order to foster learning and to quickly increase familiarity.

These considerations lead us to the prototypes you can currently try out here. A few of those were already deprecated since they did lead to confusion at different screen resolutions. We are still working on basic navigation concepts, so most of the details are not fixed now. This is actually what comes next. The questions we will need to answer soon are 1. How do we label? And 2. How do we group?

So, stay tuned, check out the progress of the prototypes and give feedback.

Best,
Andreas

Andreas Bartel, July 01, 2009 04:09 PM

These last days, I dived into the way OpenOffice.org toolbars are defined in Writer to help Maja on her problems[1]. There are several points which were hard to guess, but the navigation toolbar is now nice and connected to the C++ code:

  • As Maja has stated it in her blog post[1], it is necessary to set Properties node in the command definition in the XCU file. This is really strange and completely stupid, but it works.
 
+            <node oor:name=".uno:NavigateForward" oor:op="replace">
+                <prop oor:name="Label" oor:type="xs:string">
+                    <value xml:lang="en-US">Forward</value>
+                </prop>
+                <prop oor:name="Properties" oor:type="xs:int">
+                    <value>1</value>
+                </prop>
+            </node>
  • The file sfx2/source/appl/workwin.cxx had to be completed to help make the equivalence between the resource ID and the toolbar name in the XML configuration.
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx
index b5a26d6..6780959 100644
--- a/sfx2/source/appl/workwin.cxx
+++ b/sfx2/source/appl/workwin.cxx
@@ -143,6 +143,7 @@ static const ResIdToResName pToolBarResToName[] =
{ 23031,    "mediaobjectbar"       },      //draw/impress
{ 25060,    "mediaobjectbar"       },      //calc
{ 23311,    "mediaobjectbar"       },      //writer
+    { 23313,    "navigationobjectbar"  },      //writer
{ 0,        ""                     }
};

The value here isn’t taken out of my hat, but is the value of the RID_NAVIGATION_TOOLBOX constant registered with the navigation shell.

  • The class SwNavigationShell had to be instanciated in the SwView::SelectShell method.

The complete patch is available on my freedesktop.org account for those who want to see the code:
http://people.freedesktop.org/~cbosdo/gsoc/navigation.diff

Many thanks Thorsten to have helped me understand the horror of the toolbars.

  1. See her blog post: http://gsoc-ovcica.blogspot.com/2009/06/missing-parts-inserted-but-no-progress.html (en)

Cédric, July 01, 2009 03:55 PM

#i103241# - Chart: Chart is not updated, when underlying data containing random numbers are update via Ctrl-shift-F9
#i103231# - Drawing: Can't set focus on characters which expanded spacing is more than 928.8
#i103238# - Drawing: Inserting row changes color of table
#i103234# - framework: Language dection fails in case of Indian Languages
#i103242# - framework: fix / improve test programs
#i103230# - gsl: accessibility:
#i103247# - l10n: Updated Luxembourgish AutoCorrect data (file attached)
#i103237# - qa: [Automation] Outcomment all tests that uses Anchor.
#i103249# - qa: [Automation] Update tInsertGraphic_8 and 9
#i103240# - sc: Date problem, error in cell entry
#i103232# - sc: Print notes doesn't work
#i103239# - sw: All tables exceeding page borders are completely lost on import from MS Word
#i103246# - sw: FIXME: Better Garbage Collection in Extension Manager
#i103244# - sw: FIXME: Internal Fair Share Scheduler (FSS) for OOo Extensions
#i103245# - sw: FIXME: Multi-User EULA Agreement Manager for Some Extensions
#i103248# - sw: RTF character style invalid in body text
#i103243# - sw: Two near-identical spellchecking toolbar buttons by default is confusing
#i103233# - sw: performance issue with SwXTextField::setPropertyValue
#i103235# - tools: error in build.pl to prepare correct $StandDir
#i103236# - tools: no_localization flag file doesn't work

July 01, 2009 03:43 PM

#i103224# - Chart: 3D charts are not re-rendered after zoom
#i103221# - Drawing: GraphicObject and Preview graphic handling needs cleanup
#i103225# - Drawing: Rotation of wmf figure is incorrect
#i103229# - Installation: OpenOffice will not install - "Not a valid Win 32 Application"
#i103223# - framework: OOo feedback dialog hidden on startup
#i103226# - framework: typo in help: "Assigning scripts in OpenOffice.org"
#i103220# - qa: [Automation] Add file diploma.ott to input-fields.
#i103227# - sc: Missing circle and cross symbols in shatterplot
#i103222# - sc: The Calc is missing an one click option to set one border in selected cells thicker than others
#i103228# - sw: TLDP docbook XML documents (such as ACPI-HOWTO.xml) crash Open Office

July 01, 2009 03:43 AM

June 30, 2009
  • Mini lie-in, breakfast, Richard & Clint arrived - first sign of the builders for some weeks: they set to work hammer & tongs. Mother discovered a 'tic' on E. - guzzling away - prolly from Thetford Forest - urk; took her to the Doctor; H. to school / sports day. J. starting to recover slowly.
  • Poked mail. It seems we have an opensuse Moblin related mailing list setup now subscribe. Hacked away happily at a taskstat based bootchart collector in C - very happily, lots of high-res goodness we can show there, in contrast to the fearful /proc/*/stat bits.

June 30, 2009 09:00 PM

With a little help from my friends :), I realised there are some parts missing to creating the icons for the toolbar: this is what you need to do if you're going to insert custom icons! I can't guarantee this works, since I see no buttons what so ever, but everybody is suggesting the same thing:
- you have to insert the following code:

<prop oor:name="Properties" type="xs:int">
<value> 1 </value>
</prop>

in e.g. WriterCommands.xcu file, under the part that defines the toolbar button, to enable the icon to appear.

When that is done, you need 4 images (or 4 copies of one image :) ) put into the src/icons/ and src/icons/tango folders. The images name should derive from the name of your command, e.g. if your command is NavigateBack, the names of the files should be lc_navigateback.png, lch_*, sch_* and sc_*

The module that should also be rebuilt is packimages.

If this doesn't work, try reinstalling. If that doesn't work, try purging the user config directory (~/.openoffice.org/3/user/config)

I think I have some serious build problems, because some things behave very diferently on my distro comparing to Cedric's.
I'm trying killing and rebuilding individual modules, and I shall have to try full rebuild if that doesn't work.

Possible things that I still haven't tried:

Cedric suggested to add an entry to sfx2/source/appl/workwin.cxx file, describing the navigationobjectbar. This is not the first time I encounter that there should be some (probably five-digit) number somehow connected to the toolbar I'm trying to make. I thought that the number would be generated by combining SFX_INTERFACE_SW_START and a small constant, but I realised it's just 250, and the numbers I see for other toolbars are usually around 23000 for writer. I guess that the numbers associated with the commands I make is generated by combining the FN_EXTRA2 and SID_SW_START - and those *are* around 20k...maybe I'm getting the concept of these IDs completely wrong? I've got this posted to the mailing list, hoping for some feedback :)

The other option I will also try before full rebuild, is adding the buttons to the standard toolbar instead of creating my own one.

Any help for creating the actual toolbar is highly appreciated! :)

Maja (noreply@blogger.com), June 30, 2009 08:01 PM

#i103209# - Chart: im-/export attribute xlink:href at chart:chart element
#i103219# - Database access: [automation] Help IDs missing in hid.lst, e.g. HID_PROP_NAME 37772
#i103218# - Presentation: Slide titles have extreme shadowing
#i103203# - es: Minor grammar typos in Spanish documentation
#i103210# - framework: Implementation of a uno grid control
#i103212# - framework: build broken in pdfimport extension
#i103205# - framework: install extension fails with gcc4.4
#i103217# - framework: mail to link
#i103214# - native-lang: Need to restart the albanian localization effort
#i103216# - qa: [Automation] Fix wSetClipboardtestDefaults
#i103213# - sc: Custom locale settings are ignored
#i103215# - sc: Misleading error message about too many rows rather than columns
#i103207# - sc: format code [NatNum5] lost if I save by Microexcel format
#i103206# - sw: AutoSpell check errors invisible again
#i103204# - sw: PDF export defaults to noname.pdf instead of <<localtranslation>>.pdf
#i103211# - tools: odfvalidator does not detect missing mime type
#i103202# - www: Please upload ssh2key
#i103208# - zh: Hang when dealing extended Unicode char

June 30, 2009 03:43 PM

Working on the comparison made me realize it would be good to also be able to compare paragraphs by rsid (independently of the rsid of text they contain) and I also noticed that the MS Word xml contains something like a paragraph rsid.

After a few days of exploring how the Ts and Ps in the ODF xml work, I wasn't able to set the rsid number independently on the paragraph and its text (some factors like automatic merging at saving and loading were preventing me from doing this, but I believe it is the actual purpose of the Ps and Ts that is making it impossible in the first place) So, the best option (for now) is to make a new rsid attribute and set it only on entire paragraphs:

[...]
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:rsid="001a97ee" style:paragraph-rsid="001a97ee"/>
</style:style>
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
<style:text-properties style:rsid="001a97ee" style:paragraph-rsid="001b9628"/>
</style:style>
<style:style style:name="T1" style:family="text">
<style:text-properties style:rsid="001b9628"/>
</style:style>
</office:automatic-styles>
<office:body>
<office:text>
[...]
<text:p text:style-name="P1">1111111111111</text:p>
<text:p text:style-name="P2">
<text:span text:style-name="T1">22222222</text:span>

The xml doesn't look (as beautifully) as I would want it to (if I manage to set the text rsid only on text) but it contains all the necessary information.

Tzvetelina Tzeneva (noreply@blogger.com), June 30, 2009 03:43 PM

Bulk conversion

Before continuing the “API saga” I needed to have an infrastructure to be able to load a bulk of documents and save them using a certain filter. For me the reason was mainly for testing purposes, however its very convenient for “bulk conversion” too.
The syntax is:

./soffice.bin -bulk [targetDir]/[filterName].[targetExt] [dir] ... [dir]


E.g. the following call will convert all *.odt documents from /home/freuter/tmp/ to “/home/freuter/tmp/out/*.doc” documents using the “MS Word 97” filter:

./soffice.bin -bulk "/home/freuter/tmp/out/MS Word 97.doc" /home/freuter/tmp/*.odt


This command will convert all ~/tmp/*.doc documents to ~/tmp/out/*.odt using the ODF converter:

./soffice.bin -bulk ~/tmp/out/writer8.odt ~/tmp/*.doc


And finally this call will convert all ~/tmp/*.doc document to ~/tmp/out/*.pdf PDF document using the “ writer_pdf_Export” filter:

./soffice.bin -bulk ~/tmp/out/writer_pdf_Export.pdf ~/tmp/*.doc


The patch is here. I additionally fixed a bug in the m_nRequestCount logic and I enabled it in the [Experimental] section.

Florian Reuter (noreply@blogger.com), June 30, 2009 02:21 PM

Developer Snapshot build OOo-Dev OOO310_m14 which installs as OOo-DEV 3.1.1 has been uploaded to the mirror network.

If you find severe issues within this build please file them to OpenOffice.org's bug tracking system IssueTracker.

Please use the following link
http://download.openoffice.org/next

Packages are also available from extended mirror sites ( listed with an [E] ) from the ".../extended/developer/OOO310_m14" directory:
http://distribution.openoffice.org/mirrors/#extmirrors

MD5 checksums:
http://download.openoffice.org/next/md5sums/index.html

Marcus Lange, June 30, 2009 08:15 AM

#i103198# - framework: Incorrect FIlling of SVG Graph
#i103196# - framework: OO Menus white with some themes
#i103201# - framework: [ZH]Can't replace the last character in paragraph
#i103197# - framework: keyboard provides unwanted characters
#i103192# - gsl: SKIM prevents OpenOffice and Opera from typing, if exited OpenOffice crashes and dataloss there is
#i103193# - l10n: Somali Locale
#i103200# - l10n: Wrong order of First/Last Name in CJK UI
#i103195# - sc: Remove or insert column eventhough selected range is merged
#i103194# - sw: Export PDF does not display hanging indent properly in Reflow view in Acrobat.
#i103199# - sw: Problem in exported PDF with lines at header or footer

June 30, 2009 03:43 AM

June 29, 2009
  • Took babes to school, pre-school, J. to the doctor's; finally got to E-mail, and package pieces.
  • Hacked away at netlink / taskstat goodness for bootchart. Noticed that the hot weather, combined with the humidity of an adjacent 'me' is bubbling the the paint off my desk under my arms; hmm.
  • Parents arrived to nurse J. and look after babes - what a relief; inspected the various works with Father.

June 29, 2009 09:00 PM

DEV300_m51 has been built by Hamburg RE. No open build problems are known, and smoketest has been passed successfully.

Tasks and their ChildWorkspaces for Milestone DEV300m51


Child Workspaces integrated:

ause102

remove solver from PATH


automation006

[Automation]
Feature CWS to retrieve the OLE object names from API

calc50

Miscellaneous Calc implementation and fixes for 3.2


fhawfixes1

fwk103

Framework fixes for OpenOffice.org 3.2


hcshared21

Application Help issues that are not part of a feature CWS


impress171

Issues for Impress with target OOo 3.2


jl126_DEV300

Assembly versions must be incremented for EVERY release.


l10ncleanup04

Move translations into own module


mav54_P1

mingwport20

mingw port update


ooo311gsl01_DEV300

GSL issues for target OOo311
(underline/overline colors in the new DrawingLayer)

ooo311gsl02_DEV300

Fix 3.1.1 issues


ooo31osol_DEV300

Release CWS


pdfextfix02_DEV300

Improvement of pdf import extension


svp02_DEV300

unifypaper01

Add a "long bond" paper type in the UI (used in the Philippines) and merge
together the various places in Office that match paper sizes to known 
paper sizes.

Merge together various territory to default paper size maps and align with
CLDR 1.7

Use paperconf/glibc extensions/locale fallbacks to determine best
"default from locale" paper size

dev300m51masterfix

releng@openoffice.org <releng@openoffice.org>, June 29, 2009 05:45 PM

Some days ago there started a discussion about this topic in a German mailing list on OOo. It wasn't really this question in the thread. But I want to pick up this discussion in this blog and want to take this provocative question to highlight some quality metrics and actions which are in progress.

Back to the question - Does OpenOffice.org 3.x have a general quality issue? From my perspective a clear NO! Why?

Problem statements

  1. OpenOffice.org is software and software isn't error-free. It's the same for OOo. If you search in IssueTracker (the bug tracking system for OOo) you can find the open issues. There are a mass, but are they all relevent for the general quality of the product? Nearly the have of the issues are wishes for new features and enhancements.
    But what do could tell us a numeber here about the general quality of OOo?
    In the thread mentioned above I have to read, that some experienced community members have the feeling, that some areas in OOo are broken – one feature which was named is the Mail Merge Wizard. Others wrote about some bugs in other special areas. But does this mean, that OOo is broken in general. I don't think so. The download numbers of OOo 3.x are amazing. Nearly 60 million for OOo 3.0 (in the past 8-9 months) and near to 13 million for OOo 3.1 (in the past 7-8 weeks). Do these people have so much trouble with the office suite? We will not get their feedback. So I can talk about my experience only. Sometimes I run into trouble with the office suite and I am angry about each of the bugs. But I can work in general with the office on a high quality level. I know (because I got on each of my blogs comments like – my bug xxxx isn't fixed until now, this hinder me in using the office → please fix it soon) that some of the issues hinder somebody to work with our product. But in general?
    I would say, these numbers do not show a general bad quality of our product. But it shows, that we shouldn't forget the older functionality. We have to work still on stabilizing the existing functionality instead of concentrating on newer functionality only.

  2. In the releases mailing list a lot of stopper issues were reported in the past month. The numbers are higher than in the past releases and we got such reports near after the release. When I got this information I have to say YES - OOo has a problem with the quality.


    But the handling of stopper issues was changed in the past releases. So lets take a look at the very next release of OOo 3.1.1. Some days ago there were 35 bugs registered at the stopper issue. The first request for a stopper came in the time-frame when we were releasing OOo 3.1. Since then we got continuously issues reported. But this is what the release managers wanted. They want to hear which are the most annoying and important bugs for the next bug fix release. In the past the teams worked silently and created child work spaces with a number of issues, without telling why these issues are important for a release. The release team wants more stopper issues to have a better priority by the users and they got them.
    So these numbers doesn't tell us if the quality is worse than in the past. => So a clear No! This number does not show that OOo has a quality issue!

  3. What's with the numbers of reported issues in general? Will this number tell us, if the product is broken? Let's have a look.

    The graph shows that the numbers go down. Currently less than 900 issues reports came in per month. In 2005 the number was nearly the twice (~1700). But does this number means that the product is healthy or which number of incoming reports will show this?
    I do not want to say that the product is healthy with such numbers. Each bug report is an error in usability or functionality and someone has a problem to use the product. So the number has to be reduced more and more. But I am realistic. Zero issues per month cannot and shouldn't be the goal. Software is error-prone and it cannot be error-free. If OOo gets less than 100 issues per month, the project is nearly dead instead of healthy, I think! So this numbers show only that we get less reports, but on a high level.

  4. Another number can be interested. Do we get more and more regressions in the last product releases? Sometimes it looks like. Because most of the stopper issues are regressions and especially short before the release of OOo 3.1 there were a lot of such reports. But let's take a look on the general numbers. 

    These numbers show that we get nearly the same number of regressions over the past years. If you calculate the numbers per month, there were ~80 issues per month which are marked as a regression. In my opinion this is a high number, but does it tell us that OOo is broken? Because most of the issues are fixed before the release of the final version.
    The most critical point here is, that each regression is a regression in general functionality or usability which works in an older version. A usage-scenario breaks inside the developer milestones. But this isn't new, as we can see by the numbers. And the QA teams found the issues mostly in time.
    But perhaps a closer look at the end of the release of OOo 3.1 could help to understand what could goes on.
    Short before the release we got a lot of regressions. An analysis by the development team shows that in a short time frame when this regression were integrated into the code line more than 150 CWS with nearly 1000 issues were integrated. But most of the problems came in with 5 CWS. One of it break the references and other functionality in Spreadsheet nearly completely. Why these CWSs were integrated with such problems!? One reason was wrong/missing communication because of missing knowledge about all the dependencies in such CWS. The result was that the QA responsible checked the wrong area for regressions. Another CWS were well tested, but introduced a mass of conflicts at the integration into the master code line (more than 150!). Some of the conflicts were solved incorrectly. As I heard from Release Engineering team we had such CWS never before.
    This analysis shows that we are working well in general - most of the 150 CWS do not integrated regressions -, but in some cases we have to increase the carefulness.

What else can be an indicator for a general quality issue? User feedback or user satisfaction. But how to get this information in an open source product? Feedback on mailing lists are always negative, because the users want to tell about their problems. The users which are satisfied with the product will not write it in the lists. We got positive feedback in the OOo Surves and  in press, but other press articles doesn't vote our product so good. So positive feedback isn't so easy to collect.

Resolution

So let's take a look, what is, will or can be addressed in the near future.

Perhaps you read the blog about Tests in EIS by Bernd Eilers. It's a start to get more and easier full automated testing on a CWS. Some tooling needs more testing and enhancements. Some tools aren't available for external CWSs (outside Sun). But to have such tests in one tool is a step forward to get the focus more on finding the regressions. Perhaps we have to reconsider some test scenarios and should bring more effort in code quality, code testing and more test scripts for automated GUI testing etc. In parts we started this, but it could be increased. In my opinion we should take more time for testing (in all parts of the development cycle) instead of bringing a mass of new features. We did in OOo 3.1, but it should be increased.

To address regressions too – in another direction – there are discussions about changing integration modules for CWS and Master builds. Perhaps you read the blogs about continuous integration by Mathias Bauer or Martin Hollmichel. When parts of these ideas could be realized it can be a step forward for a better code quality in general.

What about the Renaissance project for a new UI of OOo, can it help? I haven't seen the data of the usage tracking tool which were integrated in OOo 3.1 until now. But I heard that we get tons of reports with information about the usage of the Office. Perhaps a look into these data can help to get a prioritization of working areas in the Office. If we know bugs in the high prioritized area we should fix them first (when they are valid enough). Effort in bug-fixing in non/less-used areas could be reduced.

Another good point which I took from the discussion in the German mailing list is to get a general prioritization of features and bug fixing areas for each release. I saw some steps forward for this in the past weeks inside Sun. Perhaps we can get prioritization lists for the whole office for the next releases.

Conclusion

In my opinion OpenOffice.org does not have a quality issue in general. There are a mass of defects in the product and most of them will never be addressed. We got a lot of stopper issues in the past and for the next releases but nearly all these issues were and will be fixed until the products are final. Only the regressions which cannot be addressed in time is the critical mass. We have to concentrate on minimizing these bugs earlier. Also we have to prioritize the work on old bug fixing areas. Only fixing a lot of issues will costs time, but will not help in general to make the product better for all users. The quality management of OOo should be overworked to address missing processes or other things, which can help to improve the quality of OOo.

If you want to discuss topics like this, you are invited to discuss it on the QA mailing listdev@qa.openoffice.org.

Thorsten Ziehm, June 29, 2009 04:56 PM

Currently the framework team works on OpenOffice.org 3.2 and compatibility with the Windows 7 file picker. If you use OpenOffice.org 3.1 or download the latest developement snapshot you will find out that the system file picker doesn't look like the default Windows 7 file dialog. This is just one issue you can stumble on while using the system file picker on Windows 7 RC1. The framework team created a CWS called filepicker01 (see http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=DEV300%2Ffilepicker01) which includes all known issues regarding the system file picker. Fortunately we also have support from a community member to help on the QA part during the development. I want to thank Henner Drewes for his great support, his patches and feedback. This is a good example how people can support us to make OpenOffice.org better. Thanks to his help we could solve some issues in the CWS, especially stability is one of the major areas we are working on. Even new issues have been found and can now be fixed.

To give you an impression on the current state of the CWS you can see a screen shot of OpenOffice.org on Windows 7 RC1:


CWS filepicker01 based on DEV300m50 on Windows 7 RC1

Please keep in mind that this is work in progress and even the latest development snapshot doesn't include the fixes. Hopefully the first batch of fixes can be integrated into the master in the next weeks.

To get more feedback and find problems for Windows 7 early I would like to ask you for help. If you have access to Windows 7 RC1 or later versions and want to help, please join us. You can contact me via e-mail or subscribe to the framework development mailing list. Everybody is welcome. The framework team will help you to have an easy start.

Carsten Driesner, June 29, 2009 03:45 PM

#i103189# - Presentation: "Small capitals" font effect not available in Impress
#i103179# - Presentation: ODF, presentation from MS-Office2007sp2 shows subtitle placeholder
#i103191# - documentation: "regular expressions" too technical
#i103184# - framework: "Open Spreadsheet" does open as "Writer" document with .txt files
#i103187# - framework: Recovery process: template should stay template
#i103182# - framework: Remove unused functions in extensions/oooimprovement
#i103183# - framework: Remove unused functions in sw/core/inc/crossrefbookmark.hxx
#i103186# - sc: "Allways Text" formating option
#i103185# - sc: Save settings in text import as default values
#i103181# - sc: Text objects disappear near left side of page
#i103180# - sw: Crash while writing (Copy&Paste)
#i103178# - sw: Indent not recognised
#i103188# - sw: Sending Writer doc via email
#i103190# - sw: cannot select drawing object with mouse when filling = invisible

June 29, 2009 03:43 PM

To build OOo under ARM, (an apparently massively popular hobby in China at the moment for some reason other), try downloading the normal source from www.openoffice.org and…

./configure
make

that should go a long way. Though for < 3.2 you may need (ooo#100469) applied.

Of course, given that ARM isn’t generally fast, then there are likely cross-compilers, qemu-user hackery, or other stuff involved, but nothing specific to OOo, so if you can, say, build gedit with your environment, then OOo should generally build fine too. Try the same hackery you’d try with a simpler project with OOo.

And it is not porting something to simply build it. You actively have to change something before bandying around the term porting

Caolan, June 29, 2009 03:33 PM

#i103174# - Presentation: Enhance user painting capabilities during slideshow
#i103173# - l10n: {DE] inconsistent translation
#i103177# - sw: Find and Replace All format change no workie for all occurences
#i103175# - sw: Record changes corrupts file when using rtf format.
#i103172# - sw: Rescaling (many) pictures
#i103176# - sw: zoom slider grabs cursor anywhere on screen

June 29, 2009 03:43 AM

June 28, 2009
  • Up early, dealt with babes while J. rested for much of the day. Took the girls off to a party at Cheeky Monkey's, left J. to rest; back, bathed & put them to bed. Sleep.

June 28, 2009 09:00 PM

#i103169# - l10n: [DE] missing translation
#i103170# - l10n: [DE] wrong index entry in help
#i103167# - sc: Feature request: Automatic alternate shading of cells
#i103168# - sw: Performance problems with enabled Navigator
#i103171# - sw: Tables disappear when importing MS Office doc-files

June 28, 2009 03:43 PM

OOO310_m14 has been built by Hamburg RE. No open build problems are known, and smoketest has been passed successfully.

Tasks and their ChildWorkspaces for Milestone OOO310m14


Child Workspaces integrated:

c17v006

c27v001

impress173

Impress and Draw bug fixes for 3.1.1


jl128

bundle new Java


sb112

backport "unoexe.bin can crash in a thread that exits after main does" fix
from OOo 3.2 to OOo 3.1.1

sdk311

OOo 3.1.1 bugfix


tkr22

ooo310m14masterfix

releng@openoffice.org <releng@openoffice.org>, June 28, 2009 11:46 AM

#i103165# - Presentation: eVoice created audio will not save
#i103162# - framework: CPU load on Linux (GNOME) when the dialog is assigned to button "Before commencing"
#i103164# - sc: Currency in Basic not displayed as number
#i103161# - sc: Removing row of column resets Undo stack
#i103166# - sc: Sorting by date does not work correctly
#i103160# - sw: Copy / Paste will destroy formatting of user variables
#i103163# - sw: Hide Top/Bottom Margins in Print Layout View

June 28, 2009 03:43 AM

June 27, 2009
  • It seems Dhananjay now has a blog. Up early, looked after babes while J. slept, idled around the house tending to sick wife.
  • Off to Thetford Forest for Benjy's party - a great time had by all, though feeling pretty exhausted & washed out myself. Drove everyone home. Alba kindly came to baby-sit; took J. to hospital - chest infection, anti-biotics and rest - poor girl.

June 27, 2009 09:00 PM

1) Watch them all. They mostly are located in default_images/svx default_images/framework, setup_native/source/win32/nsis , default_images/res, and in sysui/source/desktop/icons and some other place I could have missed there.

2) localize them exactly, e.g. using The Gimp on Linux, Apercu on Mac , don't remember what tool I used on Windows, maybe it was automatic.

3) rename all the one who can cause issue with what you want to achieve

4) build OOo. e.g. trunk can be a good choice, if you want to test the new localization scheme

Note: trunk means the current milestone, means the to-be-DEV300_m51

5) Missing icons (i.e. renamed icons) will make the build break. This is normal, and every time the build breaks, you'll have to modify all the code calling the missing icons at buildtime (e.g. using ifdef YOUR_VARIABLE or whatever other hack), and to add your icon(s) with their new own icon names (the one you introduced in the code instead), all at the original place.

6) verify both old icons and the new one can live together at builtime, and that you can build both on all OS's

7) continue with all modules until the build ends. Think to take some coffee, this might be a long process.


And if you are serious, you'll have something correct at the end :-)

Nothing is perfect and you probably missed some at the begining. So, if you forgot some, repeat the process until you no longer see old application icons.

Be carefull, the image formats are different on every platform, and all builds are mandatory

Simple, isn't it ?

[Upgrade] : looks like we have lot of unused icons in OOo. Will remove them per see :)

ericb (noreply@blogger.com), June 27, 2009 04:43 PM

#i103155# - framework: Media keys on keyboard do not work in all OOo applications
#i103157# - gsl: Liberation Fonts v1.04 without kerning
#i103154# - lingucomponent: Maltese language requires hyphen and apostrophe to be checked too
#i103156# - sc: Iteration steps count limited too low
#i103159# - sw: Canadian dictionary marks the word 'offensive' as misspelled and it is not.
#i103158# - sw: The spell checker ' Change All ' option does not change all occurences

June 27, 2009 03:43 PM

#i103147# - Chart: ODF, workaround MS-Office bug: charts without chart:plot-area table:cell-range-address are empty
#i103146# - documentation: Collection of Math Help typos #1
#i103149# - documentation: link broken
#i103148# - gsl: Avoid early crash in generic plugin
#i103152# - l10n: Calc, Function Wizard: wrong description for function T()
#i103151# - sw: Crach while export to PDF an unseved document
#i103150# - sw: find and replace formatting characters
#i103153# - sw: fullscreen mode puts app title bar on above screen

June 27, 2009 03:43 AM

The below is the speech I will probably (you never know, and I tend to be parenthetical, digressive, and inordinately fond of extemporaneous speechifying) give at the China OSS Promotion Union’s (Copu) 2009 event to be held early next week in Beijing. Beijing Redflag Chinese 2000 Software Company, a strong supporter of and contributor to OpenOffice.org, has, via Copu, subsidized much of my trip and made possible what I believe will be very productive lectures, meetings, discussions. These include a lecture at Tsinghua University after the Copu speech, and quite probably other presentations and meetings with Chinese officials and groups interested in OpenOffice.org, Foss, and moving ahead fast.

(I always say and also believe that time rushes and that there is always some threat we must apprehend and deal with, be it particularly noxious FUD about the ODF, Foss, OOo, or, sometimes, me. So it shouldn’t come as any surprise that I believe that this year is really quite crucial. Our competitors are not sitting idly by but building blocks of argument to persuade their existing and possibly even new clients of the virtues of their application and its features. Not sure if they talk about their format any longer. And meanwhile, the rampant distribution of “pirated” software continues, eroding not only those with a vested interest in the shrinkwrapped commodities, but also us, the Foss community, for a pirated work is not “free” and does not grant the four freedoms elemental to Foss but is only a bastard version of freeware, only more pernicious, as it comes with the snarky satisfaction for the user that he’s somehow pulled a fast one on the Man. Dream on: In what Illich would have called the Shadow Economy of piracy, the only ones taken for a ride here are those who have priced their freedoms cheap.)




Community Matters: Participation, Production, and Sponsorship
Abstract
I argue that participatory communities such as those making up successful Free- and Open-Source communities ultimately depend upon the intangible enthusiasm of its adherents, and that that enthusiasm cannot be fabricated but only enabled by a supportive environment. I conclude by advocating an on-the-ground regionalism giving flesh to Web relations in community development, as regionalism quickly brings to local groups the flexibility that accommodates to social, cultural, political differences around the world.

Basics: What makes a community?
What makes for a free- and open-source software community? I mean a “participatory community,” one more or less autonomous in operation, and one in which its members crucially, are engaged in working together. And what makes such a participatory community (“community,” for short) is, not at all obvious. Assembling a group of developers and other contributors to work on code licensed under a suitable Foss license, and linking the contributors using sophisticated tools for communication and production does not automatically produce a community. We all know this. The people may all be working on the same thing, and even be communicating their work amongst themselves, but they do not necessarily form a Foss community.
Ask the people involved how they feel about the project they are working on and how they feel about each other and unless they see themselves as part of a community, as sharing an identity, however conditioned by their work, they will likely answer with degrees of indifference. For these, working outside the logic of a community, the work is nothing more than a job, even though the code that is produced is open. License enables community but does not determine it; other factors are required.
Absent the spirit of community, it is difficult to engage the interests of talented developers outside of stakeholder companies and difficult as well to motivate those in the stakeholders to exceed themselves and do brilliant work. The result is that for all the investment poured into a project by the stakeholders, the project is always in danger of dying by attrition and a fatal lack of interest by developers and ultimately users.
One can cite any number of examples of such projects. Indeed, it is the fate of the vast majority of Foss efforts. Code is put out there―on SourceForge, say, but also on many other equally good sites―and then neglected. I've read statistics indicating that something in excess of 90 percent of all project code on SourceForge is not only never downloaded but the project URLs are not even visited. For all practical purposes, there are no communities associated with these dying projects. (A useful thing to keep in mind is that the vast majority of new businesses also fail, and if not for exactly the sam reasons, at least for similar ones: no market / community to sustain the endeavor.)
But why even bother to try to form a community? Why not just hire developers or programmers? A Foss community gives more value than the sum of its parts, or stakeholders' interests. One can certainly work with free code without a community, but once that investment is withdrawn, there is every reason to suspect that the code, the project (if there even is one), will simply sink into oblivion. Perhaps that fate is sometimes tolerable and even desired. But if so, it's not one that most developers, project managers and executives would want. For it seems like a waste of resources and effort.
Foss “communities” are therefore important in that, at the very least, they limit the risk of wasted resources while also furthering a culture of development and distribution that exceeds any one stakeholder's expectations. Foss communities keep projects alive and growing, and they also do something that is enormously difficult: they give a project an identity that is far more than the sum of the stakeholder parts and is in fact and autonomous, in that it is not a predicate of any one stakeholder. To put it in business terms, successful Foss communities coin a brand identity whose value can be very great indeed.
For many of you this is probably obvious; for others, coming from business or government, Foss communities persist in being somewhat mysterious. Regardless of your experience, and even if it is obvious to you that Foss communities matter, the question that I try to answer here may not be: How can one constitute a (sustainable) community?
Constituting a community
I don't have the foolproof answer to the question I ended with above, How can one constitute a (Foss) community. A few years ago, at a conference in Brussels, I laid out the governance and some technical provisions needed to structure a working Foss community. But even if one has the ideal governance model and code architecture (an extraordinarily important point, is architecture and its impact on governance and community―and for all that it's been amazingly neglected), one is still not guaranteed a living, sustainable community. Laws, as it were, do not make a people; you still need the spirit that binds them into a common identity. Without that spirit, you have only the letter of the law, not the spirit, and you have very nearly nothing. But as I stated above, you need more than just spirit.
Political infrastructure is important
Nevertheless, one still needs the political infrastructure in order to constitute a Foss community that has any chance of sustaining itself. Mere spirit won't do it in the long run. This means that there must be in place the mechanisms by which any member of the project can communicate to another and freely discuss project matters with the expectation that discussions have effect and are not just politely ignored. As well, it is generally important, though I no longer think it requisite, that members have a sense of “ownership” in the community or at least in what they are doing. It's a feature more important in some areas than others, and as Foss continues to move away from its origins in the West and find welcome homes in Asia and Africa and India, that model becomes less essential.
All the same, this is just another way of saying that what global participatory communities need is a structure of governance that can accommodate difference within the community itself. Governance means here the guidelines by which authority is coordinated. Given the global nature of, especially, large Foss projects, or even smaller ones (the Internet knows now boundaries), flexibility is crucial―but so are guidelines that ensure impartiality and nullify arbitrariness.
The point then is to avoid the tiresome burdens of bureaucracy while exploiting some of its more useful characteristics, such as the principle that rules are only legitimate when they apply without passion or interest but with impartial disinterestedness. (I confess: that's not a likely situation, but one can imagine.) A structure as I've hinted above―minimal and with a focus on communication and implicitly on merit, as demagoguery ―approaches that goal. It allows for a hierarchical flexibility, with some projects being more horizontal than others, which, for reasons usually having to do with stakeholder preference and code architecture (again, code architecture determines so much in the political arrangement of Foss communities!), are more vertical. Either mode can result in a sustainable Foss community, and neither a radically horizontal structure, as can be seen generally with Linux, or a more vertical one, as in Eclipse, will make or break a Foss community, though I'm sure adherents of each mode would argue otherwise. (There is no strict methodology for Foss; there are only results, just as there is no strict, single way in which people body themselves as a nation.)
But what does make the difference is subtler. It can be:
  • the personality and charisma of a key member (say, the founder, as in the case of Linux―and of course Apple, though it is not exactly an open source company)
  • the perceived value of the commodity produced, either because of its utility or something else less obvious, and the attendant enthusiasm of endusers and non-developer contributors for the product and project, even if they do not actually code. OpenOffice.org presents itself as an exemplary case. For these, OpenOffice.org speaks to what they want both as an application and project that they can be part of―and affect.
  • extraneous considerations, such as the political and social context of the project, or elements such as the file format. OpenOffice.org can be used here again; and of course, that's because I'm partial to it.
  • An Us vs. Them sense that can attach itself to the project. For many Foss projects, this is actually too easy a way to form a community. It's easy to attack large, hegemonic companies and to proclaim oneself the freedom-bearing saviour. It's much harder, however, to actually create something that does what is needed and that satisfies not just the Geeks among us but also the knowledge workers and others who, well, use the proprietary software on a daily basis because they must, as part of their job. (Incidentally, these workers don't care about the drama of freedom playing out on their desktops. They care about doing their work fast and painlessly.) At some point the rhetoric of defiance must meet the fact of ability, else there is only hot rhetoric or vaporware
  • A supportive environment. This can take the shape of government support or cultural or educational or business support and enthusiasm. It can be subtle: recall that nearly all contemporary successful Foss projects saw their origins in universities, which gave the talented student the intellectual room and support to develop not only his ideas but to pass them on to others.
    • More broadly, It is vital to have an environment that nurtures young projects and, most importantly, gives developers the sense that what they and their companies may do with Foss is neither criminal nor foolish but at the least a sensible strategy. (It should be noted that this provision need not imply a background of wealth. I am not suggesting that the individual developer be supported by the state or by doing contract work that pays well. Those scenarios are possible for rather few polities. I am suggesting that Foss be considered as a business and production strategy on par with others.)
Finally, and this is a necessity for any participatory community, the community must be able to identify itself. That is, it must be able to enunciate what it is about: what its goals are or its focus of work or whatever that can be shared and held as one's own by all who wish to join it.There are no doubt other anchors to the formation of a Foss participatory community. (Students of political science can also probably identify elements from Max Weber and Benedict Anderson, to name but two. In many ways, a community is a community is a community, regardless of the actual nature of its work.)Authorizing community
Few projects, large or small, have so captivated the political and social imagination of so many in so many nations as OpenOffice.org. It has done so on the basis of its default file format, which it initiated, the OpenDocument Format, and because it holds open to every kind of contributor, not just developers, the possibility of going beyond the limits on imagination and productive activity imposed by proprietary software.
OpenOffice.org rolls into a single, vast community many of the points sketched above and it is indeed used by many from South Africa to Venezuela as a vehicle for freedom. (Foss, of course, and by extension, OpenOffice.org cannot be identified with a single political stance. That doesn't stop others from trying to do just that.)
But the emergence of OpenOffice.org in the Chinese field presents some interesting challenges, not least of which is the establishment of a participatory community or communities focused on OpenOffice.org (or, for that matter on other projects).
It's always a challenge to set up such a community―I hope I've made that clear. But the challenge here lies as much in the coordination with the international groups, as with the identification and articulation of authority.
The first problem―language--is well known and if not easily resolved, at least it's pretty clear what has to be done. The second problem is more difficult to resolve. Authority issues have always and will always shadow Foss projects. Actually, this is a good thing. It is another way of saying that one of the freedoms of Foss lies in the radical distribution of authority, the effect being that if a developer or group can claim the authority (and persuade their peers of it) to set up rival projects―forks--then they are free to do so. The distribution of autonomy is a central characteristic of Foss, regardless of governance structure. That is to say, more or less autonomous shadow projects―forks―go with the territory. All Foss projects can be forked and most have been; OpenOffice.org itself has countless small forks, and most are simply non-threatening.
They are non-threatening because they lack the resources of the primary project. The majority of developers don't want to change without compelling reasons, and stakeholders are not about to change either, without some compulsion. Each large project has its own momentum.
But that is not so when the project is small or when the social and cultural context do not have a history of autonomous participatory communities but do have a long history of strong communities enabled and sustained in part by an outside authority which has spoken them into being and therefore partly constituted them. In this case, persuading people that they can well, just go ahead and do it, doesn't work and is, as they say, a nonstarter. Under whose authority, they might ask?
Saying that everyone should be adopt a do-it-yourself approach and use his own authority gets us nowhere, and as a former scholar of US culture and its international effects, it's hardly a strategy I'd like to endorse. Besides, there are better solutions: one works within the cultural and social contexts.
I'd like then to propose guidelines for establishing local and regional communities that also communicate with their international organizations.

Proposal: Guidelines for establishing Foss communities
Elements:
  • Authority comes with what you do. The international organization can testify to your work and identify and honor what you have done via public documents and statements. But this is only the recognition of work done, not work that could be done.
        Local communities share the global identity. Their identity is modulated by context but the basic message, the essential identity of the project is and must be the same. Otherwise, one has effectively fragmented the project and diluted it.        Communication with the international organization is essential. Communication can be via wiki, via forums, mail list, IRC, etc. The important point is to constantly remind others in the world not only of what you are doing here but of the context of your work. Otherwise, people will forget, as everyone is always more interested in his own work neighborhood than in some one else's. It is an obligation we all share to represent to others what we are doing in the larger global community.
        Foss licenses give freedom. But by the same token they complicate the field and introduce the serpent into the garden, as it were, of competition: for developer attention, if nothing else, but quite often for product market share. Squelching competing forks does not work, it only causes bad feelings and weakens the primary community. A sustainable community succeeds, however, not by coercion but by the appeal of its work, identity and members. Underpinning this appeal is the trust that both local contributors and the international community put in the legitimacy of the license. It's what enables the project and what I have elsewhere called the horizonless collaboration of Foss. Anything that challenges that legitimacy challenges the project itself.
These guidelines will not necessarily make for sustainable, living Foss communities. You will still need the other, more intangible elements, which can be summarized as an enthusiasm for the project and its mission that transcends any particular commercial claim. Otherwise, it's just a form of marketing, and that does not work to create a community. Enthusiasm, on the other hand, comes from those within the project and draws others in.

The Importance of Regionalism
I have been advocating that regional and local groups be formed to further the larger goals of the international project―and vice versa. The advantage of regional groups or organizations―local branches of the international―is that each local context has its own style of communication and community formation. Not all rely on the Internet and all use it and the social Web differently. Regional groups accommodate to local differences and promote the fast creation of networks that bring in new developers, new contributors, new users.
But no user, no developer will participate in an atmosphere of fear, doubt, uncertainty and in the absence of strong and usable support. Rhetoric is nice but actions are nicer. It's not about politics; it's about making things.


oulipo (noreply@blogger.com), June 27, 2009 04:24 AM

June 26, 2009
  • Up, J. still in a bad way, call from Sanmarie - tap broken and leaking; took H. to school - set off to fix tap - realised MOT is today - set off for Cambridge.
  • Sat in the car show-room, experiencing '3' 3G mobile internet, distinctly sub-optimal in terms of bandwidth it seems. Chewed through older mail at some length.
  • Back, lunch, successful emergency plumber impersonation - back to work.
  • Amused by Florian's post on API design - very true; the real problem I see with using UNO interfaces (for which read COM), is that migrating existing code to them incrementally is abominably hard and inefficient, and never gets finished. Put simply - it is easy to design the perfect API, what is more difficult is to re-work the old code into the shape of that API. If you choose as a pre-requisite an (essentially) viral technology like UNO that makes incrementalism impossible: your entire API surface has to be UNO or not at all (modulo evil 'tunnel'ing) - then you instantly turn the problem into a "all or nothing" disaster area - whereby you have to re-write "everything" all at once, and inevitably you do that either very badly ( and given the way UNO exposes concurrency issues on every single call, this is almost inevitable ), or you take a very long time to do it. By far a better way, is to design the new interfaces you want (I assume there will be more than one interface), pick them off one by one, and re-factor the code incrementally to them - testing for regressions constantly. As/when that is done (if you can be bothered), providing a way to add UNO-isation is then easy (modulo the legion concurrency hazards you don't need to care about if you don't use it).

June 26, 2009 09:00 PM

#i103138# - Database access: [cws dba32c] loop when insert a control in draw
#i103140# - Database access: [cws dba32d] error message "no table format" when copy dbase database table
#i103133# - Database access: embed JDBC driver in ODB files
#i103116# - Presentation: Impress crashes when moving picture by shift-dragging it.
#i103139# - Presentation: Impress should support annotations for collaboration
#i103120# - documentation: Backward play Help incorrect in Impress animation
#i103126# - documentation: Loading Arrow Styles Help in Impress is mixing .soe and .sod
#i103118# - documentation: Mixing of up and down directions in Impress object dublication Help
#i103119# - framework: Editing non existing hyperlink gives error message twice
#i103135# - framework: Extensions cannot be installing in shared mode with special license
#i103145# - gsl: Avoid sticky state of fullscreen window
#i103136# - gsl: OO does not use defined paper size for printing
#i103123# - gsl: meta issue for tracking "Ideographic Variation Sequence" support
#i103127# - gsl: step0 for IVS-support on OSX platforms: neutralize VS chars
#i103124# - gsl: step0 for IVS-support on UNX platforms: neutralize VS chars
#i103125# - gsl: step0 for IVS-support on WIN platforms: neutralize VS chars
#i103132# - gsl: step1 for IVS-support on OSX platforms: use IVS-enabled fonts
#i103130# - gsl: step1 for IVS-support on UNX platforms: use IVS-enabled fonts
#i103131# - gsl: step1 for IVS-support on WIN platforms: use IVS-enabled fonts
#i103141# - sc: AutoCompletion of cell names in formula fails at underscore character
#i103122# - sc: Calc does not respect AllowEditRanges in .xls
#i103134# - scripting: VBA: Always set default property
#i103121# - sw: Caption for inserted object is not consistent with Autocaption position setting
#i103117# - sw: Resizing Fontwork object changes text inside
#i103142# - sw: WW8 import does not respect case format for name for cross-reference
#i103144# - sw: field shading not switching off as intended
#i103137# - sw: fixup for text:display="none" generated by OOo2 is not reliable
#i103143# - sw: move small drawing by mouse
#i103129# - sw: step0 for IVS-support document export: neutralize VS chars
#i103128# - sw: step0 for IVS-support in Writer and EditEngine: neutralize VS chars

June 26, 2009 03:44 PM

It has been while .. I was looking to use gmail chat from emacs and today I started using emacs-jabber & packaged it for fedora .. review request is waiting!

Another good news:

Mayavi whole stack review request is complete for all packages and in a day or two will be in updates-testing. It has been long long work .. 10 packages and lot of upstream bug reporting.

Mayavi

Rakesh, June 26, 2009 02:53 PM

Based on Bill Seddon’s rather excellent notes I’ve implemented decrypting MS XML documents, though only tested it on .xlsx files protected with the default VanillaSweatshop password.

MSO new-format encrypted documents aren’t in .zip format, but instead the .zip is encrypted and bundled as a stream into a classic OLE2 structured storage container which has some other streams that describe how it’s encrypted. Unlike our own which remain as .zips with encrypted streams.

Caolan, June 26, 2009 10:37 AM

API Design Matters

I was reading a very interesting article called "API Design Matters" with the subtitle "Bad application programming interfaces plague software engineering. How can we get things right?". Very cool stuff.

In OpenOffice.org we have an API "plague" too: The ODF import/export is based on the "UNO-API" and so is the OOXML import for Writer. And developers hate these APIs.

So the question is why do developers hate the "UNO-API"? And the obvious --- but wrong answer --- is: "I hate the UNO-API because of UNO". Don't get me wrong here: This is neither about pro or contra UNO. But the statement that "UNO is the problem of the ODF import/export and OOXML import problems" is wrong. It's not UNO per se, but its the design of the API.
[In case you're wondering what "UNO" is: UNO=COM ;-) So UNO is OpenOffice.org's way of COM.]

And just to be sure I do not offend the wrong people: The UNO-API was not designed to be used in the import/export filters. It was designed to be the API for "OpenOffice.org BASIC" developers, i.e. it was designed to provide a similar API to what VBA developers have in Microsoft Office. It was never designed to be used for import/export filters.

The problem was the decision to base the import/export code on such a high-level API! And we suffer from this decision until now!

Anyway. How can we fix this?
a) We claim the current API is the best mankind can do and print T-Shirts with 1000 years of OOo experience.
b) We claim UNO and abstraction is the problem and use the internal legacy APIs, so that we never get a chance to refactor the internal legacy stuff since we're creating even more dependencies.
c) We come up with a better API.

Option a) was demonstrated at the OpenOffice.org conference in Beijing. [Does anybody have a picture of the T-Shirt?]

Option b) is the straightforward approach. E.g. in Writer the “.DOC”, “.RTF”, .”HTML” filters are based on the internal “Core” APIs. So lets use these APIs instead of the UNO-APIs.
Whats wrong with the approach? The problem is that these internal APIs do not abstract from the underlying implementation at all. Repeat: The internal APIs do not abstract from the underlying implementation at all.
Does this answer the question why using the internal APIs is the wrong approach? Obviously *not* having an abstraction between your core implementation details and your import/exports filters is ... [offensive language detected ;-)].

Option c) only has one problem: How should the API look like?

I have some ideas here, but before posting them maybe there are some strong believes out there?

Florian Reuter (noreply@blogger.com), June 26, 2009 10:27 AM

Good news! Apparently Cedric can see my buttons! I understand there's something majorly wrong with my build, so I'm going to build it from scratch on Monday, when my new MacBook should be arriving...that might be interesting - installing ubuntu to a macbook, or building in MacOs? Must investigate...

I'm going away during the weekend, but I plan to take some time and examine how the icons are set - that might give me an idea of some of the things I'm missing when setting up the buttons.
I found a method that creates a button, and a class that describes it - my guess is that xml files are examined, this method is called when building, and that's how the buttons are created. I have this idea because I found various plugins that add/change the buttons - and I don't believe they're editing the code.

I'll post the details as soon as I find them reliable :)

Maja (noreply@blogger.com), June 26, 2009 08:00 AM


I managed to insert an entry into the list of toolbars!!! The toolbar appears (with no buttons or commands - just the place holder) when the Writer is started.
When the toolbar is deselected from this menu, it never appears again :(

This opens up a lot of questions...
I got to this point by giving up on creating the toolbar, and adding my .uno:blahblah to the "Edit" menu - since I confirmed with Thorsten that should be enough to add the items to the menu.
They didn't appear, so I tried installing to another location (takes less time than rebuilding sw folder)
There was no disk space :), so that took a while to clean up.
After reinstall, nothing.
I did a killobj sw, killed the install folders, rebuilt, reinstalled, nothing.
I tried to install to a home partition, but since there was no disk space, I remembered that my ccache is taking about 2G - so I shrinked it with ccache -M 1G
I noticed that didn't shrink the size of the cache, so I cleaned it. After rebuilding - this menu item appeared.
So, for the time being, the toolbar has somehow been added, but my guess is that some part of it is missing (the icons perhaps? :) )
Also, why does it dissapear from the menu when it's deselected?
And, why are the back/fw commands not appearing in the edit menu?

I tried changing the name of the menu in the only place where I stated "Navigation", but it doesn't change...
I must be missing something - I installed with -l, I set the ooenv before running, ... hm.

Arghhhh...:)

Maja (noreply@blogger.com), June 26, 2009 06:21 AM

#i103105# - Drawing: EMF export broken
#i103111# - Installation: Error #1330 aborts installing OOo 3.1.0 on XP Pro SP2
#i103107# - documentation: Documentation needed on shortcut Ctrl+Alt+Shift+V for "Paste Unformatted Text"
#i103106# - documentation: Wrong icon in Impress Help?
#i103103# - gsl: Default font replacement for Calibri on Mac
#i103104# - qa: [CWS mox01] Add TCS "Paste Unformatted Text" to the testscripts
#i103114# - sc: Autofilter:dropdown items not shown in list after deleting rows and UNDO
#i103110# - scripting: DEV300m50 erases macros included in documents when saving
#i103112# - sw: Incorrect selection of print tray
#i103115# - sw: Writer (Ooo 3.1.0) crashed while attempting to print
#i103108# - sw: Writer crashes on artefacts of deleted headings
#i103109# - www: Please upload ssh2key
#i103113# - www: SCA status of Yazaki Makoto

June 26, 2009 03:43 AM

Project I'm working on:
Navigation buttons (back/forward) for OOo
App:
Currently implementing them in Writer. If time permits, I should expand them to other apps, because I'm expecting the differences not to be big.


After weeks of developing for GSoC, I realized (in a hard way ;) ) I should be sharing my work with everyone, even if I personally don't like how it's coming along :)
Yesterday I learned that all that's been happening to me is quite normal - every day I think I'm really close to the solution of the problem - and something new comes up, or my solution simply doesn't work.
I hope I'll manage to run this blog as a detailed report of all the sideways and dead-ends I took while developing this, so others can avoid them :)

So, I'll be posting my complete work history by the end of the weekend, with all of the difficulties I had, and all of the solutions I (or Google search) have found :)

Maja (noreply@blogger.com), June 26, 2009 04:01 AM

June 25, 2009

8 years after I filed bug 1349 in AbiWord, I implemented it. Definitely something that should have been done sooner.

It is about JPEG support. AbiWord has been able to import JPEG images for a good while, but it always converted the JPEG to PNG for internal storage. This is IMHO wrong, but at the time it was debated that it was the right tradeoff to allow using AbiWord on embedded platforms (I'm too lazy to dig up the archive). Anyway.

Tuesday I sat down and implemented the JPEG support, removing cruft, and cleaning up the rest. Basically when import and bitmap image, if the format is JPEG, the JPEG stream is kept as is, otherwise we convert to PNG, as usual. It hit SVN last night. The bonus is that a file with a JPEG in it will open properly in AbiWord 2.6 (and likely older), so even the issue I had with compatibility isn't.

This is probably the last real feature implemented for 2.8, and it will be in 2.7.6. Back to bug fixing.

hub, June 25, 2009 09:17 PM

  • Up early, fed the babes while J. slept, took H, to school. Did some Safety at Work survey thing. Call with JP. Finally got the image building, and installing as required based on 11.1 - whoop; nice.
  • Disappeared to nurse sick wife, and care for cascade of children, music lessons, school collection etc. Back to prod at image installation later. Pleased by Nat's recommendation of commandlinefu, interesting.

June 25, 2009 09:00 PM

#i103098# - Database access: Limitations to moveToBookmark method
#i103091# - Drawing: renaming of user style used for size line changes size font
#i103087# - Presentation: Cannot sent presentation as email.
#i103097# - documentation: Different name of dialog in Draw's Help and UI
#i103100# - documentation: Help text 'none' vs. 'default' in Web Wizard
#i103096# - documentation: Missing dot in Apply field format example date
#i103102# - framework: Allow the use of cmd+option on MAC OSX
#i103094# - sc: Cut and Paste Special -> Shift Cells is not working as Expected
#i103089# - sc: Incorrect formatting of the notes displayed in cells Calc
#i103090# - sc: Sorting one column (from the toolbar button only ) leaves the first cell unsorted
#i103088# - sc: fails to read conditional formats from ODF file
#i103099# - sw: Ability to REMOVE hyperlink
#i103092# - sw: Please add N-up printing natively in OOo
#i103095# - sw: WW8: loop opening doc having graphics in non-visible area
#i103093# - sw: the inconsistency between Writer and Impress regarding leading line spacing
#i103101# - sw: wrong view update after changing CharHidden via API

June 25, 2009 03:43 PM

My children like it already :)

OOo4Kids 1

Thanks (again !) to Ben Bois, doing most of the new Design for OOo4Kids

=> Further information on OOo4Kids wiki

To be continued ...

ericb (noreply@blogger.com), June 25, 2009 04:31 PM

#i103085# - Database access: Bug report from mdb crash
#i103080# - documentation: Edit Group vs. Enter Group in Calc Help vs. UI
#i103077# - documentation: Help: Document number vs. UI: Revision number
#i103084# - documentation: Item listed in Help does not exist in menu
#i103081# - documentation: Mislocated texts in Gradients Help
#i103079# - documentation: Need for backslash before quotemark in Help .po-file?
#i103073# - documentation: Non-existing menu command in Draw's Help
#i103082# - framework: Loading a file incorrectly modified the folder's modified date.
#i103083# - framework: supporting mp3 files on writer
#i103072# - framework: update for extensions fails and crashes OO 3.1m11
#i103075# - sc: File corruption in Calc wipes out data
#i103076# - sc: ODF, chart from MS-Office2007sp2 doesn't load
#i103086# - sc: add more filters to 'standard filter'
#i103078# - sw: Can't enter text in table cell
#i103074# - udk: Error converting ScriptURI to StorageURI

June 25, 2009 03:43 AM

June 24, 2009
  • Prodded mail, prodded image building. Meetings much of the afternoon, waited three hours to build three small package - most of them in the state "Finished" for the majority of the time.
  • J. more ill in the evening, poor dear.

June 24, 2009 09:00 PM

#i103056# - Database access: Use Standard Filter to an Oracle DB table does not work
#i103058# - Drawing: Add FullCreate visualisations for Circles
#i103064# - documentation: Resize window to initial page described as fullscreen mode for PDF export
#i103053# - framework: IME should be disabled for password input box
#i103052# - framework: [Automation] Adjust automated tests
#i103063# - qa: [Automation] Fix wOptionenUndo
#i103065# - qa: [Automation] Make some test scripts hg-aware
#i103057# - sc: linking calc to writer
#i103051# - sc: scalc hangs when pasting a large number of cells
#i103054# - sw: Cannot save version
#i103069# - sw: Edit and print of .doc document fails, closing crashes Writer
#i103055# - sw: Error in Writing SubComponent content.xml, with document that saves fine in 3.1.0
#i103067# - sw: Error while opening .doc documents in html
#i103066# - sw: Nested table can not be edited if size larger than outer cell
#i103050# - sw: Text boxes on first page aren't rendered on thumbnails
#i103060# - sw: When saving an ODT as HTML, the numbering is wrong
#i103070# - sw: [CWS mox01] Rename string "Paste unformatted text" to "Paste Unformatted Text"
#i103071# - sw: number of pages oscillating in big files with OLEs ans images
#i103059# - sw: performance hit on DEV300 m50 when loading a document with many frames
#i103062# - tools: minor makefile cleanups
#i103061# - tools: minor tweaks to SO environment
#i103068# - utilities: TextRanger not working with polygons with more than 65535 (USHORT MAX) polygons

June 24, 2009 03:44 PM

The screenshot below is the most recent version of the start center we created for OOo4Kids (all ports).

OOo4Kids 1

As you can see, there are some remaining issues, like the white stripes on right, due to the length of the frames used for hte texts. e.g. , we could use COL_TRANSPARENT + some other hack, but anyway, this part will need more love. The other issue is the background: could be seriously improved too.

Thanks to Ben Bois, doing most of the new Design for the OOo4Kids StartCenter

=> Further information on OOo4Kids wiki

To be continued ...

ericb (noreply@blogger.com), June 24, 2009 03:10 PM

#i103044# - *Testproduct: OO prints postscript instead of formatted text
#i103047# - Presentation: Apply to selected slides in task pane (layouts), crashes OOo
#i103043# - sc: BAD DATA SORTING AND FORMULAS TRASPOSITION
#i103048# - sc: Double-click to auto-resize all columns results in return to GNOME Login screen
#i103046# - sc: elapsed time formatting
#i103049# - sw: Compare document between new doc and doc with footnote, Undo, crashes OOo
#i103045# - sw: Mail merge increments footnotes numbering

June 24, 2009 03:43 AM

I use the rsid in a similar way when comparing chars in the ChangesInLine method, which looks for similarities between two lines (paragrphs) which are not identical. Currently it checks for identical chars in the beginning and end of the two lines, so if you have the text:

This is a paragraph to test the ChangesInLine() method of the class SwCompareLine. It doesn't work very well because it only checks for equal characters in the beginning and end of the paragraphs that are being compared, and does nothing in the 'middle'.
and add "short" in the beginning, and delete "does" in the end, the result of comparing will be:

This is a short paragraph to test the ChangesInLine() method of the class SwCompareLine. It doesn't work very well because it only checks for equal characters in the beginning and end of the paragraphs that are being compared, andparagraph to test the ChangesInLine() method of the class SwCompareLine. It doesn't work very well because it only checks for equal characters in the beginning and end of the paragraphs that are being compared, and does nothing in the 'middle'.
If you just delete the first and last chars the function will say that there are no similarities, while if you have two completely different paragraphs with the same first letter it will not mark as them completely different as (i.e. ChangesInLine will return true ).

To deal with this I decided to use the longest common subsequence of the two paragraphs, which allows for more accurate tracking of changes/similarities. The above comparison now looks like that:

This is a short paragraph to test the ChangesInLine() method of the class SwCompareLine. It doesn't work very well because it only checks for equal characters in the beginning and end of the paragraphs that are being compared, and does nothing in the 'middle'.
If there aren't enough similarities (the lcs will always contain some letters) I want the two paragraphs to be marked as different (i.e. ChangesInLine to return false) so I check if the length of the lcs is at least half of the length of the shorter paragraph or that the length of the longest continuous chunk of text in the lcs is at least ~10% of the length of the shorter paragraph.

Tzvetelina Tzeneva (noreply@blogger.com), June 24, 2009 02:47 AM

Now that the rsid is almost done (up to slight modifications and bugs fixing that will probably be necessary in the course of time) I turned to the document comparison itself.

The first more or less obvious use of the rsid is whenever two lines (text nodes) or two chars are compared. In addition to the condition that the two things being compared are the same I add the condition that their rsids are the same. This will ensure that the two things are not the same just by chance (which can easilly be the case when comparing chars or short and repetitive lines in the document) but because they were created in the same edit session.

Here is an example of how it goes in the CompareTxtNd function:

BOOL SwCompareLine::CompareTxtNd( const SwTxtNode& rDstNd,
const SwTxtNode& rSrcNd )
{
BOOL bRet = FALSE;

const SwDoc* pDestDoc = rDstNd.GetDoc();
const SwDoc* pSrcDoc = rSrcNd.GetDoc();

UINT32 nDstRsid = 0;
UINT32 nSrcRsid = 0;

// Only compare rsids if the rsidRoots are the same (docs have the same origin)
if ( pSrcDoc->getRsidRoot() == pDestDoc->getRsidRoot() )
{
nDstRsid = rDstNd.GetRsid( 0, rDstNd.Len() );
nSrcRsid = rSrcNd.GetRsid( 0, rSrcNd.Len() );
}

// erstmal ganz einfach!
if( rDstNd.GetTxt() == rSrcNd.GetTxt() && nDstRsid == nSrcRsid )
{
// der Text ist gleich, aber sind die "Sonderattribute" (0xFF) auch
// dieselben??
bRet = TRUE;
}
return bRet;
}

A few things to note:
The rsid check is applicable only if the two documents originate from the same document i.e. if their root rsids are the same, which is easily checked with the handy getRsidRoot() method;
If the root rsids are not the same or the documents don't have rsids, the two rsids will be 0;
To get the rsids I made a method of SwTxtNode, GetRsid(start,end);

Tzvetelina Tzeneva (noreply@blogger.com), June 24, 2009 02:22 AM

June 23, 2009
  • Up early; to work, installed a recent image; trotted off to Cambridge on the train - pottered about enjoying the sun. Caught up with the Collabora crowd. Pizza lunch, good to see Christian again.
  • Train back; dug at mail, entertained babes while J. went to a parent's evening. Dinner, Tony came over to talk - good time. Amazed by the staggering ignorance of basic accounting in this solar rave - if you spend $38000 now, and expect to get slightly less than $38000 back over twelve years, you are loosing money. Payback needs to be compared in net present value terms; still, a >10% return anually seems reasonable in today's market with ten year treasuries at sub 4%. Anyhow, despite the numbers not adding up he's hit on my new favorite solution for sustainable energy - Solar: numbers, perspective.

June 23, 2009 09:00 PM

#i103033# - Drawing: WMF import does not support fat lines
#i103029# - Installation: Installation breaks windows standard "send to mail recipient"
#i103031# - Presentation: Relax condition that restarts numbering for Outliner text
#i103028# - documentation: Wrong procedure for first line indent in lists.
#i103026# - framework: Translate comments in Testtool project code
#i103036# - framework: comphelper/inc/comphelper/stlunosequence.hxx migh cause build breakers on unxlngx6
#i103039# - framework: gsicheck fails to detect erroneous sdf-file string
#i103038# - framework: submenu appears very slowly
#i103032# - framework: uno:Open-URL with parameters
#i103042# - qa: [Automation] Verifiy clipboard-testcases.
#i103035# - sc: Calc quits without saving changes
#i103041# - sc: Date edit format does not match configured date format
#i103040# - sc: Precision error for large sums
#i103025# - sc: Runtime Error in MS Visual C++ Runtime Library
#i103023# - sc: Unacceptably long sort times
#i103027# - sc: Undo and redo displays the formula instead of the result
#i103037# - sw: Improvement in spacing between paragraphs
#i103034# - sw: Page break inserted into first paragraph after importing MS Word document.
#i103021# - sw: Throw IllegalArgumentException if set Propertyvalues to NumberingRule
#i103024# - sw: WW8: no default tabs in negative indent displayed anymore
#i103022# - sw: file does not open
#i103030# - udk: Implement component logging

June 23, 2009 03:44 PM


While working on the rulers fix, Christian pointed out that, with my fix, using rulers on a numbered list of paragraphs totally kills the numbering – because of the way I have to change the outline-defining entities (I pointed out that their atomicity is a real problem). So, this is what you get when changing the outline control item in the middle of a numbered list of paragraphs:

blog-sample-1-ooold-indented

That is, changing any attribute, even the color of the number, restarts numbering in Impress (notice the double occurence of the colored "a)"). While when changing indentation, this might be acceptable, the behaviour with color is clearly non-intuitive, and also likely a fall-out of the list level fixes. Let’s look at the competition:

blog-sample-1-ooo-indented

Somewhat different – changing outline attributes don’t affect numbering. I initially thought a bit about the indentation issue, as you can find arguments for both ways; ultimately though, deviating from MSO for no extremely good reason is something we usually avoid in OOo-land; and incidentally there’s a good reason for the way PowerPoint is doing it: indentation, font, coloring, numbering scheme, etc. is just formatting. The only thing I would consider content is the outline level, i.e. the depth of the nesting (of the numbered paragraphs), on the document level.

So with the golden rule that content is king and formatting is nothing, I went and boldly changed the way numbering is done in ooo-build, namely that only the outline level determines the counting (of course, unnumbered and bulleted paragraphs inbetween still restart the numbering):

blog-sample-1-ooold-indented

Dear LazyWeb, feedback about which behaviour you find more usable (and less surprising) much appreciated.

Posted in OpenOffice.org

thorstenb, June 23, 2009 02:36 PM

#i103020# - Database access: Formula Structure dialog crashes OO.o
#i103015# - Presentation: OpenOffice impress consumption 90% CPU when opened a simple .ppt file
#i103016# - Presentation: images are corrupted during open and save
#i103012# - framework: Files no longer accessible should not show up in recent documents list
#i103019# - sw: OpenOffice crashes when adding word to dictionary while document is open from USB drive
#i103018# - sw: WW8 Tables formatted with text wrapping = around
#i103017# - sw: docx export follow-up
#i103014# - sw: grey horizontal lines appearing in document
#i103013# - sw: oowriter ver 2.4.2 crash on print of selection

June 23, 2009 03:43 AM

June 22, 2009
  • Up early, to work; battling the build system, amazed by the under-thought Malthusian pessimism coupled with supposed eugenic solution. At least Malthus had the exuse of not having a large published literature on the subject to study first.
  • OPS call with Markus. Pizza with the family; read stories, put babes to bed & back to work.

June 22, 2009 09:00 PM

I used to like F10 for its ordered download in accordance with size. It used to suite me on my slower net connection at home and strong connection at work place.

Today I wrote a small plugin today called yum-download-order with ( an evil hack, for which I have reasons) because order by size has been removed for long. It downloads packages in accordance with size (smallest first) or largest first.

I have put in fedora review request at:
https://bugzilla.redhat.com/show_bug.cgi?id=507410

http://rakesh.fedorapeople.org/yum/yum-download-order-0.1.tar.gz

http://rakesh.fedorapeople.org/srpm/yum-download-order-0.1-1.fc11.src.rpm

http://rakesh.fedorapeople.org/misc/yum-download-order-0.1-1.fc11.noarch.rpm

From README file:

Usage
======

Configure
=========

File: /etc/yum/pluginconf.d/download-order.conf

Options: for downloadorder can be ‘default’, ’smallestfirst’,
‘largestfirst’ and by default ’smallestfirst’ is selected.

e.g
[main]
enabled=1
downloadorder=smallestfirst

Options with yum command
========================

Yum command options will override configure file options.

e.g yum –download-order=largestfirst install or
yum –download-order=smallestfirst install

I was planning to put in a download-by-deps ordering also, but first though about looking for use cases. So, in case you find it useful — i.e download by size or by deps .. please mention the use case here ?

Thanks,

Rakesh, June 22, 2009 05:14 PM


Last updated: July 03, 2009 03:46 AM

This site is maintained by Fridrich Strba

Subscriptions

Planetarium

Subscribe