MORE INFORMATION
MCMS 2002 SP2
This service pack updates installations of MCMS 2002 Service Pack 1a (SP1a). MSCMS 2002 SP2 includes several software updates that were released during the last two years. Also, MCMS 2002 SP2 includes support for the Microsoft .NET Framework 2.0, for Microsoft Visual Studio 2005, for Microsoft SQL Server 2005, and for 64-bit processing.
MCMS 2002 SP2 does not install new features. MSCMS 2002 SP2 only updates features that you have installed together with MCMS 2002 SP1a. For example, if you have not installed the Developer Tools feature, MSCMS 2002 SP2 will not install this feature for you. However, if you have installed the Developer Tools feature in the MSCM 2002 SP1a site, MSCM 2002 SP2 will update this feature so that it works with Visual Studio 2005.
If you have not installed the Developer Tools feature, or if you have installed MCSM 2002 SP2 without the Developer Tools feature, you must follow these steps before you can use the Developer Tools feature:
- If you have previously installed MCSM 2002 SP2, uninstall it.
- Make sure that you have Microsoft Visual Studio .NET 2003 or Microsoft Visual Studio .NET 2002 installed.
- In Add/Remove Programs, click Microsoft Content Management Server SP1a, and then click Change/Remove.
Note Make sure that you have the MCMS 2002 SP1a CD or other SP1a installation media available. - Select Repair, and then click Next.
- In the list of features that you can add, select Developer Tools, and then click Next. Complete the installation process for the Developer Tools feature.
- When you have finished installing the Developer Tools feature, install MCMS 2002 SP2.
MCMS 2002 SP2 and Microsoft Visual Studio 2005
MCMS 2002 Visual Studio projects are now Visual Web Developer projects in Visual Studio 2005. When you upgrade a MCMS 2002 project in Visual Studio .NET 2003 to Visual Studio 2005, the Visual C# or Visual Basic project becomes a Web site project. This change affects MCMS 2002 in the following ways:
- MCMS 2002 projects now support both Visual C# and Visual Basic pages in the site.
- MCMS 2002 only supports the Local IIS type of Web site project. The File-based type, the Remote IIS type, and the FTP type are not supported.
Because MCMS projects are now Visual Web Developer projects in Visual Studio 2005, you should build MCMS 2002 projects by using the
Build Web site option instead of the
Build Solution option on the
Build menu. If you build MCMS 2002 projects by using the
Build Solution option, you may notice many squiggly red underlines that indicates syntax errors in the source view of the MCMS 2002 Templates.
Note These underlines do not indicate actual syntax errors.
The wizards for MCMS 2002 Web sites in Visual Studio 2005 use the new wizard template framework. This framework provides more flexibility when you use and access the templates. There are two types of templates, Project Templates and Item Templates. Visual Studio 2005 has its own installed templates. However, you can specify where you want your custom templates to be located. You can do this by using the
Options menu in Visual Studio 2005.
- Click Tools, and then click Options.
- Expand Projects and Solutions, and then click General.
- By default, the template locations point to My Documents. Change the location in the Visual Studio user project templates location box and in the Visual Studio user item templates location box. Type any path that you want on the computer.
Note If you use a file share, many developers can share the same templates. - Click OK.
In Visual Studio 2005, the Flow layout is the default layout in Design view. In earlier versions of Visual Studio .NET, the Grid layout is the default layout. To use absolute positioning when you add MCMS 2002 placeholder controls in Design view, follow these steps:
- Click Layout, click Position, and then click Auto Position Options.
- In the form, click to select the Change Positioning to the following for controls added using the Toolbox, paste, or drag and drop check box.
- Select Absolutely positioned in the list.
- Click OK.
Register ASP.NET in IIS
If you run the .NET Framework 2.0 and the .NET Framework 1.
x side by side, make sure that you register the correct version of Microsoft ASP.NET for your Web applications. To register ASP.NET in Microsoft Internet Information Services (IIS), follow these steps.
The .NET Framework 1.x
- Click Start, click Run, type cmd, and then click OK.
- Locate the following directory:
%WindowsDirectory% \Microsoft.NET\Framework\v1.x.xxxx\
- Type aspnet_regiis -i, and then press ENTER.
- Type iisreset, and press ENTER to restart IIS.
The .NET Framework 2.0
- Click Start, click Run, type cmd, and then click OK.
- Locate the following directory:
%WindowsDirectory% \Microsoft.NET\Framework\v2.0.50727\
- Type aspnet_regiis -i, and then press ENTER.
- Type iisreset, and press ENTER to restart IIS.
MCMS 2002 SP2 and Microsoft SQL Server 2005
If you use Microsoft SQL Server utilities to transfer your MCMS 2002 database from Microsoft SQL Server 2000 to SQL Server 2005 after you install MCMS 2002 SP2, you must run the following script on the SQL Server 2005 MCMS 2002 database:
IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'CreateBackgroundProcessingJob')
BEGIN
PRINT 'Dropping Procedure CreateBackgroundProcessingJob'
DROP Procedure dbo.CreateBackgroundProcessingJob
END
GO
PRINT 'Creating Procedure CreateBackgroundProcessingJob'
GO
CREATE Procedure dbo.CreateBackgroundProcessingJob
(
@databaseName sysname
,@jobName sysname
)
AS
/**
* This stored procedure is used to create a job to perform the background
* processing. The DCA runs this stored procedure for every database when
* the database is created or upgraded.
*
* @param @databaseName Name of the database to create the job for
* @param @jobName out Name of the job created
*
* @return 0 - Success
* 1 - Failure
* 100 - The job already exists
*/
begin
set nocount on
declare @tranCount int
,@jobId uniqueidentifier
,@outputFileName nvarchar(250)
,@jobStepCommand nvarchar(512)
,@new_job_created tinyint
--localizable strings
declare @localized_string_InvalidInputParameter as nvarchar(128)
set @localized_string_InvalidInputParameter = N'Invalid input parameter'
declare @localized_string_JobDescription as nvarchar(128)
set @localized_string_JobDescription = N'Purge expired information from MCMS tables'
declare @localized_string_JobStep_ExpiredPages as nvarchar(128)
set @localized_string_JobStep_ExpiredPages = N'Process expired pages'
declare @localized_string_JobStep_DanglingPages as nvarchar(128)
set @localized_string_JobStep_DanglingPages = N'Purge content for deleted pages'
declare @localized_string_JobStep_GalleryBasedResources as nvarchar(128)
set @localized_string_JobStep_GalleryBasedResources = N'Update gallery based resources'
declare @localized_string_JobStep_DanglingBLOBs as nvarchar(128)
set @localized_string_JobStep_DanglingBLOBs = N'Purge data for deleted resources'
declare @localized_string_JobStep_DanglingACL as nvarchar(128)
set @localized_string_JobStep_DanglingACL = N'Purge deleted rights groups from container ACLs'
declare @localized_string_JobAlreadyExists as nvarchar(128)
set @localized_string_JobAlreadyExists = N'The job already exists'
--validate input
if isnull(@databaseName, '') = '' or isnull(@jobName, '') = ''
begin
raiserror(@localized_string_InvalidInputParameter, 15, 1)
return (1)
end
--the job Name is the database Name prepended with 'BGP-'
--set @jobName = cast('BGP-' + @databaseName as sysname)
--check whether we have to create a category for BGP jobs
IF not exists (select 1
from msdb.dbo.syscategories
where (category_class = 1 /*local*/)
and (name = 'MCMS Background Processing'))
begin
exec msdb.dbo.sp_add_category @class = 'JOB'
,@Type = 'LOCAL'
,@Name = 'MCMS Background Processing'
if @@error <> 0 return (1) --failure
end
set @new_job_created = 0
--start a new transaction if the caller has not started one
set @tranCount = @@trancount
if @tranCount > 0
save tran CreateBGPJob_tran
else
begin tran CreateBGPJob_tran
--if the job already exists for this database, clear up all job steps
if exists (select 1
from msdb.dbo.sysjobs_view
where name = @jobName
and originating_server = lower(CONVERT(NVARCHAR(30), SERVERPROPERTY('ServerName'))))
begin
declare @stepcount int
select @jobId = job_id
from msdb.dbo.sysjobs_view
where name = @jobName
and originating_server = lower(CONVERT(NVARCHAR(30), SERVERPROPERTY('ServerName')))
select @stepcount = count(*)
from msdb.dbo.sysjobsteps
where job_id = @jobId
while @stepcount > 0
begin
exec msdb.dbo.sp_delete_jobstep @job_name = @jobName, @step_id = @stepcount
if @@error <> 0 return (1) --failure
set @stepcount = @stepcount -1
end
end
else
begin
--create a new job
exec msdb.dbo.sp_add_job @job_name = @jobName
,@enabled = 1
,@description = @localized_string_JobDescription
,@category_name = 'MCMS Background Processing'
,@job_id = @jobId output
if @@error <> 0 goto errorhandler
set @new_job_created = 1
end
set @outputFileName = '[SQLDIR]\JOBS\BGP-' + @databaseName + '-[STRTDT]-[STRTTM].log'
--process expired pages
exec msdb.dbo.sp_add_jobstep @job_id = @jobId
,@step_name = @localized_string_JobStep_ExpiredPages
,@subsystem = 'TSQL'
,@command = 'exec bgp_ProcessExpiredNodes'
,@on_success_action = 3
,@on_fail_action = 3
,@database_name = @databaseName
,@output_file_name = @outputFileName
,@flags = 2
if @@error <> 0 goto errorhandler
--gallery based resources
exec msdb.dbo.sp_add_jobstep @job_id = @jobId
,@step_name = @localized_string_JobStep_DanglingPages
,@subsystem = 'TSQL'
,@command = 'exec bgp_DeleteDanglingPages'
,@on_success_action = 3
,@on_fail_action = 3
,@database_name = @databaseName
,@output_file_name = @outputFileName
,@flags = 2
if @@error <> 0 goto errorhandler
--gallery based resources
exec msdb.dbo.sp_add_jobstep @job_id = @jobId
,@step_name = @localized_string_JobStep_GalleryBasedResources
,@subsystem = 'TSQL'
,@command = 'exec bgp_UpdateGalleryBasedResources'
,@on_success_action = 3
,@on_fail_action = 3
,@database_name = @databaseName
,@output_file_name = @outputFileName
,@flags = 2
if @@error <> 0 goto errorhandler
--dangling ACLs
exec msdb.dbo.sp_add_jobstep @job_id = @jobId
,@step_name = @localized_string_JobStep_DanglingACL
,@subsystem = 'TSQL'
,@command = 'exec bgp_DeleteDanglingACL'
,@on_success_action = 3
,@on_fail_action = 3
,@database_name = @databaseName
,@output_file_name = @outputFileName
,@flags = 2
if @@error <> 0 goto errorhandler
--dangling BLOBs
exec msdb.dbo.sp_add_jobstep @job_id = @jobId
,@step_name = @localized_string_JobStep_DanglingBLOBs
,@subsystem = 'TSQL'
,@command = 'exec bgp_DeleteDanglingBLOBs'
,@on_success_action = 1
,@on_fail_action = 2
,@database_name = @databaseName
,@output_file_name = @outputFileName
,@flags = 2
if @@error <> 0 goto errorhandler
--set the second job step as the start step because, by default, we do not
--process expired postings
exec msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 2
if @new_job_created > 0
begin
--set the schedule
exec msdb.dbo.sp_add_jobschedule @job_id = @jobId
,@Name = 'MCMS Background Processing Default'
,@enabled = 1
,@freq_type = 4
,@freq_interval = 1
,@active_start_time = 10000
if @@error <> 0 goto errorhandler
--notify the SQL Server Agent
exec msdb.dbo.sp_add_jobserver @job_id = @jobId
,@server_name = N'(local)'
if @@error <> 0 goto errorhandler
end
--commit if we started our own transaction
if @tranCount = 0
commit tran CreateBGPJob_tran
return(0)
errorhandler:
if @@trancount > 0
rollback tran CreateBGPJob_tran
return(1)
end
GO
GRANT EXEC ON dbo.CreateBackgroundProcessingJob TO CMSSystem
GO
MCMS 2002 SP2 post-installation steps
After you install MCMS 2002 SP2, you must follow these steps to make the templates available in Visual Studio 2005:
- Copy the template files to the Visual Studio 2005\Templates folder:
- Copy all .zip files in the following folder:
MCMS Installation Path\DevTools\NewProjectWizards80\Visual Web Developer\CSharp\1033
Copy these files to the following folder:My Documents\Visual Studio 2005\Templates\ProjectTemplates\Visual Web Developer\CSharp\1033
- Copy all .zip files in the following folder:
MCMS Installation Path\DevTools\NewProjectWizards80\Visual Web Developer\VisualBasic\1033
Copy these files to the following folder:My Documents\Visual Studio 2005\Templates\ProjectTemplates\Visual Web Developer\VisualBasic\1033
- Copy all .zip files in the following folder:
MCMS Installation Path\DevTools\NewItemWizards80\Visual Web Developer\CSharp\1033
Copy these files to the following folder:My Documents\Visual Studio 2005\Templates\ItemTemplates\Visual Web Developer\CSharp\1033
- Copy all .zip files in the following folder:
MCMS Installation Path\DevTools\NewItemWizards80\Visual Web Developer\VisualBasic\1033
Copy these files to the following folder:My Documents\Visual Studio 2005\Templates\ItemTemplates\Visual Web Developer\VisualBasic\1033
- Open a Visual Studio 2005 Command Prompt window.
- Type devenv /setup, and then press ENTER.
Note This step processes the template paths and registers the MCMS 2002 VSIP package.