README.TXT
*************************************************************** 
*                                                             * 
*    Authoring a Web Publishing Service Provider using the    * 
*        Microsoft Web Publishing Service Provider Stub       * 
*           Copyright (C) 1997 Microsoft Corporation          * 
*                                                             * 
*************************************************************** 
 
0.First verify that your development environment can compile the stubbed 
provider. You should be able to successfully compile the stubbed provider 
DLL (STUBWPP.DLL) with the command "make stubwpp" ("nmake stubwpp" in the 
case of Microsoft's Developer's Studio) in the SAMPLES\WEBPOST\STUBWPP 
directory. If this does not succeed verify that the proper environment 
variables have been set for your development environment to work properly 
(Dev Studio users should try running \DevStudio\VC\bin\VCVARS32.BAT). 
 
Once you have verified that your compiler can compile the stubbed provider 
as-is, you can begin authoring. 
 
1.Select a class name, DLL name, and friendly name for your Service 
Provider. If you wish to be consistent with extant Service Providers, 
use the following model: 
 
Class Name:C...Wpp 
DLL Name:...WPP.DLL 
Friendly Name:"... Provider" 
 
where the elipses are replaced with the name of your protocol. 
 
For example, the FTP provider is named as follows: 
 
Class Name:CFtpWpp 
DLL Name:FTPWPP.DLL 
Friendly Name:"FTP Provider" 
 
2.Everywhere in the source code files, replace "CWPProvider" with 
the class name you have selected. 
 
3.In WPPROV.IDL, replace the TypeLibID and CLSID with new UUIDs. 
(Note that most of the changes described in this list are 
 indicated in the source code itself with a "TO DO" comment.) 
 
4.In WPPROV.RC, replace the IDS_WPPROVIDER_DESC string with the 
Friendly name you have selected. 
 
5.In UTIL.H and the compiler makefile, change the name of the 
generated executable from STUBWPP.DLL to the DLL name you have 
selected. 
 
6.To double-check that all the replacements have been done correctly, 
compile the DLL, run REGSVR32 on it (it should succeed), and then 
run the Wizard. Click "New" on the destination site page, enter a 
Web server Friendly name, and then click "Advanced". You should 
see your provider's Friendly name in the Provider listbox. 
Furthermore you should be able to step through the rest of the 
Wizard successfully. Nothing will actually be posted, but this 
will verify that all the renaming has gone correctly. 
 
7.Finally write the primary implementation code. The following order 
is suggested: 
 
A.Fill in PAGES.H, RESOURCE.H, and WPPROV.RC with the dialog 
templates and #defines for the property sheet pages your 
provider will add to the Web Publishing Wizard. Two example 
pages are already present. 
 
B.Write the Dialog procedures for each property sheet page in 
PAGES.CPP. Again, a sample procedure is already available for 
each of the two example pages. 
 
C.Write the implementation of the SPI and SPI helper functions 
in WPPOBJ.CPP and WPSPIHLP.CPP, respectively. Note that in many 
cases WPSPIHLP.CPP may not require any modification. If your 
provider does not *need* to do site management itself, it is 
strongly recommended that the helper functions in WPSPIHLP.CPP be 
left unmodified, which will allow the Web Publishing API to do all 
site management for you. 
 
8.Test using the wizard.