Introducing Drupal Lean Process

Table of contents

[Skip to any section because you can]

Introduction

I have been working in software development a long time. Early on I recognized the need for Process as a way of re-using best practices for teamwork. At that time, Process implied for most of us the Waterfall model, which divides a development project into discipline based phases, each to be visited once in turn, in a kind of cascade: Requirements; capture the requirements, do the Design, Implementation, Verification and Validation, Deploy, then shift into Maintenance mode. Most people still follow that model implicitly, it has stayed in the everyday consciousness of process, much like Newton’s laws instead of the Theory of Relativity, much like the theory of Creationism over the scientific Theory of Evolution kicked off by Charles Darwin. Yep, Waterfall often creeps in even when people say and even when people think they are using Agile. Of course, project difficulties and even failures based on the extremely high propensity (40% minimum) for requirements to change within the life-cycle of a project highlighted the dire need for at least an Iterative and Incremental model. And when that became too top-heavy, at least in its wonderful, eye-opening but hard to tailor and work with Rational Unified Process, I moved on to a kind of personal synthesis of CMMI (love that continuous improvement and organization wide adoption!) and Agile and Scrum approaches. More recently I have loved the simpler work in process and visual approach of the Kanban as a lean variety of Agile:

“Some Agile methods take a more flexible approach to time than Scrum does. (For example, Kanban does away with the notion of a two-week batch of work and places the emphasis on single-piece flow.) But you can still make time within a Scrum sprint in which creative activities can take place.” Gothelf, Jeff (2013-02-22). Lean UX: Applying Lean Principles to Improve User Experience. O’Reilly Media.

Oh Shyte! Drupal 6? Provision a new Ubuntu server! How?

If you suddenly need to provision a new web app server for Drupal 6, the main problem you have is that the furthest back you can go, in say Ubuntu releases on Digital Ocean or Linode, is Ubuntu 10.04 LTS (Lucid Lynx). Default Php there is 5.3, and even though almost all contrib modules and core for Drupal 6 play nice with Php 5.3 these days, what about those monstrous legacy Drupal 6 sites that need to be maintained for “just a little bit longer” and whose modules cannot be upgraded easily due to dependency hell, or which for some reason, just need Php 5.2? This is a short article that, based on the following references, shows the steps I took to get the job done:

Best = Free: Drupal Team Project Management tool based on latest Eclipse release (Kepler)

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

Best = Free: Drupal IDE based on latest Eclipse release (Kepler)

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.

Open source madness – Using Git to version your Gimp sourced custom Twitter page

What does Gimp have to do with Twitter? If you haven’t already, first of all see [[Open source madness – Customizing my Twitter page with Gimp]].

Now, isn’t this overkill, you may ask, using Git to version graphic design work?

Well, not really. The whole idea of using Gimp is to have a kind of source file, which then generates your Twitter background. Then, say you want to go back to a previous version, if you are using any kind of version control system, you can go back in the time machine and generate from there. We’ll use [[Git and Cogito on Ubuntu|Git]].

Getting started

Open up a terminal on your working directory. Perform the following commands:

Open source madness – Customizing my Twitter page with Gimp

Now that [[Leveraging Drupal: Getting your site done right – Workshop Central|my book is out]] more than one Twitter intoxicated colleague has instructed me as to power twitter-mastership, and that I must replace my tired old Twitter offerings.

I [[http://www.searchforblogging.com/microblogging/how-to-create-a-custom-twitter-background.html|searched around]] and came up with the following procedure, which worked for me on my [[Ubuntu laptop]] like a charm, using all [[https://awebfactory.com.ar/taxonomy/term/9|Open Source]] tools.

Openbravo very cool open source ERP – but configure domain for tomcat before running on a network

Came highly recommended, looks very cool indeed for small and medium business ERP solution… Not a wealth of “newbie” info, but a very cool almost trouble free installation guide makes installation (Java, Ant, Postgres or Oracle, Tomcat — this is no lightweight) a snap (pretty much) for various Linux distributions:

http://wiki.openbravo.com/wiki/Openbravo_Command_Line_Installation

If you encounter problems, the doctor is in…

Now, when you get it up and running on some old ubuntu box in the corner of the room, and you want to access it not from localhost ( http://localhost:8080/openbravo for most distribs, but http://localhost:8180/openbravo for us Debian/Ubuntu enthusiasts, because of how Tomcat is installed on these distributions) but as its box name on the local network… lo and behold, no images, no css, no login…

What good is an ERP solution you cannot see on the intranet?

After rummaging around in the various directories, I went in to /var/lib/tomcat.5.5/webapps/openbravo/WEB-INF/web.xml, and on line 57 replaced param “ReplaceWith”:
ReplaceWith http://localhost:8180/openbravo/web

Moodle module for Drupal 5.0

This is in reference to the Moodle module for Drupal 4.7.4 . Basically, if you configure Moodle to authenticate users from an external database, and that database is the Drupal database, you can seamlessly invoke Moodle in an iframe with automatic login from Drupal.

I made some quick modifications to get this module working for Drupal 5.0 beta. This is a tarball of the module actually working.

I find that relative URL's for the (possibly local) moodle installation do not work, and require a full http://… URL.

I have attached the file to this entry. AS IS, folks, no guarantees; and I am hosting it as a temporary measure until better Drupal/Moodle integration is possible.

Git and Cogito on Ubuntu

In Synaptic I installed cogito (and therefore git), and gitk (gui).

I'm going to follow the advice on the Git Cogito page:

If you want to start to use Git and are considering Cogito, the best way to go about it is to first learn Cogito, then pick up Git commands if you need to do something extraordinary.

For quick introduction to Cogito, follow the Git Crash Courses – they are presenting Cogito commands.

So I cd'd to my project dir and did:

cg init 

This is the equivalent in svn to both creating the repository (which is now local!!! although I can "push" my stuff to a centralized directory somewhere) and doing the initial import. I make the initial comment, save the file and exit).

Then I made a change in a binary document file, and did:

cg commit

Typed in "modifiqué sección 3.6 Ambientes del Usuario" and saved and exited. Then saw my changes: