Kexi/Junior Jobs/Add support for importing tables from LibreOffice Base: Difference between revisions
< Kexi | Junior Jobs
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''Status: in progress''', assigned to Harshita Mistry ([email protected]) | '''Status: in progress''', assigned to Harshita Mistry ([email protected]) | ||
<div style="float:right">http://www.wesnoth.org/images/GSOC_2014_150x150.png</div>{{Note|This task is assigned within the [https://google-melange.appspot.com/gsoc/homepage/google/gsoc2014 GSoC 2014] program for KDE. Application page: [https://google-melange.appspot.com/gsoc/project/details/google/gsoc2014/harshita/5717271485874176].}} | |||
Goal: Add support for importing (Kexi calls it data/design migration) tables from LibreOffice (or OpenOffice) Base (ODB format) to Kexi. | Goal: Add support for importing (Kexi calls it data/design migration) tables from LibreOffice (or OpenOffice) Base (ODB format) to Kexi. | ||
Proposed and mentored by [[User:Jstaniek|Jstaniek]], 2014 | Proposed and mentored by [[User:Jstaniek|Jstaniek]], 2014 | ||
==Knowledge Prerequisites== | ==Knowledge Prerequisites== |
Revision as of 20:42, 1 May 2014
Status: in progress, assigned to Harshita Mistry ([email protected])
Goal: Add support for importing (Kexi calls it data/design migration) tables from LibreOffice (or OpenOffice) Base (ODB format) to Kexi.
Proposed and mentored by Jstaniek, 2014
Knowledge Prerequisites
C++, some Qt, some databases, some XML, software architecture
Requirements
- In the GUI the feature shall be available in the same place as the import from MDB: External Data -> Import Tables -> Table Importing Wizard
- Then user would see .odb support in the open file dialog, just like it has access to importing CSV or MDB
Hints
- This task involves research on ODB format (it's relatively openly defined)
- Qt/C++ shall be used for the task together with Java engine (HSQLDB) and probably connected via JNI. This could be introduction to later development of complete database import from ODB to a Kexi database.
- See [2] for a start.
- Sample .odb databases are available for this tutorial.
- Studying kexi/migration/importtablewizard.cpp which is a GUI taking an instance of implementation of a migrate driver derived from KexiMigration::KexiMigrate (in your case - the ODB driver). It's the m_migrateDriver attribute.
- Implementing plugin (needed methods of the driver) in migration/odb/ by looking how it was performed for other cases, e.g. for mysql (see kexi/migration/mysql/ dir) or other cases such as pqxx, txt, xbase, sybase or mdb
- In the actual C++ implementation, KoOdfReadStore class from calligra libs can be used to read contents of the .odb.
Organization of the works
- commit changes to student's public branch at least once after each workday, not after a milestone
- developing wire-frames/prototypes of the software in advance, especially important since the solution is rather hybrid
- documenting them and developing/designing tests while the development progresses, not as the last step
- developing both C++/Qt side of the solution as well as the Java side in parallel to catch possible difficulties earlier
- putting the tasks in calendar (we may use e.g. a public Google calendar for that) so we can track the status
After implementation
TODO
Development
This is a notepad for development
Coding standards
Source Code Location
- Early stage: 3rd-party repository, cloned Calligra repo
- Later: KDE repo(s)
- Feature branch: kexi-odb-mistry
Once the code is ready for review, it will be provided for review at http://git.reviewboard.kde.org. Then the code will find its way to the master branch of calligra.