Recital

Login Register
Subclipse is an Eclipse Team Provider plug-in providing support for Subversion within the Eclipse IDE. This plugin is required in order to use the recital eclipse workspace.
Published in Blogs
Read more...

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">

#wrapper {
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">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkBullet2">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkBullet3">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkBullet4">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkCircle1">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkCircle2">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkSquare1">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkSquare2">

  • Element 1
  • Element 2
  • Element 3

<ul class="gkSquare3">

  • Element 1
  • Element 2
  • Element 3

Ordered lists

Types of ordered list:

<ol class="gkRoman">

  1. Element
  2. Element
  3. Element
  4. Element

<ol class="gkDec">

  1. Element
  2. Element
  3. Element
  4. Element

<ol class="gkAlpha">

  1. Element
  2. Element
  3. Element
  4. Element

<ol class="gkDecimalLeadingZero">

  1. Element
  2. Element
  3. Element
  4. Element

<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

mail

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

Published in Blogs
Read more...
This MSDN article provides good details about IE CSS compatibility issues.
http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx
 
Published in Blogs
Read more...

sernet.de maintain the latest Samba releases in a yum repository, allowing for an easy and painless install or upgrade of Samba on your yum based Linux distribution.

To install the latest available Samba execute the following commands at the shell:

# cd /etc/yum.repos.d
# wget http://ftp.sernet.de/pub/samba/experimental/centos/5/sernet-samba.repo
# yum install samba

To upgrade an existing Samba install:

# cd /etc/yum.repos.d
# wget http://ftp.sernet.de/pub/samba/experimental/centos/5/sernet-samba.repo
## Note: edit sernet-samba.repo and add the line "gpgcheck=false" otherwise 
## it will not install as it is not signed
# yum update samba

Note: These steps will install the very latest build available at sernet.de.
If you require a less bleeding edge version of Samba, use the "tested" repo. This can be found at the following URL: http://ftp.sernet.de/pub/samba/tested/rhel/5

Published in Blogs
Read more...
The ShellEd plugin is a good shell editor for Eclipse
Published in Blogs
Read more...

This article discusses Recital database security: from operating system file permissions through file and field protection to DES3 encryption.

Overview

A company's data is extremely valuable and must be protected, both in operation and in physical file format. Recital products provide a range of ways to protect your data.

Operating System File Permissions

The most basic level of database security is provided by the operating system. Recital database tables and indexes are individual files with their own respective operating system file permissions. Read permission is required to open a table and write permission to update a table. If a user does not have read permission they are denied access. Without write permission, a table will be opened read-only.

Here the owner, root, and members of the recital group have write permission, so can update the example table unless additional protection applies. Other users can only open the example table read-only.

# ls -l example*
-rwxrwxr-x    1 root     recital       147 Nov 29 14:27 example.dbd
-rwxrwxr-x    1 root     recital     41580 Nov 29 14:27 example.dbf
-rwxrwxr-x    1 root     recital     13312 Nov 29 14:28 example.dbt
-rwxrwxr-x    1 root     recital     19456 Nov 29 14:28 example.dbx

Note: As in the example above, a table's associated files should have the same permissions as the table itself:

File Extension

File Type

.dbd

Dictionary

.dbf

Table

.dbt

Memo

.dbx

Index


Database Dictionary

Each Recital table may have a Database Dictionary. The Dictionary can be used both to protect the integrity of the data and to protect access to the data. This section covers Column Constraints, Triggers, Security and Protection.

Column Constraints: Data Integrity

The Dictionary attributes or constraints either prevent the entry of incorrect data, e.g. must_enter and validation or aid the entry of correct data, e.g. default, picture and choicelist. The Dictionary can be modified in the character mode CREATE/MODIFY STRUCTURE worksurface, via SQL statements, or in the Recital Enterprise Studio Database Administrator.


Click image to display full size

Fig 1: MODIFY STRUCTURE Worksurface: Dictionary.

The SQL Column Constraints are as follows:

Constraint

Description

AUTO_INCREMENT | AUTOINC

Used to auto increment the value of a column.

CALCULATED

Used to calculate the value of a column.

CHECK | SET CHECK

Used to validate a change to the value of a column.

DEFAULT

Used to set a default value for the specified column.

DESCRIPTION

Used set the column description for the specified column.

ERROR

Used to define an error message to be displayed when a validation check fails.

FOREIGN KEY

Used to define a column as a Foreign Key for a parent table.

NOCPTRANS

Used to prevent code page translation for character and memo fields.

NOT NULL | NULL

Used to disallow/allow NULL values.

PRIMARY KEY

Used to define a table’s Primary Key.

RANGE

Used to specify minimum and maximum values for a date or numerical column.

RECALCULATE

Used to force recalculation of calculated columns when a column’s value changes.

REFERENCES

Used to create a relationship to an index key of another table.

UNIQUE

Used to define the column as a candidate index for the table


These can be specified in CREATE TABLE or ALTER TABLE statements:

exec sql
  OPEN DATABASE southwind;
exec sql
  ALTER TABLE customers ADD COLUMN timeref char(8) CHECK validtime(timeref)
  ERROR "Not a valid time string";

Click image to display full size

Fig 2: Database Administrator: Column Constraints and Attributes.

TRIGGERS

Table Level Triggers are event-driven procedures called before an I/O operation. These can be used to introduce another layer of checks before a particular operation is permitted to take place or to simply set up logging of those operations.

The CREATE/MODIFY STRUCTURE worksurface <TRIGGERS> menu bar option allows you to specify table level triggers. You may edit a trigger procedure from within the <TRIGGERS> menu by placing the cursor next to the procedure name and pressing the [HELP] key. A text window pops up for editing. If the table triggers are stored in separate <.prg> files, rather than in a procedure library, procedures need not be predefined (SET PROCEDURE) before using the table.


Click image to display full size

Fig 3: MODIFY STRUCTURE Worksurface: Triggers.

 

The following triggers can be selected and associated with a specified procedure name in the <TRIGGERS> menu.

Trigger

Description

UPDATE

The specified procedure is called prior to an update operation on the table. If the procedure returns .F., then the UPDATE is canceled.

DELETE

The specified procedure is called prior to a delete operation on the table. If the procedure returns .F., then the DELETE is canceled.

APPEND

The specified procedure is called prior to an append operation on the table. If the procedure returns .F., then the APPEND is canceled.

OPEN

The specified procedure is called after an open operation on the table.

CLOSE

The specified procedure is called prior to a close operation on the table.

ROLLBACK

The specified procedure is called when a user presses the [ABANDON] key in a forms based operation.


The Recital Enterprise Studio Database Administrator also allows you to associate existing programs as Table Trigger Procedures.

Click image to display full size

Fig 4: Database Administrator: Triggers.

 

Programmatically, Trigger Procedures can also be associated with a table using SQL. The following table constraints may be applied in the SQL CREATE TABLE and ALTER TABLE statements:

Trigger

Description

ONUPDATE

The specified procedure is called prior to an update operation on the table. If the procedure returns .F., then the UPDATE is canceled.
e.g. SQL> ALTER TABLE customer modify ONUPDATE "p_update";

ONDELETE

The specified procedure is called prior to a delete operation on the table. If the procedure returns .F., then the DELETE is canceled.
e.g. SQL> ALTER TABLE customer modify ONDELETE "p_delete";

ONINSERT

The specified procedure is called prior to an insert operation on the table. If the procedure returns .F., then the INSERT is canceled.
e.g. SQL> ALTER TABLE customer modify ONINSERT "p_insert";

ONOPEN

The specified procedure is called after an open operation on the table.
e.g. SQL> ALTER TABLE customer modify ONOPEN "p_open";

ONCLOSE

The specified procedure is called prior to a close operation on the table.
e.g. SQL> ALTER TABLE customer modify ONCLOSE "p_close";

ONROLLBACK

The specified procedure is called when a user presses the [ABANDON] key in a forms based operation.
e.g. SQL> ALTER TABLE customer modify ONROLLBACK "p_rollback";


SECURITY

As mentioned above, all Recital files are subject to Operating System read and write permissions. These permissions can be further refined, while still using the Operating System user and group IDs, in the Security and Protection sections of the Dictionary. The Security section handles table based operations and the Protection section focuses on individual fields.

Security and Protection rules can be defined in the CREATE/MODIFY STRUCTURE worksurface of Recital Terminal Developer, via the SQL GRANT and REVOKE statements or in the Recital Enterprise Studio Database Administrator.

Click image to display full size

Fig 5: MODIFY STRUCTURE Worksurface: Security.

 

The Security section has table operations for which Access Control Strings can be specified. An Access Control String (ACS) is a range of valid user identification codes, and is used to restrict table operations to certain individuals or groups. Each user on the system is allocated a group number and a user number. The user identification code is the combination of group and user numbers. When constructing an Access Control String of linked user identification codes, wild card characters may be used.

Example ACS

Description

[1,2]

In group 1, user 2

[100,*]

In group 100, all users

[2-7,*]

In groups 2-7, all users

[*,100-200]

In all groups, users 100-200

[1,*]&[2-7,1-7]

In group 1, all users, in groups 2-7, users 1-7


Please note that the maximum ACS length is 254 characters. OpenVMS group and user numbers are stored and specified in octal. On other Operating Systems, group and user numbers are stored and specified in decimal.

Access Control Strings may be associated with the following operations:

Operation

Description

READONLY

Users specified in the ACS have read-only access to the table. All other users have update access.

UPDATE

Users specified in the ACS have update access to the table. All other users are restricted to read-only access.

APPEND

Users specified in the ACS can append records into the table. No other users can append.

DELETE

Users specified in the ACS can delete records from the table. No other users can delete.

COPY

Users specified in the ACS can copy records from the table. No other users can copy.

ADMIN

Users specified in the ACS can use the following commands:
SET DICTIONARY TO
MODIFY STRUCTURE
PACK
ZAP
REINDEX
All other users cannot, except the creator of the table, who is always granted ADMIN access.


The corresponding SQL privileges are:

Operation

Description

SELECT

Users specified in the ACS may name any column in a SELECT statement. All other users have update access.

UPDATE

Users specified in the ACS may name any column in an UPDATE statement. All other users are restricted to read-only access.

INSERT

Users specified in the ACS can INSERT rows into the table. No other users can INSERT.

DELETE

Users specified in the ACS can DELETE rows from the table. No other users can DELETE.

ALTER

Users specified in the ACS can use the ALTER TABLE statement on this table.

READONLY

Users specified in the ACS may read any column in a SELECT statement. All other users have update access.


// Grant insert privilege for the customer table
exec sql
  OPEN DATABASE southwind;
exec sql
  GRANT UPDATE (lastname, firstname)
  INSERT ON customers
  TO '[20,100]'; 
	
// Grant all privileges to all users
exec sql
  OPEN DATABASE southwind;
exec sql
  GRANT ALL 
  ON shippers TO PUBLIC;

PROTECTION

Security and Protection rules can be defined in the CREATE/MODIFY STRUCTURE worksurface of Recital Terminal Developer, via the SQL GRANT and REVOKE statements or in the Recital Enterprise Studio Database Administrator.

Click image to display full size

Fig 6: Database Administrator: Protection.

 


The format of the ACS is the same as in <SECURITY> above. The following protection can be defined:

Operation

Description

READONLY

Users specified in the ACS have read-only access to the field. All other users have update access.

UPDATE

Users specified in the ACS have update access to the field. All other users are restricted to read-only access.


Recital Terminal Developer also has 'HIDDEN' Protection:

Operation

Description

HIDDEN

Users specified in the ACS see the 'hiddenfield'character rather than the data in the field. All other users see the data.


Hidden fields can be accessed and viewed on a work surface, but the field contains the hiddenfield character, ‘?’. If the field is referenced in an expression, it will contain the following: blanks for character fields, ‘F’ for logical fields, 00/00/0000 for date fields and blank for memo fields.

The corresponding SQL privileges are:

Operation

Description

SELECT

Users specified in the ACS may name the column in a SELECT statement. All other users have update access.

UPDATE

Users specified in the ACS may name the column in an UPDATE statement. All other users are restricted to read-only access.

READONLY

Users specified in the ACS may read the column in a SELECT statement. All other users have update access.


// Grant update privilege for columns lastname and firstname from the customer table
exec sql
  OPEN DATABASE southwind;
exec sql
  GRANT UPDATE (lastname, firstname)
  customers TO '[20,100]';

Encryption

From Recital 8.5 onwards, Recital installations that have the additional DES3 license option have the ability to encrypt the data held in Recital database tables. Once a database table has been encrypted, the data cannot be accessed unless the correct three-part encryption key is specified, providing additional security for sensitive data.

ENCRYPT

The ENCRYPT Recital 4GL command is used to encrypt the data in the specified table or tables matching a skeleton. If the skeleton syntax is used, then all matching tables will be given the same encryption key. The encryption key is a three part comma-separated key and may optionally be enclosed in angled brackets. Each part of the key can be a maximum of 8 characters. The key is DES3 encrypted and stored in a .dkf file with the same basename as the table. After encryption, the three parts of the key must be specified correctly before the table can be accessed.

// Encrypt individual tables
encrypt customers key "key_1,key_2,key_3"
encrypt employees key "<key_1,key_2,key_3>"

// Encrypt all .dbf files in the directory
encrypt *.dbf key "key_1,key_2,key_3"
SET ENCRYPTION

If a database table is encrypted, the correct three-part encryption key must be specified before the table's data or structure can be accessed. The SET ENCRYPTION TO set command can be used to specify a default encryption key to be used whenever an encrypted table is accessed without the key being specified. The encryption key is a three part comma-separated key.

If the command to access the table includes the key, either by appending it to the table filename specification or using an explicit clause, this will take precedence over the key defined by SET ENCRYPTION TO.

Issuing SET ENCRYPTION TO without a key causes any previous setting to be cleared. The key must then be specified for each individual encrypted table.

The default key defined by SET ENCRYPTION is only active when SET ENCRYPTION is ON. SET ENCRYPTION OFF can be used to temporarily disable the default key. The SET ENCRYPTION ON | OFF setting does not change the default key itself. SET ENCRYPTION is ON by default.

// Encrypt individual tables
encrypt customers key "key_1,key_2,key_3"
encrypt shippers key "key_2,key_3,key_4"
// Specify a default encryption key
set encryption to "key_1,key_2,key_3"
// Open customers table using the default encryption key
use customers
// Specify shippers table's encryption key
use shippers<key_2,key_3,key_4>
// Disable the default encryption key
set encryption to
// Specify the individual encryption keys
use customers encryption "key_1,key_2,key_3"
use shippers<key_2,key_3,key_4>
DECRYPT

The DECRYPT command is used to decrypt the data in the specified table or tables matching a skeleton. The specified key must contain the three part comma-separated key used to previously encrypt the table and may optionally be enclosed in angled brackets. The skeleton syntax can only be used if all tables matching the skeletonhave the same key.

The DECRYPT command decrypts the data and removes the table’s .dkf file. After decryption, the key need no longer be specified to gain access to the table.

// Decrypt individual tables
decrypt customers key "key_1,key_2,key_3"
decrypt employees key "<key_1,key_2,key_3>"

// Decrypt all .dbf files in the directory
decrypt *.dbf key "key_1,key_2,key_3"

All of the following commands are affected when a table is encrypted:

  • APPEND FROM
  • COPY FILE
  • COPY STRUCTURE
  • COPY TO
  • DIR
  • USE
  • SQL INSERT
  • SQL SELECT
  • SQL UPDATE
APPEND FROM
Used to append records to the active table from another table.
// The key must be specified for an encrypted source table
use mycustomers append from customers encryption "key_1,key_2,key_3"; for country = "UK"
COPY FILE
Used to copy a file.
// The key file must also be copied for an encrypted source table
// as the target table will be encrypted
encrypt customers key "key_1,key_2,key_3" copy file customers.dbf to newcustomers.dbf copy file customers.dkf to newcustomers.dkf use newcustomers encryption "key_1,key_2,key_3"
COPY STRUCTURE
Used to copy a table's structure to a new table.
// The key file is automatically copied for an encrypted source table
// and the target table encrypted
encrypt customers key "key_1,key_2,key_3"
use customers encryption "key_1,key_2,key_3" copy structure to blankcust use blankcust encryption "key_1,key_2,key_3"
COPY TO
Used to copy a table.
// By default, the key file is automatically copied for an encrypted
// source table and the target table encrypted with the same key
encrypt customers key "key_1,key_2,key_3"
use customers encryption "key_1,key_2,key_3"
copy to newcustomers
use newcustomers encryption "key_1,key_2,key_3"

// You can also create a copy with a different key
encrypt customers key "key_1,key_2,key_3"
use customers encryption "key_1,key_2,key_3"
copy to newcustomers encrypt "newkey_1,newkey_2,newkey_3"
use newcustomers encryption "newkey_1,newkey_2,newkey_3"

// Or create a decrypted copy
encrypt customers key "key_1,key_2,key_3"
use customers encryption "key_1,key_2,key_3"
copy to newcustomers decrypt
use newcustomers

// You can also create an encrypted copy of a non-encrypted source table
use orders
copy to encorders encrypt "newkey_1,newkey_2,newkey_3"
use encorders encryption "newkey_1,newkey_2,newkey_3"
DIR
Used to display a directory listing of tables.
// Encrypted tables are flagged as such with (DES3)
> open database southwind
> dir
Current database: southwind
Tables				# Records		Last Update	Size		Dictionary	Triggers	Security
categories.dbf			8			01/10/06		24576	None		None		None
cisamdemo.dbf       ---> CISAM/Bridge        [cisamdemo]
customers.dbf (DES3)		91			05/12/04		49600	None		None		None
employees.dbf			9			05/12/04		25520	None		None		None
example.dbf   (DES3)		100			12/24/05		38080	Yes		Yes		None
order_details.dbf			2155			05/12/04		296320	None		None		None
orders.dbf				829			05/12/04		232704	None		None		None
products.dbf			77			05/12/04		37112	None		None		None
productsbyname.dbf		77			05/12/04		29104	None		None		None
shippers.dbf  (DES3)		3			05/12/04		20864	None		None		None
suppliers.dbf			29			12/08/05		29992	Yes		None		None

   0.765 MB in 11 files.
   1.093 GB remaining on drive.
USE
Used to open a table.
// The three part key must be specified to open an
// encrypted table.  All of the following are valid.
// 1. Specifying a default encryption key before opening the table
set encryption to "key_1,key_2,key_3"
use customers
// 2. Appending the key to the filename
use customers<key_1,key_2,key_3>
// 3. Using the ENCRYPTION clause, optionally specifying angled brackets
use customers encryption "key_1,key_2,key_3"
use customers encryption "<key_1,key_2,key_3>"
SQL INSERT
Used to add a row to a table via SQL.
// The three part key can be specified using a
// default encryption key before opening the table
exec sql
  OPEN DATABASE southwind;
exec sql
  SET ENCRYPTION TO "key_1,key_2,key_3";
exec sql
  INSERT INTO customers
  (customerid, companyname)
  VALUES
  ('RECIT','Recital Corporation');
// Or by appending the key to the filename
exec sql
  OPEN DATABASE southwind;
exec sql
  INSERT INTO customers<key_1,key_2,key_3>
  (customerid, companyname)
  VALUES
  ('RECIT','Recital Corporation');
SQL SELECT
Used to return data from a table via SQL.
// The three part key can be specified using a
// default encryption key before opening the table
exec sql
  OPEN DATABASE southwind;
exec sql
  SET ENCRYPTION TO "key_1,key_2,key_3";
exec sql
  SELECT * FROM customers;
// Or by appending the key to the filename
exec sql
  OPEN DATABASE southwind;
exec sql
  SELECT * FROM customers<key_1,key_2,key_3>;
SQL UPDATE
Used to update data in a table via SQL.
// The three part key can be specified using a
// default encryption key before opening the table
exec sql
  OPEN DATABASE southwind;
exec sql
  SET ENCRYPTION TO "key_1,key_2,key_3";
exec sql
  UPDATE customers
  SET companyname='Recital Corporation Inc.'
  WHERE customerid='RECIT';
// Or by appending the key to the filename
exec sql
  OPEN DATABASE southwind;
exec sql
  UPDATE customers<key_1,key_2,key_3>
  SET companyname='Recital Corporation Inc.'
  WHERE customerid='RECIT';

Summary

Recital offers a range of ways to keep your data secure. These start with the Operating System read/write permissions, which can be further refined to the level of table I/O operations and then field access in the Dictionary based Security and Protection rules. The Dictionary also provides the means to protect the integrity of the data via data validation and to assist in correct data entry through the use of choicelists, help messages and picture clauses etc. A further role of the Dictionary is in the provision of Table Triggers, which can be used to enable a programmatic response to table operations to add in additional checks or audit trails. For the most sensitive data, DES3 encryption is the ultimate protection: encrypting the physical data on the disk and only permitting table access on the production of the three part encryption key.

Published in Blogs
Read more...

In this article Barry Mavin, CEO and Chief Software Architect for Recital provides details on how the Recital Database Server can be used to provide a solution for Universal Data Integration.

Overview

The Recital Database Server handles universal cross-platform data access to a wide range of data sources. The database server natively handles full remote SQL data access to Recital, Visual FoxPro, FoxPro, FoxBASE, Clipper and older dBase data. Using Bridges, it handles full remote SQL data access to C-ISAM and OpenVMS RMS. Using gateway connections, it handles full remote SQL data access to Oracle, MySQL, PostgreSQL, SQL Server, server-side ODBC, server-side JDBC and server-side OLE DB data sources. With its ability to access data using server-side ODBC, JDBC and OLE DB drivers from clients on all supported operating systems (Windows, Linux, Unix, OpenVMS), the Recital Database Server is an ideal Data Integration Solution for applications of all sizes and complexity.

Universal Data Integration Solutions

There are several ways in which data may be accessed by the Database Server.

Table 1:

Client Universal Data Access solutions for accessing local or remote data.


Client Solution
Recital Use remote gateway connections
Visual FoxPro Use the Universal ODBC Driver
Java (all platforms) Use the Universal JDBC Driver
.NET Framework Use the Universal .NET Data Provider
Microsoft Office Use the Universal ODBC Driver
Windows Mobile Use the Universal Compact Framework .NET Data Provider
PHP on Linux Use the Universal ODBC Driver for Linux
Mono on Linux Use the Universal .NET Data Provider
Others If the data source you want to access is not in the list above, then you can use a remote ODBC, JDBC or OLE DB gateway.
You can find examples of connection strings for most ODBC and OLE DB data sources by clicking here.

Table 2:

Windows Server Universal Data Access solutions accessible from any remote client running on Windows, Linux, Unix or OpenVMS:


Data Source Solution
Recital Native support (See table 1)
Visual FoxPro Native support (See table 1)
FoxPro Native support (See table 1)
FoxBASE Native support (See table 1)
Clipper Native support (See table 1)
dBase Native support (See table 1)
C-ISAM Use a bridge (See table 1)
Access Use a gateway connection
gateway="oledb:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\somepath\mydb.mdb;User Id=admin;Password=;"
Exchange Use a gateway connection
gateway="oledb:Provider=ExOLEDB.DataSource;Data Source=http://servername/publicstore"
Excel Use a gateway connection
gateway="oledb:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;"
Oracle Use a gateway connection
gateway="oledb:Provider=msdaora;Data Source=TheOracleDB;User Id=xxxxx;Password=xxxxx;"
SQL Server Use a gateway connection
gateway="oledb:Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"
MySQL Use a gateway connection
gateway="oledb:Provider=MySQLProv;Data Source=mydb;User Id=xxxxx;Password=xxxxx;"
IBM DB2 Use a gateway connection
gateway="oledb:Provider=DB2OLEDB;Network Transport Library=TCPIP;Network Address=XXX.XXX.XXX.XXX;Initial Catalog=MyCtlg;Package Collection=MyPkgCol;Default Schema=Schema;User ID=MyUser;Password=MyPW"
Sybase ASA Use a gateway connection
gateway="oledb:Provider=ASAProv;Data source=myASA"
Sybase ASE Use a gateway connection
gateway="oledb:Provider=Sybase.ASEOLEDBProvider;Srvr=myASEserver,5000;Catalog=myDBname;User Id=username;Password=password"
IBM Informix Use a gateway connection
gateway="oledb:Provider=Ifxoledbc.2;password=myPw;User ID=myUser;Data Source=dbName@serverName;Persist Security Info=true"
Ingres Use a gateway connection
gateway="odbc:dsn=data_source_name"
Firebird Use a gateway connection
gateway="odbc:dsn=data_source_name"
IBM AS400 iSeries Use a gateway connection
gateway="oledb:PROVIDER=IBMDA400; DATA SOURCE=MY_SYSTEM_NAME;USER ID=myUserName;PASSWORD=myPwd"
Interbase Use a gateway connection
gateway="oledb:provider=sibprovider;location=localhost:;data source=c:\databases\gdbs\mygdb.gdb;user id=xxxxx;password=xxxxx"
Others

If the data source you want to access is not in the list above, then you can use server-side ODBC, JDBC or OLE DB.
You can find examples of connection strings for most ODBC and OLE DB data sources by clicking here.
Full details on using server-side JDBC drivers can be found here.
Full details on using server-side ODBC drivers can be found here.
Full details on using server-side OLE DB drivers can be found here.


Table 3:

Linux and Unix Server Universal Data Access solutions accessible from any remote client running on Windows, Linux, Unix or OpenVMS:


Data Source Solution
Recital Native support (See table 1)
Visual FoxPro Native support (See table 1)
FoxPro Native support (See table 1)
FoxBASE Native support (See table 1)
Clipper Native support (See table 1)
dBase Native support (See table 1)
C-ISAM Use a bridge (See table 1)
Oracle Use a gateway connection
gateway="oracle:Connection_String"
MySQL Use a gateway connection
gateway="mysql:Connection_String"
IBM DB2 Use a gateway connection
gateway="db2:Connection_String"
PostgreSQL Use a gateway connection
gateway="postgres:Connection_String"
Others

If the data source you want to access is not in the list above, then you can use a server-side JDBC driver.
Full details on using server-side JDBC drivers can be found here.


Table 4:

OpenVMS Server Universal Data Access solutions accessible from any remote client running on Windows, Linux, Unix or OpenVMS:


Data Source Solution
Recital Native support (See table 1)
Visual FoxPro Native support (See table 1)
FoxPro Native support (See table 1)
FoxBASE Native support (See table 1)
Clipper Native support (See table 1)
dBase Native support (See table 1)
RMS Use a bridge (See table 1)
Others

If the data source you want to access is not in the list above, then you can use a server-side JDBC driver.

Supported Data Sources

Native Data Access

The Recital Database Server has native built-in support for the following data sources:

  • Recital
  • Visual FoxPro
  • FoxPro
  • FoxBASE
  • Clipper
  • dBase

You can setup tables to work with using the Database Administration Tool in Recital Enterprise Studio.

Bridges

Using Bridges, you can access the following data sources as if they were standard Recital/FoxPro tables:

  • CISAM
  • OpenVMS RMS

You can setup bridges using the Database Administration Tool in Recital Enterprise Studio.

Gateways/Connections

Using Gateways, you can transparently access the following local or remote data sources:

  • Recital
  • Oracle
  • ODBC (Server-side ODBC data sources)
  • JDBC (Server-side JDBC data sources)
  • OLEDB Use this to connect to SQL Server and other Windows OLE DB data sources)
  • MySQL
  • PostgreSQL

Remote Data Object functions

Recital 10 includes a complete and robust set of data source independent functions for accession MySQL, Oracle, DB2 and Postgres. This article explains how to use them.

Client Data Access drivers

Included with the Recital Database Server are three Client drivers. These Client drivers can access any data sources supported by the Recital Database Server. They are not restricted to accessing only Recital data. They can be used to access server-side ODBC, JDBC and OLE DB data sources also.

Recital Universal .NET Data Provider

Use this client driver when building .NET applications with Visual Studio .NET. A data provider in the .NET Framework serves as a bridge between an application and a data source. A data provider is used to retrieve data from a data source and to reconcile changes to that data back to the data source.

Key features of the Recital Universal .NET Data Provider:

  • Fully Internet enabled
    The Recital Universal .NET Data Provider works across the internet providing access to a wide range of data sources located on remote servers running Windows, Linux, Unix and OpenVMS.
  • SQL Server compatible
    The Recital Universal .NET Data Provider is plug compatible with the .NET Framework SQL Server Data Provider.
  • Cross-platform Data Integration
    Using the Recital Universal .NET Data Provider, you can connect to remote Windows, Linux, Unix or OpenVMS servers and access any data source supported by the Recital Database Server.
  • Managed code
    The Recital Universal .NET Data Adaptor written in C# is 100% .NET Framework managed code.
  • Runs on Windows Mobile
    The Recital Universal .NET Data Adaptor runs under the .NET Compact Framework on Windows Mobile.
Recital Universal JDBC Driver

The JDBC API is the industry standard for database-independent connectivity between the Java programming language and a wide range of databases. The JDBC API provides a call-level API for SQL-based database access. JDBC technology allows you to use the Java programming language to exploit "Write Once, Run Anywhere" capabilities for applications that require access to enterprise data.

Key features of the Recital Universal JDBC Driver:

  • Fully Internet enabled
    The Recital Universal JDBC driver works across the internet providing access to a wide range of data sources located on remote servers running Windows, Linux, Unix and OpenVMS.
  • JDBC 3.0 API
    The Recital Universal JDBC driver supports the JDBC 3.0 API.
  • Pure Java Type 3 Driver
    The Recital Universal JDBC driver is a 100% pure Java Type 3 driver.
  • Full Access to Metadata
    The JDBC API provides metadata access that enables the development of sophisticated applications that need to understand the underlying facilities and capabilities of a specific database connection.
  • Cross-platform Data Integration
    Using the Recital Universal JDBC driver, you can connect to remote Windows, Linux, Unix or OpenVMS servers and access any data source supported by the Recital Database Server.
  • No Installation
    A pure JDBC technology-based driver does not require special installation; it is automatically downloaded as part of the applet that makes the JDBC calls. The Recital Universal JDBC Driver is 100% java.
Recital Universal ODBC Driver

Connect to remote data from Microsoft Office or other applications that support ODBC data access. The Recital Universal ODBC Driver is also available for Linux and Unix.

Key features of the Recital Universal ODBC Driver:

  • Fully Internet enabled
    The Recital Universal ODBC driver works across the internet providing access to a wide range of data sources located on remote servers running Windows, Linux, Unix and OpenVMS.
  • Works with Crystal Reports
    The Recital Universal ODBC driver supports the SQL syntax generated by Crystal Reports.
  • Works with Microsoft Office
    The Recital Universal ODBC driver works with Microsoft Office products.
  • Works with PHP on Linux
    The Recital Universal ODBC driver is available for Linux and works with PHP.
Published in Blogs
Read more...

In this article Barry Mavin explains step by step how to setup a Linux HA (High Availability) cluster for the running of Recital applications on Redhat/Centos 5.3 although the general configuration should work for other linux versions with a few minor changes.

Published in Blogs
Read more...

When stress testing our loadbalancer, i was unable to get more than 20 reliable ssh connections. The following error would be reported.

ssh_exchange_identification: Connection closed by remote host

The resolution for this is quite simple.

Edit the /etc/ssh/sshd_config file and increase the MaxStartups. On my server i set this to 200.

Edit /etc/sysctrl.conf and add the following line:

net.core.netdev_max_backlog = 3000

Then apply this change:

# sysctl -p

 

Published in Blogs
Read more...
 
Another useful article on IBM developerworks shows how to build PHP extensions using SWIG. You can find the article here.
Published in Blogs
Read more...

Copyright © 2025 Recital Software Inc.

Login

Register

User Registration
or Cancel