Open Life

Opendocuments, Web Office, Office suites

Subscribe to RSS feed

Posts tagged with "ODF"

Platica de No a la OOXML en SlideCast

, , , ...

Con el afan de promulgar el comunicado y las cosas que hemos descubierto he creado una presentacion que intenta explicar el daño de Microsoft Open XML como estandar ISO.


Pueden ver la pagina original en: http://www.slideshare.net/jza/no-ooxml/

Hactivism: Join the No-OOXML campaign

, , , ...


So I have got deeply rooted to the campaign against OOXML to be corroborate as an ISO standard. Why would proprietary software and proprietary legacy formats should be qualified as an open standard. Users can't modify the standard, that is leveraged to Microsoft. The format just plainly suck and buying the jury is always not a good sign of openness.

Just to mention some reasons why this sucks:


    There is already an ISO standard named ODF (Open Document Format): a dual standard adds cost to industry, government and citizens.
  1. The OOXML specification is protected by multiple patents, where as the patent holder Microsoft corporation does not guarantee not to sue or confer any other rights for competitors. The basic implementation of such standard by the competition can face patent infringement cases around the world. This means a real threat for competitive applications even before the development begins.
  2. The idea of one standard should be clear, easy to implement by any party, with smallest specification possible, it should grant privileges for using such standard in any application, provide for compatibility or better said, interoperability between different applications using the same standard, free of patent infringement. The OOXML specification is 6,000 pages, which makes it a real hard to implement for the competition. An OOXML vendor does not guarantee anything to its competition and can sue or threaten them with patents. The OOXML encapsulates other binary data, not clear what they are, which the compatibility and interoperability features between different competitors cloaks in shadow, as a result of which the competitors will be unable to provide for a 100% compatibility with the binary data.
  3. The OOXML contains binary data for their "backwards compatibility" of their previous office standards, "backwards compatibility" with older Microsoft office documents; however, they do not publish the specification for other parties, which makes them Microsoft the only entity that can fully implement such specification with "backward compatibility".
  4. From the beginning, office suite applications by Microsoft were benefiting from their proprietary standards, where other parties were unable to implement such standard and make their products compatible. Microsoft decided to ignore the existing open standards, and as we have seen in the past, they are trying to bring upon a new “open” proprietary standard that can be fully integrated only by Microsoft itself. There have been Open Standards for document exchange out there for a longer time, Microsoft had pledged only one step for its implementation, but in the end it turns out to be a third party plug-in which was made by another developer (Sun Microsystems).
  5. To date, the standard has not been implemented by its vendor or the competition. It is clear that the Microsoft product will switch to their “open” standard in a certain time; does this mean competition in the field of standards?
  6. No standard can be backwards compatible; this is an application feature, which can support different versions of one standard.
  7. The OOXML is dependant on the Windows technology platform. Its specification is written to be fully implementable only on the Windows platform, which means other existing platforms cannot implement or use the standard and the customers will be literally stuck on the Windows technology from the first day they start to use OOXML in their Office.
  8. Specification of OOXML is clearly not implementable in its full version for the competitors.


Next you add posts from IBM's Rob Weir which seems to be more informed about what MS is doing on the background. You have ECMA coming open about their true goals basically saying, we will speed up whatever process as long as you become a $10,000 a year member.

If you think that OOXML should be a standard because everyone uses it, think again, where google the king of the internet give out the results of ODF files available on the web versus the ones available from OOXML it came out with ODF having 149,300 versus only 603 from OOXML.

So what is there to be done no

So I called ISO in Mexico and got to the committee that handles the OOXML petition. Finally I landed with this guy:
Subcomite 29 de CMISO
Fernando Solis, del comite mexicano para la atencion de la ISO
fsolis@canieti.net
(+52) 55 52 64 0808 ext. 208


Basically if you want to participate and you live in Mexico you should send a letter of intend to this address and express that you want to be part of it. So far I only got information for people representing a group. I will need to ask for individuals. There is no cost to take part of the group yet there is a lot of documentation we should go through.

You should send the letter to this address:
Culiacan 71
Col Hipodromo condesa
CP. 06100
Delegacion cauhtemoc
Mexico DF.


If you need further information you can always drop me a private message. Please be hacktivist today before we become what happened to Chile.

Closer look at ODF vs. OOoXML

, , , ...

Sam Hiser is one of the original founders of the OpenOffice.org community, he has been available to the community since early 2000-2001. He has also co write one of the very first OpenOffice.org books. Using of course, OpenOffice.org.

Now he launches a great in depth analysis of OpenDocument format and the OpenXML format from Microsoft. He goes into topics such as true openness, study of the components and legacy dependency. This is a great topic that also has much to do with a recent interview by Gary Edwards at IT Conversations.

Very good read to jump on board with what's going on at the Open Standard camp.

http://fussnotes.typepad.com/Achieving_Openness_1point0.html

Parsing XML with OOoBasic

, , ,

OpenOffice.org is loaded with a full IDE and a language that even if it looks like a toy language. This weekend I have been reviweing a lot of code on OOoBasic and found that OOoBasic is a powerful script. One of the things that show the power of a very high level OOoBasic is parsing an XML file. Since OOo is made from XML it seems glorious that OOo could autoconfigure itself.

First is the powerful UNO framework which is lives in the inner pieces of OpenOffice.org. The UNO interface is conformed by interfaces, services and methods. The cool thing is the wide array of interfaces that OOoBasic can use and manipulate.

OOoBasic can parse XML on different ways, from SAX which is a smaller and simpler stream parser to a DOM parsing which will be a more indepth parsing based on the Document Object Model. This are both on the XML Module with hundred of tools that will be able to configure and reconfigure the code.

So here is the code that I was working with. First I needed to get an XML file, the file was a simple employee document.
<Employees>
   <Employee id="101">
       <Name>
          <First>John</First>
          <Last>Smith</Last>
       </Name>
       <Phone type="Home">785-555-1234</Phone>
   </Employee>
</Employees>


Then here is the first stage of the code, we basically load the XML by the first interface which is the one that deals with external file manipulation:
Sub Main
   cXmlFile = "/home/user/tmp/test.xml"
   
   cXmlUrl = ConvertToURL( cXmlFile )
   
   ReadXmlFromUrl( cXmlUrl )
End Sub


We first create the ConverToURL function that will basically make the path to the file get used like a URL and then execute the function ReadXmlFromUrl that we will show next:

Sub ReadXmlFromUrl( cUrl )
   oSFA = createUnoService( "com.sun.star.ucb.SimpleFileAccess" )
   oInputStream = oSFA.openFileRead( cUrl )
   ReadXmlFromInputStream( oInputStream )
   oInputStream.closeInput()
End Sub


This function use the SimplefileAccess to generate a Service using the createUnoSerive using the interface from the API. Then we will execute one of the methods called openFileRead this will get the file and to a variable and then implement the ReadXmlFromInputStream. Finally we close the the file using closeUput.

The next function is the ReadXmlFromInputStream, this is the one in charge of reading the XML.

Sub ReadXmlFromInputStream( oInputStream )
   oSaxParser = createUnoService( "com.sun.star.xml.sax.Parser" )
   oDocEventsHandler = CreateDocumentHandler()
   oSaxParser.setDocumentHandler( oDocEventsHandler )
   oInputSource = createUnoStruct( "com.sun.star.xml.sax.InputSource" )
   With oInputSource
      .aInputStream = oInputStream 
   End With
   oSaxParser.parseStream( oInputSource )
End Sub


This is the second function that is supposed to read the XML and will execute the parser itself. First we call the Parser service into a variable called oSaxParser. Then we have the CreateDocumentHandler then the parser will get the setDocumentHandler function.

Private goLocator As Object
Private glLocatorSet As Boolean


We build an object as goLocator and make it as a boolean object, we later assign it to false under the DocumentHandler. We need to create the service for XDocumentHandler first.

Function CreateDocumentHandler()
   oDocHandler = CreateUnoListener( "DocHandler_",_
                                    "com.sun.star.xml.sax.XDocumentHandler" )
   glLocatorSet = False
   CreateDocumentHandler() = oDocHandler
End Function


Finally we have a series of functions where we specified the DocumentHandler to print out on the different elements of the XML. By default I comment all this handlers except for the character which is the one that specified the content. Unfortunately print will not just report the visible content such as John but all the invisible characters such as spaces, end of line and tab keys..


Sub DocHandler_startDocument()
'   Print "Start document"
End Sub

Sub DocHandler_endDocument()
'   Print "End document"
End Sub

Sub DocHandler_startElement( cName As String, oAttributes As _
                             com.sun.star.xml.sax.XAttributeList )
'    Print cName
'	Print oAttributes.Length
End Sub

Sub DocHandler_endElement( cName As String )
'   Print "End element", cName
End Sub

Sub DocHandler_characters( cChars As String )
	Print "Contenido:",cChars
End Sub 

Sub DocHandler_ignorableWhitespace( cWhitespace As String )
'	Print cWhitespace
End Sub

Sub DocHandler_processingInstruction( cTarget As String, cData As String )
End Sub


Sub DocHandler_setDocumentLocator( oLocator As com.sun.star.xml.sax.XLocator )
   goLocator = oLocator
   glLocatorSet = True
End Sub

Debo admitir que el proceso no es muy claro todavia pero haciendo una revision se puede ver que queremos 3 cosas:
  1. Invocar el servicio de parseo de XML
  2. Enviar nuestro llamado a una ventana dentro de OOo

GOOogle y OpenOffice.org

, , , ...

GOOogle has been having a lot of relationship lately with the OpenOffice.org community. Recently the announcement of the inclusion of the OpenOffice.org projects into Google Summer of Code.

A Special page was created to hold this projects within the openoffice.org site.

On other news OpenDocument Text format are now recognized by Gmail, this is a strong initiative saying that this company is really backing up open standards.

Finally a lil tip for all you OpenOffice.org users to google search a word within OpenOffice.org.

  • The next step is to have the right search engine configured. You do this by going to Tools > Options > Internet >Search. The search option will help you choose the search engine to use. So now we will be choosing the search engine we want. If you want a custom engine like Wikipedia you can choose to add it.
  • Once we choose the engine and click OK we can open a document select a term and then with the text marked we can click on Search. This will open a browser and show the result of the text.

GLO Talk

, , , ...

2 Weeks ago I have a talk about OpenOffice.org and the way the community is constructed, the talk was kind of rushed but I think I did a good job. You can see the presentation http://www.alexandrocolorado.com/galeria/ooo/GLO_Presentacion.html. So here are some of the pictures I got from the talk:




You can see the rest in the album.

The talk was mainly written about the community, with the different projects and area that OpenOffice.org is divided. I basically divided the activities of the community into 4, from promotion, development, support and localization.

I also explain into how OOo is constructed, it's UNO API and also ways they can go to contribute and where the resources are out there.

XML is the future

, , , ...

Having seen Svante Schubert talk about XML filters within OpenOffice.org the light bulbs always go on. Basically the theory that OOo might become an incredible WYIWYG XML editor to develop process and deploy schemas across the board is facinating.

Schemas such as ebXML, UBL, LegalXML and many others will be able to have a front-view thanks to the development of these filters.

OOo might find a nitch which includes the standarization of business process across companies, web services or servers that simply this process, assemble reports and finally make the OpenDocument format a format not restricted to the Office suite but also a default format for accesing and viewing data across the board.

We do still need a common-ground framework and eventually have the XML schema itself mature a bit more. I can see a business opportunity to develop ODF based components software and services to consume this data on a rather added value services.

On other news is actually intersting seen engineers from Sun and IBM working hand in hand to make OOo fly.

Bob and Svante