Kexi/Links: Difference between revisions
< Kexi
(→Ideas) |
|||
Line 105: | Line 105: | ||
===Localization=== | ===Localization=== | ||
*Database-based i18n in [http://propelorm.org/blog/2011/01/11/propel-gets-i18n-behavior-and-why-it-matters.html Propel ORM]. | *Database-based i18n in [http://propelorm.org/blog/2011/01/11/propel-gets-i18n-behavior-and-why-it-matters.html Propel ORM]. | ||
*Database-based i18n in [http://www.codeproject.com/Articles/8084/Creating-multilingual-websites-Part ASP-based websites]. | |||
==Competition== | ==Competition== |
Revision as of 21:57, 13 August 2014
- Linq++
- A simple experimental implementation of a LINQ-like query language for C++ containers.
- What users hate and what like about MSA 2k7
- LoXiM
- An experimental, an object oriented, semistructured Database Management System.
- JotForm
- web-based forms, compare to kexi web forms...
- Quick Reference Guides to Popular Software
- good idea for koffice apps
- Kexi commit RSS
- Customize here
- Qt Property Browser
- Qt Solution similar to our KoProperty2. But at the time of writing the former we did not have access to LGPLed Qt Property Browser.
- Grantlee
- Open Source string template system based on the Django template system from the Django project
- uSQLite
- A network wrapper for SQLite
- Tanit
- A set of Oracle to Kopi (a Java based framework) migration tools providing automatic translation of your Oracle PL/SQL, Forms and Reports applications.
- TOra
- An open-source multi-platform database management GUI that supports accessing most of the common database platforms in use, including Oracle, MySQL, Postgres, and ODBC.
- SchemaSpy
- A Java-based tool that analyzes the metadata of a schema in a database and generates a visual representation of it in a browser-displayable format.
- MDB Tools
- A library for accessing Microsoft Access .mdb files
- MDB Doc
- An add-in for Microsoft Access 2000, XP, 2003, 2007 and 2010 to automate the creation of database documentation in XHTML format. An older version (1.40) supports Access 97. Definitely a more reliable way of importing MDB/ACCDB to Kexi (planned this approach years ago). Extra idea is to add web service that accepts the Access files online.
- qooxdoo
- (pronounced ['ku:ksdu:]) is a framework for creating desktop-style web applications (rich internet applications, RIAs) for desktop and mobile clients; idea: use it for the next generation Kexi WebForms.
- Saint
- A suite of tools to assist in the workflow for doing bibliometric/ scientometric research, that is, research into the workings of the science system itself based on data on publications, patents and so on. Qt Ambassador link, by André Somers, adds DDL and more on top of QtSQL, connects with MySQL and MSA (the latter with MS ADO); jstaniek met André at QtCS 2011; see also QtSQL discussions at Qt5-feedback
Ideas
- Enable searching actions by name like on Mac [1] [2] (or Plasma)
- Menu ideas [3]:
- Pontoon - interesting approach to localization
- Use Open Database License (ODbL) for example Kexi databases
- Idea for Improvement of Tabbed Toolbars
- Opera visual tabs
- OData, the Open Data Protocol, is a Web protocol for querying and updating data. Even MSA can support it.
- Finally add support for themes/color palettes like in MSO
- Brackets is Adobe's new open source code editor for web development using HTML, CSS and JavaScript. Idea: it's style of presenting opened documents with '<'. Maybe Kexi could drop tabs for this?
- Google Labs
- Google Labs data wiki - wiki for structured data; our old idea was similar, to implement wiki-like database creator on top of KexiDB/Predicate
- Google Labs sets - have you ever wanted to larger test set of items from give category? E.g. animals? Google sets uses the big database and categories to discover matching set and return its items. Can be useful as a plugin for Kexi.
- Google Fusion Tables - storage for Kexi?
- Table Designer
- How about QDBML (Qt Database Modelling Language)? That would use QML-like markup for DDL queries. See also JSON-DB and Qt JSON DB.
- Forms, Reports
- Widget palette for Forms & Reports: Xcode does it similarly to our plans [6] [7]
- Idea: display more than one form/report on the same sheet [8]; having zoom enabled would help to navigate
- Idea: display help box for form widgets/report elements [9] [10]
- Idea: move "Create" tab to toolbox [11]
- Add means for styling forms using the Qt CSS
- Reuse Spatialite, Sqlite GIS extension
- BOND uses database comments to store information about casual relationships
- it's good idea to have some use/reuse of db comments in Kexi but it's not clear if it's safe to use them for metadata since users would already depend on comments for other purposes; so BOND usage of comments is a bit hacky
- it's good idea to have casual (weak) relationships, it's compatible with how KexiDB/Predicate is going to deliver relationships (i.e. both strong and casual)
- KoolGrid - web grids
- Explore topic of Faceted search, related to "Query by example".
- Google Cloud SQL is web service that allows you to create, configure, and use relational databases with your App Engine applications.
- Kexi could propose to disable or uninsatll the least used plugins, see how Thunderbird does this [12].
- Add integration to the http://www.taskjuggler.org and Plan
- Add integration to the Kanboard. It's based on SQLite so would be interesting. And we use it within KDE at https://todo.kde.org.
- Add integration with Percona Toolkit for MySQL
- Use jackcess instead of mdbtools. That would add java dependency but only for the driver. They beat mdbtools [13]. And are 5 times faster than original MSA. They really support many details [14]
- Later someone would port it back to C++
- Grouping columns of Table View as in http://stratusbase.com/demo [15]
Kexi-based bugzilla client
Make Kexi useful as GUI for KDE Bugzilla. Reason: to eat our own dog food in Calligra. Use bugzilla's webservices for this. Probably separate plugin could be developed. Online/offline operations with synchronization. (discussed with Inge who likes the idea)
See also:
Use Fossil DVCS to handle versioning in Kexi file db
Fossil SQLite-based DVCS, so fits nicely to Kexi needs. It lacks crazy ideas of git, stability is the goal.
Free test Data for Kexi
- datasets used by the Google Books Ngram Viewer (free as beer)
- Wiktionary database. It exists in MySQL format but can be converted into SQLite file.
Optimizing
- Options for SQLite speedup, could be offered via Kexi Tuning Tools
Scripting
- public scripting apis should be appealing to users; make them simple, e.g. like this [16]
- javascript db APIs ideas for node.js sql-vs-nosql-which-is-better
- IPython provides a rich toolkit to help you make the most out of using Python, with powerful Python shells (terminal and Qt-based), etc. Idea: support similar interactive shell for Kexi projects.
Data sharing
- Contractor lets to share data between apps - ubuntu-only for now, see also http://elementaryos.org/docs/apis/contractor
- Fielded Text is a proposed standard which provides structure and schema definition to text files which contain tables of values (for example, CSV files)
- Idea: when implementing Kexi CSV Importer's import specification, make it compatible with the Fielded Text. Support this metadata format directly is welcome.
- There are many features that can be covered by the CSV Importer: http://www.xilytix.com/fieldedtext/component/features.html.
- Look at RazorSQL's importer for CSV import ideas (e.g. options)
- PANDA s a "data library", which means that it stores all the data you work with--voter registration records, police reports, water testing results, etc. PANDA is also a search engine. Useful to look at it for RESTful apis of future Kexi's 3-tier architecture.
.kexi files encryption
- Add encryption option using the SQLCipher. Kexi should ask for password on opening is needed. Integration with KDE Wallet is suggested. There may be others but this is the only known, reasonable open source option. Extra TODO: evaluate possibility of encrypting only selected tables.
DB Connection proxy/pool/relay/load balance
- With SQL Relay, you can speed up database-driven web-based applications, enhance the scalability of database-driven web-based applications, distribute access to replicated databases, throttle database access, access databases from unsupported platforms and migrate applications from one database to another.
Schema Analyzer
- SchemaSpy is a tool that analyzes the meta-data of a schema in a database and generates a visual representation of it in a browser-displayable format.
GUI Layout
- From: [17]:
Localization
- Database-based i18n in Propel ORM.
- Database-based i18n in ASP-based websites.
Competition
- Microsoft Jet Database Engine Programmer's Guide
- useful when working with the MDB driver
- Ribbon Designer
- what's new in 'the other' GUI impl.
- Theme Builder
- It would be far easier to implement ODF replacement, since unlike MSOOXML, ODF shares more styles with the same XML markup across apps. For Kexi Forms and Reports themes is a TODO as well.
- Developing Access 2007 Solutions with Native C or C++
- MSA 2k10 gets a kind of triggers
- Netbeans GUI looks similar to Kexi 2 GUI in some aspects
- Total Access Statistics 2010 for MSA 2010
- Beyond generic databases...
- Qtitan DataGrid
- Ideas for grouping
- Genero Report Writer
- Reporting tool, TODO: perform research :)
- Zoho Creator
- Like MSA Online: https://www.zoho.com/creator, https://www.zoho.com/creator/migrate-msaccess-database.html
- Office 2010 menu to ribbon reference workbooks
- (xlsx files)
- Ways to use Access data in Excel
- FileMaker's docs
- Lotus Approach
- Alpha Five
- OnlineGlom
- Simple Visual Database Creator
- Let's look at its simplicity
- Ways to use Access data in Excel
- Similar to plans of Kexi/Tables integration
- MSO 2k10 branding - the modern menu is close already
- firefox sqlite manager
- Limbas
- A database management system for creating web-based applications
- Dabo
- A 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit. MIT-licensed.
- HTML Smile widgets
- Ideas for implementation of data widgets
- Pentaho Business Analytics
- Includes business intelligence, data integration and data mining capabilities
- ADO.NET Entity Framework (EF)
- An object-relational mapping (ORM) framework for the .NET Framework
- Caspio Online Database
- Allows to create online databases and complete business applications without writing code, using an app-builder.
- gLabels
- A program for creating labels and business cards for GNOME. Idea: make Kexi reports 100% competitive to this use case. To do so, include plugin with predefined templates and an Assistant.
- Access2Base
- An OpenOffice/LibreOffice Basic library of macros for (business or personal) application developers and advanced users. The provided macros implement a number of functionalities - directly inspired by MS Access.
- dbForge Studio for MySQL
- Rich GUI-based db management app. Free Express version available.
- Solutions for taking MSA to the cloud
- Microsoft Access Databases Online
- GOM
- A DataMapper for GObject. See also SQLHeavy below.
- SQLHeavy
- A wrapper on top of SQLite with a GObject-based interface, providing APIs for C and Vala, GObject Introspection support, and additional functionality not present in SQLite.
- Camelot
- Provides components for building business applications on top of Python, SQLAlchemy and Qt. Inspired by the Django admin interface. Dually licensed (GPL/Commercial).
Misc
- A book mentioning Kexi
- kexi-project.org links:
- "Open Source Databases" presentation: "No proprietary options on Linux – OpenOffice.org Base or Kexi are your best bets."
- MS strongly recommends not to use MSA on Web Server. It says that when multiple, concurrent users make requests of a Microsoft Access database, unpredictable results may occur.
- Adaptive Coloring for Syntax Highlighting
- tPostgres extends core PostgreSQL with Sybase & SQL Server compatibility
- Generating SQL Syntax Diagrams
- Datawrapper, an open source tool helping anyone to create simple, correct and embeddable charts in minutes
Blog topics
- TODO: Predicate conveniently escapes string for you thanks to prepared statements or C++ overloaded operators. See how hard is this in libgda: [20] [21].
Books
- Documenting Software Architecture (Book)
- JET Database at wikibooks