Current Status

Book

Program Phases, A Programming Language and API Translator allows programmers to learn new programming languages by providing simple indexed example programs. Each program illustrates useful, common, and well defined functionality.

  • ASP AJAX 1.0 support can be installed in Windows Sharepoint Services 3.0 (WSS3).

Install ASP.NET 2.0 AJAX Extensions 1.0
  • The installer for ASP.NET 2.0 AJAX Extensions 1.0 can be downloaded from here.
  • After downloading, execute the install program to install ASP.NET 2.0 AJAX Extensions 1.0.

Enter Settings into the web.config File for the WSS3 Site
  • Locate the web.config file for your WSS3 site. Example: C:\inetpub\wwwroot\wss\VirtualDirectories\80\web.config
  • Make a backup of this file just in case any mistakes are made when editing.
  • The following web.config edit information is adapted from here.
  • Open the web.config file using a text editor such as Notepad and put the following entries in the file:
  1.   Add a <sectionGroup> element to the existing <configSections> tag (only enter the data between the <configSections> tags):
  2.  <configSections>    
        <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
          <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
              <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication"/>
            <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
              <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="Everywhere" />
              <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
              <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="false" allowDefinition="MachineToApplication" />
            </sectionGroup>
          </sectionGroup>
        </sectionGroup>
       </configSections> 
    
    
     
  3.   Add a <controls> section as a child of the <system.web>/<pages> tag (only enter the data between the <pages> tags):
  4. 
    <pages>
          <controls>
            <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          </controls>
    </pages>  
    
     
  5.   Add the following tag to the <assemblies> tag, within <compilation>(only enter the <add assembly> tag):
  6. 
    <assemblies> 
           <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    </assemblies>
      
    
     
  7.   Add some new registrations to the end of the <httpHandlers> section (only enter the <add verb> tags):
  8. 
     <httpHandlers> 
          <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
      </httpHandlers> 
    
    
     
  9.   Add a new registration to the <httpModules> section, beneath any existing registrations (only enter the <add name> tags):
  10. 
    <httpModules> 
          <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
      </httpModules>
    
    
    
     
  11.   Add a SafeControl entry for the System.Web.UI namespace from Microsoft Ajax Extensions, within the <SharePoint>/<SafeControls> section (only enter the <SafeControl> tag):
  12. 
     <SafeControls> 
          <SafeControl Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TypeName="*" Safe="True" />
      </SafeControls> 
    
    
    
    
     
  13.   Add the following configuration tags at the bottom of web.config, near the bottom before the end <configuration> tag:
  14. 
     <system.web.extensions>
        <scripting>
          <webServices>
          <!-- Uncomment this line to enable the authentication service. Include requireSSL="true" if appropriate. -->
          <!--
            <authenticationService enabled="true" requireSSL = "true|false"/>
          -->
          <!-- Uncomment these lines to enable the profile service. To allow profile properties to be retrieved and modified in ASP.NET AJAX applications, you need to add each property name to the readAccessProperties and writeAccessProperties attributes. --> 
          <!--
          <profileService enabled="true"
                          readAccessProperties="propertyname1,propertyname2"
                          writeAccessProperties="propertyname1,propertyname2" />
          -->
          </webServices>
          <!--
          <scriptResourceHandler enableCompression="true" enableCaching="true" />
          -->
        </scripting>
      </system.web.extensions>
      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules>
          <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
        </modules>
        <handlers>
          <remove name="WebServiceHandlerFactory-Integrated" />
          <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode"
               type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
          <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        </handlers>
      </system.webServer>
    
    
     

Add a ScriptManager into the SharePoint MasterPage
  • The ScriptManager is responsible for managing client script for Microsoft ASP.NET AJAX pages. More information is available here.
  • Make a backup of the master page for the Sharepoint site. This file is located in the <siteurl>/_catalogs/masterpage folder.
  • Edit the default.master file using Office Sharepoint Designer 2007. Put the script <ScriptManager> tag immediately after <WebPartPages:SPWebPartManager> tag. Only enter the <ScriptManager> tag.

 <WebPartPages:SPWebPartManager id="m" runat="Server" />

 <asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>

 

Adjust Security Settings to Remove a DCOM Error from the Error Log
  • If after performing steps 1-3, an error may appear in the event log with the following text: The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {61738644-F196-11D0-9953-00C04FD919C1}
  • The following fix is based on information available here.
  1. Windows - Activate Menu Item: Start > All Programs > Administrative Tools > Component Services
  2. Expand Component Services > Computers > My Computer > DCOM Config
  3. Right click on IIS WAMREG Admin Service and activate the "Properties" menu item.
  4. Select the Security tab.
  5. Select "Customize" for Launch and Activation Permissions and then activate the "Edit" button.
  6. Add the WSS_RESTRICTED_WPG group and allow Local Launch and Local Activation for the group.