Index: inc/dbschema/db-schema.php
===================================================================
--- inc/dbschema/db-schema.php	(revision 0)
+++ inc/dbschema/db-schema.php	(revision 3)
@@ -211,4 +211,15 @@
 	;
 
+$_s->pref
+	->pref_id		('varchar',	255,	false)
+	->user_id			('varchar',	32,	true)
+	->pref_ws		('varchar',	32,	false,	"'system'")
+	->pref_value	('text',		0,	true,	null)
+	->pref_type		('varchar',	8,	false,	"'string'")
+	->pref_label	('text',		0,	true)
+	
+	->unique('uk_pref','pref_ws','pref_id','user_id')
+	;
+
 /* References indexes
 -------------------------------------------------------- */
@@ -228,4 +239,5 @@
 $_s->meta->index		('idx_meta_post_id',	'btree','post_id');
 $_s->meta->index		('idx_meta_meta_type',	'btree','meta_type');
+$_s->pref->index		('idx_pref_user_id',			'btree',	'user_id');
 
 /* Performance indexes
@@ -256,4 +268,5 @@
 $_s->log->reference('fk_log_blog','blog_id','blog','blog_id','cascade','set null');
 $_s->meta->reference('fk_meta_post','post_id','post','post_id','cascade','cascade');
+$_s->pref->reference('fk_pref_user','user_id','user','user_id','cascade','cascade');
 
 /* PostgreSQL specific indexes
@@ -263,4 +276,5 @@
 	$_s->setting->index		('idx_setting_blog_id_null',	'btree',	'(blog_id IS NULL)');
 	$_s->media->index		('idx_media_media_path',		'btree',	'media_path', 'media_dir');
+	$_s->pref->index		('idx_pref_user_id_null',		'btree',	'(user_id IS NULL)');
 }
 ?>
Index: inc/dbschema/upgrade.php
===================================================================
--- inc/dbschema/upgrade.php	(revision 0)
+++ inc/dbschema/upgrade.php	(revision 3)
@@ -143,4 +143,43 @@
 				}
 			}
+
+			if (version_compare($version,'2.3','<'))
+			{
+				# Add global favorites
+				$sqlstr = 'INSERT INTO `dc_pref` (`pref_id`, `user_id`, `pref_ws`, `pref_value`, `pref_type`, `pref_label`) VALUES';
+				$sqlstr .= '(\'g000\', NULL, \'favorites\', \'a:8:{s:4:"name";s:8:"new_post";s:5:"title";'.
+					's:'.strlen(__('New entry')).':"'.__('New entry').'";s:3:"url";s:8:"post.php";'.
+					's:10:"small-icon";s:20:"images/menu/edit.png";s:10:"large-icon";s:22:"images/menu/edit-b.png";'.
+					's:11:"permissions";s:18:"usage,contentadmin";s:2:"id";N;s:5:"class";s:13:"menu-new-post";}\', \'string\', NULL)';
+				$sqlstr .= '(\'g001\', NULL, \'favorites\', \'a:8:{s:4:"name";s:5:"posts";s:5:"title";'.
+					's:'.strlen(__('Entries')).':"'.__('Entries').'";s:3:"url";s:9:"posts.php";'.
+					's:10:"small-icon";s:23:"images/menu/entries.png";s:10:"large-icon";s:25:"images/menu/entries-b.png";'.
+					's:11:"permissions";s:18:"usage,contentadmin";s:2:"id";N;s:5:"class";N;}\', \'string\', NULL)';
+				$sqlstr .= '(\'g002\', NULL, \'favorites\', \'a:8:{s:4:"name";s:8:"comments";s:5:"title";'.
+					's:'.strlen(__('Comments')).':"'.__('Comments').'";s:3:"url";s:12:"comments.php";'.
+					's:10:"small-icon";s:24:"images/menu/comments.png";s:10:"large-icon";s:26:"images/menu/comments-b.png";'.
+					's:11:"permissions";s:18:"usage,contentadmin";s:2:"id";N;s:5:"class";N;}\', \'string\', NULL)';
+				$sqlstr .= '(\'g003\', NULL, \'favorites\', \'a:8:{s:4:"name";s:5:"prefs";s:5:"title";'.
+					's:'.strlen(__('My preferences')).':"'.__('My preferences').'";s:3:"url";s:15:"preferences.php";'.
+					's:10:"small-icon";s:25:"images/menu/user-pref.png";s:10:"large-icon";s:27:"images/menu/user-pref-b.png";'.
+					's:11:"permissions";s:1:"*";s:2:"id";N;s:5:"class";N;}\', \'string\', NULL)';
+				$sqlstr .= '(\'g004\', NULL, \'favorites\', \'a:8:{s:4:"name";s:9:"blog_pref";s:5:"title";'.
+					's:'.strlen(__('Blog settings')).':"'.__('Blog settings').'";s:3:"url";s:13:"blog_pref.php";'.
+					's:10:"small-icon";s:25:"images/menu/blog-pref.png";s:10:"large-icon";s:27:"images/menu/blog-pref-b.png";'.
+					's:11:"permissions";s:5:"admin";s:2:"id";N;s:5:"class";N;}\', \'string\', NULL)';
+				$sqlstr .= '(\'g005\', NULL, \'favorites\', \'a:8:{s:4:"name";s:10:"blog_theme";s:5:"title";'.
+					's:'.strlen(__('Blog appearance')).':"'.__('Blog appearance').'";s:3:"url";s:14:"blog_theme.php";'.
+					's:10:"small-icon";s:22:"images/menu/themes.png";s:10:"large-icon";s:28:"images/menu/blog-theme-b.png";'.
+					's:11:"permissions";s:5:"admin";s:2:"id";N;s:5:"class";N;}\', \'string\', NULL)';
+				$sqlstr .= '(\'g006\', NULL, \'favorites\', \'a:8:{s:4:"name";s:5:"pages";s:5:"title";'.
+					's:'.strlen(__('Pages')).':"'.__('Pages').'";s:3:"url";s:18:"plugin.php?p=pages";'.
+					's:10:"small-icon";s:27:"index.php?pf=pages/icon.png";s:10:"large-icon";s:31:"index.php?pf=pages/icon-big.png";'.
+					's:11:"permissions";s:18:"contentadmin,pages";s:2:"id";N;s:5:"class";N;}\', \'string\', NULL)';
+				$sqlstr .= '(\'g007\', NULL, \'favorites\', \'a:8:{s:4:"name";s:8:"blogroll";s:5:"title";'.
+					's:'.strlen(__('Blogroll')).':"'.__('Blogroll').'";s:3:"url";s:21:"plugin.php?p=blogroll";'.
+					's:10:"small-icon";s:36:"index.php?pf=blogroll/icon-small.png";s:10:"large-icon";s:30:"index.php?pf=blogroll/icon.png";'.
+					's:11:"permissions";s:18:"usage,contentadmin";s:2:"id";N;s:5:"class";N;}\', \'string\', NULL);';
+				$core->con->execute($sqlstr);
+			}
 			
 			$core->setVersion('core',DC_VERSION);
