New module not working as expected

Okay, I have started my first attempt to build a new module, and I have lots of questions.

Basic background: I have a very useful MySQL stored procedure that I want to use to fill Detail, List and Dashlet views. It returns four fields in the resultset - spusername, spactiondate, spsummary, and spDetailedSummary.

I started in Module Builder, and used the four field namesreturned from the stored proc as field names when adding fields to the module. I then used and arranged these fields in the detail, list and dashlet views in Module Builder. Finally, I published the module to a work folder on my hard drive.

Module Builder created a SugarModules folder with Custom, Language and Modules subfolders. The Custom folder is empty, as expected. The language folder has the automatically generated language file as expected. The Modules folder has the meat of the module, also as expecteds.

I added a Menu.php file, in hopes of seeing additional menu items on the navigation bar. This did not, in fact, add any navigation links, even after adding the link strings to the modules//language/en_us.lang.php file.

I did not modify the generated .php or the _sugar.php files. I did not modify any of the modules//metadatga files. I added view.detail, view.edit and view.list files and modified them to uswe a custom query that looks similqar to this (changes appropriate to (detail or list), overriding the display() functions.:

 
<?php
  require_once('include/MVC/View/views/view.detail.php');
  class <module>ViewDetail extends ViewDetail{
	  
 	function __construct(){
 		parent::__construct();
 	}

    /**
     * @deprecated deprecated since version 7.6, PHP4 Style Constructors are deprecated and will be remove in 7.8, please update your code, use __construct instead
     */
    function <module>ViewDetail(){
        $deprecatedMessage = '[view.detail.php] PHP4 Style Constructors are deprecated and will be remove in 7.8, please update your code';
        if(isset($GLOBALS['log'])) {
            $GLOBALS['log']->deprecated($deprecatedMessage);
        }
        else {
            trigger_error($deprecatedMessage, E_USER_DEPRECATED);
        }
        self::__construct();
    }
	  
    function display(){
		if(empty($this->bean->id)){
			global $app_strings;
			sugar_die($app_strings['ERROR_NO_RECORD']);
		}
		
		if(isset($GLOBALS['log'])){
			$GLOBALS['log']->debug("Inside the populateTemplates function of view.list");
		}
        else {
            trigger_error("Inside the display() function of view.detail", E_ALL);
        }

		$this->populateTemplates();
        $this->lv->quickViewLinks = false;
        parent::Display();
    }

	function populateTemplates()
	{
		if(isset($GLOBALS['log'])){
			$GLOBALS['log']->debug("Inside the populateTemplates function of view.detail");
		}
        else {
            trigger_error("Inside the populateTemplates function of view.detail", E_ALL);
        }
		
		global $app_list_strings;
		$sql = "CALL `<sproc name>` (NULL, NULL, NULL, NULL, NULL)"
		$res = $this->bean->db->query($sql);

		$app_list_strings = array();
		
		var $trackData "<table><tr>";
		while($row = $this->bean->db->fetchByAssoc($res)){
			if($row){
				$app_list_strings[$row] = $row;
				
				foreach($app_list_strings[$row] as $fieldvalue)
				{
					$trackData .= "<td>".$fieldvalue."</td>"
				}
			}
		}
		$trackData .= "</tr></table>";
		$GLOBALS['log']->debug("trackData HTML from view.detail: [$trackData]");
		
		return parent::display().$trackData; 
	}
}
?>

In the view.edit, I called die, with a message, since I want to disable editing. I also did not modify the generated dashlet files.

I zipped the content under my work folder, loaded the module zip file, with no issues. I did a Quick Repair and Rebuild.

I am seeing my module in the admin->Display Modules and subpanels list, but am not seeing it in the navigation bar or in the list of modules in the ALL menu item. The dashlet, when added, has the correct field names, but no data.

What else do I need to do, and where does it need to be added?