Snap! is being developed in a way which is quite different from many of the existing CMS.

One of the features is to move pages being deleted to a trashcan, in effect, not actually deleting the data from the Cassandra cluster, but keeping it in a different place.

Actually, the "move page" feature in Snap! does not move anything, it makes a copy of the existing data in the specified destination and marks the old data as hidden. It also links the old and new data together and time stamp them.

There are several reason for doing all of that work. First of all, the Cassandra cluster ...

There is yet another update of libtld. This time the effective_tld_names.dat file included many new gTLDs, even some that are not yet, but will very soon be official.

It also included many corrections to existing country domain names such as .uk which is now available as a first level domain name, and .ve which changed quite a bit too.

There are also a few domains that were removed (now marked deprecated) such as 4 .us and 2 .ru sub-domains.

As per the list from Mozilla, there are quite a few new sub-domains used as main domain names by various businesses such as a few amazonaws and a new ...

Multi-page scrolling

While some websites create a way to break down large content to appear on multiple HTML pages (mainly to increase the number of hits and thus amount of advertising they can send the user), newer websites use newer available technology that does the opposite.

As you scroll down the page, the next page (article, blog post...) gets loaded and presented to you on the exact same page. This works using AJAX to load the next page content. When you actually reach that page (scroll down enough) the script changes the URI in the location bar using the new history mechanism available since 2008 or 2009. ...

As you may know, ICANN decided to offer many new TLDs (top level domain names) and the available of those started in 2013. This is a second update of libtld with many new TLDs as of Sep 2014.

I added the following:

.accountants
.audio
.beer
.bio
.church
.claims
.credit
.digital
.direct
.global
.guide
.hamburg
.hiphop
.host
.juegos
.life
.loans
.place
.press
.productions
.reise
.surf
.website (we got snap.website, of course!)

I also added .loan in the proposed list. There are another 292 or so that have been proposed and that we could add to that ...

Cassandra is very light weight, contrary to a standard database, they coin the safety of your data on the fact that it gets replicated many times, not on the fact that it gets transported safely between you and its journal and the drive.

There is a huge impact to that light weight though. Once in a while, the tables, or more specifically, a node journal get mangled. When that happens, you can continue to use Cassandra for any data that appears before the mangled data. This gives you the impression that everything works, when in fact, something is awry in that node.

An interesting side effect ...

as2js

as2js compiler

The as2js compiler and library is used to convert C++ like scripts in JavaScript that will run in your browsers. The name comes "AlexScript to JavaScript" as the system is used to transcode an advanced version of JavaScript to a version that browsers can execute. Our version includes full support for classes, interfaces, and a complete system environment, contrary to browsers that have many limits (although since version 6, browsers also support classes).

Current status: the trascoder is still in development... I have a version that compiles to binary which is used by the Prinbee system. You can find the status of the coverage and tests below.

The source code compiles, but most certainly does not work as expected yet. You can find it here:

https://github.com/m2osw/as2js

As the ICANN is adding new Global Top Level Domains (gTLD), we are updating our library.

Many of those names are already approaved, although many are not yet for sale. We added quite a few entries!

There are a few new professionals entries:

    .actor .builders .dental .plumbing .surgery

And they accepted a few language related TLDs:

    .cat .eus .gal

Also regions got their share:

    .aq .asia .berlin .cologne .eu .kiwi .london .miami .moscow .nagoya
    .nyc .okinawa .paris .quebec .ryukyu .saarland .tokyo .vegas .wien ...

When creating a dynamic website, the time it takes to create a page requires a proper (large enough) timeout or Apache will generate a 500 error even before the system has a chance to reply one byte.

Snap!, like many other content manager systems (CMS), will generate the entire page before sending anything back to the client. There are several reasons for doing this:

  1. The system is generating HTML which we want to compress before sending it to clients;
  2. The system likes to define the Content-Size header because it allows browsers to show clients how much of the data it already ...

Introduction

We created a graphical based tool to check out a Cassandra database. Because of the possible cheer size of a Cassandra database, the tool is somewhat limited. At this time it will only really work well on smaller database, This is particularly practical for development when you test new things and want to make sure that the database includes the data that you expect of your tool.

Snap! CMake Modules

Snap! CMake Modules ExtensionsIntroduction

Snap! comes with many different projects, all of which need a common set of cmake rules and some of those are rather complex. For that reason we created a common project used to compile all of those projects. This project is the Snap! CMake Modules.

 

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

Contact Us Directly