November 30th, 2013
Second article in the Best = Free Drupal IDE series
This article follows last week's article Best = Free: Drupal IDE based on latest Eclipse release (Kepler), in which we established Eclipse as a premier Drupal IDE. This article demonstrates Eclipse (Kepler) as a Drupal Team Project Management tool also.
Our projects consist of deliverables, and our project deliverables live in repositories. Git repositories. For AWebFactory and a good number of developers and organizations, that means GitHub.
If you followed the first article in this series, you already have a powerful Drupal IDE to work on your Drupal based projects, both locally on your laptop or at your workstation, and remotely, directly on your server. In either case, assuming the code is cloned from a repository and incremental improvements and deliverables are pushed there, the version control cammands are often carried out in a terminal (inside of Eclipse, hopefully!) or else with a GUI of some kind, again, working with either local or remote cloned codebases.
Wouldn't it be great if these tasks could be carried out in the same IDE environment where the actual editing of the code takes place. And if that repo is on GitHub, and the IDE could integrate with GitHub issues (and even gists), our IDE would not only be capable of managing the codebase, it would be capable of managing the entire project and team also, via GitHub Issues 2 (https://github.com/blog/831-issues-2-0-the-next-generation).
That's exactly what EGit and the GitHub Mylyn Connector can do. So we need to:
1. Install EGit
2. Install the GitHub Mylyn Connector
3. Start managing Drupal Team Projects and issue tracking right from your Kepler based Drupal IDE
I hate it when waves of closed source fashion hit the open source communities: Purchase such and such an IDE, “it's awesome”. Apart from paying a lot, hey, it's closed source! Forget that! This article is the first in a series that will show you how to get set up with a top of the line, free as in beer and truly open source Drupal IDE (and Project Management system!), complying with the following objectives:
Top of the line free software development IDE with multiple projects and a multitude of plugins, based on Eclipse Kepler.
No vendor lock in.
Support for Web development in general (HTML, CSS, JS, XML, etc.), that is syntax highlighting, autocomplete suggestions with pop-up documentation, mouse-over documentation.
Support for PHP development also.
Support for back-end languages (Java, etc.)
Support for Remote project development, including code highlighting, etc.
Support for Drupal development
Drupal coding standards,
Drupal files immediately editable as PHP code,
Spaces instead of tabs
The right encoding (Unix) so they can be committed to Drupal repositories.
Slides de mi presentación para Tecnoday Argentina - Feliz día del programador! (Ver link abajo).
Before I get completely seduced by Angular.JS and others equally as sweet for use on an upcoming and very important web app project, I really need to give Backbone.js another chance, a fair chance. Nothing could provide this with better timing than the publication now of the completed Developing Backbone Applications, by Addy Osmani. The book signifies a big change, in that it is simpler to dive into Backbone.js, and you can do it with more confidence since you are being shown a path following best practices.
Here's the rub: Backbone.js is “not opinionated, meaning you have the freedom and flexibility to build the best experience for your web application however you see fit. You can either use the prescribed architecture it offers out of the box or extend it to meet your requirements.”
Chapter 3 of Lift in Action is interesting because it reveals the elegance and simplicity of Lift's View-Snippet-Model and templating system, actually showing how one would approach a workflow, from View First design and designer deliverables to template nesting and menu building, and from application requirements to business object modeling. In the midst of all this, the active record-like Mapper "ORM" is presented in quite useful fashion. You can find the code (in my repo, which is fully compatible with Lift 2.5 and sbt 0.12) here (at Tag "chapter03"): https://github.com/victorkane/LiftInActionAuctionApp/tree/chapter03
For development, it is quite common to use the built in H2 database engine, and this is no exception. So while it's very cool I don't have to start installing "stacks" of base software just to run the code, how do I get to visualize the database, as I would with, say, Phpmyadmin for MySql? The Lift community continues to impress in this case by conveniently documenting two ways: