Snap! Websites
An Open Source CMS System in C++
The webform plugin offers one to create forms for their website.
Many plugins offer webforms to enter their settings and other data. Similar forms can be used to ask end users to enter various information, such as a contact page or a "Notes" sticker for a user to let us know of a problem on a page.
The webform plugin has an interface to let website administrators create their own forms. The forms can be saved in place, the content sent via email, or accumulated in a list online...
This feature will also include statistic gathering (i.e. votes such as +1 or -1 or 1 to 5 stars as ...
The versions plugins is useful to get information about your installation.
This plugin displays all the versions of all the libraries, plugins, tools used in your installation.
Libraries are first determined at compile time, but they can change version over time and the runtime version in your installation could be off. Being able to see such information gives you a way to debug the application if required.
The plugins are the brain of added functionality to your system. Having their version displayed can be useful to know whether you are running the latest or, as it happens once in a ...
There are two users plugins:
1) The low level one, which includes creating users in the users table, handling the user login and password, and generating a cookie with the user session information;
2) The high level one, which is the interface allowing interaction with users.
Both of these are core plugins so they will always be available.
The User Interface includes all the forms necessary to handle the user account creation, management, and deletion. It also comes with the user login and forgot password forms. The new account verification code. And a few other things too.
The tracker plugin logs the movements of users on your website.
At this time, this is primarily intended for developers to know what a user was doing before a crash or other malfunction. In many cases, users do not know how to express what they were doing on a website in terms that are generally technical enough for a developer to unstand what could have gone wrong.
The tracking data can also be used for marketing research to see how your users are using your website. The same way as other external services offer. In that case, it may help you better tweak your website effectively.
Later we ...
The taxonomy plugin allows clients to add tags to a page. This is actually a link between two pages. There is no limit to the number of tags to a page.
Actually, many links are automatically created by the system. For example, when you create a page it is given a type and that's a tag managed by the taxonomy system. Some tags are managed by plugins in their own way (such as the page type) and others are viewed as generatic and the taxonomy system let you edit those.
The sortable plugin is a client side JavaScript extension used to allow one to sort items in a list. You should never have to explicitly install this plugin. The plugins that require it will depend on it and it will automatically be loaded when a page requires it.
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.
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 ...
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 ...
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 ...
Snap! Websites
An Open Source CMS System in C++