it (doesn’t) worth it

The Golden Age by Lucas Cranach the Elder.
Image via Wikipedia

When I graduated from college I was really dreaming software companies as the utopia companies. They should be different then any other sector or firm. They are full of highly graduated people with lots of ideas and future projects. It took not much time too see the truth.

Software Companies are full of upset people !!!! Read more

Grails Productivity Tip: Depend on Your Plugin

Grails
Image via Wikipedia

Grails has amazing plugin infrastructure. In short it enables almost everything the core application can do and has really good  list of plugins: http://grails.org/Plugins

Here what I want to say is something a little bit different:

Do all your business in your application plugin

Reminder: Plugins are enabled in Grails

You can reuse all implementation in your plugins:

  • Model Object
  • Services
  • Controllers
  • Gsp pages

Plugins can define their plugin dependency, just like maven dependency.

Goal: Extreme Modularity

Model all your business in a single plugin.

You can consider grails an application container in this case which manages transactions and persistence, and ui and enable each plugin with all customization.  What you need to do is using config. groovy and ConfigurationHolder for configuration issues.

What grails will do is just starting up plugins and and the applications one by one and expose all services, domain class and controllers which will work fine.

It will increase your modularity and ease your integration issues. You can also run your plugins while your are developing them. This is the most amazing part of all the scenario. You do not need to enter pack-install cycle to test anything.

Tough Part: IDE

If you have already established something like this before with Java you would have setup your IDE for this kind of integration. But for grails there is not support as far as far as I know :( So be ready run some console commands:

cd mycore

grails package-plugin

cd ../myapp

grails install-plugin ../mycore/grails-mycore-plugin-0.1.zip

Reference Guide:

http://www.grails.org/The+Plug-in+Developers+Guide

Reblog this post [with Zemanta]

hibernate tip: smart id generator

A small tip to generate more meaningful Id. Instead of 32 for OrderID use O000000032.

Use smart and meaningful ids

Use smart and meaningful ids

Simple implementations:

  • SmartIdTableGenerator
  • SmartIdSequenceGenerator

Read more

Clean database schema with inheritance

ORM Diagram

It is very common way of usage that  when ever you need some new attribute for your model objects/table you add a new column to the related database table.  After several requirements you will notice: Read more

Reverse Engineering is not easy

:en:User:Dreftymac/Docs/ImageDisclaimer
Image via Wikipedia

In most cases we are developing something that has been done before. We are either enhancing some software or simply rewriting the whole system for some inadequate points. Analysts gather user requests, organize them, make multiple discussions with customers/users and write user requirement documents. That is the standard procedure for most cases. However in some cases especially in re-implementing some systems, customers will request the exact same features of the  old system.

we were really satisfied with this screen/report/graphic we want the same things from the new system

Read more

Re:WordPress Plugin Developer Day

Category:Wikipedians who use WordPress
Image via Wikipedia

Thanks to Lester Chan and wp-wassup team for their greatest plugins

Thank a Plugin Developer Day

Reblog this post [with Zemanta]

Grails 101:GroovyBlogs.org

favicon

If you are trying to learn groovy and grails like me you should visit http://groovyblogs.org . Really nice aggregator for grails and groovy blogs and posts.

But the most important part this site is, it is open-source !!! Read more