Web Publi****ng Unleashed offers an article "Building and Managing a Web
Based Information System", which may explain the questions about how to
approach databases and the Web..
The book is divided into several parts. "Building and Managing a Web
Based
Information System", is an article within part IV.
Part IV Web Publi****ng Production Systems
Building and Managing A Web-based Information System pp. 447
Designing Web Do***ents Using Your Favorite Web Processor pp. 467
Other Do***ent Systems pp. 483
Desktop Publi****ng pp. 503
Should You Upgrade to SGML? pp. 513
----------------------------------------------------------------------------
------------------------------------------
Building and Managing a Web Based Information System
This is an article which appears as chapter 15, authored by William
Stanek,
Gregory Stenstrom, Richard Tuttle, and Sandra Tuttle. The chapter 15's
subchapters are given as:
Web Publi****ng on the Company Network pp. 448
Building a Large-Scale Information Structure pp. 452
Web Publi****ng Database Products and Providers pp. 457
Giving Your Files and Databases a Home pp. 459
A Brief Walk-Through of a Large-Scale Web Publi****ng System Implementation
pp. 462
Network Publi****ng on Your New Web-Based Information System pp. 465
The definition of a large-scale information structure is often a relative
one. It could mean networking a small company's asset computers so that
they can access flat files, use email, and share information.
For a company with 10,000 employees, and an existing network, the concept
of
a large-scale information structure could mean using Internet tools to
access cor****ate information structures i.e., databases. These Internet
tools were listed in a business oriented database book as follows:
Internet Business Tools -
ad hoc query
analysis
re****ting
data management
Consequently, in the sense of a variable environment (of diverse sizes), a
method you use to build an information structure using Internet tools
largely depends on your situation and needs. Still, the data at the heart
of your information structure will generally be in the form of flat files
and databases.
From a section below about Scripting, "CGI scripts can use this input to
add
entries to an index, to search databases, to create customized do***ents
on-the-fly and much more. Yet the most worderful thing about CGI scripts
is
that they hide their complexities from users. If you've used a fill-out
form or an image map on the Web, you've used a gateway script and probably
dodn't even know it. This is because everything seems to happen
authomatically. You enter data, click a mouse button, and a moment later
a
resuylt is displayed. This chapter explains what you need to know about
CGI
scripts -what they are, how to use them and why to use them.."
From Fundamentals of Information Systems by Ralph M. Stair (Florida State
Univ.) and George W. Reynolds (Univ. of Cincinnati) publ. Course
Technology,
Boston Massachusetts 2001, Preface, "We have always advocated that
education
in information systems is critical for employment in almost any field.
Today, information systems are used for business processes from
communications to order processing to number crunching and in business
functions ranging from marketing to human resources to accounting and
finance."
business processes - communications, order processing, number crunching
business functions - marketing, human resourses, accounting, finance
To be successful, you must be able to view information systems from the
perspective of business and organizational needs.
Due to this requirement to understand the im****tance of information
systems
in perspective of business and organizational needs a course in
information
systems is essential for students of today's high-tech world. Managerial
problem solving and decision making, gain benefit from the use of an
im****tant set of economic tools (vii Brickley, et. al Managerial Economics
1997). The set of tools which Brickley refers to is the economic model of
management to be used for the problem of managing their organizations.
The general concept of management will include a constant analysis of the
inputs by the management system upon the environment. In most cases the
focus of interest in a computer system is not on new technology, but on
integrating well-understood technology into an organization. -We can
evaluate the ways that the analysis of inputs by the management system can
require new tools, and integration of the technology within the
organization.
Managerial problem solving and decision making are pursuits which benefit
from the use of an im****tant set of economic tools (vii Brickley, et. al
Managerial Economics 1997). The set of tools which Brickley refers to is
the economic model of management to be used for the problem of managing
their organizations. The general concept of management will include a
constant analysis of the inputs by the management system, and upon the
environment. This statement suggests the integration of Web publi****ng as
a
necessary organizational tool.
The development of an input table i.e., Radlow and a transition table
would
be used to do***ent the management system.
Today, information systems are used for business from communications to
order processing to number crunching, and in business functions ranging
frm
marketing, to human resources, to accounting and finance.
File-Oriented Systems
The core of most do***ent and information structures would be
file-oriented
environments. As is often the case, the company's do***ents are probably
scattered about with no real structure. Many im****tant do***ents are in
personal directories on hard drives which no one can access and the
secretaries spend a lot of time passing floppy disks about the office.
Some
key do***ents that could benefit everyone are stored in a location that
only
one person knows about.
A few do***ents may be in directories or formats that are widely
accessible.
As the company grows, the value of public directories, files, and exchange
of do***ents becomes increasingly apparent, especially when it is
necessary
to distribute information to large groups of employees.
Publi****ng Your Web Site
Most of the time HTML pages, Web Publi****ng Unleashed pp.732, and
associated
files must be in very specific directories in order for the files to be
accessed. That would refer to the public_html directory. But ifi your
files are in the correct directory and you still can not access them check
the following :
File and Directory Permissions
File Extensions
Index Files
File and Directory Permissions -
All operating systems flag files and directories with permissions. The
permissions on files and directories are very im****tant. This is
especially
true on UNIX systems where the default file permissions are set according
to
an involved permission set. If you are having problems accessing the
file,
check permissions on both the file and the directory the file is in.
On a Windows/DOS system, valid modes for files and directories include,
system, hidden, read-only, executable ..
File Extensions -
The file extension you use should match the file type and format. Web
servers may use the extension to determine what type of file you are
trying
to access. Web browsers may use the extension to determine what type of
file you are retrieving and the action to take on the file.
Your server may be configured to recognize the extension of .htm, as a
valid
HTML do***ent, it is often easiest to handle to avoid any hassle and use
the
extension .html with UNIX, McIntosh, or some other servers.
If you use a Windows-based server, your HTML pages should have the
extension
*.htm Web Publi****ng Unleashed pp.733.
I am noting that the file extension is described as it applies to the
internal use of the server, and applications. The exchange of files does
not seem to have been noted as a criteria which presents difficulties.
Index Files -
Most Web server software wants directories with HTML do***ents to have an
index file.
Servers will generally display the index when a user specifies a directory
name instead of a filename, and if the index file doesn't exist, you may
experience problems.
The index file is sometimes called index.html, but not always. On a
Macintosh server running MacHTTP or WebStar, each folder should have an
index file called default.html.
Where Will the Files Be Stored
The question of business organization and information soon involves all of
the valuable resources which employees have created over the years. The
answer to this question is to integrate key do***ents into the company's
information structure, but before you begin you should carefully consider
how and where you will store files. Even for a small network, or even a
personal single-user environment, this is an im****tant decision.
In a multiuser environment it will be a very im****tant question.
Most people fail to use a file storage methodology for managing publi****ng
environments. Years of experience in working with networked
environments
shows that it is a rare employee who maintains electronic do***ents in an
organized fa****on. Even those computer folks who should know better
rarely
organize their do***ents in any fa****on except whimsical.
Disorganized Structures -
A majority of users and organizations will have cryptically labeled, or
unlabeled do***ents, video tapes, music cassettes, and photos in a file
cabinet in the office. And that is also how these organizations store the
data in their computer systems.
In evaluating large organizations and the data storage needs, the fact is
more than 90% of all do***ents stored will never be used again.
The 10% of do***ents that you would use again if you could find them are
often stored in an electronic labyrinth that only Houdini could help them
to
escape from.
Getting organized is the key to making sense of the do***ent storage mess
described above.
Organization of Information -
The organization of your information into logically named directories that
pertain to the departments, projects,and personnel is crucial. However,
you
never want to mix the public with the private files.
Network Publi****ng On Your New Web-Based Information System
Network publi****ng on your new Web-based information system may at times
be
frustrating. This is especially true when you are first trying to install
and configure the system. There can be many details to coordinate in
order
to design and operate this technology.
The im****tant thing to remember is that network publi****ng can pay off in
huge dividends. The time and money savings for network publi****ng company
user and technical manuals alone make network publi****ng worthwhile.
Not only can the do***entation be maintained so that it is always
up-to-date
at a cost less than the original publi****ng and distribution of the
manuals,
but employees can search the entire text of manuals in an instant and at
the
touch of a button.
While network publi****ng can bring dramatic improvements in the
accessibility of information within the company, part of the problem with
any project is that people often have unrealistic expectations or
mismatched
perceptions. The process of setting up your network publi****ng operation
is
no exception. The best thing you can do is to remember the following :
Building and Managing a Web-based information system is a learning process
-
Do not expect all of the pieces to fall into place in a day. This is your
first Web-based information system. It should be a learning process.
Give yourself and the project a fighting chance. Manage your expectations
to help the project become a success and always keep in mind that your
expectations may not match the expectations of your superiors (employer -
boss). To avoid problems, be sure to keep the communication channels open
between you and your superiors.
Go one step at a time -
Do not let the thoughts about the complexity of the project overwhelm you.
Your perceptions about the project play a decisive role in whether you
ever
will finish the project. Convince yourself that you can do this, which
you
are doing.
Often, people forget that sometimes you need to take a breather. You
cannot
possibly try to do everything all at once. Set up your network publi****ng
operation one step at a time. Begin by planning your course of action,
and
slowly progress from platform selection to installation.
Set Realistic Goals -
One of the first things you should do is make sure that your goals are
realistic. Your goals should take into account both the complexities of
the
project and possible setbacks.
Your goals should be clear and relevant to the problem at hand: setting up
a
Web-based information system that involves client and server software. As
you set goals and milestones for each stage of the project, remember to
provide flexibiity.
Never give yourself deadlines you cannot meet. If possible give yourself
a
window of time, for project completion.
Adopt a company-wide policy -
When you complete the project , remember to adopt a company-wide policy
pertaining to the use and publi****ng of information on the network. The
key
is not only the adopting of a policy, but to communicate it throughout the
organization.
Network publi****ng is extremely cost-effective and time-saving way to
publish company do***ents. There are many issues to consider, mentioned
above. Weigh decisions carefully, and make the right decisions for the
right reasons.
Data Storage Policies
Create clear policies on the types of information that can be placed in
public directories and the type of information that has restricted access
permissions.
A Need to Know Basis
Often you will want to organize information based upon the need to know.
For example, all personnel in a development group may need to access each
other's files, but the personnel outside the working group should not be
able to access the files.
A clear structure for your directories and files becomes increasingly
im****tant as your company grows. Hundreds of files in a single directory
are difficult to track and maintain. Therefore you should consider how to
structure the subdirectories within primary directories.
You could create, a directory for each of a working groups projects by
category. See Web Publi****ng Unleashed chapter 26, "Designing and
Publi****ng a Web Site", for a detailed example of creating a logical
naming
structure for a large-scale information system. As the opening paragraph
of
this section mentioned, the core of most do***ent and information
structures
would be file-oriented environments. As is often the case, the company's
do***ents are probably scattered about with no real structure.
-----
Chapter 26, "Designing and Publi****ng a Web Site", offers the following
topics :
Defining Your Web Site pp. 704
Web site Design Concepts pp. 705
Creating the Site's Content pp. 708
Advanced Linking of Pages and Publications pp. 710
Adding Rooms to Your Web Home pp. 717
Proofing and Testing the Web Site pp. 731
Publicizing Your Web Site pp. 734
Introduction to this chapter 26, "Designing and Publi****ng a Web Site"
states "Creating and publi****ng your first Web page was only a starting
point.
A Web presense and building a name for yourself, requires the development
of
a killer Web site that will stop Web surfers in their tracks. To do this,
you must learn the basics of organizing, creating, and publi****ng a Web
site
where you can feature a collection of dozens or hundreds of pages.
Following the steps outlined in this chapter, you can become one of the
thousands of individuals successfully publi****ng in cyberspace.
development of a killer website
collections of dozens of pages
build a name and web presence
A Successful Web Site - Defining the Web Site
The difference between a successful site and an unsuccessful site is
attention to detail, good content, and good organization. Many books
about
the Internet and Web publi****ng discuss theories, cover key subjects, show
basic examples, but rarely follow a practical hands-on approach to Web
publi****ng. pp. 704 Web Publi****ng Unlelashed.
Books without practical hands-on examples can leave you wondering where to
start, how to start, and what to do when you finally manage to start.
attention to detail
good content
good organization
Thie chapter 26 follows a practical hands-on approach for creating a Web
site. It describes where to start, how to start, and what to do when you
finally manage to start.
These practical, step-by-step examples, help you learn how to create,
organize, and publish your own Web site. Then it explains how to
publicize
your new web site, which is too often not given adequate attention.
Steps for Creating, Publi****ng, and Publicizing Your Web Site
1 - Define the Web Site
2 - Learn Web Site Design Concepts
3 - Create the Web Site's Content
4 - Learn About Advanced Linking of Pages and Publications
5 - Add Rooms to Your Home Page
6 - Proof and Test Your Web Site
7 - Publish Your Web Site
8 - Publicize Your Web Site
Getting Organized - Flexible Organization
To begin this issue about how to create, organize, and publish your own
Web
site. The organization of your information is the most im****tant design
issue in setting up a Web site, whether you are thinking of developing on
a
grand scale or a small scale. Carefully consider how you will organize
your
site.
The power of Web publi****ng is that you can seamlessly integrate complex
presentations. Behind those complex presentations are dozens, possibly
hundreds of individual pages that contain text, images, and multimedia.
With the result of the work of Web publi****ng, the reward can be a
friendly
place to visit and and easy site to maintain. Your site may be seen by
thousands around the world. You are creating an information structure
which
enables these things to happen. So to keep this happening you should keep
the structure in place, without renaming it, or rearranging the structure.
Otherwise the links from the Web i.e., search engines could become
invalid.
Information Structure
Directories and Files -
The site's directory and file structure can play a key role in helping
with
the orgnization oof your ideas. Consider how the outside world will view
the structure of your site. You can organize the site's directories
according to different types of information in the directories
(horizontal).
Or you can organize the site's directories according to the projects or
publications featured at the site. It seems to me that the better
approach
will be the organization of projects by the project which isi represented
from those directories. However, a duplicate of each page can be
maintained
in a more horizontal file arrangement where naming of individual files is
the key. The reason is that, the storage space for files is not lacking
and
the interface is only automated to the extent that the user will not be
troubled by a horizontal file directory. The update ofo pages may become
difficult at the onset, when files have not been placed within
directories.
And the placement of files within directories can be used in conjunction
with a Web design tools such as FrontPage, which automates the
manipulation
of files within a directory.
Now organize the files within your directories into logically named
structure.
Directory Organization -
The base directory of the site should pertain to the overall site or to
the
organization sponsoring the site.
The best way to set up the base directory is to use an index or default
page
that pertains to the site as a whole. The default page will serve as the
home page and will most likely be the first page which visitors to the
site
will see.
http://www.your_company.com
http://www.your_service_provider.com/~you
If you are using an ISP's Web server with a virtual domain or an account
with Web publi****ng privileges, the base directory
ia normally called public_html and is located below your user directory.
Subdirectory Organization -
As your site grows the im****tance of a clear structure increases
significantly also. You should consider a subdirectory structure at an
early stage in your Web site development. The subdirectories could
pertain
to projects, publications, or depaprtments withi a company. The
subdirectories chould be logially organized. for example, you could
create
a directory for each of your projects by category and develop a structure
as
follows:
Base directory - contains pages that pertain to your comany. Base refers
to the default path to your do***ents, such as /usr/httpd/docs.
BOOK directory - contains pages that pertain to your book-length projects
BUS directory - contains pages that pertain to business services you
plan
to provide
Now each subdirectory would be located under your base directory and could
have its own default page associated with it. To access the default page
within the BOOK directory, a user follows the URL :
http://www.your_company.com/BOOK/
or
http://www.your_service_provider.com/~you/BOOK/
Then the page called projects.html within the BOOK directory, is at the
URL
:
http://www.your_company.com/BOOK/projects.html
File Organization -
You should logically name your files. Each file that pertains to a
particular presentation could use an element of the project's name to
relate
it to the project. Even if you plan to put individual projects into their
own directories, and very im****tant when you plan to publish multiple
projects that are closely related.
To relate the arts of the prject to the whole, you could prepend an
bbreviation for the project or ppart of the projects title to th file
names.
For example, the Web Publi****ng Unleashed title could be abbreviated as
WPU.
You could then prepend the abbreviation to the component parts of the
project as follows:
wpuch1index.html chapter 1 index page
wpuch1pg1.html page 1
wpuch1pg2.html page 2
wpuch1pg3.html page 3
wpuch1title.gif picture used for chapter
Advanced Linking of Pages and Publications
The more navigation mechanisms you provide within the Web site, the easier
it will be for visitors to find their way around.
Your site should follow a flow design with multiple routes through the
information infrastructure you have created at the site. They should be
able to return to the home page and start a new search from any level
within
the site.
At the start it is im****tant to recognize that the user may enter the site
from any level. Your page should provide an indication of where in the
site
structure the page is located. And ther should not be dead-end streets,
but
links back to the home page and/or to access other information at the
site.
The key to building a friendly and inviting home page is good linking.
There are somem issues which are listed Web Publi****ng Unleashed pp. 710.
Create links in your home page
Link with image and text menus
Use links to keep visitors informed
Link contact and copyright information
The home page proovides a brief overview of what new visitors can expect
to
finnd at the Webb site, and includes a link to a page that explains the
user-friendly features. You home page should also provide an initial
section that provides a quick overview of the site. A large clickable
image
displaying the cor****ate logo might be used to link to a cor****ate
background and information page.
SQL Server 7.0
A reference book Sams Teach Yourself Microsoft SQL Server 7.0 in10 Mins.
publ. Sams Publi****ng 1999, includes a few chapters about Web publi****ng.
It contains some code for ASP pages which can be used to develop Web
publi****ng applications. It states in the introduction, "..SQL Server 7
is
a feature laden database server. Although many books have described this
rich relational database management system in exhaustive detail, there's a
disitinct lack of help in just getting up to speed and becoming productive
quickly. ..With this book you will get a sound basis for powerful
problem-solving with SQL Server."
The book is divided into three (3) main parts:
Lessons 1 - 4, to learn the basics of what a relational database is and
how
to retrieve and modify data.
Lessons 5 - 10, see how to put the database to work using data in popular
applications like Microsoft's Word and Excel, and how to publish data to a
Web site.
Lessons 11 - 20, take you further into SQL Server, showing you how to
build
databases, analyze data, perform basic administration tasks, and move and
transform data.
The book Sams Teach Yourself Microsoft SQL Server 7.0 in10 Mins. goes
beyond
a tutorial, represents one of the most concise distillations of common SQL
Server tasks you will find, and presents its information is a
task-oriented
form that makes it handy as a reference.
Contents
1- What is SQL Server
2- Understanding Databases
3- Finding Information in the Database
4- Adding and Changing Data
5- Using Data in Microsoft Word
6- Analyzing Numerical Data with Microsoft Excel
7- Including SQL Server Data in Your Microsoft Access Database
8- Simple Web Publi****ng
9- Advanced Web Publi****ng
10- An Interactive Web Application
11- Improving Query Performance
12- Analyzing Your Data with SQL
13- Mode SQL: Defining Data
14- Storing SQL in the Database
15- Controlling How Changes Are Made
16- Simplifying Common Qqueries
17- Managing Databases the Easy Way
_____________________________________________________
Chapter 5 Topics
Defining Your Query
Linking Data to Your Do***ent
Printing the Results
Summary
I took a look at Sams Teach Yourself Microsoft SQL Server 7.0 in10 Mins.
Chapter 5, "Using Data in Microsoft Word". "This lesson teaches you how
to
use the merge features of Microsoft Word to create letters and forms from
database data."
The object is to learn how Microft Word can be user to create
high-quality,
personal-appearing do***ents with only a small amount of etffort. This
chapter is not too interesting, except that it describes points about
setting up and using a data source name (ADO), which also applies to
other
applications beyond Microsoft Word. The book SQL Server 7 Programming
Unleashed, publ. Sams 1999 is recommended.
_____________________________________________________
Chapter 6 Topics
Defining your Query
Using the Results
Summary
I also took a look at Sams Teach Yourself Microsoft SQL Server 7.0 in10
Mins. Chapter 6, "Analyzing Numerical Data with Microsoft Excel". "This
lesson will teach you how to use Microsoft Excel with numeric information
retrieved from your database."
The chapter is similar to the inmformation in chapter 5, using data in
Excel
is similar to using data in Word. The chapter shows how data can be
presented, and also combined (summed). A chapter summary states, "If you
have been using Excel to analyze data on yourt ocmputer, you can see the
potential you will gain when you open up your database information to the
numerical capabilities of Excel -charting data is only the start.
Creating the Web Site's Content
A web site is more than pages linked together. It is your home on the web
and as such it sohuld contain doorways that reduce communications barriers
and help spread your ideas to a global audience. The front door to your
Web
site will be the home page.
The home page should be friendly and inviting.
The creating of a friendly and inviting home page involves much more than
hanging up a virrtual welcome mat. The home page creation process must
lead
to a well organized web page that reflects who you are and what you plan
to
do on the Web. The page should follow a sound design that provides an
overview ofo what is available at the site. You can prpesent an overview
of
content in many ways, but the best way to organize the overview is to make
it a sneak preview of what visitors to the site can expect to find.
Part III Interactive Web Publi****ng
HTML Toolkit: Browsers, Editors, and Converters pp. 299
Writing CGI Scripts pp. 335
Form and Image Map Creation and Design pp. 363
Search Engines and Indexed Databases pp. 391
Dynamic Do***ents with Client Pull/Server Push pp. 425
Dynamic Do***ents with Client Pull/Server Push
Creating Dynamic Do***ents with Client Pull/Server Push pp. 426
How to Use Client Pull pp. 427
How to Use Server Push pp. 438
Writing CGI Scripts
What Are CGI Scripts pp. 336
Choosing a Programming Language for Your CGI Scripts pp. 337
Why Use CGI Scripts pp. 343
How CGI Scripts Work pp. 344
Input to CGI Scripts pp. 345
Output from CGI Scripts pp. 358
You can create powerful, personalized and professional Web publications
that
readers can really interact with. CGI scripts are external programs that
act as a gateway between Web server and other applications. You can use
CGI
scripts to process input from readers and thus open a two way
communication
channel with your readers. Reader input can be data from fill-out forms,
keywords for a database query, or values that describe the reader's
browser
and connection.
Your CGI scripts can use this input to add entries to an index, to search
databases, to create customized do***ents on-thje-fly and much more. Yet
the most worderful thing about CGI scripts is that they hide their
complexities from users. If yyou've used a fill-out form or an image map
on
the Web, you've used a gateway script and probably dodn't even know it.
This is because everything seems to happen authomatically. You enter
data,
click a mouse button, and a moment later a resuylt is displayed. This
chapter explains what you need to know about CGI scripts -what they are,
how
to use them and why to use them..
What Are CGI Scripts
The three keywords used in the name of the standard -common, gateway, and
interface-describe how the standard works.
The developers of CGI worked these key concepts into the CGI standard to
create a powerful and extendable advanced feature for Web publishers that
****elds readers of your publications from its complexities.
Common - A common way for scripts to be accessed. CGI enables anyone, no
matter their platform, to pass information to a CGI script.
Gateway - By defining the link or gateway between the script, the server,
and other applications, CGI makes it possible for external programs to
accept generalized input and pass information to other appplications.
Interface - By describing the interface or the way external programs can
be
accessed by users, CGI reduces the complex process of interfacing with
external programs to a few basic procedures.
Choosing a Programming Language for Your CGI Scripts
CGI scripts are also called gateway scripts. The term script comes from
the
UNIX envoronment, where shell scripts abound, but gateway scripts do not
have to be in the format of a script. (A script would be the same thing
as
a batch file??)
You can write gateway scripts in almost any computer language that
produces
an executable file.
The most common languages for scripts are:
Bourne Shell
C Shell
C/C++
Perl
Python
Tcl
Visual Basic
Will all of these languages be confined to a particular operating system?
I
think that they resuire being ****ted to an operating system, which means
an
installation procedure for installation. That also means that a user will
be confined to the use of languages which are already established for use
on
his computer operating system.
In my case I am using a Windows operating system. I will procede to
follow
the branches of the topic that peprtain to the use of the Windows
operating
system.
The best programming language to write your script in is one that is
usable
on your Web server and meets your needs. Preferably the language should
already be available on the Web server. And you should be proficient or
at
least have some knowledge of the language as well. (Reflect back to what
I
was speculating about above).
Keep in mind, that most user input is in the form of text that must be
manipulated in some way, which makes sup****t for text strings and their
manipulation critically im****tant.
Web servers which operate on the UNIX operating system can be queried
using
the following commands to checkj onm availability of a particular
language:
which
whereis
Both which and whereis are usable on UNIX systems. You would type which
or
wheris at the shell prompt and dfollow the command by a keyword ypou want
to
search on, such as the name of the programming languagee you want to use.
e.g., which perl , or whereis perl.
A checklist for features and systems sup****ted,is used in the book Web
Publi****ng Unleashed chappter 11 pp. 338. The feature sections can be
interpretted as followss:
-Operating system Sup****t - operating systems which the language can be
used with
-Programming Level - level of difficulty of programming language to learn
and use
-Complexity of Processing - level of difficulty of proogramming capability
(in use)
-Text-Handling Capabilites - the ability of the language to manipulate
text
and strings
At the time that Web Publi****ng Unleashed chapter 11 was written circa.
1996, both JavaScript and VBScript were hot topics of computing. They
were
the on cutting edge of Internet technologies.
An im****tant aspect of the release of the VBScript language is that
Microsoft plans to offer free licensing to industry companies, but
Microsoft
is to provide the commercial l development tools for VBScript. As I read
through the literature, the categories of VBScript tools which are
available
should be taken notice of.
I am reading Web Publi****ng Unleashed chapter 11 on pp. 343, "VBScript is
a
subset of Visual Basic and is used to create highly interactive do***ents
on
the Web. Similar to JavaScript, the programs written in VBScript are
embedded in the body of your HTML do***ents."
VBScript enables dynamic use of OLE scripting management. The OLE
qualities
of scripts will enable Web publishers to dynamically embed VBScript
runtime
environments. Basically, this capability allows you to use VBScripts as
plug-in modules. You could enable a VBScript programa in your Web
do***ent
that called another VBScript program to use as the plug-in.
Microsoft is working with Internet standards groups to define an OLE
scripting standard, which should be completed soon as of the time of the
article 1996.
Why Use CGI Scripts
The primary reason to use CGI scripts is to automate what would otherwise
be
a manual and probably time-consuming process. Some scripts are freely
available on the Web. The client is a beneficiary of the script use. The
client (reader) gets simplicity, automated responses to input, easy ways
to
make submissions, and fast ways to conduct searches.
With gateway scripts you can automatically process orders, queries, and
much
more. The uses include :
To track visitors to pages and post continually updated numbers to the Web
page as it is accessed.
To process input, i.e. search strings, and output a do***ent containing
the
result of the search.
To validate user identification and password information and grant readers
access to restricted areas of the Web site.
To process input from image maps and direct the reader to associated
do***ents.
To generate do***ents based on the type of browser the reader is using.
To add the reader's feedback or survey responses to a database or index.
attention to detail
good content
good organization
---
As mentioned at the beginning, today information systems are used for
business from communications to order processing to number crunching, and
in
business functions ranging frm marketing, to human resources, to
accounting
and finance.
A process works with the status often, in reaching an intermediate goal
and
making the decision to proceed on to another. It can be synonomous with
business logic yet we see it as confined by the programming language,
here.
The book by Christian Gross, A Programmer's Windows DNA suggests that a
record format which miight be used for recordkeeping of the patterns
being
pursued, for their usefulness and stability (as solutions), and
performance
of complex tasks would be:
Pattern Name
Problem (Intent)
Motivation (Force) - essentially the purpose of the design pattern. Why
the
pattern was created.
Applicability
The context of a pattern involves the past and the present of a current
situation included. The goal for the jo\b definition format
(recordkeeping)
is to control the tasks and manage the project life cycle by directing
tasks
which occur in series anad parallel, through time. This is in agreement
with the process calling upon the conditions of the intermediate tasks,
for
a decision on when to proceed on.
While I think that is is a good idea to use a project category / working
group arrangement, the vertical aspects and the horizontal aspects of the
data should not be overlooked.
Windows or a similar operating system provides the ability to create
multi-tasked processes, some of which are referred as Windows "plumbing"
i.e., (1) uniformity in the design with other systems on the network, (2)
easier to partner with other developers, languages, (3) data
characteristic
types (weight, color, location, master assembly, unit value, etc.).
We can generalize into questions of data quality, accuracy of dimension,
practicality, efficiency, consumption of materials, even simulation of
tasks
using workflow languages.
In the above discussion we have considered a working system for keeping
records on the performance of complex tasks which may involve many steps
and
workers.
----
Horizontal Data Stores
Where many files are produced by the same applications (perhaps re****ts),
they are horizontal data stores and should not be considered too numerous
to
be organized together. A file search window can be developed to search for
any files needed at a particular moment.
Vertical Data Stores
Files or data which are vertically related by group can be handled using a
relational database, as well as some mixed form of database application
such
as Brilliant database.
Database Systems
Databases are at the heart off most information systems and your Web-based
information system should be no different.
For large publi****ng systems, a database-driven environment is highly
recommended. Issues such as revision control, composition of do***ents
made
up of elements produced by multiple authors, text search across multiple
production areas, and data retrieval must be addressed in large,
multidisciplined environments.
revision control
composition of do***ents (multiple authors, etc)
text search across production areas
data retrieval
If you plan to use a database system, the key concepts you should consider
right now are:
The type of database system to use
Database storage and retrieval methods
Consider the Type of Database System to Use
Two primary types of databases exist for storing and indexing data,
relational and object-oriented. While relational databases store and
retrieve data based upon attribute relation****ps, object-oriented
databases
store and retrieve data based on object attributes.
relational database - index and reterieve data using relation****ps between
attributes
object oriented database
attribute relation****ps
object attributes
Relational databases follow a Structured Query Language (SQL), which makes
it easier to transfer your data to another database system. The primary
providers of relational databases suitable for integrating a large-scale
Web
publi****ng environment include Oracle, Sybase, and Informix.
Relational database index and reterieve data using relation****ps between
attributes.
Object-oriented databases index and retrieve data using relation****ps
between objects. Currently, most object-oriented database systems are a
part of proprietary do***ent publi****ng environments.
These object-oriented databases can also be adapted for Web publi****ng
use.
Although object-oriented databases provide powerful capabilities and
exciting potential, there is no standard available to move your data from
one database system to another.
Publi****ng Your Data
When you publish on the Web, your audience is potentially a global one.
The
capabiity to intelligently thread through a hypertext-based do***ent
(whether HTML, SGML, VRML, or some other language) to meet the needs of
multiple locales can be a huge business advantage to Web publishers when
managed effectively.
Database-driven systems offer the advantage of assigning unique
information
to a data element, commonly referred to as attributes, which permit users
to better manage theiir publi****ng environment.
An attribute of a data element can refer to anything that is useful to the
publi****ng environment such as customer's ZIP code, address, or product
preferences.
An attribute could also refer to a key element of a larger do***ent, such
as a Web-published reference guide withattributes that refer to the format
the guide is written in (such as SGML), the auathor, the revision number,
whether it is a rough draft or in final form, and so on.
Information About the Do***ent
A collection of attribute information about the do***ent and its
individual
components, as well as the information regarding organization and
structure,
make up the data model for a database-driven publi****ng system.
Database Systems
The Program Manager on the SIMONE server computer's desktop includes the
topic group -File-based Applications. The contents here were copied from
the contents of the file notes_01.
This information is about issues concerning Superbase LANs and the uses of
file access permissions and OLE programming techniques throughout a
Superbase LAN.
file access permissions
OLE programming embedded object
Using Superbase 95, an OLE link or embed can be implemented throught the
use
of an External data type field. An External data type field holds a
reference number to the embedded object.
From the Clipboard where the server has placed its embed, use Paste
Special
from Superbase and that will create the reference number to the embedded
object (use Ext data type with 14 chars in length) see Dalgleish p.
511-512.
The ramifications of OLE is another subject. Define any ramifications
which
can be deduced ..
Superbase can only act as a host application, not a server application. -
Define host and server application here...
A reference book HTML, Java, CGI, VRML, SGML, Web Publi****ng Unleashed by
William Robert Stanek publ. Sams.Net Indianapolis, IN 1996 is divided into
the following parts:
Part I - Getting Started and Planning
Part II - Web Publi****ng with HTML
Part III - Interactive Web Publi****ng
Part IV - Web Publi****ng Production Systems
Part V - Multimedia and Beyond
Part VI - Putting It All Together
Part VII - Looking Ahead
Appendixes
The author William Robert Stanek is a publisher and writer with more then
10
years experience on networks, the Internet, and electronic publi****ng. He
has bachelor degree in computer science and masters in information
systems.
There are some good sections in the book above, but firrst the article for
ActiveX in Wikipedia. ActiveX is a Microsoft technology used for
developing
reusable object oriented software components. ActiveX is an alternative
name for OLE automation (OLE- Object Linking and Embedding), not a
separated
technology. while the termn "automation" refers to the overall
technology,
ActiveX refers to the objects that can be created and manipulated using
Automation.
Due to Internet Explorer and Visual Basic's popularity in the lat 1990's,
many people incorrectly assume that all of Active X is related to ActiveX
controls.
An ActiveX control is a special type of ActiveX object that is designed to
be used similar to a plugin.
Technologies Using ActiveX
Microsoft has developed a large number of products and software platforms
using ActiveX objects, and many are still in use today:
ActiveX Data Objects (ADO)
Active Server Pages (ASP)
ActiveMovie, later renamed DirectShow
Active Messaging, later renamed to Collaboration Data Objects
Active Scripting, a technology for scripting ActiveX objects
ActiveX Streaming Format (ASF), renamed top Advanced Streaming Format,
then
to Advanced Systems Format
ActiveX controls have full access to the Windows operating system.
Microsoft developed a registration system so that browsers can identify
and
authenticate an ActiveX control before downloading it. Yet ActiveX
controls
are currently limited to Windows environments. ActiveX controls can be
written in MFC, ATL, C++, and Visual Basic.
ActiveX was a new technoloogy in 2000, a new method of bringing computing
power and multimedia to the Internet. ActiveX can be thought of as a
collection of existing Microsoft software technologies that are fine-tuned
for the Internet and the Web, offering tools and applications that are
meant
to do what Java already does, but on a broader scale and with more ease.
ActiveX was a new technoloogy in 2000, a new method of bringing computing
power and multimedia to the Internet. ActiveX can be thought of as a
collection of existing Microsoft software technologies that are fine-tuned
for the Internet and the Web, offering tools and applications that are
meant
to do what Java already does, but on a broader scale and with more ease.
Active Scripting (formerly known as ActiveX Scripting) is the technology
used in Windows OS to implement component-based scripting sup****t. It is
based on COM (more precisely OLE Automation) and allows installation of
additional scripting engines in the form of COM modules.
Active Scripting technologies were first released in 1996, with the
Internet
Explorer 3.0 and IIS 3.0 products.
Usual applications of Active Scripting include ASP server scripts,
Internet
Explorer, and Windows Script Host (WSH) scripts automating routimne tasks,
being the Windows counterpart of Unix shell scripts.
The interfaces to Active Scripting engines are public, so any developer
can
create his own applications that are programmable in Active Scripting
languages.
Windows Scripting Host
The Windows Script Host (originally called Windows Scripting Host)
provides
scripting capabilities comparable to batch files, but with a greater range
of sup****ted features. Beginning with Windows 2000, the Windows Script
Host
became available for use with user login scripts.
The Windows Script Host is language independent in the sense that it can
make use of different Active scripting language engines. By default it
interprets and runs plain-text JScript (*.JS and *.JSE files) and VBScript
(*.vbs and *.vbe files).
Users can install different scripting engines to enable scripting in other
languages, for instance Perl.
The language independent filename extension *.WSF can also be used.
The advantages of *.WSF Windows Script File is that it allows the user to
use a combination of scripting languages within a single file.
Windows 2003 ****pped with WSH version 5.6 and Windows Vista was
distributed
with version 5.7. The Microsoft WSH Primer site is located:
http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_overview.mspx?mfr=true
The description at the Microsoft WSH Primer site states, "WSH is a
powerful
mini-language scripting environment ideal for automating system
administration tasks. Scripts running in the WSH environment can leverage
the power of WSH objects and other COM-based technologies that sup****t
automation, such as Windows Management Instrumentation (WMI) and Active
Directory Service Interfaces (ADSI), to manage the Windows subsystems that
are central to many system administration tasks.
The Chapters in Microsoft WSH Primer are:
WSH Overview
WSH Architecture
Running WSH Scripts
WSH Objects
Securing Scripts
The sectrion on WSH architecture is shorrt. It states "If you want to
moodify existing scripts or if you want to create your own scripts, you
need
to understand how scripting works. This understanding requires at least a
passing familiarity with the WSH architecture.
There are many ways of running WSH scripts. Some factors to consider when
choosing a way to run a WSH script will depend upon convenience, personal
preference, individual needs (is a specific do***ent being loaded?).
Running WSH Scripts
Some system administration scripts are run as logon scripts or scheduled
tasks. In that respect, you do not actually run these scripts; you simply
schedule them and the operating system will run them foro you.
Scripts which are run infrequently can be run from the command line or by
using the indows graphical user interface (GUI). In some cases it makes a
very big difference.
A tutorial is provided describing the options used for running WSH
scripts.
These sections fall unnder the Microsoft Windows 2000 Scripting Guide at
Microsoft/technet/scriptcenter/guide/
VBScript Primer
Working with Objects
Connecting to Objects
Creating an Object Reference
Calling Methods
Retrieving Properties
OLE
Lets takes a look at the background of OLE that I've looked into in the
past, as we can relate back from Microsoft SQL server toward the Superbase
LAN which is another Microsoft Windows application.
Is has been coming clearer, that Microsoft's ActiveX is a step beyond the
type of implementation which Superbase has devised for the local LAN
database; Superbase's multiple installation LAN version offers a network
for
the Superbase IDE.
Microsoft has reached further with the Internet Explorer browser, and
ActiveX controls. A reference book Internet 1997 Unleashed Fourth Edition
by Jill Ellsworth, Bully Baron, et. al publ. Sams.net Indianapolis, IN
2000.
In chapter 52 Active X and the Internet by Warren Ernst two questions are
considered which pertain to what is stated above as the focus in this
paper.
What's So Special About ActiveX?
Using ActiveX with Netscape Navigator and the Internet Explorer
ActiveX was a new technoloogy in 2000, a new method of bringing computing
power and multimedia to the Internet. ActiveX can be thought of as a
collection of existing Microsoft software technologies that are fine-tuned
for the Internet and the Web, offering tools and applications that are
meant
to do what Java already does, but on a broader scale and with more ease.
Creating Java programs can be troublesome because using Java requires
programmers to learn to use a new programming language and then to spend
time converting existing standalone programms into Jave Applets.
The equivalent of the Java programs (applets), are ActiveX modules, called
ActiveX controls, are easier for programmers to create and even make it
possible to easily convert an existing standalone program into a ****table
ActiveX control for Internet (and other) use.
So the Internet community will be seeing all facets of ActiveX technology
gaining wide acceptance and use.
Browser Programming
The information provided by the book Internet 1997 Unleashed Fourth
Edition
by Jill Ellsworth, Bully Baron, et. al publ. Sams.net Indianapolis, IN
2000
only looks into a surface issue about using a beginner approach to
ActiveX-enabled Web sites and the web browser. It is presented as an
approach to browser programming. The creation of ActiveX controls and
other
ActiveX modules is the subject of other books, in a more technical
category.
A far as the Web surfer is concerned, there are really only thre parts ofo
the ActivceX suite of technologies that you are likely to see on a regular
basis. And you don't have to worry about the technology that is making a
Web page or file format do "miraculous things". Unfortunately, most of
the
books are geared for programmers, and this one is not intended to be one
of
those but rather a description of the major ****tions of ActiveX and what
makes it different from existing technologies.
Where it concerns the Web surfer there are only thre parts of the ActiveX
suite of technologies, likely to be encountered regularly.
ActiveX Scripting: VBScript
ActiveX Program Modules: Controls
Universal File Formats: ActiveX Do***ents
Universal File Formats: ActiveX Do***ents
A file format that is able to automamtically launch the program that can
use
it, directly fromm within a Web browser. This can be done using ActiveX
do***ents. When the browser comes across a file type that it can not
read,
which is also an ActiveX do***ent file, as an ActiveX do***ent container
the
browser launches the file's native program within the browser's window,
and
combines the browser's toolbar with the viewing program's own, and
combines
the browser's menu's with the viewing program's own.
The result of the process above, is a file that opens without conversion
in
the same, single window as used to view Web pages, but with the
functionality required to manipulate the new file. see book Internet 1997
Unleashed Fourth Edition by Jill Ellsworth, Bully Baron, et. al pp. 928.
Now, virtually reality and PowerPoint presentations can be seen on the
Internet as ActiveX do***ents. When these files are encountered, they are
considered by the Internet Explorer to be OLE objects, and launch their
respective programs within the Explorer window, combining commands and
intrefaces in a way that most people find much simpler and intuitive than
either helper applications or plug-in modules.
ActiveX Program Modules: Controls
The ActiveX control is the fundamental element of ActiveX technology.
Microsoft used to call the ActiveX control an OLE control before it was
slightly modified to work over the internet. An ActiveX control is a
modular piece of software that performs tasks and computes information;
communicates to other programs, modules, and the Internet via OLE; and can
be easily used and reused by any program or computer language that is able
to contain ActiveX controls, such as Web browsers like the Internet
Explorer
and Netscape Navigator, or languages i.e., Visual Basic, Visual C++, and
FoxPro.
Controls have computational power, communications power, and their oown
small fraphical interface, and can be used like Jave applets within Web
pages, or as any other control in a program created with any of the
aforementioned (or other) ActiveX compatible languages. It is this reason
that the term control should mean something to Windows programmers, but it
might not meann too much to an Internet or business application user who
has
no need to write programs which use controls.
There are many different types of ActiveX controls, each with different
capabilities, but all with the potential to do many things.
Web Page Effects controls
Some types of controls are especially adept at Web-page special effects
and
multimedia so many of these are included with the Internet Explorer.
Others
will be downloaded from various web pages.
Numeric Calculation controls
Some types of controls are adept at numeric calculation or image
manipulation and are frrequently included with programming languages.
Database Manipulation controls
Some types of controls are good at manipulating databases and are included
with Microsoft AAccess and FoxPro.
Of course, if a preexisting ActiveX control doesn't have the capabilities
you need if you are creating a new Web page or program, a reasonably
skiled
programmer can create a new control quickly.
Because ActiveX controls can be as different from each other as the
different programs on the shelf at a software store, it is somewhat
difficult to say what all ActiveX controls share, can do, or have theh
potential for. And because new ones are being written all the time, it is
hard to predict what the majority of new ones will do. But you'll
undoubtedly see many examples of ActiveX controls as you surf the Web.
ActiveX Scripting: VBScript
Visual Basic -Scripting Edition (VBScript) is a Web page scripting
language
that has all the power of JavaScript, a learning curcve like Visual Basic,
and the interprocess communication power all ActiveX technologies (through
OLE, or object linking and embedding) all rolled into one.
VBScript is written directly into Web pages along side the HTML coding in
an
HTML file. While the HTML file is sent as a Web page, the VBScript
program
is interpreted on the fly by the VBScript-enabled Web browser of the
client.
VBScript programs run like a program within the Web page.
It is a good scripting language for the Internet because it has real
computing power, can easily initialize other ActiveX modules, and is
relatively easy to learn.
real computing power
initialize other ActiveX modules
relatively easy to learn
VBScript is Easy to Learn
VBScript is a subset of Windows most popular programming language, Visual
Basic 4.0, so if you have dabbled with VB, you'll feel right at home with
VBScript. It is also a subset of Visual Basic for Applications (VBA), so
if
you write scripts and macros for Word or Excel, VBScript will also feel
familiar.
It isn't that hard to begin writing useful scripts with VBScript, even iif
you haven't programmed in Visual Basic.
Visual Basic itself, is based upon BASIC which means that it is among the
easiest programming languages to learn if you have no programming
experience. All that you really need to start writing powerful scripts
with
VBScript is general programming knowledge, not a specialized C+
background.
On the other hand in order to learn JavaScript, which requires knowleldge
of
C++ and the basics of object oriented programming, you will not have such
an
easy time.
VBScript is a Powerful Communicator
AS a member of the ActiveX family of components, VBScript can communicate
via OLE to any other OLE-compliant piiece of software, which includes
ActiveX controls, desktop applications i.e., Word and Excel, the Internet
Explorer, and the operating system.
A VBScript can communicate easilywith a wide wariety of objects (listed
above)and a great number of Web page possibilities open up, for someone
with
a small amount of BASIC programming background.
Snnce VBScript can communicate with ActiveX controls, it can initialize
control within Web pages to work with Internet data. In fact, because
VBScript can interact with Web-page users through forms, fairly generic
controls can be custom configured to specific purposes, on the fly.
VBScript can also modify Web page forms or controls, or from other
OLE-equipped applications or operating system calls.
In short, Internet 1997 Unleashed p. 923 VBScript can act like the glue
that
binds Web page users, generic ActiveX controls, and information from
business applications into new and active Web pages, the likes of which
were
not seen before.
TYPES OF FILES
The above paragraphs mention OLE DB, but the question persists for the
issue
of what is OLE? As I am browsing on a computer with WordPerfect 10
installed, I looked into the Help Files for the search term "server",
What
was returned looks to be an evaluation of OLE, and the Linking and
Embedding
properties which it enables.
WordPerfect 10 sup****ts object linking and embedding (OLE). Object
linking
and embedding is the process of inserting an object created in one
application (the server) into another application (the client). An object
can be text, a graphic, a chart, a spreadsheet, a sound or video clip, or
any file created by an OLE-compliant application. To share information
with
Windows applications created before Windows 95, you must use Dynamic Data
Exchange (DDE) instead of OLE.
In this section you'll learn about:
linking and embedding objects
linking and embedding data created in other formats as regular text
linking and embedding TextArt images
linking and embedding video
linking, embedding and using sound
changing links
updating links and editing OLE objects
changing and hiding link icons
Linking and embedding objects - WordPerfect lets you link and embed
objects
from any application registered with Windows as being OLE- or
DDE-compliant.
You can also link or embed selected information from a file. When you
link
information, it resides in the source (server) file where it was created.
It
displays in WordPerfect (the client file) in a graphic frame or as an
icon.
If you change the object in the source file, you can update the link in
the
WordPerfect file too. Linking is useful when you want to be able to edit
an
object in a single location and have the edits reflected in the linked
locations as well. The server application is used to create and edit
linked
OLE objects, either in the source application or in WordPerfect. If you
want
to edit DDE linked information, the server application must be used.
When you embed an object in a WordPerfect do***ent, it is contained
completely in the do***ent file. The information is copied to WordPerfect
but retains all the properties of the source application. An embedded
object
increases the size of a file and is not updated when you make changes in
the
source file. Embedding is useful if you want to insert an object and not
have it change when its source file changes. You can embed an object in
WordPerfect by creating a new object or by dragging the object into
WordPerfect. You can embed multiple copies of an object by creating a
Windows scrap file. You can also embed do***ents located on the Internet
in
a WordPerfect file as an object.
Microsoft Personal Web Servers and Microsoft Access -Data AccessPages as
they function as OLE -compliant applications
Some SQL related information, not copied to this file, remains on the
other
file located on //SIMONE. The topic of this study is Relational Databases
and networks (Network Relational Databases). Whatever information now
here,
which would not later moved to a Superbase topic section will emerge with
more clarity after the present editing. Then the file located on //SIMONE
can be re-edited as well with copy-paste.
Kochan Programming In C p 38 states, "One of the fundamental operation of
the computer is its ability to repetitively execute a set of statements.
These are looping capabilities which enable programmers to develop concise
programs containing repetitive processes that could otherwise require
thousands of program statements to perform. The C programming language
provides three different programming statements for program looping.
These
are the for statement, the while statement, and the do statement.
REPEAT and FOR loops
The WHILE loop does not cover all applications of the looping structure.
It
tests the looping condition before executing the statement. If we want to
test the loop condition after executing the loop statement, we turn to the
REPEAT loop. The structure is:
REPEAT
statement 1
statement 2
...
statement n
UNTIL
condition
The statements in the body of the loop are executed once. Then the
condition is tested. If the result of the test is false, the statements
are
again executed and the condition is again tested, and so on until the
condition has the value true.
To suggest the diifference between the REPEAT loop and the WHILE loop,
compare the after-the-body-of-the-loop test in these constructions:
REPEAT pumping the bicycle tire pump (DO .. WHILE)
........
statement(s)
........
UNTIL the pressure gauge shows 30 lbs (test the condition)
Above form is used when the statement is to be executed before a
condition
is tested.
With the WHILE .. DO loop the statement is executed after the test. This
is
the case where it is useful to initialize the variable before entering
WHILE
... DO loop.
condition <= true
WHILE the pressure gauge shows under 30 lbs
DO continue pumping the bicycle tire pump
eg:
C <= 1
WHILE C <= 20 DO (test occurs here before the statement is executed)
statement(s)
C <= C + 1
(the FOR .. DO construct is similar)
or:
C <= 1
REPEAT
statement(s)
C <= C + 1
UNTIL C > 20 (test is after statement has been executed)
xxxxxxxxxxxxxxxxxxxxxx
Databases
What type of information is suitable for a database? There are some
things
that are better suited than others:
addresses and phone lists
product inventories - more suited
lists of information
price lists - more suited
All the above types can be displayed on a static Web site, and if you have
a
small amount of information a static page can be the easiest way to
display
it. A good example of a static content Web page would be the "Primo Metro
Coffee" found on //Conquistador the favorites menu from Internet Explorer,
in the Website Pages folder.
The prices of the items in the "Primo Metro Coffee" store section are
listed
in a table which is non-database.
But if you have a large amount of information, or if you want to display
the
same elements in multiple place, then a database makes it much easier.
Using a database makes it easier to add new information, to maintain and
edit the existing information, and the Access software can write some of
the
database connection code. Once the issues with the connection code have
been resolved, the appearance of the Web page is an additional issue. The
data connection wizard of Access presents the page on a generic form which
is dull in its appearance.
Query Results
From the facts which are returned on the basis of a formula you draw the
conclusions that are appropriate for solving the specific program you have
in mind. These fourth-generation systems are ideal for storing and
manipulating a database, or structured collection of data, all of the
information stored in the database are stored as explicit facts.
The fourth-generation system does not interpret the facts, but merely
presents them for your inspection. The medical database MEDLINE is a true
example of a medical reference database. A financial database or an
airline
reservation database, and the databases of individual businesses -an
inventory database for example present facts which are structured based on
a
formula.
Fifth Generation
The development of computer science within the United States has been
progressing beyond the use of high-level languages into a realm of the
fifth-generation computer system which store and process knowledge.
The basic components of proposed fifth-generation systems are:
the knowledge base
context data
the inference engine
When we venture toward the newer fifth-generation components (integrated
objects) we start with a knowledge base which does not present rigidly
structured facts. It is in fact able to function well with fewer stored
facts. And it has an additional ability to generate and to infer new
facts
as they ac***ulate in the process of solving a given problem.
A problem solving and inference system is comprised of, (1) a problem
solving language (logic programming language), (2) abstract data-type
sup****t subsystem, (3) data flow processing mechanism, (4) Von Neumann
subsystem. These are connected with VLSI together with the knowledge
based
machine (1) relational algebra, (2) relational database subsystem.
The relation****p among the data is not predetermined (in the form of a
formula), it is spontaneously generated as needed, while a problem is
being
solved. As the steps of the problem are considered, each step is really a
complex fact (i.e., formula type) and these are not explicitly stored but
inferred from the context.
A knowledge base is fluid and prepared to deal with unexpected situations.
It is intelligent. It makes suggestions. It understands the material
that
it processes.
The knowledge base will generate new information which is then considered
to
be the context data, for other problem solving that will be undertaken.
The addition of an inference engine, provides methods for drawing
inferences
and for getting solutions to the problem from the computer. The inference
engine is the part of the fifth-generation system whicvh does the
thinking.
It asks questions of the user and suggestes new reasoning which is
underlying to solutions that it is arriving at, along with the insights
relevant to what it has discovered along the way. Those insights will be
stored as context.
The inference engine is basically a new idea as it is conceived for the
fifth generation technology, but knowledge bases and their corollary,
context data are already in use in fourth-generation systems. The fifth
generation is being developed along the lines of a new language for the
inference engine to make use of its full capability in a more evolved
form.
Even a natural language system for the inference engine is contemplated
(voice communication).
A medical diagnostic program named INTERNIST is used to assist with
diagnosis for the internal medicine physician. MYCIN is used to consider
bacterial infections -which work on the information presented by the
symptoms of the patient.
The fifth generation is also evolving toward the expert system which would
be narrowly focused on specialties and subspecialization within a
profession. Problem solving which includes specialaty branches of
medicine,
spectroscopic analysis, etc. It is hoped that medical demand for these
higher level machines will finance most of the research into these
inference
systems. The progress of the fifth generation of machines is moving along
the same path as the supercomputer problem, but the two issues represent
separate problems.
Access Data Page
A query of Microsoft Office Online (Web Help) and the match search for
"MIME" resulted in the code shown below. The title is How To Display ASP
results using Excel in Internet Explorer with MIME types. (This procedure
seems to involve SQL server, so if ODBC is to be used it should use the
Microsoft driver).
1. Create a System DSN called "pubs" using the ODBC Control-Panel applet.
Set up the DSN to reference your local SQL Server, use SQL Server
authentication, and use "pubs" as the default database. The default login
ID
to the pubs database is sa, with no password.
2. Use Notepad.exe to create a file called XlTest.asp in your IIS home
directory (for example, inetpub\wwwroot), and add the following to it:
(This
is an ASP test page to be used for running a n ASP script). Note: the
data
connection is all im****tant to the procedure. An easy way to make a data
connection is by using an Access Data Page. Information to follow. In
this
ASP script they simply change Response.ContentType in HTML header to
specify
Excel's MIME content type:
Response.ContentType = "application/vnd.ms-excel"
The make a query and then then state that the retrieved data will be
formatted as an Excel spreadsheet.
<%@[EMAIL PROTECTED]
Language=VBScript %>
<%
'Change HTML header to specify Excel's MIME content type
Response.Buffer = TRUE
Response.ContentType = "application/vnd.ms-excel"
%>
<HTML>
<BODY>
Here is the info you requested.<p>
<%
' Create ADO Connection object
dim myConnection
set myConnection = CreateObject("ADODB.Connection")
' Open SQL Server Pubs database...
' myConnection.Open "DSN=pubs;UID=sa"
' Get a recordset of info from Authors table...
sqlStr = "SELECT au_fname,au_lname,phone FROM authors"
set rsAuthors = myConnection.Execute(sqlStr)
%>
<!-- Our table which will be translated into an Excel spreadsheet -->
<TABLE WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD><font size=+2>First Name</font></TD>
<TD><font size=+2>Last Name</font></TD>
<TD><font size=+2>Phone</font></TD>
</TR>
<!-- server-side loop adding Table entries -->
<% do while not rsAuthors.EOF %>
<TR>
<TD><%=rsAuthors("au_fname")%></TD>
<TD><%=rsAuthors("au_lname")%></TD>
<TD><%=rsAuthors("phone")%></TD>
</TR>
<% rsAuthors.MoveNext
loop
' Clean up
rsAuthors.Close
set rsAuthors = Nothing
myConnection.Close
set myConnection = Nothing
%>
</TABLE>
</BODY>
</HTML>
3. Save XlTest.asp, and then view it from a client browser. For example,
http://MyServer/XlTest.asp
(replace MyServer with the name of your
server.)
If Microsoft Excel 97 is installed on the client computer, Microsoft Excel
displays the data inside the browser.
Creating a Data Access Page
Information which describes the procedure for creating a new data access
page can be located using the Microsoft Access help file search for: "new
data access page". From among the choices select "Create a new data
access
page".
To proceed to create a stand alone data access page:
close the open databases
click command menu File/New/Blank Data Access Page
in the Select Data Source dialog box do one of the following:
(1) Connect the new data access page to a Microsoft Access database
(2) Connect the new data access page to an SQL Server database, or to an
OLE Db data source by creating a connection file
(3) Connect the page to a data source using an existing connection file
However, if this you create a new data access page while database is open,
there will be a shortcut to the data access page automatically created by
Microsoft Access. And Accesss will display that shortcut in the database
window of the open Access database, or of the open Access project. This
would be the procedure to use when the data access page will have a data
source within the currently open Access database.
Creating a data access page with Microsoft Access is accomplished best
when
the data file is closed. A new object icon will not be created. A stand
alone data access page, is apart from any database.
A new icon is only created when the database is open, and the data access
page points to an object in the currently open Access database.
Use a Data Access Page
From a data access page you can view, add to, edit, and manipulate the
data
stored in the database. A page can combine other sources of data such as
Excel with the Access data sources.
Create a Command Button That Works as a Hyperlink (will it be placed on a
data access page?)
Use a command button as a hyperlink on a form, or on a re****t, or on a
data
access page. Access the Microsoft Access help file through search on new
data access page, and select the choice "Create a Picture or Command
Button"
that works as hyperlink.
If viewed in Access a Hyperlink within an Access Re****t will not work.
The
hyperlink will work however, if the re****t is output, and then the re****t
is
viewed from within Word, or Microsoft Excel, or HTML. This leads me to
the
topic of Microsoft Front Page and the use of Access objects which could be
copied to a Microsoft Front Page website. The issue of Excel
spreadsheets
seems to be related as well, however the creation of stand alone data
access
pages which point to the Excel spreadsheet as a data source would appear
be
the answer to that question. I have copied the Access command buttons to
Access forms, and it may also be possible to create Command buttons which
can be copied to FrontPage website pages.
A new data access page can be created along with a command button that is
hyyperlinked to that new data access page. The Access help file above
indictates this procedure is named , "Create a new data access page and a
command button that is a hyperlink to that page":
in design window open a form
if the control wizards tool in the toolbox is selected, then de-select it
to
turn it off
in the toolbox, click the command button tool
on the form, click where you want to place the command button
while the command button you create is still selected, click properties
dialog box on the toolbar, which opens the properties sheet for the
command
button
in HyperlinkAddress property click the Build button
in the Insert Hyperlink dialog box which will open, clock Create New Page
under Link To
in the Text To Display box, type the display text for the hyperlink,
Access
automatically displays the value of the command button's Caption property
in
the box
click ScreenTip and type the text that you want to appear, when the user
rolls the mouse over the hyperlink
if the ScreenTip is left blank, Access will display the hyperlink address
as
the screen tip
in the Name Of New Do***ent box, type a name for the page; you can create
different types of do***ent (note: do***ent reference link) using filename
extensions for Excel (.xls) or .Word (.doc) do***ents, by typing the three
letter filename extension for the file that you want to create. Perhaps
..asp do***ents can also be created, as well as .htm do***ents.
Access creates the new page in the current folder. In order to change the
current folder click Change
Click an option under WhenToEdit. You can edit the new page immediately,
or
later on
To test the link, Right-click the command button, point to Hyperlink on
the
shortcut menu, then click Open
This will test the new command button and the hyperlink from it to the new
data access page
End
About Synchronizing Records Between Two Forms
You might often want to look at related records on two forms at the same
time. For example, while looking at a customer record on a Customers form,
you might want to open an Orders form that shows the customer's orders.
When you move between records on a form, you might also want to
automatically view related records on a second form. For example, as you
move between supplier records on a Suppliers form, you might want to see
the
products each supplier carries in a Products form.
You can synchronize records between two forms by creating a command button
that opens and synchronizes a second form, or by using the Current event
to
display related records on the second form when you move between records
on
the first form.
You can also use the Form Wizard to create two related forms from scratch.
VBScript (VBScript) is the default script language added to your Web page.
Attaching a VBScript to a Command Button is possible. VBScript is a
subset
of Microsoft Visual Basic programming.
Note You can change the default script language.
Data Access Pages On Web Servers
The data access page has to be located on a Network Place which is
accessible from the compuuter where Microsoft Access is running.
Do***ents
The following table lists many of the MIME content-types currently in use
on
the Web, and gives the data type associacted with the MIME type name.
There
are in some cases more than one MIME type in use for a given data type.
The actual table on the Web (http://www.utoronto.ca/webdocs/etc...)
contains
more entries than shown here:
MIME Do***ent Types
(http://www.utoronto.ca/webdocs/HTMLdocs/Book/Book-3ed/appb/mimetype.html)
An SGML do***ent *. text/sgml
An HTML do***ent *.htm, html text/html
A cascading style sheet *.css text/css
A plain text do***ent or program source code listing *.txt , c , c++
text/plain
A do***ent with Tab separated values *.tsv?
text/tab-separated-values
Undefined binary executables are defined as the MIME type *.extension
application/octet-stream
A PC executable file type is also defined as the MIME type *.exe
applicaton/octet-stream
A GIF image *.gif image/gif
A JPEG image *.jpg, jpeg image/jpeg
A TIFF image *.tif, tiff image/tiff
A MPEG audio, voice, music related *.mpa, mpega audio/x-mpeg
A Real Audio *.ra, ram application/x-pn-realaudio
A Powerpoint presentation *.ppz application/mspowerpoint
MIME and the World Wide Web
MIME Type Detection in Internet Explorer (Microsoft Online Help files
(search term: MIME). The purpose of IE such as Excel.type detection
(data-sniffing), is to determine the MIME type (content-type or media
type)
of downloaded content using information from the following four (4)
sources:
The server-supplied MIME type, if available
An examination of the actual contents associated with a downloaded URL
The file name associated with the downloaded content (assumed to be
derived
from the associated URL)
Registry settings (file extensions/MIME type associations or registered
applications) in effect during the download.
By determining the MIME type the URL monikers and other components can
find
and launch the correct object server or application to handle the
associated
content.
Determining File Extensions
Internet Explorer sets the file extension of a downloaded file based on a
few pieces of information available from the HTTP server and from the file
itself. Internet Explorer confirms or resets the file extension of a
downloaded file to ensure that if the file is executed, Windows launches
the
proper application to handle it.
Internet Explorer first consults the Content-Type and Content-Disposition
headers for the MIME type from the HTTP server, if they exist. Next,
Internet Explorer consults the registry entry for that MIME type under
HKEY_CL*****_ROOT\MIME\Database\Content Type and looks at the Extension
key
for the correct file extension.
Internet Explorer then ensures that the file has that extension, before
placing it in the local browser cache.
If Internet Explorer knows the Content-Type specified and there is no
Content-Disposition data, Internet Explorer performs a "MIME sniff,"
scanning the first 200 bytes of the file to determine if the file
structure
matches any known MIME types. For more information on MIME sniffing, see
MIME Type Detection in Internet Explorer. If the MIME sniff detects a
MIME
type known to Internet Explorer, and the file has not been loaded by a
mimefilter already, Internet Explorer sets that file extension before
placing the file in the local browser cache.
Lastly, if there is no Content-Type or Content-Disposition data, and the
MIME sniff does not recognize a known MIME type, the file extension is set
to the same extension as the URL used to download the file.
If the file is marked as "content-disposition=attachment" in the HTTP
header, Internet Explorer treats the file name from the URL as final and
does not rename it before placing it in the cache.
A MIME type is ambiguous if it is "text/plain",
"application/octet-stream",
an empty string, or NULL (that is the server failed to provide it). A
MIME
type that is neither known or ambiguous is termed unknown.
Such unknown MIME types "text/plain", and "application/octet-stream" are
termed ambiguous because they generally do not provide clear indications
of
which application or CLSID should be associated as the content handler. A
MIME type inferred from any of the four possible sources can be
categorized
into one of these three classifications. Some of this about the number of
types is not clear, i havent read it all thoroughly. just skipping it
now.
Some part of this help file (link to: Known Mime types) says, If the
server-provided MIE type is either known or ambiguous (also unknown), the
buffer is c=scanned in an attempt to verify or obtain a MIME type from
the
actual content. If a positive match is found (one of the hard-coded tests
succeeded) this MIME type is immediately returned as the final
determination, overriding the server-provided MIME type (this type of
behavior is necessary to identigy a .gif file being sent as text/html).
During scanning, it is determined if the buffer is predominantly text or
binary.
If no positive match is obtained during the data scan, and if the
server-provided MIME type is known, an attempt is made to determine if the
format of the known MIME type conflicts with the format (text or binary)
that was determined from scanning the buffer. If no conflict exists (the
data scan indicates primarily text and the server-provided MIME type has a
text format, or the data scan indicates binary and the server-provided
MIME
type is a binary format), the server-provided MIME type is returned.
The format types for known MIME types are stored in a media information
structure in URL monikers.
If no positive match is obtained during the data scan, and the
server-provided MIME type is ambiguous or the server-provided MIME type is
known, and the data format agreement test in the previous step failed, an
attempt is made to parse a file extension from the file name passed in. If
this is successful, an attempt is made to find the MIME type associated
with
the file extension in the registry. This will be returned as the final
determination if the MIME type associated with the file extension is
unknown.
The reason for this added requirement is as follows: If the file extension
yields an ambiguous MIME type, this adds no information to what was
already
obtained through scanning the data.
If the file extension yields a known MIME type, this MIME type should have
been found during scanning. Because it was not found, it is suspect, and
is
rejected.
An example of this is an arbitrary plain-text file being returned through
an
ISAPI dynamic-link library (DLL), with the server returning 'text/plain'
as
the MIME type. Because the server-provided MIME type is ambiguous, a scan
of the data is conducted that only confirms that the data is plain text.
Subsequently, the file name is parsed for an extension. In this case,
because the contents were downloaded using an ISAPI DLL, the URL and hence
the cache file name will have a .dll file extension that has the MIME type
"application/x-msdownload" associated in the registry. This MIME type was
already scanned for (application/x-msdownload is a known MIME type), was
not
found, and is therefore the wrong determination (this results in a file
download as opposed to the desired behavior, which is to display the text
in-pane).
Database Connection Strings
On the issue of database connection strings the tutorials on the site
www.1planhost.com/sup****t/s_databaseconn.asp suggest the following
connectiong issues:
(1) Without using a DSN a Microsoft SQL Server 2000 connection string is
as
follows:
This is the global.asa file's connection string which is an SQLOLEDB
provider because this is an SQL Server 2000 connection string setup.
With DSN but in the global.asa file (recommended SQL connection string)
<% dbconn="Provider=SQLOLEDB.1;UID=user;Password=password;Initial
Catalog=DSNname;Data Source=IPaddressoftheSQLserver,****tNumber" %>
Without DSN, and using a Server.MapPath (access driver here, but may
perhaps
not matter)
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={Microsoft Access Driver (*.mdb)}; "
DSNtest=dsntest & "DBQ=" & Server.MapPath("/db/mydatabase.mdb")
Conn.Open DSNtest
%>
Note: Server.MapPath is the path from the WEb server root. By default,
with
IIS software (PWS) this is C:\Inetpub\Wwwroot\. Above the connection uses
Server.MapPath
The format for a Microsoft SQL Server 2000 Connection string:
OLE DB (does not involve a DSN connection with the tables)
<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.open "PROVIDER=SQLOLEDB;DATA
SOURCE=sqlservername;UID=username;PWD=password;DATABASE=mydatabasename "
%>
Test connection without DSN
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSNtest="DRIVER={SQL
Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabasename"
Conn.open DSNtest
%>
It is seen as in the above that the connection has a name that appears in
the third line:
Conn.open DSNtest
We see that above we have declared a variant "DSNtest" on the second line.
We have passed long string to be stored within the variant.
In the first line we declared a variant Conn and we set it to reference an
ADODB connection object which has been created with the call to
Server.CreateObject which returns a new ADODB connection object. Notice
the
syntax:
Server.CreateObject("ADODB.Connection")
The object which has been returned can be opened using a reference to it
as
follows:
'the adodb connection
Conn.open DSNtest
Try to elaborate and recheck what the discussion above has show.
(1) Using a DSN a Microsoft SQL Server 2000 connection string is as
follows:
This is the global.asa file's connection string which is an SQLOLEDB
provider because this is an SQL Server 2000 connection string setup.
With DSN (recommended SQL connection string)
<% dbconn="Provider=SQLOLEDB.1;UID=user;Password=password;Initial
Catalog=DSNname;Data Source=IPaddressoftheSQLserver,****tNumber" %>
Yet the other connection string above this one applies to an ADODB
connection which is for a database table use (or i think so). The dbconn
which I give here applies to the database connection to the initial
database
(Initial Catalog). I think this one is found within the global.asa file
on
a database enabled Web site.
When the dbconn is open to work with data, an ADODB connection can take
the
form of one which does use a DSN (just below) or the form of a connection
string whiich has been suggested as the above ADODB connection without
using
a DSN.
The format for a Microsoft SQL Server 2000 Connection string:
OLE DB (involves a DSN connection with the tables)
<%
Set cnn = Server.CreateObject("ADODB.Connection")
cnn.open "PROVIDER=SQLOLEDB;DATA
SOURCE=sqlservername;UID=username;PWD=password;DATABASE=mydatabasename "
%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.open "DSN=DSNname;UID=user;PWD=password;DATABASE=mydatabasename"
%>
And whatever you do, the connection has to be closed with the following
code:
VERY IM****TANT! Make sure to insert the following line where you want to
close the connection]
<% connectionToDatabase.Close
Set connectionToDatabase=Nothing %>
And that close.conn statemant is listed with the following which is for
opening a connection:
With DSN and No User ID / Password (recommented Access connection string)
<% Set connectionToDatabase=Server.CreateObject("ADODB.Connection")
connectionToDatabase.ConnectionTimeout=60
connectionToDatabase.Open"DSN=DSNname" %>
Superbase doesn't specify the SHARE mode if the file is opened with read
/
write access for everyone; insert the mode number using the Program
Editor.
It's not completely necessary as Superbase will assume SHARE ,0 where the
,0
is omitted. (It can be included as the text suggests for consistency.) p.
531 Superbase Revealed!.
If a Superbase Query or Re****t doesn't modify any records, in any of the
files, it will normally run unhindered by assuming the read-only access
mode.
How Access Options Affect Users (Superbase Revealed! p. 531)
SHARE Current User Other Users Described As
---------------------------------------------------------------------------
---------
0 Read/Write Read/Write SharedWrite
2 Read/Write Read-Only ExclusiveWrite
4 Read-Only Read/Write Shared Read
6 Read-Only Read-Only Exclusive Read
8 Exclusive No Access Exclusive Open
An xception to the unhindered running while in read-only access mode is
when, you have chosen the Enforce Data Consistency option. This option is
used to ensure that no records are modified while the re****t is running.
Therefore, none of the other users can be editing any records during the
re****t's run. Superbase will attempt to lock all records in the files
involved, even if the re****t uses only some of those records. If it can't
lock them all, then Superbase won't run the re****t.
If you look for this command:
SET QUERY LOCK ON
The above command is the SBL equivalent of the Enforce Data Consistency
option check box. Look for the command when reviewing procedures created
with the program recorder from QBE's, Quick Re****ts, or Custom Re****ts.
Network Commands in Procedures
It's a good idea always to record the complete cycle of opening the files
used in the re****t, running the re****t, and closing all of the files. By
doing this you ensure the files are always opened with the same access
privileges. If any of the required files are not available with the
privileges you require, Superbase will terminate the re****t. If you use
the
Program Recorder on a single-user version of Superbase, the open file
statements in the procedure won't include any file sharing commands.
A PRogram Recording may not include the file access options share code (
,0)
etc. See chart above.
It might record as follows:
OPEN FILE SHARE "C:\SBAPPS\BIGBUCKS\CUSTMAST.SBF"
Superbase will assume SHARE ,0 where the ,0 is omitted (it is included for
consistency by Dalgleish)
A Program Recorder procedure looks like:
SUB UPDMAST()
DIRECTORY "C:\SBAPPS\BIGBUCKS"
OPEN FILE SHARE ,0 "C:\SBAPPS\BIGBUCKS\CUSTMAST.SBF"
UPDATE BalanceForward.CUSTMAST = 0
WHERE CustNumber.CUSTMAST LIKE "A*"
END UPDATE
END SUB
Shared Write is the most common mode used in database applications. It
gives full rights to any user of a file. Superbase prevents conflicts by
locking any record selected for editing by a user. Once a specific record
in a file has been locked, other userc can view that record, but cannot
modify it.
If you select Auto-Update from the Shared Access Options dialog box when
you
open a file, Superbase will constantly poll all users, and will update any
records that have been changed since they were last accessed and
displayed.
The effect is quite interesting, but can slow down network processing.
It's
advised to test the feature on your application at a higher utilization
rate
(under load) before you commit to its ongoing use.
Minimum Access is in effect at all times after a file has been opened.
Once
a file is opened, its records can always be viewed by any user. That is
the
minimum privilege that every user on a network has. Accessing records for
edition or updating is another matter. If another user is editing or
updating a record you want to edit, you have to wait until that user
finishes. Once the other user stores the record, or abandons the record
by
moving on to another one, the record becomes available to anyone in the
newtork. At that time you can select and edit the record.
There is an extensive section about Record Locking, Pre-Locking etc. See
Dalgleish page 33. Network error handling is described in Chapter 13
Dalgleish, named Other Controls. that chapter discusses the use of the
Dialog Editor to create custom procedures for dialog boxes which can be
used
to work with the Superbase95 database management system.
In normal network operation, where Superbase is controlling file locking,
the lock information file is properly cleared out and closed when the
related file is closed. When your procedure controls individual record
handling, as in the example shown p. 534 Super Unleashed!, errors can
occur
during testing. In some cases the error prevents Superbase95 from
properly clearing and closing the .SB! lock file. Rebooting the computer
will cause Superbase to clear and to reselt the appropriate files when
it's
next loaded.
As far as finding network related information in Dalgleish Chapter 13,
there
is a late section which relates to record locking, named Forcing Superbase
to Close. "Whether because of an error or after the application closes,
you may want to prevent the user from having any further access to
Superbase. to do this, include the QUIT command in your terminating
function.
QUIT exist and closes Superbase95. Make sure all files have been properly
closed before issuing the instructions. Use the following as a guide:
CLOSE ALL:CLS:QUIT
For the most part, the solutions discuussed in chapter 13, will handle
errors and error trapping. It demonstrates ON ERROR GOTO command. The
SBL
programming language environment is available for customized programming
issues. Superbase95 has several commands that allow you to control files,
select specific records, and establish special locking needs. Refer to
the
SBL guide.
Handling Records with SBL
In this Chapter 7, of Superbase Advanced Workbook we consider opening a
file
(and the various file opening options available on a network). File
passwords are discussed. We close files. Methods of switching files,
indexes and recoreds in SBL are illustrated.
Also in Chapter 7, ways of selecting data are demonstrated. We discuss
inserting new records. We consider filters and their associated problems.
We examine filter optimization. We examine ways of selecting data in
other
files and indexes. And discuss methods of selecting records when
multi-file
forms are demonstrated.
Opening data files is discussed on page 240 Superbase Advanced workbook.
When a file is a file present in the current directory (the case of the
text
(lower case) is not significant Superbase tends to use upper case. On a
network the file would open with Exclusive Access premissions SHARE mode
8.
OPEN FILE "EMPLOYEE"
A pathname is specified this time
OPEN FILE "C:\SBADV\EMPLOYEE"
To open a dBase data file the file extension (*.dbf) must be specified
OPEN FILE "C:\DBASE\LOAN.DBF"
To use a network version of Superbase
OPEN FILE SHARE ,0 "EMPLOYEE"
THE ACCESS PERMISSIONS AGAIN ARE:
0 or 1 Read/Write Read/Write R/W - R/W
2 or 3 Read/Write Read-Only R/W - R/O
4 or 5 Read/Write Read/Write R/O - R/O
6 or 7 Read-Only Read-Only R/0 - R/0
8 Exclusive Access E
The use of either 0 or 1, is to maintain compatibility with previous
Superbase versions. 2 or 3 etc.
Testing for Open files with Superbase is accomplished with the OPEN()
function. It is a logical return value returning true (-1) or false (0):
page 243 Superbase Advanced Workbook
IF NOT
OPEN("EMPLOYEE") THEN
OPEN FILE "EMPLOYEE"
The command OPEN FILE will automatically make the file the current file,
in
the case that it is already open.
The command FILE would also make the filer the current file, in the case
that it is already open.
Dalgleish p. 539 state we have demonstrated through the book, that the
visual design layer, operating at the form control level, substantially
provides all that you need for most applications. Suyperbase also
provides
significant default controls at that level. In some cases, you can
supercede those controls with your own; using your own error traps is a
common example.
As you work with Superbase, you can begin to develop more sophisticated
procedures and to call them from various form objects: menus, icon bars,
command conntrols, and command control buttons. If you develop functions,
you might also call them from calculation controls on the form, or from
field calculation rules, defined during file definition (design time).
At some point you may need to put your application under SBL control, to
more effectively monitor and comntrol all aspects, including data entry,
retrieval, updating, and re****ting. Because SBL is event-driven, and
procedural language, you may want to install program controlled event
procedures that respond to events like external DDE requests, viewing
panel
selections, and mouse clicks.
You may need to set up timers so that specific procedures can be triggered
at set intervals. The description in Dalgleish, Chapter 17 is for these
purposes.
You should be familiar with the Program Editor. It is described inb
Chapter
14, Dalgleish. The current Chapter 17, is devoted to applications which
were designed visually. The idea is to consider the additions which could
be made to the visually designed application.
As for the Superbase Advanced Workbook and what it says about SBL, it says
SBL is Basically BASIC p. 20 Superbase Advanced Workbook. Chapter 2 of
the
Advanced Workbook introduces SBL and some programming concepts. There is
a
dicussion of SBL and its realtion****p to BASIC language programming. The
interactive menu Program menu is explained. The Program Editor is
introduced. Variables are introduced and their types are discussesd.
Thje
saving, restoring and erasing of variables are considered. Arrays and
pointer indirection arer introduced briefly.
At the simplest level. SBL allows tasks to be performed by programs These
programs can then be activated at any time from the menu Program.
However,
the real strength of SBL is displayed when it is used to combine everal
tasks so that the whole process of database management becomnes automated.
Forms and Re****ts, that take data from several files can be called up
automatically and manipulated by the user without any knowledge of the
file
structures and linking which is behind them. It is possible to generate a
suite of programs that can be distributed with Superbase Runtime as
complete
"stand alone" applications.
You can produce customized pushbutton and menu-driven applications for
which
the standard Superbase interface is replaced with one designed
specifically
for the application in question.
Basically BASIC
Superbase BASIC gives you access to all of the user facilities of
Superbase,
plus direct access to a large number of Windows functions and additional
commands which are useful in application design.
Applicatons are created most often using the Superbase visual design
tools,
i.e., Re****t Designer, Form Designer, Macro Recorder,Menu Editor, and Icon
Bar Editor. At times t is useful to create simple programs using SBL, and
some advanced programmers use SBL extensively.
It might be useful to consider VBA (Visual Basic for Applications) to be
along the lines of Superbase BASIC, as this study procedes. There is
every
indication that such modifications to a visually based application
designed
on a GUI, would be equivalent in terms applications that use VBA to
accomplish the same things. Microsoft's Access, and Excel might be in the
same category.
Chapter 12 of the Superbase Advanced Workbook is titled Forms and SBL.
Chapter 6 p. 208 of the Superbase Advanced Workbook is titled Dialogs -
Files and Directories. The chapter discusses various dialog boxes which
are
useful for manipulating the application while it is running.
Elements of SBL p. 21 the Superbase Advanced Workbook
Basic Commands
Windows Library functions
Superbase Library Functions
Creating SBL Programs Automatically
What can you do with SBL?
In principle, a Superbase programmer p. 21 the Superbase Advanced
Workbook,
can access any of the built-in features of Windows (called library
functions) using Superbase's Dynamic Link Library capabilities; In
practice
this can be quite technical work and most users will not want to try it.
For this reqson SBL provides direct access to many of the useful features
of
Windows facilities such as dialogs, window positioning, creation of menus,
etc. via BASIC-like SBL commands.
SBL also provides a full set of standard BASIC commands. It is compatible
with the earlier versions of Microsoft BASIC - MSBASIC, GWBASIC, and the
original QuickBasic. Many programs written in BASIC would transfer to SBL
with no difficulty.
SBL Control is related to the performance of Superbase applications which
would be run outside of the full version, of the Superbase IDE, such as
using the runtime version of Superbase. The full version monitors all of
the activities of an application (opening a form, viewing records, and
displaying rerror messages). the runtime version does not have a similar
wait state and therefore the windows tend to close after the application
processes are performed.
SBL provides commands that allow us to have direct control over the wait
state, as well as errors, and errror traps. Errors are covered in another
chapter of Dalgleish.
Procedures and The Program Editor (p 459 Dalgleish)
The Program Editor is used to prepare SBL programs and to edit procedures
generated by the Program Recorder.
The Program Editor can nhold more than one program file in memory at one
time. To Open the Program Editor select menu Program / Edit.
The Program Recorded is useful for creating the initial program structure.
An example of something might be as below:
SUB
CALL
END SUB
SUB CLROPEN():REM
DIRECTORY
OPEN FILE
VIEW : :REM Menu:
REM UpdateData
see page 460 to continue
Creating Procedures for Common Application Components
Using Superbase95 you can ex****t a file as a tab or comma delimited ASCII
file, then im****t it into your spreadsheet (p. p505-511 Superbase
Revealed!). Superbase95 can only act as a host for OLE purposes, it can
not
be a source (p.510 Superbase Revealed!). It says if the object is linked,
it can be altered outside of the host application's control. A host seems
to be related to the idea of a dedicated server. If the copy is embedded,
a
copy of the object is placed in the host and can not be accessed or
altered
except by the host becauses the embedded file is, in that case connected
to
a copy of the application which created it.
A COM server is a binary file that contains the method code for one or
more
COM cl*****. It looks as if Superbase95 provides the facility for each
external field to receive instructions as if it were a method, of an
object.
I thought it would compare it is a vague general reference. Because
Superbase95 uses files records, embedded objects are not stored in the
same
way that they are in a Word for Windows do***ent. There are two parts to
an
OLE link or embed using Superbase95.
With Superbase95, you provide an external file field that will hold the
reference information to a linked or embedded object. Here this
demonstration assumes that there is only a single external field. If
there
is more than one, select the field as the procedure will choose the first
by
default.
An external file field in the Superbase95 record holds a reference number
to
the embeded object.
The actual object is stored in a file with the same name, but with the
extension .SBO The number in the external file field points to an object
stored in this file. (The file field definition must have a size of at
least 14 characters data type is external).
The main idea behind OLE has alot to do with the idea of multi-tasking.
Before a time when computer memory was plentiful, and before the time of
the
virtual memory table, OLE was use as a maens to work with two applications
at the same time, to deliver method of combining/enhancing a produced
do***ent. Superbase95 is an ideal applicaton to use as an office engine.
It can perform as a data source and retrieval, and as a data analysis
application. Superbase95 can exchange Superbase95 information with other
task-specific applicatons such as Excel when that is necessary.
To provide an OLE link or to embed an existing object:
Copy the applicaton from the source file to the Clipboard. (place the
cursor into the correct external data field for the embedded object)
Select menu Edit/Paste Special
Select from the Paste Special dialog box, the object reference and click
on
[Paste Link]. Superbase95 places an OLE reference number in the external
file field.
Choose menu Data/Save which is necessary to avaid deleting the object when
you leave the record.
Superbase Revealed! p. 512 provides some do***ent object model related
references OLEDo***ent.MEMOS:FORM
It looks to me that the embed of an object, is related to a object link.
which is to say that linking, and embedding seem to be terms which are
functionally equivalent in Superbase95. As it says above, Superbase is
able
to perform as a host which means that it doesn't work on objects, it
serves
them. I will look up the types of objects it can serve. It says if the
object is linked, it can be altered outside of the host application's
control. If the copy is embedded, a copy of the object is placed in the
host and can not be accessed or altered except by the host. In the
linked
object case, the host reads the revised version, at the next occasion that
the host accesses the object.
A Supersteps help file for Embedding a New Object explains that, any
Superbase database file can be used to embed or link an object using any
field with data type External. Open the Superbase file, including the
External field. Choose the record (current record) make it current. Then
(1) Choose menu Edit/Insert Embedded Object. (2) In the Insert Embedded
Object dialog box, select the type for the object you want to create. OK
(3) In the Server application, create the object. (4) Exit the Server
application to return to Superbase. (the server is matched with a client
(Superbase95); a host (Superbase95) matched with a source). It explains
the
paired relation****p not the alternate meanings of such words.. If the
Server application asks you to confirm updating the Superbase file into
which you want to embed the object, click Yes. (5) Superbase inserts text
into the External field to identify the object; this is called the OLE
reference.
Note: above there is a set of steps for the embed procedure when an
existing
object is being embedded. A new object is performed in the procedure just
discussed above.
OLE was designed to allow Microsoft Windows platform applications to
cooperate by linking and embedding the copies of files, or the
applications
commands together.
I wil edit this after reading it
"Robert Maas, see http://tinyurl.com/uh3t"
<rem642b@[EMAIL PROTECTED]
> wrote in
message news:rem-2007dec05-001@[EMAIL PROTECTED]
> > From: "WALLYWORLD" <ran...@[EMAIL PROTECTED]
>
> > CGI is just programming with some special types of input and a
> > few strict rules on program output. Everything in between is
> > just programming.
>
> I disagree. CGI forces a completely different kind of program
> management from other kinds of programming (such as "main" program
> calling subroutines, GUI event-driven, or distributed actors
> exchanging messages). The application is dominated by the need to
> process the form contents (and optionally cookies) to re-establish
> the program state for picking up where it previously left off, and
> then for somehow saving the program state after transmitting the
> next user form before closing the process. Some applications can be
> completed in a single CGI transaction, submit form and get results
> and you're all done, no state needs to be saved after a
> transaction. But that's only a special case, such as a Google
> search. Consider instead multi-transaction applications such as
> Web-based e-mail
> (log in, browse folders, view messages, compose and then send
> outgoing messages, move messages between folders, log out),
> or computer-assisted instruction
> (log in, choose topic, see mini-tutorial and question, answer
> question, read discussion of your answer, move on to next
> question likewise, log out),
> or online store
> (log in, browse merchandise categories, read merchandise
> descriptions, logically put instances of items in virtual
> shopping cart, present credit card or PayPal card at checkout),
> etc. Imagine how different such a program would be organized for
> CGI (or JSP etc.), compared to event-driven GUI on a single
> machine, or "main" program calling a command loop. The "business
> logic" might be the same in all three cases, but the overall
> program organization would be grossly different.
>
> > CGI changes the Web from just a simple collection of static
> > hypermedia do***ents (html) into a whole new interactive medium,
> > in which users can ask questions and run applications.
>
> Nicely written, although the present tense of it would apply circa
> 1992 or thereabouts. Couldn't you have used past tense?
>
> > Choose an HTML Editor
>
> Who *needs* an HTMP editor? A regular text editor is good enough.
>
> > When Should You Create a Database Driven Web Site?
>
> Well, to a large degree it depends on whether a relational database
> is even available where you are doing your CGI programming.
> I don't know of any free Web hosting services that provide it.
> (For example, 5gbfree provides MySQL, but only for PHP, not for CGI.)
>
> > In a way, CGI is as easy as using simple recipes.
>
> I think that statement is a bit misleading.
>
>
> --
> Nobody in their right mind likes spammers, nor their automated
assistants.
> To gain access to this site, you must demonstrate you're not one of
them.
> Please spend a few seconds to try to read the text-picture in this box:
> /--------------------------------------------------------------\
> | /|,_ | _ |-|_. _ . _ /`|_ . _|-,_ _ |
> | /-|||(| _\() |_|||_\ |_\ \,|||`|_\|_|||(|_\, |
> | |
> | /|,_ | |_ |- | _ | _ |~) |
> | /-|||(| LL|||(||_ (|() LL|(/_ (||`(/_(|(|| |
> | |
> | /|,_ |-|_ _ _ _| _ _ |
> | /-|||()|_||(/_|` \/(/_(||` (_|()_\(/_|`, |
> | / |
> | ~|~ |_ _ ,_ _ ,|| | _ | _ | |
> | | () LL|||(/_|| LL|(/_ || |)(/_ (|(/_(|(|. |
> \-(Rendered by means of <http://www.schnoggo.com/figlet.html>)-/
>
> Then enter your best guess of the text (80-100 chars) into this
TextArea:
> +-----------------------------------------------------------------+
> | |
> | |
> +-----------------------------------------------------------------+


|