Data liberation: Difference between revisions

From OpenPetra Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by 2 users not shown)
Line 10: Line 10:


== OpenOffice file support (OpenDocument) ==
== OpenOffice file support (OpenDocument) ==
* http://www.codeguru.com/csharp/csharp/cs_data/xml/article.php/c16311 How to Read and Write ODF/ODS Files (OpenDocument Spreadsheets)
===Manual Way===
* http://opendocument4all.com/content/view/13/29/ "AODL has been started by Lars Behrmann as a independent C# library for all kinds of ODF processing and in February 2007 it has become the .net module of the OpenOffice.org ODF Toolkit project. The library is completly written in pure C# and can be used to extend your .net based software to support the OpenDocument Format."
The article [http://www.codeguru.com/csharp/csharp/cs_data/xml/article.php/c16311 How to Read and Write ODF/ODS Files (OpenDocument Spreadsheets)] explains the steps a C# programmer needs to make to have basic read and write capabilities for the OpenDocument Spreadsheet format. No external library is needed for that.
** project home: http://wiki.services.openoffice.org/wiki/AODL
 
===AODL .NET Library===
"AODL is the .net module of the ODF Toolkit. The library is completly written in pure C# and can be used to extend your .net based software to support the OpenDocument Format. To use AODL within your projects respectively software there is no need of a deep knowlegde of the OpenDocument Format itself. It would be helpfull to understand what's going behind the scenes and for writing your own extensions, but as mentioned before this isn't a fundamental requirement."
 
* Creating new documents in the text and the spreadsheet format.
* Loading and manipulating documents in the text and spreadsheet format.
* Initial support for Charts within Spreadsheet Documents.
* Export loaded or created documents into the HTML format (text and spreadsheet documents).
* Export loaded or created documents into the PDF Format. (this is in an early state of implementation and only available for text documents)
 
====Links====
* [http://wiki.openoffice.org/wiki/AODL AODL Project Home]
* [http://wiki.openoffice.org/wiki/AODL_FAQ FAQ's]
** According to the FAQ, AODL does ''not'' need an installed OpenOffice on the machine where it is executed and works on mono on Linux as well!
* [http://wiki.openoffice.org/wiki/AODL_examples Examples]


== Microsoft Excel file support (Office Open XML) ==
== Microsoft Excel file support (Office Open XML) ==
Line 21: Line 35:
* http://www.carlosag.net/Tools/ExcelXmlWriter/
* http://www.carlosag.net/Tools/ExcelXmlWriter/
* see also http://www.codeproject.com/KB/office/ExcelGenerator.aspx; problem with compatibility of Code Project Open License (CPOL) with GPL though; see http://en.wikipedia.org/wiki/Code_Project_Open_License_(CPOL): "The license is thus incompatible with the GPL and some other open source licenses"
* see also http://www.codeproject.com/KB/office/ExcelGenerator.aspx; problem with compatibility of Code Project Open License (CPOL) with GPL though; see http://en.wikipedia.org/wiki/Code_Project_Open_License_(CPOL): "The license is thus incompatible with the GPL and some other open source licenses"
===Export to Excel 5.0 / BIFF8 format ===
We are now using excellibrary (LGPL) for exporting files in the Online Registration Module
http://code.google.com/p/excellibrary/


== Data Exchange between Software Services ==
== Data Exchange between Software Services ==
Line 29: Line 47:
* http://jayrock.berlios.de/ Jayrock
* http://jayrock.berlios.de/ Jayrock
** http://www.novogeek.com/post/2009/04/22/Converting-DataTable-to-JSON-using-JayRock.aspx
** http://www.novogeek.com/post/2009/04/22/Converting-DataTable-to-JSON-using-JayRock.aspx
* see also http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=768&ns=16282 mentioning System.Web.Script.Serialization.JavaScriptSerializer and System.Runtime.Serialization.Runtime.DataContractJsonSerializer

Latest revision as of 14:52, 26 July 2013

Data liberation

The idea is that it should be easy to get data in and out of OpenPetra.org

XML/YML/CSV support

  • XML: advantages: easier to handle from external programs, they can transform the data
  • YML: advantages: easy to read and write for manual adjustments
  • CSV: advantages: edit long lists; problems: Excel reformats and may cut off account codes etc

OpenOffice file support (OpenDocument)

Manual Way

The article How to Read and Write ODF/ODS Files (OpenDocument Spreadsheets) explains the steps a C# programmer needs to make to have basic read and write capabilities for the OpenDocument Spreadsheet format. No external library is needed for that.

AODL .NET Library

"AODL is the .net module of the ODF Toolkit. The library is completly written in pure C# and can be used to extend your .net based software to support the OpenDocument Format. To use AODL within your projects respectively software there is no need of a deep knowlegde of the OpenDocument Format itself. It would be helpfull to understand what's going behind the scenes and for writing your own extensions, but as mentioned before this isn't a fundamental requirement."

  • Creating new documents in the text and the spreadsheet format.
  • Loading and manipulating documents in the text and spreadsheet format.
  • Initial support for Charts within Spreadsheet Documents.
  • Export loaded or created documents into the HTML format (text and spreadsheet documents).
  • Export loaded or created documents into the PDF Format. (this is in an early state of implementation and only available for text documents)

Links

  • AODL Project Home
  • FAQ's
    • According to the FAQ, AODL does not need an installed OpenOffice on the machine where it is executed and works on mono on Linux as well!
  • Examples

Microsoft Excel file support (Office Open XML)

Export to Excel 5.0 / BIFF8 format

We are now using excellibrary (LGPL) for exporting files in the Online Registration Module

http://code.google.com/p/excellibrary/

Data Exchange between Software Services

This is quite different from the previous approaches, because it does not target the user, but the data exchange between software services and programs; one example could be an AJAX webclient that communicates with the server via JSON or XML.

JSON