ALP ALP Site
The alp.site configuration files define with their very existence the root point of an Virtual ALP site. All other local configurations (alp.application and alp.directory) cannot cross the boundaries of the Virtual ALP site. alp.site itself contains site-wide settings such as an ALP developer license for this virtual ALP site. You can create Virtual ALP sites by using the ALP Settings shell extensions - there is no need to edit these files manually. This page is supplied for information only. 

The local alp.site file - i.e. the file that exists somewhere in the file system to mark the root of an virtual ALP site contains the local application specific settings defined by the developer for this virtual ALP site. ALP maintains also a default alp.site file which contains the default settings used for all the options not specified in the local alp.site files. 

The virtual ALP sites are identified as follows: ALP engine looks for alp.site file in the current directory (pointed by the URL) and up to the root of the current drive until an alp.site is found. First found alp.site file is the only file that has effect for the URL processing. The settings in it are mixed with the global (default) alp.site file and the resulting configuration is used by the engine. Global/default alp.site is assumed to be in the directory containing the iewebsrv.dll (ALP engine core). If no alp.site file exists up to the drive root the drive root is treated as Virtual ALP site and the default settings apply. I.e. ALP behaves as like the drive root contains an empty alp.site file.

The developer can create and edit the alp.site files by using the ALP Settings shell extension. Thus to define a new virtual ALP site the developer clicks in an Windows Explorer window with the right mouse button over the folder which will be the virtual site root and selects ALP settings. Then instructions are displayed on the management dialog box that appears.

The example alp.site file below lists the possible settings, their description is after the sample file. Place alp.site files in the roots of your ALP sites to correctly isolate them from others. These files can be empty but you must place your VendorID received from us in your sites to make sites licensed. If omitted ALP will display license warning  on every page.

{ SITE:
    { CERTIFICATION:
    ; This section contains records related to the ALP certification/licensing and
    ; has per only site meaning
        (string)VendorID=your_id_here
	; And other vendor data here
    } CERTIFICATION;
    { FIXUP:
    ; This section contains values used by the ALP engine for compatibility reasons in some 
    ; specific situations. You may need to set some of them in order to instruct the engine to
    ; to avoid known bug on a particular OS platform.
        (int)OverrideDllCanUnloadNow=1
        (int)FreeThreadedWorkerThreads=1
    } FIXUP;
} SITE;
{ CONTENTGENERATORS:
    ; List of libraries to load in the root CALSSLIBRARY
    ; This section is meaningful only in the global/default alp.site file. In the local files it will be ignored
    ; If you need to install new dll containing additional components used in the ALP engine you must
    ; list it here in the LIBRARIES section. Note that ALP 1.2 and later has the standard modules embedded and does
    ; not need any settings here.
    { LIBRARIES:
        (string).STANDARD=common files\ContentGenerators\CGStandard.dll
        (string).ASP=common files\ContentGenerators\alpaspcontext.dll
    } LIBRAIRES;
} CONTENTGENERATORS;
  • The SITE section in the alp.site file may contain two sections:
    • CERTIFICATION - contains records defining the vendor license
      • (string)VendorID - Enter here in the local alp.site file your VendorID and other vendor details corresponding to your ID. See Using ALP licenses for the full details. You will receive instructions with the ID.
    • FIXUP - This section was added in order to supply the ALP engine with additional configuration settings required by the Engine to avoid some problems caused on a certain OS versions or in some specific situations. ALP targets maximum portability across the Windows platforms and sometimes it must change its behavior in order to run correctly on the given OS version. With extending the engine in the next versions probably more values will be introduced here.
      • (int)OverrideDllCanUnloadNow - Instructs the ALP engine to override the normal behavior of the DllCanUnloadNow routine exported. If set to nonzero value it will return always S_OK. This setting can help in many situations when some internal COM component remains in the memory because of some reason. If not set (0) such situation may cause crash during the process exit (usually Internet Explorer) because of wrong DLL unload order.
        Known situations when the value will help:
        - Windows 2000 with the preinstalled IE. When application/octet-stream is transferred main protocol object is not released and remains in memory.
        It is recommended to set this value for the ALP applications that will be widely distributed - it will not cause side problems on the platforms not affected by the problem.
      • (int)FreeThreadedWorkerThreads - This value presents in order to allow some tricks not and bug avoiding situations. It instructs the ALP engine to initialize multithreaded COM in the worker threads. Takes effect only if the RequireAsynch in the alp.application is 1 or 2 for the given content generator. 1 is preferred value for the ALP Engine. The value is important for some of the resource tools that are provided for the ALP - see in its documentation.
  • CONTENTGENERATORS section contains currently only one sub-section:
    • LIBRARIES Lists libraries to be loaded by the ALP engine on startup. Every DLL listed here will not be unloaded until the ALP engine is running. DLL files listed here may contain many and different purpose Jacked components used by the ALP engine itself or by a particular content generator. Generators are able to ask the root CLASSLIBRARY provided by the ALP engine core for object creation and this allows general management of the components used for a particular purpose during the execution if the content generator configuration allow this. One example is the ScriptGen that can load and use external Parser driver and/or parsers.
      • Library entry - The name of the entry is not important - you can use an informative words for the record names but the names must be unique in the section. Fist character in the name is also important - it defines the location where the dll can be found:
        • .Some_Name - "." symbol means that path specified by the record is relative to the iewebsrv.dll. Useful when ALP redistributables must be moved easy and without running the installation program. Sample section above uses this name type - i.e. dll files are expected to be in a subfolders of the folder containing the iewebsrv.dll.
        • Some_Name - Alphanumeric first character means that path will be used "as is". Thus is the default system search behavior and if the path is not fullpath name but only a dll file name ALP engine will search for it in the Executable directory (usually IExplore.exe ore explorer.exe), current directory, system directory, Windows directory. path.
        • :Some_Name - ":" character means that the path specified is relative to the \Program files\Common files. This is the installation default.

      Note that ALP 1.2 and later has the standard ALP modules implemented in the core DLL and no entries are needed in this section unless non-standard module is used.

newObjects Copyright 2001-2006 newObjects [ ]