Re: create html from flat file



lxy one wrote:
On 6 Jun, 18:06, Jerry Stuckle <jstuck...@xxxxxxxxxxxxx> wrote:
lxy one wrote:
On 6 Jun, 11:39, Jerry Stuckle <jstuck...@xxxxxxxxxxxxx> wrote:
lxy one wrote:
On 6 Jun, 03:30, Jerry Stuckle <jstuck...@xxxxxxxxxxxxx> wrote:
lxy...@xxxxxxxxxxxxxx wrote:
Using a flat file containing table names, fields, values whats the
best way of creating html pages?
I want control over the html pages ie
1. layout
2. what data to show
3. what controls to show - text boxes, input boxes, buttons,
hyperlinks ie the usual.
The data is not obtained directly from a database.
I was thinking maybe the flat file could use xml. And maybe this flat
file could be generated using :
1. the database data and
2. a template file to indicate the controls that should appear on each
html page.
Maybe there could be existing html pages that could be used in the
generation of the required final html pages ie maybe they could
contain static data - such as layout, headings and tags as to where
fields, controls need to be placed.
Searching on this is difficult as the key words are too common :
create, html, xml, dynamic, template etc results in million+ hits.
If you're going to go to all that trouble, why not just create the html
page from the flat file and store it as a static page? Then when the
flat file changes, regenerate the html.
Much simpler (and server-friendly) than recreating the same page on
every request.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@xxxxxxxxxxxxx
==================
Hi Jerry,
But thats exactly what I want to do.
1. Create a flat file that will contain
-a) tables/fields+data values
-b) web page(form) details ie the fields/controls to appear on each
web page.
2. Generate the (static) web pages from the flat file.
3. If flat file is updated then update web pages.
OK, I understand better now.
So the issues are :
1. flat file - what format should this be in - xml ?
The simple answer is - whatever form suits you best. I've seen xml
files, csv files, php code and even just plain text. It all depends on
the data and what's easiest for you.
I would think that since your file needs to contain tables/fields and
data, xml might be easiest to parse and maintain. But that's probably
because I've worked with xml a fair amount. But if you haven't, another
form (such as csv) might be easier.
2. How to generate the (static) web pages (forms) from the flat file
bearing in mind that I would like to control over what web pages +
tables/fields/data + controls are created.
Well, you'll have to read the file then display all of the information
on a web page. Then select the information you wish to display.
Finally, generate the page.
But maybe this is to difficult. Maybe it would be easier to have the
static web pages I want already created. The pages could have tags to
indicate where fields + controls (if available in the flat file)
should go.
You're now talking about a templating system, which is very popular.
The nice thing about it is it takes a lot of the "grunt work" out of the
code required to generate the page. It also separates the rest of the
page from the actual data being displayed, making it easier to maintain.
I would have thought something flexible like this : generating static
web pages using data/controls from a flat file : had already been done
but I've not found anything yet.
I've used it before, when the data doesn't change very often. It can be
very effective on high usage sites. For lower usage sites and data
which changes fairly regularly, I just generate the pages dynamically on
request.
And I think you'll find most of the systems use a database instead of a
flat file. It makes things a lot easier - the database manages the data
for you, so you don't have to do as much in your code. Simple SQL
requests are not that hard to learn, and if you're going to be serious
about web development, they're pretty much a requirement nowadays. SQL
is just too powerful to ignore.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@xxxxxxxxxxxxx
==================
Hi Jerry,
Can you point me code examples please as I'm new to this.
As to why a flat file instead of a DB - the idea for the flat file was
that it would combine both table data and form data to allow the
generation of each web page.
Unfortunately, that's very difficult. Every system I've done like this
has been a custom system - with widely varying differences in amount of
code and difficulty. Every database has been different, also.

My suggestion would be to use google to find some simple templating
systems and see how they do it. There are a bunch out there.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@xxxxxxxxxxxxx
==================

Jerry, David,

I think I've not been clear on what I'm after and I guess that's
because I'm still pondering the problem.

1. Although tables/fields may vary, the creation of the static web
pages would be a one off ie once up and running no changes would be
expected. The reason for working this way, generating web pages, is to
cater for having different tables/fields and web page specifications.
So instead of having sets of static web pages to create/maintain you
can just create a new set by modifying a flat file. I cannot help
thinking that this must have been done.

This really can't be done. You can create templates for common stuff like headers and footers. But the main content of each page is typically different and requires different HTML. Otherwise every page on the web would look the same.

As I said before - there are a bunch of templating systems out there - but even with the best, you still need to create the content for each page.

For instance - your home page should describe your company/organization, what you do, etc. It probably won't have any tables in it. But a page from your catalog will have to list one or more products and will look different. And a page comparing similar products will look different yet.

2. Also misleadingly in a subsequently post I made a boo-boo in
indicating data values would be included in the flat file - not true,
the form would request this.

OK, so you're talking about a template based on text files. But the same rules above apply.


3. I thought the tricky bit would be creating the flat file ie
retrieving DB tables/fields and combining these with web page
specifications (optional/mandatory fields, controls, images etc). This
really is the crux. You would have to know what tables/fields to
expect. If a web page has a mandatory field specified and the field is
not one of those retrieved from the DB then maybe that's an abort.
Whereas if it's optional then we can go ahead and create the flat
file.


Yes, and that will be different for each page. Additionally, how you display that data will often be different for each page, as noted above.

As for 1. above I will search on : simple templating systems. Thanks.


There are ways to make things easier. But there is no way to make everything the same, unless all of the pages look the same.

You could create a templating system where you have an admin page and fill in the blanks with the database information. But it still really restricts you on how that data is going to be displayed. The other option would be to store the HTML in the database also - but that means your data is only good for the website itself. If later you wanted to do something like create an RSS feed of your catalog, the data in the database would be virtually worthless unless you did some really complicated cleaning of it.

I'm not saying it's not a good idea. But not all good ideas can be translated into workable ones.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@xxxxxxxxxxxxx
==================

.


Quantcast