[ 
https://issues.apache.org/jira/browse/SLING-4001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sandro Boehme updated SLING-4001:
---------------------------------
    Description: 
Based on the discussion at the dev list [1, 2] I would like to contribute the 
Apache Sling Resource Editor (previously named JCRBrowser and Apache Sling 
Content Editor). 

++ Features ++
Currently it can be used to rename and delete nodes. Rename works by double 
clicking the node and you can multi select nodes for the deletion with the 
'del' key. The node names are HTML and URL escaped and it provides stateless 
deep links to the nodes.

++ Further development ++
In the months to come I can work more intensely on the Sling Resource Editor 
and I might add commercial add-ons separately. This is why I would like to be 
able to point users to such an add-on from Sling. But judging from other Apache 
projects [6] I assume this is probably not a problem.
I will continue the development at GitHub[7] and send patch files to Sling when 
new features are implemented.

++ Implementation ++
It uses the Sling API. 
For the tree on the left the JSTree library is used. It expects a URL to a JSON 
that contains the data for the child nodes. This URL points to a
Sling resource with a 'reseditor.nodes' selector and a 'json' extension. This 
way the JSPs [3] render the JSON for the resource that is consumed by the 
JSTree library.
For the deletion and renaming of nodes I use jQuery Ajax calls to the Sling 
POST servlet. 

The properties list on the right is rendered [4] using JSTL and the currentNode 
variable of Sling.
The html.jsp is registered for the 'reseditor' selector relatively to the 
default servlet. And for not getting overruled by servlets registered by paths 
and by other resources that are using the 'reseditor' selector I use a 
ResourceDecorator [5]. 
After a hint from Dominik Süß I work on using a ResourceProvider instead.

I'm looking forward to your feedback! 


[1] - http://comments.gmane.org/gmane.comp.apache.sling.devel/47292
[2] - http://comments.gmane.org/gmane.comp.apache.sling.devel/47517
[3] - 
https://github.com/sandroboehme/resourceeditor/tree/master/src/main/resources/SLING-INF/libs/sling/servlet/default/reseditor
[4] - 
https://github.com/sandroboehme/resourceeditor/blob/master/src/main/resources/SLING-INF/libs/sling/servlet/default/reseditor/html.jsp
 line 174
[5] - 
https://github.com/sandroboehme/resourceeditor/blob/master/src/main/java/org/apache/sling/reseditor/SelectorBasedResourceDecorator.java
[6] - https://www.google.de/search?q=site%3Aapache.org+commercial 
[7] - https://github.com/sandroboehme/resourceeditor

  was:
Based on the discussion at the dev list [1, 2] I would like to contribute the 
Apache Sling Content Editor (previously named JCRBrowser). 

++ Features ++
Currently it can be used to rename and delete nodes. Rename works by double 
clicking the node and you can multi select nodes for the deletion with the 
'del' key. The node names are HTML and URL escaped and it provides stateless 
deep links to the nodes.

++ Further development ++
In the months to come I can work more intensely on the Sling Content Editor and 
I might add commercial add ons separately. This is why I would like to be able 
to point users to such an add on from Sling. But judging from other Apache 
projects [6] I assume this is probably not a problem.
I will continue the development at GitHub[7] and send patch files to Sling when 
new features are implemented.

++ Implementation ++
It uses the Sling API. 
For the tree on the left the JSTree library is used. It wants a URL to a JSON 
that contains the data for the child nodes. This URL points to a
Sling resource with a 'contenteditor.nodes' selector and a 'json'
extension. This way the JSPs [3] render the JSON for the resource that is 
consumed by the JSTree library.
For the deletion and renaming of nodes I use jQuery Ajax calls to the Sling 
POST servlet. 

The properties list on the right is rendered [4] using JSTL and the
currentNode variable of Sling.
The html.jsp is registered for the 'contenteditor' selector relatively to
the default servlet. And for not getting overruled by servlets
registered by paths and by other resources that are using the
'contenteditor' selector I use a ResourceDecorator [5]. 
I understand from Dominik Süß that I should use a ResourceProvider instead. I 
will work on changing that.

I'm looking forward to your feedback! 


[1] - http://comments.gmane.org/gmane.comp.apache.sling.devel/47292
[2] - http://comments.gmane.org/gmane.comp.apache.sling.devel/47517
[3] - 
https://github.com/sandroboehme/contenteditor/tree/master/src/main/resources/SLING-INF/libs/sling/servlet/default/contenteditor
[4] - 
https://github.com/sandroboehme/contenteditor/blob/master/src/main/resources/SLING-INF/libs/sling/servlet/default/contenteditor/html.jsp
 line 176
[5] - 
https://github.com/sandroboehme/contenteditor/blob/master/src/main/java/org/apache/sling/contenteditor/SelectorBasedResourceDecorator.java
[6] - https://www.google.de/search?q=site%3Aapache.org+commercial 
[7] - https://github.com/sandroboehme/contenteditor

        Summary: Apache Sling Resource Editor contribution  (was: Apache Sling 
Content Editor contribution)

> Apache Sling Resource Editor contribution
> -----------------------------------------
>
>                 Key: SLING-4001
>                 URL: https://issues.apache.org/jira/browse/SLING-4001
>             Project: Sling
>          Issue Type: New Feature
>            Reporter: Sandro Boehme
>         Attachments: apache _sling_resource_editor.zip
>
>
> Based on the discussion at the dev list [1, 2] I would like to contribute the 
> Apache Sling Resource Editor (previously named JCRBrowser and Apache Sling 
> Content Editor). 
> ++ Features ++
> Currently it can be used to rename and delete nodes. Rename works by double 
> clicking the node and you can multi select nodes for the deletion with the 
> 'del' key. The node names are HTML and URL escaped and it provides stateless 
> deep links to the nodes.
> ++ Further development ++
> In the months to come I can work more intensely on the Sling Resource Editor 
> and I might add commercial add-ons separately. This is why I would like to be 
> able to point users to such an add-on from Sling. But judging from other 
> Apache projects [6] I assume this is probably not a problem.
> I will continue the development at GitHub[7] and send patch files to Sling 
> when new features are implemented.
> ++ Implementation ++
> It uses the Sling API. 
> For the tree on the left the JSTree library is used. It expects a URL to a 
> JSON that contains the data for the child nodes. This URL points to a
> Sling resource with a 'reseditor.nodes' selector and a 'json' extension. This 
> way the JSPs [3] render the JSON for the resource that is consumed by the 
> JSTree library.
> For the deletion and renaming of nodes I use jQuery Ajax calls to the Sling 
> POST servlet. 
> The properties list on the right is rendered [4] using JSTL and the 
> currentNode variable of Sling.
> The html.jsp is registered for the 'reseditor' selector relatively to the 
> default servlet. And for not getting overruled by servlets registered by 
> paths and by other resources that are using the 'reseditor' selector I use a 
> ResourceDecorator [5]. 
> After a hint from Dominik Süß I work on using a ResourceProvider instead.
> I'm looking forward to your feedback! 
> [1] - http://comments.gmane.org/gmane.comp.apache.sling.devel/47292
> [2] - http://comments.gmane.org/gmane.comp.apache.sling.devel/47517
> [3] - 
> https://github.com/sandroboehme/resourceeditor/tree/master/src/main/resources/SLING-INF/libs/sling/servlet/default/reseditor
> [4] - 
> https://github.com/sandroboehme/resourceeditor/blob/master/src/main/resources/SLING-INF/libs/sling/servlet/default/reseditor/html.jsp
>  line 174
> [5] - 
> https://github.com/sandroboehme/resourceeditor/blob/master/src/main/java/org/apache/sling/reseditor/SelectorBasedResourceDecorator.java
> [6] - https://www.google.de/search?q=site%3Aapache.org+commercial 
> [7] - https://github.com/sandroboehme/resourceeditor



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to