Bryan Ruby


Thoughts, Words, and Deeds

Software Development

Mailbag: DRUD Tech Launches ddev Community Open Source Toolkit

Logo of DRUD Technologies

Last week, I received an email inviting me to take a sneak peak at a press release that became public today. In the email, I was asked if I would be interested in hearing "news from new open source startup, DRUD Tech, founded by a couple of long-time Drupal contributors". According to the email, the company has been in "stealth mode" quietly working on their new product which is ready for launch this week. Given that I'm a long time fan of the Drupal content management system of course I said yes.

The new product is ddev (pronounced Dee-Dev) Community which is an open source solution intended to automate a number of web development tasks that frustratingly takes too much time and resources to manually accomplish. Having already mentioned Drupal, I should probably also mention that this toolkit is also intended for other CMSs including open source favorite WordPress. I've attached below a copy of the latest version of the press release I received. I also did a little digging around DRUD's website and found a video I placed under the press release which shows off some of the features in an earlier version of ddev.

DRUD Tech Releases ddev Community, the Premier Open Source Toolkit to Simplify End-to-End Web Development Processes

The new enterprise-grade, open source solution automates local web development processes to deliver unmatched cost and labor efficiencies

Denver, Colorado – September 19, 2017 – DRUD Tech, provider of open source development tools that automate workflows and web application development with popular CMSes including Drupal and WordPress, today announced the release of ddev Community. Web developers can download ddev Community today at https://github.com/drud.

CMS Made Simple 2.0 is released

Over the weekend, the core developers for CMS Made Simple, an open source project, announced the release of CMSMS 2.0. While not a complete rewrite, CMSMS 2.0 is a significant re-factoring and renewal for the content management system. Many of the changes involved are focused on giving the web professional an easier and simpler editing experience within the CMS.

In the announcement, Robert Campbell further explains how CMSMS 2.0 came to a final release.

After a very, very long wait (around three years for this attempt alone) and a great deal of effort, we are overjoyed to announce the public release of CMSMS 2.0. The next generation in the evolution of making managing web content simple.

CMSMS 2.0 has been a long and tiring uphill war, with many large and small battles; some of which we won, and some of which we lost. Throughout our battles the Dev Team has always remembered our primary goal and tagline: "Power for the Professionals, Simplicity for the End Users." This means that the professionals have a standards-oriented, powerful engine to build websites and web based applications, and the system still remains simple and fast for the average non-technical user to be able to manage the content of his or her website.

The primary focus for the developers along with feature changes of CMSMS 2.0 include:

  • Significant improvements in the editing experience:

    CMSMS 2.0 includes a new WYSIWYG editor, an improved and dynamic file manager, and a brand new content managing module. Content editors can now easily find, control and edit thousands of pages without concern that they will accidentally erase somebody else's work (that's important!).
     

Python, Java, C++ Top Three Popular Programming Languages

CodeEval recently released their list of Most Popular Programming Languages of 2014. Each year they release this list based on thousands of data points they've collected by processing over 100,000 coding tests and the input of over 2,000 employers. This list confirms what Python and Java developers already know. It is also list to disappoint Tcl developers and those nostalgic of the Visual Basic days.

According to CodeEval, the top five most popular programming languages for 2014 are:

  1. Python (30.3%)
  2. Java (22.2%)
  3. C++ (13.0%)
  4. Ruby (10.6%)
  5. JavaScript (5.2%)

What about the other C variants and PHP? You can see how they ranked and the the remaining languages on the list at CodeEval's blog. Of special interest to Web developers is that when compared to 2013, the data shows that popularity for PHP, Perl, and Java have shrank. CodeEval also notes on their blog that there has been increased interest in Objective-C, C#, as well as Javascript.

Drupal says farewell to PHP 4

Well, this certainly wasn't on my radar. Gábor Hojtsy, Drupal 6 lead maintainer, announced that starting March 1, 2014 support for PHP 4 in Drupal 6 will end. I wasn't surprise to hear about Drupal developers dropping support for PHP 4. Instead, I was in shock to hear that Drupal didn't drop support for this ancient version of PHP sooner.

To put this announcement in perspective, the PHP project developers said their goodbyes to PHP 4 back in 2008 and I personally said my "see ya later" back in 2007. Needless to say, I don't think anyone with merit can complain Drupal is dropping PHP 4 support. In Gábor Hojtsy's words:

Drupal 6.0 was released almost 6 years ago in February 2008. The Drupal community is committed to release Drupal 6 bugfixes until Drupal 8.0 is released and with recent changes provide security fixes much longer.

The hosting and development landscape was very different in 2008 though. PHP has gone a long way since we released Drupal 6. While Drupal 6 is still supported on PHP 4.x, the PHP developer community itself end-of-lifed PHP 4 just half a year after Drupal 6.0 came out. According to public statistics and data available to us about Drupal 6 sites, we estimate that there is a very small number of Drupal sites which may still run on PHP 4. We also don't believe it is in our best interest to support Drupal 6 on a possibly insecure but definitely unsupported base system, so we discussed and decided to drop support for PHP 4 on March 1st 2014.

Typically, Drupal has dropped support for an older versions of Drupal when a new version of Drupal is released. The expectation was Drupal 6 support would be dropped when Drupal 8 becomes an official release. I suspect the delay in dropping Drupal 6 support is postponed partially due to a change in Drupal 8's new site migration approach. There is a new workflow for site migration that has the potential for site owners to migrate their content not only from Drupal 7 to Drupal 8 but also allow Drupal 6 sites to migrate directly into Drupal 8. Until the new migration approach is proven, it is in everyone's interest to continue support for secure Drupal 6 sites. For the "secure" mandate to be supportable no website should be running on PHP 4. 

Joomla! allows you to go your own way with Joomla Framework 1.0

A couple years ago, if you would have asked me what I thought about Joomla! I would have told you I think they've lost their way. Their community of developers seemed to be searching on how best to innovate and take risks with a well established stable content management system. I feared that the open source group was stuck looking back and that all we could expect was dull incremental changes to their CMS. Despite the fear, I knew better. Open source communities have a way of reevaluating their priorities and creating spectacular results where you least expect them to do so.

In the second half of 2012, we started seeing something "new" from Joomla! As they started to embrace displaying and managing content on mobile devices, they also embraced the idea that not all core development has to be confined "in-house". With Joomla 3.0 they became the first major CMS that included the Twitter Bootstrap framework to help make their CMS better in the mobile arena. This week, Joomla! has turned the tables and now offers the opportunity for you to allow their framework to make your own web applications better. With Joomla Framework 1.0, Joomla! has proven that they're much more than content management but also a platform for developers to spread their wings.

The Joomla Framework is a new PHP framework (a collection of software libraries/packages) for writing web and command line applications in PHP, without the features and corresponding overhead found in the Joomla! CMS. It provides a structurally sound foundation that can be adapted and extended. This new initiative enables developers to more easily combine features from the Joomla Framework with features from other open source frameworks as they custom-build their own app or CMS.

End User Perspective: Drupal 8 Begins Making Headlines

While Drupal 8 has been been under development for two and a half years, I haven't talked much about it. I learned long ago that it doesn't do much good to talk about an upcoming release of a CMS until the software crosses over from what most of us would consider "vaporware."

The software needs to be close to beta, allowing for normal folks to actually be able install for testing purposes with a reasonable amount of certainty we don't need to be a developer. If you're a loyal reader of Planet Drupal, by now you should be getting a sense that the time has come to finally talk about Drupal 8.

There are a great number of changes coming with Drupal 8. So many, that I'm bound not to understand them all at this point. However, if you take a look at the core initiatives you can see where the core developers are working their hardest in improving Drupal 8.

Some of the great things planned for Drupal 8 include better HTML5 and mobile support, improved multilingual features, and setting up Drupal 8 on a modern web development framework (Symfony). Additional focus includes configuration management improvements and support for Views in the Drupal 8 core. While there is still work to be done, the core developers are starting to see the finish line in their sight.

As I mentioned, there are some headlines within the Drupal community that tells me from the user point of view it's time to show some interest in the upcoming Drupal 8. Some of the recent blog posts within the Drupal community I see worthy of mentioning can be found below.

The Start of Responsive Web Design

Responsive Web Design is without a doubt one of the Web's biggest buzzwords for 2012. The Web is changing fast and even though the importance of CMSs addressing mobile devices was well predicted, I suspect even the tech gurus are surprised at the current growth rate of smartphones. If you don't know it by now, there is a lot of pressure on web designers and site builders to ensure that their client's websites are responding to the changing Internet. A website should look good no matter how it is being displayed, whether that site is being viewed on a desktop, cell phone, tablet, or whatever new device the Ghost of Steve Jobs brings us.

Responsive Web design is the approach where design and development of a website should respond to the user’s behavior and environment based on screen size, platform and orientation. The challenge though is that while everyone talks about Responsive Web Design, very few people are actually talking about the steps necessary for allowing your site to become responsive. This is why I enjoyed reading the article written by Abhijeet Chavan, CTO for Urban Insight, on Prototyping Responsive Websites.

Websites being built today need to be accessible on mobile devices such as smartphones and tablets. I will outline a prototyping process that we are experimenting with to efficiently create designs for responsive websites.

Increasingly, a website may be likely to be accessed using a mobile device as it is using a desktop or laptop computer. And more users are now only using mobile devices to access websites. Building websites that adapt to different devices is called responsive web design.  I will outline a prototyping process that we are experimenting with to efficiently create responsive websites.

Judging Five Open Source Content Management Systems

Last fall, I once again had the privilege of participating as a member of the judging panel for Packt Publishing's Open Source Awards. For the 2010 event, I participated by voting for the category of Open Source CMS Awards. In that award, the winner was declared by the panel to be CMS Made Simple, with SilverStripe as first runner up followed by MODx as second runner up.

I received a lot of inquiries asking me how and in what order did I rank the content management systems. Each of the judges on the panel, selects and ranks their top three CMS from the five included in this category. The judges are given a lot of reign for how they rank the CMS and may consider a number of factors including performance, usability, size and support from community, accessibility, ease of configuration, customization, scalability and security.

It has been my history to be transparent to all with how I rank each CMS as my vote will have some differences to those of the panel. This time around, I find myself hesitant and under personal protest with me providing information on how I ranked the five content management systems.

I question whether we're doing any good by declaring one CMS as better than another CMS. Dean Barker discussed on his blog some time ago this same uneasy feeling you get when you judge a CMS without having some reference to real world requirements. None of these content management systems would I consider losers and all of them remain worthy of future consideration. Yet, I'm disturbed that people will look at the numbers and interpret the results in a ways I never intended my rankings to be used.

My rankings for the Five Best Open Source CMS (with number one being the highest) were:

  1. SilverStripe
  2. mojoPortal
  3. MODx
  4. XOOPS and CMS Made Simple (Tie)

I'm not a firm believer in ties when it comes to ranking content management systems. Yet, this year I did just that for XOOPS and CMS Made Simple. All five content management systems that were reviewed I would consider as a candidate for a future project. None of the CMS would I consider a "last place" CMS so I refused to do so. It is also important to note that neither Drupal, Joomla!, or WordPress competed in this ranking as previous winners in this category duke it out in the Hall of Fame category.

Server Administration and Goodbye PHP 4

Support GoPHP5.org

Yesterday, I upgraded the PHP version on my server from 5.2.4 to 5.2.5. PHP 5.2.5 brings improved "stability of the PHP 5.2.x branch with over 60 bug fixes, several of which are security related". I also reintroduced eAccelerator back onto the server. I stopped using eAccelerator last spring, not so much because I had any real issues with it, but because I spent the summer months hosting my sites on the cheap.

This time, when I compiled the new version of PHP 5.2 onto my server, I also made the decision to not load the latest version of PHP 4. Although most of the Web applications I run on the server are PHP 5 compatible, I've always made sure I also had access to a version of PHP 4. The time has finally come though where I really don't have a need or desire to host a content management system that is only PHP 4 compatible.

If your CMS is not compatible with PHP 5, I think this is the time you should begin to start asking why it isn't compatible with the latest version of PHP. Not only is there a lot of community effort going on through GoPHP5 to get hosting services to provide PHP 5 on their Web servers, PHP 4's days are coming to a close. At the end of this year (2007), the PHP development team will no longer be supporting new releases of PHP 4.4. By August 2008, no critical security fixes will be provided for PHP 4. It just makes sense to me that this is the ideal moment of opportunity to start moving your Web applications off of PHP 4 only servers.

Why do cool kids build Websites with PHP or Ruby, not Java?

Coach Wei, Java developer, asks the following question on his blog.

Here is a question that I have been pondering on and off for quite a while: Why do "cool kids" choose Ruby or PHP to build websites instead of Java?

At work we're actually moving many of our in-house desktop applications from Python to Java. I wouldn't be too surprised to see us migrate more PHP Web applications over to Java too for some of the reasons Wei gives in his blog post. But I have a theory as to why PHP and Ruby could be considered "cool" and it has less to do with Java's features and more to do with the culture of open source.