Author: hansbak
Date: Fri Aug 28 03:40:33 2009 New Revision: 808744 URL: http://svn.apache.org/viewvc?rev=808744&view=rev Log: Added the possibility of processing/displaying xml files in the docbook format in verious other formats like html pdf etc. To view the Example document in HTML format go to content -> content -> navigate -> documents -> 'apache ofbiz in html format' The HTML version is working however the pdf version does not work yet. If you want to help, have a look in ModelScreenWidget.java where at the moment the complete processing from xml to pdf is concentrated the problem is the empty pdf output document with the wrong mimetype. Added: ofbiz/trunk/applications/accounting/documents/ ofbiz/trunk/applications/accounting/documents/Accounting.xml (with props) ofbiz/trunk/applications/commonext/data/CommonExtSeedData.xml - copied, changed from r805645, ofbiz/trunk/applications/commonext/data/CommonExtHelpData.xml ofbiz/trunk/applications/commonext/documents/ ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml (with props) ofbiz/trunk/specialpurpose/myportal/data/helpdata/ ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml (with props) ofbiz/trunk/specialpurpose/myportal/documents/ ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml (with props) Removed: ofbiz/trunk/applications/commonext/data/CommonExtHelpData.xml Modified: ofbiz/trunk/applications/accounting/data/helpdata/HELP_ACCOUNTING.xml ofbiz/trunk/applications/commonext/ofbiz-component.xml ofbiz/trunk/applications/content/data/ContentTypeData.xml ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml ofbiz/trunk/applications/content/widget/content/ContentForms.xml ofbiz/trunk/applications/content/widget/content/ContentScreens.xml ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/XslTransform.java ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml Modified: ofbiz/trunk/applications/accounting/data/helpdata/HELP_ACCOUNTING.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/data/helpdata/HELP_ACCOUNTING.xml?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/accounting/data/helpdata/HELP_ACCOUNTING.xml (original) +++ ofbiz/trunk/applications/accounting/data/helpdata/HELP_ACCOUNTING.xml Fri Aug 28 03:40:33 2009 @@ -17,14 +17,15 @@ specific language governing permissions and limitations under the License. --> -<root> - <generalTitle> - The Content Manager. - </generalTitle> - <general> - <section> - <text>The Content Management System (CMS) is designed to store data once and then allow it to be reused in multiple arrangements.</text> - </section> - </general> -</root> +<section xmlns="http://docbook.org/ns/docbook" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://docbook.org/ns/docbook ../../../content/dtd/docbook.xsd"> + <title> + The Accounting Manager. + </title> + <para> + + The accounting manager + </para> +</section> Added: ofbiz/trunk/applications/accounting/documents/Accounting.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/documents/Accounting.xml?rev=808744&view=auto ============================================================================== --- ofbiz/trunk/applications/accounting/documents/Accounting.xml (added) +++ ofbiz/trunk/applications/accounting/documents/Accounting.xml Fri Aug 28 03:40:33 2009 @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<chapter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://docbook.org/ns/docbook ../../content/dtd/docbook.xsd" + xmlns="http://docbook.org/ns/docbook"> + <title>The Accounting Component</title> + <section> + <title>Introduction</title> + <para> + and a introduction paragraph in Accounting + </para> + </section> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../data/helpdata/HELP_ACCOUNTING.xml"/> +</chapter> Propchange: ofbiz/trunk/applications/accounting/documents/Accounting.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/accounting/documents/Accounting.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/applications/accounting/documents/Accounting.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Copied: ofbiz/trunk/applications/commonext/data/CommonExtSeedData.xml (from r805645, ofbiz/trunk/applications/commonext/data/CommonExtHelpData.xml) URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/data/CommonExtSeedData.xml?p2=ofbiz/trunk/applications/commonext/data/CommonExtSeedData.xml&p1=ofbiz/trunk/applications/commonext/data/CommonExtHelpData.xml&r1=805645&r2=808744&rev=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/commonext/data/CommonExtHelpData.xml (original) +++ ofbiz/trunk/applications/commonext/data/CommonExtSeedData.xml Fri Aug 28 03:40:33 2009 @@ -20,7 +20,7 @@ <entity-engine-xml> <!-- create some keys to be sure all data will load the firs time --> <DataResource dataResourceId="HELP_TEMPL"/> + <Content contentId="TREE_ROOT"/> <Content contentId="HELP_ROOT"/> <Content contentId="HELP_MYPORTAL"/> - </entity-engine-xml> \ No newline at end of file Added: ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml?rev=808744&view=auto ============================================================================== --- ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml (added) +++ ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml Fri Aug 28 03:40:33 2009 @@ -0,0 +1,60 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://docbook.org/ns/docbook ../../content/dtd/docbook.xsd" + xmlns="http://docbook.org/ns/docbook"> + + <preface> + <para> + This Book is in an experimental stage and acts as a proof of concept. It could be the start of moving the ofbiz documentation from the current <ulink type="http" + url="http://docs.ofbiz.org">OFBiz documentation site</ulink> to the OFBiz content component. It is currently open for discussion by the OFBiz community. + </para> + <para> + The advantages of using it within OFBiz are: + <orderedlist> + <listitem>No external system required for documentation</listitem> + <listitem>The content of the internal help files can be used within the documentation</listitem> + <listitem>The documentation always has the same version as the system (It is part of it)</listitem> + <listitem>The content is stored in a internationally accepted <ulink type="http" url="http://www.docbook.org">'DocBook'</ulink> format</listitem> + <listitem>The content can be easily presented in the selected visual schemas (To be implemented)</listitem> + </orderedlist> + </para> + </preface> + + <bookinfo> + <title>Apache OFBiz official documentation</title> + <copyright><year>2009</year><holder>Apache Foundation</holder></copyright> + </bookinfo> + + + + <chapter> + <title>Introduction</title> + <para> + Welcome to Apache OFBiz the ready to use open source ERP system. + </para> + </chapter> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../../../applications/accounting/documents/Accounting.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../../../specialpurpose/myportal/documents/MyPortal.xml"/> + +</book> \ No newline at end of file Propchange: ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/applications/commonext/documents/ApacheOfbiz.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Modified: ofbiz/trunk/applications/commonext/ofbiz-component.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/commonext/ofbiz-component.xml?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/commonext/ofbiz-component.xml (original) +++ ofbiz/trunk/applications/commonext/ofbiz-component.xml Fri Aug 28 03:40:33 2009 @@ -25,7 +25,7 @@ <classpath type="dir" location="config"/> <entity-resource type="data" reader-name="seed" loader="main" location="data/EntityDiagramGroupData.xml"/> - <entity-resource type="data" reader-name="seed" loader="main" location="data/CommonExtHelpData.xml"/> + <entity-resource type="data" reader-name="seed" loader="main" location="data/CommonExtSeedData.xml"/> <entity-resource type="data" reader-name="seed" loader="main" location="data/SystemInfoPortletData.xml"/> <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/> Modified: ofbiz/trunk/applications/content/data/ContentTypeData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/data/ContentTypeData.xml?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/content/data/ContentTypeData.xml (original) +++ ofbiz/trunk/applications/content/data/ContentTypeData.xml Fri Aug 28 03:40:33 2009 @@ -62,7 +62,7 @@ <MetaDataPredicate metaDataPredicateId="author-name" description="Name of the author or creator of the subject."/> <MetaDataPredicate metaDataPredicateId="author-email" description="eMail address of the author or creator of the subject."/> - <MetaDataPredicate metaDataPredicateId="event-date" description="The date and time the subject event took place, preferably in the descending standard format: [yyyy-MM-dd hh:mm:ss]."/> + <MetaDataPredicate metaDataPredicateId="event-date" description="The date and time of the event in format [yyyy-MM-dd hh:mm:ss]."/> <MetaDataPredicate metaDataPredicateId="event-location" description="The location where subject event took place."/> <MetaDataPredicate metaDataPredicateId="event-person-name" description="The name of a person involved in the subject event."/> @@ -261,4 +261,15 @@ <WebSite webSiteId="CONTENT_SITE" siteName="Content Manager" visualThemeSetId="BACKOFFICE"/> + <DataResource dataResourceId="DOCBOOK_HTML_TEMPL" dataResourceTypeId="OFBIZ_FILE" objectInfo="applications/content/template/docbook/html/docbook.xsl" dataTemplateTypeId="XSLT" statusId="CTNT_IN_PROGRESS" dataResourceName="Help template file" mimeTypeId="text/html" isPublic="Y"/> + <DataResource dataResourceId="DOCBOOK_PDF_TEMPL" dataResourceTypeId="OFBIZ_FILE" objectInfo="applications/content/template/docbook/fo/docbook.xsl" dataTemplateTypeId="XSLT" statusId="CTNT_IN_PROGRESS" dataResourceName="Help template file" mimeTypeId="text/html" isPublic="Y"/> + <DataResource dataResourceId="APACHE_OFBIZ" localeString="en" dataResourceTypeId="OFBIZ_FILE" objectInfo="applications/commonext/documents/ApacheOfbiz.xml" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS" dataResourceName="Apache OFBiz document" mimeTypeId="text/xml" isPublic="Y" /> + <Content contentId="APACHE_OFBIZ_HTML" contentTypeId="DOCUMENT" templateDataResourceId="DOCBOOK_HTML_TEMPL" dataResourceId="APACHE_OFBIZ" localeString="en" statusId="CTNT_IN_PROGRESS" contentName="The general Apache document in one page HTML" mimeTypeId="text/html"/> + <Content contentId="APACHE_OFBIZ_PDF" contentTypeId="DOCUMENT" templateDataResourceId="DOCBOOK_PDF_TEMPL" dataResourceId="APACHE_OFBIZ" localeString="en" statusId="CTNT_IN_PROGRESS" contentName="The general Apache document in PDF format" mimeTypeId="application/pdf"/> + <DataResource dataResourceId="HELP_ROOT_NL" localeString="nl" dataResourceTypeId="OFBIZ_FILE" objectInfo="applications/content/data/helpdata/HELP_ROOT_NL.xml" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS" dataResourceName="Help system root" mimeTypeId="text/xml" isPublic="Y" /> + <Content contentId="DOCUMENTS" contentTypeId="DOCUMENT" contentName="Documents"/> + <ContentAssoc contentId="TREE_ROOT" contentIdTo="DOCUMENTS" contentAssocTypeId="TREE_CHILD" fromDate="2006-01-12 01:01:01" sequenceNum=""/> + <ContentAssoc contentId="DOCUMENTS" contentIdTo="APACHE_OFBIZ_HTML" contentAssocTypeId="SUB_CONTENT" fromDate="2006-01-12 01:01:01" sequenceNum=""/> + <ContentAssoc contentId="DOCUMENTS" contentIdTo="APACHE_OFBIZ_PDF" contentAssocTypeId="SUB_CONTENT" fromDate="2006-01-12 01:01:01" sequenceNum=""/> + </entity-engine-xml> Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java (original) +++ ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java Fri Aug 28 03:40:33 2009 @@ -183,8 +183,6 @@ Map<String,Object>templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException { // if the content has a service attached run the service - Debug.log("=====================mimetypeId" + mimeTypeId); - String serviceName = content.getString("serviceName"); if (dispatcher != null && UtilValidate.isNotEmpty(serviceName)) { DispatchContext dctx = dispatcher.getDispatchContext(); Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java (original) +++ ofbiz/trunk/applications/content/src/org/ofbiz/content/data/DataResourceWorker.java Fri Aug 28 03:40:33 2009 @@ -18,6 +18,7 @@ *******************************************************************************/ package org.ofbiz.content.data; +import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -40,7 +41,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; -import javax.xml.parsers.ParserConfigurationException; import javolution.util.FastList; import javolution.util.FastMap; @@ -49,6 +49,11 @@ import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; +import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.apps.FOPException; +import org.apache.fop.apps.Fop; +import org.apache.fop.apps.FopFactory; +import org.apache.fop.apps.MimeConstants; import org.ofbiz.base.location.FlexibleLocation; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.FileUtil; @@ -60,8 +65,10 @@ import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.collections.MapStack; import org.ofbiz.base.util.template.FreeMarkerWorker; +import org.ofbiz.base.util.template.XslTransform; import org.ofbiz.common.email.NotificationServices; import org.ofbiz.content.content.UploadContentAndImage; +import org.ofbiz.content.content.ContentMapFacade; import org.ofbiz.entity.GenericDelegator; import org.ofbiz.entity.GenericEntityException; import org.ofbiz.entity.GenericValue; @@ -72,12 +79,28 @@ import org.ofbiz.widget.screen.ScreenFactory; import org.ofbiz.widget.screen.ScreenRenderer; import org.ofbiz.widget.screen.ScreenStringRenderer; -import org.w3c.dom.Document; -import org.xml.sax.SAXException; +import org.ofbiz.widget.screen.ScreenFopViewHandler; +import org.ofbiz.webapp.view.ApacheFopWorker; +import org.ofbiz.webapp.view.FopRenderer; import freemarker.template.Template; import freemarker.template.TemplateException; +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + +import com.meterware.httpunit.GetMethodWebRequest; + +import javax.xml.transform.Result; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.sax.SAXResult; +import javax.xml.transform.stream.StreamSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.parsers.ParserConfigurationException; + /** * DataResourceWorker Class */ @@ -662,6 +685,18 @@ throw new GeneralException("Error rendering FTL template", e); } + } else if ("XSLT".equals(dataTemplateTypeId)) { + // get the template data for rendering + String templateLocation = DataResourceWorker.getContentFile(dataResource.getString("dataResourceTypeId"), dataResource.getString("objectInfo"), (String) templateContext.get("contextRoot")).toString(); + // render the XSLT template and file + String outDoc = null; + try { + outDoc = XslTransform.renderTemplate(templateLocation, (String) templateContext.get("docFile")); + } catch (TransformerException c) { + Debug.logError("XSL TransformerException: " + c.getMessage(), module); + } + out.append(outDoc); + // Screen Widget template } else if ("SCREEN_COMBINED".equals(dataTemplateTypeId)) { try { Modified: ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml (original) +++ ofbiz/trunk/applications/content/webapp/content/WEB-INF/controller.xml Fri Aug 28 03:40:33 2009 @@ -1791,7 +1791,15 @@ <response name="success" type="request-redirect" value="navigateContent"/> <response name="error" type="request" value="navigateContent"/> </request-map> - + <request-map uri="showContent"> + <security auth="true" https="true"/> + <response name="success" type="view" value="showContent"/> + </request-map> + <request-map uri="showContentPdf"> + <security auth="true" https="true"/> + <response name="success" type="view" value="showContentPdf"/> + </request-map> + <!-- View Mappings --> <view-map name="main" type="screen" page="component://content/widget/CommonScreens.xml#main"/> <view-map name="fonts.fo" type="screenfop" page="component://content/widget/CommonScreens.xml#fonts.fo" content-type="application/pdf" encoding="none"/> @@ -1957,6 +1965,8 @@ <view-map name="EditDocumentTree" type="screen" page="component://content/widget/content/ContentScreens.xml#EditDocumentTree"/> <view-map name="EditDocument" type="screen" page="component://content/widget/content/ContentScreens.xml#EditDocument"/> <view-map name="ListDocument" type="screen" page="component://content/widget/content/ContentScreens.xml#ListDocument"/> - + <view-map name="showContent" type="screen" page="component://content/widget/content/ContentScreens.xml#ShowContent"/> + <view-map name="showContentPdf" type="screen" page="component://content/widget/content/ContentScreens.xml#ShowContent" content-type="application/pdf" encoding="none"/> + <!-- end of view mappings --> </site-conf> Modified: ofbiz/trunk/applications/content/widget/content/ContentForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/widget/content/ContentForms.xml?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/content/widget/content/ContentForms.xml (original) +++ ofbiz/trunk/applications/content/widget/content/ContentForms.xml Fri Aug 28 03:40:33 2009 @@ -555,19 +555,11 @@ </form> <form name="ListDocument" target="" type="list" list-name="contentAssoc" paginate-target="navigateContent" odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar"> - <row-actions> - <entity-one entity-name="Content" value-field="content"> - <field-map field-name="contentId" from-field="contentIdTo"/> - </entity-one> - <set field="contentTypeId" from-field="content.contentTypeId"/> - <set field="statusId" from-field="content.statusId"/> - <entity-one entity-name="DataResource" value-field="dataResource"> - <field-map field-name="dataResourceId" from-field="content.dataResourceId"/> - </entity-one> - <set field="mimeTypeId" from-field="dataResource.mimeTypeId"/> - </row-actions> - <field name="contentId"> - <hyperlink also-hidden="false" description="${content.contentName} [${content.contentId}]" target="views/ShowDocument?contentId=${content.contentId}"/> + <field name="contentId" use-when=""application/pdf".equals(mimeTypeId)"> + <hyperlink also-hidden="false" description="${contentName} [${contentId}]" target="showContentPdf?contentId=${contentId}" target-window="_blank"/> + </field> + <field name="contentId" use-when=""text/html".equals(mimeTypeId)"> + <hyperlink also-hidden="false" description="${contentName} [${contentId}]" target="showContent?contentId=${contentId}" target-window="_blank"/> </field> <field name="contentTypeId"> <display-entity entity-name="ContentType" key-field-name="contentTypeId" description="${description}"/> @@ -578,7 +570,7 @@ <field name="statusId"> <display-entity entity-name="StatusItem" key-field-name="statusId" description="${description}"/> </field> - <field name="createdDate"><display description="${content.createdDate}"/></field> + <field name="caCreatedDate"><display/></field> <field name="delete" title="${uiLabelMap.CommonDelete}"> <hyperlink target="removeDocumentFromTree" description="${uiLabelMap.CommonDelete}"> <parameter param-name="contentId"/> Modified: ofbiz/trunk/applications/content/widget/content/ContentScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/widget/content/ContentScreens.xml?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/applications/content/widget/content/ContentScreens.xml (original) +++ ofbiz/trunk/applications/content/widget/content/ContentScreens.xml Fri Aug 28 03:40:33 2009 @@ -141,10 +141,8 @@ <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/> <set field="contentIdTo" from-field="parameters.contentIdTo"/> <set field="contentId" from-field="parameters.contentId"/> - <entity-condition entity-name="ContentAssoc" list="contentAssoc"> - <condition-list combine="and"> - <condition-expr field-name="contentId" from-field="contentId" operator="equals"/> - </condition-list> + <entity-condition entity-name="ContentAssocViewTo" list="contentAssoc"> + <condition-expr field-name="contentIdStart" from-field="contentId" operator="equals"/> </entity-condition> </actions> <widgets> @@ -152,6 +150,26 @@ </widgets> </section> </screen> + <screen name="ShowContent"> + <section> + <actions> + <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/> + <property-map resource="CommonExtUiLabels" map-name="uiLabelMap" global="true"/> + <set field="contentId" from-field="parameters.contentId" default-value="${contentId}"/> + <property-map resource="general" map-name="generalProperties" global="true"/> + <set field="defaultVisualThemeId" from-field="generalProperties.defaultVisualThemeId" default-value="SMOOTH_FEATHER"/> + <set field="visualThemeId" from-field="userPreferences.VISUAL_THEME" default-value="${defaultVisualThemeId}" global="true"/> + <service service-name="getVisualThemeResources"> + <field-map field-name="visualThemeId"/> + <field-map field-name="themeResources" from-field="layoutSettings"/> + </service> + <set field="layoutSettings" from-field="themeResources" default-value="${layoutSettings}" global="true"/> + </actions> + <widgets> + <content content-id="${contentId}"/> + </widgets> + </section> + </screen> <screen name="EditDocumentTree"> <section> <actions> Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/XslTransform.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/XslTransform.java?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/XslTransform.java (original) +++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/template/XslTransform.java Fri Aug 28 03:40:33 2009 @@ -23,42 +23,83 @@ import java.net.URL; import java.net.URLConnection; import java.io.InputStream; +import java.io.IOException; +import java.io.StringWriter; +import org.xml.sax.InputSource; +import org.xml.sax.XMLReader; +import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.base.util.UtilXml; import org.ofbiz.base.util.URLConnector; import org.ofbiz.base.util.cache.UtilCache; import org.ofbiz.base.location.FlexibleLocation; +import org.ofbiz.base.util.GeneralException; + import javax.xml.transform.Transformer; +import javax.xml.transform.Source; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; +import javax.xml.parsers.SAXParserFactory; +import javax.xml.transform.sax.SAXSource; import javax.xml.transform.Templates; -import javax.xml.transform.Source; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.dom.DOMResult; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; + import org.w3c.dom.Document; import org.w3c.dom.Node; -import org.ofbiz.base.util.GeneralException; -import java.io.IOException; import javax.xml.transform.stream.StreamSource; +import javax.xml.transform.stream.StreamResult; -/** - * XslTransform - * - * This utility takes an input document and a XSL stylesheet and performs the - * transform, returning the output document. - * The input for both the input document and stylesheet can be in one of three forms - * - a URL to the doc, the doc in string form and the doc in DOM Document form. - * It keeps its own cache for storing the compiled transforms. - * - */ public final class XslTransform { public static final String module = XslTransform.class.getName(); public static UtilCache<String, Templates> xslTemplatesCache = new UtilCache<String, Templates>("XsltTemplates", 0, 0); + /** + * + * @param template the content or url of the xsl template + * @param data the content or url of the xml data file + * @param outWriter The Writer to render to + * @throws TransformerException + */ + public static String renderTemplate(String template, String data) + throws TransformerException { + String result = null; + TransformerFactory tfactory = TransformerFactory.newInstance(); + if (tfactory.getFeature(SAXSource.FEATURE)) { + // setup for xml data file preprocessing to be able to xinclude + SAXParserFactory pfactory= SAXParserFactory.newInstance(); + pfactory.setNamespaceAware(true); + pfactory.setValidating(false); + pfactory.setXIncludeAware(true); + XMLReader reader = null; + try { + reader = pfactory.newSAXParser().getXMLReader(); + } catch (Exception e) { + throw new TransformerException("Error creating SAX parser/reader", e); + } + // do the actual preprocessing + SAXSource source = new SAXSource(reader, new InputSource(data)); + // compile the xsl template + Transformer transformer = tfactory.newTransformer(new StreamSource(template)); + // and apply the xsl template to the source document and save in a result string + StringWriter sw = new StringWriter(); + StreamResult sr = new StreamResult(sw); + transformer.transform(source, sr); + result = sw.toString(); + } else { + Debug.logError("tfactory does not support SAX features!", module); + } + return result; + } + + /* + * it does not look like the rest of this file is working or used..........better set it to depreciated + * @deprecated + */ public static Document transform(Map<String, Object> context, Map<String, Object> params) throws GeneralException, IOException, TransformerConfigurationException, TransformerException { Document outputDocument = null; @@ -104,6 +145,10 @@ return outputDocument; } + /* + * it does not look like the rest of this file is working or used..........better set it to depreciated + * @deprecated + */ private static Source getSource(Document inputDocument, String inputUrl, String inputString) throws GeneralException, IOException { Source source = null; if (inputDocument != null) { Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/screen/ModelScreenWidget.java Fri Aug 28 03:40:33 2009 @@ -18,8 +18,10 @@ *******************************************************************************/ package org.ofbiz.widget.screen; +import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.Serializable; +import java.io.StringWriter; import java.util.Collection; import java.util.HashMap; import java.util.List; @@ -28,9 +30,21 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParserFactory; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.sax.SAXResult; +import javax.xml.transform.sax.SAXSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; import javolution.util.FastList; +import org.apache.fop.apps.FOUserAgent; +import org.apache.fop.apps.Fop; +import org.apache.fop.apps.FopFactory; +import org.apache.fop.apps.MimeConstants; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; import org.ofbiz.base.util.StringUtil; @@ -60,8 +74,13 @@ import org.ofbiz.widget.tree.TreeFactory; import org.ofbiz.widget.tree.TreeStringRenderer; import org.ofbiz.widget.xml.XmlFormRenderer; +import org.ofbiz.webapp.control.RequestHandler; +import org.ofbiz.webapp.control.RequestHandlerException; +import org.ofbiz.webapp.view.ApacheFopWorker; import org.w3c.dom.Element; +import org.xml.sax.InputSource; import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; /** * Widget Library - Screen model class @@ -1090,10 +1109,76 @@ if (dataResource != null) { mimeTypeId = dataResource.getString("mimeTypeId"); } + if (UtilValidate.isNotEmpty(content.get("mimeTypeId"))) { + mimeTypeId = content.getString("mimeTypeId"); + } if (UtilValidate.isNotEmpty(mimeTypeId) - && ((mimeTypeId.indexOf("application") >= 0) || (mimeTypeId.indexOf("image")) >= 0)) { - screenStringRenderer.renderContentFrame(writer, context, this); + && ((mimeTypeId.indexOf("application") >= 0) || (mimeTypeId.indexOf("image")) >= 0)) { + if (mimeTypeId.equals("application/pdf")) { + TransformerFactory tfactory = TransformerFactory.newInstance(); + try{ +/* + // + // this part is not working. If somebody can help to make it work? + // currently using only real temp files for debugging purposes. + // + // most of the code should be replaced by functions in xslTransform.java and other files. + // for debugging here mostly code using the code outside of ofbiz. + // + SAXParserFactory pfactory= SAXParserFactory.newInstance(); + pfactory.setNamespaceAware(true); + pfactory.setValidating(true); + pfactory.setXIncludeAware(true); + XMLReader reader = null; + try { + reader = pfactory.newSAXParser().getXMLReader(); + } catch (Exception e) { + throw new TransformerException("Error creating SAX parser/reader", e); + } + + // do the actual preprocessing fr includes + SAXSource source = new SAXSource(reader, new InputSource("/home/hans/ofbiz/svn/applications/commonext/documents/ApacheOfbiz.xml")); + // compile the xsl template + Transformer transformer1 = tfactory.newTransformer(new StreamSource("/home/hans/ofbiz/svn/applications/content/template/docbook/fo/docbook.xsl")); + // and apply the xsl template to the source document and save in a result string + StringWriter sw = new StringWriter(); + StreamResult sr = new StreamResult(sw); + transformer1.transform(source, sr); + // store into a file for debugging + java.io.FileWriter fw = new java.io.FileWriter(new java.io.File("/tmp/file1.fo")); + fw.write(sw.toString()); + fw.close(); + + + Debug.log("================start fo processor============================="); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + StreamSource src = new StreamSource("/tmp/file1.fo"); + FopFactory fopFactory = ApacheFopWorker.getFactoryInstance(); + FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); + Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, foUserAgent, baos); + TransformerFactory factory = TransformerFactory.newInstance(); + Transformer transformer = factory.newTransformer(); + transformer.transform(src, new SAXResult(fop.getDefaultHandler())); + baos.flush(); + baos.close(); + // write to browser + writer.append(baos.toString()); + // store into a file for debugging + java.io.FileWriter fend = new java.io.FileWriter(new java.io.File("/tmp/file1.pdf")); + fend.write(baos.toString()); + fend.close(); + +*/ + } catch(Exception e) { + Debug.logError("================================Exception: " + e, module); + } + + + + } else { + screenStringRenderer.renderContentFrame(writer, context, this); + } } else { screenStringRenderer.renderContentBegin(writer, context, this); screenStringRenderer.renderContentBody(writer, context, this); Modified: ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml?rev=808744&r1=808743&r2=808744&view=diff ============================================================================== --- ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml (original) +++ ofbiz/trunk/specialpurpose/myportal/data/MyPortalTypeData.xml Fri Aug 28 03:40:33 2009 @@ -160,25 +160,7 @@ <WebSite webSiteId="MYPORTAL" siteName="My Portal" visualThemeSetId="BACKOFFICE"/> <!-- Myportal help pages --> - <DataResource dataResourceId="HELP_MYPORTAL" localeString="en" dataResourceTypeId="ELECTRONIC_TEXT" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS" dataResourceName="Calendar help file" mimeTypeId="text/xml" isPublic="Y" /> - <ElectronicText dataResourceId="HELP_MYPORTAL"> - <textData><![CDATA[ - <root> - <generalTitle> - The My portal Component introduction. - </generalTitle> - <general> - <section> - <text> - Within the 'my portal' component it is possible to create a collection of screens for a specific type of user of the system. - Examples are a general employee, an account manager, a customer, a supplier etc... - The system makes use of special portlets which can be arranged and selected/hidden by the logged on user. - </text> - </section> - </general> - </root> - ]]></textData> - </ElectronicText> + <DataResource dataResourceId="HELP_MYPORTAL" localeString="en" dataResourceTypeId="OFBIZ_FILE" objectInfo="specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml" dataTemplateTypeId="NONE" statusId="CTNT_IN_PROGRESS" dataResourceName="Calendar help file" mimeTypeId="text/xml" isPublic="Y" /> <Content contentId="HELP_MYPORTAL" contentTypeId="DOCUMENT" templateDataResourceId="HELP_TEMPL" dataResourceId="HELP_MYPORTAL" statusId="CTNT_IN_PROGRESS" contentName="My Portal help" mimeTypeId="text/html"/> <ContentAssoc contentId="HELP_ROOT" contentIdTo="HELP_MYPORTAL" contentAssocTypeId="TREE_CHILD" fromDate="2006-01-12 01:01:01"/> Added: ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml?rev=808744&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml (added) +++ ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml Fri Aug 28 03:40:33 2009 @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://docbook.org/ns/docbook ../../../../applications/content/dtd/docbook.xsd" + xmlns="http://docbook.org/ns/docbook"> + + <title>The My portal Component introduction.</title> + <para> + Within the 'my portal' component it is possible to create a collection of screens for a specific type of user of the system. + Examples are a general employee, an account manager, a customer, a supplier etc... + The system makes use of special portlets which can be arranged and selected/hidden by the logged on user. + </para> +</section> Propchange: ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/myportal/data/helpdata/HELP_MYPORTAL.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml?rev=808744&view=auto ============================================================================== --- ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml (added) +++ ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml Fri Aug 28 03:40:33 2009 @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<chapter xmlns="http://docbook.org/ns/docbook" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://docbook.org/ns/docbook ../../../applications/content/dtd/docbook.xsd"> + <title>The myportal Component</title> + <section> + <title>Introduction</title> + <para> + and a introduction paragraph in myportal + </para> + </section> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="../data/helpdata/HELP_MYPORTAL.xml"/> +</chapter> Propchange: ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml ------------------------------------------------------------------------------ svn:keywords = "Date Rev Author URL Id" Propchange: ofbiz/trunk/specialpurpose/myportal/documents/MyPortal.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml |
Free forum by Nabble | Edit this page |