Future of Drupal FTP

On IRC, Károly Négyesi (better known as chx) asked me about the status of the Drupal FTP project. He was concerned that it stores FTP usernames and passwords, which could open up the possibility for security holes and malware if extended or used improperly. Additionally, one of its stated goals was as a possible means to automatically download and install modules on one's site, which is also a stated goal for the Plugin Manager Summer of Code project.

At first, I said that I would remove the project entirely, as I hadn't worked on it in over a year, and had no intention of continuing development in the near future. Even at that time, although I saw the possibility for using it to install modules on your site, I wasn't really that interested in pursuing that aspect, as I really didn't want to get into the security issues involved.

However, I decided to post to the Developer's list first, to get further feedback before removing the project. I had had a few queries regarding the project over the past year, and suspected that there might be some developers actually using it. Additionally, I wanted to find out if there were any compelling reasons to actually keep the module in the project repository.

Turns out to have been a good thing, it looks like. Not only are there a few people actually using the module, I was reminded of other efforts to use FTP with Drupal, most notably Media Mover and, of course, the upcoming Plugin Manager module.

Read on...

5 Second Game Widget Mock-Up

Here is a rough mock-up for a widget for the upcoming 5 Second Game Drupal module that Morbus Iff and I are developing.

It doesn't do anything yet, but check back soon...

Basically, this mock-up is for one of several planned widgets that are meant to be embedded in blogs and other posts. As a user of the game, you would post a widget featuring your character (at the bottom), and other people viewing the widget could fight your character, using an anonymous character, or logging in and using their own.

Read on for more details...

No More Teasers!

I just read We don't need no Pagination, which describes a technique to replace the read more of a page with an automatic page loader for the next section. I think this could easily be done in Drupal, maybe as a plug-in for Views and teasers.

As a start, I could easily envision teasers automatically loading the rest of the content on mouse hover. Or a page view loading the next batch of results when scrolled to the bottom. Probably other uses as well, although they might be more theme/site specific.

Is there already something that does this? If not, I'll probably start a new project for it. Maybe something like Automatic Page Loader or something...

Aaron's Project Plans in June

This list is partly to inform interested others of my personal Drupal plans this month, partly to get feedback, and partly as a reminder for myself when I see my blog. The order is roughly in order of priority for me. We'll see how it actually pans out...

  • Finish writing Drupal Multimedia! (I've finished 10 of 12 chapters, so I'm on the home stretch...)
  • Upgrade Embedded Media Field to Drupal 6. (There are several folks working on this, who have been instrumental in current progress.)
  • Write the engine for 5 Second Game. (Morbus Iff has jumped on board as a co-developer, helping to ensure the highest quality for this fun project!)
  • Expand GetID3 functionality. (Thanks to Rob Loach for his ideas and push to get that going. The next stage of development for this is to create an API to better handle Metatag storage.)
  • Make a tutorial for XSPF Playlist + Views recipe. (I just finished writing an awesome tutorial for this in the book, but want to make a video tutorial available, probably for Drupal Dojo.)

There are other projects on the back-burner I'd like to get to as well, such as upgrading some of the other modules I work on, creating official releases, etc. I plan to revise this list next month, and see where things are.

5 Second Game (Concept)

The engine for 5 Second Game is built on a Rock-Scissors-Paper concept. There are three stats, corresponding to that, and everything modifies that: character classes, skills, combat, etc. It is meant to be a fast paced, easy to grasp, infinitely extensible game.

The game is designed to be fit into an embeddable widget, so that users may post the game in a blog or other page, allowing others to quickly and easily play the game. A widget may highlight that user's character, challenging all takers.

The game lends itself well to guilds and the like as well, which are also built into the system. Characters may belong to one or more guilds, which govern themselves as desired by their players. The system honors the guilds' wishes, so that characters belonging to a specific user-formed guild might gain certain bonuses (or suffer penalties) according to the guild charters.

Additionally, servers may choose to allow characters to migrate between certain other servers. The character may be "translated" during migration, so that world/genre integrity is maintained (if desired). However, the simplicity of the system lends itself easily to that, if an administrator doesn't mind a gun-toting sheriff to arrive at the scene of a medieval tournament, or conversely if the player of a high elf wizard doesn't mind being translated to a nanobotic engineer on a space station.

You can play the game at http://5secondgame.com to see it in action (once it's built...)

Drupal Next Year...

...will be on mobile phones...

EVERY MINUTE 1,000 people around the world sign up for a cellphone.

EVERY MINUTE 1,000 people around the world sign up for a cellphone. (Found at the NY Times)

Embedded Expression Engine in the Works

You want to support a provider not included automatically with Embedded Media Field? Just can't wait for the maintainers of the module to write a new include file for FrenchBlingVideoMashup.TV? But you don't know RegEx parsing from red beets and parsnips?

Fret no more.

Soon, you will be able to build your own provider parser, with little more than the cut-and-paste you're already familiar with.

I am in the middle of creating Embedded Expression Engine (emexgine), which will compare the URLs and Embed codes from a third party content provider and turn them into a new option for your video, image, or audio fields.

Read on to find out more! (With cool, full-size, preview screenshots!)

I am Singularity?


I just learned about Singularity, an online web developer's conference schedule for October. Not to be confused with the Singularity, our potential post-human future.

This conference will feature many renowned speakers, such as Tim O'Reilly and developers from CERN, Yahoo, EA, Linden Lab (SL), and other influential organizations.

A quick search on the site for Drupal doesn't show anything. With its focus on a vision of the future of the Web, I think it's important that Drupal be represented there. Any chance we could get Dries to offer to speak? If not him, who else would be a good candidate? Robert Douglass? One of the Lullabots?

Or maybe we could swarm the conference. Drupal is, after all, the future of the Web...

Map a Video Feed!

Sean Effel from drupaltherapy.com recently created an excellent Feed API + Emfield Recipe video tutorial.

He shows you step-by-step how to take a video feed from Blip.TV (or any other provider supported by Embedded Media Field) and aggregate it on your own site, videos, thumbnails, and all, automatically turning the remote videos into nodes on your site, ready for theming, comments, and anything else you want.

See the Video!

RPG Achievements

So I have recently implemented and committed RPG Achieve in the RPG module series for Drupal. This allows games to record achievements of players, such as "You have slain 14 dragons", or "You were the first to summit Ploggers Peak". Next in that progression will be RPG Quest, which will allow achievements to be grouped together.

I've begun implementing achievements in Spindowners, an upcoming sci-fi RPG being built with the RPG module. The game's shaping up nicely, and is currently in a closed Alpha. It's nearly ready for an open Alpha, with one character class at least.

Achievements may be defined in the administration pages, or through rulesets. Once defined, you only need to call rpg_achieve_set("achievement_1", $pc) to set the achievement. Each achievement has fine-tuned permissions, so that they may be visible to the player or not, and whether or not a message of achievement is sent, for instance. Obviously, each player character has their own achievements. Once Views 2 is out and RPG is ported to d6, I'll also hook it into the upcoming RPG Views.

Other new changes: I've ripped out the definitions from Rulesets into their own .inc files, for automatic inclusion on import, since those will only be called once. It's easy to limit character classes for user roles, etc., now, with hook_rpg_pc_types. I'm also in the middle of defining a few more useful core objects in Drudge, such as "Shuffled Event Lists" (which spout out occasional messages when appropriate, such as "A hawk cries in the distance," or "A meteor shoots across the night sky"). Along these lines, I've introduced rpg_trigger_all('event_name'), which will call rpg_trigger for all objects in scope.

Scope is another new thing, necessary for events to work properly. Now, when each event is called, the $rpg['scope'] array will hold all objects in scope for that event. By default, that will be the pc, the pc's containing room, and any objects invoked during an action. Other objects may be added or removed manually, but that should be sufficient in most cases.

Next on my plate: the holy grail: a single game page that never reloads, instead reloading just the blocks as needed. This allows for the creation of neato game UI's, battle music, and the ever-popular ad block from hell...

IF YOU HAVEN'T ALREADY, make a character at Drupal RPG. It's fun! Pointless right now, but you can see what all the fuss is about. Make sure to check out the snowbank for fun things to do...

Aaron Winborn
AaronWinborn.com (my blog)
Drupal RPG (home for the RPG module)
Spindowners (an upcoming sci-fi game built with the RPG module, currently in closed alpha)
Advomatic (my day job, a really cool place to work)

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.