This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • GSoC 2010 mini-CMS project

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


David uses the following opensource library/technologies:



Node creation is a simple task, but you must understand how you can render the information stored in the nodes using Sling.
The first document you can read is the next one:
It . It simply describes how content resolution works in Sling. 


So we loaded these two scripts in new.esp. In addition to this, in this script we defined a simple form, with some input text texts and a CKEditor panel. 

Once the user fills the input, the page is like in the following image


If the resource doesn't exist, a new item is created. If the resource name ends with /* or /, the name of the item will be created using an algorith that also uses the name of new node. The creation of the new node goes through the SlingPostServlet , a frontend for the content manipulation. This servlet provides also other content operations, as described here.

In the HTTP POST request there are also some others fields:

  • sling:resourceType=david : This information is stored on the new node, so when we will retrieve this node from the browser, using any extension (for example .article provided by /apps/david/article.esp ) Sling will search under the folder /apps/david. 
  • jcr:mixinTypes=mix:referenceable : Another information that will be stored. In that way this node can be referenceable. This feature will be useful for the tags management.


You can submit new entry only if you have already authenticated with Sling. So you can see that on the /apps/david/menu.esp script there is a check for the credentials