From: <fg...@us...> - 2009-06-04 09:39:38
|
Revision: 1222 http://openutils.svn.sourceforge.net/openutils/?rev=1222&view=rev Author: fgiust Date: 2009-06-04 09:39:32 +0000 (Thu, 04 Jun 2009) Log Message: ----------- jcr browser fix + fckedit integration Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/JcrBrowserWithNodeTypeTreeConfiguration.java trunk/openutils-mgnlmedia/src/main/resources/META-INF/magnolia/media.xml trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.server.URI2RepositoryMapping.mappings.media.xml trunk/openutils-mgnlmedia/src/site/changes/changes.xml Added Paths: ----------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaBrowserConfiguration.java trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/uri/ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/uri/MediaURI2RepositoryMapping.java trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.fckEditor.config.browsableRepositories.media-selector.xml trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.trees.media-selector.xml Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/JcrBrowserWithNodeTypeTreeConfiguration.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/JcrBrowserWithNodeTypeTreeConfiguration.java 2009-06-04 09:38:57 UTC (rev 1221) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/JcrBrowserWithNodeTypeTreeConfiguration.java 2009-06-04 09:39:32 UTC (rev 1222) @@ -18,6 +18,7 @@ package net.sourceforge.openutils.mgnlmedia.media.tree; import info.magnolia.cms.core.Content; +import info.magnolia.cms.core.ItemType; import info.magnolia.cms.gui.control.Tree; import info.magnolia.cms.gui.control.TreeColumn; import info.magnolia.cms.gui.control.TreeColumnHtmlRenderer; @@ -44,9 +45,13 @@ { // TODO Auto-generated method stub super.prepareTree(tree, browseMode, request); - + + tree.getItemTypes().clear(); + + tree.addItemType(ItemType.CONTENT); tree.addItemType(MediaConfigurationManager.MEDIA); tree.addItemType(MediaConfigurationManager.RESOLUTIONS); + tree.addItemType(Tree.ITEM_TYPE_NODEDATA); TreeColumn tc = TreeColumn.createColumn(tree, "Node type", new TreeColumnHtmlRenderer() { Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaBrowserConfiguration.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaBrowserConfiguration.java (rev 0) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaBrowserConfiguration.java 2009-06-04 09:39:32 UTC (rev 1222) @@ -0,0 +1,68 @@ +/** + * Copyright Openmind http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package net.sourceforge.openutils.mgnlmedia.media.tree; + +import info.magnolia.cms.core.Content; +import info.magnolia.cms.core.ItemType; +import info.magnolia.cms.gui.control.Tree; +import info.magnolia.cms.gui.control.TreeColumn; +import info.magnolia.cms.gui.control.TreeColumnHtmlRenderer; +import info.magnolia.module.admininterface.trees.JcrBrowserTreeConfiguration; + +import javax.servlet.http.HttpServletRequest; + +import net.sourceforge.openutils.mgnlmedia.media.configuration.MediaConfigurationManager; + + +/** + * @author molaschi + * @version $Id$ + */ +public class MediaBrowserConfiguration extends JcrBrowserTreeConfiguration +{ + + /** + * {@inheritDoc} + */ + @Override + public void prepareTree(Tree tree, boolean browseMode, HttpServletRequest request) + { + super.prepareTree(tree, browseMode, request); + + tree.getItemTypes().clear(); + + tree.addItemType(ItemType.CONTENT); + tree.addItemType(MediaConfigurationManager.MEDIA); + + TreeColumn tc = TreeColumn.createColumn(tree, "Media type", new TreeColumnHtmlRenderer() + { + + /** + * {@inheritDoc} + */ + public String renderHtml(TreeColumn treeColumn, Content content) + { + return content.getNodeData("type").getString(); + } + + }); + + tree.addColumn(tc); + } + +} Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/tree/MediaBrowserConfiguration.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/uri/MediaURI2RepositoryMapping.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/uri/MediaURI2RepositoryMapping.java (rev 0) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/uri/MediaURI2RepositoryMapping.java 2009-06-04 09:39:32 UTC (rev 1222) @@ -0,0 +1,94 @@ +/** + * Copyright Openmind http://www.openmindonline.it + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package net.sourceforge.openutils.mgnlmedia.media.uri; + +import info.magnolia.cms.beans.config.URI2RepositoryMapping; +import info.magnolia.context.MgnlContext; +import info.magnolia.link.Link; + +import javax.jcr.RepositoryException; + +import net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl; + +import org.apache.commons.lang.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +/** + * @author fgiust + * @version $Id$ + */ +public class MediaURI2RepositoryMapping extends URI2RepositoryMapping +{ + + /** + * Logger. + */ + private Logger log = LoggerFactory.getLogger(MediaURI2RepositoryMapping.class); + + /** + * {@inheritDoc} + */ + @Override + public String getURI(Link uuidLink) + { + String urisimple = uuidLink.getHandle(); + + String uri; + try + { + uri = MediaEl.getUrl(MgnlContext.getHierarchyManager(getRepository()).getContent(urisimple)); + } + catch (RepositoryException e) + { + log.warn(e.getClass().getName() + " resolving " + urisimple, e); + uri = urisimple; + + if (StringUtils.isNotEmpty(getHandlePrefix())) + { + uri = StringUtils.removeStart(uri, getHandlePrefix()); + } + if (StringUtils.isNotEmpty(getURIPrefix())) + { + uri = getURIPrefix() + "/" + uri; + } + } + + return cleanHandle(uri); + } + + /** + * Clean a handle. Remove double / and add always a leading / + * @param handle + * @return + */ + private String cleanHandle(String handle) + { + if (!handle.startsWith("/")) + { + handle = "/" + handle; + } + while (handle.indexOf("//") != -1) + { + handle = StringUtils.replace(handle, "//", "/"); + } + return handle; + } + +} Property changes on: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/uri/MediaURI2RepositoryMapping.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/openutils-mgnlmedia/src/main/resources/META-INF/magnolia/media.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/META-INF/magnolia/media.xml 2009-06-04 09:38:57 UTC (rev 1221) +++ trunk/openutils-mgnlmedia/src/main/resources/META-INF/magnolia/media.xml 2009-06-04 09:39:32 UTC (rev 1222) @@ -13,6 +13,10 @@ <version>4.0/*</version> </dependency> <dependency> + <name>fckEditor</name> + <version>4.0/*</version> + </dependency> + <dependency> <name>cache</name> <version>4.0/*</version> </dependency> Added: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.fckEditor.config.browsableRepositories.media-selector.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.fckEditor.config.browsableRepositories.media-selector.xml (rev 0) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.fckEditor.config.browsableRepositories.media-selector.xml 2009-06-04 09:39:32 UTC (rev 1222) @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="media-selector" + xmlns:jcr="http://www.jcp.org/jcr/1.0" + xmlns:mgnl="http://www.magnolia.info/jcr/mgnl" xmlns:rep="internal" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" + xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:fn="http://www.w3.org/2005/xpath-functions" + xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" + xmlns:fn_old="http://www.w3.org/2004/10/xpath-functions" xmlns:jcrfn="http://www.jcp.org/jcr/xpath-functions/1.0"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:mixinTypes" sv:type="Name"> + <sv:value>mix:lockable</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>c84e835e-839f-46d2-8e07-3eb85b12e537</sv:value> + </sv:property> + <sv:property sv:name="label" sv:type="String"> + <sv:value>Media</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2007-11-07T19:40:13.406+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2007-11-07T19:40:17.156+01:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2009-06-02T18:49:49.759+02:00</sv:value> + </sv:property> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.fckEditor.config.browsableRepositories.media-selector.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Added: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.trees.media-selector.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.trees.media-selector.xml (rev 0) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.trees.media-selector.xml 2009-06-04 09:39:32 UTC (rev 1222) @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8"?> +<sv:node sv:name="media-selector" + xmlns:jcr="http://www.jcp.org/jcr/1.0" + xmlns:mgnl="http://www.magnolia.info/jcr/mgnl" xmlns:rep="internal" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" + xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:fn="http://www.w3.org/2005/xpath-functions" + xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sv="http://www.jcp.org/jcr/sv/1.0" + xmlns:fn_old="http://www.w3.org/2004/10/xpath-functions" xmlns:jcrfn="http://www.jcp.org/jcr/xpath-functions/1.0"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:contentNode</sv:value> + </sv:property> + <sv:property sv:name="jcr:uuid" sv:type="String"> + <sv:value>6df4c72d-f71e-4a9d-a71b-11f7632a4fc9</sv:value> + </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>info.magnolia.module.admininterface.AdminTreeMVCHandler</sv:value> + </sv:property> + <sv:property sv:name="configurationClass" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.tree.MediaBrowserConfiguration</sv:value> + </sv:property> + <sv:property sv:name="i18nBasename" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.lang.messages</sv:value> + </sv:property> + <sv:property sv:name="repository" sv:type="String"> + <sv:value>media</sv:value> + </sv:property> + <sv:node sv:name="MetaData"> + <sv:property sv:name="jcr:primaryType" sv:type="Name"> + <sv:value>mgnl:metaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:Data" sv:type="String"> + <sv:value>MetaData</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activated" sv:type="Boolean"> + <sv:value>false</sv:value> + </sv:property> + <sv:property sv:name="mgnl:activatorid" sv:type="String"> + <sv:value>superuser</sv:value> + </sv:property> + <sv:property sv:name="mgnl:authorid" sv:type="String"> + <sv:value>admin</sv:value> + </sv:property> + <sv:property sv:name="mgnl:creationdate" sv:type="Date"> + <sv:value>2005-05-06T16:18:38.686+02:00</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastaction" sv:type="Date"> + <sv:value>2008-06-20T12:14:54.070Z</sv:value> + </sv:property> + <sv:property sv:name="mgnl:lastmodified" sv:type="Date"> + <sv:value>2009-06-02T19:20:17.371+02:00</sv:value> + </sv:property> + </sv:node> +</sv:node> Property changes on: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.modules.media.trees.media-selector.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Added: svn:keywords + Author Date Id Revision Added: svn:eol-style + native Modified: trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.server.URI2RepositoryMapping.mappings.media.xml =================================================================== --- trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.server.URI2RepositoryMapping.mappings.media.xml 2009-06-04 09:38:57 UTC (rev 1221) +++ trunk/openutils-mgnlmedia/src/main/resources/mgnl-bootstrap/media/config.server.URI2RepositoryMapping.mappings.media.xml 2009-06-04 09:39:32 UTC (rev 1222) @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<sv:node sv:name="media" +<sv:node sv:name="media" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:mgnl="http://www.magnolia.info/jcr/mgnl" xmlns:rep="internal" xmlns:mix="http://www.jcp.org/jcr/mix/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:fn="http://www.w3.org/2005/xpath-functions" @@ -14,6 +14,9 @@ <sv:property sv:name="URIPrefix" sv:type="String"> <sv:value>/mediaObject</sv:value> </sv:property> + <sv:property sv:name="class" sv:type="String"> + <sv:value>net.sourceforge.openutils.mgnlmedia.media.uri.MediaURI2RepositoryMapping</sv:value> + </sv:property> <sv:property sv:name="handlePrefix" sv:type="String"> <sv:value/> </sv:property> Modified: trunk/openutils-mgnlmedia/src/site/changes/changes.xml =================================================================== --- trunk/openutils-mgnlmedia/src/site/changes/changes.xml 2009-06-04 09:38:57 UTC (rev 1221) +++ trunk/openutils-mgnlmedia/src/site/changes/changes.xml 2009-06-04 09:39:32 UTC (rev 1222) @@ -11,6 +11,10 @@ <release version="4.0-b5" date="in svn" description=""> <action type="fix" dev="fgiust">MediaCustomSaveHandler now only warns about missing referenced media without blocking</action> + <action type="fix" dev="fgiust">Media jcr browser was displying duplicate nodes</action> + <action type="add" dev="fgiust">Fckeditor integration for creating links to objects in the media repository. + Requires the fix for MAGNOLIA-2759 to be applied to work (hopefully it will work out-of-the-box only starting + from magnolia 4.1.1)</action> </release> <release version="4.0-b4" date="2009-04-29" description=""> <action type="update" dev="fgiust">YouTubeVideoTypeHandler modified in order to work with generic external urls (not This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |