Basic Concept

Web Framework is a collaboration of several servers, various programs and a custom developed software which is designed to automatically compile a web page, based on various elements stored on the server: in a database, web-application's cache memory, files, etc. Multiple pages under the same domain name are compiled to work together, which is safe to say, that the Web Framework is a system that automatically, dynamically and interactively generates the entire web site.

Since the framework takes care of building the web site, You - as the owner or web master of the web site have to take care of the content, by simply filling in appropriate fields of several forms.

Technically, that's all there is. With in exception of images and possible some other files, such as PDF files, audio, video, flash files, JavaScript files and Java Applets, everything else could be (and in most cases should be stored in the database), such as all the HTML and CSS content. For the convenience, it is possible to include external CSS file(s), but the Framework gives you the ability to compile CSS files "on the fly" as well, which means you can have different styles of the same class based on the content of a page.

All other files could be uploaded via FTP server or by using our File Uploading component.

The 4 main reasons for using the framework are the following:

You don't have to dig into HTML and alter files anytime you need to make a change on the web site.

If you need to build a web site with more than one page, then framework will save your time, by doing the repetitive tasks of web development for you.

If the layout designed properly, then the framework can generate lots of other files and elements of a page to enhance search engine visibility, to make the web site Search Engine Optimized.

Dynamically Generated Pages

In order to build a web page dynamically, the page layout should be designed appropriately. There are several rules, which you must follow, otherwise the framework would not be able to compile the page properly. Technically speaking, the frame work doesn't care how your layout is designed and it will build whatever it can, but if the layout has not been designed properly, then the end result may not look the way it was suppose to.

Before going through the list of requirements, we need to understand clearly, what the framework can do for us and how it will do it.

The concept behind of building a framework-based page is very simple. Most of the time web pages under the same domain look very similar. It is always a good designing manners to have the consistency between different pages under the same web site, so that the user would feel comfortable navigating through the site. And of course the navigation should be clearly visible and easy accessible. The best way to design a web site, is by having all links to all pages on every page at all times. If a web site is going to have no more than 10-15 pages, then that rule could be easily accomplished. It is always recommended to stay away from drop-down or expandable links. Why would you want to hide a link from a user, unless he or she would click somewhere or move the mouse over something? That would only make cense if you are going to have 30 or more pages, and there's simply no room for all those links on every page. Otherwise, don't hide the links. Show them! But if you must use drop-down or roll-over or expandable buttons, links or menus, then the framework have tools to help you with that as well.

Web Page Layout

As we established earlier, it is a good practice to keep the similar look of different pages under the same domain name. In order to do that, we have to build a single web page using your favorite tools. Whether it is a DreamWeaver, FrontPage, Microsoft Word or even a notepad, we don't care, since the end result should be an HTML page as a text file.

Then we need to identify the location of the body of the page. To do that, we need to split a page onto several parts, and we figured that the minimum number of pieces that any page could be split on, is number 3. It doesn't matter how sophisticated your design is. Almost any page on the internet could be split onto 3 parts. The body, which is typically keep changing from page to page would make the piece number 2. Everything on the left side or above that is number 1, and everything on the right side or below the body is number 3.

Now we have identified the content of our page as The Header - piece #1, The Body - piece #2, and The Footer - piece #3.

The next step would be to fill in appropriate fields of the framework with the HTML content of those 3 pieces and that's almost it. Now if we will replace the body with another content, then by compiling that new content with the same header and the footer we will get another page which suppose to look similar as the previous one. That's the basic idea behind generating web pages by our framework.

That will generate the content of HTML page which would go into the BODY section of a standard HTML page. But besides the BODY there's also the HEAD section, which suppose to consist another content, such as reference to JavaScript and/or CSS files, keyword and description meta tags, page title, character-set and language specifier, etc.

This content (of the HEAD section) is also dynamically build, so you don't have to do anything unless you need to specify the reference of JavaScript or CSS files or you need to include the content of JavaScript script, or something else that suppose to go to the HEAD section. The framework have a place were you can enter such information. Keep in mind that once you enter such information it will be placed on every single web page under the same domain name, so you need to make sure that, that information is truly universal through the entire web site. As we mentioned earlier, there's also possibility to include an individual CSS files on different pages based on the content of that page.

Building Dynamic Navigation

A part of our framework is designed in such way, so that the web site owner or anyone else who is not suppose to know HTML should be able to modify some content of web pages, create new pages, modify menu, buttons and other navigation elements.

In order to accomplish that, the framework has to be able to build the navigation buttons or menu items - dynamically. To solve this task we have created The Interactive Menu Builder.

We did not wanted to go through the hassle of generating images, so the easiest way to do that is by using textual only links. With the help of CSS these days, you can dress up any link beyond recognition and create very attractive buttons. You can have actual image of a button on the background and display the caption of that button as a plain text. There's lots of way you can create buttons but still using plain text as the button title. We need to use this method, so that the text can be easily changed if necessary. Plus if those buttons are designed appropriately, then it may be possible to add new button or remove existing one. It's just a matter of designing them in such way, so that the layout of the page around those buttons would allow the content to be changed without creating an empty spots or overloading reserved space.

Of course, if there are certain number of pages that will never be changed, then you can use regular image buttons to point there, and just forget about the interactive menu builder, but if you want to preserve the ability to add more pages and add or modify links on all pages, then you should create textual links or buttons or menus, using the rules of Interactive Menu Builder.