Blogs

emfield is Dead, Long Live emfield

New plan of action:

1) Pull File Entity from Media and store in its own project page.
2) Have Embedded Media Field create a new widget for File Fields, that offers a textfield in addition to the upload button, allowing to paste URL's.
3) The update from d6 to d7 will create a new file field in place of the old, which will store the parsed URI's.

Most of this is already in place, making the process much easier than it would have been earlier.

What do you think? Is this a reasonable course of action? Am I missing something?

Announcing OSGameCon 2011

Announcing The First Annual Drupal Open Source Game Contest!

The BOF today was great! We made a couple of minor changes to the base rules. Also, nosro has volunteered to make a simplified version of the rules, so we can plug that in (and click through to the longer "fine print" explanations for more clarification).

My intent for launching this effort is to encourage us all to finish some games! There are only a very small few Drupal games out there, plus a smattering of flash games in nodes, and the potentials for using Drupal as a framework for gaming, as everyone in this group knows, is an untapped reservoir of awesomeness.

We're planning to build up & market the site & contest over the next few months, with a date of May 1 to open for submissions of "intent" by game author wannabes. Then we'll use DrupalCon London in August as a final deadline, and open it up for judging.

We'll also solicit prizes, ala the ifcomp, so that if, for example, we have 14 prizes and 23 submissions, then the top 14 authors will get to choose from the prizes in order.

Basically, once open for submissions, authors will be able to create a "secret" node on the site, where they announce their intent to create a game. During this phase, things are still hush-hush -- no one's generally allowed to talk about their projects before the August deadline. However, I think it might be useful on several levels to have at the very least a running list of authors. The arbiters will also be available to answer questions during this time, for instance, "I'm making a WarCraft clone in Drupal, will that count?" (Yes, but don't use any copyrighted info. And good luck on that one.) or "I'm going to create a flash game and stick it in a node. And I don't want to release the source. Does that count?" (No, wtf get out of here.)

At London, we'll open the contest for judging by the public. Although we're still working out the details, I think that IFComp has the best idea there: a simple 1-10 rating by people. People will be able to base their ratings on whatever they want, and are encouraged (required?) to write their reasons in the comments ("Excellent game play, great graphics," "Tight integration with core Drupal functionality," "Breakout wtf?"). Authors will need to release both a playable version of the game at this time, and a recipe of the modules & custom code. Judges are not required to examine the code if they don't want to (or don't know how to). But they are more than welcome to base some (or all) of their rating on the source.

None of this is written in stone, but I feel that this is a solid start, and imagine that anything further will just be tweaks.

So a reminder, if you're planning to write a game for this contest, make sure your public release coincides with the August deadline -- you'll be disqualified if you make the site generally available before then. (Although, please, please recruit a few beta-testers when you're getting closer. They won't be able to vote on your game, but they will do much towards making your game sweet.)

Also, discussed at the BOF, if your game is to be commercial, all parts of it MUST be freely available to judges during the judging period. (If you want to charge for level ups or whatever, that's your business, but that cannot be part of the game for the intents & purposes of this contest.) Also, you'll need to plan to write up a recipe of how you built it, which must include 100% GPL released code. (You don't need to release data, themes, or images, with a few caveats discussed in the rules.)

So w00t! Let's make some games! And make Morbus Iff proud...

(Crossposted at g.d.o.)

Media - File Styles Roadmap

This past month I've been busy getting the Styles module ready for release. This module does the heavy lifting for display of Media objects. For those that don't know yet, Media, the File Browser to the Internet, is the future of media handling for Drupal 7. It exposes the underlying streams API of Drupal core, allowing for fieldable media entities (fields on files), mixing up images and audio, local files and YouTube.

File Styles for Drupal

Basically, the Styles module allows you to select a style for display with a field (or in a View or with WYSIWYG), and the field will be displayed as determined by the predetermined criteria. For instance, as shown in the above diagram, you might set the display as 'Medium', and the actual displayed file or remote stream will be selected according to the file's mime type (as an image, a video, in an mp3 player, etc).

Read about the UI...

Bylaws of the Open Drupal Guilds (version 0.9)

Concept

The Open Guilds website at http://openguilds.org/ (and its cousin http://drupalguilds.org/ for Drupal) is a central location for grassroots certifications for practitioners of various Open Source software. The idea is that rather than a top-down certification process where people pay money to an organization to take a test, people instead prove to their peers their ability to craft in their field.

The organization of Open Guilds is set up to foster a peer review system. Anyone may create a guild within the organization, and set up their own certification procedures at various levels within the guild. Each guild will stand on its own merit, and gain the benefit of camaraderie from other related guilds.

Each guild within Open Guilds will have its own charter, which will specify, among other things, its system of governance and procedure; and a scope of certification. A charter may, for instance, specify that it is to be run by parliamentary procedure with an elected council, or that it is an open democracy.

The Open Guilds organization itself is run by a council of Vested Members, who are individuals actively involved over a period of time. The meetings themselves are conducted on-line in a visible format, with all matters decided by the majority vote of Vested Members.

Other than the right to vote on procedural matters, membership to Open Guilds is free to all individuals, who may join as Journey Members. Journey Members may join any guild, according to its charter (which may, for instance, require an invitation or approval vote by its council, specific certification within another guild, or other requirements).

A guild may specify many certifications, each of which may have requisite certifications. Although a guild’s charter may specify otherwise, in most cases, a certification will require a test or demonstration of ability to be evaluated by one or more certified members of the guild. The reputation of an individual guild will depend on the continuing diligent and truthful evaluation by the guild members.

Read the Bylaws!

Transcript of the Drupal Guilds Presentation

Here is an idealized transcript of the recent Drupal Dojo session I did regarding the proposed Drupal Guilds, which you can watch here if you didn't catch it earlier:

Also, here are the slides I used during the presentation, which the headers generally refer to, if you want to follow along the text:

Medieval Guilds

My name is Aaron Winborn, and through the Drupal Dojo, I will now present some ideas I’ve had brewing around a concept for a Drupal Guild system for peer-review certifications. You might know me as a developer with Advomatic and contributor to Drupal for nearly five years. You probably don’t realize that I’ve also been involved with the Sudbury model of education for about twelve years, and am currently on the Board of Trustees for my daughter’s school.

First, let’s take a trip back through history.

Feudal Europe 2
Medieval Feudal Europe was not a fun place to live. Despite the image of knights and ladies held in the collective subconscious, everyone was a slave, or serf. All of Europe was parceled up into fiefdoms, where everyone worked to their death on the land. However, by the end of the early middle ages, a few barons came up with the idea of freeing their serfs and charging rent. When others realized they were making easily four times as much by doing this, within a century nearly all serfs had been freed.

The church moved from the center of town to the outskirts, to be replaced by the marketplace, where a new mercantile class sold their wares. Wanting a better life, a large number of them began to educate themselves.

Medieval Guilds 2
Medieval Guilds, deriving from an earlier system of pooling of gold and resources by craftspeople united by craft, quickly rose in prominence throughout Europe. They fostered professionalism with its system of apprenticeship, and the post of Guild Journeymen became the goal for nearly all freemen. This system even survived and thrived in early America, well into the nineteenth century.

Medieval Universities
In the early 11th century, a new type of guild arose, a guild of students, or ‘universitas’. These people met in their homes and churches, pooling together their resources to hire teachers to provide themselves with the best possible education. This system of education became so popular that it attracted the attention of the church and state, who formed competing guilds of teachers, who worked hard to attract paying students.

Modern Universities
Of course, we all know which system survived: by the twelfth century, there were over 100 established universities in Europe. Sanctioned by the state, it became a gatekeeper for the more lucrative professions, such as lawyers and medicine.

Modern Guilds 2
Some guilds have managed to exist into the twenty-first century, particularly in creative arts such as the Screen Actor’s Guild and the Writer’s Guild. Several other systems and organizations resemble modern guilds, such as the Bar Association and many unions.

Modern Guilds 3
I read this morning a paper by a professor at MIT that advocates a return to the medieval guild system, arguing that the twentieth century system of working for the company, with pensions and whatnot, is obsolete. In fact, the modern consultant in many ways resembles the old guild journey member, traveling between clients, working for multiple companies, and sharing their expertise and knowledge with other crafts people.

Professional Certifications
Many developers seek professional certifications, which fall into three categories: Corporate, Proprietary, and Professional. Corporate certifications exist within a single corporation, and are generally non-transferable, but might look good on a resume. Proprietary certifications, or product-specific certifications, are good for a specific software or hardware product, but are also not relevant outside that product. Professional certifications are more general, serving to increase the level of practice, and are generally industry-wide, such as the IEEE Certified Software Development Professional certification. Finally, there are some government mandated and overseen certifications, known as licensures.

Professional Certifications 2
There are hundreds of available software certifications, of dubious quality, most of which are given by the software manufacturer to anyone able to pay a buck and fool the test.

Professional Peer Review
Professional Peer Review is used in place of or to augment the value of testing. It is used in many professions, such as in Health Care, Accounting, Law, Engineering, Aviation, Forest Fire Management, and even Software Development. It has roots in Scholarly Peer Review, used in academia to determine whether an article is worthy of publication. Some criticisms of Peer Review are that it’s subject to gate keeping and elitism, it’s not designed to easily detect fraud, and can be a lengthy and expensive process.

Sudbury Model Schools
Based on the original Sudbury Valley School, Sudbury model schools are democratic, age-mixed, non-coercive environments for children. Part of the model involves certification; students are free to structure their days as they wish, but if they want to use certain equipment (such as a sewing machine, computers, or a dark lab), they must demonstrate proficiency and receive certification. In many of these schools, graduation is also a reflection of this process: students wishing to graduate will create a committee of peers and advisers, who will help guide the student through a portfolio creation, culminating in a defense of their thesis to the entire school body, who will vote on whether to award a diploma.

Free as in Drupal!

Open Guilds
My initial idea for creating the Drupal Guilds (as a subset of Open Guilds) came about during the development of the latest incarnation of DrupalDojo.com. Part of the initial discussions for that site included “learning tracks”, where users could flag their favorite lessons and sessions, forming “playlists” to be shared with others. I realized along the way that this could serve as an excellent form of certification.

For instance, a developer interested in learning how to present multimedia in Drupal could work through all the lessons in a specific track and come out the other end able to put their new-found knowledge to work. It would simply require people putting in the the time to oversee their education and award a certification. Considering that thousands of people already donate hundreds of thousands of hours to development and documentation, it simply requires a framework to funnel some of this expertise into an Open Source University.

Rather than a corporation coming along and offering a $500 certification test, we can create this system in a grassroots fashion, bootstrapping and certifying ourselves. Certifications would be free, with reputations as strong as the developers’ due diligence.

Open Guilds 2
The structure I propose involves allowing any person to join the Open Guilds as an Apprentice. Anyone may also join any individual Guild. Each Guild itself offers its own certifications, which are overseen by Journey Members and Masters, who, after presentations by the Apprentice and discussions, vote on whether to award a certification. The Masters of a Guild are likewise elected within that Guild.

Open Guilds 3
Finally, the creation of new guilds itself follows similar tenets: anyone may propose a new guild charter, which is determined by a majority of Vested Members of the Open Guilds. The proposed charter would state the title and purpose of the guild, as well as (perhaps) its form of governance, such as by democratic vote of all members, or the representative vote of its council of Masters.

Open Guilds 4
Vested Members would be members of the entire organization who have a vested stake (most likely determined by paying dues, and/or by the length of their membership and the frequency of their involvement). However determined, Vested Members would oversee the General Business of the Drupal Guilds and Open Guilds.

(Cross-posted at groups.drupal.org/guilds.)

Drupal Guilds Discussion Today!

Drupal Guilds

This is probably late notice for many of you, but I'm going to give a presentation about Drupal Guilds today (Friday, September 10) at 5 GDT (12 EDT), about an hour and a half from this posting. The presentation will be recorded, along with a slide show, and I'll make sure to post about it again after that if you miss the meeting.

Background: Drupal Guilds, a subset of Open Guilds, is a planned organization to foster a grassroots peer review certification system for crafters of Drupal. With its roots in early medieval guilds, particularly in the universitas, it seeks to help create and foster masters of Open Sourcery.

I've been working on-and-off this concept over the past year, which is a culmination stemming largely from both my work with Open Source Software and with Sudbury model schools over the past twelve years.

Please see my post at Drupal Guilds & Open Guilds for more information. Hope to see you soon!

Edit: Here's an embedded slide show of the presentation; video soon!

The Summer of Drupal Daddy

As KarenS predicted, there have been many Drupal-free nights from me this summer, while my household adjusts to its newest member. Though thanks to Advomatic, my days have continued to be filled with Drupal.

Sabina Rose

For instance, I've been hard at work on Node Reference / Embed Media Browser (nrembrowser), the perhaps unfortunately named, but descriptive, module that does just what it says. I did a session for it in an earlier incarnation at Drupal Dojo, and have banged at it incessantly, until it's now just about ready for prime time! As I said in the session, that project is, I believe, a reasonable alternative for folks who want Media-like functionality for Drupal 6.

What makes it viable is its integration with WYSIWYG and Styles. Styles is a brainstorm I had during the development of Media, in which I tackled how to display wildly differing data (such as photos and videos) with a single field formatter. I've been refining the model in version 2 of the Drupal 6 version, where I've moved it into a class structure and made lots of improvements. Coming soon to Drupal 7...

And then there's Views Slideshow: Galleria, which makes it easy to create a Galleria slideshow in Drupal. And some refactoring of Embedded Media Field, version 3, in which we begin the migration to Drupal 7's Media, and bring some of its magic (of a unified storage system) back to 6...

But what I've been dying to tell you all is about my few, but precious, Drupal nights. Though it's gone from 12 hours or more a week to three, in the wee hours of the morning at that, I've still been banging away. However, I've changed directions entirely, following another passion of mine: games! And no, not playing them, making them... I've said too much already, as it's not quite ready for release. But suffice to say, I think it'll be fun, and of course, it'll be available through the good ol' GPL...

Drupal Dad's Day

Ashlin & Sabina

Father's Day is on June 20. Of course, with a second precious daughter in my life, this day will have even more meaning for me. Gwen recently asked me what I would like, which is always (for me) a difficult question to answer. So I gave it some thought, and came up with a list. In retrospect, I realized it all had to do with my endless pursuit of Drupal, so I thought I'd share that here for other Drupal Dads and their families to contemplate...

Diver's Slate

A diver's slate - What does that have to do with Drupal, you ask? Well, some of my best ideas come when I'm in the shower. Many of those have been lost forever, because I often promptly forget them by the time I've dried off. This particular gadget has an "infinite scroll", and (presumably with a USB connection) allows its entries to be scanned into a computer later. And if you get your best ideas when diving, its "phosphorescent writing surface illuminates notes during night dives".

Laptop glare guard

Laptop glare guard - This one is obvious. Would go great with a coupon for lunch at your favorite wireless hotspot...

Drupal Dojo on Second Monitor

A second montor (albeit a pricey gift) would help with any serious Drupaler's efficiency.

As I sit here in the wee hours of the morning composing this post with Sabina, hoping that 8Tracks will help her sleep, I'm also thinking a white noise generator might be a fantastic gift for new dads. I know we could have used one this month...

Though I have a full Drupal library, I need to finally list the obvious gift for Drupal Dads who might not have read some of the best Drupal books:

Pro Drupal Development

Using Drupal

and, of course,

Drupal Multimedia

What other ideas do you have for the perfect Drupal Dad's Day gift?

The Reason No Drupal from me Recently...

Sabina Rose

Sabina Rose
May 22, 2010
2:28 AM
8 lbs, 2 oz

How to Handle Large File Uploads?

I'm actually posting this as a question. If you're looking for the answer, sorry I don't have it yet.

How can we reasonably handle large file uploads? I'm talking in the >100MB range; YouTube, for instance, now supports 2GB files, and this will become increasingly the norm. I don't think that most servers are up to that yet, particularly if you need an application to scale.

Elephant on a Bike

Currently, using PHP, you need to set memory_limit to more than twice the upload_max_filesize, which as you can see would be prohibitive in the example of 2GB uploads; you'd need to set your PHP memory to >4GB (adding the buffer of 64M or whatever you need to run Drupal). EDIT: Looks like I was incorrect in my assumption; if you're not going to process the file, you don't need a huge memory footprint just to handle the raw uploads. Thanks Nate and Jamie!

Even if you manage to have that kind of resource available, you can probably expect things to splode with concurrent uploads...

So I spent some time yesterday looking at SWFUpload yesterday (module here), as I'd misunderstood its claims. Yes, it handles large file uploads (from the browser's standpoint), but you still need to set PHP memory accordingly. Not suitable for what I'm looking for, but it is a really nice way to handle multiple uploads. WARNING: I also learned from experience and much head-scratching that it doesn't work if you have Apache authentication on your server...

Now I'm looking at node.js as a possibility. This looks really great, and might do the job. Basically, it's a JavaScript application that sits on your server. Yes, you heard that right. Turns out that as JS has evolved, it's turned into a really tight language, and should be quite suitable for concurrent tasks.

Sorry if you came to this post looking for answers; I've simply postulated more questions. But I'm hoping that someone with more experience with this issue might be able to comment, and we'll all benefit from it. Additionally, this might turn out to be a handy addition to the Media suite, perhaps as a fancy stream wrapper for handling large files? And I'll definitely follow-up when I figure out how best to tackle this.

Thanks,
Aaron

Syndicate content

The Society for Venturism has chosen me as the recipient of its charity for this year, to hopefully offer me cryonic preservation when the time comes. And this month, Longecity, an excellent forum for the discussion of issues related to extending the lifespan of humans, has offered up a matching grant of up to a thousand dollars to help out! So help out! Please.