I´m just on th way to learn/create module from crash/learning by doing
... first of all I
take the Example from the Book Magento 1.4 Development Cookbook (Nerul
Ferdous), but I have a
probleme with the file
/app/code/local/pack/news/sql/mysql4.0.10.php...because , for what I
read so far , the way of doing so is not any more support  with  greater
version of magento (the book version is 1.4) , from version 1.6  mysql4
is deprecated (that mean there is the possibility to
work with every DB of  choice not only Mysql )... So I am trying to find
out how I can solve/fix the
probleme ....:)

a:5:{i:0;s:86:"SQLSTATE[42S02]: Base table or view not found: 1146 Table
'magento.news' doesn't exist";i:1;s:5552:"#0
C:\xampp\htdocs\magento\lib\Varien\Db\Statement\Pdo\Mysql.php(110):
Zend_Db_Statement_Pdo->_execute(Array)
#1 C:\xampp\htdocs\magento\lib\Zend\Db\Statement.php(300):
Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 C:\xampp\htdocs\magento\lib\Zend\Db\Adapter\Abstract.php(479):
Zend_Db_Statement->execute(Array)
#3 C:\xampp\htdocs\magento\lib\Zend\Db\Adapter\Pdo\Abstract.php(238):
Zend_Db_Adapter_Abstract->query('SELECT COUNT(*)...', Array)
#4 C:\xampp\htdocs\magento\lib\Varien\Db\Adapter\Pdo\Mysql.php(419):
Zend_Db_Adapter_Pdo_Abstract->query('SELECT COUNT(*)...', Array)
#5 C:\xampp\htdocs\magento\lib\Zend\Db\Adapter\Abstract.php(825):
Varien_Db_Adapter_Pdo_Mysql->query(Object(Varien_Db_Select), Array)
#6 C:\xampp\htdocs\magento\lib\Varien\Data\Collection\Db.php(225):
Zend_Db_Adapter_Abstract->fetchOne(Object(Varien_Db_Select), Array)
#7 C:\xampp\htdocs\magento\lib\Varien\Data\Collection.php(225):
Varien_Data_Collection_Db->getSize()
#8 C:\xampp\htdocs\magento\lib\Varien\Data\Collection.php(211):
Varien_Data_Collection->getLastPageNumber()
#9 C:\xampp\htdocs\magento\lib\Varien\Data\Collection\Db.php(516):
Varien_Data_Collection->getCurPage()
#10 C:\xampp\htdocs\magento\lib\Varien\Data\Collection\Db.php(563):
Varien_Data_Collection_Db->_renderLimit()
#11
C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\Widget\Grid.php(533):
Varien_Data_Collection_Db->load()
#12
C:\xampp\htdocs\magento\app\code\local\Packt\News\Block\Adminhtml\News\Grid.php(17):
Mage_Adminhtml_Block_Widget_Grid->_prepareCollection()
#13
C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\Widget\Grid.php(626):
PACKT_News_Block_Adminhtml_News_Grid->_prepareCollection()
#14
C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\Widget\Grid.php(632):
Mage_Adminhtml_Block_Widget_Grid->_prepareGrid()
#15
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(862):
Mage_Adminhtml_Block_Widget_Grid->_beforeToHtml()
#16
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(582):
Mage_Core_Block_Abstract->toHtml()
#17
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(526):
Mage_Core_Block_Abstract->_getChildHtml('grid', true)
#18
C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\Widget\Grid\Container.php(77):
Mage_Core_Block_Abstract->getChildHtml('grid')
#19
C:\xampp\htdocs\magento\app\design\adminhtml\default\default\template\widget\grid\container.phtml(36):
Mage_Adminhtml_Block_Widget_Grid_Container->getGridHtml()
#20
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Template.php(241):
include('C:\xampp\htdocs...')
#21
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Template.php(272):
Mage_Core_Block_Template->fetchView('adminhtml\defau...')
#22
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Template.php(286):
Mage_Core_Block_Template->renderView()
#23
C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\Template.php(81):
Mage_Core_Block_Template->_toHtml()
#24
C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\Widget\Container.php(308):
Mage_Adminhtml_Block_Template->_toHtml()
#25
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(863):
Mage_Adminhtml_Block_Widget_Container->_toHtml()
#26
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Text\List.php(43):
Mage_Core_Block_Abstract->toHtml()
#27
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(863):
Mage_Core_Block_Text_List->_toHtml()
#28
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(582):
Mage_Core_Block_Abstract->toHtml()
#29
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(526):
Mage_Core_Block_Abstract->_getChildHtml('content', true)
#30
C:\xampp\htdocs\magento\app\design\adminhtml\default\default\template\page.phtml(74):
Mage_Core_Block_Abstract->getChildHtml('content')
#31
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Template.php(241):
include('C:\xampp\htdocs...')
#32
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Template.php(272):
Mage_Core_Block_Template->fetchView('adminhtml\defau...')
#33
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Template.php(286):
Mage_Core_Block_Template->renderView()
#34
C:\xampp\htdocs\magento\app\code\core\Mage\Adminhtml\Block\Template.php(81):
Mage_Core_Block_Template->_toHtml()
#35
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Block\Abstract.php(863):
Mage_Adminhtml_Block_Template->_toHtml()
#36
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\Layout.php(555):
Mage_Core_Block_Abstract->toHtml()
#37
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(390):
Mage_Core_Model_Layout->getOutput()
#38
C:\xampp\htdocs\magento\app\code\local\Packt\News\controllers\Adminhtml\NewsController.php(26):
Mage_Core_Controller_Varien_Action->renderLayout()
#39
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(419):
PACKT_News_Adminhtml_NewsController->indexAction()
#40
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(250):
Mage_Core_Controller_Varien_Action->dispatch('index')
#41
C:\xampp\htdocs\magento\app\code\core\Mage\Core\Controller\Varien\Front.php(176):
Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#42 C:\xampp\htdocs\magento\app\code\core\Mage\Core\Model\App.php(354):
Mage_Core_Controller_Varien_Front->dispatch()
#43 C:\xampp\htdocs\magento\app\Mage.php(683):
Mage_Core_Model_App->run(Array)
#44 C:\xampp\htdocs\magento\index.php(87): Mage::run('', 'store')
#45
{main}";s:3:"url";s:82:"/magento/index.php/news/adminhtml_news/index/key/466b2b8595db722d36baaec886025e5e/";s:11:"script_name";s:18:"/magento/index.php";s:4:"skin";s:5:"admin";}


this means , the table is not create (--> see red ) in the DB by
launching the magento ...
These approch is so far for someone who just starts learning Mangento ,
a way to deal with Debugging 

 #################################
1 -Adding Widget works very good 
2 - News just works only backend not Frontend because the creation of
news Table in the Mysql DB on work