The data for each project is saved in to two xml files on the server. There are two of these for each project:
- preview.xml: This is the file that you are making changes to when you are in the editor and is seen when you click 'play' in the editor and preview your project. The preview URL is slightly different to the one you get for live projects (e.g. xot.xerte.org.uk/preview.php?template_id=116).
- play.xml: This is the file that is viewed when you view the public facing version of the project (e.g. xot.xerte.org.uk/play.php?template_id=116).
When you are in the editor, clicking 'play' only saves changes to preview.xml. Clicking 'publish' also saves preview.xml (without previewing) but also pushes the changes you have made to play.xml. The idea behind these two files is that if you have a project that is already live you can make changes to it in the editor and preview what it will look like, without immediately changing the version that's seen publicly. The changes will only be seen publicly when you 'publish' and push the changes to play.xml.
I understand what you mean about the wording on the buttons - I have wondered this myself too. I think we could do with communicating the different roles of the buttons better - or at least prompting people to publish if they make a project live that has never been published.