The snap_software_description plugin is used by websites that offer files for download. The descriptions are saved in an XML file format (see format here) and can be downloaded by robots to promote your files on their own websites. The idea of the Snap Software Description plugin is based on the PAD File format, only very much enhanced to support modern software definitions.

The plugin actually also creates PAD Files to be compatible with existing systems. However, these are somewhat limited and much of the data will be dropped.

See: Snap Software Description

sitemapxml

The sitemapxml plugin is used to generate a list of all the public pages in an XML file for robots to quickly know of all your website pages. This increases the likelihood that search engines indexes most of your public pages.

The system automatically breaks down the file in multiple files once you reach 50,001 pages. It also keeps the file compressed and thus serves them quickly.

The plugin supports a tag which one can add to a page to avoid having the page added to the sitemap. Private pages do not need to use that tag, obviously. In most cases, all pages can be added to your sitemap.xml ...

shorturl

The shorturl plugin offers a way to shorten the URI of your pages to a shorter version. This feature uses a base 36 number and the /s path. So the very first page receiving a short URI has extra path: /s/1. Going to /s on your website displays the last few short URIs that were generated.

The shorturl offers a signal so other plugins can prevent certain paths from being shorten. For example, paths under /admin do not need to be shorten since you will not share those paths.

At some point we will also offer inline support for third party shorteners. However, these have had bad rep and many have ...

sessions

The sessions plugin is a very low level plugin used to link clients with the server. That way we can save certain client's information such as options they select for a better browsing (i.e. their timezone to get dates formatted as expected for their location.)

Sessions are used with anonymous users as well as registered and logged in users.

A session is a pair of numbers assigned to each user. The numbers change from time to time to avoid session hijacking (a potential security issue).

The editor plugin, among others, also makes use of sessions. This is useful to prevent basic web spam ...

server_access

The server_access plugin is used when sending data to the server and needing to receive a signal that the server is done doing whatever work was asked of it. More or less, it is very much like having a client/server callback, only within a browser only the client can generate a request to the server, never the other way around. For this reason, you need to have a way to repitively send requests to the server to know whether it is done with the work load.

This plugin very much simplifies such callbacks for other plugins. For example, when you attach an image in an Image Drag & Drop area, ...

server

The plugin named "server" is actually the core library (specifically, an object defined in the lib/snapwebsites.h.in header file.)

It is mandatory and offers basic functionality to the library, functionality that is actually implemented in the plugins. For example, once a child process receives a request from Apache, it parses the URI to make sure it is correct and then it calls the execute() signal implemented in the server. The path plugin listens for that signal to work on generating the output for the client.

The server being somewhat of an abstract plugin has no settings of ...

sendmail

The sendmail plugin is a low level plugin used to manager emails.

The plugin can break down a list email address in a set of registered users (this uses a signal that the mailinglist plugin implements.) It then saves those emails in each user's mail account. Finally, it runs a backend process that will actually email the message to the user as defined in the user's schedule.

The sendmail does not have its own user interface since it is very low level (i.e. the users plugin is using the sendmail plugin and thus sendmail cannot be using the editor plugin.)

search

The search plugin retrieves information about each page and saves it in a way that allows for fast searches.

The search is offered a widget one can use to enter a query and a way to display dynamic pages with the results.

The administrator settings include a few options such as the minimum length of a word before it gets added to the search table and whether Asian language texts should be searched (i.e. word length does not apply to asian languages.)

robotstxt

The robotstxt plugin dynamically manages the robots.txt file give to robots that try to read said file. It will include paths that robots should not check because they are going to be forbidden to access those pages. For example, all the pages under the "/admin" path are forbidden unless you have a Snap! Websites administrator user.

Various plugins may add forbidden paths or other information. For example, the sitemapxml plugin puts the path to the sitemap.xml file that robots can download to quickly find all (or at least most) of the public pages available on the website.

There ...

qrcode

The QR Code plugin allows you to generate QR Codes for your pages.

Although you can display the QR Code directly on your pages, in most cases you just use it to get the code and use it on another website or to add do a document you want to print.

It is very easy to create a QR Code for any page on your website using the /qrcode path and adding the path to the page you want a QR Code for. You can also use attributes to define the size and various other parameters.

For example, say you have a blog page under "/blog/20160307/QR-Codes-Are-Cool". To get the QR Code image for that page, ...

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

Contact Us Directly