From ActionApps Documentation
Jump to: navigation, search

Note for editors - please try to keep this in roughly alphabetical order


Alias is a nickname of a field, or, the better way to put it is that alias represents a certain field in the slice structure (or think column in a table, and the AS operator in a simple SQL select statement). An alias looks like this:


Note the _#, followed by exactly 8 characters. Aliases are being used mainly in Design Templates, where they represent the value of a particular field for during each iteration. Aliases are closely related to the Alias Functions, because each alias is using some alias function to transform the raw value of the field.

Alias Function

Is a function (or a black box) which takes some value at the input (throw 50 cents into a black box) and produces some output ($1 or nothing comes out of the other end of the box ). The naming convention for alias function is somewhat dull, most of them look like this


which takes a date in Unix format (that is number of seconds since the beginning of the UNIX epoch) and converts them into some readable format. Alias function either takes it's input value from a field to which the Alias is attached, or you can craft the input value thought the syntax. For the complete list of available functions, look at the reference Alias_Functions_and_Parameters.

Curly bracket syntax

Curly brackets have a special meaning in ActionApps design templates. We use {} syntax to express that ActionApps will should parse the formula enclosed between the "{" and "}".

Design Templates

Design templates is a general term used to describe all the elements that can potentialy become involved in the way the content from ActionApps is presented (i.e. design and layout). Mostly this means Views, but also Aliases etc. See Designing Output Templates for more.


Field has a broad meaning in ActionApps and the word is used in several different contexts. A set of fields creates what we call a 'slice structure'. An example could be a news slice - we certainly will have one separate field for the headline. So, field is a "box" which holds a value/information about a particular aspect of the item (in this case, it holds the headline).

In database language, field would be a table column.

A field in an input form
A field in slice settings

Field is not just an abstract division of slice to for the slice structure. It manifests itself in several other ways. Usualy there is some user control (i.e. a textbox) attached to it to allow the user to fill in the data (i.e. the headline), validation function to check for the validity of the user input. There will also possibly be an alias or a {} expression attached to each field to read it's content.

Read more about fields in Planning Your Data Model and Taxonomies.

Field ID

Field ID is an identificator of the field within the context of a specific Slice. A bit easier to digest way of saying that is that it's the name of the column in your table. It has to be exactly 16 characters long, it's generated automatically by ActionApps upon the creation of the field and usualy looks like this


Some field id's are reserved or have a special meaning, see Field IDs with special meanings.


Problem: How do we format the text so that it looks nice ? Shall we use M$ Word ? Or a picture ?

Solution: Let's create a platform independent standard that platform dependent browsers will understand and interpret accordingly. Let's call it HTML.

Note: Different display shapes, sizes and rendering capabilities.

For more info about see w3cschool html

Input Control

Input Form


Item ID

Each content item (but in fact almost any object in ActionApps) has it's identificator. The identificator distinquishes the item (object) from all the other items. We have two types of identificators (IDs):

  • Short ID looks like this:

It's an ordinary number and it's only unique within one installation of ActionApps.

  • Long ID looks something like this

It's 32 characters long string of numbers and letters A-F (exadecimal representation of 16-byte long string). It's unique across the world.

--Marek November 14, 2005 19:11 (CET)
Sadly, ActionApps internaly uses packed IDs, i.e. the hexadecimal string is stored in a binary format as a sequence of 16 bytes. Although we have gained some performance through this, it makes it difficult to debug and work with the databased directly. There is an ongoing effort to remove packed IDs from ActionApps completely.

Item Manager


Reader Management

Origin: ~ToDo: 1657 What is Reader Management?

, also could be called Subscribers Management - set of tools ActionApps provides for managing website subscriptions.

Slice type Reader Management is a special type of slice that is designed to contain data about subscribed "readers" (aka public web site users). A Reader Management slice can be used to send automated email alerts of new AA items, personalize page views, send bulk target emails, and generally act as a contact database. Anonymous forms can be set-up to allow users to change their subscriptions and contact data in the Reader slice.


Is a popular scripting language. It adds a logic to your pages. Scripting means following a recipe. Instead of serving a raw meat (static files), we can process (cook) them before serving and server according to the taste of the user (guest). The web server knows that there is a recipe to look for before serving through the .php extenstion.


Create a test.php file with following extension: 
echo "Your browser is: $GLOBALS[HTTP_USER_AGENT]
"; echo "and you come from $GLOBALS[REMOTE_ADDR] IP address"; ?>

Site Module

Site module is a special ActionApps module that makes it easy to combine many views in one page and parametrize them through a single state variable. The use of site module is described in chapter Using Site Module


What is slice?. If you know databases (relational databases), the answer is simple. Slice is a database table. If you don't, don't worry. It's not a rocket science.

We use the term "slice", because we like to look at one ActionApps installation as one big pie, and each user can have a bite (or slice). The pie is made of items, which are particulary tasty, and each item belongs to one slice. So, another way to look at this is that slice is a container (basket) full of items.

There is more to slice:

~ToDo: insert picture explaining slice

Slice can or can't be accessed by ActionApps User depending on the User Permissions Slice can generate parts of web pages Views depending on the actual content in it, and it can even look nice if you have spend some time playing around with the Design Templates.

The way you set your slice up will be reflected in many other areas, becuase it not only holds content, but Slice Settings also determine the look of Item Manager, data structure and Input Controls .

Moreover, slices can be created, modified, deleted, exported to another ActionApps installation, imported from somewhere, synchronized across several ActionApps installations, and last but not least, blamed for things not working the way they should.

Some useful links realated to slice topics:

~ToDo: link to the relevant slice documentation

URL Parameters

ActionApps uses URL parameters to modify the default behaviour of it's objects (mostly Design Templates). If you don't know what URL parameter is, maybe a Great Chinese Wall can help.


View is a design template. It defines the way records will be displayed, which records will be displayed, and it's behaviour can be modified through View parameters. The view can be called directly, included via shtml, f_v function or the {view} syntax. The use of views is described in detail in the Designing Output Templates chapter.