About the demo package in two words
The download archive provided here is intended to be a simple demonstration
of the ALP ability to run without installation. The Autorun.inf file in the
archive is included simply to help the people who want to burn it on a CD and
test it that way - otherwise it is not needed. You can simulate CD autorun by
storing the files in the root directory of some drive in order to force the
system treat them as an auto-run (provided the feature is enabled).
Download it: ZIP,
Self-Extract EXE
(download the ZIP file if you want to view the demo structure, make changes,
try something).
ALPFrame is a WEB browser combining Microsoft Internet Explorer's
rendering engine with the ALP ASP/CGI engine in one. ALPFrame will run on
Windows 95 and later and Windows NT4 and later with Internet Explorer 4.0 or
later installed. ALPFrame extends the IE DHTML object model through the window.external
object with features like window and shortcut (context) menus, window
positioning, styles and other programming interface additions. Thus the HTML
content displayed in ALPFrame can use not only the well-known IE DHTML features,
but also add and control elements typical for the most desktop
applications.
To evaluate ALPFrame download it - unpack the archive with the sub-tree in an
empty directory and run ALPFrame.exe. Try it on a machine without ALP installed.
Alternatively you may download
the SFX archive version and just start it (but note it uses temporary folder
and its contents will be lost after closing the application - choose it if you
want a quick preview only). Package includes a few of the ALP samples and a few
VarioMenu samples showing usage of the extended DHTML model. It demonstrates the usage of the visual
elements ALPFrame adds to the IE programming model and will show you what kind
of enhancements you can add to the ALP and WEB applications by using ALPFrame as
a browser.
More about the ALPFrame
Having both ASP compatible programming interface and DHTML on the client
machine you are able to use the easiest way for any application you are building.
For example DB operations are most often easier to implement in ASP or a similar
programming technology than in a form-based RAD environment. The RAD
environments supply certain helper components, but they are usually convenient
for a narrow range of popular scenarios. When the project requires more
flexibility a developer with experience in the both areas is often puzzled which
one will require less efforts. The choice is often made over the user interface
requirements and one accepts the negatives of the selected programming technique
simply because the client wants to see some user interface elements. For
instance, drawing menus in pure DHTML using divisions and styles can be
acceptable sometimes and thus allow the developer use WEB programming technique
to implement something that will meet the client wishes and still benefit of the
convenient programming interface of the WEB programming techniques. However,
this may need quite an effort. The ALPFrame browser extends the DHTML object
model in a fashion that makes this much simpler and flexible. Combining DHTML
with such features forms a WEB browser based user interface that is several
steps closer to the typical user interface of the desktop applications not
sacrificing anything from the traditional IE DHTML programming model. This can
be used in ALP applications that run locally and also in online WEB
applications. The only requirement is the ALPFrame browser. Although such a
requirement is not very convenient for public WEB sites (because you will need
to tell the users that they must download ALPFrame) it is quite convenient for
intranets, organization IT infrastructure and local ALP applications where the
ALPFrame browser is already installed or comes with the application.
What is ALPFrame
technically?
It is an application that hosts Internet Explorer control and does some
important steps while initializing. It uses configuration describing what
components to load (acts instead of the system registry) and registers the ALP
engine as a temporary namespace handler for the alp: protocol in the ALPFrame
process. Ships with the VarioMenu components and binds them to each browser
window to provide the DHTML extensions that are responsible for the window and
context menus.
Details
Menus: With the VarioMenu component
script in the page is able to create trees of menus and show, hide, modify them.
The script can attach parts of these trees to the window (as a window menu) or
use some parts as pop-up menus for example as context menus shown when the user
clicks over an element of the DHTML page or display them on some other DHTML
event (for example button click). Menu items are configured by the script to
invoke a member of the page script and they support HTML frames. The menus
include support for keyboard accelerators too.
Window control: ALPFrame incorporates a
set of functions and objects accessible to the scripts in the WEB pages that
allow them to control the:
- window style - caption/without caption, thin captions, system menu and
other window elements
- window position - controlled through extended set of members using
coordinates packed in objects (point and rectangle), Arithmetic with the
coordinate objects and so on.
- window presence - pages are allowed to make it "top most", send
it on bottom, hide show it, minimize, restore and maximize it.
- Print method independent of the IE version.
Personalization of ALP applications.
The ALPFrame supports cascading configurations. This allows you configure the
ALPFrame browser look-and-feel in application specific manner. Aside of the
browser window style (for example some applications may need to have it on top
or with small or without caption and so on) you can also configure window icon
and browsing restrictions. The restrictions may be strict - allow only the ALP
application bundled with the browser to work in it or more relaxed, allowing the
user to go to some WEB sites or other applications. In case of auto-run this is
done in the main ALPFrame configuration in the same directory where the ALPFrame
browser resides, but in other scenarios you may need to use the single ALPFrame
instance in customized ways. Here comes the use of the cascading configurations
- there is no need to install a separate copy of the browser in order to
personalize it for a particular application. You just need to place a
configuration that contains the specific settings only and create a shortcut or
a link that will start the ALPFrame browser with it. For example a Virtual ALP
site which is marked by the alp.site file may contain such configuration and all
you will need to do is pass the path to the alp.site file to the ALPFrame
browser - it will find the configuration and start with the settings set there
and will open the virtual ALP site.
Some frequently asked questions:
Why the menus are controlled by the DHTML scripts and
not by the ASP scripts?
Providing as extension to the DHTML model - menu features are available to the
both page scripts and server scripts (ASP/CGI). Server side script is able to
generate the appropriate client script thus application is not required to use
ASP pages if there is no need of server side programming because of something
more substantial. The server side scripts are not aware of the HTML frames and
thus controlling the menus directly from them would be less convenient.
What can I do with the ALPFrame and it features?
You are able to build ASP/DHTML/CGI applications that:
- Design and configure applications that start without need of installation -
even in a guest account from removable media (such as CD, flash memory and so
on).
- present to the user professional interface including standard window and
context menus
- use frames as toolbars, specialized bands and work areas, make a menu system
that works on top of them.
- Restrict the users to a single application or set of applications and WEB
sites to ensure that no attack could be performed against your sensitive local
or intranet applications even if every other protection measure has failed.
- integrate online/intranet applications with application(s) working on the
local machine. You can make them both look as one monolith application, add
menus etc.
Why there are no toolbars and
any other UI elements in the ALPFrame browser window by default?
DHTML itself gives powerful design capabilities and toolbars can be made
without need of external components. ALPFrame browser differs from the others in
this respect - it is designed to delegate the control over its presence to the application
so that it can make it look as the developer intends to. Thus all the visual
elements are up to you - the user does not need to even know that this is a browser!
Is it applicable for usual WEB applications?
ALPFrame is integrated with the ALP engine but this is not a limitation.
Contrary - it allows distributing the application between local machine and the
WEB server in an easiest way if you feel this will bring benefits to your
application. Part of the server side code can be executed on the client machine
and using the compatibility between ALP and the server side programming
distribution process is just a selection what scripts to leave on the server and
what to run locally at the user side. Your selection depends mostly on the
requirements caused by the data available on the server and on the client
machine. You can use it as a client for any WEB application. You are able to add
some useful UI elements to your application and update your clients by just
providing a download link for the ALPFrame package prepared for them. Default
starting page can be specified in it and other elements that will save
administrative work.
Online and local ALP application integration?
One of the easiest ways is to make some forms to submit to the local ASP pages
or to the WEB server. Suppose you have built an address catalog in ASP for
example. You are able to pack the applicable part of the server application with
ALPFrame and the user will have it running on his/her local machine. By allowing
him/her to make requests to the server from the local application user will be
able to browse your site. Making some of the server forms to submit to the local
ASP pages will give the user ability to save records to the local application
database. Note that you will need to configure the ALP directory settings in the
responsible areas of your application to impersonate the online site (See for
instance the ALP Settings shell extensions in the documentation, this feature
allows you declare certain part of the ALP application as part of an online WEB
site and thus allow information to be submitted back and forth).
Limitations
Unfortunately not all components can be loaded and used dynamically by the
ALPFrame in autorun mode. The problem is caused not by a bug but by a practice.
This limits the components applicable for auto-run applications to the ALP
Run-time library and the popular components you can assume already present on
the target system: No such limitation in installed scenarios - you just need to
re-distribute any 3-d party components with your product.
Most development tools produce automation compatible components using the
ITypeInfo interface. They load the type info by explicitly checking the registry
thus if the control is not registered with the system, the type info load fails
and the component cannot be used form ASP pages or any other scripting
environment.
Components provided with ALP load their type info directly from their resources
but if you are going to use some third party components without prior
registration you may expect problems with many of them. ALP applications using
the standard components that are available on the system and components provided
with ALP will not have difficulties in such scenarios.
In the code snippets part of our main site modified version of the
CComTypeInfoHolder ATL class is provided in order to be used to correct your own
components written in C++ and ATL. You can find this file typeinfoex.h also in
the misc. SDK files directory in the full ALP package download.
When you intend to use a setup there are no such limitations, because you can
include the 3-d party components used by your application in the setup.
What is the license?
ALPFrame does not require separate licensing - it is part of the Active Local
Pages product.
|