Skip to content

db4o Developer Community
Syndicate content
Updated: 3 days 18 hours ago

Real Android apps leveraging db4o persistence engine (Part 1)

Tue, 07/20/2010 - 18:54

This the first delivery in a series of articles targeted at showing developers how db4o (an open source database that leverages today's object-oriented languages, systems, and mindset) is being used in several Android projects to avoid all the pitfalls and hassles of object-relational mapping while benefiting from an elegant and straight forward way to evolve a domain model which, in the end, translates into faster, easier upgrades for users.

More: http://java.dzone.com/articles/leverage-db4o-your-android

Release Notes 8.0.156

Tue, 07/20/2010 - 18:17
A new 8.0 development release is online. Below  is the list of changes since our last 8.0.146 release. We highly recommend all 8.0 users to upgrade to this build since we have fixed 2 serious issues ( bold ). Both issues were introduced with the new BTreeIdSystem in the 8.0 branch. Production and Stable builds are not affected. COR-2008 - [Android] ClassCastException trying to cast Db4oDatabase to GenericObject COR-2003 - [.Net] Investigate failing.Net 4.0 tests due to cecil update COR-2001 - With low custom max stack depth, PendingSet processing order expected by static field handling is not maintained COR-2000 - Defragmenting string field indexes is broken with btree id system COR-1998 - Introduce ID mapping sanity checking to be used in dedicated db4ounit fixture COR-1997 - Commit throw an UniqueFieldValueConstraintViolationException after defragment COR-1996 - java.lang.OutOfMemoryError in UnicodeStringIO.read COR-1992 - [Android] Review all ' ...

Release Notes 7.12.156

Tue, 07/20/2010 - 18:10
A new 7.12 production release is online. Here is the list of changes since our last 7.12.145 release: COR-2001 - With low custom max stack depth, PendingSet processing order expected by static field handling is not maintained COR-1978 - Transient field modifier is not being respected in C/S mode without classes in the server COR-1977 - Execution of sub queries descending into collection members only seem to use a single collection member as root COR-1950 - Respect transient modifier on static fields COR-1946 - Storage implementation to be able to call #saveAs() on an open database COR-1945 - Transaction.objectContainer() should always return an ObjectContainer with transactional behaviour, also in events. COR-1902 - System.Byte and System.SByte casting problem in Db4objects.Db4o.Internal.Handlers.ByteHandler COR-1822 - Committed callbacks should provide a means to discover if the committed event was raised by this clients commit or another one in C/S mode  Yo ...

Join us at ICOODB 2010 !!!

Wed, 07/14/2010 - 16:04

ICOODB 2010 is approaching and we'll be there helping promote object database technology. Please join us!

Here are the details for the event:

3rd International Conference on Objects and Databases
September 28-30, 2010
Frankfurt am Main, Germany

2 tutorials, 1 workshop, 10 research papers, 10 industry
presentations,  3 keynotes and 1 keynote panel...

(continues...)

db4o on Kiwidoc

Fri, 07/02/2010 - 17:27

db4o javadocs are now searchable in Kiwidoc which as of now is tracking 626 libraries, 157 bundles, 7152 packages and 104448 classes.

The interface is pretty nice, let's hope they add more and more java libraries!

db4o enables Scala business framework

Tue, 06/29/2010 - 04:12
Uniscala is a set of Scala libraries for developing business applications. Uniscala's top priority is to support and provide the Uniscala Granite wep application framework and the upcoming Uniscala Topaz identity management application. Uniscala includes several db4o utilities that work flawlessly on Scala!! db4o is being used as the primary database in this work-in-progress Scala/DB4O/Wicket/JQuery web framework project which is stringly influenced by Zope/Plone. Some useful tools available here: http://uniscala.net/mvn/uniscala-db4o/scaladocs/index.html can be used independently of the framework. They will allow you to do, among other things, SODA queries like this: val db:ObjectContainer =  // ... open database val kwQuery = Query[FoodKeyword] kwQuery.descend("keyword").startsWithIgnoreCase("bean") kwQuery in db foreach { res => println(res(db) } The Granite framework itself does other nice things like auto-committing the database after a web request (or rollback on uncaught ex ...

Using db4o in an Android application

Wed, 06/23/2010 - 16:06

Here's a short article with code snippets by Damasia Maneiro who's working on an Android app that will use db4o. In her own words: "db4o is an object database, ie. forget about mapping of tables in a relational model. If you're a developer that translates into savings in time invested in your application and volume of code. db4o's great potential is that you can reuse your (plain, non-mapped) objects by saving and retrieving them as many times as you want. You can persist complex objects with nested collections or other complex objects, any level of complexity in your hierarchy. You're not limited to flat objects with primitive types to get a reasonable performance."

http://www.dzone.com/links/r/using_db4o_in_an_android_application.html

New search engine on db4o.com

Wed, 06/23/2010 - 01:18

As you might have already noticed we're are now using the full power of Google Search across all db4o.com websites including our Jira tracker.

We hope it'll be now easier for you to actually find the information you're looking for. We're are working hard to improve the user experience on our websites and trying to minimize all the issues that a broad site migration normally causes. Our next challenge is to fix all the broken links pointing to our old forum system and we're already working on that (we already mapped the urls belonging to the blogs section so that should be working for you right now).

So, please head to developer.db4o.com and try the new search box! (and if you run into any issues please report back)

ODBMS.ORG: New Lecture Notes

Tue, 06/22/2010 - 23:53
(Via ODBMS.ORG) I just published in ODBMS.ORG two excellent, up to date and complete set of lecture notes on Object Databases: 1. A new set of lecture notes on Object-Oriented Databases of Michael Grossniklaus and Moira Norrie, ETH Zürich. NEW IN 2010: Updated slides on db4o to reflect the API of the latest version. Extended the discussion of OQL in the lecture about ODMG 3. In-depth presentation of commercial systems (Versant Object Database, ObjectStore and Objectivity/DB) in completely new and dedicated lectures #8, #9 and #10. To increase diversity, Versant is coupled with Java, ObjectStore with C++ and Objectivity/DB with C#. Finally, LINQ has been introduced into the course as part of the Objectivity/DB lecture. The lecture notes contain 446 slides that are split into 14 lectures of 90 minutes each. 2.  A complete set of lecture notes (397 slides) from Martin Hulin, Hochschule Ravensburg-Weingarten, called Modern Database Techniques.  For all exercises, Martin uses the object or ...

Benchmarking Improvements of db4o 8.0 over previous versions

Wed, 06/16/2010 - 23:27

Here are the results from running a fragmentation benchmark with our three releases against eachother: 7.4 (stable), 7.12 (production), 8.0 (development):

Welcome the new db4o Valued Professionals (dVP) for 2010

Wed, 06/16/2010 - 12:00
We're glad to announce the first round of db4objects Valued Professionals (dVP) for 2010. dVPs are recognized individuals with expertise in db4o who actively participate in our community to share their knowledge and expertise with other db4o users. This award is a way for us to say thanks to valuable community members who unconditionally lend a hand to peers and share valuable resources. For this first round (dVPs are selected in two different rounds per year) we have selected the top 60 dVPs and decided to make a special mention to the top 5 supporters of the db4o community for 2010. Many have contributed in the db4o community and we're not listing all of them, we had to draw a line and select the top 60 (thank you guys!) We're giving away gifts to all of them (with special gadgets to the top 5 db4o supporters). So, here's the list (including a mention/link to specific contributions): Erik Putrycz (proxy based activation) Luca Garulli (TevereFlow) ...

Introducing .Net 4.0 support in db4o

Wed, 06/16/2010 - 04:04
Here we are again, proud to announce that  we just introduced .Net 4.0 support. Since that is a pretty vague phrase let me explain in more details what I mean with support. Our goal  was i) to have all db4o assemblies compiled against .Net 4.0 (of course with all tests running successfully) and ii) get associated tooling working in the .Net Framework 4.0 so developers could start using it (and, of course, reporting any issues). With the latest efforts we have fully achieved 1 and almost 2. As of today (Jun/06/2010), we have all db4o assemblies compiled against .Net 4.0 and most of our tools are working as expected (did I mentioned how having tests gave us a parameter to decide when we got the port working?).  Only OMN still have issues (in VS 2010) (which we are already investigating how to fix). As always, platform support is an ongoing work so if you want to follow the progress in .Net 4.0 area you can keep an eye on this issue: COR-1803. Over the time we expect to hear fro ...

db4o included in QuiteSleep: block callers on Android

Tue, 06/15/2010 - 12:00

QuiteSleep is an application for Android 2.0+ that manages your incoming calls when you're busy, sleeping, or doing anything between two time slots in any day of the week. The app can mute a list of callers and send an SMS or e-mail with a predefined text to let your callers know you're busy, sleeping, etc. This is an open source app distributed under the GPL v2 (or later). It uses db4o for persistence and it's available on the Android Market.

FRC-DB: FIRST Robotics Competiton app handles teams with db4o

Tue, 06/08/2010 - 17:47
FRC-DB is a dynamic database of FIRST Robotics Competiton (FRC) teams intended to help with scouting by showing useful statistics for teams and events. It consists of: A Web Interface to display information and statistics A Crawler to gather information from various sources A series of Algorithms to calculate the statistics A Database, to store gathered information and An API for working with the gathered data It is 100% pure Java. As for libraries it's built on, it uses: Tomcat as servlet container Apache2 as web server (details) wingS as the web UI library HtmlUnit as the base for the crawler Jama as the matrix package db4o as the database and NetBeans for development

Scala DB4O DSL with REPL optimized demo package

Tue, 06/01/2010 - 17:41
A project defining DSL structures in Scala to work easily with the db4o database system. So far this is a little playground to use Scala to build a DSL for querying DB4O databases. Code Sample val db = Db4o.openFile(…) // Run InitDB Application to create and fill the database. // Use Native Queries db filter((p:Person)=>p.firstName.equals(“Bart”)) // Use Native Queries with Comparators db filter((p:Person)=>p.firstName.equals(“Bart”), (p1:Person, p2:Person)=> … ) // Needs to return Int [-1, 0, 1] // Use SQL Style SODA Queries db select Person.getClass where(’firstName := “Bart”) execute // Returns a ObjectSet[T] Constraints ’fieldName := “value” // Equals ’fieldName !:= “value” // Not Equals ’fieldName | “value” // Starts With ’fieldName | “value” // Ends With ’fieldName ~ “value” // Like ’fieldName := 2 // Is ’fieldName !:= 2 // Is not ’fieldName > 2 // Greater ’fieldName < 2 // Smaller ’fieldName >= 2 // Greater or Is ’fieldName <= 2 // Smaller or Is

[Kudos] With db4o there is hope of less relational irrationality

Mon, 05/31/2010 - 12:58

"With db4o and now CouchDB perhaps there is hope of less relational irrationality"

Dan Edgar

Call for Industry Presentations ICOODB 2010

Mon, 05/31/2010 - 12:30
3rd International Conference on Objects and Databases (ICOODB) September 28-30, 2010 Goethe University Frankfurt Frankfurt am Main, Germany http://www.icoodb2010.org/ Call for Industry Presentations We invite proposals for individual technical talks for the industrial track. We particularly encourage user presentations and user case studies. A talk proposal should consist of a 500 word abstract and it should outline the technical content of the talk. Authors should also include a short biography (2-3 sentences). Submissions will be reviewed by the Chairs of the Industrial Track together with members of the ICOODB Steering Committee. The Chairs of the Industrial Track may contact potential speakers for further details during the evaluation process. Accepted industry papers will be published in ODBMS.ORG (http://www.odbms.org/). Topics of Interest We recognize that the world of data management is changing. The linkage to service platforms, operation within scalable (cloud) platforms, ob ...

[Kudos] Time to look at db4o

Mon, 05/31/2010 - 00:10

"No joy with EntityFramework, Code first CTP and SQLite. Time to look at db4o."

Rob Henry

Berlin Buzzwords 2010: conference on scalable search, data-analysis in the cloud and NoSQL-databases

Thu, 05/27/2010 - 02:50
This is an awesome conference about scalability that will take place in Berlin called BerlinBuzzwords http://berlinbuzzwords.de/ that aims towards alternative and particularly scaling storage solution (NoSQL), large scale dataprocessing (Hadoop, MapReduce etc) and search / Information Retrieval Software (Apache Solr / Lucene). The conference takes place in Berlin June 7th and 8th this year and it has a fantastic set of speakers and talks. The conference is organized by community members like Jan Lenhart (CouchDB), Isabel Drost (Apache Mahout) and Simon Willnauer (Apache Lucene, OpenRelevance and Connectors) The overview here should give you a good idea about the event: http://berlinbuzzwords.de/content/berlin-buzzwords-2010-june-78th Speakers are here: http://berlinbuzzwords.de/speakers Schedule is here: http://berlinbuzzwords.de/content/schedule-published If you're anywhere near central Europe and have an interest in databases you must be there!  

Maven deps for db4o with Transparent Activation

Mon, 05/24/2010 - 18:23

In this blog post Peter Karich shares his own configuration of Maven deps when you use db4o with the Transparent Activation feature: http://karussell.wordpress.com/2010/05/20/db4o-via-maven/

Once you use Peter's POM file all you have to do is:

config.add(new TransparentActivationSupport());

// configure db4o to use instrumenting classloader
config.reflectWith(new JdkReflector(Db4oHelper.class.getClassLoader()));
config.diagnostic().addListener(new DiagnosticListener() {

   @Override
   public void onDiagnostic(Diagnostic dgnstc) {
      System.out.println(dgnstc.toString());
   }
});