

Drupal 7 Released - kylemathews
http://drupal.org/drupal-7.0

======
CitizenKane
There is a lot of cool stuff in here: * A complete rewritten database layer
with dynamic query building capabilities. This allows for queries to built in
a way that are DB agnostic. Also makes it very easy for other to modify them.

* A generic entity system. In practice this allows data fields to be attached to objects dynamically. A cool thing about this system is that field storage is completely configurable on a per field basis so you could have your data stored in a bunch of different system (Mongo, Cassandra, S3, etc.)

* There is a really nice URL routing system. Drupal 6 had some really irritating problems, but there is a lot of cool stuff in here now.

* jQuery UI has been integrated so it's available for use on every Drupal 7 installation.

There are a lot of other things too. If you're looking to develop an
application in PHP Drupal definitely isn't a bad choice.

(Disclosure: I work for a Drupal shop and am a core contributor)

~~~
stdbrouw
The new database layer is... nice-ish, but what ever happened to Dries
Buytaert's prediction/dream of finally having an object-relational mapper in
Drupal (<http://buytaert.net/drupal-predictions-for-2008>)? Last I heard was
that a Doctrine integration got rejected chiefly because "it would slow Drupal
down".

~~~
CitizenKane
ORMs are nice for simple things, but once you get to a system with a decent
amount of complexity they really start to fall down. Case in point, doctrine
has a custom query language to deal with a lot of the complexities. This is
actually the reason behind the slowness you pointed out.

Thankfully, there is the entity system which for all practical purposes is an
ORM on steroids. It abstracts storage away from the developer, has attachable
fields with per field storage configuration. Plus every entity has a
completely customizable controller class. There are now modules that give you
an entire controller architecture (<http://drupal.org/project/entity>). I
think it's a pretty cool idea and blasts ORMs out of the water.

~~~
stdbrouw
I'll take anything over the pre-7 approach of either extending nodes, trying
to wrap your head around programmatically using CCK or doing plain SQL... but
an ORM on steroids? The code samples on [http://www.istos.it/blog/drupal-
entities/drupal-entities-par...](http://www.istos.it/blog/drupal-
entities/drupal-entities-part-3-programming-hello-drupal-entity) aren't
exactly what you'd call elegant, bundles are a poor man's inheritance, you
need a contrib module (Relation) to do something as basic as relations, and
EntityFieldQuery doesn't even come close to the expressiveness of e.g.
SQLAlchemy. It's an enormous step forward, but don't get cocky :-)

------
sunkencity
I gave Drupal 7 a fair shot for a site I had to build quickly for my dad
during the xmas holidays. I've a background in PHP and it was fairly easy to
get shit up and running easily but then I gave up when I had to install tons
of plugins to get image upload working. Supposedly they've integrated the
file/image classes into the core for 7 but I didn't manage to get the stuff
working fast enough, so I tried wordpress instead and although less powerful
it at least could publish pages (wysiwyg) and handle image uploads without
tons of configuration and plugins (and plugin dependencies).

I suppose that like for all open source projects documentation is lagging but
it'd be a lot easier to adopt Drupal if the image stuff had just worked out of
the box.

~~~
mechanical_fish
(Shameless plug time: I work at Acquia, surrounded by the developers of Drupal
Gardens.)

If you want a Drupal 7 site with working image uploads (and galleries) out of
the box, Drupal Gardens can probably help you:

Go to drupalgardens.com and sign up.

Create a site and make sure you have "image galleries" checked on the template
page.

And now you have a Drupal 7 site with image uploads working. Here, I took a
few minutes and built you an example:

<http://mechfishflickr.drupalgardens.com>

Now for the kicker: If at any point you don't want to keep your site running
on drupalgardens.com -- perhaps because you feel the need to hack directly on
the code, or because you really, truly need one of the 6,794 other Drupal
modules that aren't yet supported on Gardens -- there is an "Export" option on
the "My sites" page which you can use at any time to download the code, files,
and database in a big tarball. Then you can install it on your local LAMP
stack or upload it somewhere else.

~~~
cjdavis
I'll second this. Drupal Gardens is well worth checking out, especially if you
are new to Drupal. You can get a site up and running _very_ quickly, the built
in theme editor is amazing (think Firebug with a save button), and you really
can get a tarball of the whole site with a couple of clicks.

I build Drupal based websites, but I'm not affiliated with Acquia.

------
sprice
This major release is a long time coming (~3 years).

While the list of new features is long (see CHANGELOG.txt) in my opinion the
biggest improvement is the commercially sponsored user experience additions.

Out of the box it still feels a little rough to me but there are some
interesting Drupal distributions in the Drupal 6 space (Open Atrium, Open
Publish and more) that I expect to really shine as they and others move to
Drupal 7.

(disclosure: I build Drupal sites)

~~~
dejb
> This major release is a long time coming (~3 years).

For some of us this is a blessing. Upgrading can be daunting if you've
customised heavily or used modules that don't work in a newer version.
Anything less than 3 years for an upgrade that is incompatible with older
modules/themes is too short in my view. Looks like we'll have to start
thinking about upgrading to version 6 now.

------
brendoncrawford
I was doing hardcore Drupal 4/5/6 for about 4 years, but have been out of the
loop for a while. Perhaps somebody can answer these for me:

1) Have any significant improvements been made to simplify and streamline the
Drupal Forms API?

2) Is there now any easy and reliable way to define models/CCK-types in code
rather than web interface?

3) Is there now a programmatic schema and data migrations solution that does
not have to be used from a web interface?

4) Do modules still have to be named *.module ?

5) Has any namespacing been put into place?

6) Have any new measures been put into place to discourage developers from
putting SQL queries in template code?

7) Do modules and "node" objects have better OOP integration?

Thanks

------
geekfactor
I love Drupal but it's not a great testament to the technology when the
announcement site is broken:

<http://screencast.com/t/RE6gn0gIZL>

~~~
haribilalic
It's working now.

------
Tomek_
How is the codebase? OOP? MVC? Do they still use those weird file extensions
(it was ".include" or ".module" maybe, don't remember now)?

~~~
stdbrouw
They've been slowly moving to a more object-oriented approach, but in general
the consensus seems to be that procedural code and a very, ahem, loose
separation between logic and views is just fine. See
<http://drupal.org/node/547518> which makes some good points (Drupal uses a
lot of patterns commonly found in object- and aspect-oriented code, even if
it's neither) but also reads like a long apology for crummy software
architecture.

It's a mixed blessing, I think. OOP can be scary to people new to programming,
and the PHP ecosystem has a lot of new programmers. On the other hand, I'm
very, very glad I don't have to maintain the Drupal codebase.

~~~
thinkingeric
The 'us too' quality of that blog post is disturbing. They don't need to
defend their architecture choices against people who naively assume that OO is
an appropriate paradigm for all domains. The list of how 'design patterns' are
really in there somewhere is particularly off-putting. I didn't like
developing for Drupal, but I certainly support their right to do the things in
the way they think is best for the problems they are trying to solve.

------
joakin
Im eager to try this out, I hope they fixed the cache system as before the
only way to get a fast website was installing and configuring properly the
boost module (drupal had a lot of database load, and shared hostings cut mysql
connections at a limit that drupal exceded easily).

Ill give it a try!

~~~
VoxPelli
Among other things Drupal 7 has better support for reverse proxies like
Varnish. From the changelog:

"Improved support for HTTP proxies (including reverse proxies), allowing
anonymous page views to be served entirely from the proxy."

------
RealGeek
Download Link: <http://ftp.drupal.org/files/projects/drupal-7.0.tar.gz>

------
hardik
Ah! Just yesterday I moved a site running on PostNuke+PNPHPBB2 to Drupal 6
like this:: PostNuke -> Drupal via manual SQL instructions on Drupal website |
PNPHPBB2 -> vBulletin3 via Impex | vBulletin3 -> Drupal via vB2Drupal module

Now gotta get moving upgrading Drupal 6 to Drupal 7 :)

~~~
VoxPelli
Drupal 6 will still be supported until Drupal 8 is released in a few years and
it will for a while still be more stable than Drupal 7 and have more modules
supporting it.

So no need to rush an upgrade - you can safely stay at Drupal 6 for at least a
year or so.

------
erikstarck
My first impression from Drupal 7 is that it's much easier to use and get
started with. Great work from the community! Now it's time to move in to the
larger corporations where expensive licenseware still rules.

------
smag
Congratulations to everyone who helped create Drupal 7. I took a quick look at
it, and the Admin UI looked much improved.

------
mjshampine
thinking about using drupal 7 on a new site we're making for a client. besides
the whitehouse site, does anyone know some good government sites using drupal?
any using drupal 7 already?

~~~
xorglorb
Many more than you would think: <http://groups.drupal.org/government-sites>

------
ohho
Congratulations!

