, and maybe tried the jQTouch
framework that these spawned. Meanwhile, the official jQuery mobile framework
has slowly been moving to fruition.
I recently discovered another project - Web 2.0 Touch
- that is pitched as a mini framework with better features (more...)
Ever had a merge fail with a fatal: git write-tree failed to write a tree
message out of the blue?
It sounds terrifying, but when I got the root cause is quite mundane: file name conflicts in the merging commits that git is not smart enough to figure out without help. And when you fixup your merge, you are left with a commit that's lost one of its parents ("falling off a branch").
If you do much file reorganisation in a project with branches, it turns out this can be quite common (had it a few times on a recent (more...)
I have been interested in business intelligence and data warehouse solutions for quite a while. And I have seen that traditional data warehouse and business intelligence tool implementations take quite a long time and cost a lot to set up infrastructure, develop or implement business intelligence software and train users. And many business users are not using business intelligence tools because they are too hard to learn and use.
Therefore some while ago a had an idea of developing easy-to-use business intelligence web application that you could implement and start to use right away and which would focus on ease-of-use (more...)
As of EclipseLink Indigo (2.3.0) you have been able to use the @Multitenant feature
to share a database schema between multiple tenants. Did you know that you can also use this feature together with the Oracle Virtual Private Database (VPD) support that has been available in EclipseLink since version 1.0?
This powerful combination of features allows for the shared tables to be managed directly on the database, and for inserts to be automatically associated with the proper client. Any SQL executed by EclipseLink (even if EclipseLink did not generate it - ie native queries) will go through (more...)
I’ve been playing with XML files recently and have on the odd occasion needed to validate a file against an XML schema. This is surprisingly easy using lxml, the Swiss Army knife of Python XML processing. Allow me to demonstrate.
>>> from lxml import etree
>>> schema = etree.XMLSchema(etree.parse('schema_file_name.xsd'))
>>> xml_file = etree.parse('xml_file_name.xml')
Job done. If you are unlucky enough that your file doesn’t validate you can find out by checking the error_log attribute of your XMLSchema object.
I just released Oracle enhanced adapter version 1.4.0 and here is the summary of main changes.
Rails 3.1 support
Oracle enhanced adapter GitHub version was working with Rails 3.1 betas and release candidate versions already but it was not explicitly stated anywhere that you should use git version with Rails 3.1. Therefore I am releasing new version 1.4.0 which is passing all tests with latest Rails 3.1 release candidate. As I wrote before main changes in ActiveRecord 3.1 are that it using prepared statement cache and using bind variables in many (more...)
GlassFish 3.1.1 shipped today
which makes it the first application server with the new multi-tenancy and extensible persistence unit support as well as all the other new features included in EclipseLink 2.3. If you're a GlassFish developer and you're upgrading to 3.1.1 you can find out all about the new features available in EclipseLink 2.3 on the EclipseLink Wiki
To wet your appetite, Alexis Moussine-Pouchkine posted a screencast
of building a multi-tenant enabled application on a pre-release build of GlassFish 3.1.1 on his blog and now would be a great time to check it out!
Shaun Smith, EclipseLink Team
Doing more than just talking about viruses: he fires up a few classics in a DOS box and pokes around with a binary editor before looking at current threats and live infection data. Very cool and entertaining. Not many are brave enough to do live demos, but if you watch to the end you'll get to see how prepared he was for failure;-)
Best served with sides of:
If you're like me, you have a bunch of trusty (and rusty) shell scripts that you reach for when doing things like testing a new load balancer.
Enough of that! igp
(It goes PING!) is a simple command line utility for testing services with a range of common protocols: ICMP, UDP, TCP, HTTP/S, LDAP/S and so on.
This is nothing earth shattering I know, but it's nice to have simple cross-platform (since it's ruby) tool that does all the common protocols in one. Thankfully, most of the work has already been done by the net-ping library
- igp really (more...)
Due to a recent accounting error (on my part and in my favour) I recently found myself in possession of a netbook. I know that makes me a luddite and I should have bought a tablet. Call me a throwback. In my defence it was half the price of an iPad and a lot more practical for me. The major deal breaker for me is that iPad’s don’t come with a command line client and can’t (to the best of my knowledge) run the only editor worth having. Also, iPad’s don’t run free software and that is becoming more important (more...)
Since joining the family here at Eclipse a few years ago, one thing I can always count on is a hectic and exciting start to summer. This summer is no exception, and is kicked off with the release of EclipseLink 2.3.0 (Indigo).
Before I continue with brief descriptions of some of the new features of EclipseLink 2.3.0, I would like to thank everyone who was involved with this release. Whether your contribution to the project consisted of finding and entering bugs, contributing to the forums, or designing and implementing features, your contribution was important to the (more...)
Challenged to take an existing application and re-use it for a new customer or group of users (tenant)? Instead of customizing the application, adding new hardware or re-configuring the database for each new tenant, you can now build EclipseLink JPA enabled applications hosting requests from multiple tenants with all their data co-located.
Starting with EclipseLink 2.3, part of the annual Eclipse Indigo release, you can now have multiple application tenants sharing a database schema. EclipseLink enables you to configure your database tables for shared storage by simply providing tenant discriminator column(s) and providing values for these discriminators within your (more...)
Imagine a system that keeps track of player statistics in a sports league. Personal information such as name, height, weight and basic statistics such as the number of games played is stored for all players.
A persistence unit is deployed with all the mappings described above.
The system admin of a basketball league wants to use the system and add mappings for points scored and fouls. As the system is running they tell EcliseLink about mappings for those fields and the next EntityManager they get uses them.
Starting with EclipseLink 2.3, you can do just that. To do that, (more...)
A new RefCardz is available from DZone on JPA development with EclipseLink:http://refcardz.dzone.com/refcardz/eclipselink-jpa
Thanks to Gordon Yorke
for his hard work putting this together during the busy months leading up to the EclipseLink 2.3 (Indigo) release.
Recently I has not posted any new posts as I was busy with some new projects as well as during May attended several conferences and in some I also did presentations. Here I will post slides from these conferences. If you are interested in some of these topics then ask me to come to you as well and talk about these topics :)
Agile Riga Day
In March I spoke at Agile Riga Day (organized by Agile Latvia) about my experience and recommendations how to adopt Agile practices in iterative style.
in Singapore is over. It was an amazing event (ryan
takes notes so we don't have to - day#1 day#2
Somehow I managed to cheat my way into a line-up of legendary speakers that included Matz himself. Here are the slides..
I spoke about multi-tenancy - what it is and why it's increasingly relevant for Rails development. It dives a little into four of the many approaches and ends with the challenge: Isn't it about time there was a 'Rails Way'?Blogarhythm: So Many Ways POP DISASTER
I just released Oracle enhanced adapter version 1.3.2 with latest bug fixes and enhancements.
Bug fixes and improvements
Main fixes and improvements are the following:
- Previous version 1.3.1 was checking if environment variable TNS_NAME is set and only then used provided
database connection parameter (in
database.yml) as TNS connection alias and otherwise defaulted to connection to
localhost with provided database name. This was causing issues in many setups.
Therefore now it is simplified that if you provide only
database parameter in
database.yml then it by default will be used as TNS connection alias (more...)
Initial version of ruby-plsql-spec gem was using RSpec version 1.3. But recently RSpec 2.0 was released which API is not compatible with previous RSpec 1.x API and as a result
plsql-spec utility was failing if just RSpec was upgraded to version 2.0.
Therefore I updated also ruby-plsql-spec to use latest RSpec 2.0 gem and released ruby-plsql-spec gem version 0.2.1. You can install the latest version with
gem install ruby-plsql-spec
Upgrade from previous version
If you previously already installed initial ruby-plsql-spec version 0.1.0 then you need to update your
spec/spec_helper.rb file (more...)
During recent Oracle OpenWorld conference I presented session PL/SQL unit testing can be fun! where I demonstrated how to do PL/SQL unit testing with Ruby:
Audience was quite interested and had a lot of questions and therefore it motivated me to do some more improvements to ruby-plsql-spec to make it easier for newcomers.
ruby-plsql-spec gem and plsql-spec command line utility
Initially ruby-plsql-spec was just repository of sample tests and if you wanted to start to use it in your project you had to manually pick necessary files and copy them to your project directory.
Now ruby-plsql-spec is (more...)
The EclipseLink project will be well represented this year at Java One and Open World. If you are here attending the shows then I recommend you attend some of our sessions or drop by and visit us at the exhibition booths.
Title: Java Persistence API (JPA) 2.0 with EclipseLink
Hilton San Francisco, Golden Gate 4/5
Title: Advanced Enterprise Persistence
Hotel Nikko, Nikko Ballroom II
S314491: Effective XML: Leveraging JAXB and SDO
Hilton San Francisco, Yosemite A
S313434: Java Persistence API Futures BOF