2 calligra sprint kexi: introduction for kde...

36
2 nd Calligra Sprint Kexi: Introduction for KDE Contributors Jarosław Staniek, November 2011

Upload: others

Post on 20-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

2nd Calligra Sprint

Kexi: Introduction for KDE Contributors

Jarosław Staniek, November 2011

Page 2: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Why DB Apps?

See “Databases and Spreadsheets” in the Kexi Handbook

→ link

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 2/36Jarosław Staniek, November 2011

Page 3: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

The Kexi ProjectStarted in 2002→ with KOffice/Calligra from the day one

Had full-time contributor in 2003-2007

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 3/36Jarosław Staniek, November 2011

Page 4: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

The Kexi ProjectFirst nontrivial KDE app on Windows (in 2003)

→ Driving force of the KDE on Windows Project

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 4/36Jarosław Staniek, November 2011

Page 5: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

See Kexi Features List at http://kexi-project.org/features.html

Consistent VisionNOT a MS Access clone

→ less tied to the file db specifics than MS Access

→ GUI does not mimic MS Access

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 5/36Jarosław Staniek, November 2011

Page 6: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Consistent VisionBUT acknowledges advantages of desktop databases

→ aimed at casual and power users

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 6/36Jarosław Staniek, November 2011

Page 7: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Consistent Vision→ almost no database knowledge needed

→ users discover features while using Kexi

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 7/36Jarosław Staniek, November 2011

Page 8: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Consistent VisionNot much aimed at developers

→ default GUI not cluttered with developer-oriented features

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 8/36Jarosław Staniek, November 2011

Page 9: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Why not server db+php+apache?

Offline mode by default and with zero effort!

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 9/36Jarosław Staniek, November 2011

Page 10: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Offline modeKexi utilizes industry-standard () SQLite 3 file db engine

Lightweight, empty database is 9KB!

→ no XML, no compression

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 10/36Jarosław Staniek, November 2011

Page 11: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi file formatMore popular/standard than LibreOffice Base's format

→ there is no ODF for databases but Kexi models its definitions after ODF (eg. for reports)

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 11/36Jarosław Staniek, November 2011

Page 12: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Why Kexi? Point & click technology, good for:

→ education

→ prototyping

→ preparing quick & dirty “office tools”

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 12/36Jarosław Staniek, November 2011

Page 13: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Why Kexi? -cont'd

Really smooth transition from file db to server db and back

→ good when users expand their skills

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 13/36Jarosław Staniek, November 2011

Page 14: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

CONSTANT time startup!

(no matter how big the database is)

→ don't try it with XML-based spreadsheets ;)

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 14/36Jarosław Staniek, November 2011

Page 15: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

Cannot open databases that it did not create

→ because of some extra meta-data

→ this may be removed in 3.x to some extent

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 15/36Jarosław Staniek, November 2011

Page 16: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

Best known for its ease of use, (partial) MS Access support and good CSV support

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 16/36Jarosław Staniek, November 2011

Page 17: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

Kexi is NOT document-driven

→ Even for db files: data is saved automatically at record (row) level, not at the db level

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 17/36Jarosław Staniek, November 2011

Page 18: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

The GUI is consisted of LARGELY SEPARATED VIEWS (aspects)

→ much like in KDevelop or Qt Creator

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 18/36Jarosław Staniek, November 2011

Page 19: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

Large emphasis on concepts of data model, data sources and views

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 19/36Jarosław Staniek, November 2011

Page 20: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

Customizable GUI:

→ also serves as building block for fully-featured user applications

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 20/36Jarosław Staniek, November 2011

Page 21: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specificsKexi “vs” Words GUI:

- Word processor's user content is the central frame

- Kexi's user content is the whole application main window, with menus, toolbars

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 21/36Jarosław Staniek, November 2011

Page 22: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specificsModern GUI of 2011(not 1980s)

→ pushes the differences further, addresses specific needs not met by KDE 3 GUIs

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 22/36Jarosław Staniek, November 2011

Page 23: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi specifics

But still:

- there is Qt Style awareness

- components sharing within Calligra

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 23/36Jarosław Staniek, November 2011

Page 24: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Why Kexiand not Qt Designer+ QtSql-based development?

- no need for tons of glue code

- no need for knowledge of database internals/specifics

- no db administration2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 24/36Jarosław Staniek, November 2011

Page 25: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Why Kexiand not Qt Designer+ QtSql-based development?

- zero compilation:time saver, architecture-independent apps

- still, extension APIs blend well with Qt/KDE development

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 25/36Jarosław Staniek, November 2011

Page 26: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

http://community.kde.org/Predicate

Why Kexiand not Qt Designer+ QtSql-based development?

Prepared for built-in scripting features

→ still experimental (unstable API)

Predicate, next-gen db conn.& creation lib, will come in Kexi 3

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 26/36Jarosław Staniek, November 2011

Page 27: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

CompetitionKexi is really competitive comp. to FOSS alternatives

→ LibreOffice Base dependent on Java, tried to be MS Access clone, poor framework

→ GNOME's Glom designed as PostgreSQL-only

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 27/36Jarosław Staniek, November 2011

Page 28: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Competition

Zero alternatives in FOSS Qt/KDE world

→ KNoda no longer maintained, Qt 3

→ Rekall is abandoned, Qt 3

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 28/36Jarosław Staniek, November 2011

Page 29: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Kexi Mobile

Oct 2010:

N900 loaned to Adam Pigg

Thanks Suresh! (Nokia)

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 29/36Jarosław Staniek, November 2011

Page 30: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

KEXI_MOBILEbuild option

http://community.kde.org/ Kexi/Mobile

Kexi Mobile

After TWO MONTHS:→ usable proof of concept mobile db viewer with forms and reports

→ Kexi refactored to address mobile needs

→ now in Calligra code

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 30/36Jarosław Staniek, November 2011

Page 31: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Qt Quick UINot in development for now

→ would be lightweight, similar to Harmattan Office

→ plans to start with Kexi Mobile Forms in Qt Quick

→ experience in this tech.: Kexi developer Adam Pigg

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 31/36Jarosław Staniek, November 2011

Page 32: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

What's new in 2011?Two SUCCESSFUL GSoC projects:

→ Web form/report elements (QtWebKit-based)

Map form/report elements→ (Marble-based)

Good examples of code reuse

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 32/36Jarosław Staniek, November 2011

Page 33: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Shreya Pandit

Radek Wicik

What's new in 2011?Two GSoC 2011 students become REGULAR contributors!

(this is first Sprint for Shreya, second for Radek)

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 33/36Jarosław Staniek, November 2011

Page 34: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

DimitriosT. Tanis What's new in

2011?Actual and well maintainedKexi Handbook!

→ Dimitrios becomes Kexi developer too!

→ and he's at this Sprint2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 34/36Jarosław Staniek, November 2011

Page 35: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Status

Three new developersin 2011!

→ willing to take part in Calligra Academy

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 35/36Jarosław Staniek, November 2011

Page 36: 2 Calligra Sprint Kexi: Introduction for KDE Contributorskexi-project.org/pics/akademy/2011/helsinki_sprint/...Kexi “vs” Words GUI: - Word processor's user content is the central

Thank You

2nd Calligra Sprint: Kexi: Introduction for Calligra Contributors 36/36Jarosław Staniek, November 2011