A2B Site : Generator / Template - start your project faster!

A2B Site is a web site template (or site generator) for a web site/app including navigation, skinning, I8N, DB setup, login, and an admin section with user administration, settings, and a page editor. A foundation to build your web based apps on.

About

A2B Site (pronounced "a to-be site") makes it easier to create new sites/apps from scratch. It uses standard PHP, HTML, CSS, JS and has no dependencies to third-parties.

This software comes as a fully working basic web site. It has basic navigation, I8N, templating/skinning, DB connectivity, 404 page, and initial/default configuration, so that you do not have to create all that from scratch.

Two editions

The software comes in two editions:

  1. One that does not require a database,

    (currently this is called "Edition 1" and has a number one at the start of the version name)

  2. One with a database, login, settings, user administration, and a page editor

    (currently this is called "Edition 2" and has a number two at the start of the version name)

Get productive faster

This is made for developers. Using this software you can get productive faster.

Currently the software is aimed at smaller in-house "project sites", eg apps, product sites, games and promotions, information sites, intranets, presentation sites, etc. Sites with a single-level hierarchy, typically. It is not aimed at sites with many levels and thousands of pages like portals, platforms, etc.

It is created so that it will also act nicely if used as a "plug-in site" on a larger site, eg as a special "feature" section.

Of course you may also just use the software as a basic intranet web site/CMS. It was not made for that purpose but it will do the job and it's flexible so that you can change whatever you like, eventually. With Edition 2 you don't even have to be a developer to get some pages published, although a little HTML knowledge will help.

Edition 1 may work nicely as a static site on the WWW, but Edition 2 is not entirely suited for WWW use out-of-the-box, at least not for applications that may be considered "critical" or that include sensitive information.

If you plan to use any Edition or version of this software "online" you will have to update it to follow current security best practices (or, at least to meet the security the level you require). You will still get productive faster than if starting from scratch.

The basic idea

You may compare it to a foundation for a house with fixtures mounted for HVAC, plumbing, and electricity; you still have to build the house but the base is pretty much there. Some relatively sane choices have been made in order to enable as much flexibility as possible while not letting anything get too much in the way - it's all about minimizing setup hassle.

Documentation

The documentation is lightweight as this software is intended for use by developers with some coding experience. Hence you are expected to be able to read and understand the code. It is standard procedural PHP, it is well formatted, and each function has a description of what it does attached (usually also hints in the shape of code comments.)

Still, some things need to be explained, so: First, read this page. Then, consult the README file.

Requirements

This software is made for web developers, not end users. You are expected to have programming skills to use this software. Also, you are expected to make edits and modifications to it, not to use it as it is.

Dependencies

This software does NOT depend on or include "frameworks" or third party includes of any kind. No jQuery, no Angular, no Google fonts or analytics, no Facebook, no cloud services, nothing of that sort. This software does not even require an internet connection to work.

For Edition 1, the software does not require a database either. Still, the software includes a full set of database connectivity functions - just configure and go.

For Edition 2, the software requires a SQL type database and it comes with a few handy pre-configured database tables in a "*.sql" file ready for import.

Security

This software was initially developed for projects that would run in a protected environment without exposure to the WWW. Edition 1 may still work nicely as a static site on the WWW, but Edition 2 has a login and forms that may receive end-user input, so that version should be hardened somewhat if you plan to use it in a non-controlled environment such as the WWW.

If you plan to use this software "online" you will have to update it to follow current security best practices (or, at least to meet the security level you require).

This software provides a basic set of elements that enables you to get productive faster. It does not do all your work for you.

Try it

Oh well... you will benefit more by simply downloading the zip file and then checking the code out in your favourite editor, perhaps by building a small off-line site just to get a feel for it. But still:

It is all very basic, which is exactly as it should be. Because you will not want to start by removing features that you do not really need. This is all about getting up to speed quickly.

Please note that the generated HTML source code is valid and well-formatted too.

Download

Please choose:

Getting Started

Download the zip file. Then unzip the files to a web folder/workspace, launch your editor and you are doing productive work already.

Of course you'll have to study the code a little the first couple of times in order to get familiar with it, but it is really not complicated. There's even a README file with extra information.

License

All download, use, and modification of this software is subject to the W?F! license. By downloading, using, or modifying this software you declare your acceptance of all license terms.

Install and uninstall

Install

  1. Download and unzip the download,
  2. Upload it to a web server (localhost will do nicely for starters)
    • Edition 2 users will need to set up a database also - just import the provided "*.sql" file into the empty DB, and create a DB user. It's easy.
  3. Start up your favourite editor or IDE and get productive instantly.

Uninstall

  1. To uninstall the software, just delete the software files. It's easy.

Versions

The software has two separate editions with separate version numbers. So far the terminology is "Edition 1" vs "Edition 2". These two editions are made for different purposes.

Current version

Version history

"Edition 1" branch "Edition 2" branch
Version 1.0.0.7 (2022-01-18)
- maintenance release
Version 1.0.0.6 (2022-01-05)
- maintenance release
Version 1.0.0.5 (2021-12-07)
- identical to "0.0.5" (rename)
- maintenance release
Version 0.0.4 (2021-11-21)
- large maintenance release
- most files and functions updated
Version 0.0.3 (2021-11-11)
- maintenance release
Version 0.0.2 (2021-08-21)
- simplified new page creation process, new logic for 404 and navigation, plus a few items more
Version 0.0.1 (2021-08-07)
- maintenance release
- the first publicly available release
Version 2.0.0.9 (2022-01-18)
- maintenance release
Version 2.0.0.8 (2022-01-05)
- maintenance release
Version 2.0.0.7 (2021-12-21)
- maintenance release
Version 2.0.0.6 (not published)
- simple page editor, and settings page
Version 2.0.0.5 (not published)
- database setup, user management, roles, and login
Version 2.0.0.4 (not published)
- split from version 0.0.4
- admin interface started
* A "maintenance release" is a release that improves how the software works: code reordering, variable renaming, sanitizing, new logic, bugfix, documentation, etc.

Note: The dates in the table are release dates. These are later dates than the version completion date and they may also be a bit earlier than the publishing date.

Why so low numbers?

The version numbers are "release" version numbers, not development version numbers. So, the number is by choice, not by number of code iterations.

A very low number was chosen on purpose to signal that this software is the basic foundation for an app (your app), and you must build your app on top of this.

This may change: The best format for version numbering has not yet been decided.