Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

Concave, a Simple CMS by Mind Map: Concave, a Simple CMS
0.0 stars - 0 reviews range from 0 to 5

Concave, a Simple CMS

Content Types System

Based on plone's dexterity infrastructure

Export Dexterity schemata

Few builtin types

Web page, Folderish, Fields, Title field, Rich description field, Rich text field, Viewlets, List and link children (basic folder listing), Behaviors, Change default view, Knows about any templates that are registered for it and can use those templates as its default

Alias/Link, Provides a few behaviors, 301 redirect to an arbitrary URL, Exact duplication and redisplay of an arbitrary content object (to make it easy to have one content object appear at multiple URLs/folders), Serving of any browser view, To make it easy to "map" a set of static templates or placeless forms to a given URL on the site

Create revision

If we have working-copy support, you'd create revisions

Plugin points

Search

Concave will not provide search out of the box, but will fire events when content is changed so that the content can be indexed

Static file support

Convex should provide a "file" type that it actually manages

New content type fields

New Content Types

Templates for existing types

Directories of templates

UI System

Site theme provided by deliverance/middleware

Inner-pages composed of viewlet

This is an area where it's really easy to get complicated quickly.

Block system for blocks of cross-page or reusable content, This could be promo portlets, This could also be auto-generated navigation

Query-based blocks, This could be how we implement folder listings, file directories, and even eventually a Plone-collection-like system, Query types, Content objects by path, Content objects by metadata

content-display for any given content type is a viewlet associated with that type, This implies when you add a new object of type X, it's some sort of generic "page" that has that type's viewlet display associated with that page by default

Ability to register new templates through the filesystem for existing content types

We should have a paster template for this

EXPERIMENTAL IDEA

Nearly is a viewlet

Page templates are templates of DIVs that contain various types of orderable viewlet managers

Webpage is a generic object that can have a template associated and a type associated, When you create a new page, you pick which type it will contain, The type you pick for the page determines (1) the default layout picked for the page and (2) a viewlet that goes in the manager named "main," which any template must provide, Pages can be created without a type, in which case they are "landing" pages and just display viewlets, or alias pages, in which case they can have a viewlet associated with any type in the main area and they will refer to that other content object for content

Questions

Do we have roles?

E.g., Editor, manager, public

Do we bother to support per-user customized content

I'd say, no

Do public (non-content-managing) users ever log in?

I'd say no. If you want some sort of collaborative site, use Plone.

How do we support commenting? Could we just use Disqus and export later?

Workflow Support

hurry.workflow integrated with authorization

Authorization is simple: private, public, editable or not

Simple working copy support for editing documents

Is this worth the effort? It's not a bad idea.

Import/export support

Exporters

Plone GSXML content

HTML content, If all content types can fulfill some sort of IContentPaths interface that exports a list of valid URLs to all content of that type, we could use urllib to just "scrape" the whole site

Importers

We should definitely see what's reusable from Plone's transmogify, which is a project for creating generic importers  

HTML scraper, It'd be neat if we could write a rule-based HTML scraper that could spider a bunch of pages and re-create them in concave

Wordpress/Moveable Type importer, These have defined export formats that shouldn't be too hard to import as pages

Database Walker, Describe, declaratively how to look at some RDB and import its content as pages for systems like Tyop3 and Drupal

Arbitrary data-source importer, RSS, Flickr

Design notes

Ship with a set of paster templates for creating new skins, content types, and other stuff

UI Components should be able to tell you where they live on the filesystem

Connecting a view class to a template should be done through filenaming and directories, over-rideable in the python

Directory layout can be something like this /plugin/schemata /plugin/models /plugin/view/view_classes /plugin/view/viewlet_classes /plugin/view/view_templates plugin/view/viewlet_templates Names of templates and classes can match one-to-one, and we call it a day.

Filesystem pages

Provide base-classes for creating sets of file-system pages that are written in ZPT/chameleon and served straight off the file system

Providing the URL exporter for these will be hard

We can use megrok.trails

Nonsexy, basic CMS stuff

Cut, Copy, Paste, Move, Delete

Undo support

Do we actually care about this?

Attractive Future Plugins

Public content

Allow content types that can be submitted by anon users and workflowed

Admin UI

Make it easy to browse and manage sets of content, such as public content

Incoming Feeds

Imports content through the arbitrary data-source importer

Provides a feed-display viewlet

Provides a feed folder that is where you configure that, Creates content objects for feed, if that's useful, Items can be workflowed if that's useful (for approval)

Provides a many-feed display viewlet, This basically aggregates the results of a bunch of feed folders

Syndication system

Should outbound syndication be core?

It should be relatively easy to define an RSS feed for pretty much any collection of content.

Webpages should have automatic feeds for themselves

The ends of our use cases

Sophisticated workflow support

Review by voting

Group or role-based user content access

Through-the-web page compositing

Through the web forms

This one is actually pretty attractive to try to grab, but wouldn't be worthw hile until a lot of other things "just work"

Real collaborative content authorship and maintenance

Custom content based on user role or group