Classy CMS
Some more crap:
dir structure
The backend will look someting like this: :/ modules/ the different functionalities content/ the user generated content resources/ internal dependencies :/content/
file structure
[empty]
layout
[empty]
main
_Classy CMS_ *Backend *Link Schema see also Link Schema *Constants see also Constants /BASE_URL the url for the site /BASE_DIR the root directory
markup
[img]
If you use [img] tags in a post with an external source, it creates a image-type file with a link child tag which links to the url given. It then replaces your [img](.+?)[/img] with a transduction of the newly created file.
The image file is stored in your local area (under '{/content/private/DIR}/images/{filehash}') until it is used in {/content/image/VALIDATE_COUNT} other documents, which then adds it to the validate list. Once validated the actual source image is saved in the public image space ({/content/image/DIR}).
Attachments
The actual file is uploaded to your personal space (to '{/user/private/DIR}/attachments/{filehash}') until authenticated by a quallified user ({/content/attachment/validated({filehash})} myst hold true). then it is moved to the appropriate public location.
[url]
An option is availaible to replace an external link with a internal file that renders the page as an image or htmlpage and displays it (as the day the file was created, like a wayback machine). This could be usefull if the data is important but hasnt been coppied over. It could be called the [url-snapshot] tag.
[quote]
An option exists in the user profile ({/user/option/MINIMISE_QUOTES}) to reduce quotes to a set of rules defined in {/user/option/MINIMISE_QUOTE_RULES}. An example is: if over 5 lines reduce to first 3 lines of text; images are transformed into links or thumbnails or click to see.
[gallery]
A gallery can be created to contain an arbitrary number of obects, and allows scrolling between these options. Different styles can be used for different effects. Examples:
A -------- | B [] [] [] | C |-------| | D
| main | | [] [] [] | | | |
| | | [] [] [] | < [] | | [] > |
-------- | [] [] [] | | | |
< [][][] > | | |-------| |
A: A big image in the foreground with a scrolbar on the bottom (possitionable where ever including valign) showing the next/previous items as thumbnails (or their title attribue) and a next/previous button (the < >)
B: Shows all the items in a columnar format. Orderable. Can be made to create a popout on click or to link to the item.
C: The item with next/previous buttons to the side of it. (and the next and previous items thumbnailed to the side too).
D:
HTML is allowed. To be a validated page ({/content/age/validated()} holds true)namespaces
[empty]
themes
[empty]
url schema
*constants:
/BASE_URL the base url of the site
*First Level URLs
These are urls that work from the root directory. They are mostly aliased from other pages/uri's.
/ the homepage, could be a portal
/home the homepage if the root is a portal
/about about the site. its goals/rules
/contact details on how to contact the site administration
/map a map of the site
/stats site statistics
/contents like the map, only ToC style.
/[page] static pages
*Second+ Level URLs
These are urls that work like URI's in folders of the root directory.
/[module]/ the homepage to a module
/[module]/[page|option](/[page|option](/...)) the page of a module and subpages and extra options
examples /wiki/AnArticle
/wiki/Namespace:AnotherArticle /wiki/ns=Namespace/AnotherArticle
/wiki/AnArticle/a=edit/
/help/registration # documentation on registering an account
/user/{user}/profile # view {user}'s profile (if they dont have a custom user title, /user/{user}/ will do the same
/user/{user}/[page] # {user}'s custom pagesums
UMS quick_login --submit/post--> curent a quick login form on any page. just submits and _post gets lapped up by the user-load() function ?p=login --alias--> ?c=user&a=login --submit/post--> ?c=user&a=login_goto --redirect--> login_goto the main login page. any page called login loads user-login_form (unless overwritten). a=login_form submits _post to a=login_goto a=login_goto redirects to a user desiginated place. examples are the home page, the user profile, the previous page, etc. ?c=user&a=register --submit/post--> ?c=user&a=reg_sub --link|redirect--> reg_goto the registration page. submits _post to a=reg_sub, which redirects to a user designated place. ?p=(user)/profile, ?p=(user) --alias--> ?c=user&p=(user)&a=profile displays (user)s user profile. if (user) has a custom userpage, p=(user) shows the userpage, thus /profile is needed.
xml
[empty]