Not Implemented

This feature is not yet implemented. The development has not even started.

See a complete list of features sorted by Snap! Websites Development Status

Looking at the many of out assumptions in our code, it is pretty clear that synchronization on your network is crusial.

To make it as easy as possible for administrators to manage their entire network, we want to have one specific plugin that allows for proper synchronization. Here what we need is the same time on all clocks of all the computers in the network.

This is particularly important when dealing with permissions since removing a permission needs to happen, no matter what. This could fail, though, if the clocks on various computers on your network are not properly synchronized.

Note ...


The system has to include a way to work on images. Although users could do that on their computer with a tool such as MS-Paint, The Gimp, or Photoshop, most people do not take the time to do that. So an image editor online is more likely to be used for multiple reasons:

  • The image editor can be used to create a set of instructions to re-apply to any number of images; the Core system and themes can offer many such set of instructions by default;
  • Often the only few things to be applied are resizing, flips, and rotations and it takes a longer time to upload a full ...

Firefox has an AddOn called Reader.

This extension allows viewers to remove all the "crap" from a website and only read the substantial content of a website. For example, the columns on the right, the header and footer, advertising will all be dropped by the AddOn.

The concept should be implemented in our service where we can click a link somewhere to see how such a aread (and certainly a Search Engine) would see the page: plain an simple title / text.

This should help themers dramatically improve on using the correct tags to define the user's content. Also at some point we ...

Training Matrix

Many companies want to have a way to train their staff. It can be difficult to track down who trained on what document.

The training matrix implementation gives an administrator a way to create training documents on their website (i.e. training pages). Then the training matrix plugin tracks which employee trained on which document on what date.

By default we assume that the page itself is the document, although the training matrix implementation allows for attachments to be created. In that case we can at least force the employee to download the document to make sure they have a copy ...

Name Server Plugin

Setup Domain Name

As we want to offer a system where people can create their own website, we also need to offer them a very easy way to setup their own domain name for their website.

This requires a dynamic name server such as bind9 with the nsupdate tool.

Note that first, we can create a new website using a sub-domain name from a main domain used to run the system as a whole (as you see in many blog services). However, even that requires a dynamic DNS.

nsupdate can be used by one of our backend to do that part of the setup. We certainly want to make use of a specific plugin to do the ...

Widget: Code [feature]

We want to have an easy way to write code in a page.

The idea is to offer a way to embedded an area where the user can write code and also to offer the ability to prettify the code using something like Geshi or Google Code Prettify.

The widget should offer the user to select the language being used to write the code with a dropdown and a checkmark to determine whether the prettifier should add line numbers.

Media feature

Although we want to include similar features mainly in the Editor feature [core], it is probably easier if the Media support is presented as a separate feature to make it clearer in the documentation.


The editor should be capable to make use of the HTML 5 extension and allow video and audio directly in a website. However, this may not always be a good option for you in case you do not want (do not have) to offer the type of bandwidth that such requires you to have to provide videos and sound tracks directly on your websites.

The HTML canvas will be used to offer the Image Editor feature [core].


Right now, each plugin infers a certain number of defaults for its settings and also it installs various defaults in the database when it makes it easier to deal with the values that way.

This creates a default Snap! installation template which does not automatically serve a user well because the resulting website is likely going to look quite raw.

The Snap! library and several of the core plugins offer a mechanism to make the installation of all the other plugins data a breeze. That data is expected to be defined in a content.xml file which is loaded the first time the plugin is loaded and ...

Multi-page scrolling

While some websites create a way to break down large content to appear on multiple HTML pages (mainly to increase the number of hits and thus amount of advertising they can send the user), newer websites use newer available technology that does the opposite.

As you scroll down the page, the next page (article, blog post...) gets loaded and presented to you on the exact same page. This works using AJAX to load the next page content. When you actually reach that page (scroll down enough) the script changes the URI in the location bar using the new history mechanism available since 2008 or 2009. ...

As we work on the implementation of Snap! we have many entries in our reference that are directly in link with making the website perfect in terms of search engine optimization.

For example, supporting as many meta tags (see Meta Tags and Links supported by Core) as possible allows you to properly and fully define your content and making it easier for search engines to quickly index your page as you would expect.

See also: Meta Tags and Links supported by Core

See also: Contents Statistics feature (including 3rd parties such as Google Page Rank)

See also: Express Support for Firefox Reader addon (what a search engine is likely to see)


The following is an ...

Syndicate content Syndicate content

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

Contact Us Directly