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 - Hyper Text Markup Language
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.
- http://en.wikipedia.org/wiki/HTML
- https://developer.mozilla.org/en/HTML
- http://www.htmlcodetutorial.com
- http://www.html.net
- http://www.w3schools.com
- http://www.w3.org/wiki/HTML
- http://reference.sitepoint.com/html
- http://code.google.com/edu/submissions/html-css-javascript/
- http://www.codecademy.com/languages/web/topics/html-overview/
- HTML For the World Wide Web, Elizabeth Castro, Visual Quickstart Guide, Peachpit Press, 0-201-68862-X. A good introduction to HTML from basics. Shows how web pages are built from HTML. Once you have Concrete5, building web pages is much easier, but knowing a bit about HTML can still come in very useful when you want to customise your web site.
CSS - Cascading Style Sheet
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.
- http://en.wikipedia.org/wiki/Cascading_Style_Sheets
- https://developer.mozilla.org/en/CSS
- http://www.w3schools.com
- http://reference.sitepoint.com/css
- http://code.google.com/edu/submissions/html-css-javascript/
- CSS the missing manual, David Sawyer McFarland, Oreilly 978-0-596-80244-8. A more advanced book about CSS. The level of knowledge you need when making more complicated changes to a theme.
PHP - PHP: Hypertext Preprocessor (a recursive acronym)
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.
MySQL Database (My Structured Query Language)
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
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.
- http://en.wikipedia.org/wiki/JavaScript
- https://developer.mozilla.org/en/JavaScript
- http://code.google.com/edu/submissions/html-css-javascript/
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.
- http://en.wikipedia.org/wiki/JQuery
- http://jquery.com
- Learning jQuery, Jonathan Chaffer, Karl Swedberg, Packt Publishing, 978-1-847192-50-9
AJAX - Asynchronous JavaScript and XML
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.
Web Server
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.
CMS - Content Management System
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.
Cache
Even with computers and the internet, some things take a (relatively) long time or lot of resources to process. Rather than keep on repeating that processing, software can keep a note of the results and just refer to the notes. Such notes are a 'cache'.
Suppose someone asked you to go to the local library and look up something from a book. If a few hours later they asked you the same question again, rather than going to the library again, you can just pull out your notebook and say 'well, this is the answer from last time you asked me'.
Of course, the book you looked at may change. Perhaps a new edition is published each year. So as well as making a note of the answer, you would also make a note of when the next edition of the book is due to be published. That way you will know when you really need to go to the library again rather than just pull out your trusty and well worn notebook.
In computer terms, what you have written in your notebook is a cache.
Concrete5
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.
- Getting Help on Forums
- http://www.concrete5.org/documentation/developers
- http://www.concrete5.org/documentation/how-tos
- Concrete5 Beginners Guide, Remo Laubacher, Packt Publishing, 978-1-84951-428-6. Originally written for Conrete5.4, much of the content remains valid for the current version of Concrete5. The first part requires no special knowledge. Later parts introduce more complicated topics involving PHP, CSS and HTML. A copy of this book will save you from having to ask many questions on the C5 forums.
- Creating Concrete5 Themes, Remo Laubacher, Packt Publishing, 978-1-78216-164-6. Theme development in the context of concrete5.6. To get the most of this you need a beginners knowledge of PHP, CSS and HTML. As above, a copy of this book will save you from having to ask many questions on the C5 forums.
- http://www.mesuva.com.au/blog/back-to-basics/a-quick-start-guide-for-concrete5. Quick Start Guide to Concrete5 by Mesuva. Download as pdf and use it as a reference when getting started with Concrete5.