Development Status Not Applicable

Some pages in the book are details about a feature or combination of features. This special status is used for those pages since they are not expected to have a status per se.

See a complete list of features sorted by Snap! Websites Development Status (note that not applicable pages are not shown in that list.)

Some people may have an old system that uses a certain number of paths. Say you have an existing static website that is 1,000 pages. Converting it to the new system would take a while and is not a necessity. Instead, you use the new system with a sub-folder in your URL:

Here the snapwebsite participates in the website selection (see Website Selector and URL Basics).

Root Problems

There is one huge drawback with this technique: all the files found at the root of a website will still be found at that root. This includes files such as ...

Sub-domain support

Sub-Domain Support

As mentioned on our previous page, it is possible to make use of sub-domains.

For example, you can use a language sub-domain as in

We will support different kind of sub-domains to allow for different website setup.

Website Selectors

By default sub-domains are used in the website selection process (see the URL Basics page for detailed information on selecting a website.)

Data Selectors

The language example is called a selector. It allows you to select a different set of data within the same website. Some of the parts defined in the ...

Protocol Support

We support the HTTP and HTTPS protocols.

At our level, both protocol very look the same since Apache takes care of all the necessary encryption mechanism.

However, there is one flag that tells us whether we are working in secure or non-secure mode and we want to use that flag for the following reasons:

  1. When the user registers, logs in, cart, payments and any other form that is considered private (i.e. not the search form, not a simple poll form...)
  2. When accessed from another website (Facebook pages and alike)

The Core system will be capable of automatically switching between ...


C++ Direct Dependencies


Note: We are moving to using Qt a lot more than boost. Qt offers many of the boost features and it handles XML, XSLT, and a few other things that we're using for Snap! (libQtCassandra, libQtSerialization, etc.)

The boost library is full of goodies. We use it for all sorts of things although we try to limit ourselves to the basics such as shared pointers1

  • 1. Note that we will not be using the boost shared pointers much since Qt offers a similar object and we are switching to Qt instead. Also we could use the standard library shared pointers ...


The following includes highly technical documentation informations. This is for developers, not end users. (At this point we do not have a user documentation since the product doesn't exist yet.)

We now have started to really work hard on the development and offer a page with the current development status of Snap! C++.

Snap! Websites
An Open Source CMS System in C++

Contact Us Directly