This article looks at After Image Journaling and audit trails in Recital using SET JOURNAL and associated commands.
Overview
After Image Journaling, used in conjunction with a structured backup policy is an effective disaster recovery solution. Any transaction that takes place on a table that is being journaled is logged in the journal file. In the event of a disk crash or similar event in which the table is lost, the journaled transactions can be reapplied to the latest backup copy of the table. Alternatively or additionally, the journal can be used to provide an audit trail to all modifications made to the table data.
NOTE: Recital also provides Before Image Journaling via BEGIN TRANSACTION / END TRANSACTION blocks, allowing unsuccessful transactions to be rolled back to a set saved state.
SET JOURNAL and RECOVER
Regular backups are an essential routine for any system, but in high-transaction environments restoration of the latest backup can still mean a major loss of data. After image journaling can successfully be used as part of your disaster recovery strategy to minimize data loss and down time. Recital after image journaling functionality is based on the use of the SET JOURNAL and RECOVER commands.
SET JOURNAL
SET JOURNAL TO [<.dbj filename> | ()] SET JOURNAL ON | OFF | ( )
The SET JOURNAL command is used to enable the After Image Journaling and audit trail for the active table. The TO <.dbj filename> clause associates the specified transaction journal file with the active table. If the journal file does not exist, it will be created. The filename can be substituted with a <expC>, enclosed in round brackets, which returns a valid filename. If no file extension is specified, ‘.dbj’ is used. When specifying a journal file, it is recommended that the journal file is stored on a different disk than that which the table is stored on, so that if a fatal disk error occurs, then the journal file will not be lost along with the table.
//Enable journaling for the southwind!orders table open database southwind use orders set journal to /journals/ord_journ
The <.dbj filename> is a standard table. It contains seven
fields that are specific to a journal file, followed by the first
249 fields of the associated table.
The first seven fields in the journal are:
|
Field |
Type |
Display |
Storage |
Description |
|
AUD_DATE |
Date |
8 | 10 * |
4 |
The date on which the transaction was performed. |
|
AUD_TIME |
Character |
8 |
8 |
The time at which the transaction was performed, in the format HH:MM:SS. |
|
AUD_TERM |
Character |
12 |
12 |
The name of the terminal from which the transaction was performed |
|
AUD_UID |
Short |
5 |
2 |
The ID of the user who performed the transaction. |
|
AUD_GID |
Short |
5 |
2 |
The group ID of the user who performed the transaction. |
|
AUD_CMD |
Short |
4 |
2 |
The command number of the transaction performed from the command table below |
|
AUD_RECNO |
Integer |
7 |
4 |
The record number in the associated table which the transaction was performed on. |
* Dependent on SET CENTURY setting.
The AUD_CMD Command Reference Numbers are as follows:
|
Command |
Number |
|
DELETE |
14 |
|
RECALL |
36 |
|
REPLACE |
41 |
|
BROWSE |
6 |
|
CHANGE |
8 |
|
EDIT |
17 |
|
INSERT |
26 |
|
APPEND |
5 |
|
READ |
35 |
Since journal files are standard Recital tables, you can use standard Recital commands such as the REPORT command to print audit trails, transaction logs, etc.
//Enable journaling for the southwind!orders table open database southwind use orders set journal to /journals/ord_journ //.. transactions close data //View journaled records use /journals/ord_journ.dbj
Click image to display full size
Fig 1: Journal Record Example.
The SET JOURNAL TO command without a <.dbj filename> specified closes the active journal file and no further journaling will take place on the active table until the SET JOURNAL TO <.dbj filename> is reissued.
The journaling features are mainly used with shared tables. It should be noted that there is an overhead in enabling transaction journaling, as records updated in a table are also written to the journal file. When records are appended into a journal file, locking is automatically performed so that multiple users can update the journal concurrently. The associated table must be opened shareable for this to occur. Each table can have a journal file associated with it.
The SET JOURNAL ON | OFF command enables or disables transaction journaling. This command is primarily used in applications where journaling can be disabled for a certain class of operations. By default, SET JOURNAL is ON, but no journal files are set.
NOTE: Only the first 249 fields of a table can be journaled: subsequent fields are ignored. The maximum number of fields in a Recital table is 256.
RECOVER
RECOVER FROM <.dbj filename> | ()
The RECOVER command uses the journal file to reapply lost transactions to a previous backup of the data after a fatal error such as a disk head crash. The FROM clause specifies the journal file to use. The file name can be substituted with an <expC>, enclosed in round brackets, which returns a valid filename. If no file extension is specified, then ‘.dbj’ is assumed.
Regular backups are essential to the successful use of After Image Journaling. It is also very important to reinitialize the journal file after each backup: either open the journal file as you would a normal table and use the ZAP command, or delete the file completely. If a fatal error occurs, such as a disk head crash, the table and index files must be restored from a backup, then the RECOVER command executed. RECOVER will reapply' all of the transactions in the journal file to the table, and update the indexes. After the RECOVER command has completed, you can continue with normal processing.
//Create a backup of the southwind!orders table //...backup table and associated files //Reinitialize the journal file erase /journals/ord_journ.dbj //Enable journaling for the southwind!orders table open database southwind use orders set journal to /journals/ord_journ //.. transactions //Restore the backup of the southwind!orders table //...restore //Open the restored backup open database southwind use orders //Reapply the transactions using the journal recover from /journals/ord_journ.dbj //Now, enable the journal file again or //restart with a new backup
Journaling Memo Fields
By default, memo fields - variable length text fields - are not journaled due to the possible storage overhead of multiple copies of potentially large blocks of text. But, if memo journaling is required, the SET MEMOJOURNAL ON command can be used to enable this.
SET MEMOJOURNAL
SET MEMOJOURNAL ON | OFF | ()
The SET MEMOJOURNAL command causes memo fields to be journaled when journaling is set on a table. This command allows the optional logical expression <expL> to be evaluated. If a value of .T. is returned, MEMOJOURNAL is set ON. If a value of .F. is returned, MEMOJOURNAL is set OFF. By default SET MEMOJOURNAL is OFF.
Like a normal Recital table, the journal holds only a pointer to a data block in an associated memo file, not the actual memo data itself. The journal's memo file has a file extension of .dbm rather than the standard Recital .dbt. Therefore, if the journal is being opened as a table, in order to view the journal's memo data, the SET MEMOEXT command should be used.
//Enable journaling for the southwind!suppliers table open database southwind use suppliers set journal to /journals/sup_journ //.. transactions close data //Set filename extension for memo file set memoext to '.dbm' //View journaled records use /journals/sup_journ.dbj
Summary
The After Image Journaling enabled by the SET JOURNAL and RECOVER commands can be used in conjunction with a strict backup regime to minimize data loss in cases where tables become damaged or irretrievable. Journal files can be accessed like standard Recital tables and provide detailed information about the transactions applied to a table, so can be used for auditing purposes.
# recital < mrprog.prgIndividual commands can be executed in shell scripts.
# recital < myprog.prg > myoutput.txt
# recital > myoutput.txt <<END
use customers
list structure
END
# echo "select * from sales!customers where overdue" | recital | wc -l
# recital -c "create database sales"Expressions can be evaluated and used in shell scripts.
# recital -c "create table sales!invoices (id int, name char(25), due date)"
# VER=`recital -e "version(1)"`You can view what command line options are available by typing:
# recital --help
- Warnings
- Headers
- Icon set 1
- Icon set 2
- Icon set 3
- Tooltips
- Highlights
- Code
- Unordered lists
- Ordered lists
- Abbrs and acronyms
- Definition lists
- Legends
- Dropcaps
- Floated blocks
- Other span blocks
- Blockquotes
- Tables
Warnings
This is a sample info message. Use <p class="gkInfo1">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips1">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning1">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo2">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips2">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning2">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo3">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips3">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning3">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo4">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips4">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning4">Your warning message goes here!</p>.
This is a sample info message. Use <p class="gkInfo5">Your info message goes here!</p>.
This is a sample tips message. Use <p class="gkTips5">Your tips goes here!</p>.
This is a sample warning message. Use <p class="gkWarning5">Your warning message goes here!</p>.
Headers
This is heading 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer semper egestas nunc in volutpat. Fusce adipiscing velit ac eros tempor iaculis. Phasellus venenatis mollis augue, non posuere odio placerat in. Etiam volutpat ultrices lectus. Fusce eu felis erat. Donec congue interdum elit, sed ornare magna convallis lacinia. In hac habitasse platea dictumst. Mauris volutpat consectetur accumsan.
This is heading 2
Cras diam justo, sodales quis lobortis sed, lobortis vel mauris. Sed a mollis nunc. Quisque semper condimentum lectus, eget laoreet ipsum auctor et. Quisque sagittis luctus augue, id fringilla enim euismod quis. Nullam blandit, elit at euismod rutrum, tortor nibh posuere mauris, in volutpat diam ante ac dui. Sed velit massa, imperdiet placerat tristique et, consectetur a lorem. Praesent aliquet turpis in quam tempor eu pulvinar nibh luctus.
This is heading 3
Vivamus rhoncus arcu sit amet est tristique convallis nec vel eros. Vestibulum euismod luctus velit quis porta. Aliquam varius placerat mauris sed vehicula. Integer porta facilisis sapien, in tempus lorem mattis molestie. Suspendisse potenti. Praesent quis diam non dolor convallis mattis eu id nulla.
This is heading 4
Proin urna erat, egestas vel consectetur at, accumsan at purus. Donec est risus, facilisis dignissim placerat nec, euismod lacinia nisi. Nam ac sem sed quam sollicitudin condimentum et eu neque. Nunc enim urna, ultricies ac mollis pretium, imperdiet hendrerit massa. Sed eleifend felis sed tellus cursus lacinia. Aenean venenatis aliquet euismod. Nam quis turpis tellus, vitae malesuada neque.
This is a headline.
This is a subheadline.
Use <p class="gkHeadling">for headline</p>.Use <p class="gkSubHeadline">for subheadline</p>.Proin urna erat, egestas vel consectetur at, accumsan at purus. Donec est risus, facilisis dignissim placerat nec, euismod lacinia nisi. Nam ac sem sed quam sollicitudin condimentum et eu neque. Nunc enim urna, ultricies ac mollis pretium, imperdiet hendrerit massa. Sed eleifend felis sed tellus cursus lacinia. Aenean venenatis aliquet euismod. Nam quis turpis tellus, vitae malesuada neque.
This is a small headline
This is a large headline
Use <p class="gkHeadling">for headline</p>.Use <p class="gkSubHeadline">for subheadline</p>.Proin urna erat, egestas vel consectetur at, accumsan at purus. Donec est risus, facilisis dignissim placerat nec, euismod lacinia nisi. Nam ac sem sed quam sollicitudin condimentum et eu neque. Nunc enim urna, ultricies ac mollis pretium, imperdiet hendrerit massa. Sed eleifend felis sed tellus cursus lacinia. Aenean venenatis aliquet euismod. Nam quis turpis tellus, vitae malesuada neque.
Icon set 1
This is a sample audio message. Use <p class="gkAudio">Your audio message goes here!</p>.
This is a sample webcam message. Use <p class="gkWebcam">Your webcam goes here!</p>.
This is a sample email message. Use <p class="gkEmail">Your email message goes here!</p>.
This is a sample creditcard message. Use <p class="gkCreditcard">Your creditcart message goes here!</p>.
This is a sample feed message. Use <p class="gkFeed">Your feed goes here!</p>.
This is a sample help message. Use <p class="gkHelp">Your help message goes here!</p>.
This is a sample images message. Use <p class="gkImages">Your images message goes here!</p>.
This is a sample lock message. Use <p class="gkLock">Your webcam goes here!</p>.
This is a sample printer message. Use <p class="gkPrinter">Your printer message goes here!</p>.
This is a sample report message. Use <p class="gkReport">Your report message goes here!</p>.
This is a sample script message. Use <p class="gkScript">Your script goes here!</p>.
This is a sample time message. Use <p class="gkTime">Your time message goes here!</p>.
This is a sample user message. Use <p class="gkUser">Your user message goes here!</p>.
This is a sample world message. Use <p class="gkWorld">Your world goes here!</p>.
This is a sample cart message. Use <p class="gkCart">Your cart message goes here!</p>.
This is a sample cd message. Use <p class="gkCd">Your cd message goes here!</p>.
This is a sample chart_bar message. Use <p class="gkChartBar">Your chart_bar goes here!</p>.
This is a sample chart_line message. Use <p class="gkChartLine">Your chart_line message goes here!</p>.
This is a sample chart_pie message. Use <p class="gkChartPie">Your chart_pie message goes here!</p>.
This is a sample clock message. Use <p class="gkClock">Your clock goes here!</p>.
This is a sample cog message. Use <p class="gkCog">Your cog message goes here!</p>.
This is a sample coins message. Use <p class="gkCoins">Your coins message goes here!</p>.
This is a sample compress message. Use <p class="gkCompress">Your compress goes here!</p>.
This is a sample computer message. Use <p class="gkComputer">Your computer message goes here!</p>.
This is a sample cross message. Use <p class="gkCross">Your cross message goes here!</p>.
This is a sample disk message. Use <p class="gkDisk">Your disk goes here!</p>.
This is a sample error message. Use <p class="gkError">Your error message goes here!</p>.
This is a sample exclamation message. Use <p class="gkExclamation">Your exclamation message goes here!</p>.
This is a sample film message. Use <p class="gkFilm">Your film goes here!</p>.
This is a sample folder message. Use <p class="gkFolder">Your folder message goes here!</p>.
This is a sample group message. Use <p class="gkGroup">Your group message goes here!</p>.
This is a sample heart message. Use <p class="gkHeart">Your heart goes here!</p>.
This is a sample house message. Use <p class="gkHouse">Your house message goes here!</p>.
This is a sample image message. Use <p class="gkImage">Your image message goes here!</p>.
This is a sample information message. Use <p class="gkInformation">Your information message goes here!</p>.
This is a sample magnifier message. Use <p class="gkMagnifier">Your magnifier message goes here!</p>.
This is a sample money message. Use <p class="gkMoney">Your money goes here!</p>.
This is a sample new message. Use <p class="gkNew">Your new message goes here!</p>.
This is a sample note message. Use <p class="gkNote">Your note message goes here!</p>.
This is a sample page message. Use <p class="gkPage">Your page goes here!</p>.
This is a sample page_white message. Use <p class="gkPage_white">Your page_white message goes here!</p>.
This is a sample plugin message. Use <p class="gkPlugin">Your plugin message goes here!</p>.
This is a sample accept message. Use <p class="gkAccept">Your accept goes here!</p>.
This is a sample add message. Use <p class="gkAdd">Your add message goes here!</p>.
This is a sample camera message. Use <p class="gkCamera">Your camera message goes here!</p>.
This is a sample brick message. Use <p class="gkBrick">Your brick goes here!</p>.
This is a sample box message. Use <p class="gkBox">Your box message goes here!</p>.
This is a sample calendar message. Use <p class="gkCalendar">Your calendar message goes here!</p>.
Icon set 2
This is a sample audio message. Use <p class="gkAudioIs2">Your audio message goes here!</p>.
This is a sample email message. Use <p class="gkEmailIs2">Your email message goes here!</p>.
This is a sample feed message. Use <p class="gkFeedIs2">Your feed message goes here!</p>.
This is a sample images message. Use <p class="gkImagesIs2">Your images message goes here!</p>.
This is a sample lock message. Use <p class="gkLockIs2">Your lock message goes here!</p>.
This is a sample printer message. Use <p class="gkPrinterIs2">Your printer message goes here!</p>.
This is a sample time message. Use <p class="gkTimeIs2">Your time message goes here!</p>.
This is a sample user message. Use <p class="gkUserIs2">Your calendar message goes here!</p>.
This is a sample world message. Use <p class="gkWorldIs2">Your world message goes here!</p>.
YThis is a sample cart message. Use <p class="gkCartIs2">Your cart message goes here!</p>.
This is a sample cd message. Use <p class="gkCdIs2">Your cd message goes here!</p>.
This is a sample chart line message. Use <p class="gkChartLineIs2">Your chart line message goes here!</p>.
This is a sample chart pie message. Use <p class="gkChartPieIs2">Your calendar message goes here!</p>.
This is a sample clock message. Use <p class="gkClockIs2">Your clock message goes here!</p>.
This is a sample config message. Use <p class="gkCogIs2">Your config message goes here!</p>.
This is a sample computer message. Use <p class="gkComputerIs2">Your computer message goes here!</p>.
This is a sample error message. Use <p class="gkErrorIs2">Your error message goes here!</p>.
This is a sample exclamation message. Use <p class="gkExclamationIs2">Your exclamation message goes here!</p>.
This is a sample movie message. Use <p class="gkFilmIs2">Your movie message goes here!</p>.
This is a sample folder message. Use <p class="gkFolderIs2">Your folder message goes here!</p>.
This is a group calendar message. Use <p class="gkGroupIs2">Your group message goes here!</p>.
This is a sample house message. Use <p class="gkHouseIs2">Your house message goes here!</p>.
This is a sample image message. Use <p class="gkImageIs2">Your image message goes here!</p>.
This is a sample information message. Use <p class="gkInfromationIs2">Your information message goes here!</p>.
This is a sample magnifier message. Use <p class="gkMagnifierIs2">Your magnifier message goes here!</p>.
This is a sample money message. Use <p class="gkMoneyIs2">Your money message goes here!</p>.
This is a sample page message. Use <p class="gkPageIs2">Your page message goes here!</p>.
This is a sample camera message. Use <p class="gkCameraIs2">Your camera message goes here!</p>.
This is a calendar feed message. Use <p class="gkCalendarIs2">Your calendar message goes here!</p>.
This is a sample contact message. Use <p class="gkContactIs2">Your contact message goes here!</p>.
This is a sample facebook message. Use <p class="gkFacebookIs2">Your facebook message goes here!</p>.
This is a sample like it message. Use <p class="gkLikeItIs2">Your like it message goes here!</p>.
This is a sample twitter message. Use <p class="gkTwitterIs2">Your twitter message goes here!</p>.
This is a sample video message. Use <p class="gkVideoIs2">Your video message goes here!</p>.
This is a sample youtube message. Use <p class="gkYoutubeIs2">Your youtube message goes here!</p>.
Icon set 3
This is a sample audio message. Use <p class="gkAudioIs3">Your audio message goes here!</p>.
This is a sample camera message. Use <p class="gkCameraIs3">Your camera message goes here!</p>.
This is a sample lock message. Use <p class="gkLockIs3">Your lock message goes here!</p>.
This is a sample user message. Use <p class="gkUserIs3">Your user message goes here!</p>.
This is a sample cart message. Use <p class="gkCartIs3">Your cart message goes here!</p>.
This is a sample chart bar message. Use <p class="gkChartBarIs3">Your chart bar message goes here!</p>.
This is a sample config message. Use <p class="gkConfigIs3">Your config message goes here!</p>.
This is a sample configuration message. Use <p class="gkConfig2Is3">Your configuration message goes here!</p>.
This is a sample computer message. Use <p class="gkComputerIs3">Your computer message goes here!</p>.
This is a sample coffe message. Use <p class="gkCoffeIs3">Your coffe message goes here!</p>.
This is a sample cross message. Use <p class="gkCrossIs3">Your cross message goes here!</p>.
This is a sample error message. Use <p class="gkErrorIs3">Your error message goes here!</p>.
This is a sample house message. Use <p class="gkHouseIs3">Your house message goes here!</p>.
This is a sample information message. Use <p class="gkInformationIs3">Your inforation message goes here!</p>.
This is a sample magnifier message. Use <p class="gkMagnifierIs3">Your magnifier message goes here!</p>.
This is a sample page message. Use <p class="gkPageIs3">Your page message goes here!</p>.
This is a sample lock message. Use <p class="gkLockIs3">Your lock message goes here!</p>.
This is a sample camera message. Use <p class="gkCameraIs3">Your camera message goes here!</p>.
This is a sample star message. Use <p class="gkStarIs3">Your star message goes here!</p>.
This is a sample telephone message. Use <p class="gkTelephoneIs3">Your telephone message goes here!</p>.
Tooltips
Here are some examples of a ClassicThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!, CriticalCriticalThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!, HelpHelpThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own!, InformationInformationThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own! and WarningWarningThis is just an example of what you can do using a CSS tooltip, feel free to get creative and produce your own! CSS powered tooltip. This is just an example of what you can do so feel free to get creative and produce your own!
Highlights
This is a highlight phrase. Use <span class="gkHighlight1">Your highlight phrase goes here!</span>.
This is a highlight phrase. Use <span class="gkHighlight2">Your highlight phrase goes here!</span>.
This is a highlight phrase. Use <span class="gkHighlight3">Your highlight phrase goes here!</span>.
This is a highlight phrase. Use <span class="gkHighlight4">Your highlight phrase goes here!</span>.
Code
Below is a sample of <pre> or <div class="gkCode1">
#wrapper {
position: relative;
float: left;
display: block;
}
Below is a sample of <div class="gkCode2">
position: relative;
float: left;
display: block;
}
Below is a sample of <div class="gkCode3"><h4>Name of your file</h4>Here goes your code</div>
File
#wrapper {position: relative;
float: left;
display: block;
}
Unordered lists
Types of unordered lists
|
<ul class="gkBullet1">
|
<ul class="gkBullet2">
|
<ul class="gkBullet3">
|
|
<ul class="gkBullet4">
|
<ul class="gkCircle1">
|
<ul class="gkCircle2">
|
|
<ul class="gkSquare1">
|
<ul class="gkSquare2">
|
<ul class="gkSquare3">
|
Ordered lists
Types of ordered list:
|
<ol class="gkRoman">
|
<ol class="gkDec">
|
<ol class="gkAlpha">
|
<ol class="gkDecimalLeadingZero">
|
<div class="gkNumber1"><p><span>here goes a number</span>and here text of element</p>
01 Element
02 Element
<div class="gkNumber2"><p><span>here goes a number</span>and here text of element</p>
01 Element
02 Element
Abbrs and acronyms
This is a sample of an abbreviation Dr. Use <abbr title="Here goes full word or phrase">here goes an abbreviation</abbr>
This is a sample of an acronym NATO. Use <acronym title="Here goes full phrase">here goes an acronym</abbr>
Definition lists
Below are samples of definition lists
<dl class="gkDef1"><dt>Here goes the word you're about to define</dt><dd>Here goes definition</dd></dl>
- Butter
- it is a dairy product made by churning fresh or fermented cream or milk. It is generally used as a spread and a condiment, as well as in cooking applications such as baking, sauce making, and frying. Butter consists of butterfat, water and milk proteins.
- Dairy milk
- is an opaque white liquid produced by the mammary glands of mammals (including monotremes). It provides the primary source of nutrition for newborn mammals before they are able to digest other types of food.
<dl class="gkDef2"><dt>Here goes the word you're about to define</dt><dd>Here goes definition</dd></dl>
- Butter
- it is a dairy product made by churning fresh or fermented cream or milk. It is generally used as a spread and a condiment, as well as in cooking applications such as baking, sauce making, and frying. Butter consists of butterfat, water and milk proteins.
- Dairy milk
- is an opaque white liquid produced by the mammary glands of mammals (including monotremes). It provides the primary source of nutrition for newborn mammals before they are able to digest other types of food.
<dl class="gkDef3"><dt>Here goes the word you're about to define</dt><dd>Here goes definition</dd></dl>
- Butter
- it is a dairy product made by churning fresh or fermented cream or milk. It is generally used as a spread and a condiment, as well as in cooking applications such as baking, sauce making, and frying. Butter consists of butterfat, water and milk proteins.
- Dairy milk
- is an opaque white liquid produced by the mammary glands of mammals (including monotremes). It provides the primary source of nutrition for newborn mammals before they are able to digest other types of food.
Legends
Legend
This is a sample legend note. Use <div class="gkLegend1"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend2"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend3"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend4"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend5"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend6"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Legend
This is a sample legend note. Use <div class="gkLegend7"> <h4> Title </h4> <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> </div>.
Dropcaps
This is a sample text with Dropcap. Use <p> <span class="gkDropcap1">t</span> to make the first letter larger. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend. Vivamus ullamcorper est id libero aliquam ullamcorper. Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut..</p>.
This is a sample text with Dropcap. Use <p> <span class="gkDropcap2">t</span> to make the first letter larger. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend. Vivamus ullamcorper est id libero aliquam ullamcorper. Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut..</p>.
This is a sample text with Dropcap. Use <p class="gkDropcap3"> <span class="gkDropcap3">t</span> to make the first letter larger. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend. Vivamus ullamcorper est id libero aliquam ullamcorper. Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut..</p>.
Floated blocks
Below are samples of text in which part of it is displayed in a separate block
<p> Here goes main part of the text <span class="gkBlockTextLeft">Block of text</span>rest of the text</p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue.Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut. Morbi cursus est vel velit hendrerit dictum.
<p> Here goes main part of the text <span class="gkBlockTextRight">Block of text</span>rest of the text</p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue.Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut. Morbi cursus est vel velit hendrerit dictum.
<p> Here goes main part of the text <span class="gkBlockTextCenter">Block of text</span>rest of the text</p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue. Duis quis quam sed purus porta eleifend.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum condimentum pulvinar justo, sed faucibus ligula feugiat ac. Morbi quis enim nulla, vel congue augue.Donec eget dignissim augue. Donec ante felis, aliquam ut consequat eget, lobortis dapibus risus. Aliquam laoreet enim et lectus ornare hendrerit. Aliquam rhoncus enim libero. Morbi aliquam, nibh mattis feugiat dapibus, nisi massa adipiscing justo, sit amet condimentum urna ipsum et lacus. Nam fermentum, eros quis ullamcorper convallis, libero mauris lacinia eros, sed tempus leo lorem vitae purus. Nunc a malesuada felis. Cras ultrices sapien eu nisi elementum non blandit urna sodales. Duis accumsan cursus massa, eu facilisis diam porta ut. Morbi cursus est vel velit hendrerit dictum.
Other span blocks
This is a sample pin note. Use <span class="gkClear">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkClear-1">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkClear-2">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-1">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-2">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-3">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-4">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-5">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-6">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
This is a sample pin note. Use <span class="gkColor-7">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Integer urna. Aenean tristique. Fusce a neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </span>
Blockquotes
This is a sample quote text. Use < blockquote > Your quoted text goes here!< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote1"><div> Your quoted text goes here!< /div>< /div>< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote2"><div> Your quoted text goes here!< /div>< /div>< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote3"><div> Your quoted text goes here!< /div>< /div>< /blockquote >
This is a sample quote text. Use< blockquote><div class="gkBlockquote4"><div> Your quoted text goes here!< /div>< /div>< /blockquote >Tables
Table Header (thead) Table Footer (tfoot) Column 1 Column 2 Cell 3 - part of tbody Cell 4 - part of tbody Cell 5 - part of tbody Cell 6 - part of tbody Cell 7 - part of tbody Cell 8 - part of tbody
Table Header (thead) Table Footer (tfoot) Column 1 Column 2 Cell 1 - part of tbody Cell 2 - part of tbody Cell 3 - part of tbody Cell 4 - part of tbody Cell 5 - part of tbody Cell 6 - part of tbody
Template additional styles
In order to get the video you have to use code like this:
<a class="gk_video_frame" href="http://www.vimeo.com/16274294" rel="mediabox[720 410]">
<img src="/images/stories/demo/demo_video_1.png" border="0" alt="Video 1" />
<span class="gk_vframe">Frame</span>
<span class="gk_voverlay">Overlay</span>
Watch the video
</a>
As a href attribute you set the video address. In the rel attribute you can specify the video size. Image element is the thumbnail in the frame.
You can also create a blocks with icons. The structure is always similar - you have to change only second class near gk_block:
<div class="gk_block tablet">
<h3><a href="#">Mobile Ready</a></h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum</p>
</div>
Available blocks styles with classes:
android
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
blackberry
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
calendar
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
chat
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
clock
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
cog
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
firefox
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
info
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
mac
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
mobilephone
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
phone
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
recycledbag
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
shoppingcart
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
tablet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
user
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras quis erat elit. Donec pretium condimentum
All temporary files created by Recital are stored in the directory specified by the environment variable DB_TMPDIR.
mkdir /opt/recital/tmp
mount -t tmpfs -o size=1g recitaltmpfs /usr/recital/tmp
auth sufficient pam_krb5.so try_first_pass
auth sufficient pam_unix.so shadow nullok try_first_pass
account required pam_unix.so broken_shadow
account [default=bad success=ok user_unknown=ignore] pam_krb5.so
The Openfiler NAS/SAN Appliance (NSA) is a Storage Management Operating System / NAS Appliance distribution. It is powered by the Linux 2.6 kernel and Open Source applications such as Apache, Samba, LVM2, ext3, Linux NFS and iSCSI Enterprise Target. Openfiler combines these ubiquitous technologies into a small, easy to manage solution fronted by a powerful web-based management interface. Openfiler allows you to build a Network Attached Storage (NAS) and/or Storage Area Network (SAN) appliance, using industry-standard hardware, in less than 10 minutes of installation time.
Building upon the popularity of server virtualization technologies such as VMware, Virtual Iron, and Xen, Openfiler can also be deployed as a virtual machine instance or on a bare metal machine.
This deployment flexibility of Openfiler ensures that storage administrators are able to make the best use of system performance and storage capacity resources when allocating and managing networked storage in a multi-platform environment.
Openfiler is ideally suited for use with High Availability Recital applications as it incorporates:
- Heartbeat cluster manager
- drbd disk replication
- CIFS
- NFS
- Software and hardware RAID
- FTP
- rsync
- HTTP/DAV
- iSCSI
- LVM2
- Multiple NIC bonding for High Availability
- Powerful web-based GUI
The goal of the SCPlugin project is to integrate Subversion into the Mac OS X Finder.
- Support for Subversion.
- Access to commonly used source control operations via contextual menu [screenshot]
- Dynamic icon badging for files under version control. Shows the status of your files visually. [ screenshot ]
I am pleased to finally report that the Centos release of Redhats 5.3 has been built and is available for download from http://www.centos.org/
The highlights of this release can be found at the following URL: http://www.redhat.com
The main areas of interest in my opinion excluding critical secirty fixes are:
- Updated hardwaresupport support for the new Intel Core i7 (Nehalem) chips
- Beefed up virtualiseation support increasing CPU and Ram limits of Virtual machines.
- Inclusion of the fully open sourced OpenJDK. This makes Red Hat Enterprise Linux 5.3 the first enterprise-ready solution with a fully open source Java stack when combined with JBoss Enterprise Application Platform.
For those who already have Centos 5.2 installed you can simply receive the update via Yum.
Before you do the following, check that you do not have 3rd party repo's and the Centos-testing repo enabled.
You can display the currently enabled repo's using the following command.
$ yum repolist
Then as root at the prompt type:
$ yum update
- edit the .vmx file and add the following line
uuid.action = "keep"
- set the virtual machine to power off when vmware is stopped. Do not set this to "suspend" or it will not restart on the backup machine.