csspp 1.0.9 published

I pusblished a new version of CSS Preprocessor (csspp) because 1.0.8 had one fix from Coverity when there were 4 such bugs total. 1.0.9 includes the other 3 fixes. It was a missused & operator (the parenthesis were missing.)

Version 1.0.9 is otherwise pretty much the same as 1.0.8, I applied a few other clean ups and updated the copyright notice to 2016. The library will soon be 1 year old!

Download right here: https://sourceforge.net/projects/csspp/files/

Project here: CSS Preprocessor tool and library

antihammering

The Snap! Websites system counts the number of hits arriving to its servers. If the counters reach too high a number, the system asks the user to please slow down. If the request is not respected, then the system ends up blocking the user via the firewall.

The antihammering settings allows you to define the number of hits necessary before a slow down is requested and before a full block happens.

By default this plugin is turned off, although it is strongly advised to have it turned on, we do not force users of Snap! Websites to make use of this module. It is still a really good idea to have ...

epayment

The e-Payment plugin system allows you to offer clients to order products or services directly from your website.

Clients will make use of the cart offered by the e-Commerce system unless you have a plugin that builds a list of products automatically.

The e-Payment plugin understands payment sub-plugins such as the the e-Payment Paypal system to allow payments using the Paypal system.

The allowed payment systems are defined by the set of e-Payment extensions installed.

favicon (Core)

The system offers a way to define the favicon of your website. The favicon is the tiny image shown in your tabs when you access a website. By default, once you install this plugin, the Snap! Website icon is shown. It can be changed by going to the global administration screens.

Later we will also implement an interface so one can change the favicon on a per page or per page type basis instead of one single favicon for the entire website.

The following image shows you the existing user interface allowing you to change your favicon. (Click to enlarge)

Favorite Icon Settings in Snap! Websites

As I was working on the antihammering plugin for Snap!, I wanted to use the count() feature to quickly know how many hits there are for a given amount of time.

Only as I did that, I noticed that the count() was blocked at 100. The problem was that the predicate used at the lower layer in libQtCassandra would actually set the count maximum to 100 by default.

I think that since the count function only counts the columns of interest, that it goes really fast no matter what the counter maximum is and whether you have a predicate or not. So I changed the lower layer implementation to force the ...

editor

The editor let you edit your pages.

This is an inline editor with powerful features such as support for tokens that get replaced by a value at the time the page is generated for end users.

The editor supports text formatting, images, flash animations, embedding of videos, and more.

It is also used to create forms with many widgets (we are in control of the widgets so we can easly tweak their look using CSS, contrary to the HTML form widgets which are specific to the browser you are using.)

ecommerce

The ecommerce plugin handles the products and cart offered to your customers.

The ecommerce plugin must be installed along the epayment plugin and one or more payment facility such as the epayment_paypal plugin.

The cart is handled using a large amount of JavaScript, client side code, to make it run as fast as possible.

The cookie_consent_silktide is a plugin used to offer users a way to know about your rules in regard to cookies. What you do with them. How you use the data and how long you keep it, etc.

Since most of that information is only available to developers, we offer a default Snap! privacy policy which describes the default behavior of the Snap! environment. There are settings in various modules that can be tweaked and in effect will affect how the cookies are used by the system.

Note that contrary to many websites, Snap! strives in reusing the exact same cookie for everything. This is why the ...

content

The content plugin is part of the core plugins that you cannot remove. It handles the content, what you see as a page.

Actually, the content plugin handles:

  • pages
  • branches (various major versions of a page)
  • revisions (various minor versions of a page)
  • secret data
  • caches
  • attachment, although the attachment plugin takes care of many of the features in link with attachments, the content plugin still handles the pages for attachments
  • handling of plugin specific fields (read/write from the database)
  • links with the help of the links plugin

The ...

char_chart

The char_chart plugin is mainly a test plugin. We created this plugin to make sure that we could properly handle dynamic paths (paths that represent content which does not exist in our database.)

This was a success and we kept the plugin to continuously prove that our changes do not break the feature.

The output are all the possible Unicode pages. This is quite practical to verify a character, not so much to search one unless you have a good idea where it should be.

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

Contact Us Directly