Compiled by JohntheFish with additional input from Jordanlev, Mainio, Mesuva and Greg Joyce
These are the sorts of things a beginner may find useful when first getting their hands dirty with Concrete5. Terminology, resources on the web and in books.
(Any ideas for additional resources to add - please PM)
HTML is the language web pages are written in. It consists of text that is structured by tags. When you look at it in a text editor, tags look like <tagname> and </tagname> to mark the start and end of what a tag applies to. What tags do is further controlled by attributes.
Within a tag, attributes look like <tagname attributename="attribute value" >
The most confusing mistake beginners make with HTML is to not end a tag. For example, if a block is started with <div> and not ended with </div>, it will carry on forever and distort how everything below it is shown on the page.
Concrete5 outputs web pages as HTML, but you don’t need to know anything about HTML to write content for your Concrete5 site.
Whilst HTML tags create the structure of a web page, how that is formatted on a web browser is controlled by styles defined in a style sheet. The ‘cascading’ part comes from the way multiple styles and style sheets interact to come up with the final way an HTML page is formatted.
Concrete5 themes use CSS to make web pages look good. When you use the Concrete5 dashboard to change the font or colour of text across your site, Concrete5 changes the CSS for you.
PHP is a computer programming language used to make the HTML for web pages interact with the user (or with other things like a database). A web page that is written in HTML is static like a printed page of paper. Using PHP with HTML enables the page to become dynamic, doing things like reading information from forms and showing the results.
Concrete5 is written in PHP, but you don’t need to know any more unless you want to write blocks, add-ons or themes.
A database is a way for a computer to store and organise information. MySQL is the name of a popular database used by Concrete5. PHP interacts with the MySQL database using SQL, which is another computer language designed for working with databases.
JavaScript is a programming language that can be sent with a web page to execute on a web browser. Things like picture galleries, dropdown menus, content sliders and tabs all use JavaScript to do their magic.
You don’t need to know JavaScript to write Concrete5 blocks, addons or themes, but you will need to if you want to start adding special effects or jQuery.
jQuery is a library of JavaScript programming. It is used extensively by Conrete5 and addons to make complicated JavaScript easier for developers to provide special effects and behaviours on web pages.
AJAX covers a series of mechanisms that JavaScript running on a web page in the browser can communicate with the web server, and hence Concrete5, without changing the web page. Many add-ons use AJAX to provide advanced functionality and Concrete5 uses AJAX when you edit a page. Fortunately, you don’t need to know anything about such advanced stuff as Concrete5 user.
A web server is a computer set up to ‘serve’ web pages. The most popular software to do this is called Apache. Web servers are usually provided by web hosting companies. Each Concrete5 web site runs on a web server. Web browsers in PCs, Macs and iPhones connect over the internet to web servers to view web sites.
PHP and MySQL reside on the web server with Concrete 5. They send web pages as HTML and CSS to web browsers.
A CMS runs on a web server and provides a way of creating and managing a web site without having to know HTML or any programming such as PHP or JavaScript. Concrete5 is a CMS. Unlike conventional web sites where your pages map to HTML files, with a CMS your pages don't actually exist and are created as needed from tables in a database such as MySQL.
Its why you are here. Don’t forget that many questions you may ask on the forums are already covered by the Developer’s Guide and by Howtos.