IntelliJ Idea aims to be nearly everything for nearly everybody. I just do Grails development. What is the minimal setup needed for Grails development? There is a long list of plugins installed and enabled by default.
The startup is slow as it scans the open project for a long time. IntelliJ is really neat and clearly very powerful. There are just most likely things I can do without which will speed things up a bit.
Related
I just started learning Apache ISIS. I have configured the application and imported into Eclipse(Mars). Can anyone tell me how I can run the application from eclipse.
The main thing you need to do is to set up the DataNucleus enhancer. There's details and a screencast here
We have found that the DN enhancer can be a little unreliable on larger projects, which was one of the reasons as developers we ended up moving to using IntelliJ (community edition is fine). YMMV.
Within an IDE you run the app using the org.apache.isis.WebServer helper class (it's just a wrapper around jetty).
HTH
Upgrading MVC apps done with VS 2010 has been the biggest issue for me. I have an application that I use to run various websites and I maintain and develop this application separetely then upgrade the sites based on it. A lot of things might change during development of a new version - new Views, new Controllers, stuff added into JS files, updated stylesheets etc.
I've searched around the web but nothing useful came up besides this Haack's article but no source code is available.
I also tried making a Nuget package for the entire MVC app and while this works, it doesn't package up the resource files (an issue within Nuget itself) and my apps rely on those so until this is fixed I cannot use this method.
I checked how others do it and this pretty much summarizes Umbraco's way and it's the same painful way of a dozen of steps like I do it now.
Do you have any good advice on it?
You don't specify the target OS, but I create native packages, i.e. .deb for Ubuntu servers.
However this still means you need to specify all files, manage configuration, upgrade database schemes. But if you test this on a CI server it becomes more reliable, and you can do it iteratively. This is all part of good deployment practice. I can recommend the Continuous Delivery book.
Recently I deployed some software onto a client's PC. The software built and ran correctly on my dev machine and passed all unit and code quality checks on the build server but it crashed explosively when run on the client's PC.
I narrowed the problem down to an external .NET library which referenced a native library that was only included in the .NET Framework 3.5, and the client's PC only had .NET Framework 4.0 installed. (The culprit was Sql Server CE 3.5).
What would be an effective way to detect this kind of issue proactively? I could use an automated UI testing framework running on a clean environment which could be remotely invoked by the build server. This could also be a segue into a set of GUI tests in addition to the goal of answering "Does it run on this environment?" but I'm concerned the two objectives should have clearer separation rather than being lumped together into one set of automated tests. Is there a better way? Also, is there a name for this kind of platform compatibility test?
Aparting from making sure that software is tested on the environment closing as closely as possible to the machines where software is going to be ultimately installed. Apart from that I doubt there is any magic pill which can solve these sort of issues.
I found it was overkill to automate the process of testing on a clean environment since it only has to be done once per public release. I settled for a Virtual PC image of my deployment environment with an "Undo disk" which can be reverted to a clean state after each test run.
Wrapping your install in an MSI using WiX or some such tool would allow you to test for pre-requisites such as .NET 3.5 etc.
What does intellij do that other IDEs dont vis-a-vis grails? Im trying to decide whether I should renew my license when it comes time.... thanx...
Discussing about IDEs is a highly religious task, so the following points are my personal opinion. IntelliJ's advantages are IMHO:
Debugging works better
GSP content assist
DSL awareness
better refactoring support for Groovy
Grails project view
Integrated UML diagramm of domain classes
synchronisation of dependencies
I have been learning OSGi and also a little about Groovy recently but am very new to both. I know Groovy is part of the Grails framework and that Grails is good for rapid development. One of the most desirable features in OSGi is class loader management and I believe this is probably still an issue with Grails (correct me if wrong). So, I'm curious is it possible, or even desirable to run Groovy and/or Grails in an OSGI environment?
There's a Grails plugin available, that turns a Grails application into an OSGi bundle that can be deployed on SpringSource's dm server. The plugin author has also posted some blog posts about the integration of Grails with OSGi. However, as far as I understand, the OSGi support of the Grails framework is still rather limited and will be "natively" supported with Grails 2.0.
In my opinion, there is no real benefit in packaging your entire application as an OSGi bundle, except that you can run it in a OSGi container. It will not make your application more modular, because it is still one big bundle. Note that using OSGi will not simplify anything with regard to class loading. It can introduce problems when you are using libraries which have not been designed to run in an OSGi environment. Don't use it unless you have a good reason to do so. It is a great technology, but it will not make anything simpler or better by just dropping it in.
I tend to think, that the other way around is more preferable: let Grails modules, like GORM or GSP run in an OSGi container.
All Groovy or Grails jars (which are modules rather than plugins now) are already OSGi-compatible, so it shouldn't be a problem to install them into a running container. Thus you can combine the advantages of both ecosystems.
On the other hand, deploying an app packaged as a huge monolithic bundle into a OSGi container doesn't make much difference compared to tomcat.