Paradigm

There is a separation between 'content' and 'pages'; your 'content' is stored in a database as a distinct object that has no definite location in webspace. (The content of this page is this text and the picture above).
A 'page' is merely a series of holders that could contain content. If you make 25 'pages' that are the same, there would only need to be one piece of content that is just shown over and over.
Every time someone asks to view a page, the page is built at that moment, where all of the holders are then filled with the content that is supposed to be there.


 

Definitions

  • Content - HTML-encoded text that is similar to old HTML webpage material.
  • Container - The 'windows' or 'columns' that comprise a dotCMS 'webpage'; these are the 'picture frames' that you fill with a Contentlet.
  • Contentlet - the term for referring to a piece of content, particularly one stored or accessed by a container. These are the pictures you put in the frames.
  • CMS- Content Management System. That is, the program that handles building and displaying webpages. There are several CMS systems, ours is dotCMS. We typically use the phrase CMS to mean our specific version.
  • Backend- The browser-based system that handles the creation and manipulation of webpages in the CMS. Also referring to the specific 'browser' view once logged into the CMS that shows the folders on the left hand side and the pages on the right.
  • Template - a predesigned 'cookie-cutter' webpage layout. Choosing your template defines whether your page will have a left-side menu and 2 or 3 additional columns (containers) for content.
  • WYSIWYG- 'What You See Is What You Get'- meaning code-free viewing of HTML material that shows bolded text as bolded rather than marked [B]I'm Bold[/B]. Also, in context, it means using the content editor in WYSIWYG mode.
  • Velocity - Vectored movement. Or, in this case, it means Apache Velocity, which is the scripting language that handles advanced things like news pulls and autogenerated content.If you see lines in your page that start with a #, it is Velocity Code. Also called 'Macros'.
  • Publish - The act of making a piece of the CMS externally live and viewable by the general public. Individual structures, contentlets, pages, and folders can all be published piecemeal.
  • Structure - Usually short for 'structured content' - this is a more advanced way of handling database-like material. 'FAQ' is a 'structure' containing a question and an answer that can make automation and generated content work better. 'News' is another structure, for example.
  • Javascript - Another scripting language that allows for 'fancy' HTML output. Most javascript works within the CMS, but might require some tweaking.
  • CSS - Cascading Style Sheets - A way of formatting HTML that uses the [style] tag. Allows for more thorough, consistent, maintainable and adaptable ways of designing pages.

 

Pages


To Create a new page:
-Right click on the folder, and choose 'New HTML'
To delete an existing page:
-Right click on the file, select 'Unpublish', then right click again, select 'Archive'.
-Next, click on the 'show/hide archived' files in the bottom right corner, then you can find
-the file and right click on it and select 'delete'.
To revert a page:
-Right click on the file, choose 'edit' and then go to the Versions tab to revert to an older version.


Files/Pictures


Click on 'Website' on the CMS main menu, then 'Files'. Then choose 'Add/Edit' files in grey.
The CMS is case sensitive.
DON'T enter something in the 'allowed' types. The default is to allow everything.
The CMS automatically STRIPS spaces from filenames when 'adding' them.
So 'the end.jpg' becomes 'theend.jpg'! Be careful.
Also, 'html' pages uploaded directly like this will NOT work- the CMS will act as if they don't exist when a browser looks for it.
You can also just right-click on the folder and select 'New - Image or file' to upload.
If you use the WYSIWYG to add the picture it will call it dotAsset/12121.jpg or something like that - it is perfectly fine.


Menus


There are three ways to get a link to show up on the internal (leftNav) menu:
1) If the file is in the same folder, edit it (or click on Page Properties when it is being viewed) and select the Advanced tab, and check-off 'show on menu'.
2)If the file is in a different folder, right click on the folder and choose 'New->Link'. Use the external link type - it just works better, even for internal links.
3)If the link is a folder instead of a file, you can set the folder to be show on menu - just be sure to put an 'index.html' file in that folder as a destination for the link - and don't set (the index file) as show on menu.
Doing this allows for having submenus. The items in that folder that are marked show on menu will show in the parent folder slightly indented.



Preferred HTML (): <p> <a> <strong> <em><div> <br><hr><ol>(and variants)
Full list, with details
Be careful with: <div><table>
Don't use:<textarea><font><body>


Troubleshooting/Hard Lessons


>Menu changes sometimes take a while to propogate through the system.
>If your page is not visible to the outside, even though it is published, you may need to publish the folder.
>Every page must be 'CMS Anonymous' to be seen AT ALL by an external viewer.
>DO NOT use the 'back' feature of the browser. Always use the CMS to advance, or select 'cancel'. If you touch something and use the back feature, it will become locked. It's not a big deal, but it might come up as an issue later.
>Be extremely careful switching from 'text' view to 'WYSIWG' it can mangle your content.
>If you 'reuse' content and edit it - it AFFECTS THE ORIGINAL because you are editing the stored 'contentlet'. Instead, copy the text out of what you want to use into a new widget.
>If you cannot 'edit' content you added (the button doesn't appear or it mangles the page) you may have to delete/revert. It is usually because of an unclosed </table> or </div>.
You can also use the 'Content' menu, search for 'web page content' based on the title you gave the content, and edit it that way. This probably easier than deleting the whole page.

  NameSizeType