Products » Support Forums 

Support Forums

HomeHomeDotNetNuke Modu...DotNetNuke Modu...Url MasterUrl MasterMissing Admin > Page Urls entry for new portalsMissing Admin > Page Urls entry for new portals
Previous
 
Next
New Post
11/25/2009 6:22 AM
 

The three new portals in question are all missing from the ifty_TabModuleCreation table.

I looked at the event log for the time they were created and there’s nothing interesting. I created all three at the same time.

 
New Post
11/25/2009 7:27 AM
 

OK, I looked at this problem extensively today.  Turns out the problem is caused by some changes made to DNN in 5.1.3 and 5.1.4.  If you're on this version, then that's the reason.

I have uploaded a new version of the module today with the fix in it : download from here - http://www.ifinity.com.au/Products/Url_Master_DNN_SEO_Urls

However, the fixed version won't create the pages for your existing portals.  For that, you need to run a script.  I've attached the script below - just copy / paste this into your host-Sql page,  then update the 'portalId' value at the top of the script for your target portal id.  Check the 'execute as script' box and click on 'execute'.  This will create the pages for you.

 

Begin transaction
declare @portalId int

select @portalID = !_update_me_to_portal_id_!

if @PortalId > -1 
BEGIN
	declare @moduleDefId int, @moduleControlId int, @controlSource nvarchar(255)

	/* insert an admin / Page Urls page for the new portal */		
	Declare @AdminTabId int, @tabPath nvarchar(200), @tabOrder int

	/* find the admin tab for the portal by working backwards from the site settings control */
	SELECT @adminTabId = pt.TabId
		 , @tabPath = pt.TabPath
	FROM {databaseOwner}{objectQualifier}Modules m
	INNER JOIN {databaseOwner}{objectQualifier}MOduleDefinitions md
	 on m.ModuleDefId=  md.ModuleDefId
	INNER JOIN {databaseOwner}{objectQualifier}ModuleControls mc
	 on md.ModuleDefId = mc.ModuleDefId
	INNER JOIN {databaseOwner}{objectQualifier}TabModules tm
	 on tm.ModuleId = m.ModuleId
	INNER JOIN {databaseOwner}{objectQualifier}tabs t
	 on tm.TabId = t.TabId
	INNER JOIN {databaseOwner}{objectQualifier}tabs pt
	 on t.ParentId = pt.TabId
	WHERE (ControlSrc = 'DesktopModules/Admin/Portals/SiteSettings.ascx'
	   OR  ControlSrc = 'Admin/Portal/SiteSettings.ascx') --either dnn5 (desktopModules) or dnn4 (admin/portal)
	  AND ControlKey is NULL
	  AND t.PortalId = @portalId
	  
	SELECT @tabOrder = coalesce(max(tabOrder), 0) + 1  --taborder is the last tab in the host tabs
	FROM {databaseOwner}{objectQualifier}Tabs t
	WHERE portalId = @portalId 
	  AND t.ParentId = @adminTabId
	  
	-- update the tab path for the page urls page
	SET @tabPath = @tabPath + '//PageUrls'

	/* look for the table */
	IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'{databaseOwner}[ifty_TabModuleCreation]') AND type in (N'U'))
	BEGIN

		if exists (select * from {databaseOwner}[ifty_TabModuleCreation] where completed = 1)
		Begin
			/* insert a new record into the tabModuleCreation table, in preparation for the sp to be run*/
			insert into {databaseOwner}[ifty_TabModuleCreation]
			(PortalId    ,ControlSource ,TabName   ,IsVisible ,DisableLink ,ParentId ,TabIconFile ,Title 
			,Description,KeyWords,SkinSrc,ContainerSrc,TabPath  ,StartDate,EndDate,RefreshInterval,PageHeadText
			,IsSecure,TabOrder,IsAdmin ,PaneName ,CacheTime,Alignment,Color ,Border,ModuleIconFile,Visibility
			,DisplayTitle,DisplayPrint,DisplaySyndicate,SetDesktopModuleAdmin,DeleteTabOnModuleRemove,TabId
			,ModuleId,ModuleDefId,Completed)
			select @PortalId ,ControlSource ,TabName   ,IsVisible ,DisableLink ,@adminTabId ,TabIconFile ,Title 
			,Description,KeyWords,SkinSrc,ContainerSrc,@tabPath ,StartDate,EndDate,RefreshInterval,PageHeadText
			,IsSecure,@tabOrder ,IsAdmin ,PaneName ,CacheTime,Alignment,Color ,Border,ModuleIconFile,Visibility
			,DisplayTitle,DisplayPrint,DisplaySyndicate,SetDesktopModuleAdmin,DeleteTabOnModuleRemove,TabId
			,ModuleId,ModuleDefId , 0 
			from {databaseOwner}[ifty_TabModuleCreation] 
			where PortalID = (select  MIN(PortalId) from {databaseOwner}[ifty_TabModuleCreation])
			 and ControlSource = 'DesktopModules/iFinity.UrlMaster/PageList.ascx'

			select @moduleDefId = mc.moduleDefId
				,  @moduleControlId = moduleControlId
			From {databaseOwner}[ifty_TabModuleCreation]  tmc
			inner join {databaseOwner}{objectQualifier}ModuleControls mc
			   on mc.ModuleDefID = tmc.ModuleDefId 
			where PortalId = @portalId
			  and ControlSource = 'DesktopModules/iFinity.UrlMaster/PageList.ascx'

			/* run the addTab and Tab Module routine to create the tab */
			exec {databaseOwner}ifty_AddTabAndTabModule @moduleDefId, @moduleControlId

		END
	END
END 
commit transaction
 
New Post
11/26/2009 6:10 AM
 

The change from 5.1.3 to 5.1.4 would fit in with what I've seen with other portals I've created recently being OK.

The script worked like a treat – thanks so much for that. Your support is second to none – as usual!

 
Previous
 
Next
HomeHomeDotNetNuke Modu...DotNetNuke Modu...Url MasterUrl MasterMissing Admin > Page Urls entry for new portalsMissing Admin > Page Urls entry for new portals


Support Guidelines.. Please read before posting

To get support on iFinity products and services, please search the forums for the the answer to the problem you are seeking. If you cannot find a solution, post a question in the relevant forum.   Ensure that you specify the relevant versions of the problem, and the actual error message or a detailed description of the problem.    You will need to register with this site to post on the forum.  If you have a Microsoft Live (Hotmail/Passport) account you can use that.  If you have a Open Id account you can use that.  If you neither of these, you will need to register a user Id and password.

Please note : If you are posting a new thread for the Url Master module, please include the following information where applicable:

- Url Master version

- DotNetNuke version

- Example Url where possible

- If there is an error, please post the full error text and/or stack trace (from the DotNetNuke event log).