Added: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/images/blog.css
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/images/blog.css?view=auto&rev=499264 ============================================================================== --- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/images/blog.css (added) +++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/images/blog.css Tue Jan 23 21:17:03 2007 @@ -0,0 +1,639 @@ +.treeHeader, .treeHeaderCurrent { + color:blue; + font-size:12; + text-decoration:none; + } +.treeHeaderCurrent { + color:black; + font-size:14; + font-weight:bold; + } +.treeHeaderOutline { + color:black; + font-size:14; + font-weight:medium; + } +.treeHeaderPage { + color:blue; + font-size:14; + font-weight:bold; + text-decoration:none; + } +.treeHeaderSubPage { + color:blue; + font-size:12; + font-weight:medium; + text-decoration:none; + text-align:right; + width:100%; + } +.tocItem { + color:blue; + font-size:12; + text-decoration:none; + } +.tocItemCurrent { + color:black; + font-size:14; + font-weight:bold; + } +.editwrapper { + color:black; + background:#ffffff; + font-size:16; + text-decoration:none; + margin-left:12px; + margin-top:2px; + border-top:1px solid black; + border-left:1px solid black; + } +.contentwrapper { + color:black; + background:#ffffff; + font-size:16; + text-decoration:none; + margin-left:12px; + margin-top:2px; + } +.tocwrapper { + color:black; + background:#ffffff; + font-size:16; + text-decoration:none; + margin-left:12px; + margin-top:2px; + } +.menuwrapper { + color:#DDDDDD; + background:#ffffff; + font-size:10; + text-decoration:none; + margin-left:12px; + margin-right:20px; + width:80%; + text-align:right; + } +.menuButton { + color:black; + background:#ffffff; + font-size:10; + text-decoration:none; + border-width:1px; + border-style:solid; + border-color:black; + } + +.appbarleft { + border-width:0px; + border-style:solid; + border-color:black; + width:45%; + position:relative; + top:0; + height:20px; + } + +.appbarmid { + border-width:0px; + border-style:solid; + border-color:black; + width:20%; + position:relative; + top:-20px; + } + +.appbarright { + border-width:0px; + border-style:solid; + border-color:black; + width:15%; + position:relative; + float:right; + top:-20px; + text-align:left; + } + +.contenttext { + color:black; + background:#ffffff; + font-size:14; + text-decoration:none; + margin-left:12px; + margin-right:20px; + margin-top:8px; + } + +/* +.expandcollapse { color:black; background:lightblue; font-size:16; text-decoration:none; + border-width:2px; border-color:black; border-style:solid; + } +*/ +.header, .header0, .header1, .header2, .header3, .header4, .header5, .header6, .header7, { + color:black; + font-family:serif; + } +.header0 { + font-size:17pt; + } +.header1 { + font-size:16pt; + } +.header2 { + font-size:15pt; + } +.header3 { + font-size:14pt; + } +.header4 { + font-size:13pt; + } +.header5 { + font-size:12pt; + } +.header6 { + font-size:12pt; + } +.header7 { + font-size:12pt; + } +.header8 { + font-size:12pt; + } +.header9 { + font-size:12pt; + } +.header10 { + font-size:12pt; + } +.largetitle, .largetitlePlum, .largetitleCharcoal, .largetitleBlack { + font-size:60px; + color:black; + font-family:Times New Roman; + font-weight:medium; + text-align:center; + margin-left:0px; + margin-right:0px; + } + +.largetitlePlum { + color:darkmagenta; + } +.largetitleCharcoal { + color:#666666; + } +.largetitleBlack { + color:black; + } + +.smalltitle { + font-size:16pt; + color:black; + font-family:serif; + text-align:center; + margin-left:20px; + margin-right:20px; + } + +.floatleft { + display:inline; + float:left; + } +.topcentered { + display:block; + text-align:center; + } + +.blogheader { + color:black; + font-size:12pt; + font-weight:bold; + text-align:left; + font-family:verdana, arial, sans-serif; + margin-left:10px; + } + +.blogtext { + color:#222222; + font-size:12pt; + font-weight:medium; + text-align:left; + font-family:verdana, arial, sans-serif; + margin-left:20px; + } + +.blogtitle{ + color: black; + background:#D4D0C8; + font-size:22; + font-weight:bold; + text-align:left; + font-family:verdana, arial, sans-serif; + text-decoration:none; + display:inline; + float:left; + } + +.blogtitleboxed { + color: black; + background:#D4D0C8; + font-size:22; + text-decoration:none; + border:1px solid black; + padding:4px; + display:inline; + float:left; + } + +.bloghr { + color: black; + background:#D4D0C8; + padding:4px; + height:22pt; + } + +.blogwrapper { + position: relative; + background:#eeeeee; + padding:4px; + margin-top:6px; + font-size:12pt; + font-weight:medium; + text-align:left; + font-family:verdana, arial, sans-serif; + } + +.blogcontentwrapper { + background:#f8f8f8; + border:1px solid #000000; + padding:4px; + margin-top:6px; + color:black; + font-size:12pt; + font-weight:medium; + text-align:left; + font-family:verdana, arial, sans-serif; + } + + +.responseheader { + color:black; + font-size:12pt; + font-weight:bold; + text-align:left; + font-family:verdana, arial, sans-serif; + margin-left:10px; + } + +.responsetext { + color:#222222; + font-size:12pt; + font-weight:medium; + text-align:left; + font-family:verdana, arial, sans-serif; + margin-left:20px; + } + +.responseTreeWrapper { + color:black; + background:#ffffff; + font-size:12pt; + font-weight:medium; + font-family:verdana, arial, sans-serif; + text-align:left; + text-decoration:none; + margin-left:12px; + margin-top:2px; + border-top:1px solid black; + border-left:1px solid black; + } + +.responseSelected { + background:#BBBBBB; + border:1px dashed black; + } +.forummenuwrapper { + color:#8B008B; + background:#D4D0C8; + font-size:10; + text-decoration:none; + margin-left:12px; + margin-right:20px; + float:right; + text-align:right; + max-width:50%; + padding-left:14px; + } +.forumheader { + color:black; + font-size:12pt; + font-weight:bold; + text-align:left; + font-family:verdana, arial, sans-serif; + margin-left:10px; + } + +.forumtext { + color:#222222; + font-size:12pt; + font-weight:medium; + text-align:left; + font-family:verdana, arial, sans-serif; + margin-left:20px; + } + +.forumtitle{ + color:#8B008B; + background:#D4D0C8; + font-size:22; + font-weight:bold; + text-align:left; + font-family:verdana, arial, sans-serif; + text-decoration:none; + display:inline; + float:left; + } + +.forumtitleboxed { + color:#8B008B; + background:#D4D0C8; + font-size:22; + text-decoration:none; + border:1px solid black; + padding:4px; + display:inline; + float:left; + } + +.forumhr { + color:#8B008B; + background:#D4D0C8; + border:1px solid #8B008B; + padding:4px; + height:22pt; + } + +.forumwrapper { + background:#D4D0C8; + border:1px solid #8B008B; + padding:4px; + margin-top:6px; + font-size:12pt; + font-weight:medium; + text-align:left; + font-family:verdana, arial, sans-serif; + } + +.forumcontentwrapper { + background:#f8f8f8; + border:1px solid #000000; + padding:4px; + margin-top:6px; + color:black; + font-size:12pt; + font-weight:medium; + text-align:left; + font-family:verdana, arial, sans-serif; + } + + +.blogboxoutside { +background: #FFFFFF; +padding: 0px; +border-color: #999999; +border-style: solid; +border-width: 1px 1px 1px 1px; +max-width:40%; +} +.boxleft { +position: relative; +background: #FFFFFF; +padding: 0px; +border-color: #999999; +border-style: solid; +border-width: 1px 1px 1px 1px; +max-width:48%; +width:40%; +margin-left:40px; +} +.boxright { +position: relative; +background: #FFFFFF; +padding: 0px; +border-color: #999999; +border-style: solid; +border-width: 1px 1px 1px 1px; +max-width:48%; +width:40%; +margin-right:40px; +margin-bottom:10px; +text-align:center; +} + +.sidebarleft { +position: absolute; +left: 0px; +top: 160px; +width: 19%; +max-width: 19%; +min-width: 120px; +height: 100%; + +background: #FFFFFF; +padding: 8px; +border-color: #666666; +border-style: dashed; +border-width: 1px 1px 1px 1px; +z-index: 1; +} + +.sidebarright { +position: absolute; +left: 840px; +top: 140px; +width: 140; + +background: white; +padding: 8px; +} + +.midbar { +position: absolute; +left: 0; +top: 140px; +width: 800px; +min-width: 356px; +max-width:80%; + +background: #FFFFFF; +padding: 8px; +border-color: #666666; +border-style: solid; +border-width: 1px 1px 1px 1px; +z-index: 3; +vertical-align: top; +margin-left: 10px; +margin-right: 10px; +margin-top: 0px; +margin-bottom: 5px; +} + +.midbarcontent, .midbarleft, .midbarright { +padding: 8px; +margin: 4px; +} + +.midbarleft { +left:0px; +top:0px; +max-width:360px; +} + +.midbarright { +left:400px; +top:0px; +max-width:360px; +} + +.topleft { +background: #ffffff; +border: 2px dashed black; +padding: 8px; +font-size:14pt; +font-family:Arial; +font-weight: bolder; +color:black; +max-width:200px; +vertical-align: top; +float: left; +margin-top: 4px; +margin-left: 4px; +margin-bottom: 4px; +margin-right: 8px; +} + +.toparea { +position:absolute; +top: 0px; +left: 0px; +width: 100%; +min-width: 600px; +height: 120px; +margin-left: 10px; +margin-right: 10px; +margin-top: 5px; +margin-bottom: 5px; +background: #ffffff; +border: 1px solid black; +} + +.boxheadbrk { +font-family: Verdana, Arial, Helvetica, sans-serif; +margin: 0px; +font-size: 8pt; +font-weight: bold; +text-decoration: none; +color: #FFFFFF; +display: block; +} + +.boxtopright { +float: right; +width: 59%; +text-align: right; +} +.boxtopleft{ +float: left; +width: 39%; +text-align: left; +} +.alignfill{ +width: 100%; +min-width: 30%; +} +.alignindent{ +text-indent: 20px; +} +.required-field { +font-family: Verdana, Arial, Helvetica, sans-serif; +font-size: 10px; +font-weight: bold; +text-decoration: none; +color: blue; +} + +.acqqbox { +position:absolute; +left:500px; +top:0px; +width:300px; +height:120px; +} + +A.tabButton { +font-family: Verdana, Arial, Helvetica, sans-serif; +font-size: 10px; +font-weight: bold; +text-decoration: none; +color: #666666; +background: #D4D0C8; +padding-right: 5px; +padding-left: 5px; +padding-top: 1px; +padding-bottom: 1px; +border: solid #666666 1px; +} + +A.tabButton:hover { +color: #FFFFFF; +background: #666666; +border: solid #666666 1px; +} + +A.tabButtonSelected { +font-family: Verdana, Arial, Helvetica, sans-serif; +font-size: 10px; +font-weight: bold; +text-decoration: none; +color: #FFFFFF; +background: #666666; +padding-right: 5px; +padding-left: 5px; +padding-top: 1px; +padding-bottom: 1px; +border: solid #666666 1px; +} + +A.tabButtonSelected:hover { +color: #FFFFFF; +border: solid #666666 1px; +} + +.tableheadtext { +font-family: Verdana, Arial, Helvetica, sans-serif; +font-size: 10px; +font-weight: bold; +text-decoration: none; +color: black; +} + +.columncenter { +position: absolute; +left: 0; +top: 140px; +width: 800px; +min-width: 356px; +max-width:80%; + +background: #FFFFFF; +padding: 8px; +border-color: #666666; +border-style: solid; +border-width: 1px 1px 1px 1px; +z-index: 3; +vertical-align: top; +margin-left: 10px; +margin-right: 10px; +margin-top: 0px; +margin-bottom: 5px; +} + Modified: ofbiz/trunk/applications/ecommerce/webapp/ecommerce/includes/header.ftl URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/webapp/ecommerce/includes/header.ftl?view=diff&rev=499264&r1=499263&r2=499264 ============================================================================== --- ofbiz/trunk/applications/ecommerce/webapp/ecommerce/includes/header.ftl (original) +++ ofbiz/trunk/applications/ecommerce/webapp/ecommerce/includes/header.ftl Tue Jan 23 21:17:03 2007 @@ -25,6 +25,7 @@ <script language="javascript" src="<@ofbizContentUrl>/images/calendar1.js</@ofbizContentUrl>" type="text/javascript"></script> <script language="javascript" src="<@ofbizContentUrl>/images/fieldlookup.js</@ofbizContentUrl>" type="text/javascript"></script> <link rel="stylesheet" href="<@ofbizContentUrl>${(productStore.styleSheet)?default("/images/ecommain.css")}</@ofbizContentUrl>" type="text/css"/> + <link rel='stylesheet' href='<@ofbizContentUrl>/ecommerce/images/blog.css</@ofbizContentUrl>' type='text/css'> ${layoutSettings?if_exists.extraHead?if_exists} <#-- Append CSS for catalog --> Modified: ofbiz/trunk/applications/ecommerce/widget/CommonScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/widget/CommonScreens.xml?view=diff&rev=499264&r1=499263&r2=499264 ============================================================================== --- ofbiz/trunk/applications/ecommerce/widget/CommonScreens.xml (original) +++ ofbiz/trunk/applications/ecommerce/widget/CommonScreens.xml Tue Jan 23 21:17:03 2007 @@ -70,6 +70,7 @@ <include-screen name="minipoll" location="component://ecommerce/widget/ContentScreens.xml"/> <include-screen name="forums" location="component://ecommerce/widget/ForumScreens.xml"/> <include-screen name="content_categories" location="component://ecommerce/widget/ContentScreens.xml"/> + <include-screen name="blogs" location="component://ecommerce/widget/blog/BlogScreens.xml"/> </container> </widgets> </section> Added: ofbiz/trunk/applications/ecommerce/widget/blog/BlogForms.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/widget/blog/BlogForms.xml?view=auto&rev=499264 ============================================================================== --- ofbiz/trunk/applications/ecommerce/widget/blog/BlogForms.xml (added) +++ ofbiz/trunk/applications/ecommerce/widget/blog/BlogForms.xml Tue Jan 23 21:17:03 2007 @@ -0,0 +1,278 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Copyright 2001-2006 The Apache Software Foundation + +Licensed 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. +--> +<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/widget-form.xsd"> + + <form name="findBlogContent" default-title-style="tableheadtext" + default-tooltip-style="tabletext" default-widget-style="inputBox" + default-entity-name="ContentAssocDataResourceViewFrom" + target="CMSContentFind" title="" type="single"> + <field name="caContentIdTo" title="Publish-to content" > + <drop-down> + <option key="OFBIZBLOGROOT" description="Blogs"/> + <option key="OFBIZFORUMROOT" description="Forums"/> + </drop-down> + </field> + <field name="caMapKey" title="Map Key" ><text-find/></field> + <field name="caContentAssocTypeId" title="Assoc Type Id" ><text-find/></field> + <field name="caFromDate" title="From Date" ><date-find/></field> + <field name="contentId" title="Content Id" ><text-find/></field> + <field name="dataResourceId" title="Data Resource Id" ><text-find/></field> + <field name="contentName" title="Name" ><text-find/></field> + <field name="submitButton" title="Find" widget-style="smallSubmit"><submit button-type="button"/></field> + <field name="createBlog" title=" " widget-style="buttontext"> + <hyperlink also-hidden="false" description="New Blog" target="EditBlogArticle"/> + </field> + <field name="createForum" title=" " widget-style="buttontext"> + <hyperlink also-hidden="false" description="New Forum" target="EditForumArticle"/> + </field> + + </form> + + <form name="listFindBlogContent" type="list" target="" default-title-style="tableheadtext" default-widget-style="inputBox" default-tooltip-style="tabletext" paginate-target="/CMSContentFind" view-size="20"> + <actions> + <service service-name="performFind" result-map-list-iterator-name="listIt"> + <field-map field-name="inputFields" env-name="requestParameters"/> + <field-map field-name="entityName" env-name="entityName"/> + </service> + </actions> + + <field name="editContent" title=""> + <hyperlink also-hidden="false" description="Edit" target="CMSContentEdit?contentId=${contentId}&drDataResourceId=${drDataResourceId}&contentIdTo=${contentIdTo}"/> + </field> + <field name="contentId" title="Content Id" ><display/></field> + <field name="dataResourceId" title="Data Resource Id" ><display/></field> + <field name="contentName" title="Name" ><display/></field> + </form> + + <form name="AddBlogResponse" target="persistBlogResponse" title="" type="single" + default-title-style="treeHeader" + default-tooltip-style="tabletext" default-widget-style="inputBox"> + <auto-fields-entity entity-name="ContentAssocDataResourceViewTo" default-field-type="hidden" map-name="rsp" /> + <field name="contentName" title="Short title" entry-name="contentName" map-name="rsp"> + <text size="40"/> + </field> + <field name="description" title="Slightly longer title (250 chars max)" map-name="rsp"> + <textarea cols="40" rows="6"/> + </field> + <field name="contentId" entry-name="contentId" map-name="rsp"> + <hidden/> + </field> + <field name="articleContentId" entry-name="articleContentId" map-name="rsp"> + <hidden/> + </field> + <field name="ownerContentId" entry-name="ownerContentId" map-name="rsp"> + <hidden/> + </field> + <field name="caContentId" entry-name="caContentId" map-name="rsp"> + <hidden/> + </field> + <!-- + <field name="contentContentId" entry-name="caContentIdTo" map-name="rsp"> + <hidden/> + </field> + --> + <field name="contentTypeId" entry-name="contentTypeId" map-name="rsp"> + <hidden/> + </field> + <field name="drDataResourceTypeId" entry-name="drDataResourceTypeId" map-name="rsp"> + <hidden/> + </field> + <field name="caContentAssocTypeId" entry-name="caContentAssocTypeId" map-name="rsp"> + <hidden/> + </field> + <field name="textData" title="Response" map-name="rsp"> + <textarea cols="60" rows="12"/> + </field> + <field name="statusId" > + <radio no-current-selected-key="BLOG_DRAFT"> + <option key="BLOG_PUBLISHED" description="POST"/> + <option key="BLOG_DRAFT" description="PREVIEW"/> + </radio> + </field> + <field name="submitButton" title="Submit" widget-style="smallSubmit"> + <submit button-type="button"/> + </field> + <field name="deactivateExisting" > + <hidden value="false"/> + </field> + <field name="contentPurposeString" > + <hidden value="RESPONSE"/> + </field> + <sort-order> + <sort-field name="contentName"/> + <sort-field name="description"/> + <sort-field name="textData"/> + <sort-field name="statusId"/> + <sort-field name="submitButton"/> + </sort-order> + </form> + <form name="EditBlogResponse" target="persistBlogResponse" title="" type="single" + default-title-style="treeHeader" + default-tooltip-style="tabletext" default-widget-style="inputBox"> + <sort-order> + <sort-field name="contentId"/> + <sort-field name="contentName"/> + <sort-field name="description"/> + <sort-field name="textData"/> + <sort-field name="statusId"/> + <sort-field name="submitButton"/> + </sort-order> + <auto-fields-entity entity-name="Content" default-field-type="hidden" map-name="content" /> + <auto-fields-entity entity-name="DataResource" default-field-type="hidden" map-name="dataResource" /> + <field name="contentName" title="Short title" entry-name="contentName" map-name="rsp"> + <text size="40"/> + </field> + <field name="description" title="Slightly longer title (250 chars max)"> + <textarea cols="40" rows="6"/> + </field> + <field name="contentId" entry-name="contentId" map-name="parameters"> + <display/> + </field> + <field name="articleContentId" entry-name="articleContentId" map-name="rsp"> + <hidden/> + </field> + <field name="textData" title="Response" map-name="electronicText"> + <textarea cols="60" rows="12"/> + </field> + <field name="statusId" > + <radio no-current-selected-key="BLOG_DRAFT"> + <option key="BLOG_PUBLISHED" description="POST"/> + <option key="BLOG_DRAFT" description="PREVIEW"/> + </radio> + </field> + <field name="submitButton" title="Submit" widget-style="smallSubmit"> + <submit button-type="button"/> + </field> + <field name="deactivateExisting" > + <hidden value="true"/> + </field> + <field name="contentPurposeString" > + <hidden value="RESPONSE"/> + </field> + </form> + <form name="EditBlogAll" target="persistBlogAll" title="" type="upload" + default-title-style="treeHeader" + skip-end="true" + default-tooltip-style="tabletext" default-widget-style="inputBox"> + <field name="contentIdStart" map-name="view"><hidden/></field> + <field name="caContentId" map-name="view"><hidden/></field> + <field name="caContentIdTo" map-name="view"><hidden/></field> + <field name="caContentAssocTypeId" map-name="view"><hidden/></field> + <field name="caFromDate" map-name="view"><hidden/></field> + <field name="caThruDate" map-name="view"><hidden/></field> + <field name="caContentAssocPredicateId" map-name="view"><hidden/></field> + <field name="caDataSourceId" map-name="view"><hidden/></field> + <field name="caSequenceNum" map-name="view"><hidden/></field> + <field name="caMapKey" map-name="view"><hidden/></field> + <field name="caUpperCoordinate" map-name="view"><hidden/></field> + <field name="caLeftCoordinate" map-name="view"><hidden/></field> + <field name="caCreatedDate" map-name="view"><hidden/></field> + <field name="caCreatedByUserLogin" map-name="view"><hidden/></field> + <field name="caLastModifiedDate" map-name="view"><hidden/></field> + <field name="caLastModifiedByUserLogin" map-name="view"><hidden/></field> + <field name="contentTypeId" map-name="view"><hidden/></field> + <field name="ownerContentId" map-name="view"><hidden/></field> + <field name="instanceOfContentId" map-name="view"><hidden/></field> + <field name="dataResourceId" map-name="view"><hidden/></field> + <field name="templateDataResourceId" map-name="view"><hidden/></field> + <field name="dataSourceId" map-name="view"><hidden/></field> + <field name="privilegeEnumId" map-name="view"><hidden/></field> + <field name="serviceName" map-name="view"><hidden/></field> + <field name="localeString" map-name="view"><hidden/></field> + <field name="mimeTypeId" map-name="view"><hidden/></field> + <field name="characterSetId" map-name="view"><hidden/></field> + <field name="childLeafCount" map-name="view"><hidden/></field> + <field name="childBranchCount" map-name="view"><hidden/></field> + <field name="createdDate" map-name="view"><hidden/></field> + <field name="createdByUserLogin" map-name="view"><hidden/></field> + <field name="lastModifiedDate" map-name="view"><hidden/></field> + <field name="lastModifiedByUserLogin" map-name="view"><hidden/></field> + <field name="drDataResourceId" map-name="view"><hidden/></field> + <field name="drDataResourceTypeId" map-name="view"><hidden/></field> + <field name="drDataTemplateTypeId" map-name="view"><hidden/></field> + <field name="drDataCategoryId" map-name="view"><hidden/></field> + <field name="drDataSourceId" map-name="view"><hidden/></field> + <field name="drStatusId" map-name="view"><hidden/></field> + <field name="drDataResourceName" map-name="view"><hidden/></field> + <field name="drLocaleString" map-name="view"><hidden/></field> + <field name="drMimeTypeId" map-name="view"><hidden/></field> + <field name="drCharacterSetId" map-name="view"><hidden/></field> + <field name="drObjectInfo" map-name="view"><hidden/></field> + <field name="drRelatedDetailId" map-name="view"><hidden/></field> + <field name="drIsPublic" map-name="view"><hidden/></field> + <field name="drCreatedDate" map-name="view"><hidden/></field> + <field name="drCreatedByUserLogin" map-name="view"><hidden/></field> + <field name="drLastModifiedDate" map-name="view"><hidden/></field> + <field name="drLastModifiedByUserLogin" map-name="view"><hidden/></field> + <field name="deactivateExisting" map-name="view"><hidden/></field> + <field name="contentPurposeString" map-name="view"><hidden/></field> <field name="contentName" title="Short title" map-name="view" > + <text size="40"/> + </field> + <field name="description" title="Slightly longer title (250 chars max)" map-name="view" > + <textarea cols="40" rows="2"/> + </field> + <field name="contentId" title="Blog ID" map-name="parameters" use-when="contentId!=null"> + <display/> + </field> + <field name="summaryData" title="Summary" entry-name="textData" map-name="summaryText" > + <textarea cols="60" rows="4"/> + </field> + <!-- + <field name="textData" title="Article" map-name="electronicText"> + <textarea cols="60" rows="12"/> + </field> + --> + <field name="statusId" > + <radio no-current-selected-key="BLOG_DRAFT"> + <option key="BLOG_PUBLISHED" description="POST"/> + <option key="BLOG_DRAFT" description="PREVIEW"/> + </radio> + </field> + <field name="deactivateExisting" > + <hidden value="false"/> + </field> + <field name="contentPurposeString" > + <hidden value="ARTICLE"/> + </field> + <sort-order> + <sort-field name="contentId"/> + <sort-field name="contentName"/> + <sort-field name="description"/> + <sort-field name="summaryData"/> + <sort-field name="textData"/> + <sort-field name="statusId"/> + <sort-field name="submitButton"/> + </sort-order> + </form> + + <form name="editFormSubmit" target="" title="" type="single" + default-title-style="treeHeader" + skip-start="true" + skip-end="true" + default-tooltip-style="tabletext" default-widget-style="inputBox"> + <field name="submitButton" title="Submit" widget-style="smallSubmit"><submit button-type="button"/></field> + </form> + + <form name="editFormEnd" target="" title="" type="single" + default-title-style="treeHeader" + skip-start="true" + default-tooltip-style="tabletext" default-widget-style="inputBox"> + </form> + +</forms> Added: ofbiz/trunk/applications/ecommerce/widget/blog/BlogMenus.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/widget/blog/BlogMenus.xml?view=auto&rev=499264 ============================================================================== --- ofbiz/trunk/applications/ecommerce/widget/blog/BlogMenus.xml (added) +++ ofbiz/trunk/applications/ecommerce/widget/blog/BlogMenus.xml Tue Jan 23 21:17:03 2007 @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!-- + +Copyright 2001-2006 The Apache Software Foundation + +Licensed 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. +--> +<menus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/widget-menu.xsd"> + + <menu name="blogmenu" default-title-style="tabButton" + default-selected-style="tabButtonSelected" + default-menu-item-name="all" + orientation="horizontal" + menu-width="100%" + default-tooltip-style="tabletext" default-widget-style="tabButton" + menu-wrapper-style="blogmenuwrapper" + title="" type="simple"> + <menu-item name="BLOGROOTJAZ" title="Andy's Blog" > + <link target="MainBlog?contentContentId=BLOGROOTJAZ&currentMenuItemName=BLOGROOTJAZ" target-window="_top" style="tabButton" /> + </menu-item> + <menu-item name="BLOGROOTJONES" title="David's Blog" > + <link target="MainBlog?contentContentId=BLOGROOTJONES&currentMenuItemName=BLOGROOTJONES" target-window="_top" style="tabButton" /> + </menu-item> + <menu-item name="all" title="All" > + <link target="MainBlog?contentContentId=BLOGROOTJAZ|BLOGROOTJONES&currentMenuItemName=all" target-window="_top" style="tabButton" /> + </menu-item> + </menu> + <menu name="view_edit" default-title-style="tabButton" + default-selected-style="tabButtonSelected" + default-menu-item-name="all" + orientation="horizontal" + menu-width="100%" + default-tooltip-style="tabletext" default-widget-style="tabButton" + menu-wrapper-style="blogmenuwrapper" + title="" type="simple"> + <menu-item name="view" title="View" > + <!--<link text="View" target="ViewBlog?articleContentId=${blog.contentId}&ownerContentId=${blog.ownerContentId}" style="tabButton" />--> + <link text="View" target="ViewBlog?articleContentId=${blog.contentId}&caContentId=${blog.contentIdStart}&caContentIdTo=${blog.caContentIdTo}&contentId=${blog.contentId}&caContentAssocTypeId=${blog.caContentAssocTypeId}&caFromDate=${blog.caFromDate}&drDataResourceId=${blog.dataResourceId}" style="tabButton" url-mode="inter-app"/> + </menu-item> + <menu-item name="edit" title="Edit" > + <condition> + <and> + <if-compare field-name="blog.statusId" operator="not-equals" value="BLOG_PUBLISHED"/> + <if-entity-permission entity-id="${blog.contentId}" entity-name="Content" target-operation="CONTENT_UPDATE"/> + </and> + </condition> + <link text="Edit" target="EditBlog?caContentId=${blog.contentIdStart}&caContentIdTo=${blog.caContentIdTo}&contentId=${blog.contentId}&caContentAssocTypeId=${blog.caContentAssocTypeId}&caFromDate=${blog.caFromDate}&drDataResourceId=${blog.dataResourceId}" style="tabButton" url-mode="inter-app"/> + </menu-item> + </menu> +</menus> Added: ofbiz/trunk/applications/ecommerce/widget/blog/BlogScreens.xml URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/ecommerce/widget/blog/BlogScreens.xml?view=auto&rev=499264 ============================================================================== --- ofbiz/trunk/applications/ecommerce/widget/blog/BlogScreens.xml (added) +++ ofbiz/trunk/applications/ecommerce/widget/blog/BlogScreens.xml Tue Jan 23 21:17:03 2007 @@ -0,0 +1,731 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + +Copyright 2001-2006 The Apache Software Foundation + +Licensed 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. +--> + +<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/widget-screen.xsd"> + + <screen name="CommonBlog"> + <section> + <actions> + <set field="currentMenuItemName" + from-field="currentMenuItemName" default-value="all" + from-scope="user" /> + <set field="leftbarScreenName" value="leftbar" /> + <set field="rightbarScreenName" value="rightbar" /> + <set field="leftbarScreenLocation" + value="component://ecommerce/widget/CommonScreens.xml" /> + <set field="rightbarScreenLocation" + value="component://ecommerce/widget/CommonScreens.xml" /> + </actions> + <widgets> + <decorator-screen name="main-decorator" + location="${parameters.mainDecoratorLocation}"> + <decorator-section name="body"> + <container style="bloghr"> + <label text="Blogs: " style="blogtitle" /> + <!-- + <container style="appbarleft"> + <include-menu name="blogmenu" location="component://ecommerce/widget/blog/BlogMenus.xml" /> + </container> + --> + </container> + <decorator-section-include name="body" /> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + <screen name="MainBlog"> + <section> + <actions> + <set field="MainColumnStyle" value="center" /> + <property-to-field property="blog.view.size" + field="blogViewSize" resource="blog" default="10"/> + <set field="caContentId" + from-field="parameters.caContentId" /> + <entity-condition entity-name="ContentAssocViewTo" + use-cache="false" list-name="blogList"> + <condition-list combine="and"> + <condition-expr field-name="contentIdStart" + operator="equals" env-name="caContentId" /> + <condition-expr + field-name="caContentAssocTypeId" operator="equals" + value="PUBLISH_LINK" /> + <condition-expr field-name="caThruDate" + operator="equals" value="" /> + <condition-expr field-name="statusId" + operator="equals" value="BLOG_PUBLISHED" /> + </condition-list> + <order-by field-name="caFromDate DESC" /> + </entity-condition> + <set field="viewIndex" + from-field="requestParameters.VIEW_INDEX" type="Integer" /> + </actions> + <widgets> + <section> + <!-- if viewer has update permission, show all blogs, even those that were preview only --> + <condition> + <if-entity-permission entity-id="${caContentId}" + entity-name="Content" target-operation="CONTENT_CREATE" /> + </condition> + <actions> + <service + service-name="getOwnedOrPublishedBlogEntries" + result-map-name="result"> + <field-map field-name="contentId" + env-name="caContentId" /> + <field-map field-name="userLogin" + env-name="userLogin" /> + </service> + <set field="blogList" + from-field="result.blogList" default-value="${blogList}" /> + </actions> + <widgets /> + + + </section> + <decorator-screen name="CommonBlog"> + <decorator-section name="body"> + <section> + <condition> + <if-entity-permission + entity-id="${caContentId}" entity-name="Content" + target-operation="CONTENT_CREATE" /> + </condition> + <widgets> + <link text="Add New" + target="EditBlog?caContentId=${caContentId}&ownerContentId=${parameters.ownerContentId}" + style="tabButton" url-mode="inter-app" /> + </widgets> + </section> + <iterate-section list-name="blogList" + entry-name="blog" view-size="${blogViewSize}" paginate="true" + paginate-target="MainBlog?caContentId=${parameters.caContentId}&ownerContentId=${parameters.ownerContentId}"> + <section name="firstBlog"> + <condition> + <if-compare field-name="itemIndex" + operator="equals" type="Integer" value="0" /> + </condition> + <widgets> + <container style="blogwrapper"> + <include-menu name="view_edit" + location="component://ecommerce/widget/blog/BlogMenus.xml" /> + <label + text="${blog.contentName}" style="blogheader" /> + <!-- + <link text="Latest" target="LatestResponses?ownerContentId=${blog.ownerContentId}" /> + --> + <label text="<br/>" /> + <container style="blogtext"> + <sub-content + map-key="SUMMARY" content-id="${blog.contentId}" /> + </container> + </container> + </widgets> + </section> + <section name="allOtherBlogs"> + <condition> + <if-compare field-name="itemIndex" + operator="greater" type="Integer" value="0" /> + </condition> + <widgets> + <container style="blogwrapper"> + <include-menu name="view_edit" + location="component://ecommerce/widget/blog/BlogMenus.xml" /> + <label + text="${blog.contentName}[${blog.contentId}]" + style="blogheader" /> + <!-- + <link text="Latest" target="LatestResponses?ownerContentId=${blog.ownerContentId}" /> + --> + <label text="<br/>" /> + <container style="blogtext"> + <label + text="${blog.description}" style="blogtext" /> + </container> + </container> + </widgets> + </section> + </iterate-section> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + + + <screen name="EditBlog"> + <section> + <condition> + <or> + <if-has-permission permission="CONTENTMGR" + action="CREATE" /> + <if-entity-permission + entity-id="${parameters.caContentId}" entity-name="Content" + target-operation="CONTENT_CREATE" /> + </or> + </condition> + <actions> + <set field="contentId" + from-field="parameters.contentId" /> + <entity-one entity-name="ContentAssocDataResourceViewTo" + value-name="view"> + <field-map env-name="parameters.caContentId" + field-name="contentIdStart" /> + <field-map env-name="parameters.caContentId" + field-name="caContentId" /> + <field-map env-name="parameters.caContentIdTo" + field-name="caContentIdTo" /> + <field-map env-name="parameters.contentId" + field-name="contentId" /> + <field-map env-name="parameters.caFromDate" + field-name="caFromDate" /> + <field-map + env-name="parameters.caContentAssocTypeId" + field-name="caContentAssocTypeId" /> + <field-map env-name="parameters.drDataResourceId" + field-name="drDataResourceId" /> + </entity-one> + <set field="view.contentId" from-field="view.contentId" + default-value="${parameters.contentId}" /> + <set field="view.caContentId" + from-field="view.caContentId" + default-value="${parameters.caContentId}" /> + <set field="view.ownerContentId" + from-field="view.ownerContentId" + default-value="${parameters.caContentId}" /> + <set field="view.contentTypeId" value="DOCUMENT" /> + <set field="view.drDataResourceTypeId" + value="ELECTRONIC_TEXT" /> + <set field="view.caContentAssocTypeId" + value="PUBLISH_LINK" /> + <set field="thisContentId" from-field="view.contentId" /> + <set field="drMimeTypeId" + from-field="view.drMimeTypeId" /> + <set field="drDataTemplateTypeId" + from-field="view.drDataTemplateTypeId" /> + <entity-one entity-name="ElectronicText" + value-name="electronicText" use-cache="true"> + <field-map env-name="parameters.drDataResourceId" + field-name="dataResourceId" /> + </entity-one> + <set field="summaryMapKey" value="SUMMARY" /> + <service service-name="getSubContent" + result-map-name="result" auto-field-map="false"> + <field-map field-name="contentId" + env-name="view.contentId" /> + <field-map field-name="mapKey" + env-name="summaryMapKey" /> + </service> + <entity-one entity-name="ElectronicText" + value-name="summaryText" use-cache="false"> + <field-map field-name="dataResourceId" + env-name="result.view.dataResourceId" /> + </entity-one> + + <set field="imageMapKey" value="IMAGE" /> + <service service-name="getSubContent" + result-map-name="imageResult" auto-field-map="false"> + <field-map field-name="contentId" + env-name="view.contentId" /> + <field-map field-name="mapKey" + env-name="imageMapKey" /> + </service> + <set field="imageContent" from-field="imageResult.view" + type="Object" /> + + <set field="mainMapKey" value="MAIN" /> + <service service-name="getSubContent" + result-map-name="textResult" auto-field-map="false"> + <field-map field-name="contentId" + env-name="view.contentId" /> + <field-map field-name="mapKey" + env-name="mainMapKey" /> + </service> + <set field="textContent" from-field="textResult.view" + type="Object" /> + <entity-one entity-name="ElectronicText" + value-name="textElectronicText" use-cache="true"> + <field-map env-name="textResult.view.dataResourceId" + field-name="dataResourceId" /> + </entity-one> + + <set field="view.contentTypeId" value="DOCUMENT" /> + <set field="view.caContentAssocTypeId" + value="PUBLISH_LINK" /> + <set field="view.drDataResourceTypeId" + value="ELECTRONIC_TEXT" /> + </actions> + <widgets> + <decorator-screen name="CommonBlog"> + <decorator-section name="body"> + <include-form name="EditBlogAll" + location="component://ecommerce/widget/blog/BlogForms.xml" /> + <platform-specific> + <html> + <html-template + location="component://ecommerce/widget/blog/textimage.ftl" /> + </html> + </platform-specific> + <include-form name="editFormSubmit" + location="component://ecommerce/widget/blog/BlogForms.xml" /> + <include-form name="editFormEnd" + location="component://ecommerce/widget/blog/BlogForms.xml" /> + <label text="<hr/>" /> + <content content-id="${thisContentId}" /> + </decorator-section> + </decorator-screen> + </widgets> + <fail-widgets> + <label text="Permissions failed."></label> + </fail-widgets> + </section> + </screen> + + <screen name="ViewBlog"> + <section> + <actions> + <set field="articleContentId" + from-field="parameters.articleContentId" /> + <set field="ownerContentId" + from-field="parameters.contentId" /> + <entity-one entity-name="Content" value-name="content" + use-cache="true"> + <field-map field-name="contentId" + env-name="articleContentId" /> + </entity-one> + <set field="enableEdit" value="false" /> + <property-to-field property="root.publish.point.blog" + field="webPutPt" resource="blog" /> + <set field="rsp.contentName" + value="RE:${content.contentName}" /> + </actions> + <widgets> + <decorator-screen name="CommonBlog"> + <decorator-section name="body"> + <label text="<p/>" /> + <container style="bloghr"> + <label text="${content.contentName}" + style="blogtitle" /> + </container> + <container style="blogcontentwrapper"> + <content content-id="${articleContentId}" /> + </container> + + <section> + <condition> + <if-entity-permission + entity-id="${articleContentId}" entity-name="Content" + target-operation="CONTENT_UPDATE" /> + </condition> + <widgets> + <link text="Edit" + target="EditBlog?caContentId=${parameters.caContentId}&caContentIdTo=${parameters.caContentIdTo}&contentId=${parameters.contentId}&caContentAssocTypeId=${parameters.caContentAssocTypeId}&caFromDate=${parameters.caFromDate}&drDataResourceId=${parameters.drDataResourceId}" + style="tabButton" url-mode="inter-app" /> + </widgets> + </section> + + <label text="<p/>" /> + <include-screen name="BlogResponses" /> + <label text="<p/>" /> + <!-- + <link text="Latest" target="LatestResponses?ownerContentId=${webPubPt}" /> + --> + + <container style="bloghr"> + <label text="Respond to this blog: " + style="blogtitle" /> + <section> + <!-- if viewer has update permission, show all blogs, even those that were preview only --> + <condition> + <and> + <if-compare + field-name="content.statusId" operator="equals" + value="BLOG_PUBLISHED" /> + <if-entity-permission + entity-id="${parameters.caContentId}" entity-name="Content" + target-operation="HAS_USER_ROLE" /> + </and> + </condition> + <actions> + </actions> + <widgets> + <include-screen name="AddBlogResponse" /> + </widgets> + <fail-widgets> + <label + text="You must be logged in in order to post comments." /> + </fail-widgets> + </section> + </container> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="ViewResponse"> + <section> + <actions> + <set field="caContentId" + from-field="parameters.contentId" /> + <set field="responseContentId" + from-field="parameters.contentId" /> + <set field="articleContentId" + from-field="parameters.articleContentId" /> + <set field="ownerContentId" + from-field="parameters.ownerContentId" /> + <entity-one entity-name="Content" value-name="content" + use-cache="true"> + <field-map field-name="contentId" + env-name="caContentId" /> + </entity-one> + <set field="trail" from-field="articleContentId" /> + <set field="enableEdit" value="false" /> + <property-to-field property="root.publish.point.blog" + field="webPubPt" resource="blog" /> + <set field="rsp.contentName" + value="${content.contentName}" /> + </actions> + <widgets> + <decorator-screen name="CommonBlog"> + <decorator-section name="body"> + <label text="<p/>" /> + <container style="bloghr"> + <label text="${content.contentName}" + style="blogtitle" /> + </container> + <container style="blogcontentwrapper"> + <content content-id="${caContentId}" /> + </container> + <label text="<p/>" /> + + <section> + <condition> + <if-compare + field-name="content.statusId" operator="equals" + value="BLOG_PUBLISHED" /> + </condition> + <widgets> + <container style="bloghr"> + <label + text="Respond to this response: " style="blogtitle" /> + </container> + <include-screen name="AddBlogResponse" /> + </widgets> + </section> + + <section> + <condition> + <if-compare + field-name="content.statusId" operator="equals" + value="BLOG_DRAFT" /> + </condition> + <widgets> + <container style="bloghr"> + <label text="Edit this response: " + style="blogtitle" /> + </container> + <include-screen name="EditBlogResponse" /> + </widgets> + </section> + + <label text="<p/>" /> + <container style="bloghr"> + <label text="Response tree: " + style="blogtitle" /> + </container> + <include-tree name="ResponseTree" + location="component://ecommerce/widget/blog/BlogTrees.xml" /> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="BlogContent"> + <section> + <condition> + <not> + <if-empty field-name="contentId" /> + </not> + </condition> + <actions /> + + <widgets> + <content content-id="${contentId}" /> + </widgets> + </section> + </screen> + <screen name="AdminBlog"> + <section> + <actions /> + + <widgets> + <decorator-screen name="CommonBlog"> + <decorator-section name="body"> + <include-form name="findBlogContent" + location="component://ecommerce/widget/blog/BlogForms.xml" /> + <include-form name="listFindBlogContent" + location="component://ecommerce/widget/blog/BlogForms.xml" /> + </decorator-section> + </decorator-screen> + </widgets> + </section> + </screen> + <screen name="BlogResponses"> + <section> + <actions> + <entity-condition entity-name="ContentAssocViewTo" + use-cache="true" list-name="responseList"> + <condition-list combine="and"> + <condition-expr field-name="caContentId" + operator="equals" value="${articleContentId}" /> + <condition-expr + field-name="caContentAssocTypeId" operator="equals" + value="RESPONSE" /> + <condition-expr field-name="caThruDate" + operator="equals" value="" /> + </condition-list> + <order-by field-name="caFromDate DESC" /> + </entity-condition> + <set field="viewIndex" + from-field="requestParameters.VIEW_INDEX" type="Integer" /> + + </actions> + <widgets> + <container style="bloghr"> + <label text="Top-level responses: " + style="blogtitle" /> + </container> + <iterate-section list-name="responseList" + entry-name="rsp" view-size="10"> + <section name="Blog Responses"> + <actions> + <!-- + <set field="currentNodeTrailPiped" value="${articleContentId}|${rsp.contentId}" /> + --> + </actions> + <widgets> + <include-screen name="responseTreeLine" /> + </widgets> + </section> + </iterate-section> + </widgets> + </section> + </screen> + <screen name="LatestResponses"> + <section> + <actions> + <entity-condition + entity-name="ContentAssocDataResourceViewFrom" use-cache="false" + list-name="responseList"> + <condition-list combine="and"> + <condition-expr field-name="ownerContentId" + operator="equals" value="${parameters.ownerContentId}" /> + <condition-expr + field-name="caContentAssocTypeId" operator="equals" + value="RESPONSE" /> + <condition-expr field-name="caThruDate" + operator="equals" value="" /> + </condition-list> + <order-by field-name="caFromDate DESC" /> + </entity-condition> + + </actions> + <widgets> + <decorator-screen name="CommonBlog"> + <decorator-section name="body"> + <label text="Latest Responses" /> |
Free forum by Nabble | Edit this page |