User experience

The design process can see at

Drupal 7 UX design principles:

1. Make the most frequent tasks easy and less frequent tasks achievable.

2. Design for the 80%

3. Privilege the Content Creator

4. Make the default settings smart

Learned from D7 AI:

Less clicks is not nessarlly better.

Few options show = more decision made.

Order by frequency use

Dashboard module provide the simple way to organizing administrative tasks and tracking information within your site.

Database layer

New database API

1. New in D7 is the placeholder and placeholder array

$node = db_query(“SELECT * FROM {node} WHERE nid = :nid“, array(‘:nid’ => $nid))->fetchObject();

$title = db_query(“SELECT title FROM {node} WHERE nid = :nid“, array(‘:nid’ => $nid))->fetchField();

2. New result set loop functions

$result = db_query(“SELECT nid, title FROM {node}”);

foreach ($result as $record) {
$record = $result->fetch();            // Use the default fetch mode.
//$record = $result->fetchObject();  // Fetch as a stdClass object.
//$record = $result->fetchAssoc();   // Fetch as an associative array.

see more:

3. Dynamic queries

This is the big change in D7, see from

Support for master/slave replication

$result = db_query(“SELECT nid, title FROM {node}”, array(), array(
‘target’ => ‘slave’,
‘fetch’ => PDO::FETCH_ASSOC,

Support for Transactions

A function simply calls “$txn = db_transaction();” as its first (or nearly first) operation to make itself transactional.

Nosql (Mongodb) support

D7 has a mongodb module provide the mongodb API.


Default to InnoDB engine

Semantic Web support

Support RDF


More secure password system, MD5 is no longer used.

More can see from