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

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

While someone makes a change to a page on his computer, other people may be viewing that very same page. It would be neat, using AJAX, for the user viewing the same page to see the update once the first user saves his changes.

Such a feature would consume a lot of traffic and so we may want to do that only in a few cases (i.e. front page, pages considered live.) With HTTP2 we can actually keep a connection open, so it uses a lot of connections but not so much traffic (i.e. we can switch from a Poll system to a Push system so if someone is on page A and page B gets edited, not much happens ...

Many parameters define how a page behaves. This includes things such as how fast a page will get loaded, which directly depends on how large the page is, how many pages need to be loaded, whether we can make use of the browser caches, etc.

We want to collect these statistics and let owners know that information is available. This way we can let them optimize their data over time.

Statistics of interest:

  • Size of the resulting HTML page
  • Size of each included content of data (i.e. "boxes")
  • Count of allowed / forbidden boxes; (this will require a per user counter?)
  • ...

Secure Pages feature

In order to offer secure pages on a site we need to offer customers to (1) create a key for their new SSL certificate, (2) get an IP address, (3) install their signed certificate.

Then one can mark a page as secure meaning that whenever someone tries to access that page, the Redirect feature forces a redirect to the secure version of the page if accessed via HTTP instead of HTTPS (the Redirect feature works in concert with the Secure Pages feature.)

See: Redirection feature

To Think About

At this time I'm thinking that the implementation of Redirect will be to (1) check whether there is ...

Redirection feature

To Be Noted

This feature is not marked as a Core Feature because it is not exactly required for a website to function properly. However, it is so user friendly to have this feature that it is very much like it had been marked as part of Core already. Of course, the functionality of redirecting users is already available in the Snap Websites library and it is in use by many plugins!

We want a plugin that can be used to redirect people from one path to another.

With the Cassandra setup, a person who hits a website arrives on a page. That page may be marked as a redirection so users who ...

Home Page feature

IMPORTANT NOTE

As the software has evolved, we may not want to support a special home page as described below (i.e. go to a page of content in the database, and mark that page as the home page—this is not possible because a page is always reference by its Object ID and thus it cannot be in two places at the same time.) That being said, we can of course have a filter such as [node:<some name>] which shows another page as the home page or an easy way to go to a page and swap it with the home page.

The Home Page is created by assigning the empty path to the page. If another ...

IMPORTANT NOTE

The Website Status represents the current status (main behavior) of the website. This is quite different from the Status Report feature [core] which attempts to help the user with things he still has to do on his website.

Statuses

The following are the different statuses that a website can enter depending on various signals such as wether the person just sent us spam or whether the owner of the site changed the current status.

  • On-line -- this is the standard state, everything shows up as expected
  • Minimal -- the site works, but any form is marked as read-only or is ...

Anti-Spam feature

Whenever someone posts a message on any one site (sharing is great here!) we can check whether the post looks like spam. This can be done in all sorts of ways and some are highlighted here.

Spammers are then listed in a black list (IP address, and whatever other information we can easily gather.)

We also can check spammy external links. These are links created by a website owner to another site which reveals itself as being a bad site. For example, some websites may redirect search engines to another completely different site or the external site owner may quickly remove your backlink.

...

IMPORTANT NOTES

This concept was taken from Drupal.org which offers tarballs of module and themes you can download to install in your installation. Instead we are now offering a set of pre-compiled packages that can be installed on your Ubuntu server with apt-get. This includes all the necessary security (SSL, MD5 and similar sums, key signatures, and also it can be auto-updated as required.)

However, we may want to have some form of a signal that tells websites whether they are up to date and whether an update is a security update (i.e. we can connect to a server that gives us ...

Scripting feature

A plug-in can be created to allow for scripts found in templates to be executed.

For example, a template could be written in PHP and another in perl.

This is counter intuitive since you'd think everything would be in C++. However, a feature could be developed using a Ruby script at first and later re-written in C++ and compiled in the server as a normal plug-in.

Also, some libraries are available in a scripting language, such as Java, and not in C++. It would be a shame to not be able to use such just because it isn't the same language.

Note that we could also run standard shell ...

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

Contact Us Directly