***************************************************************
* *
* 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.