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

Facebook sharing

The Facebook sharing is made preferably using the og namespace tags. That works best because that way the Facebook scraper can find the information you want to have them used to share your documents. Snap! will allow you to choose the image, description, title, etc. that you want to show on Facebook (although by default this is fully automated with proper defaults.)

The documentation available on Facebook is actually very good in regard to the og namespace. There is also a full website about og and all its extensions. They have two important nodes under "bad practices":

  • Do ...

To accelerate the transfers between clients and servers even further we want to at some point look into supporting SPDY.

SPDY was developed by Google with HTTPS and compression in mind. Also it allows streaming of all the data on a single channel instead of a multi-connection scheme most often seen these days. There is an Apache2 module for this features. We'd have to make sure that it is compatible with Snap! C++.

Source: https://en.wikipedia.org/wiki/SPDY

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) ...

Automatic Pages [core]

WARNING

This looks like an extension of the Message Box feature [core] plugin so we can put all messages in the database instead of the code.

The concept is very simple and explained in the Error Pages feature [core], which also looks like a useless plugin idea.


When something happens and the system needs to show the end user content then it has to offer the content via an existing, real page.

For example, say the user is automatically logged out, we want him to be sent to a page explaining what just happened. Although that page may be displayed as a simple AJAX error message, it is still a page that the ...

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 ...

Once a page was created, it is easy (since we have all the information at hand) to know which file will be loaded from that HTML. For example, the HTML header may have links reference CSS files.

The fact is that a TCP connection is generally slow so if you can avoid 50% of them, especially if these are for very small files (1Kb and less) then all the better.

Inline Data can be used to avoid allthose useless TCP connections.

HTML allows for CSS data and image data to be inlined.

CSS uses the <style> tag in the HTML header. (See Style Sheet in HTML)

Image data uses the special ...

WARNING

The following was writte as a replacement to the 404 and 403 handling in Drupal. However, there is really no reason for us to use such a scheme.

Instead, we want to look into a way to save all the messages in the content.xml files of each plugin and use those messages instead of directly writing messages in the code. That way all those can easily be translated (at least technically it should not be much of a problem.)

This requires us to define a few things such as a way to write messages with variables which are to be replaced at runtime (i.e. if you say something such as "we ...

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 ...

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

Contact Us Directly