Introduction

TBD: we may want to derive all the data used in the SNSD files from Data Types feature (schema).

The basic of SNSD (Snap Software Description) is an XML file that describes various types of software products (libraries, servers, GUI based software, etc.) On a Snap! website a page used to describe a software product can have a link to SNSD meaning that that page represents a file that should appear in the SNSD catalog.

The XML files offered give third party systems a way to quickly learn about all the files that you are offering. The SNSD data can be found on specific pages, in the HTML ...

The PAD File format was defined by the Association of Software Professionals. Only that format has many limitations making it pretty much unusable with software that has a very broad or non Microsoft Windows oriented type of software. For that reason, we also include our own Snap format called SNSD (Snap Software Description). Both formats make use of XML, only the SNSD format includes a REST API allowing applications to easily navigate a large number of software offering without having to search an entire website to find a few SNSD Files.

Implementation Status

At this time we have all ...

404 Plugin Missing

This 404 error means that something is missing.

If you had a plugin installed and you removed it, then re-installing it will most certainly fix the problem. Remember that if you change the list of plugins in the /etc/snapwebsites/snapserver.conf file, you have to restart the server for the change to be taken in account.

If you are a programmer and you get this error and you know for sure that the plugin is loaded (you tried to restart and made sure that the plugin name appears in the snapserver.conf file or in the sites parameters,) then the next thing to look into is whether you implemented ...

Errors Explains

The following pages explain what various errors that you get while using and especially programming Snap mean.

To the end user, we send errors that are at times a bit cryptic. One important reason for doing so is that errors that are too detailed may give hackers means to access your system in unwanted ways. To at least aleviate some potential security issues, we instead send rather simple errors such as a 404 when something is missing without automatically giving you the exact right message about what is missing.

Quite often, the system has to present some data to the end user.

This data is generally saved in a form that is common to anyone in the world: a number saved as an integer, a date saved as a Unix timestamp, a currency saved as a floating point, etc.

To display that information to the end user, the default format may not be adequat. For example a date may be writen in any one of the following formats:

26.11.2014  Europe
11.26.2014  US
2014.11.26  Japan

Similarly, the separator of digits in a number may be a comma, a period, a space...

(123) 555-1212       US Phone number
US ...

Introduction

In order to run tests against what looks like a real cluster of Cassandra nodes, one wants to create multiple nodes and run them in parallel and run their software against that cluster.

So, I decided to create two racks on two separate computers. Each computer runs 3 VMs each run one instance of Cassandra. The VMs are installed with the most basic Ubuntu server (i.e. do not add anything when offered to install LAMP and other systems), Java, and Cassandra.

Network

Local Network

It is possible to setup a VM to make use of the local network (LAN). VirtualBox will ...

Introduction

The following are instructions to get Cassandra installed on your servers.

You may also want to install Cassandra directly from a file distributed from the Cassandra website (if you want to work with a version on the edge.) In that case, the Java installation instructions still apply to you, however, the Cassandra installation then falls in your lap...

Table of Contents

Java

Cassandra uses Java so you want to install Java first. In order to get the latest version of Java directly from Oracle, you want to install the PPA update source as follow:

sudo vim ...

Just made a new addition to the project: snapwatchdog.

This is a daemon running in the background used to gather statistics about each server running in a Snap! cluster.

The statistics are saved in an XML file1 and already include the following information:

  • CPU usage
    • Average load for 1, 5, and 15 minutes
    • Total usage in User, System, Idle modes
    • Total count of Page Cached and Swap Cache
    • Time when the system was last rebooted
    • Total number of ...
  • 1. Ready to be processed by an XSLT stylesheet to present the results to the end user.

Description

A standalone tool running in the background of all your computers in a Snap! cluster, automatically started by systemd as a service. This tool gathers data to report about the current and past health of each server. Contrary to a backend, this tool is expected to run on ALL servers so we can have a better idea of how they all run and especially be warned about problems such as high CPU usage or disk filling up.

The data gathered includes:

  • Report by Email (Done)
    • Requires presence of an MTA (reported in the snapmanager.cgi Watchdog tab)
  • Network ...

Cloning Data

A page of content (and remember that pretty much everything in Snap! is a page) can be cloned.

Pages are defined using a URI such as:

/journal/20141019/about-the-snap-trashcan

Cloning allows you to create a duplicate of that page. Maybe you wanted to copy it to:

/favorite/about-the-snap-trashcan

Having a copy would allow you to not lose the previous version and new edits on either one do not affect the other. This could also be used when writing a book and a page is quite similar (i.e. the copyright page.)

The clone process copies all the data in the pages, data ...

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

Contact Us Directly