Sorry if French is bad. I have been kind of quiet for the past few months. This is because I have just moved from Minneapolis, US to Geneva, Switzerland to start work at Shelter Centre. It's a very exciting move for me for many reasons; but that isn't really the intention of this post.
Anyway, what is really amazing, is that after being here for only two weeks, (with a little bit of help) I was able to get almost 25 local people together for drinks and Drupal! How? About a month or so ago, I couldn't find any information on a Geneva Drupal meetup; so I started a thread to "announce" my migration and to see if anyone was interested in a meetup, and voila! We had a couple dozen wonderful people talking about Drupal tonight. Also, we had very good feedback, and should be able to make this a monthly thing. My sincerest apologies for not knowing French yet, but I am on my way.
I think it's really great to see how, even in this virtual Drupal community, there is still so much value and desire to get together with local people face to face. We had all types of Drupal people there, from people who have only heard of Drupal, people who just made their first node, to project managers, to developers, and to business owners and freelancers. There is a great community in Minneapolis and I hope I can bring that energy here to Geneva and make this a regular thing. There was even a joking mention of DrupalCon Lausanne (maybe in 2012).
If you are in the Geneva area, or in the greater Romandy (French-speaking Switzerland) region, please join up to the Switzerland group. I believe patchak asked for a new group for Switzerland-Romandy (hint, hint, nudge, nudge groups.drupal.org moderators); so look for that. Also, I will be posting a follow-up on the Switzerland group tomorrow to see how we want to proceed.
Thanks again!
As I prepare for my move to Switzerland to start my new job as Web Manager at Shelter Centre (many thanks to Eric at Development Seed), I am excited to be back in a position where I get to concentrate on one (or just a handful) of sites. Don't get me wrong, my time at Chicago Tech and Trellon over the past year and a half have been wonderful, and I have learned many things. But I am excited for the focus of a single project job.
My original intention with this post was to compare the difference between working at a Drupal shop, and working for a single Drupal project. But what it really comes down to is personal preference. Instead, I started to think about just the general idea of the quality of our Drupal jobs and how we, as community members, represent that quality. There are plenty of Drupal folks that don't make Drupal their means of making a living, but there is a large amount (majority even) that call Drupal our day (and night) job and are really happy about that. I sure am.
But I don't see this conversation out in the open. Maybe it is a cultural thing, or a contractual agreement, or maybe people just don't care, but there is no open discussion about what it's like being a Drupal employee. We talk about a lot of things, from code, to architecture, project management, drinking, community, minorities, respect, products, finances, and right back to code. And I think, indirectly, we all kind of put our woes and excitements about our jobs into the community in some form. But we still seem to be quiet about our jobs as Drupalers.
This post may be entitled "The Drupal Union", but I am not endorsing or condoning a Drupal Union. I simply feel that it would be nice to be able to openly discuss the things we love and hate about our Drupal jobs. Maybe, just given Drupal's success, it's safe to say that a Drupal job is heaven, but I think there is more to it and that its important to start these discussions out in the open.
After reading Morten.dk's article on Typekit and looking a little further into Typekit, I got pretty excited. I put my email in for an invite, and either by some act of randomness or someone seeing my tweet, I got accepted today.
Yes, I jumped on the Typekit Drupal module right away. It's real simple. It basically fills that need for site builders who don't want to edit their themes. It also allows you set the visibility of it, much like the block system (borrowed code directly). It's not going to win any awards, but it makes things a tad bit easier.
Just as a qualifier, I am not a designer and don't care that much about fonts and know little about the school of Typography. But! Typography has always been this chained up monster in the basement. I mean, back when the Internet started, all web pages were just text. And it's still true, most of what we put up on these crazy Internets is words. So, why has it been so difficult to get some nice looking words on our web pages, even after so many years?! Why do we have to keep Aladdin down in the basement, or just use his photo?
This is not anything I have a complete answer for, but one of the main reasons is licensing for fonts. There are a lot of fonts out there, but many of them have some sort of copyright or limiting license on them that keeps them from being fully embedded in websites. There may be some direct correlation with how the two main commercial operating systems have their own sets of licensed fonts, so browsers just got stuck in the middle. Either way, owner of fonts just don't want their fonts flailing in the cyber-wind, which is what some people see embedding fonts into websites might be.
This is where I think Typekit begins to bridge this gap of having no fun fonts on the web and having all fonts free and open-source (or some other solution). Typekit, like Cufon (which is awesome and has its own benefits), allows for easy embedding of fonts via Javascript and selectors, but the problem that Typekit solves is that it has already put together a number of fonts that are available for you to use by already adddressing the licensing issues with the fonts. These fonts are not "free", mind you, and Typekit's payment schemes have a little to be desired in my opinion. But you can have anywhere from what looks like 50 - 200 fonts that are provided from many different sources (I am assuming they will be adding more too). Typekit also has this fairly unobtrusive note in the corner of your site that links to information about the specifics fonts you are using (example), which is really awesome and fair for free use of cool fonts.
Typekit is not a good solution to our problem, but it is a good place to be for interim until we can actually address the real problems with licensing of fonts and typography on the web.
I have always been a big supporter and advocate of making sure code is done correctly. I did a presentation at Drupal Camp Wisconsin this past summer about module building best practice which did not show any lines of code, but instead focused on testing, security, documentation, and community. I also put in a session for Paris, which did not get accepted, about similar things.
I recently went to the very informative Continuous Integration presentation in Paris. At that presentation there were a number of people that asked how long it took to setup the environment and the presenters had a number for it; but when I asked how much time it saved, there was no answer, not even the ability to estimate. And with some recent discussions I am having with some very respected people, I am unable to quantify the value of process.
I feel like its really hard to get metrics on how processes and methods really do make for better software. I feel like my heart is in the right place, but it seems so tough to be able to convince people that certain processes hold so much benefit over just having something work. So, how do we put specific value on these sort of things:
It seems to be if people don't value these things, they don't do them. How can I convince people that these things are just as important as elegant code or the fact that it works (for now)?
I am currently working on a project and we are having a bit of a dilemma about how to move the project forward. So, I thought I would write an article about it, post it out to this wonderful community, and maybe get some unbiased insight from some outsiders. I feel like myself and the others involved are all a little too invested to necessarily make the best decision; maybe I am being petty, irrational, or even short-sighted (hopefully you can let me know). You can read the original thread here, and I suggest you do so to get an accurate vision of this issue.
To me, the question is about the value of process over code and here is my story. And in reality it should not be a decision of one or the other.
I am greatly going to simplify this situation in hopes to give a more accurate and unbiased view but there are plenty of details that are relevant to our actual discussion.
The question is how to bring things together.
We have just released the first beta of the Drupal OpenLayers module. It's been a pretty crazy adventure as to how we got here, and there are still high hopes for the future. This post is going to be a long one, and should give you the complete introduction to this new mapping module for Drupal, and will also build on and borrow from my previous post on building this module.
OpenLayers is a free, open-source Javascript library that provides an easy interface to bring together any sort of map tiles, markers, features, and other GIS goodness. OpenLayers was initially developed by MetaCarta; it is now a project of the Open Source Geospatial Foundation. Think Google Maps but open-source. The OpenLayers has many examples and a gallery of sites.
Drupal is a great content management system and development framework. OpenLayers fits well into this because it basically is a really great visualization tool for content (the most obvious visualization being maps). Drupal can provide the ability to create and management data/content and OpenLayers can be a fun vehicle to displaying that content and provide a rich interface for your users.
The Drupal OpenLayers module is actually a full suite of modules that provide many integration points with other contributed modules.
[openlayers preset_name] into the body content of a node and it will be rendered as that map.Every once in awhile I will have a task that involves storing a password in the Drupal database, maybe so that a module can connect to a server or service. Unfortunately it is not secure to store sensitive information in the database unless it is encrypted. So tonight I wrote and released the Encrypt module
Drupal core does store passwords in the database: the user passwords. But this is one-way encryption, or creating a hash, meaning that once encrypted there is no built-in way to retrieve the data that was hashed. You can only compare hashes, hence why Drupal does not allow you to retrieve a lost password, simply it offers the ability to reset it.
Two-way encryption, or just encryption is the idea of taking a message, altering it so that it is unrecognizable usually with some sort of key, then sending it someone that also shares that key and can decrypt the code to get the original message. There are many methods of encryption, and it's hard to know what method is best.
Why do we need encryption? Well, let's take for instance the example above. I want the user to enter in their password for an FTP site so that I can get some files from it once a day. But, I don't want the user to have to come to the site and enter in their password every day to do this. Ideally I want to be able to store that password and retrieve it when I need it. This is where encryption comes in.
A few weeks ago we had the fourth annual RhuBarBeQue. It was cold and rainy like last year, but we still had some great times and some fantastic rhubarb dishes.
June 2009 is Geo June, which is a campaign to organized by Advantage Labs to make a concentrated effort to stabilize the Geo Module and push towards Drupal as a GeoCMS.
Geo is mainly a storage layer to hold geospatial data. What does that mean? Well, we all know about points such as latitude and longitude, but Geo helps to store other data such as lines and polygons.
Geo standardizes how all this data is stored, which is extremely helpful for modules, such as Location to store data and have the heavy lifting done for it, and makes it easy for modules such as Gmap, NIceMap, and Mapstraction to easily retrieve and display that data in lots of fun ways. Geo also provides a database abstraction layer to work with both PostGIS and MySQL Spatial.
Still not convinced of it's awesomeness, well then think Mashups! Though I am not a fan of the term, Map Mashups are all the rage and for good reason (data visualization is a great way to communicate large sets of data). By standardizing Drupal's GIS storage, it will be exponentially easier to integrate (i.e. mashup) data from your site with all those exciting external sources of data. Don't think you can collect geospatial data? Think again, more interweb explorers are becoming a lot more spatially aware and want their data represented in the context of our world. And even with lots of new open data, there are still lots of reasons to store that spatial data directly on your site.
There are many other use cases at this wiki page (feel free to add).
If you are interested in getting involved, go here. Some of the events going on or ways to participate:
Another goal of Geo June is for the OpenLayers Drupal Module to release a 1.0 (though I would be happy with a beta, personally). We have been really busy developing this module. It's fairly stable at the moment, but needs lots of cleaning up. We welcome testing and reporting bugs.
Drupal has always been good at being current with new technologies and this is an opportunity to continue that tradition. Geo is the building block for realizing Drupal as a GeoCMS, meaning that Drupal can consume, produce, collect, aggregate, display, cuddle, and mash geospatial data in a user-friendly (and developer-friendly) way. I personally don't know of anything that can currently be compared as a GeoCMS, and even with a stable Geo, we still have a long way to go, but I would love to see Drupal be the first GeoCMS.
On Saturday 2009 June 20, the Twin Cities Documentation Sprint (that's the twin cities of Minneapolis and Saint Paul in Minnesota, USA) will happen from 10AM through 5PM CST being held at Advantage Labs with sponsorships from fivefivefour and Gorton Studios. This event was crowd-sourced at one of our meeting.
We are still figuring out what areas we can focus on, but we don't actually need a specific agenda. If you have some documentation requests, please leave a comment. There will also be some members in the #drupal-docs IRC channel as well.