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 pages

ums

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]

Filed under  //  cms   random  
Posted

Some ideas and shizz

Currently Brainstorming: A cloudy-p2p-GUI thing, that has a shared canvas desktop thing…Pics coming.

Thinking about: Wringing a story, or many, with awesome things such as: * future where they ‘hack into’ the universes controlling mechanisms. * post apocalypse (possibly) where most of the world is reverted to dark-ish ages but with all the current buildings still around. * matrix like simulation thing. * etc…

also maybe a app for collaborative story authoring/telling/reading with automatic semantic info-collection on characters/places/etc…

and there is still my xcms things to do… but exmans, and the internet, and lack of concentration, etc…. ahh well

Filed under  //  cms   idea   thoughts  
Posted

Thinking about fbstj.net

I think I will make (eventually) fbstj.net a fully ClassyCMS site; with subdomains:

  • server: The xml server thing which supplies the content for all the other subdomains.
  • wiki: Showing wiki pages in a wiki skin.
  • news: With Blog pages tagged news (“admin”|”news” group authors).
  • blogs: Blog articles split by User (as in blogs.fbstj.net/{user}/{date/posted/archive/thing} like most archives). With the main page showing stats etc…
  • forums: shows boards (based on tags). particular topics are strung with replies under them. (posts that are not specifically forum posts, like wiki articles can redirect/point to the correct “type”).
  • mail: Maybe the cms has integrated mail that downloads and stores emails into user-only files? maybe not tho….
  • etc….

Filed under  //  cms   project   site  
Posted

Well then...

Guess what I just watched… yeah, thats right FIREFLY! and WOW, it is one awesome series… Of course, it wasnt near long enough, only lasted one evening. Gona have to buy it for myself now, as the copy I have is cruddy. Truly, one of the greatest things I have ever watched.

In other news, my CMS’s are getting on my nerves, might have to restart them…again. Also I am thinking of starting a tumblelog for SC4, as they have no good community news systems.

Filed under  //  Firefly   cms  
Posted

ClassyCMS

I inadvertently started the CMS (can be found here).

Its essentialy got the backbone kinda there, need to add support for listing items etc…

The files are as follows:

Page.inc

This is the MAIN class, all other data represesnting a class is held inside this class. To display the page you should echo the instance of this class, and it will display all the html related to this page. It should automatically fill the body with a predifined content via the first HTTP_GET parameter (for example ?src=[filename] returns the source of that file).

Nav.inc

This makes a navigation bar/menu. The individual links are held in an associative array where the keys are the link text and the element is either a string representing the URL of the link or another associated array with keys being the properties and values being the content.

The class supports a random color feature, where each link can have a random background color. The colors can either be picked from an array, or generated by random. It tries to ensure that no two lincs are the same color.

Content.inc

Subclasses: DirList.inc, FileInc.inc, Source.inc, etc…

Holds all the body tag stuff, including the Nav bar (an instance of the nav class, should be added through the Page method addNav(navItem x)), the page title and the footer.

Each subclass does a different action:

  • Source: displays the source of the file passed to it in its constructor.
  • FileIncl: includes the output of the file statied in the constructor. Checks that the file is located localy to make sure that it doesnt break.
  • DirList: lists the content of the directory passed to it, has an associative array ([MIME type] => description) to transform specific file types to nice names.

Filed under  //  cms   project  
Posted