Snippet: Como detectar en un formatter cuando un recurso es recien creado, y cuando se acaba de editar

11/06/2014       Sergio Raposo Vargas       OpenCms 8, OpenCms 9, Programación

El funcionamiento de un formatter puede que tenga que variar según el estado del recurso. Por ejemplo, cuando desde el ADE creamos un recurso nuevo, este recurso no se crea en el VFS hasta que no lo editamos y guardamos. Mientras tanto es un recurso que solo está en memoria. Otro caso concreto es cuando un recurso acaba de ser editado. Tenemos que tener en cuenta que el ADE trabaja con mucho javascript y que cuando editamos es posible que si usamos algún tipo de script este no se cargue de forma correcta tras dicha recarga.

Para tratar con estos casos disponemos de un código para saber en la jsp en que estado se encuentra el recurso y actuar en consecuencia.

Veamos como se hace esta compración:

<c:choose>
      <c:when test="${cms.element.inMemoryOnly}">
           ...Recurso recién creado...
      </c:when>
      <c:when test="${cms.edited}">
          ...Recurso recien editado...
     </c:when>
      <c:otherwise>
           ...FORMATTER NORMAL ....
      </c:otherwise>
</c:choose>
 Snippet, Formatter, InMemoryOnly, isEdited