Feeds

Palantir: DrupalCon San Francisco: The Palantir Track

Planet Drupal - Wed, 2010-03-17 20:35

The results are in, and it looks like Palantir will be all over DrupalCon San Francisco, which kicks off in just under five weeks.  Nine of us will be on hand to spread the Drupal love (and some great swag) everywhere from the stage to the Birds of a Feather (BoF) room to the hallway. Here's the low-down on the Palantir track:

Categories: FLOSS Project Planets

:

Drupal Association - Wed, 2010-03-17 19:55
Categories: FLOSS Project Planets

Use parent.pm instead of base.pm

Planet Perl - Wed, 2010-03-17 19:26

For years, the common way for your class to inherit from one or more superclasses was the base module. For example:

package Game; sub new { bless {}, shift } package Baduk; use base 'Game';

This works, but some people, me included, aren't quite happy with that. Basically, the above could also be expressed as:

package Game; sub new { bless {}, shift } package Baduk; our @ISA = qw(Game);

If the two packages were in different files, the Baduk package would have to load the file where the Game package lives in as well. But that's about it.

However, base.pm goes further than that. It supports deprecated pseudohases, tries to be clever with $VERSION and generally just does too much. A lot of cruft has accumulated over the years. So a new module, parent, was forked from base.pm and cleaned up.

Using parent.pm is pretty much the same as base.pm:

package Game; sub new { bless {}, shift } package Baduk; use parent 'Game';

This will try to load Game.pm as well. If the Game package is in a different file that is already loaded, you can tell parent.pm not to try to load the file:

package Game; sub new { bless {}, shift } package Baduk; use parent -norequire, 'Game';

Compare the source of the two modules and you will find that parent.pm is a lot cleaner and easier to understand.

Write a comment |

Categories: FLOSS Project Planets

Chris Lamb: Per-channel BTS bot filtering

Planet Debian - Wed, 2010-03-17 18:54

Just a short announcement that my Debian BTS IRC bot which hangs out on #debian-devel-changes can now spam your favourite subproject's channel with specific bug activity and uploads.

Filtering is done with a regular expression tested against the package name. /msg me with your (channel, regex) tuples (in Python re format, please).

Categories: FLOSS Project Planets

Matt Raible: The Cloud Computing Continuum with Bob McWhirter

Planet Apache - Wed, 2010-03-17 18:22
This afternoon, I sat in a Keynote by Bob McWhirter at TSSJS 2010. Bob is the Chief Architect of Cloud Computing at Red Hat. Bob is "The Despot" at Codehaus, helped start Groovy and founded Drools. Below are my notes from his talk.

The cloud is not an either/or question. A scorched Earth strategy is not necessary to be in the cloud. The cloud is a continuum of technologies, many of those that you're already familiar with. You're used to web, messaging and storage. You can add just a little bot of cloud to your application at a time.

So what is the cloud?

It's the next logical step in application delivery.

How did we get to the cloud? First, we jammed a lot of servers into a closet (back in the .com days). That's a lot of stuff to deal with if all you want to do is deliver an internet-based service. Then we did some colo. The problem with colo was that it was still our stuff. Then we leased managed servers. With the cloud, we lease what appears to be servers (or services). This is a path we've all been taking to abstract the annoying bits away from hosting an internet-based service.

The typical diagram of a cloud has IaaS, PaaS and PaaS. IaaS abstracts away hardware. PaaS abstracts away services. SaaS abstracts away software.

Tenants of the cloud:

  • The illusion of infinite resources.
  • On-demand acquisition and provision.
  • Someone else's responsibility.

Magicians provide the illusion of pulling a card out of your ear, but they don't actually do it. Because there are limits of what we can do. With on-demand requisitioning, there's no more purchase orders. There's no more waiting for delivery. No waiting for IT to rack it. Or install it. By having someone else manage your hardware, it's not your problem. There's clear lines of responsibility. This intentionally limits visibility into the implementation. Hopefully it's best-of-breed.

The Cloud is really just a mindset. Virtualization makes it affordable to make mistakes. Repeatedly. Each service is managed as an autonomous entity. Services are designed for scalability.

Architecture 101 give us a presentation layer, a business logic layer and a persistence layer. You can scale it by putting many instances on many servers. However, the truth is that most apps are a big ball of mud. You need to get your application in order, then figure out which parts really needs to scale. Is the web tier really where we have trouble? Painting HTML isn't all that hard.

You don't have to put everything in the cloud. The cloud is not a revolution. We still need containers for web things, messaging things, storage of things and other things. Containers still exist, they're just in the cloud.

From container to cloud
When you have an application and a database, there's not much to abstract away into the cloud. However, as soon as you notice your DB is slow, you'll add caching. Once you hit your machine's memory limit, you discover distributed caching systems. Once you've done this, you'll discover that the network isn't all that slow, especially compared to spinning disks. Then you realize that you don't even need the storage and you can keep everything in cache. From there, you move to a RESTful caching service. Then you call it a NoSQL Service so you can be buzzword-compliant.

As far as caching services, there's many available, but a lot of them are startups. However, the cloud does not have to mean external 3rd-party providers. Remember DBAs? It was their job to view the database as a service and to protect it. There's a good chance that we'll end up with DBAs for services. By turning caching into an independent service, it becomes subject to economies of scale.

The cloud is a mindset. It's an SOA approach that allows groups to specialize and optimize for scale.

So how do you implementing a local cloud? We already have great caching technologies. Bob, with his JBoss hat on, recommends Infinispan and its REST API. To get around network latency, you can still run your cloud on your LAN. You're essentially trading disk traffic for network traffic. You can use many hands (e.g. MapReduce) to make things happen quickly.

Besides caching, there's a number of other services that can be put in the cloud. For example:

  • Messaging (REST-MQ
  • Scheduling
  • Security & Identity (OASIS, etc)
  • Computation (query & otherwise)
  • Transactions (REST-TX)
  • Business Process Management
  • Telephony (VOIP, SMS)

Your application becomes a stack of services, instead of a stack of software.

Higher-order business-logic services are also subject to cloudification. Ultimately, going into the cloud is not rocket science. The cloud does not turn everything on its head. We don't have to wait for new companies to develop new technologies. Startups may be the best consumers of the cloud, but might not be the best providers. We'll let the startups assume the risks for now. Until the 3rd party services have been proven, it's probably best to build your own cloud of services.

More than anything, the cloud has caused a return to fundamentals. Once your app is a collection of services, you can easily pick and choose what pieces you want to put in the cloud. This is where we're headed, whether you like it or not. As more apps become global-scape, you're going to run into these issues. By adopting a cloud mindset and architecture, your app can be prepared for scalability issues.

For more communication with Bob and his Cloud Evangelism, checkout StormGrind or follow him on Twitter.

Personally, I really enjoyed Bob's talk. It was by far the best keynote today, mostly because he told a story and did it elegantly with a nice-looking presentation. Not only that, but he provided the audience with a practical view of the cloud and ways that we can start using it in our applications today.

Categories: FLOSS Project Planets

Gustavo Noronha Silva: WebKitGTK+ 1.1.90 is out!

Planet Debian - Wed, 2010-03-17 18:11

We’re coming close to GNOME 2.30 release date, and we are getting ready to branch a stable release off of WebKit’s svn trunk in preparation for that. The idea of the stable branch is to try to maintain, and improve stability, with no additional features going in. Speaking of features, though, if you’ve been paying attention you will have noticed WebKitGTK+ has come a long way, now.

We came from not having basic features such as download support or openning links in new tabs, a more-or-less working HTML5 media implementation, and very few or missing in action developers to a thriving project, that gets more, and more attention, and contributors every day, with advanced features available, and rocking HTML5 media support that leaves little to be desired. It’s been just over one year since we started rolling mostly bi-weekly releases, each adding more awesome features.

There are still many issues, and we are not always equipped as a team to handle all the specifics of the engine ourselves, but I am really happy with the progress we’ve made, and really thankful for the support my employer Collabora has given all the way for this to happen, including the early work on plugins, and many other things before my time as a contributor. When I switched to using Epiphany with the WebKit backend as my default browser back in January 2009, that meant having to deal with a whole lot of misbehaviour, and work-around a lot of painful brokeness. These days I enjoy a snappy, functional browser that makes me happy.

If you haven’t done so yet, go download, and test the newest Epiphany, with the latest WebKitGTK+, and help us make the GNOME 2.30’s web browser rock even more!

Categories: FLOSS Project Planets

Matt Raible: Software Quality: The Quest for the Holy Grail?

Planet Apache - Wed, 2010-03-17 17:07
This afternoon, I attended a session on software quality by Jesper Pedersen at TSSJS. Jesper is a Core Developer at JBoss by Red Hat. He's the project lead of JBoss JCA, Tattletale, Papaki and JBoss Profiler 2. He's also currently the chairman of the Boston JBoss User Group. In this session, Jesper hopes to define basic requirements for a development environment and offer ideas on how to clean up a messy project.

Is software quality a friend or a foe? By implementing software quality processes, are you introducing unnecessary overhead? Development platforms are different today. We write a lot more business-specific code. We depend on standard frameworks for the core functionality. We depend on vendors to implement the standards correctly. We also depend on vendors to provide the necessary integration layer.

Since the platform is now a large slice of the pie, we must make sure we know where the issue is located. We must have proper integration tests; we must manage dependencies. Today, we must treat dependencies as if they are part of the application.

Defining the platform for your project helps narrow down the dependencies for your project. The platform is composed of corporate guidelines, standards, vendors and backend systems that you have to integrate with. Documentation is key for a successful project. Key documents types: User Guide, Developer Guide, API Guide, Architect Design, Implementation and Test.

It helps to define a project-wide configuration management system. Define a code-formatting guide will add consistency in your source tree. Also make sure you have separate build, test and execution environments. Use a Maven repository for your dependencies; both to support your project's artifacts as well as vendor artifacts.

"Maven today is an industry standard." -- Jesper Pederson

Define your tool chain as you would for your application. Back your Maven repository with SCM tools like Subversion or Git. For testing, use JUnit (unit testing), Corbertura (test coverage) and Hudson (continuous integration). Furthermore, you can add Checkstyle and Findbugs to verify coding conventions and find basic issues with code.

For the build environment, you need to make sure your dependency metadata is correct. Also, make sure you use the best practices for your given build tool. For example, with Maven and Ivy, it's a good idea to extract the version numbers into a common area of your pom.xml/build.xml so you can easily view all the versions in use. After you've done this, you can externalize the version information from the environment. Watch out for transitive dependencies as they can be tricky. Make sure you know what gets pulled in. Use enforcers to approve/ban dependencies or turn it off (Ivy). You can also vote for MNG-2315. Finally, snapshot dependencies are evil: define your release process so that releases are easy.

What can you do if your project is already a mess? Signs that your project is a mess: you look at your platform as a big black box, you use different dependencies than your deployment platform or you don't have integration tests for sub-systems or dependencies. To fix this, you can use a tool to get an overview of the entire project. Enter Tattletale.

Tattletale can give you an overview of your dependencies (Ant and Maven integration). It's a static analysis tool that doesn't depend on metadata, scanning your class files instead. Using Tattletale, you can produce a number of reports about your dependencies, what they're dependent on and what's dependent on you.

To maintain the lead in your project, make sure to define a checklist for each stage of your development cycle. Do reviews on documentation, architecture, component design and code. Enforce your rules of your project with your build system.

Jesper's final thoughts:

  • Maintaining dependencies for a software project can be a tricky task.
  • Using an Open Source platform as the foundation will ease the investigation of issues and increase trust.
  • Defining a project-wide tool chain is key.
  • Enforce all the rules on the project (better up-front than "fixing it" afterwards)

As Dusty mentioned, this session has a lot of good (basic) information, but there wasn't much new stuff. My team is using many of the technologies and practices that Jesper has mentioned. I guess that's validation that we're doing it right. I've heard of Tattletale, but never had a need for it since I haven't been on any "messy" projects recently.

Categories: FLOSS Project Planets

More Android on Sprint

LinuxPlanet - Wed, 2010-03-17 16:38

It will be nice to see Google's Nexus One join the Sprint network. What's even cooler is the news that the HTC Supersonic (Android with Snapdragon CPU and Sense UI) -- and the first 4G phone in the US -- will be debuing on Sprint very soon. As a Sprint customer, it's nice to see some more Android phones coming to the carrier.

Categories: FLOSS Project Planets

inkscape 0.47 and libpoppler.so.4

LinuxPlanet - Wed, 2010-03-17 15:53

I've seen a few reports of this on the web and there are a few solutions, but none as simple as this. Whether this is the RIGHT fix or not, I don't know, but it works for me.

The issue is that inkscape may not start on a system if libpoppler.so.4 is not present. From what I read online, it seems that libpoppler.so.4 isn't actually a dependency of inkscape, so I simply made a symlink:

  • su -c 'ln -s /usr/lib64/libpoppler.so.5 /usr/lib64/libpoppler.so.4'

And now inkscape 0.47 launches as expected and so far has worked without any issues. I'm guessing this is an inkscape bug, so I'm gonna see if it has or has not been reported to inkscape and whether or not there is an official fix. But until I figure that stuff out, the symlink works quite well.

Categories: FLOSS Project Planets

David Watson: 7 Day Photo Challenge - Day 5

Planet Debian - Wed, 2010-03-17 15:47

Here is my shot for day 5, it is St. Patrick's day after all.

Only two more days left...

Categories: FLOSS Project Planets

Stephen Ferg: Multiple constructors in a Python class

Planet Python - Wed, 2010-03-17 15:45

In addition to working with Python, I also work with Java quite a lot.

When coding in Python, I occasionally encounter situations in which I wish I could code multiple constructors  (with different signatures)  for a class, the way you can in Java.  

Recently, someone else had the same desire, and posted his question on comp.lang.python. So I thought that I would post an example of the technique that I use, in case others might find it useful.  So here it is:

==========================================

import sys, types, pprint class Vector: """ Demo of a class with multiple signatures for the constructor """ def __init__(self, *args, **kwargs): if len(args) == 1: foundOneArg = True; theOnlyArg = args[0] else: foundOneArg = False; theOnlyArg = None if foundOneArg and isinstance(theOnlyArg, types.ListType): self.initializeFromList(theOnlyArg) elif foundOneArg and isinstance(theOnlyArg,Vector): self.initializeFromVector(theOnlyArg) else: self.initializeFromArgs(*args) pprint.pprint(self.values) # for debugging only def initializeFromList(self, argList): self.values = [x for x in argList] def initializeFromVector(self, vector): self.values = [x for x in vector.values] def initializeFromArgs(self, *args): self.values = [x for x in args] #------------ end of class definition --------------------- v = Vector(1,2,3) v = Vector([4,5,6]) q = Vector(v);
Categories: FLOSS Project Planets

IE9 preview ties the fight between H.264 and Ogg Theora

LinuxPlanet - Wed, 2010-03-17 15:29

With the ongoing fight about the codec technology to be used for the built-in video feature of HTML5, the decision of Microsoft for IE9 was looked upon as the major decider to bridge this major technology divide. But in IE9's preview this Tuesday, their decision to adopt H.264 technology proved to be heart breaker for Ogg Theora and open-source fan camp. Although this is not the final decision, but it is still a major chance that Microsoft can go with the proprietary H.264.

In case your memory needs a little refreshment, HTML5 introduced the <video> tag to provide built in video capability in browser and to get rid of the browser crasher flash softwares. Even though a browser updated to work with HTML5 still needs a codec technology like opensource and free Ogg Theora or proprietary H.264 to play the videos. Firefox and Opera decided to go with Ogg Theora, Safar wouldn't play anything other than H.264 encoded videos and the Grand Google Chrome is happy to support both of them. So, the score till now was in favour of Ogg Theora, 3-2. But IE9's decision to adopt H.264 has tied the whole scenario.

But this decision of Microsoft was anticipated. Just think, why would they not want to go with H.264. Consider the following points.

Finally, after all the improvements done in HTML5 for a better web, it seems that the inbuilt video technology brought by <video> tag might take some time to be widely accepted because of this unanswered question, "which codec?". 

Categories: FLOSS Project Planets

Mauricio Piacentini (piacentini): Akademy-BR

Planet KDE - Wed, 2010-03-17 15:21
Sandro has broken the news, and I am very glad to join him and talk about our little event. And I am also glad to blog again after several months of baby sitting :)

First, a bit of history: during the last months of 2009 we talked about a KDE sprint in Brazil, as a way to foster the local community and also because it is currently too expensive to fly all of this people to events in the US and Europe all the time. We reasoned that we could continue to send people (a few at a time) to the sprints and events, but something local was needed to care for the growth of KDE in Brazil.

Also, we did some discussion in order to identify the needs of the community, and what prevents more participation in the global project. As most of you have seen in the planet, there are people here working in projects related to kdegames, kdeedu, amarok, kdepim, plasma, kdevelop... But some of these contributions are developed in parallel, and only after much effort (and hand holding from the veterans down here) we manage to integrate them effectively into trunk. One of the issues identified is the language barrier, which is something we have to work with, but should not prevent participation in one form or another. There are others (documentation in portuguese, revamp of the local site, establishment of a local promo team) that are already happening, but could benefit a lot from a concentrated effort, such as a sprint. We have a very good presence at the big events here like fisl and latinoware, but these are venues where it is difficult to sit down and actually work together, like we can do in sprints or hacking sessions.

With all of the above in mind, we found a nice solution: Akademy-BR. An event for the local community, with the majority of content in Portuguese, and structured as a super-sprint. We will have three days of events: one day of talks, one day of unconference, and lots of hacking sessions in between. It is not only for developers: promo, translation and website teams will also be there to work together on br.kde.org, and also to refine our plans for having the best possible KDE presence in fisl 2010 and LatinoWare 2010, among other venues. The dates chosen were April 8, 9 and 10.

We are following on the steps of Akademy-es (thanks to the spaniards for pioneering local Akademies!), but using the sprint format as our discussions appear to suggest that this produces the best result when community-bonding is needed (working on smaller, focused groups, mixed with talks and planning) . The goal is not to only TALK about KDE, but to actually sit down and work together on the various individual projects, lifting the barriers that prevent people from contributing more directly to trunk, usually due to lack of confidence or lack of information on how to do so. In the process we hope to convince people to help maintaining KDE code, mainly in edu and games, as this is very much needed.

I mentioned that we have dozens of people working on KDE in Brazil, but we are all scattered geographically and sometimes only meet once a year if at all. So our initial goal for this sprint was to have in-between 12 and 18 people. However, just the initial call for action on the kde-br mailing list already produced more than 30 people signed in (in 3 days), and this does not count the brazilians that were at Camp KDE, or the guys from iNdT. Due to concerns regarding organization, budget and venue capacity we had to limit this first edition to 30 people (and a half), and I think we achieved a good mix of old and new blood, developers, designers, web and promo people, men and women. And at least one baby is confirmed as well, if you are wondering about the half person mentioned. The list of confirmed atendees (in portuguese) can be found here.

The location is very near Salvador, Bahia, at the NE part of Brazil. This is where the LiveBlue group (from Sandro and Tomaz) is located This proximity will save us a lot in transportation costs. Salvador is also a well connected city, with direct flights from most capitals in Brazil, which makes air travel cheap from other areas of the country. Sandro also scouted a very good location, a hostel that we can use to both sleep and host the event, at a very reasonable price. LiveBlue will be doing the hardest part regarding organization, and I am very glad this group exists and very happy for the work they are doing (and have already done) for KDE in Brazil.




My personal goals at the event are related to KDE Games and Edu: I hope we can get some developers up to speed with their contributions, and assemble local teams for projects with the intention of working with the bigger KDE Games and Edu community. Suggestions are welcome, as we are now in the process of closing the structure of the talks and setting up the pre-event coordination, which is done via the akademy-br mailing list (thanks to sysadmins for that).

In closing, many, many thanks to the e.V. members and to the board for their help in setting up this event. I hope we can make it a success and produce high quality work that will jumpstart several projects for the growth of KDE and FLOSS in South America.
Categories: FLOSS Project Planets

Bryan Pendleton: Filling out your bracket

Planet Apache - Wed, 2010-03-17 15:08
If you're a gear head like me, March Madness is statistics nirvana. When it comes to filling out your bracket, you have so many choices!


Or you can take Raymond Chen's approach, which is, if nothing else, always both amusing and educational.
Categories: FLOSS Project Planets

Gunnar Wolf: Getting away from Panamá

Planet Debian - Wed, 2010-03-17 14:40

Several months ago, around the Central American Free Software Encounter (ECSL) in Estelí, Nicaragua, I started stirring the waters — The Central American regions have vibrant, beautiful Free Software communities, but have mostly (with some very notable examples, of course) shied away from being active participants in major development projects. What was I to do about it? Of course, try to get them to become Debian contributors!

During the following weeks, I talked about it with several friends from the region, and the result was an announcement and lots of arguments that followed it. Panamá was decided as the host country, and many people have put a lot of work into making the MiniDebConf happen.

Mauro Rosero and Anto Recio came up with what appears to be a wonderful local venue and a set of sponsored amenities, and the Debian project is sponsoring what is needed in terms of transportation for people from the whole region (spanning from Mexico to Ecuador and Venezuela IIRC).

I am very sorry, however, that I cannot attend this meeting. This very same weekend, I will fly three hours, but in the opposite direction: I will go to Tijuana, where fate decided I will present my first round of CENEVAL equivalence exams (Acuerdo 286 Licenciatura). I expect that to be the topic of another post, to come soon.

So, while my friends will be having a good time and talking about Debian and group work, I will sit through three periods of four hours, answering an exam for the first time in a very long time. Fun, hah? Anyway, I will meet Guillermo Amaral (thanks for hosting me! ;-) ), which ensures I will not miss all of the fun ;-)

Categories: FLOSS Project Planets

Tim Bish: QueueBrowser now supported in NMS.ActiveMQ

Planet Apache - Wed, 2010-03-17 14:30
After finishing up the QueueBrowser support in ActiveMQ-CPP I went back and reworked a patch that had been submitted to NMS to fully support the QueueBrowser in NMS.ActiveMQ. Wasn't to hard to do since the use was nice enough to submit unit tests along with the patch (love it when they do that) so I just had to tweak some things for all the recent changes that went in to get NMS 1.2.0.

Using the NMS version of the QueueBrowser is pretty simple, you can get the code from NMS.ActiveMQ's trunk. Here's a small snippet of code that shows how to use the QueueBrowser



IQueueBrowser browser = session.CreateBrowser((IQueue)destination);
IEnumerator enumeration = browser.GetEnumerator();

while(enumeration.MoveNext())
{
IMessage message = (IMessage) enumeration.Current();

// ...Do something with the message
}



Since the QueueBrowser returns a .NET IEnumerator instance it also supplies a Reset method that essentially just recreates the Browser session and restarts the Browse from the beginning.

Let us know if you find any bugs!
Categories: FLOSS Project Planets

KiokuDB ♡ DBIx::Class

Planet Perl - Wed, 2010-03-17 14:17

I just added a feature to KiokuDB's DBI backend that allows freely mixing DBIx::Class objects.

This resolves KiokuDB's limitations with respect to sorting, aggregating and querying by letting you use DBIx::Class for those objects, while still giving you KiokuDB's flexible schema for everything else.

The first part of this is that you can refer to DBIx::Class row objects from the objects stored in KiokuDB:

my $dbic_object = $resultset->find($primary_key); $dir->insert( some_id => Some::Object->new( some_attr => $dbic_object ), );

The second half is that relational objects managed by DBIx::Class can specify belongs_to type relationships (i.e. an inflated column) to any object in the KiokuDB entries table:

my $row = $rs->create({ name => "blah", object => $anything ); $row->insert; say "Inserted ID for KiokuDB object: ", $dir->object_to_id($row->object); To set things up you need to tell DBIx::Class about KiokuDB: package MyApp::Schema; use base qw(DBIx::Class::Schema); # load the KiokuDB schema component # which adds the extra result sources __PACKAGE__->load_components(qw(Schema::KiokuDB)); __PACKAGE__->load_namespaces; package MyApp::Schema::Result::Foo; use base qw(DBIx::Class); # load the KiokuDB component: __PACKAGE__->load_components(qw(Core KiokuDB)); # do the normal stuff __PACKAGE__->table('foo'); __PACKAGE__->add_columns(qw(id name object)); __PACKAGE__->set_primary_key('id'); # setup a relationship column: __PACKAGE__->kiokudb_column('object'); # connect both together my $dir = KiokuDB->connect( dsn => "dbi:SQLite:dbname=blah", schema_proto => "MyApp::Schema", ); my $schema = $dir->backend->schema; # then you can do some work: $dir->txn_do( scope => 1, body => sub { my $rs = $schema->resultset("Foo"); my $obj = $rs->find($primary_key)->object; $obj->change_something($something_else); $dir->update($obj); });

There are still a few missing features, and this is probably not production ready, but please try it out! A dev release will be out once I've documented it.

In the future I hope to match all of Tangram's features, enabling truly hybrid schemas. This would mean that KiokuDB could store objects in more than one table, with objects having any mixture of properly typed, normalized columns, opaque data BLOBs, or something in between (a bit like DBIx::Class::DynamicSubclass and DBIx::Class::FrozenColumns, but with more flexibility and less setup).

Categories: FLOSS Project Planets

Codendi Webinar

LibreSoft Planet - Wed, 2010-03-17 13:12
Categories: FLOSS Research

agileapproach.com: Drupal in Government Part 2: Drupal: The New Gov 2.0 Site Builder?

Planet Drupal - Wed, 2010-03-17 13:11
I have been writing a series of guest blog posts at GovFresh on Drupal in open government. GovFresh works to inspire government-citizen collaboration and build a more engaged democracy through Gov 2.0 best practices, open gov news, guides, TV, tech, people and official U.S. government feeds, all in one place.

This month, I discuss how Drupal is close to being the perfect Gov 2.0 solution for savvy agencies – and soon perhaps a default solution for open government web initiatives in my post today entitled Drupal: The New Gov 2.0 Site Builder?

Last month I wrote about how Drupal supports five of the most effective open government sites in Five Government Sites Using Drupal Effectively for Open Government Initiatives.

Let me know what you think of these posts and what else you would like to see written about on this topic.
Categories: FLOSS Project Planets

Lullabot: DrupalCon San Francisco Schedule

Planet Drupal - Wed, 2010-03-17 13:02

The preliminary DrupalCon San Francisco session schedule was released yesterday, and I wanted to get an overview of all of the sessions and so I created the following graphic:

As with every year, the schedule is bound to change a bit between now and the actual DrupalCon as there are still some conflicts and sessions to be confirmed, but this will at least start to give you an idea of some of the sessions that will be happening.

For more details on these, then be sure to check out the full schedule here.

Categories: FLOSS Project Planets
Syndicate content