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