Define a specific feature that deals with one small aspect of a website (i.e. links, comments, forums, etc.)

Although only Internet Explorer offers support for P3P, it is certainly a good idea to look into it and offer a plugin that generates P3P HTTP/HTML headers and the p3p XML file.

OASIS and IETF also offer different schemes in that regard and having support for those is certainly a good idea.

We need to see whether it is possible to offer privacy information that explain that a 3rd party is keeping the data (i.e. m2osw.com) concerning things such as IP address, and Cookies, whereas site owners can generally only see more human data.

Technical Reference: Platform for Privacy Preferences (P3P) ...

Auto-sharing your posts

The system has to support a set of Social Media features. Especially, it is expected to support sending information about new posts to Facebook, Twitter, Google+, and other prominent social media websites.

We want to look into a way to allow the user to send (or not) a page to a given social media website. One way to do so is to link a page with a social media tag such as "Facebook" and "Twitter". If link to such, then it should be posted on that social media site. This can be done in such a way that the new tweet happens at a given time in the ...

Print feature

This is more of a placeholder to find the location where I mention the print capability of Snap! C++.

The idea is simple: remove all the bells and whistles so one can print a page on white paper. This means a plain white background and in general black text. (We may even want to offer a black and white version.)

We could also add specific counters that are shown to website owners that tell them how many times users went to the print version (this does not mean they printed the page, but at least that they visited it.)

One important aspect of a print page: it is often saved for record. For ...

e-Commerce feature

One of the features has to be a cart and a checkout process to support a full e-Commerce implementation.

We want to support a full AJAX based e-Commerce cart. This means we want to be able to quickly browse products (without having to reload an entire page) and add them to our cart right there on the page (a la Order Made).

The browsing will be AJAX accessing the server for the next products. It should include all sorts of information such as stock left and reductions on quantity, bundles, etc.

The cart itself can be saved in a cookie until the user goes to another page (including the ...

Book feature

As an extension to simple pages, one can group pages in a tree like organization (chapters, sections, sub-sections, etc.)

The idea of creating a specific plug-in is for two main reasons:

1) We want to be able to track the pages as being part of a specific book; this can be useful to add information such as the copyright to all the book pages and create a PDF of the whole book.

2) We want to offer a way to add all sorts of metadata to the book as a whole. This can include information such as a copyright and the book ISBN. And for the PDF version, we may want to have a Cover, page 2 white, a ...

Ping feature

In the world on Blogs, it is likely that people will want to auto-ping their posts.

This means the post is immediately made publicly available to some form of a blog directory. This directory is mainly for machines to look at, but it is also available to end users.

Especially, a blog post X that person mentions on his blog Y generates two links:

  • The link the person just created from Y to X. In most cases this link generates juice (i.e. it increases the range of page X.)
  • The link that the system generates from page X to page Y. In this case, the link has a ...

Leaving HTML behind


In itself, HTML is an output format. What we really want to work with is XML. This gives us a really clean way of handling all sorts of problems that HTML does not handle well (not without some tricks such as adding support for "tags" such as [this-is-a-tag] or comments such as the <!--break--> used by Drupal to define the summary/teaser break.)

The format we want to use is XML for a simple reason, all written documents, in some ways, will easily fit in an XML document. The following are ideas of tags we could use to edit and manage our advance documents. We ...

Layout Extensions

There are features that are of interest but are not otherwise available in all Browsers. Those that are not available in Internet Explorer should be built in JavaScript whenever possible.

The following are features I have found on different websites and that are not possible as is with Internet Explorer but can be achieved with the use of JavaScript.

Shadow, Glow, etc.

More and more people like to add a shadow on text. Most browsers already support shadows on boxes so no worries there, but on text, that's not supportted as is by Internet Explorer. However, IE accepts special ...

More and more, HTML adds definitions to support typing data. Since HTML 5, there is the itemprop attribute defined the microdata specification. Although someone could use that feature abusively, it is likely that typing blocks of data will help your website being found as expected.

We want to look at the http://schema.org/ website in more details, but the basics would be to allow end users to enter data using structured forms that make use of a type for each data entry done.

For example, a form for a movie may include a title, the name of the director, the three main actors, and maybe the ...

QR Code feature

Generating a QR Code

This plugin offers a very simple way to generate the QR Code of a page by adding an image tag to the page.

The image tag has to look like this:

<img src="/images/qrcode/<path-to-page>"/>

where the <path-to-page> part is the path to the page without the domain and protocol parts.

We make use of the special name index (or index.html) to return the QR Code of the home page of the website you are working on.


At this time the QR Code path can be followed by two parameters to define the size of the resulting image:

Syndicate content Syndicate content

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

Contact Us Directly