You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (Jira)" <ji...@apache.org> on 2021/10/27 05:06:00 UTC

[jira] [Updated] (SLING-8450) JcrPersist: Provide transparent persistence to Sling Models

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

Carsten Ziegeler updated SLING-8450:
------------------------------------
    Component/s:     (was: API)
                 Sling Models

> JcrPersist: Provide transparent persistence to Sling Models
> -----------------------------------------------------------
>
>                 Key: SLING-8450
>                 URL: https://issues.apache.org/jira/browse/SLING-8450
>             Project: Sling
>          Issue Type: New Feature
>          Components: Sling Models
>            Reporter: Brendan Robert
>            Priority: Major
>         Attachments: SlingJCRPersist.zip
>
>
> As a developer using sling, I would like my sling models to serve as a core of a MVC coding paradigm; however, it is not possible to do this without writing my own persistence logic to save my sling models back into resources for every project I do this.
> I propose a new module to work in tandem with Sling Models, such that Sling Models serve as a mechanism to load data from JCR and the JcrPersist module provides an OSGi service to save changes to beans back to the JCR via a persist method.
> There are some complex sling model features, such as @via, which will likely not be subject to this feature, and other cases such as transient variables that should not be persisted.  The persist service should provide the developer a sufficient set of features to decide how much or how little is persisted with it.  Like Sling Models, this should rely on annotations so that no additional external configurations are needed.
>  
> PS: Here's the implementation with ~90% unit test coverage.  See attached. :)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)